summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
Diffstat (limited to 'Modules')
-rw-r--r--Modules/Setup.dist5
-rw-r--r--Modules/_bisectmodule.c8
-rw-r--r--Modules/_bz2module.c590
-rw-r--r--Modules/_codecsmodule.c255
-rw-r--r--Modules/_collectionsmodule.c26
-rw-r--r--Modules/_cryptmodule.c (renamed from Modules/cryptmodule.c)4
-rw-r--r--Modules/_csv.c149
-rw-r--r--Modules/_ctypes/_ctypes.c46
-rw-r--r--Modules/_ctypes/callproc.c18
-rw-r--r--Modules/_ctypes/cfield.c84
-rw-r--r--Modules/_ctypes/stgdict.c12
-rw-r--r--Modules/_cursesmodule.c700
-rw-r--r--Modules/_datetimemodule.c197
-rw-r--r--Modules/_dbmmodule.c12
-rw-r--r--Modules/_elementtree.c112
-rw-r--r--Modules/_functoolsmodule.c172
-rw-r--r--Modules/_gestalt.c2
-rw-r--r--Modules/_hashopenssl.c8
-rw-r--r--Modules/_io/_iomodule.c122
-rw-r--r--Modules/_io/_iomodule.h12
-rw-r--r--Modules/_io/bufferedio.c253
-rw-r--r--Modules/_io/bytesio.c2
-rw-r--r--Modules/_io/fileio.c110
-rw-r--r--Modules/_io/iobase.c36
-rw-r--r--Modules/_io/stringio.c184
-rw-r--r--Modules/_io/textio.c678
-rw-r--r--Modules/_json.c436
-rw-r--r--Modules/_localemodule.c98
-rw-r--r--Modules/_lsprof.c45
-rw-r--r--Modules/_lzmamodule.c1111
-rw-r--r--Modules/_multiprocessing/connection.h527
-rw-r--r--Modules/_multiprocessing/multiprocessing.c196
-rw-r--r--Modules/_multiprocessing/multiprocessing.h80
-rw-r--r--Modules/_multiprocessing/pipe_connection.c149
-rw-r--r--Modules/_multiprocessing/semaphore.c56
-rw-r--r--Modules/_multiprocessing/socket_connection.c202
-rw-r--r--Modules/_multiprocessing/win32_functions.c550
-rw-r--r--Modules/_pickle.c235
-rw-r--r--Modules/_posixsubprocess.c11
-rw-r--r--Modules/_sqlite/cache.c21
-rw-r--r--Modules/_sqlite/connection.c99
-rw-r--r--Modules/_sqlite/cursor.c40
-rw-r--r--Modules/_sqlite/cursor.h1
-rw-r--r--Modules/_sqlite/microprotocols.c8
-rw-r--r--Modules/_sqlite/module.c3
-rw-r--r--Modules/_sqlite/row.c10
-rw-r--r--Modules/_sqlite/statement.c4
-rw-r--r--Modules/_sre.c620
-rw-r--r--Modules/_ssl.c474
-rw-r--r--Modules/_struct.c90
-rw-r--r--Modules/_testcapimodule.c116
-rw-r--r--Modules/_threadmodule.c22
-rw-r--r--Modules/_tkinter.c83
-rw-r--r--Modules/arraymodule.c222
-rw-r--r--Modules/audioop.c4
-rw-r--r--Modules/binascii.c58
-rw-r--r--Modules/bz2module.c2169
-rw-r--r--Modules/cjkcodecs/_codecs_cn.c14
-rw-r--r--Modules/cjkcodecs/_codecs_hk.c2
-rw-r--r--Modules/cjkcodecs/_codecs_iso2022.c2
-rw-r--r--Modules/cjkcodecs/_codecs_jp.c34
-rw-r--r--Modules/cjkcodecs/_codecs_kr.c18
-rw-r--r--Modules/cjkcodecs/_codecs_tw.c4
-rw-r--r--Modules/cjkcodecs/multibytecodec.c48
-rw-r--r--Modules/errnomodule.c55
-rw-r--r--Modules/faulthandler.c1329
-rw-r--r--Modules/fcntlmodule.c5
-rw-r--r--Modules/fpectlmodule.c11
-rw-r--r--Modules/gc_weakref.txt6
-rw-r--r--Modules/gcmodule.c11
-rw-r--r--Modules/getbuildinfo.c18
-rw-r--r--Modules/getpath.c16
-rw-r--r--Modules/itertoolsmodule.c30
-rw-r--r--Modules/main.c18
-rw-r--r--Modules/mathmodule.c75
-rw-r--r--Modules/md5module.c20
-rw-r--r--Modules/mmapmodule.c62
-rw-r--r--Modules/nismodule.c2
-rw-r--r--Modules/operator.c27
-rw-r--r--Modules/ossaudiodev.c101
-rw-r--r--Modules/parsermodule.c13
-rw-r--r--Modules/posixmodule.c3953
-rw-r--r--Modules/pyexpat.c43
-rw-r--r--Modules/readline.c13
-rw-r--r--Modules/resource.c16
-rw-r--r--Modules/selectmodule.c438
-rw-r--r--Modules/sha1module.c20
-rw-r--r--Modules/sha256module.c18
-rw-r--r--Modules/sha512module.c18
-rw-r--r--Modules/signalmodule.c444
-rw-r--r--Modules/socketmodule.c1355
-rw-r--r--Modules/socketmodule.h17
-rw-r--r--Modules/sre.h4
-rw-r--r--Modules/syslogmodule.c14
-rw-r--r--Modules/termios.c5
-rw-r--r--Modules/testcapi_long.h29
-rw-r--r--Modules/timemodule.c269
-rw-r--r--Modules/unicodedata.c301
-rw-r--r--Modules/unicodename_db.h35013
-rw-r--r--Modules/xxlimited.c3
-rw-r--r--Modules/zipimport.c507
-rw-r--r--Modules/zlibmodule.c27
102 files changed, 31949 insertions, 24016 deletions
diff --git a/Modules/Setup.dist b/Modules/Setup.dist
index 9269ddf..6abafff 100644
--- a/Modules/Setup.dist
+++ b/Modules/Setup.dist
@@ -127,6 +127,9 @@ _io -I$(srcdir)/Modules/_io _io/_iomodule.c _io/iobase.c _io/fileio.c _io/bytesi
# builtin module avoids some bootstrapping problems and reduces overhead.
zipimport zipimport.c
+# faulthandler module
+faulthandler faulthandler.c
+
# The rest of the modules listed in this file are all commented out by
# default. Usually they can be detected and built as dynamically
# loaded modules by the new setup.py script added in Python 2.1. If
@@ -207,7 +210,7 @@ _symtable symtablemodule.c
#
# First, look at Setup.config; configure may have set this for you.
-#crypt cryptmodule.c # -lcrypt # crypt(3); needs -lcrypt on some systems
+#_crypt _cryptmodule.c # -lcrypt # crypt(3); needs -lcrypt on some systems
# Some more UNIX dependent modules -- off by default, since these
diff --git a/Modules/_bisectmodule.c b/Modules/_bisectmodule.c
index 7fecfc6..8cda642 100644
--- a/Modules/_bisectmodule.c
+++ b/Modules/_bisectmodule.c
@@ -86,7 +86,9 @@ insort_right(PyObject *self, PyObject *args, PyObject *kw)
if (PyList_Insert(list, index, item) < 0)
return NULL;
} else {
- result = PyObject_CallMethod(list, "insert", "nO", index, item);
+ _Py_IDENTIFIER(insert);
+
+ result = _PyObject_CallMethodId(list, &PyId_insert, "nO", index, item);
if (result == NULL)
return NULL;
Py_DECREF(result);
@@ -186,7 +188,9 @@ insort_left(PyObject *self, PyObject *args, PyObject *kw)
if (PyList_Insert(list, index, item) < 0)
return NULL;
} else {
- result = PyObject_CallMethod(list, "insert", "iO", index, item);
+ _Py_IDENTIFIER(insert);
+
+ result = _PyObject_CallMethodId(list, &PyId_insert, "iO", index, item);
if (result == NULL)
return NULL;
Py_DECREF(result);
diff --git a/Modules/_bz2module.c b/Modules/_bz2module.c
new file mode 100644
index 0000000..b407df9
--- /dev/null
+++ b/Modules/_bz2module.c
@@ -0,0 +1,590 @@
+/* _bz2 - Low-level Python interface to libbzip2. */
+
+#define PY_SSIZE_T_CLEAN
+
+#include "Python.h"
+#include "structmember.h"
+
+#ifdef WITH_THREAD
+#include "pythread.h"
+#endif
+
+#include <bzlib.h>
+#include <stdio.h>
+
+
+#ifndef BZ_CONFIG_ERROR
+#define BZ2_bzCompress bzCompress
+#define BZ2_bzCompressInit bzCompressInit
+#define BZ2_bzCompressEnd bzCompressEnd
+#define BZ2_bzDecompress bzDecompress
+#define BZ2_bzDecompressInit bzDecompressInit
+#define BZ2_bzDecompressEnd bzDecompressEnd
+#endif /* ! BZ_CONFIG_ERROR */
+
+
+#ifdef WITH_THREAD
+#define ACQUIRE_LOCK(obj) do { \
+ if (!PyThread_acquire_lock((obj)->lock, 0)) { \
+ Py_BEGIN_ALLOW_THREADS \
+ PyThread_acquire_lock((obj)->lock, 1); \
+ Py_END_ALLOW_THREADS \
+ } } while (0)
+#define RELEASE_LOCK(obj) PyThread_release_lock((obj)->lock)
+#else
+#define ACQUIRE_LOCK(obj)
+#define RELEASE_LOCK(obj)
+#endif
+
+#define MIN(X, Y) (((X) < (Y)) ? (X) : (Y))
+
+
+typedef struct {
+ PyObject_HEAD
+ bz_stream bzs;
+ int flushed;
+#ifdef WITH_THREAD
+ PyThread_type_lock lock;
+#endif
+} BZ2Compressor;
+
+typedef struct {
+ PyObject_HEAD
+ bz_stream bzs;
+ char eof; /* T_BOOL expects a char */
+ PyObject *unused_data;
+#ifdef WITH_THREAD
+ PyThread_type_lock lock;
+#endif
+} BZ2Decompressor;
+
+
+/* Helper functions. */
+
+static int
+catch_bz2_error(int bzerror)
+{
+ switch(bzerror) {
+ case BZ_OK:
+ case BZ_RUN_OK:
+ case BZ_FLUSH_OK:
+ case BZ_FINISH_OK:
+ case BZ_STREAM_END:
+ return 0;
+
+#ifdef BZ_CONFIG_ERROR
+ case BZ_CONFIG_ERROR:
+ PyErr_SetString(PyExc_SystemError,
+ "libbzip2 was not compiled correctly");
+ return 1;
+#endif
+ case BZ_PARAM_ERROR:
+ PyErr_SetString(PyExc_ValueError,
+ "Internal error - "
+ "invalid parameters passed to libbzip2");
+ return 1;
+ case BZ_MEM_ERROR:
+ PyErr_NoMemory();
+ return 1;
+ case BZ_DATA_ERROR:
+ case BZ_DATA_ERROR_MAGIC:
+ PyErr_SetString(PyExc_IOError, "Invalid data stream");
+ return 1;
+ case BZ_IO_ERROR:
+ PyErr_SetString(PyExc_IOError, "Unknown I/O error");
+ return 1;
+ case BZ_UNEXPECTED_EOF:
+ PyErr_SetString(PyExc_EOFError,
+ "Compressed file ended before the logical "
+ "end-of-stream was detected");
+ return 1;
+ case BZ_SEQUENCE_ERROR:
+ PyErr_SetString(PyExc_RuntimeError,
+ "Internal error - "
+ "Invalid sequence of commands sent to libbzip2");
+ return 1;
+ default:
+ PyErr_Format(PyExc_IOError,
+ "Unrecognized error from libbzip2: %d", bzerror);
+ return 1;
+ }
+}
+
+#if BUFSIZ < 8192
+#define SMALLCHUNK 8192
+#else
+#define SMALLCHUNK BUFSIZ
+#endif
+
+static int
+grow_buffer(PyObject **buf)
+{
+ /* Expand the buffer by an amount proportional to the current size,
+ giving us amortized linear-time behavior. Use a less-than-double
+ growth factor to avoid excessive allocation. */
+ size_t size = PyBytes_GET_SIZE(*buf);
+ return _PyBytes_Resize(buf, size + (size >> 3) + 6);
+}
+
+
+/* BZ2Compressor class. */
+
+static PyObject *
+compress(BZ2Compressor *c, char *data, size_t len, int action)
+{
+ size_t data_size = 0;
+ PyObject *result;
+
+ result = PyBytes_FromStringAndSize(NULL, SMALLCHUNK);
+ if (result == NULL)
+ return NULL;
+ c->bzs.next_in = data;
+ /* On a 64-bit system, len might not fit in avail_in (an unsigned int).
+ Do compression in chunks of no more than UINT_MAX bytes each. */
+ c->bzs.avail_in = MIN(len, UINT_MAX);
+ len -= c->bzs.avail_in;
+ c->bzs.next_out = PyBytes_AS_STRING(result);
+ c->bzs.avail_out = PyBytes_GET_SIZE(result);
+ for (;;) {
+ char *this_out;
+ int bzerror;
+
+ Py_BEGIN_ALLOW_THREADS
+ this_out = c->bzs.next_out;
+ bzerror = BZ2_bzCompress(&c->bzs, action);
+ data_size += c->bzs.next_out - this_out;
+ Py_END_ALLOW_THREADS
+ if (catch_bz2_error(bzerror))
+ goto error;
+
+ if (c->bzs.avail_in == 0 && len > 0) {
+ c->bzs.avail_in = MIN(len, UINT_MAX);
+ len -= c->bzs.avail_in;
+ }
+
+ /* In regular compression mode, stop when input data is exhausted.
+ In flushing mode, stop when all buffered data has been flushed. */
+ if ((action == BZ_RUN && c->bzs.avail_in == 0) ||
+ (action == BZ_FINISH && bzerror == BZ_STREAM_END))
+ break;
+
+ if (c->bzs.avail_out == 0) {
+ if (grow_buffer(&result) < 0)
+ goto error;
+ c->bzs.next_out = PyBytes_AS_STRING(result) + data_size;
+ c->bzs.avail_out = PyBytes_GET_SIZE(result) - data_size;
+ }
+ }
+ if (data_size != PyBytes_GET_SIZE(result))
+ if (_PyBytes_Resize(&result, data_size) < 0)
+ goto error;
+ return result;
+
+error:
+ Py_XDECREF(result);
+ return NULL;
+}
+
+PyDoc_STRVAR(BZ2Compressor_compress__doc__,
+"compress(data) -> bytes\n"
+"\n"
+"Provide data to the compressor object. Returns a chunk of\n"
+"compressed data if possible, or b'' otherwise.\n"
+"\n"
+"When you have finished providing data to the compressor, call the\n"
+"flush() method to finish the compression process.\n");
+
+static PyObject *
+BZ2Compressor_compress(BZ2Compressor *self, PyObject *args)
+{
+ Py_buffer buffer;
+ PyObject *result = NULL;
+
+ if (!PyArg_ParseTuple(args, "y*:compress", &buffer))
+ return NULL;
+
+ ACQUIRE_LOCK(self);
+ if (self->flushed)
+ PyErr_SetString(PyExc_ValueError, "Compressor has been flushed");
+ else
+ result = compress(self, buffer.buf, buffer.len, BZ_RUN);
+ RELEASE_LOCK(self);
+ PyBuffer_Release(&buffer);
+ return result;
+}
+
+PyDoc_STRVAR(BZ2Compressor_flush__doc__,
+"flush() -> bytes\n"
+"\n"
+"Finish the compression process. Returns the compressed data left\n"
+"in internal buffers.\n"
+"\n"
+"The compressor object may not be used after this method is called.\n");
+
+static PyObject *
+BZ2Compressor_flush(BZ2Compressor *self, PyObject *noargs)
+{
+ PyObject *result = NULL;
+
+ ACQUIRE_LOCK(self);
+ if (self->flushed)
+ PyErr_SetString(PyExc_ValueError, "Repeated call to flush()");
+ else {
+ self->flushed = 1;
+ result = compress(self, NULL, 0, BZ_FINISH);
+ }
+ RELEASE_LOCK(self);
+ return result;
+}
+
+static int
+BZ2Compressor_init(BZ2Compressor *self, PyObject *args, PyObject *kwargs)
+{
+ int compresslevel = 9;
+ int bzerror;
+
+ if (!PyArg_ParseTuple(args, "|i:BZ2Compressor", &compresslevel))
+ return -1;
+ if (!(1 <= compresslevel && compresslevel <= 9)) {
+ PyErr_SetString(PyExc_ValueError,
+ "compresslevel must be between 1 and 9");
+ return -1;
+ }
+
+#ifdef WITH_THREAD
+ self->lock = PyThread_allocate_lock();
+ if (self->lock == NULL) {
+ PyErr_SetString(PyExc_MemoryError, "Unable to allocate lock");
+ return -1;
+ }
+#endif
+
+ bzerror = BZ2_bzCompressInit(&self->bzs, compresslevel, 0, 0);
+ if (catch_bz2_error(bzerror))
+ goto error;
+
+ return 0;
+
+error:
+#ifdef WITH_THREAD
+ PyThread_free_lock(self->lock);
+ self->lock = NULL;
+#endif
+ return -1;
+}
+
+static void
+BZ2Compressor_dealloc(BZ2Compressor *self)
+{
+ BZ2_bzCompressEnd(&self->bzs);
+#ifdef WITH_THREAD
+ if (self->lock != NULL)
+ PyThread_free_lock(self->lock);
+#endif
+ Py_TYPE(self)->tp_free((PyObject *)self);
+}
+
+static PyMethodDef BZ2Compressor_methods[] = {
+ {"compress", (PyCFunction)BZ2Compressor_compress, METH_VARARGS,
+ BZ2Compressor_compress__doc__},
+ {"flush", (PyCFunction)BZ2Compressor_flush, METH_NOARGS,
+ BZ2Compressor_flush__doc__},
+ {NULL}
+};
+
+PyDoc_STRVAR(BZ2Compressor__doc__,
+"BZ2Compressor(compresslevel=9)\n"
+"\n"
+"Create a compressor object for compressing data incrementally.\n"
+"\n"
+"compresslevel, if given, must be a number between 1 and 9.\n"
+"\n"
+"For one-shot compression, use the compress() function instead.\n");
+
+static PyTypeObject BZ2Compressor_Type = {
+ PyVarObject_HEAD_INIT(NULL, 0)
+ "_bz2.BZ2Compressor", /* tp_name */
+ sizeof(BZ2Compressor), /* tp_basicsize */
+ 0, /* tp_itemsize */
+ (destructor)BZ2Compressor_dealloc, /* tp_dealloc */
+ 0, /* tp_print */
+ 0, /* tp_getattr */
+ 0, /* tp_setattr */
+ 0, /* tp_reserved */
+ 0, /* tp_repr */
+ 0, /* tp_as_number */
+ 0, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ 0, /* tp_hash */
+ 0, /* tp_call */
+ 0, /* tp_str */
+ 0, /* tp_getattro */
+ 0, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ Py_TPFLAGS_DEFAULT, /* tp_flags */
+ BZ2Compressor__doc__, /* tp_doc */
+ 0, /* tp_traverse */
+ 0, /* tp_clear */
+ 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+ 0, /* tp_iter */
+ 0, /* tp_iternext */
+ BZ2Compressor_methods, /* tp_methods */
+ 0, /* tp_members */
+ 0, /* tp_getset */
+ 0, /* tp_base */
+ 0, /* tp_dict */
+ 0, /* tp_descr_get */
+ 0, /* tp_descr_set */
+ 0, /* tp_dictoffset */
+ (initproc)BZ2Compressor_init, /* tp_init */
+ 0, /* tp_alloc */
+ PyType_GenericNew, /* tp_new */
+};
+
+
+/* BZ2Decompressor class. */
+
+static PyObject *
+decompress(BZ2Decompressor *d, char *data, size_t len)
+{
+ size_t data_size = 0;
+ PyObject *result;
+
+ result = PyBytes_FromStringAndSize(NULL, SMALLCHUNK);
+ if (result == NULL)
+ return result;
+ d->bzs.next_in = data;
+ /* On a 64-bit system, len might not fit in avail_in (an unsigned int).
+ Do decompression in chunks of no more than UINT_MAX bytes each. */
+ d->bzs.avail_in = MIN(len, UINT_MAX);
+ len -= d->bzs.avail_in;
+ d->bzs.next_out = PyBytes_AS_STRING(result);
+ d->bzs.avail_out = PyBytes_GET_SIZE(result);
+ for (;;) {
+ char *this_out;
+ int bzerror;
+
+ Py_BEGIN_ALLOW_THREADS
+ this_out = d->bzs.next_out;
+ bzerror = BZ2_bzDecompress(&d->bzs);
+ data_size += d->bzs.next_out - this_out;
+ Py_END_ALLOW_THREADS
+ if (catch_bz2_error(bzerror))
+ goto error;
+ if (bzerror == BZ_STREAM_END) {
+ d->eof = 1;
+ len += d->bzs.avail_in;
+ if (len > 0) { /* Save leftover input to unused_data */
+ Py_CLEAR(d->unused_data);
+ d->unused_data = PyBytes_FromStringAndSize(d->bzs.next_in, len);
+ if (d->unused_data == NULL)
+ goto error;
+ }
+ break;
+ }
+ if (d->bzs.avail_in == 0) {
+ if (len == 0)
+ break;
+ d->bzs.avail_in = MIN(len, UINT_MAX);
+ len -= d->bzs.avail_in;
+ }
+ if (d->bzs.avail_out == 0) {
+ if (grow_buffer(&result) < 0)
+ goto error;
+ d->bzs.next_out = PyBytes_AS_STRING(result) + data_size;
+ d->bzs.avail_out = PyBytes_GET_SIZE(result) - data_size;
+ }
+ }
+ if (data_size != PyBytes_GET_SIZE(result))
+ if (_PyBytes_Resize(&result, data_size) < 0)
+ goto error;
+ return result;
+
+error:
+ Py_XDECREF(result);
+ return NULL;
+}
+
+PyDoc_STRVAR(BZ2Decompressor_decompress__doc__,
+"decompress(data) -> bytes\n"
+"\n"
+"Provide data to the decompressor object. Returns a chunk of\n"
+"decompressed data if possible, or b'' otherwise.\n"
+"\n"
+"Attempting to decompress data after the end of stream is reached\n"
+"raises an EOFError. Any data found after the end of the stream\n"
+"is ignored and saved in the unused_data attribute.\n");
+
+static PyObject *
+BZ2Decompressor_decompress(BZ2Decompressor *self, PyObject *args)
+{
+ Py_buffer buffer;
+ PyObject *result = NULL;
+
+ if (!PyArg_ParseTuple(args, "y*:decompress", &buffer))
+ return NULL;
+
+ ACQUIRE_LOCK(self);
+ if (self->eof)
+ PyErr_SetString(PyExc_EOFError, "End of stream already reached");
+ else
+ result = decompress(self, buffer.buf, buffer.len);
+ RELEASE_LOCK(self);
+ PyBuffer_Release(&buffer);
+ return result;
+}
+
+static int
+BZ2Decompressor_init(BZ2Decompressor *self, PyObject *args, PyObject *kwargs)
+{
+ int bzerror;
+
+ if (!PyArg_ParseTuple(args, ":BZ2Decompressor"))
+ return -1;
+
+#ifdef WITH_THREAD
+ self->lock = PyThread_allocate_lock();
+ if (self->lock == NULL) {
+ PyErr_SetString(PyExc_MemoryError, "Unable to allocate lock");
+ return -1;
+ }
+#endif
+
+ self->unused_data = PyBytes_FromStringAndSize("", 0);
+ if (self->unused_data == NULL)
+ goto error;
+
+ bzerror = BZ2_bzDecompressInit(&self->bzs, 0, 0);
+ if (catch_bz2_error(bzerror))
+ goto error;
+
+ return 0;
+
+error:
+ Py_CLEAR(self->unused_data);
+#ifdef WITH_THREAD
+ PyThread_free_lock(self->lock);
+ self->lock = NULL;
+#endif
+ return -1;
+}
+
+static void
+BZ2Decompressor_dealloc(BZ2Decompressor *self)
+{
+ BZ2_bzDecompressEnd(&self->bzs);
+ Py_CLEAR(self->unused_data);
+#ifdef WITH_THREAD
+ if (self->lock != NULL)
+ PyThread_free_lock(self->lock);
+#endif
+ Py_TYPE(self)->tp_free((PyObject *)self);
+}
+
+static PyMethodDef BZ2Decompressor_methods[] = {
+ {"decompress", (PyCFunction)BZ2Decompressor_decompress, METH_VARARGS,
+ BZ2Decompressor_decompress__doc__},
+ {NULL}
+};
+
+PyDoc_STRVAR(BZ2Decompressor_eof__doc__,
+"True if the end-of-stream marker has been reached.");
+
+PyDoc_STRVAR(BZ2Decompressor_unused_data__doc__,
+"Data found after the end of the compressed stream.");
+
+static PyMemberDef BZ2Decompressor_members[] = {
+ {"eof", T_BOOL, offsetof(BZ2Decompressor, eof),
+ READONLY, BZ2Decompressor_eof__doc__},
+ {"unused_data", T_OBJECT_EX, offsetof(BZ2Decompressor, unused_data),
+ READONLY, BZ2Decompressor_unused_data__doc__},
+ {NULL}
+};
+
+PyDoc_STRVAR(BZ2Decompressor__doc__,
+"BZ2Decompressor()\n"
+"\n"
+"Create a decompressor object for decompressing data incrementally.\n"
+"\n"
+"For one-shot decompression, use the decompress() function instead.\n");
+
+static PyTypeObject BZ2Decompressor_Type = {
+ PyVarObject_HEAD_INIT(NULL, 0)
+ "_bz2.BZ2Decompressor", /* tp_name */
+ sizeof(BZ2Decompressor), /* tp_basicsize */
+ 0, /* tp_itemsize */
+ (destructor)BZ2Decompressor_dealloc,/* tp_dealloc */
+ 0, /* tp_print */
+ 0, /* tp_getattr */
+ 0, /* tp_setattr */
+ 0, /* tp_reserved */
+ 0, /* tp_repr */
+ 0, /* tp_as_number */
+ 0, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ 0, /* tp_hash */
+ 0, /* tp_call */
+ 0, /* tp_str */
+ 0, /* tp_getattro */
+ 0, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ Py_TPFLAGS_DEFAULT, /* tp_flags */
+ BZ2Decompressor__doc__, /* tp_doc */
+ 0, /* tp_traverse */
+ 0, /* tp_clear */
+ 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+ 0, /* tp_iter */
+ 0, /* tp_iternext */
+ BZ2Decompressor_methods, /* tp_methods */
+ BZ2Decompressor_members, /* tp_members */
+ 0, /* tp_getset */
+ 0, /* tp_base */
+ 0, /* tp_dict */
+ 0, /* tp_descr_get */
+ 0, /* tp_descr_set */
+ 0, /* tp_dictoffset */
+ (initproc)BZ2Decompressor_init, /* tp_init */
+ 0, /* tp_alloc */
+ PyType_GenericNew, /* tp_new */
+};
+
+
+/* Module initialization. */
+
+static struct PyModuleDef _bz2module = {
+ PyModuleDef_HEAD_INIT,
+ "_bz2",
+ NULL,
+ -1,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL
+};
+
+PyMODINIT_FUNC
+PyInit__bz2(void)
+{
+ PyObject *m;
+
+ if (PyType_Ready(&BZ2Compressor_Type) < 0)
+ return NULL;
+ if (PyType_Ready(&BZ2Decompressor_Type) < 0)
+ return NULL;
+
+ m = PyModule_Create(&_bz2module);
+ if (m == NULL)
+ return NULL;
+
+ Py_INCREF(&BZ2Compressor_Type);
+ PyModule_AddObject(m, "BZ2Compressor", (PyObject *)&BZ2Compressor_Type);
+
+ Py_INCREF(&BZ2Decompressor_Type);
+ PyModule_AddObject(m, "BZ2Decompressor",
+ (PyObject *)&BZ2Decompressor_Type);
+
+ return m;
+}
diff --git a/Modules/_codecsmodule.c b/Modules/_codecsmodule.c
index eb740f9..7818f9a 100644
--- a/Modules/_codecsmodule.c
+++ b/Modules/_codecsmodule.c
@@ -38,6 +38,10 @@ Copyright (c) Corporation for National Research Initiatives.
#define PY_SSIZE_T_CLEAN
#include "Python.h"
+#ifdef MS_WINDOWS
+#include <windows.h>
+#endif
+
/* --- Registry ----------------------------------------------------------- */
PyDoc_STRVAR(register__doc__,
@@ -162,7 +166,6 @@ static PyObject *
escape_encode(PyObject *self,
PyObject *args)
{
- static const char *hexdigits = "0123456789abcdef";
PyObject *str;
Py_ssize_t size;
Py_ssize_t newsize;
@@ -205,8 +208,8 @@ escape_encode(PyObject *self,
else if (c < ' ' || c >= 0x7f) {
*p++ = '\\';
*p++ = 'x';
- *p++ = hexdigits[(c & 0xf0) >> 4];
- *p++ = hexdigits[c & 0xf];
+ *p++ = Py_hexdigits[(c & 0xf0) >> 4];
+ *p++ = Py_hexdigits[c & 0xf];
}
else
*p++ = c;
@@ -236,8 +239,10 @@ unicode_internal_decode(PyObject *self,
return NULL;
if (PyUnicode_Check(obj)) {
+ if (PyUnicode_READY(obj) < 0)
+ return NULL;
Py_INCREF(obj);
- return codec_tuple(obj, PyUnicode_GET_SIZE(obj));
+ return codec_tuple(obj, PyUnicode_GET_LENGTH(obj));
}
else {
if (PyObject_AsReadBuffer(obj, (const void **)&data, &size))
@@ -588,7 +593,7 @@ charmap_decode(PyObject *self,
return codec_tuple(unicode, pbuf.len);
}
-#if defined(MS_WINDOWS) && defined(HAVE_USABLE_WCHAR_T)
+#ifdef HAVE_MBCS
static PyObject *
mbcs_decode(PyObject *self,
@@ -613,7 +618,32 @@ mbcs_decode(PyObject *self,
return codec_tuple(decoded, consumed);
}
-#endif /* MS_WINDOWS */
+static PyObject *
+code_page_decode(PyObject *self,
+ PyObject *args)
+{
+ Py_buffer pbuf;
+ const char *errors = NULL;
+ int final = 0;
+ Py_ssize_t consumed;
+ PyObject *decoded = NULL;
+ int code_page;
+
+ if (!PyArg_ParseTuple(args, "iy*|zi:code_page_decode",
+ &code_page, &pbuf, &errors, &final))
+ return NULL;
+ consumed = pbuf.len;
+
+ decoded = PyUnicode_DecodeCodePageStateful(code_page,
+ pbuf.buf, pbuf.len, errors,
+ final ? NULL : &consumed);
+ PyBuffer_Release(&pbuf);
+ if (decoded == NULL)
+ return NULL;
+ return codec_tuple(decoded, consumed);
+}
+
+#endif /* HAVE_MBCS */
/* --- Encoder ------------------------------------------------------------ */
@@ -645,17 +675,31 @@ unicode_internal_encode(PyObject *self,
PyObject *obj;
const char *errors = NULL;
const char *data;
- Py_ssize_t size;
+ Py_ssize_t len, size;
+
+ if (PyErr_WarnEx(PyExc_DeprecationWarning,
+ "unicode_internal codec has been deprecated",
+ 1))
+ return NULL;
if (!PyArg_ParseTuple(args, "O|z:unicode_internal_encode",
&obj, &errors))
return NULL;
if (PyUnicode_Check(obj)) {
- data = PyUnicode_AS_DATA(obj);
- size = PyUnicode_GET_DATA_SIZE(obj);
- return codec_tuple(PyBytes_FromStringAndSize(data, size),
- PyUnicode_GET_SIZE(obj));
+ Py_UNICODE *u;
+
+ if (PyUnicode_READY(obj) < 0)
+ return NULL;
+
+ u = PyUnicode_AsUnicodeAndSize(obj, &len);
+ if (u == NULL)
+ return NULL;
+ if (len > PY_SSIZE_T_MAX / sizeof(Py_UNICODE))
+ return PyErr_NoMemory();
+ size = len * sizeof(Py_UNICODE);
+ return codec_tuple(PyBytes_FromStringAndSize((const char*)u, size),
+ PyUnicode_GET_LENGTH(obj));
}
else {
if (PyObject_AsReadBuffer(obj, (const void **)&data, &size))
@@ -676,14 +720,12 @@ utf_7_encode(PyObject *self,
return NULL;
str = PyUnicode_FromObject(str);
- if (str == NULL)
- return NULL;
- v = codec_tuple(PyUnicode_EncodeUTF7(PyUnicode_AS_UNICODE(str),
- PyUnicode_GET_SIZE(str),
- 0,
- 0,
- errors),
- PyUnicode_GET_SIZE(str));
+ if (str == NULL || PyUnicode_READY(str) < 0) {
+ Py_XDECREF(str);
+ return NULL;
+ }
+ v = codec_tuple(_PyUnicode_EncodeUTF7(str, 0, 0, errors),
+ PyUnicode_GET_LENGTH(str));
Py_DECREF(str);
return v;
}
@@ -700,12 +742,12 @@ utf_8_encode(PyObject *self,
return NULL;
str = PyUnicode_FromObject(str);
- if (str == NULL)
+ if (str == NULL || PyUnicode_READY(str) < 0) {
+ Py_XDECREF(str);
return NULL;
- v = codec_tuple(PyUnicode_EncodeUTF8(PyUnicode_AS_UNICODE(str),
- PyUnicode_GET_SIZE(str),
- errors),
- PyUnicode_GET_SIZE(str));
+ }
+ v = codec_tuple(PyUnicode_AsEncodedString(str, "utf-8", errors),
+ PyUnicode_GET_LENGTH(str));
Py_DECREF(str);
return v;
}
@@ -730,13 +772,12 @@ utf_16_encode(PyObject *self,
return NULL;
str = PyUnicode_FromObject(str);
- if (str == NULL)
+ if (str == NULL || PyUnicode_READY(str) < 0) {
+ Py_XDECREF(str);
return NULL;
- v = codec_tuple(PyUnicode_EncodeUTF16(PyUnicode_AS_UNICODE(str),
- PyUnicode_GET_SIZE(str),
- errors,
- byteorder),
- PyUnicode_GET_SIZE(str));
+ }
+ v = codec_tuple(_PyUnicode_EncodeUTF16(str, errors, byteorder),
+ PyUnicode_GET_LENGTH(str));
Py_DECREF(str);
return v;
}
@@ -753,13 +794,12 @@ utf_16_le_encode(PyObject *self,
return NULL;
str = PyUnicode_FromObject(str);
- if (str == NULL)
+ if (str == NULL || PyUnicode_READY(str) < 0) {
+ Py_XDECREF(str);
return NULL;
- v = codec_tuple(PyUnicode_EncodeUTF16(PyUnicode_AS_UNICODE(str),
- PyUnicode_GET_SIZE(str),
- errors,
- -1),
- PyUnicode_GET_SIZE(str));
+ }
+ v = codec_tuple(_PyUnicode_EncodeUTF16(str, errors, -1),
+ PyUnicode_GET_LENGTH(str));
Py_DECREF(str);
return v;
}
@@ -776,13 +816,12 @@ utf_16_be_encode(PyObject *self,
return NULL;
str = PyUnicode_FromObject(str);
- if (str == NULL)
+ if (str == NULL || PyUnicode_READY(str) < 0) {
+ Py_XDECREF(str);
return NULL;
- v = codec_tuple(PyUnicode_EncodeUTF16(PyUnicode_AS_UNICODE(str),
- PyUnicode_GET_SIZE(str),
- errors,
- +1),
- PyUnicode_GET_SIZE(str));
+ }
+ v = codec_tuple(_PyUnicode_EncodeUTF16(str, errors, +1),
+ PyUnicode_GET_LENGTH(str));
Py_DECREF(str);
return v;
}
@@ -807,13 +846,12 @@ utf_32_encode(PyObject *self,
return NULL;
str = PyUnicode_FromObject(str);
- if (str == NULL)
+ if (str == NULL || PyUnicode_READY(str) < 0) {
+ Py_XDECREF(str);
return NULL;
- v = codec_tuple(PyUnicode_EncodeUTF32(PyUnicode_AS_UNICODE(str),
- PyUnicode_GET_SIZE(str),
- errors,
- byteorder),
- PyUnicode_GET_SIZE(str));
+ }
+ v = codec_tuple(_PyUnicode_EncodeUTF32(str, errors, byteorder),
+ PyUnicode_GET_LENGTH(str));
Py_DECREF(str);
return v;
}
@@ -830,13 +868,12 @@ utf_32_le_encode(PyObject *self,
return NULL;
str = PyUnicode_FromObject(str);
- if (str == NULL)
+ if (str == NULL || PyUnicode_READY(str) < 0) {
+ Py_XDECREF(str);
return NULL;
- v = codec_tuple(PyUnicode_EncodeUTF32(PyUnicode_AS_UNICODE(str),
- PyUnicode_GET_SIZE(str),
- errors,
- -1),
- PyUnicode_GET_SIZE(str));
+ }
+ v = codec_tuple(_PyUnicode_EncodeUTF32(str, errors, -1),
+ PyUnicode_GET_LENGTH(str));
Py_DECREF(str);
return v;
}
@@ -853,13 +890,12 @@ utf_32_be_encode(PyObject *self,
return NULL;
str = PyUnicode_FromObject(str);
- if (str == NULL)
+ if (str == NULL || PyUnicode_READY(str) < 0) {
+ Py_XDECREF(str);
return NULL;
- v = codec_tuple(PyUnicode_EncodeUTF32(PyUnicode_AS_UNICODE(str),
- PyUnicode_GET_SIZE(str),
- errors,
- +1),
- PyUnicode_GET_SIZE(str));
+ }
+ v = codec_tuple(_PyUnicode_EncodeUTF32(str, errors, +1),
+ PyUnicode_GET_LENGTH(str));
Py_DECREF(str);
return v;
}
@@ -876,11 +912,12 @@ unicode_escape_encode(PyObject *self,
return NULL;
str = PyUnicode_FromObject(str);
- if (str == NULL)
+ if (str == NULL || PyUnicode_READY(str) < 0) {
+ Py_XDECREF(str);
return NULL;
- v = codec_tuple(PyUnicode_EncodeUnicodeEscape(PyUnicode_AS_UNICODE(str),
- PyUnicode_GET_SIZE(str)),
- PyUnicode_GET_SIZE(str));
+ }
+ v = codec_tuple(PyUnicode_AsUnicodeEscapeString(str),
+ PyUnicode_GET_LENGTH(str));
Py_DECREF(str);
return v;
}
@@ -897,12 +934,12 @@ raw_unicode_escape_encode(PyObject *self,
return NULL;
str = PyUnicode_FromObject(str);
- if (str == NULL)
+ if (str == NULL || PyUnicode_READY(str) < 0) {
+ Py_XDECREF(str);
return NULL;
- v = codec_tuple(PyUnicode_EncodeRawUnicodeEscape(
- PyUnicode_AS_UNICODE(str),
- PyUnicode_GET_SIZE(str)),
- PyUnicode_GET_SIZE(str));
+ }
+ v = codec_tuple(PyUnicode_AsRawUnicodeEscapeString(str),
+ PyUnicode_GET_LENGTH(str));
Py_DECREF(str);
return v;
}
@@ -919,13 +956,12 @@ latin_1_encode(PyObject *self,
return NULL;
str = PyUnicode_FromObject(str);
- if (str == NULL)
+ if (str == NULL || PyUnicode_READY(str) < 0) {
+ Py_XDECREF(str);
return NULL;
- v = codec_tuple(PyUnicode_EncodeLatin1(
- PyUnicode_AS_UNICODE(str),
- PyUnicode_GET_SIZE(str),
- errors),
- PyUnicode_GET_SIZE(str));
+ }
+ v = codec_tuple(_PyUnicode_AsLatin1String(str, errors),
+ PyUnicode_GET_LENGTH(str));
Py_DECREF(str);
return v;
}
@@ -942,13 +978,12 @@ ascii_encode(PyObject *self,
return NULL;
str = PyUnicode_FromObject(str);
- if (str == NULL)
+ if (str == NULL || PyUnicode_READY(str) < 0) {
+ Py_XDECREF(str);
return NULL;
- v = codec_tuple(PyUnicode_EncodeASCII(
- PyUnicode_AS_UNICODE(str),
- PyUnicode_GET_SIZE(str),
- errors),
- PyUnicode_GET_SIZE(str));
+ }
+ v = codec_tuple(_PyUnicode_AsASCIIString(str, errors),
+ PyUnicode_GET_LENGTH(str));
Py_DECREF(str);
return v;
}
@@ -968,14 +1003,12 @@ charmap_encode(PyObject *self,
mapping = NULL;
str = PyUnicode_FromObject(str);
- if (str == NULL)
- return NULL;
- v = codec_tuple(PyUnicode_EncodeCharmap(
- PyUnicode_AS_UNICODE(str),
- PyUnicode_GET_SIZE(str),
- mapping,
- errors),
- PyUnicode_GET_SIZE(str));
+ if (str == NULL || PyUnicode_READY(str) < 0) {
+ Py_XDECREF(str);
+ return NULL;
+ }
+ v = codec_tuple(_PyUnicode_EncodeCharmap(str, mapping, errors),
+ PyUnicode_GET_LENGTH(str));
Py_DECREF(str);
return v;
}
@@ -989,7 +1022,7 @@ charmap_build(PyObject *self, PyObject *args)
return PyUnicode_BuildEncodingMap(map);
}
-#if defined(MS_WINDOWS) && defined(HAVE_USABLE_WCHAR_T)
+#ifdef HAVE_MBCS
static PyObject *
mbcs_encode(PyObject *self,
@@ -1003,18 +1036,42 @@ mbcs_encode(PyObject *self,
return NULL;
str = PyUnicode_FromObject(str);
- if (str == NULL)
+ if (str == NULL || PyUnicode_READY(str) < 0) {
+ Py_XDECREF(str);
return NULL;
- v = codec_tuple(PyUnicode_EncodeMBCS(
- PyUnicode_AS_UNICODE(str),
- PyUnicode_GET_SIZE(str),
- errors),
- PyUnicode_GET_SIZE(str));
+ }
+ v = codec_tuple(PyUnicode_EncodeCodePage(CP_ACP, str, errors),
+ PyUnicode_GET_LENGTH(str));
+ Py_DECREF(str);
+ return v;
+}
+
+static PyObject *
+code_page_encode(PyObject *self,
+ PyObject *args)
+{
+ PyObject *str, *v;
+ const char *errors = NULL;
+ int code_page;
+
+ if (!PyArg_ParseTuple(args, "iO|z:code_page_encode",
+ &code_page, &str, &errors))
+ return NULL;
+
+ str = PyUnicode_FromObject(str);
+ if (str == NULL || PyUnicode_READY(str) < 0) {
+ Py_XDECREF(str);
+ return NULL;
+ }
+ v = codec_tuple(PyUnicode_EncodeCodePage(code_page,
+ str,
+ errors),
+ PyUnicode_GET_LENGTH(str));
Py_DECREF(str);
return v;
}
-#endif /* MS_WINDOWS */
+#endif /* HAVE_MBCS */
/* --- Error handler registry --------------------------------------------- */
@@ -1101,9 +1158,11 @@ static PyMethodDef _codecs_functions[] = {
{"charmap_decode", charmap_decode, METH_VARARGS},
{"charmap_build", charmap_build, METH_VARARGS},
{"readbuffer_encode", readbuffer_encode, METH_VARARGS},
-#if defined(MS_WINDOWS) && defined(HAVE_USABLE_WCHAR_T)
+#ifdef HAVE_MBCS
{"mbcs_encode", mbcs_encode, METH_VARARGS},
{"mbcs_decode", mbcs_decode, METH_VARARGS},
+ {"code_page_encode", code_page_encode, METH_VARARGS},
+ {"code_page_decode", code_page_decode, METH_VARARGS},
#endif
{"register_error", register_error, METH_VARARGS,
register_error__doc__},
diff --git a/Modules/_collectionsmodule.c b/Modules/_collectionsmodule.c
index 5545d1e..efce5ce 100644
--- a/Modules/_collectionsmodule.c
+++ b/Modules/_collectionsmodule.c
@@ -767,8 +767,9 @@ static PyObject *
deque_reduce(dequeobject *deque)
{
PyObject *dict, *result, *aslist;
+ _Py_IDENTIFIER(__dict__);
- dict = PyObject_GetAttrString((PyObject *)deque, "__dict__");
+ dict = _PyObject_GetAttrId((PyObject *)deque, &PyId___dict__);
if (dict == NULL)
PyErr_Clear();
aslist = PySequence_List((PyObject *)deque);
@@ -832,8 +833,7 @@ deque_richcompare(PyObject *v, PyObject *w, int op)
if (!PyObject_TypeCheck(v, &deque_type) ||
!PyObject_TypeCheck(w, &deque_type)) {
- Py_INCREF(Py_NotImplemented);
- return Py_NotImplemented;
+ Py_RETURN_NOTIMPLEMENTED;
}
/* Shortcuts */
@@ -1335,13 +1335,15 @@ defdict_reduce(defdictobject *dd)
PyObject *items;
PyObject *iter;
PyObject *result;
+ _Py_IDENTIFIER(items);
+
if (dd->default_factory == NULL || dd->default_factory == Py_None)
args = PyTuple_New(0);
else
args = PyTuple_Pack(1, dd->default_factory);
if (args == NULL)
return NULL;
- items = PyObject_CallMethod((PyObject *)dd, "items", "()");
+ items = _PyObject_CallMethodId((PyObject *)dd, &PyId_items, "()");
if (items == NULL) {
Py_DECREF(args);
return NULL;
@@ -1552,12 +1554,8 @@ _count_elements(PyObject *self, PyObject *args)
if (PyDict_CheckExact(mapping)) {
while (1) {
key = PyIter_Next(it);
- if (key == NULL) {
- if (PyErr_Occurred() && PyErr_ExceptionMatches(PyExc_StopIteration))
- PyErr_Clear();
- else
- break;
- }
+ if (key == NULL)
+ break;
oldval = PyDict_GetItem(mapping, key);
if (oldval == NULL) {
if (PyDict_SetItem(mapping, key, one) == -1)
@@ -1575,12 +1573,8 @@ _count_elements(PyObject *self, PyObject *args)
} else {
while (1) {
key = PyIter_Next(it);
- if (key == NULL) {
- if (PyErr_Occurred() && PyErr_ExceptionMatches(PyExc_StopIteration))
- PyErr_Clear();
- else
- break;
- }
+ if (key == NULL)
+ break;
oldval = PyObject_GetItem(mapping, key);
if (oldval == NULL) {
if (!PyErr_Occurred() || !PyErr_ExceptionMatches(PyExc_KeyError))
diff --git a/Modules/cryptmodule.c b/Modules/_cryptmodule.c
index d5a42ff..5100788 100644
--- a/Modules/cryptmodule.c
+++ b/Modules/_cryptmodule.c
@@ -45,7 +45,7 @@ static PyMethodDef crypt_methods[] = {
static struct PyModuleDef cryptmodule = {
PyModuleDef_HEAD_INIT,
- "crypt",
+ "_crypt",
NULL,
-1,
crypt_methods,
@@ -56,7 +56,7 @@ static struct PyModuleDef cryptmodule = {
};
PyMODINIT_FUNC
-PyInit_crypt(void)
+PyInit__crypt(void)
{
return PyModule_Create(&cryptmodule);
}
diff --git a/Modules/_csv.c b/Modules/_csv.c
index a749cec..443309c 100644
--- a/Modules/_csv.c
+++ b/Modules/_csv.c
@@ -47,9 +47,9 @@ typedef struct {
PyObject_HEAD
int doublequote; /* is " represented by ""? */
- Py_UNICODE delimiter; /* field separator */
- Py_UNICODE quotechar; /* quote character */
- Py_UNICODE escapechar; /* escape character */
+ Py_UCS4 delimiter; /* field separator */
+ Py_UCS4 quotechar; /* quote character */
+ Py_UCS4 escapechar; /* escape character */
int skipinitialspace; /* ignore spaces following delimiter? */
PyObject *lineterminator; /* string to write between records */
int quoting; /* style of quoting to write */
@@ -68,7 +68,7 @@ typedef struct {
PyObject *fields; /* field list for current record */
ParserState state; /* current CSV parse state */
- Py_UNICODE *field; /* build current field in here */
+ Py_UCS4 *field; /* temporary buffer */
Py_ssize_t field_size; /* size of allocated buffer */
Py_ssize_t field_len; /* length of current field */
int numeric_field; /* treat field as numeric */
@@ -86,7 +86,7 @@ typedef struct {
DialectObj *dialect; /* parsing dialect */
- Py_UNICODE *rec; /* buffer for parser.join */
+ Py_UCS4 *rec; /* buffer for parser.join */
Py_ssize_t rec_size; /* size of allocated record */
Py_ssize_t rec_len; /* length of record */
int num_fields; /* number of fields in record */
@@ -121,14 +121,14 @@ get_string(PyObject *str)
}
static PyObject *
-get_nullchar_as_None(Py_UNICODE c)
+get_nullchar_as_None(Py_UCS4 c)
{
if (c == '\0') {
Py_INCREF(Py_None);
return Py_None;
}
else
- return PyUnicode_FromUnicode((Py_UNICODE *)&c, 1);
+ return PyUnicode_FromOrdinal(c);
}
static PyObject *
@@ -199,25 +199,23 @@ _set_int(const char *name, int *target, PyObject *src, int dflt)
}
static int
-_set_char(const char *name, Py_UNICODE *target, PyObject *src, Py_UNICODE dflt)
+_set_char(const char *name, Py_UCS4 *target, PyObject *src, Py_UCS4 dflt)
{
if (src == NULL)
*target = dflt;
else {
*target = '\0';
if (src != Py_None) {
- Py_UNICODE *buf;
Py_ssize_t len;
- buf = PyUnicode_AsUnicode(src);
- len = PyUnicode_GetSize(src);
- if (buf == NULL || len > 1) {
+ len = PyUnicode_GetLength(src);
+ if (len > 1) {
PyErr_Format(PyExc_TypeError,
"\"%s\" must be an 1-character string",
name);
return -1;
}
if (len > 0)
- *target = buf[0];
+ *target = PyUnicode_READ_CHAR(src, 0);
}
}
return 0;
@@ -498,7 +496,8 @@ parse_save_field(ReaderObj *self)
{
PyObject *field;
- field = PyUnicode_FromUnicode(self->field, self->field_len);
+ field = PyUnicode_FromKindAndData(PyUnicode_4BYTE_KIND,
+ (void *) self->field, self->field_len);
if (field == NULL)
return -1;
self->field_len = 0;
@@ -507,11 +506,9 @@ parse_save_field(ReaderObj *self)
self->numeric_field = 0;
tmp = PyNumber_Float(field);
- if (tmp == NULL) {
- Py_DECREF(field);
- return -1;
- }
Py_DECREF(field);
+ if (tmp == NULL)
+ return -1;
field = tmp;
}
PyList_Append(self->fields, field);
@@ -526,16 +523,16 @@ parse_grow_buff(ReaderObj *self)
self->field_size = 4096;
if (self->field != NULL)
PyMem_Free(self->field);
- self->field = PyMem_New(Py_UNICODE, self->field_size);
+ self->field = PyMem_New(Py_UCS4, self->field_size);
}
else {
+ Py_UCS4 *field = self->field;
if (self->field_size > PY_SSIZE_T_MAX / 2) {
PyErr_NoMemory();
return 0;
}
self->field_size *= 2;
- self->field = PyMem_Resize(self->field, Py_UNICODE,
- self->field_size);
+ self->field = PyMem_Resize(field, Py_UCS4, self->field_size);
}
if (self->field == NULL) {
PyErr_NoMemory();
@@ -545,7 +542,7 @@ parse_grow_buff(ReaderObj *self)
}
static int
-parse_add_char(ReaderObj *self, Py_UNICODE c)
+parse_add_char(ReaderObj *self, Py_UCS4 c)
{
if (self->field_len >= field_limit) {
PyErr_Format(error_obj, "field larger than field limit (%ld)",
@@ -559,7 +556,7 @@ parse_add_char(ReaderObj *self, Py_UNICODE c)
}
static int
-parse_process_char(ReaderObj *self, Py_UNICODE c)
+parse_process_char(ReaderObj *self, Py_UCS4 c)
{
DialectObj *dialect = self->dialect;
@@ -744,10 +741,12 @@ parse_reset(ReaderObj *self)
static PyObject *
Reader_iternext(ReaderObj *self)
{
- PyObject *lineobj;
PyObject *fields = NULL;
- Py_UNICODE *line, c;
- Py_ssize_t linelen;
+ Py_UCS4 c;
+ Py_ssize_t pos, linelen;
+ unsigned int kind;
+ void *data;
+ PyObject *lineobj;
if (parse_reset(self) < 0)
return NULL;
@@ -771,14 +770,12 @@ Reader_iternext(ReaderObj *self)
return NULL;
}
++self->line_num;
- line = PyUnicode_AsUnicode(lineobj);
- linelen = PyUnicode_GetSize(lineobj);
- if (line == NULL || linelen < 0) {
- Py_DECREF(lineobj);
- return NULL;
- }
+ kind = PyUnicode_KIND(lineobj);
+ data = PyUnicode_DATA(lineobj);
+ pos = 0;
+ linelen = PyUnicode_GET_LENGTH(lineobj);
while (linelen--) {
- c = *line++;
+ c = PyUnicode_READ(kind, data, pos);
if (c == '\0') {
Py_DECREF(lineobj);
PyErr_Format(error_obj,
@@ -789,6 +786,7 @@ Reader_iternext(ReaderObj *self)
Py_DECREF(lineobj);
goto err;
}
+ pos++;
}
Py_DECREF(lineobj);
if (parse_process_char(self, 0) < 0)
@@ -945,13 +943,13 @@ join_reset(WriterObj *self)
* record length.
*/
static Py_ssize_t
-join_append_data(WriterObj *self, Py_UNICODE *field, int quote_empty,
- int *quoted, int copy_phase)
+join_append_data(WriterObj *self, unsigned int field_kind, void *field_data,
+ Py_ssize_t field_len, int quote_empty, int *quoted,
+ int copy_phase)
{
DialectObj *dialect = self->dialect;
int i;
Py_ssize_t rec_len;
- Py_UNICODE *lineterm;
#define ADDCH(c) \
do {\
@@ -960,10 +958,6 @@ join_append_data(WriterObj *self, Py_UNICODE *field, int quote_empty,
rec_len++;\
} while(0)
- lineterm = PyUnicode_AsUnicode(dialect->lineterminator);
- if (lineterm == NULL)
- return -1;
-
rec_len = self->rec_len;
/* If this is not the first field we need a field separator */
@@ -976,17 +970,16 @@ join_append_data(WriterObj *self, Py_UNICODE *field, int quote_empty,
/* Copy/count field data */
/* If field is null just pass over */
- for (i = 0; field; i++) {
- Py_UNICODE c = field[i];
+ for (i = 0; field_data && (i < field_len); i++) {
+ Py_UCS4 c = PyUnicode_READ(field_kind, field_data, i);
int want_escape = 0;
- if (c == '\0')
- break;
-
if (c == dialect->delimiter ||
c == dialect->escapechar ||
c == dialect->quotechar ||
- Py_UNICODE_strchr(lineterm, c)) {
+ PyUnicode_FindChar(
+ dialect->lineterminator, c, 0,
+ PyUnicode_GET_LENGTH(dialect->lineterminator), 1) >= 0) {
if (dialect->quoting == QUOTE_NONE)
want_escape = 1;
else {
@@ -1049,14 +1042,13 @@ join_check_rec_size(WriterObj *self, Py_ssize_t rec_len)
self->rec_size = (rec_len / MEM_INCR + 1) * MEM_INCR;
if (self->rec != NULL)
PyMem_Free(self->rec);
- self->rec = PyMem_New(Py_UNICODE, self->rec_size);
+ self->rec = PyMem_New(Py_UCS4, self->rec_size);
}
else {
- Py_UNICODE* old_rec = self->rec;
+ Py_UCS4* old_rec = self->rec;
self->rec_size = (rec_len / MEM_INCR + 1) * MEM_INCR;
- self->rec = PyMem_Resize(self->rec, Py_UNICODE,
- self->rec_size);
+ self->rec = PyMem_Resize(old_rec, Py_UCS4, self->rec_size);
if (self->rec == NULL)
PyMem_Free(old_rec);
}
@@ -1069,11 +1061,20 @@ join_check_rec_size(WriterObj *self, Py_ssize_t rec_len)
}
static int
-join_append(WriterObj *self, Py_UNICODE *field, int *quoted, int quote_empty)
+join_append(WriterObj *self, PyObject *field, int *quoted, int quote_empty)
{
+ unsigned int field_kind = -1;
+ void *field_data = NULL;
+ Py_ssize_t field_len = 0;
Py_ssize_t rec_len;
- rec_len = join_append_data(self, field, quote_empty, quoted, 0);
+ if (field != NULL) {
+ field_kind = PyUnicode_KIND(field);
+ field_data = PyUnicode_DATA(field);
+ field_len = PyUnicode_GET_LENGTH(field);
+ }
+ rec_len = join_append_data(self, field_kind, field_data, field_len,
+ quote_empty, quoted, 0);
if (rec_len < 0)
return 0;
@@ -1081,7 +1082,8 @@ join_append(WriterObj *self, Py_UNICODE *field, int *quoted, int quote_empty)
if (!join_check_rec_size(self, rec_len))
return 0;
- self->rec_len = join_append_data(self, field, quote_empty, quoted, 1);
+ self->rec_len = join_append_data(self, field_kind, field_data, field_len,
+ quote_empty, quoted, 1);
self->num_fields++;
return 1;
@@ -1090,10 +1092,11 @@ join_append(WriterObj *self, Py_UNICODE *field, int *quoted, int quote_empty)
static int
join_append_lineterminator(WriterObj *self)
{
- Py_ssize_t terminator_len;
- Py_UNICODE *terminator;
+ Py_ssize_t terminator_len, i;
+ unsigned int term_kind;
+ void *term_data;
- terminator_len = PyUnicode_GetSize(self->dialect->lineterminator);
+ terminator_len = PyUnicode_GET_LENGTH(self->dialect->lineterminator);
if (terminator_len == -1)
return 0;
@@ -1101,11 +1104,10 @@ join_append_lineterminator(WriterObj *self)
if (!join_check_rec_size(self, self->rec_len + terminator_len))
return 0;
- terminator = PyUnicode_AsUnicode(self->dialect->lineterminator);
- if (terminator == NULL)
- return 0;
- memmove(self->rec + self->rec_len, terminator,
- sizeof(Py_UNICODE)*terminator_len);
+ term_kind = PyUnicode_KIND(self->dialect->lineterminator);
+ term_data = PyUnicode_DATA(self->dialect->lineterminator);
+ for (i = 0; i < terminator_len; i++)
+ self->rec[self->rec_len + i] = PyUnicode_READ(term_kind, term_data, i);
self->rec_len += terminator_len;
return 1;
@@ -1122,6 +1124,7 @@ csv_writerow(WriterObj *self, PyObject *seq)
{
DialectObj *dialect = self->dialect;
Py_ssize_t len, i;
+ PyObject *line, *result;
if (!PySequence_Check(seq))
return PyErr_Format(error_obj, "sequence expected");
@@ -1155,14 +1158,11 @@ csv_writerow(WriterObj *self, PyObject *seq)
}
if (PyUnicode_Check(field)) {
- append_ok = join_append(self,
- PyUnicode_AS_UNICODE(field),
- &quoted, len == 1);
+ append_ok = join_append(self, field, &quoted, len == 1);
Py_DECREF(field);
}
else if (field == Py_None) {
- append_ok = join_append(self, NULL,
- &quoted, len == 1);
+ append_ok = join_append(self, NULL, &quoted, len == 1);
Py_DECREF(field);
}
else {
@@ -1172,9 +1172,7 @@ csv_writerow(WriterObj *self, PyObject *seq)
Py_DECREF(field);
if (str == NULL)
return NULL;
- append_ok = join_append(self,
- PyUnicode_AS_UNICODE(str),
- &quoted, len == 1);
+ append_ok = join_append(self, str, &quoted, len == 1);
Py_DECREF(str);
}
if (!append_ok)
@@ -1186,9 +1184,13 @@ csv_writerow(WriterObj *self, PyObject *seq)
if (!join_append_lineterminator(self))
return 0;
- return PyObject_CallFunction(self->writeline,
- "(u#)", self->rec,
- self->rec_len);
+ line = PyUnicode_FromKindAndData(PyUnicode_4BYTE_KIND,
+ (void *) self->rec, self->rec_len);
+ if (line == NULL)
+ return NULL;
+ result = PyObject_CallFunctionObjArgs(self->writeline, line, NULL);
+ Py_DECREF(line);
+ return result;
}
PyDoc_STRVAR(csv_writerows_doc,
@@ -1312,6 +1314,7 @@ csv_writer(PyObject *module, PyObject *args, PyObject *keyword_args)
{
PyObject * output_file, * dialect = NULL;
WriterObj * self = PyObject_GC_New(WriterObj, &Writer_Type);
+ _Py_IDENTIFIER(write);
if (!self)
return NULL;
@@ -1328,7 +1331,7 @@ csv_writer(PyObject *module, PyObject *args, PyObject *keyword_args)
Py_DECREF(self);
return NULL;
}
- self->writeline = PyObject_GetAttrString(output_file, "write");
+ self->writeline = _PyObject_GetAttrId(output_file, &PyId_write);
if (self->writeline == NULL || !PyCallable_Check(self->writeline)) {
PyErr_SetString(PyExc_TypeError,
"argument 1 must have a \"write\" method");
diff --git a/Modules/_ctypes/_ctypes.c b/Modules/_ctypes/_ctypes.c
index 8f378e2..31906bf 100644
--- a/Modules/_ctypes/_ctypes.c
+++ b/Modules/_ctypes/_ctypes.c
@@ -1142,6 +1142,8 @@ static int
WCharArray_set_value(CDataObject *self, PyObject *value)
{
Py_ssize_t result = 0;
+ Py_UNICODE *wstr;
+ Py_ssize_t len;
if (value == NULL) {
PyErr_SetString(PyExc_TypeError,
@@ -1155,7 +1157,11 @@ WCharArray_set_value(CDataObject *self, PyObject *value)
return -1;
} else
Py_INCREF(value);
- if ((unsigned)PyUnicode_GET_SIZE(value) > self->b_size/sizeof(wchar_t)) {
+
+ wstr = PyUnicode_AsUnicodeAndSize(value, &len);
+ if (wstr == NULL)
+ return -1;
+ if ((unsigned)len > self->b_size/sizeof(wchar_t)) {
PyErr_SetString(PyExc_ValueError,
"string too long");
result = -1;
@@ -1843,11 +1849,9 @@ PyCSimpleType_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
return NULL;
}
if (PyUnicode_Check(proto)) {
- PyObject *v = _PyUnicode_AsDefaultEncodedString(proto, NULL);
- if (!v)
+ proto_str = PyUnicode_AsUTF8AndSize(proto, &proto_len);
+ if (!proto_str)
goto error;
- proto_str = PyBytes_AS_STRING(v);
- proto_len = PyBytes_GET_SIZE(v);
} else {
PyErr_SetString(PyExc_TypeError,
"class must define a '_type_' string attribute");
@@ -3681,8 +3685,10 @@ _build_result(PyObject *result, PyObject *callargs,
PyTuple_SET_ITEM(tup, index, v);
index++;
} else if (bit & outmask) {
+ _Py_IDENTIFIER(__ctypes_from_outparam__);
+
v = PyTuple_GET_ITEM(callargs, i);
- v = PyObject_CallMethod(v, "__ctypes_from_outparam__", NULL);
+ v = _PyObject_CallMethodId(v, &PyId___ctypes_from_outparam__, NULL);
if (v == NULL || numretvals == 1) {
Py_DECREF(callargs);
return v;
@@ -4249,7 +4255,7 @@ Array_subscript(PyObject *_self, PyObject *item)
wchar_t *dest;
if (slicelen <= 0)
- return PyUnicode_FromUnicode(NULL, 0);
+ return PyUnicode_New(0, 0);
if (step == 1) {
return PyUnicode_FromWideChar(ptr + start,
slicelen);
@@ -4599,38 +4605,20 @@ static PyNumberMethods Simple_as_number = {
static PyObject *
Simple_repr(CDataObject *self)
{
- PyObject *val, *name, *args, *result;
- static PyObject *format;
+ PyObject *val, *result;
if (Py_TYPE(self)->tp_base != &Simple_Type) {
return PyUnicode_FromFormat("<%s object at %p>",
Py_TYPE(self)->tp_name, self);
}
- if (format == NULL) {
- format = PyUnicode_InternFromString("%s(%r)");
- if (format == NULL)
- return NULL;
- }
-
val = Simple_get_value(self);
if (val == NULL)
return NULL;
- name = PyUnicode_FromString(Py_TYPE(self)->tp_name);
- if (name == NULL) {
- Py_DECREF(val);
- return NULL;
- }
-
- args = PyTuple_Pack(2, name, val);
- Py_DECREF(name);
+ result = PyUnicode_FromFormat("%s(%R)",
+ Py_TYPE(self)->tp_name, val);
Py_DECREF(val);
- if (args == NULL)
- return NULL;
-
- result = PyUnicode_Format(format, args);
- Py_DECREF(args);
return result;
}
@@ -4942,7 +4930,7 @@ Pointer_subscript(PyObject *_self, PyObject *item)
wchar_t *dest;
if (len <= 0)
- return PyUnicode_FromUnicode(NULL, 0);
+ return PyUnicode_New(0, 0);
if (step == 1) {
return PyUnicode_FromWideChar(ptr + start,
len);
diff --git a/Modules/_ctypes/callproc.c b/Modules/_ctypes/callproc.c
index 1f3c1c0..dd441f5 100644
--- a/Modules/_ctypes/callproc.c
+++ b/Modules/_ctypes/callproc.c
@@ -658,13 +658,6 @@ static int ConvParam(PyObject *obj, Py_ssize_t index, struct argument *pa)
#ifdef CTYPES_UNICODE
if (PyUnicode_Check(obj)) {
-#if Py_UNICODE_SIZE == SIZEOF_WCHAR_T
- pa->ffi_type = &ffi_type_pointer;
- pa->value.p = PyUnicode_AS_UNICODE(obj);
- Py_INCREF(obj);
- pa->keep = obj;
- return 0;
-#else
pa->ffi_type = &ffi_type_pointer;
pa->value.p = PyUnicode_AsWideCharString(obj, NULL);
if (pa->value.p == NULL)
@@ -675,7 +668,6 @@ static int ConvParam(PyObject *obj, Py_ssize_t index, struct argument *pa)
return -1;
}
return 0;
-#endif
}
#endif
@@ -952,9 +944,9 @@ void _ctypes_extend_error(PyObject *exc_class, char *fmt, ...)
else {
PyErr_Clear();
PyUnicode_AppendAndDel(&s, PyUnicode_FromString("???"));
- if (s == NULL)
- goto error;
}
+ if (s == NULL)
+ goto error;
PyErr_SetObject(exc_class, s);
error:
Py_XDECREF(tp);
@@ -1695,13 +1687,15 @@ unpickle(PyObject *self, PyObject *args)
PyObject *state;
PyObject *result;
PyObject *tmp;
+ _Py_IDENTIFIER(__new__);
+ _Py_IDENTIFIER(__setstate__);
if (!PyArg_ParseTuple(args, "OO", &typ, &state))
return NULL;
- result = PyObject_CallMethod(typ, "__new__", "O", typ);
+ result = _PyObject_CallMethodId(typ, &PyId___new__, "O", typ);
if (result == NULL)
return NULL;
- tmp = PyObject_CallMethod(result, "__setstate__", "O", state);
+ tmp = _PyObject_CallMethodId(result, &PyId___setstate__, "O", state);
if (tmp == NULL) {
Py_DECREF(result);
return NULL;
diff --git a/Modules/_ctypes/cfield.c b/Modules/_ctypes/cfield.c
index ccaa3c9..73ac519 100644
--- a/Modules/_ctypes/cfield.c
+++ b/Modules/_ctypes/cfield.c
@@ -9,7 +9,6 @@
#define CTYPES_CFIELD_CAPSULE_NAME_PYMEM "_ctypes/cfield.c pymem"
-#if Py_UNICODE_SIZE != SIZEOF_WCHAR_T
static void pymem_destructor(PyObject *ptr)
{
void *p = PyCapsule_GetPointer(ptr, CTYPES_CFIELD_CAPSULE_NAME_PYMEM);
@@ -17,7 +16,6 @@ static void pymem_destructor(PyObject *ptr)
PyMem_Free(p);
}
}
-#endif
/******************************************************************/
@@ -52,7 +50,7 @@ PyCField_FromDesc(PyObject *desc, Py_ssize_t index,
{
CFieldObject *self;
PyObject *proto;
- Py_ssize_t size, align, length;
+ Py_ssize_t size, align;
SETFUNC setfunc = NULL;
GETFUNC getfunc = NULL;
StgDictObject *dict;
@@ -106,7 +104,6 @@ PyCField_FromDesc(PyObject *desc, Py_ssize_t index,
}
size = dict->size;
- length = dict->length;
proto = desc;
/* Field descriptors for 'c_char * n' are be scpecial cased to
@@ -1239,37 +1236,30 @@ u_get(void *ptr, Py_ssize_t size)
static PyObject *
U_get(void *ptr, Py_ssize_t size)
{
- PyObject *result;
Py_ssize_t len;
- Py_UNICODE *p;
+ wchar_t *p;
size /= sizeof(wchar_t); /* we count character units here, not bytes */
- result = PyUnicode_FromWideChar((wchar_t *)ptr, size);
- if (!result)
- return NULL;
/* We need 'result' to be able to count the characters with wcslen,
since ptr may not be NUL terminated. If the length is smaller (if
it was actually NUL terminated, we construct a new one and throw
away the result.
*/
/* chop off at the first NUL character, if any. */
- p = PyUnicode_AS_UNICODE(result);
- for (len = 0; len < size; ++len)
+ p = (wchar_t*)ptr;
+ for (len = 0; len < size; ++len) {
if (!p[len])
break;
-
- if (len < size) {
- PyObject *ob = PyUnicode_FromWideChar((wchar_t *)ptr, len);
- Py_DECREF(result);
- return ob;
}
- return result;
+
+ return PyUnicode_FromWideChar((wchar_t *)ptr, len);
}
static PyObject *
U_set(void *ptr, PyObject *value, Py_ssize_t length)
{
+ Py_UNICODE *wstr;
Py_ssize_t size;
/* It's easier to calculate in characters than in bytes */
@@ -1282,7 +1272,10 @@ U_set(void *ptr, PyObject *value, Py_ssize_t length)
return NULL;
} else
Py_INCREF(value);
- size = PyUnicode_GET_SIZE(value);
+
+ wstr = PyUnicode_AsUnicodeAndSize(value, &size);
+ if (wstr == NULL)
+ return NULL;
if (size > length) {
PyErr_Format(PyExc_ValueError,
"string too long (%zd, maximum length %zd)",
@@ -1402,6 +1395,9 @@ z_get(void *ptr, Py_ssize_t size)
static PyObject *
Z_set(void *ptr, PyObject *value, Py_ssize_t size)
{
+ PyObject *keep;
+ wchar_t *buffer;
+
if (value == Py_None) {
*(wchar_t **)ptr = NULL;
Py_INCREF(value);
@@ -1421,37 +1417,20 @@ Z_set(void *ptr, PyObject *value, Py_ssize_t size)
"unicode string or integer address expected instead of %s instance",
value->ob_type->tp_name);
return NULL;
- } else
- Py_INCREF(value);
-#if Py_UNICODE_SIZE == SIZEOF_WCHAR_T
- /* We can copy directly. Hm, are unicode objects always NUL
- terminated in Python, internally?
- */
- *(wchar_t **)ptr = (wchar_t *) PyUnicode_AS_UNICODE(value);
- return value;
-#else
- {
- /* We must create a wchar_t* buffer from the unicode object,
- and keep it alive */
- PyObject *keep;
- wchar_t *buffer;
-
- buffer = PyUnicode_AsWideCharString(value, NULL);
- if (!buffer) {
- Py_DECREF(value);
- return NULL;
- }
- keep = PyCapsule_New(buffer, CTYPES_CFIELD_CAPSULE_NAME_PYMEM, pymem_destructor);
- if (!keep) {
- Py_DECREF(value);
- PyMem_Free(buffer);
- return NULL;
- }
- *(wchar_t **)ptr = (wchar_t *)buffer;
- Py_DECREF(value);
- return keep;
}
-#endif
+
+ /* We must create a wchar_t* buffer from the unicode object,
+ and keep it alive */
+ buffer = PyUnicode_AsWideCharString(value, NULL);
+ if (!buffer)
+ return NULL;
+ keep = PyCapsule_New(buffer, CTYPES_CFIELD_CAPSULE_NAME_PYMEM, pymem_destructor);
+ if (!keep) {
+ PyMem_Free(buffer);
+ return NULL;
+ }
+ *(wchar_t **)ptr = buffer;
+ return keep;
}
static PyObject *
@@ -1496,13 +1475,16 @@ BSTR_set(void *ptr, PyObject *value, Py_ssize_t size)
/* create a BSTR from value */
if (value) {
- Py_ssize_t size = PyUnicode_GET_SIZE(value);
+ wchar_t* wvalue;
+ Py_ssize_t size;
+ wvalue = PyUnicode_AsUnicodeAndSize(value, &size);
+ if (wvalue == NULL)
+ return NULL;
if ((unsigned) size != size) {
PyErr_SetString(PyExc_ValueError, "String too long for BSTR");
return NULL;
}
- bstr = SysAllocStringLen(PyUnicode_AS_UNICODE(value),
- (unsigned)size);
+ bstr = SysAllocStringLen(wvalue, (unsigned)size);
Py_DECREF(value);
} else
bstr = NULL;
diff --git a/Modules/_ctypes/stgdict.c b/Modules/_ctypes/stgdict.c
index 262d0b4..e5b0e4c 100644
--- a/Modules/_ctypes/stgdict.c
+++ b/Modules/_ctypes/stgdict.c
@@ -426,9 +426,9 @@ PyCStructUnionType_update_stgdict(PyObject *type, PyObject *fields, int isStruct
StgDictObject *dict;
int bitsize = 0;
- if (!pair || !PyArg_ParseTuple(pair, "OO|i", &name, &desc, &bitsize)) {
- PyErr_SetString(PyExc_AttributeError,
- "'_fields_' must be a sequence of pairs");
+ if (!pair || !PyArg_ParseTuple(pair, "UO|i", &name, &desc, &bitsize)) {
+ PyErr_SetString(PyExc_TypeError,
+ "'_fields_' must be a sequence of (name, C type) pairs");
Py_XDECREF(pair);
return -1;
}
@@ -478,6 +478,7 @@ PyCStructUnionType_update_stgdict(PyObject *type, PyObject *fields, int isStruct
}
} else
bitsize = 0;
+
if (isStruct && !isPacked) {
char *fieldfmt = dict->format ? dict->format : "B";
char *fieldname = _PyUnicode_AsString(name);
@@ -487,10 +488,6 @@ PyCStructUnionType_update_stgdict(PyObject *type, PyObject *fields, int isStruct
if (fieldname == NULL)
{
- PyErr_Format(PyExc_TypeError,
- "structure field name must be string not %s",
- name->ob_type->tp_name);
-
Py_DECREF(pair);
return -1;
}
@@ -515,6 +512,7 @@ PyCStructUnionType_update_stgdict(PyObject *type, PyObject *fields, int isStruct
return -1;
}
}
+
if (isStruct) {
prop = PyCField_FromDesc(desc, i,
&field_size, bitsize, &bitofs,
diff --git a/Modules/_cursesmodule.c b/Modules/_cursesmodule.c
index 5e1afa9..166a93a 100644
--- a/Modules/_cursesmodule.c
+++ b/Modules/_cursesmodule.c
@@ -105,10 +105,6 @@ char *PyCursesVersion = "2.2";
#include "Python.h"
-#ifdef __osf__
-#define STRICT_SYSV_CURSES /* Don't use ncurses extensions */
-#endif
-
#ifdef __hpux
#define STRICT_SYSV_CURSES
#endif
@@ -125,6 +121,10 @@ extern int setupterm(char *,int,int *);
#include <term.h>
#endif
+#ifdef HAVE_LANGINFO_H
+#include <langinfo.h>
+#endif
+
#if !defined(HAVE_NCURSES_H) && (defined(sgi) || defined(__sun) || defined(SCO5))
#define STRICT_SYSV_CURSES /* Don't use ncurses extensions */
typedef chtype attr_t; /* No attr_t type is available */
@@ -147,6 +147,8 @@ static int initialised = FALSE;
/* Tells whether start_color() has been called to initialise color usage. */
static int initialisedcolors = FALSE;
+static char *screen_encoding = NULL;
+
/* Utility Macros */
#define PyCursesSetupTermCalled \
if (initialised_setupterm != TRUE) { \
@@ -179,7 +181,7 @@ static int initialisedcolors = FALSE;
*/
static PyObject *
-PyCursesCheckERR(int code, char *fname)
+PyCursesCheckERR(int code, const char *fname)
{
if (code != ERR) {
Py_INCREF(Py_None);
@@ -194,25 +196,193 @@ PyCursesCheckERR(int code, char *fname)
}
}
+/* Convert an object to a byte (an integer of type chtype):
+
+ - int
+ - bytes of length 1
+ - str of length 1
+
+ Return 1 on success, 0 on error (invalid type or integer overflow). */
static int
-PyCurses_ConvertToChtype(PyObject *obj, chtype *ch)
+PyCurses_ConvertToChtype(PyCursesWindowObject *win, PyObject *obj, chtype *ch)
{
- if (PyLong_CheckExact(obj)) {
- int overflow;
- /* XXX should the truncation by the cast also be reported
- as an error? */
- *ch = (chtype) PyLong_AsLongAndOverflow(obj, &overflow);
- if (overflow)
+ long value;
+ if(PyBytes_Check(obj) && PyBytes_Size(obj) == 1) {
+ value = (unsigned char)PyBytes_AsString(obj)[0];
+ }
+ else if (PyUnicode_Check(obj)) {
+ if (PyUnicode_GetLength(obj) != 1) {
+ PyErr_Format(PyExc_TypeError,
+ "expect bytes or str of length 1, or int, "
+ "got a str of length %zi",
+ PyUnicode_GET_LENGTH(obj));
return 0;
- } else if(PyBytes_Check(obj)
- && (PyBytes_Size(obj) == 1)) {
- *ch = (chtype) *PyBytes_AsString(obj);
- } else if (PyUnicode_Check(obj) && PyUnicode_GetSize(obj) == 1) {
- *ch = (chtype) *PyUnicode_AS_UNICODE(obj);
- } else {
+ }
+ value = PyUnicode_READ_CHAR(obj, 0);
+ if (128 < value) {
+ PyObject *bytes;
+ const char *encoding;
+ if (win)
+ encoding = win->encoding;
+ else
+ encoding = screen_encoding;
+ bytes = PyUnicode_AsEncodedObject(obj, encoding, NULL);
+ if (bytes == NULL)
+ return 0;
+ if (PyBytes_GET_SIZE(bytes) == 1)
+ value = (unsigned char)PyBytes_AS_STRING(bytes)[0];
+ else
+ value = -1;
+ Py_DECREF(bytes);
+ if (value < 0)
+ goto overflow;
+ }
+ }
+ else if (PyLong_CheckExact(obj)) {
+ int long_overflow;
+ value = PyLong_AsLongAndOverflow(obj, &long_overflow);
+ if (long_overflow)
+ goto overflow;
+ }
+ else {
+ PyErr_Format(PyExc_TypeError,
+ "expect bytes or str of length 1, or int, got %s",
+ Py_TYPE(obj)->tp_name);
return 0;
}
+ *ch = (chtype)value;
+ if ((long)*ch != value)
+ goto overflow;
return 1;
+
+overflow:
+ PyErr_SetString(PyExc_OverflowError,
+ "byte doesn't fit in chtype");
+ return 0;
+}
+
+/* Convert an object to a byte (chtype) or a character (cchar_t):
+
+ - int
+ - bytes of length 1
+ - str of length 1
+
+ Return:
+
+ - 2 if obj is a character (written into *wch)
+ - 1 if obj is a byte (written into *ch)
+ - 0 on error: raise an exception */
+static int
+PyCurses_ConvertToCchar_t(PyCursesWindowObject *win, PyObject *obj,
+ chtype *ch
+#ifdef HAVE_NCURSESW
+ , cchar_t *wch
+#endif
+ )
+{
+ int ret = 0;
+ long value;
+#ifdef HAVE_NCURSESW
+ wchar_t buffer[2];
+#endif
+
+ if (PyUnicode_Check(obj)) {
+#ifdef HAVE_NCURSESW
+ if (PyUnicode_AsWideChar(obj, buffer, 2) != 1) {
+ PyErr_Format(PyExc_TypeError,
+ "expect bytes or str of length 1, or int, "
+ "got a str of length %zi",
+ PyUnicode_GET_LENGTH(obj));
+ return 0;
+ }
+ memset(wch->chars, 0, sizeof(wch->chars));
+ wch->chars[0] = buffer[0];
+ return 2;
+#else
+ return PyCurses_ConvertToChtype(win, obj, ch);
+#endif
+ }
+ else if(PyBytes_Check(obj) && PyBytes_Size(obj) == 1) {
+ value = (unsigned char)PyBytes_AsString(obj)[0];
+ ret = 1;
+ }
+ else if (PyLong_CheckExact(obj)) {
+ int overflow;
+ value = PyLong_AsLongAndOverflow(obj, &overflow);
+ if (overflow) {
+ PyErr_SetString(PyExc_OverflowError,
+ "int doesn't fit in long");
+ return 0;
+ }
+#ifdef HAVE_NCURSESW
+ ret = 2;
+#else
+ ret = 1;
+#endif
+ }
+ else {
+ PyErr_Format(PyExc_TypeError,
+ "expect bytes or str of length 1, or int, got %s",
+ Py_TYPE(obj)->tp_name);
+ return 0;
+ }
+#ifdef HAVE_NCURSESW
+ if (ret == 2) {
+ memset(wch->chars, 0, sizeof(wch->chars));
+ wch->chars[0] = (wchar_t)value;
+ if ((long)wch->chars[0] != value) {
+ PyErr_Format(PyExc_OverflowError,
+ "character doesn't fit in wchar_t");
+ return 0;
+ }
+ }
+ else
+#endif
+ {
+ *ch = (chtype)value;
+ if ((long)*ch != value || value < 0 || value > 255) {
+ PyErr_Format(PyExc_OverflowError,
+ "byte doesn't fit in chtype");
+ return 0;
+ }
+ }
+ return ret;
+}
+
+/* Convert an object to a byte string (char*) or a wide character string
+ (wchar_t*). Return:
+
+ - 2 if obj is a character string (written into *wch)
+ - 1 if obj is a byte string (written into *bytes)
+ - 0 on error: raise an exception */
+static int
+PyCurses_ConvertToString(PyCursesWindowObject *win, PyObject *obj,
+ PyObject **bytes, wchar_t **wstr)
+{
+ if (PyUnicode_Check(obj)) {
+#ifdef HAVE_NCURSESW
+ assert (wstr != NULL);
+ *wstr = PyUnicode_AsWideCharString(obj, NULL);
+ if (*wstr == NULL)
+ return 0;
+ return 2;
+#else
+ assert (wstr == NULL);
+ *bytes = PyUnicode_AsEncodedObject(obj, win->encoding, NULL);
+ if (*bytes == NULL)
+ return 0;
+ return 1;
+#endif
+ }
+ else if (PyBytes_Check(obj)) {
+ Py_INCREF(obj);
+ *bytes = obj;
+ return 1;
+ }
+
+ PyErr_Format(PyExc_TypeError, "expect bytes or str, got %s",
+ Py_TYPE(obj)->tp_name);
+ return 0;
}
/* Function versions of the 3 functions for testing whether curses has been
@@ -358,13 +528,37 @@ Window_TwoArgNoReturnFunction(wresize, int, "ii;lines,columns")
/* Allocation and deallocation of Window Objects */
static PyObject *
-PyCursesWindow_New(WINDOW *win)
+PyCursesWindow_New(WINDOW *win, const char *encoding)
{
PyCursesWindowObject *wo;
+ if (encoding == NULL) {
+#if defined(MS_WINDOWS)
+ char *buffer[100];
+ UINT cp;
+ cp = GetConsoleOutputCP();
+ if (cp != 0) {
+ PyOS_snprintf(buffer, sizeof(buffer), "cp%u", cp);
+ encoding = buffer;
+ }
+#elif defined(CODESET)
+ const char *codeset = nl_langinfo(CODESET);
+ if (codeset != NULL && codeset[0] != 0)
+ encoding = codeset;
+#endif
+ if (encoding == NULL)
+ encoding = "utf-8";
+ }
+
wo = PyObject_NEW(PyCursesWindowObject, &PyCursesWindow_Type);
if (wo == NULL) return NULL;
wo->win = win;
+ wo->encoding = strdup(encoding);
+ if (wo->encoding == NULL) {
+ Py_DECREF(wo);
+ PyErr_NoMemory();
+ return NULL;
+ }
return (PyObject *)wo;
}
@@ -372,6 +566,8 @@ static void
PyCursesWindow_Dealloc(PyCursesWindowObject *wo)
{
if (wo->win != stdscr) delwin(wo->win);
+ if (wo->encoding != NULL)
+ free(wo->encoding);
PyObject_DEL(wo);
}
@@ -381,29 +577,34 @@ static PyObject *
PyCursesWindow_AddCh(PyCursesWindowObject *self, PyObject *args)
{
int rtn, x, y, use_xy = FALSE;
- PyObject *temp;
- chtype ch = 0;
+ PyObject *chobj;
+ int type;
+ chtype ch;
+#ifdef HAVE_NCURSESW
+ cchar_t wch;
+#endif
attr_t attr = A_NORMAL;
long lattr;
+ const char *funcname;
switch (PyTuple_Size(args)) {
case 1:
- if (!PyArg_ParseTuple(args, "O;ch or int", &temp))
+ if (!PyArg_ParseTuple(args, "O;ch or int", &chobj))
return NULL;
break;
case 2:
- if (!PyArg_ParseTuple(args, "Ol;ch or int,attr", &temp, &lattr))
+ if (!PyArg_ParseTuple(args, "Ol;ch or int,attr", &chobj, &lattr))
return NULL;
attr = lattr;
break;
case 3:
- if (!PyArg_ParseTuple(args,"iiO;y,x,ch or int", &y, &x, &temp))
+ if (!PyArg_ParseTuple(args,"iiO;y,x,ch or int", &y, &x, &chobj))
return NULL;
use_xy = TRUE;
break;
case 4:
if (!PyArg_ParseTuple(args,"iiOl;y,x,ch or int, attr",
- &y, &x, &temp, &lattr))
+ &y, &x, &chobj, &lattr))
return NULL;
attr = lattr;
use_xy = TRUE;
@@ -413,17 +614,33 @@ PyCursesWindow_AddCh(PyCursesWindowObject *self, PyObject *args)
return NULL;
}
- if (!PyCurses_ConvertToChtype(temp, &ch)) {
- PyErr_SetString(PyExc_TypeError, "argument 1 or 3 must be a ch or an int");
- return NULL;
+#ifdef HAVE_NCURSESW
+ type = PyCurses_ConvertToCchar_t(self, chobj, &ch, &wch);
+ if (type == 2) {
+ funcname = "add_wch";
+ wch.attr = attr;
+ if (use_xy == TRUE)
+ rtn = mvwadd_wch(self->win,y,x, &wch);
+ else {
+ rtn = wadd_wch(self->win, &wch);
+ }
+ }
+ else
+#else
+ type = PyCurses_ConvertToCchar_t(self, chobj, &ch);
+#endif
+ if (type == 1) {
+ funcname = "addch";
+ if (use_xy == TRUE)
+ rtn = mvwaddch(self->win,y,x, ch | attr);
+ else {
+ rtn = waddch(self->win, ch | attr);
+ }
}
-
- if (use_xy == TRUE)
- rtn = mvwaddch(self->win,y,x, ch | attr);
else {
- rtn = waddch(self->win, ch | attr);
+ return NULL;
}
- return PyCursesCheckERR(rtn, "addch");
+ return PyCursesCheckERR(rtn, funcname);
}
static PyObject *
@@ -431,29 +648,34 @@ PyCursesWindow_AddStr(PyCursesWindowObject *self, PyObject *args)
{
int rtn;
int x, y;
- char *str;
+ int strtype;
+ PyObject *strobj, *bytesobj;
+#ifdef HAVE_NCURSESW
+ wchar_t *wstr = NULL;
+#endif
attr_t attr = A_NORMAL , attr_old = A_NORMAL;
long lattr;
int use_xy = FALSE, use_attr = FALSE;
+ const char *funcname;
switch (PyTuple_Size(args)) {
case 1:
- if (!PyArg_ParseTuple(args,"s;str", &str))
+ if (!PyArg_ParseTuple(args,"O;str", &strobj))
return NULL;
break;
case 2:
- if (!PyArg_ParseTuple(args,"sl;str,attr", &str, &lattr))
+ if (!PyArg_ParseTuple(args,"Ol;str,attr", &strobj, &lattr))
return NULL;
attr = lattr;
use_attr = TRUE;
break;
case 3:
- if (!PyArg_ParseTuple(args,"iis;int,int,str", &y, &x, &str))
+ if (!PyArg_ParseTuple(args,"iiO;int,int,str", &y, &x, &strobj))
return NULL;
use_xy = TRUE;
break;
case 4:
- if (!PyArg_ParseTuple(args,"iisl;int,int,str,attr", &y, &x, &str, &lattr))
+ if (!PyArg_ParseTuple(args,"iiOl;int,int,str,attr", &y, &x, &strobj, &lattr))
return NULL;
attr = lattr;
use_xy = use_attr = TRUE;
@@ -462,47 +684,74 @@ PyCursesWindow_AddStr(PyCursesWindowObject *self, PyObject *args)
PyErr_SetString(PyExc_TypeError, "addstr requires 1 to 4 arguments");
return NULL;
}
-
+#ifdef HAVE_NCURSESW
+ strtype = PyCurses_ConvertToString(self, strobj, &bytesobj, &wstr);
+#else
+ strtype = PyCurses_ConvertToString(self, strobj, &bytesobj, NULL);
+#endif
+ if (strtype == 0)
+ return NULL;
if (use_attr == TRUE) {
attr_old = getattrs(self->win);
(void)wattrset(self->win,attr);
}
- if (use_xy == TRUE)
- rtn = mvwaddstr(self->win,y,x,str);
+#ifdef HAVE_NCURSESW
+ if (strtype == 2) {
+ funcname = "addwstr";
+ if (use_xy == TRUE)
+ rtn = mvwaddwstr(self->win,y,x,wstr);
+ else
+ rtn = waddwstr(self->win,wstr);
+ PyMem_Free(wstr);
+ }
else
- rtn = waddstr(self->win,str);
+#endif
+ {
+ char *str = PyBytes_AS_STRING(bytesobj);
+ funcname = "addstr";
+ if (use_xy == TRUE)
+ rtn = mvwaddstr(self->win,y,x,str);
+ else
+ rtn = waddstr(self->win,str);
+ Py_DECREF(bytesobj);
+ }
if (use_attr == TRUE)
(void)wattrset(self->win,attr_old);
- return PyCursesCheckERR(rtn, "addstr");
+ return PyCursesCheckERR(rtn, funcname);
}
static PyObject *
PyCursesWindow_AddNStr(PyCursesWindowObject *self, PyObject *args)
{
int rtn, x, y, n;
- char *str;
+ int strtype;
+ PyObject *strobj, *bytesobj;
+#ifdef HAVE_NCURSESW
+ wchar_t *wstr = NULL;
+#endif
attr_t attr = A_NORMAL , attr_old = A_NORMAL;
long lattr;
int use_xy = FALSE, use_attr = FALSE;
+ const char *funcname;
switch (PyTuple_Size(args)) {
case 2:
- if (!PyArg_ParseTuple(args,"si;str,n", &str, &n))
+ if (!PyArg_ParseTuple(args,"Oi;str,n", &strobj, &n))
return NULL;
break;
case 3:
- if (!PyArg_ParseTuple(args,"sil;str,n,attr", &str, &n, &lattr))
+ if (!PyArg_ParseTuple(args,"Oil;str,n,attr", &strobj, &n, &lattr))
return NULL;
attr = lattr;
use_attr = TRUE;
break;
case 4:
- if (!PyArg_ParseTuple(args,"iisi;y,x,str,n", &y, &x, &str, &n))
+ if (!PyArg_ParseTuple(args,"iiOi;y,x,str,n", &y, &x, &strobj, &n))
return NULL;
use_xy = TRUE;
break;
case 5:
- if (!PyArg_ParseTuple(args,"iisil;y,x,str,n,attr", &y, &x, &str, &n, &lattr))
+ if (!PyArg_ParseTuple(args,"iiOil;y,x,str,n,attr", &y, &x, &strobj, &n, &lattr))
return NULL;
attr = lattr;
use_xy = use_attr = TRUE;
@@ -511,18 +760,41 @@ PyCursesWindow_AddNStr(PyCursesWindowObject *self, PyObject *args)
PyErr_SetString(PyExc_TypeError, "addnstr requires 2 to 5 arguments");
return NULL;
}
+#ifdef HAVE_NCURSESW
+ strtype = PyCurses_ConvertToString(self, strobj, &bytesobj, &wstr);
+#else
+ strtype = PyCurses_ConvertToString(self, strobj, &bytesobj, NULL);
+#endif
+ if (strtype == 0)
+ return NULL;
if (use_attr == TRUE) {
attr_old = getattrs(self->win);
(void)wattrset(self->win,attr);
}
- if (use_xy == TRUE)
- rtn = mvwaddnstr(self->win,y,x,str,n);
+#ifdef HAVE_NCURSESW
+ if (strtype == 2) {
+ funcname = "addnwstr";
+ if (use_xy == TRUE)
+ rtn = mvwaddnwstr(self->win,y,x,wstr,n);
+ else
+ rtn = waddnwstr(self->win,wstr,n);
+ PyMem_Free(wstr);
+ }
else
- rtn = waddnstr(self->win,str,n);
+#endif
+ {
+ char *str = PyBytes_AS_STRING(bytesobj);
+ funcname = "addnstr";
+ if (use_xy == TRUE)
+ rtn = mvwaddnstr(self->win,y,x,str,n);
+ else
+ rtn = waddnstr(self->win,str,n);
+ Py_DECREF(bytesobj);
+ }
if (use_attr == TRUE)
(void)wattrset(self->win,attr_old);
- return PyCursesCheckERR(rtn, "addnstr");
+ return PyCursesCheckERR(rtn, funcname);
}
static PyObject *
@@ -548,10 +820,8 @@ PyCursesWindow_Bkgd(PyCursesWindowObject *self, PyObject *args)
return NULL;
}
- if (!PyCurses_ConvertToChtype(temp, &bkgd)) {
- PyErr_SetString(PyExc_TypeError, "argument 1 or 3 must be a ch or an int");
+ if (!PyCurses_ConvertToChtype(self, temp, &bkgd))
return NULL;
- }
return PyCursesCheckERR(wbkgd(self->win, bkgd | attr), "bkgd");
}
@@ -606,10 +876,8 @@ PyCursesWindow_BkgdSet(PyCursesWindowObject *self, PyObject *args)
return NULL;
}
- if (!PyCurses_ConvertToChtype(temp, &bkgd)) {
- PyErr_SetString(PyExc_TypeError, "argument 1 must be a ch or an int");
+ if (!PyCurses_ConvertToChtype(self, temp, &bkgd))
return NULL;
- }
wbkgdset(self->win, bkgd | attr);
return PyCursesCheckERR(0, "bkgdset");
@@ -634,11 +902,8 @@ PyCursesWindow_Border(PyCursesWindowObject *self, PyObject *args)
return NULL;
for(i=0; i<8; i++) {
- if (temp[i] != NULL && !PyCurses_ConvertToChtype(temp[i], &ch[i])) {
- PyErr_Format(PyExc_TypeError,
- "argument %i must be a ch or an int", i+1);
+ if (temp[i] != NULL && !PyCurses_ConvertToChtype(self, temp[i], &ch[i]))
return NULL;
- }
}
wborder(self->win,
@@ -783,7 +1048,7 @@ PyCursesWindow_DerWin(PyCursesWindowObject *self, PyObject *args)
return NULL;
}
- return (PyObject *)PyCursesWindow_New(win);
+ return (PyObject *)PyCursesWindow_New(win, NULL);
}
static PyObject *
@@ -811,10 +1076,8 @@ PyCursesWindow_EchoChar(PyCursesWindowObject *self, PyObject *args)
return NULL;
}
- if (!PyCurses_ConvertToChtype(temp, &ch)) {
- PyErr_SetString(PyExc_TypeError, "argument 1 must be a ch or an int");
+ if (!PyCurses_ConvertToChtype(self, temp, &ch))
return NULL;
- }
#ifdef WINDOW_HAS_FLAGS
if (self->win->_flags & _ISPAD)
@@ -910,6 +1173,40 @@ PyCursesWindow_GetKey(PyCursesWindowObject *self, PyObject *args)
}
}
+#ifdef HAVE_NCURSESW
+static PyObject *
+PyCursesWindow_Get_WCh(PyCursesWindowObject *self, PyObject *args)
+{
+ int x, y;
+ int ct;
+ wint_t rtn;
+
+ switch (PyTuple_Size(args)) {
+ case 0:
+ Py_BEGIN_ALLOW_THREADS
+ ct = wget_wch(self->win,&rtn);
+ Py_END_ALLOW_THREADS
+ break;
+ case 2:
+ if (!PyArg_ParseTuple(args,"ii;y,x",&y,&x))
+ return NULL;
+ Py_BEGIN_ALLOW_THREADS
+ ct = mvwget_wch(self->win,y,x,&rtn);
+ Py_END_ALLOW_THREADS
+ break;
+ default:
+ PyErr_SetString(PyExc_TypeError, "get_wch requires 0 or 2 arguments");
+ return NULL;
+ }
+ if (ct == ERR) {
+ /* get_wch() returns ERR in nodelay mode */
+ PyErr_SetString(PyCursesError, "no input");
+ return NULL;
+ }
+ return PyLong_FromLong(rtn);
+}
+#endif
+
static PyObject *
PyCursesWindow_GetStr(PyCursesWindowObject *self, PyObject *args)
{
@@ -1001,11 +1298,8 @@ PyCursesWindow_Hline(PyCursesWindowObject *self, PyObject *args)
}
if (code != ERR) {
- if (!PyCurses_ConvertToChtype(temp, &ch)) {
- PyErr_SetString(PyExc_TypeError,
- "argument 1 or 3 must be a ch or an int");
+ if (!PyCurses_ConvertToChtype(self, temp, &ch))
return NULL;
- }
return PyCursesCheckERR(whline(self->win, ch | attr, n), "hline");
} else
return PyCursesCheckERR(code, "wmove");
@@ -1046,11 +1340,8 @@ PyCursesWindow_InsCh(PyCursesWindowObject *self, PyObject *args)
return NULL;
}
- if (!PyCurses_ConvertToChtype(temp, &ch)) {
- PyErr_SetString(PyExc_TypeError,
- "argument 1 or 3 must be a ch or an int");
+ if (!PyCurses_ConvertToChtype(self, temp, &ch))
return NULL;
- }
if (use_xy == TRUE)
rtn = mvwinsch(self->win,y,x, ch | attr);
@@ -1121,29 +1412,34 @@ PyCursesWindow_InsStr(PyCursesWindowObject *self, PyObject *args)
{
int rtn;
int x, y;
- char *str;
+ int strtype;
+ PyObject *strobj, *bytesobj;
+#ifdef HAVE_NCURSESW
+ wchar_t *wstr = NULL;
+#endif
attr_t attr = A_NORMAL , attr_old = A_NORMAL;
long lattr;
int use_xy = FALSE, use_attr = FALSE;
+ const char *funcname;
switch (PyTuple_Size(args)) {
case 1:
- if (!PyArg_ParseTuple(args,"s;str", &str))
+ if (!PyArg_ParseTuple(args,"O;str", &strobj))
return NULL;
break;
case 2:
- if (!PyArg_ParseTuple(args,"sl;str,attr", &str, &lattr))
+ if (!PyArg_ParseTuple(args,"Ol;str,attr", &strobj, &lattr))
return NULL;
attr = lattr;
use_attr = TRUE;
break;
case 3:
- if (!PyArg_ParseTuple(args,"iis;y,x,str", &y, &x, &str))
+ if (!PyArg_ParseTuple(args,"iiO;y,x,str", &y, &x, &strobj))
return NULL;
use_xy = TRUE;
break;
case 4:
- if (!PyArg_ParseTuple(args,"iisl;y,x,str,attr", &y, &x, &str, &lattr))
+ if (!PyArg_ParseTuple(args,"iiOl;y,x,str,attr", &y, &x, &strobj, &lattr))
return NULL;
attr = lattr;
use_xy = use_attr = TRUE;
@@ -1153,46 +1449,75 @@ PyCursesWindow_InsStr(PyCursesWindowObject *self, PyObject *args)
return NULL;
}
+#ifdef HAVE_NCURSESW
+ strtype = PyCurses_ConvertToString(self, strobj, &bytesobj, &wstr);
+#else
+ strtype = PyCurses_ConvertToString(self, strobj, &bytesobj, NULL);
+#endif
+ if (strtype == 0)
+ return NULL;
+
if (use_attr == TRUE) {
attr_old = getattrs(self->win);
(void)wattrset(self->win,attr);
}
- if (use_xy == TRUE)
- rtn = mvwinsstr(self->win,y,x,str);
+#ifdef HAVE_NCURSESW
+ if (strtype == 2) {
+ funcname = "inswstr";
+ if (use_xy == TRUE)
+ rtn = mvwins_wstr(self->win,y,x,wstr);
+ else
+ rtn = wins_wstr(self->win,wstr);
+ PyMem_Free(wstr);
+ }
else
- rtn = winsstr(self->win,str);
+#endif
+ {
+ char *str = PyBytes_AS_STRING(bytesobj);
+ funcname = "insstr";
+ if (use_xy == TRUE)
+ rtn = mvwinsstr(self->win,y,x,str);
+ else
+ rtn = winsstr(self->win,str);
+ Py_DECREF(bytesobj);
+ }
if (use_attr == TRUE)
(void)wattrset(self->win,attr_old);
- return PyCursesCheckERR(rtn, "insstr");
+ return PyCursesCheckERR(rtn, funcname);
}
static PyObject *
PyCursesWindow_InsNStr(PyCursesWindowObject *self, PyObject *args)
{
int rtn, x, y, n;
- char *str;
+ int strtype;
+ PyObject *strobj, *bytesobj;
+#ifdef HAVE_NCURSESW
+ wchar_t *wstr = NULL;
+#endif
attr_t attr = A_NORMAL , attr_old = A_NORMAL;
long lattr;
int use_xy = FALSE, use_attr = FALSE;
+ const char *funcname;
switch (PyTuple_Size(args)) {
case 2:
- if (!PyArg_ParseTuple(args,"si;str,n", &str, &n))
+ if (!PyArg_ParseTuple(args,"Oi;str,n", &strobj, &n))
return NULL;
break;
case 3:
- if (!PyArg_ParseTuple(args,"sil;str,n,attr", &str, &n, &lattr))
+ if (!PyArg_ParseTuple(args,"Oil;str,n,attr", &strobj, &n, &lattr))
return NULL;
attr = lattr;
use_attr = TRUE;
break;
case 4:
- if (!PyArg_ParseTuple(args,"iisi;y,x,str,n", &y, &x, &str, &n))
+ if (!PyArg_ParseTuple(args,"iiOi;y,x,str,n", &y, &x, &strobj, &n))
return NULL;
use_xy = TRUE;
break;
case 5:
- if (!PyArg_ParseTuple(args,"iisil;y,x,str,n,attr", &y, &x, &str, &n, &lattr))
+ if (!PyArg_ParseTuple(args,"iiOil;y,x,str,n,attr", &y, &x, &strobj, &n, &lattr))
return NULL;
attr = lattr;
use_xy = use_attr = TRUE;
@@ -1202,17 +1527,41 @@ PyCursesWindow_InsNStr(PyCursesWindowObject *self, PyObject *args)
return NULL;
}
+#ifdef HAVE_NCURSESW
+ strtype = PyCurses_ConvertToString(self, strobj, &bytesobj, &wstr);
+#else
+ strtype = PyCurses_ConvertToString(self, strobj, &bytesobj, NULL);
+#endif
+ if (strtype == 0)
+ return NULL;
+
if (use_attr == TRUE) {
attr_old = getattrs(self->win);
(void)wattrset(self->win,attr);
}
- if (use_xy == TRUE)
- rtn = mvwinsnstr(self->win,y,x,str,n);
+#ifdef HAVE_NCURSESW
+ if (strtype == 2) {
+ funcname = "insn_wstr";
+ if (use_xy == TRUE)
+ rtn = mvwins_nwstr(self->win,y,x,wstr,n);
+ else
+ rtn = wins_nwstr(self->win,wstr,n);
+ PyMem_Free(wstr);
+ }
else
- rtn = winsnstr(self->win,str,n);
+#endif
+ {
+ char *str = PyBytes_AS_STRING(bytesobj);
+ funcname = "insnstr";
+ if (use_xy == TRUE)
+ rtn = mvwinsnstr(self->win,y,x,str,n);
+ else
+ rtn = winsnstr(self->win,str,n);
+ Py_DECREF(bytesobj);
+ }
if (use_attr == TRUE)
(void)wattrset(self->win,attr_old);
- return PyCursesCheckERR(rtn, "insnstr");
+ return PyCursesCheckERR(rtn, funcname);
}
static PyObject *
@@ -1385,10 +1734,12 @@ PyCursesWindow_PutWin(PyCursesWindowObject *self, PyObject *stream)
while (1) {
char buf[BUFSIZ];
Py_ssize_t n = fread(buf, 1, BUFSIZ, fp);
+ _Py_IDENTIFIER(write);
+
if (n <= 0)
break;
Py_DECREF(res);
- res = PyObject_CallMethod(stream, "write", "y#", buf, n);
+ res = _PyObject_CallMethodId(stream, &PyId_write, "y#", buf, n);
if (res == NULL)
break;
}
@@ -1493,7 +1844,7 @@ PyCursesWindow_SubWin(PyCursesWindowObject *self, PyObject *args)
return NULL;
}
- return (PyObject *)PyCursesWindow_New(win);
+ return (PyObject *)PyCursesWindow_New(win, self->encoding);
}
static PyObject *
@@ -1569,16 +1920,51 @@ PyCursesWindow_Vline(PyCursesWindowObject *self, PyObject *args)
}
if (code != ERR) {
- if (!PyCurses_ConvertToChtype(temp, &ch)) {
- PyErr_SetString(PyExc_TypeError,
- "argument 1 or 3 must be a ch or an int");
+ if (!PyCurses_ConvertToChtype(self, temp, &ch))
return NULL;
- }
return PyCursesCheckERR(wvline(self->win, ch | attr, n), "vline");
} else
return PyCursesCheckERR(code, "wmove");
}
+static PyObject *
+PyCursesWindow_get_encoding(PyCursesWindowObject *self, void *closure)
+{
+ return PyUnicode_FromString(self->encoding);
+}
+
+static int
+PyCursesWindow_set_encoding(PyCursesWindowObject *self, PyObject *value)
+{
+ PyObject *ascii;
+ char *encoding;
+
+ /* It is illegal to del win.encoding */
+ if (value == NULL) {
+ PyErr_SetString(PyExc_TypeError,
+ "encoding may not be deleted");
+ return -1;
+ }
+
+ if (!PyUnicode_Check(value)) {
+ PyErr_SetString(PyExc_TypeError,
+ "setting encoding to a non-string");
+ return -1;
+ }
+ ascii = PyUnicode_AsASCIIString(value);
+ if (ascii == NULL)
+ return -1;
+ encoding = strdup(PyBytes_AS_STRING(ascii));
+ if (encoding == NULL) {
+ PyErr_NoMemory();
+ return -1;
+ }
+ free(self->encoding);
+ self->encoding = encoding;
+ return 0;
+}
+
+
static PyMethodDef PyCursesWindow_Methods[] = {
{"addch", (PyCFunction)PyCursesWindow_AddCh, METH_VARARGS},
{"addnstr", (PyCFunction)PyCursesWindow_AddNStr, METH_VARARGS},
@@ -1608,6 +1994,9 @@ static PyMethodDef PyCursesWindow_Methods[] = {
{"getbkgd", (PyCFunction)PyCursesWindow_GetBkgd, METH_NOARGS},
{"getch", (PyCFunction)PyCursesWindow_GetCh, METH_VARARGS},
{"getkey", (PyCFunction)PyCursesWindow_GetKey, METH_VARARGS},
+#ifdef HAVE_NCURSESW
+ {"get_wch", (PyCFunction)PyCursesWindow_Get_WCh, METH_VARARGS},
+#endif
{"getmaxyx", (PyCFunction)PyCursesWindow_getmaxyx, METH_NOARGS},
{"getparyx", (PyCFunction)PyCursesWindow_getparyx, METH_NOARGS},
{"getstr", (PyCFunction)PyCursesWindow_GetStr, METH_VARARGS},
@@ -1663,6 +2052,13 @@ static PyMethodDef PyCursesWindow_Methods[] = {
{NULL, NULL} /* sentinel */
};
+static PyGetSetDef PyCursesWindow_getsets[] = {
+ {"encoding",
+ (getter)PyCursesWindow_get_encoding,
+ (setter)PyCursesWindow_set_encoding,
+ "the typecode character used to create the array"}
+};
+
/* -------------------------------------------------------*/
PyTypeObject PyCursesWindow_Type = {
@@ -1695,6 +2091,8 @@ PyTypeObject PyCursesWindow_Type = {
0, /*tp_iter*/
0, /*tp_iternext*/
PyCursesWindow_Methods, /*tp_methods*/
+ 0, /* tp_members */
+ PyCursesWindow_getsets, /* tp_getset */
};
/*********************************************************************
@@ -1875,6 +2273,7 @@ PyCurses_GetWin(PyCursesWindowObject *self, PyObject *stream)
WINDOW *win;
PyCursesInitialised;
+ _Py_IDENTIFIER(read);
strcpy(fn, "/tmp/py.curses.getwin.XXXXXX");
fd = mkstemp(fn);
@@ -1886,7 +2285,7 @@ PyCurses_GetWin(PyCursesWindowObject *self, PyObject *stream)
remove(fn);
return PyErr_SetFromErrnoWithFilename(PyExc_IOError, fn);
}
- data = PyObject_CallMethod(stream, "read", "");
+ data = _PyObject_CallMethodId(stream, &PyId_read, "");
if (data == NULL) {
fclose(fp);
remove(fn);
@@ -1917,7 +2316,7 @@ PyCurses_GetWin(PyCursesWindowObject *self, PyObject *stream)
PyErr_SetString(PyCursesError, catchall_NULL);
return NULL;
}
- return PyCursesWindow_New(win);
+ return PyCursesWindow_New(win, NULL);
}
static PyObject *
@@ -1995,10 +2394,11 @@ static PyObject *
PyCurses_InitScr(PyObject *self)
{
WINDOW *win;
+ PyCursesWindowObject *winobj;
if (initialised == TRUE) {
wrefresh(stdscr);
- return (PyObject *)PyCursesWindow_New(stdscr);
+ return (PyObject *)PyCursesWindow_New(stdscr, NULL);
}
win = initscr();
@@ -2090,7 +2490,9 @@ PyCurses_InitScr(PyObject *self)
SetDictInt("LINES", LINES);
SetDictInt("COLS", COLS);
- return (PyObject *)PyCursesWindow_New(win);
+ winobj = (PyCursesWindowObject *)PyCursesWindow_New(win, NULL);
+ screen_encoding = winobj->encoding;
+ return (PyObject *)winobj;
}
static PyObject *
@@ -2292,7 +2694,7 @@ PyCurses_NewPad(PyObject *self, PyObject *args)
return NULL;
}
- return (PyObject *)PyCursesWindow_New(win);
+ return (PyObject *)PyCursesWindow_New(win, NULL);
}
static PyObject *
@@ -2324,7 +2726,7 @@ PyCurses_NewWindow(PyObject *self, PyObject *args)
return NULL;
}
- return (PyObject *)PyCursesWindow_New(win);
+ return (PyObject *)PyCursesWindow_New(win, NULL);
}
static PyObject *
@@ -2416,6 +2818,8 @@ update_lines_cols(void)
{
PyObject *o;
PyObject *m = PyImport_ImportModuleNoBlock("curses");
+ _Py_IDENTIFIER(LINES);
+ _Py_IDENTIFIER(COLS);
if (!m)
return 0;
@@ -2425,12 +2829,13 @@ update_lines_cols(void)
Py_DECREF(m);
return 0;
}
- if (PyObject_SetAttrString(m, "LINES", o)) {
+ if (_PyObject_SetAttrId(m, &PyId_LINES, o)) {
Py_DECREF(m);
Py_DECREF(o);
return 0;
}
- if (PyDict_SetItemString(ModDict, "LINES", o)) {
+ /* PyId_LINES.object will be initialized here. */
+ if (PyDict_SetItem(ModDict, PyId_LINES.object, o)) {
Py_DECREF(m);
Py_DECREF(o);
return 0;
@@ -2441,12 +2846,12 @@ update_lines_cols(void)
Py_DECREF(m);
return 0;
}
- if (PyObject_SetAttrString(m, "COLS", o)) {
+ if (_PyObject_SetAttrId(m, &PyId_COLS, o)) {
Py_DECREF(m);
Py_DECREF(o);
return 0;
}
- if (PyDict_SetItemString(ModDict, "COLS", o)) {
+ if (PyDict_SetItem(ModDict, PyId_COLS.object, o)) {
Py_DECREF(m);
Py_DECREF(o);
return 0;
@@ -2638,10 +3043,8 @@ PyCurses_UnCtrl(PyObject *self, PyObject *args)
if (!PyArg_ParseTuple(args,"O;ch or int",&temp)) return NULL;
- if (!PyCurses_ConvertToChtype(temp, &ch)) {
- PyErr_SetString(PyExc_TypeError, "argument must be a ch or an int");
+ if (!PyCurses_ConvertToChtype(NULL, temp, &ch))
return NULL;
- }
return PyBytes_FromString(unctrl(ch));
}
@@ -2654,16 +3057,80 @@ PyCurses_UngetCh(PyObject *self, PyObject *args)
PyCursesInitialised;
- if (!PyArg_ParseTuple(args,"O;ch or int",&temp)) return NULL;
+ if (!PyArg_ParseTuple(args,"O;ch or int",&temp))
+ return NULL;
- if (!PyCurses_ConvertToChtype(temp, &ch)) {
- PyErr_SetString(PyExc_TypeError, "argument must be a ch or an int");
+ if (!PyCurses_ConvertToChtype(NULL, temp, &ch))
return NULL;
- }
return PyCursesCheckERR(ungetch(ch), "ungetch");
}
+#ifdef HAVE_NCURSESW
+/* Convert an object to a character (wchar_t):
+
+ - int
+ - str of length 1
+
+ Return 1 on success, 0 on error. */
+static int
+PyCurses_ConvertToWchar_t(PyObject *obj,
+ wchar_t *wch)
+{
+ if (PyUnicode_Check(obj)) {
+ wchar_t buffer[2];
+ if (PyUnicode_AsWideChar(obj, buffer, 2) != 1) {
+ PyErr_Format(PyExc_TypeError,
+ "expect bytes or str of length 1, or int, "
+ "got a str of length %zi",
+ PyUnicode_GET_LENGTH(obj));
+ return 0;
+ }
+ *wch = buffer[0];
+ return 2;
+ }
+ else if (PyLong_CheckExact(obj)) {
+ long value;
+ int overflow;
+ value = PyLong_AsLongAndOverflow(obj, &overflow);
+ if (overflow) {
+ PyErr_SetString(PyExc_OverflowError,
+ "int doesn't fit in long");
+ return 0;
+ }
+ *wch = (wchar_t)value;
+ if ((long)*wch != value) {
+ PyErr_Format(PyExc_OverflowError,
+ "character doesn't fit in wchar_t");
+ return 0;
+ }
+ return 1;
+ }
+ else {
+ PyErr_Format(PyExc_TypeError,
+ "expect bytes or str of length 1, or int, got %s",
+ Py_TYPE(obj)->tp_name);
+ return 0;
+ }
+}
+
+static PyObject *
+PyCurses_Unget_Wch(PyObject *self, PyObject *args)
+{
+ PyObject *obj;
+ wchar_t wch;
+
+ PyCursesInitialised;
+
+ if (!PyArg_ParseTuple(args,"O", &obj))
+ return NULL;
+
+ if (!PyCurses_ConvertToWchar_t(obj, &wch))
+ return NULL;
+ return PyCursesCheckERR(unget_wch(wch), "unget_wch");
+}
+#endif
+
static PyObject *
PyCurses_Use_Env(PyObject *self, PyObject *args)
{
@@ -2791,6 +3258,9 @@ static PyMethodDef PyCurses_methods[] = {
{"typeahead", (PyCFunction)PyCurses_TypeAhead, METH_VARARGS},
{"unctrl", (PyCFunction)PyCurses_UnCtrl, METH_VARARGS},
{"ungetch", (PyCFunction)PyCurses_UngetCh, METH_VARARGS},
+#ifdef HAVE_NCURSESW
+ {"unget_wch", (PyCFunction)PyCurses_Unget_Wch, METH_VARARGS},
+#endif
{"use_env", (PyCFunction)PyCurses_Use_Env, METH_VARARGS},
#ifndef STRICT_SYSV_CURSES
{"use_default_colors", (PyCFunction)PyCurses_Use_Default_Colors, METH_NOARGS},
diff --git a/Modules/_datetimemodule.c b/Modules/_datetimemodule.c
index 6ee5317..b384233 100644
--- a/Modules/_datetimemodule.c
+++ b/Modules/_datetimemodule.c
@@ -766,7 +766,7 @@ typedef struct
PyObject *name;
} PyDateTime_TimeZone;
-/* The interned UTC timezone instance */
+/* The interned UTC timezone instance */
static PyObject *PyDateTime_TimeZone_UTC;
/* Create new timezone instance checking offset range. This
@@ -946,6 +946,7 @@ static PyObject *
call_tzname(PyObject *tzinfo, PyObject *tzinfoarg)
{
PyObject *result;
+ _Py_IDENTIFIER(tzname);
assert(tzinfo != NULL);
assert(check_tzinfo_subclass(tzinfo) >= 0);
@@ -954,7 +955,7 @@ call_tzname(PyObject *tzinfo, PyObject *tzinfoarg)
if (tzinfo == Py_None)
Py_RETURN_NONE;
- result = PyObject_CallMethod(tzinfo, "tzname", "O", tzinfoarg);
+ result = _PyObject_CallMethodId(tzinfo, &PyId_tzname, "O", tzinfoarg);
if (result == NULL || result == Py_None)
return result;
@@ -985,9 +986,8 @@ append_keyword_tzinfo(PyObject *repr, PyObject *tzinfo)
if (tzinfo == Py_None)
return repr;
/* Get rid of the trailing ')'. */
- assert(PyUnicode_AS_UNICODE(repr)[PyUnicode_GET_SIZE(repr)-1] == ')');
- temp = PyUnicode_FromUnicode(PyUnicode_AS_UNICODE(repr),
- PyUnicode_GET_SIZE(repr) - 1);
+ assert(PyUnicode_READ_CHAR(repr, PyUnicode_GET_LENGTH(repr)-1) == ')');
+ temp = PyUnicode_Substring(repr, 0, PyUnicode_GET_LENGTH(repr) - 1);
Py_DECREF(repr);
if (temp == NULL)
return NULL;
@@ -1079,6 +1079,8 @@ make_Zreplacement(PyObject *object, PyObject *tzinfoarg)
PyObject *temp;
PyObject *tzinfo = get_tzinfo_member(object);
PyObject *Zreplacement = PyUnicode_FromStringAndSize(NULL, 0);
+ _Py_IDENTIFIER(replace);
+
if (Zreplacement == NULL)
return NULL;
if (tzinfo == Py_None || tzinfo == NULL)
@@ -1099,7 +1101,7 @@ make_Zreplacement(PyObject *object, PyObject *tzinfoarg)
* strftime doesn't treat them as format codes.
*/
Py_DECREF(Zreplacement);
- Zreplacement = PyObject_CallMethod(temp, "replace", "ss", "%", "%%");
+ Zreplacement = _PyObject_CallMethodId(temp, &PyId_replace, "ss", "%", "%%");
Py_DECREF(temp);
if (Zreplacement == NULL)
return NULL;
@@ -1166,31 +1168,6 @@ wrap_strftime(PyObject *object, PyObject *format, PyObject *timetuple,
if (!pin)
return NULL;
- /* Give up if the year is before 1000.
- * Python strftime() plays games with the year, and different
- * games depending on whether envar PYTHON2K is set. This makes
- * years before 1000 a nightmare, even if the platform strftime
- * supports them (and not all do).
- * We could get a lot farther here by avoiding Python's strftime
- * wrapper and calling the C strftime() directly, but that isn't
- * an option in the Python implementation of this module.
- */
- {
- long year;
- PyObject *pyyear = PySequence_GetItem(timetuple, 0);
- if (pyyear == NULL) return NULL;
- assert(PyLong_Check(pyyear));
- year = PyLong_AsLong(pyyear);
- Py_DECREF(pyyear);
- if (year < 1000) {
- PyErr_Format(PyExc_ValueError, "year=%ld is before "
- "1000; the datetime strftime() "
- "methods require year >= 1000",
- year);
- return NULL;
- }
- }
-
/* Scan the input format, looking for %z/%Z/%f escapes, building
* a new format. Since computing the replacements for those codes
* is expensive, don't unless they're actually used.
@@ -1307,12 +1284,15 @@ wrap_strftime(PyObject *object, PyObject *format, PyObject *timetuple,
{
PyObject *format;
PyObject *time = PyImport_ImportModuleNoBlock("time");
+
if (time == NULL)
goto Done;
format = PyUnicode_FromString(PyBytes_AS_STRING(newfmt));
if (format != NULL) {
- result = PyObject_CallMethod(time, "strftime", "OO",
- format, timetuple, NULL);
+ _Py_IDENTIFIER(strftime);
+
+ result = _PyObject_CallMethodId(time, &PyId_strftime, "OO",
+ format, timetuple, NULL);
Py_DECREF(format);
}
Py_DECREF(time);
@@ -1338,7 +1318,9 @@ time_time(void)
PyObject *time = PyImport_ImportModuleNoBlock("time");
if (time != NULL) {
- result = PyObject_CallMethod(time, "time", "()");
+ _Py_IDENTIFIER(time);
+
+ result = _PyObject_CallMethodId(time, &PyId_time, "()");
Py_DECREF(time);
}
return result;
@@ -1355,13 +1337,15 @@ build_struct_time(int y, int m, int d, int hh, int mm, int ss, int dstflag)
time = PyImport_ImportModuleNoBlock("time");
if (time != NULL) {
- result = PyObject_CallMethod(time, "struct_time",
- "((iiiiiiiii))",
- y, m, d,
- hh, mm, ss,
- weekday(y, m, d),
- days_before_month(y, m) + d,
- dstflag);
+ _Py_IDENTIFIER(struct_time);
+
+ result = _PyObject_CallMethodId(time, &PyId_struct_time,
+ "((iiiiiiiii))",
+ y, m, d,
+ hh, mm, ss,
+ weekday(y, m, d),
+ days_before_month(y, m) + d,
+ dstflag);
Py_DECREF(time);
}
return result;
@@ -1461,7 +1445,7 @@ delta_to_microseconds(PyDateTime_Delta *self)
goto Done;
Py_DECREF(x1);
Py_DECREF(x2);
- x1 = x2 = NULL;
+ /* x1 = */ x2 = NULL;
/* x3 has days+seconds in seconds */
x1 = PyNumber_Multiply(x3, us_per_second); /* us */
@@ -1594,11 +1578,12 @@ multiply_float_timedelta(PyObject *floatobj, PyDateTime_Delta *delta)
PyObject *result = NULL;
PyObject *pyus_in = NULL, *temp, *pyus_out;
PyObject *ratio = NULL;
+ _Py_IDENTIFIER(as_integer_ratio);
pyus_in = delta_to_microseconds(delta);
if (pyus_in == NULL)
return NULL;
- ratio = PyObject_CallMethod(floatobj, "as_integer_ratio", NULL);
+ ratio = _PyObject_CallMethodId(floatobj, &PyId_as_integer_ratio, NULL);
if (ratio == NULL)
goto error;
temp = PyNumber_Multiply(pyus_in, PyTuple_GET_ITEM(ratio, 0));
@@ -1692,11 +1677,12 @@ truedivide_timedelta_float(PyDateTime_Delta *delta, PyObject *f)
PyObject *result = NULL;
PyObject *pyus_in = NULL, *temp, *pyus_out;
PyObject *ratio = NULL;
+ _Py_IDENTIFIER(as_integer_ratio);
pyus_in = delta_to_microseconds(delta);
if (pyus_in == NULL)
return NULL;
- ratio = PyObject_CallMethod(f, "as_integer_ratio", NULL);
+ ratio = _PyObject_CallMethodId(f, &PyId_as_integer_ratio, NULL);
if (ratio == NULL)
goto error;
temp = PyNumber_Multiply(pyus_in, PyTuple_GET_ITEM(ratio, 1));
@@ -1837,8 +1823,7 @@ delta_richcompare(PyObject *self, PyObject *other, int op)
return diff_to_bool(diff, op);
}
else {
- Py_INCREF(Py_NotImplemented);
- return Py_NotImplemented;
+ Py_RETURN_NOTIMPLEMENTED;
}
}
@@ -1936,10 +1921,8 @@ delta_remainder(PyObject *left, PyObject *right)
PyObject *pyus_remainder;
PyObject *remainder;
- if (!PyDelta_Check(left) || !PyDelta_Check(right)) {
- Py_INCREF(Py_NotImplemented);
- return Py_NotImplemented;
- }
+ if (!PyDelta_Check(left) || !PyDelta_Check(right))
+ Py_RETURN_NOTIMPLEMENTED;
pyus_left = delta_to_microseconds((PyDateTime_Delta *)left);
if (pyus_left == NULL)
@@ -1974,10 +1957,8 @@ delta_divmod(PyObject *left, PyObject *right)
PyObject *delta;
PyObject *result;
- if (!PyDelta_Check(left) || !PyDelta_Check(right)) {
- Py_INCREF(Py_NotImplemented);
- return Py_NotImplemented;
- }
+ if (!PyDelta_Check(left) || !PyDelta_Check(right))
+ Py_RETURN_NOTIMPLEMENTED;
pyus_left = delta_to_microseconds((PyDateTime_Delta *)left);
if (pyus_left == NULL)
@@ -2492,6 +2473,7 @@ date_today(PyObject *cls, PyObject *dummy)
{
PyObject *time;
PyObject *result;
+ _Py_IDENTIFIER(fromtimestamp);
time = time_time();
if (time == NULL)
@@ -2503,7 +2485,7 @@ date_today(PyObject *cls, PyObject *dummy)
* time.time() delivers; if someone were gonzo about optimization,
* date.today() could get away with plain C time().
*/
- result = PyObject_CallMethod(cls, "fromtimestamp", "O", time);
+ result = _PyObject_CallMethodId(cls, &PyId_fromtimestamp, "O", time);
Py_DECREF(time);
return result;
}
@@ -2571,10 +2553,9 @@ add_date_timedelta(PyDateTime_Date *date, PyDateTime_Delta *delta, int negate)
static PyObject *
date_add(PyObject *left, PyObject *right)
{
- if (PyDateTime_Check(left) || PyDateTime_Check(right)) {
- Py_INCREF(Py_NotImplemented);
- return Py_NotImplemented;
- }
+ if (PyDateTime_Check(left) || PyDateTime_Check(right))
+ Py_RETURN_NOTIMPLEMENTED;
+
if (PyDate_Check(left)) {
/* date + ??? */
if (PyDelta_Check(right))
@@ -2593,17 +2574,15 @@ date_add(PyObject *left, PyObject *right)
(PyDateTime_Delta *) left,
0);
}
- Py_INCREF(Py_NotImplemented);
- return Py_NotImplemented;
+ Py_RETURN_NOTIMPLEMENTED;
}
static PyObject *
date_subtract(PyObject *left, PyObject *right)
{
- if (PyDateTime_Check(left) || PyDateTime_Check(right)) {
- Py_INCREF(Py_NotImplemented);
- return Py_NotImplemented;
- }
+ if (PyDateTime_Check(left) || PyDateTime_Check(right))
+ Py_RETURN_NOTIMPLEMENTED;
+
if (PyDate_Check(left)) {
if (PyDate_Check(right)) {
/* date - date */
@@ -2622,8 +2601,7 @@ date_subtract(PyObject *left, PyObject *right)
1);
}
}
- Py_INCREF(Py_NotImplemented);
- return Py_NotImplemented;
+ Py_RETURN_NOTIMPLEMENTED;
}
@@ -2648,7 +2626,9 @@ date_isoformat(PyDateTime_Date *self)
static PyObject *
date_str(PyDateTime_Date *self)
{
- return PyObject_CallMethod((PyObject *)self, "isoformat", "()");
+ _Py_IDENTIFIER(isoformat);
+
+ return _PyObject_CallMethodId((PyObject *)self, &PyId_isoformat, "()");
}
@@ -2667,13 +2647,14 @@ date_strftime(PyDateTime_Date *self, PyObject *args, PyObject *kw)
PyObject *result;
PyObject *tuple;
PyObject *format;
+ _Py_IDENTIFIER(timetuple);
static char *keywords[] = {"format", NULL};
if (! PyArg_ParseTupleAndKeywords(args, kw, "U:strftime", keywords,
&format))
return NULL;
- tuple = PyObject_CallMethod((PyObject *)self, "timetuple", "()");
+ tuple = _PyObject_CallMethodId((PyObject *)self, &PyId_timetuple, "()");
if (tuple == NULL)
return NULL;
result = wrap_strftime((PyObject *)self, format, tuple,
@@ -2686,15 +2667,16 @@ static PyObject *
date_format(PyDateTime_Date *self, PyObject *args)
{
PyObject *format;
+ _Py_IDENTIFIER(strftime);
if (!PyArg_ParseTuple(args, "U:__format__", &format))
return NULL;
/* if the format is zero length, return str(self) */
- if (PyUnicode_GetSize(format) == 0)
+ if (PyUnicode_GetLength(format) == 0)
return PyObject_Str((PyObject *)self);
- return PyObject_CallMethod((PyObject *)self, "strftime", "O", format);
+ return _PyObject_CallMethodId((PyObject *)self, &PyId_strftime, "O", format);
}
/* ISO methods. */
@@ -2740,10 +2722,8 @@ date_richcompare(PyObject *self, PyObject *other, int op)
_PyDateTime_DATE_DATASIZE);
return diff_to_bool(diff, op);
}
- else {
- Py_INCREF(Py_NotImplemented);
- return Py_NotImplemented;
- }
+ else
+ Py_RETURN_NOTIMPLEMENTED;
}
static PyObject *
@@ -2782,13 +2762,13 @@ static Py_hash_t
generic_hash(unsigned char *data, int len)
{
register unsigned char *p;
- register Py_hash_t x;
+ register Py_uhash_t x;
p = (unsigned char *) data;
- x = *p << 7;
+ x = (Py_uhash_t)*p << 7;
while (--len >= 0)
- x = (1000003*x) ^ *p++;
- x ^= len;
+ x = (1000003U*x) ^ (Py_uhash_t)*p++;
+ x ^= (Py_uhash_t)len;
if (x == -1)
x = -2;
@@ -3097,12 +3077,14 @@ tzinfo_reduce(PyObject *self)
{
PyObject *args, *state, *tmp;
PyObject *getinitargs, *getstate;
+ _Py_IDENTIFIER(__getinitargs__);
+ _Py_IDENTIFIER(__getstate__);
tmp = PyTuple_New(0);
if (tmp == NULL)
return NULL;
- getinitargs = PyObject_GetAttrString(self, "__getinitargs__");
+ getinitargs = _PyObject_GetAttrId(self, &PyId___getinitargs__);
if (getinitargs != NULL) {
args = PyObject_CallObject(getinitargs, tmp);
Py_DECREF(getinitargs);
@@ -3117,7 +3099,7 @@ tzinfo_reduce(PyObject *self)
Py_INCREF(args);
}
- getstate = PyObject_GetAttrString(self, "__getstate__");
+ getstate = _PyObject_GetAttrId(self, &PyId___getstate__);
if (getstate != NULL) {
state = PyObject_CallObject(getstate, tmp);
Py_DECREF(getstate);
@@ -3240,10 +3222,8 @@ static PyObject *
timezone_richcompare(PyDateTime_TimeZone *self,
PyDateTime_TimeZone *other, int op)
{
- if (op != Py_EQ && op != Py_NE) {
- Py_INCREF(Py_NotImplemented);
- return Py_NotImplemented;
- }
+ if (op != Py_EQ && op != Py_NE)
+ Py_RETURN_NOTIMPLEMENTED;
return delta_richcompare(self->offset, other->offset, op);
}
@@ -3288,7 +3268,6 @@ timezone_repr(PyDateTime_TimeZone *self)
static PyObject *
timezone_str(PyDateTime_TimeZone *self)
{
- char buf[10];
int hours, minutes, seconds;
PyObject *offset;
char sign;
@@ -3314,11 +3293,9 @@ timezone_str(PyDateTime_TimeZone *self)
Py_DECREF(offset);
minutes = divmod(seconds, 60, &seconds);
hours = divmod(minutes, 60, &minutes);
- assert(seconds == 0);
/* XXX ignore sub-minute data, curently not allowed. */
- PyOS_snprintf(buf, sizeof(buf), "UTC%c%02d:%02d", sign, hours, minutes);
-
- return PyUnicode_FromString(buf);
+ assert(seconds == 0);
+ return PyUnicode_FromFormat("UTC%c%02d:%02d", sign, hours, minutes);
}
static PyObject *
@@ -3615,7 +3592,9 @@ time_repr(PyDateTime_Time *self)
static PyObject *
time_str(PyDateTime_Time *self)
{
- return PyObject_CallMethod((PyObject *)self, "isoformat", "()");
+ _Py_IDENTIFIER(isoformat);
+
+ return _PyObject_CallMethodId((PyObject *)self, &PyId_isoformat, "()");
}
static PyObject *
@@ -3692,10 +3671,8 @@ time_richcompare(PyObject *self, PyObject *other, int op)
PyObject *offset1, *offset2;
int diff;
- if (! PyTime_Check(other)) {
- Py_INCREF(Py_NotImplemented);
- return Py_NotImplemented;
- }
+ if (! PyTime_Check(other))
+ Py_RETURN_NOTIMPLEMENTED;
if (GET_TIME_TZINFO(self) == GET_TIME_TZINFO(other)) {
diff = memcmp(((PyDateTime_Time *)self)->data,
@@ -4196,7 +4173,9 @@ datetime_now(PyObject *cls, PyObject *args, PyObject *kw)
if (self != NULL && tzinfo != Py_None) {
/* Convert UTC to tzinfo's zone. */
PyObject *temp = self;
- self = PyObject_CallMethod(tzinfo, "fromutc", "O", self);
+ _Py_IDENTIFIER(fromutc);
+
+ self = _PyObject_CallMethodId(tzinfo, &PyId_fromutc, "O", self);
Py_DECREF(temp);
}
return self;
@@ -4233,7 +4212,9 @@ datetime_fromtimestamp(PyObject *cls, PyObject *args, PyObject *kw)
if (self != NULL && tzinfo != Py_None) {
/* Convert UTC to tzinfo's zone. */
PyObject *temp = self;
- self = PyObject_CallMethod(tzinfo, "fromutc", "O", self);
+ _Py_IDENTIFIER(fromutc);
+
+ self = _PyObject_CallMethodId(tzinfo, &PyId_fromutc, "O", self);
Py_DECREF(temp);
}
return self;
@@ -4257,9 +4238,10 @@ static PyObject *
datetime_strptime(PyObject *cls, PyObject *args)
{
static PyObject *module = NULL;
- const Py_UNICODE *string, *format;
+ PyObject *string, *format;
+ _Py_IDENTIFIER(_strptime_datetime);
- if (!PyArg_ParseTuple(args, "uu:strptime", &string, &format))
+ if (!PyArg_ParseTuple(args, "UU:strptime", &string, &format))
return NULL;
if (module == NULL) {
@@ -4267,8 +4249,8 @@ datetime_strptime(PyObject *cls, PyObject *args)
if (module == NULL)
return NULL;
}
- return PyObject_CallMethod(module, "_strptime_datetime", "Ouu",
- cls, string, format);
+ return _PyObject_CallMethodId(module, &PyId__strptime_datetime, "OOO",
+ cls, string, format);
}
/* Return new datetime from date/datetime and time arguments. */
@@ -4384,8 +4366,7 @@ datetime_add(PyObject *left, PyObject *right)
(PyDateTime_Delta *) left,
1);
}
- Py_INCREF(Py_NotImplemented);
- return Py_NotImplemented;
+ Py_RETURN_NOTIMPLEMENTED;
}
static PyObject *
@@ -4514,7 +4495,9 @@ datetime_repr(PyDateTime_DateTime *self)
static PyObject *
datetime_str(PyDateTime_DateTime *self)
{
- return PyObject_CallMethod((PyObject *)self, "isoformat", "(s)", " ");
+ _Py_IDENTIFIER(isoformat);
+
+ return _PyObject_CallMethodId((PyObject *)self, &PyId_isoformat, "(s)", " ");
}
static PyObject *
@@ -4587,8 +4570,7 @@ datetime_richcompare(PyObject *self, PyObject *other, int op)
Py_RETURN_TRUE;
return cmperror(self, other);
}
- Py_INCREF(Py_NotImplemented);
- return Py_NotImplemented;
+ Py_RETURN_NOTIMPLEMENTED;
}
if (GET_DT_TZINFO(self) == GET_DT_TZINFO(other)) {
@@ -4722,6 +4704,7 @@ datetime_astimezone(PyDateTime_DateTime *self, PyObject *args, PyObject *kw)
PyObject *offset;
PyObject *temp;
PyObject *tzinfo;
+ _Py_IDENTIFIER(fromutc);
static char *keywords[] = {"tz", NULL};
if (! PyArg_ParseTupleAndKeywords(args, kw, "O!:astimezone", keywords,
@@ -4763,7 +4746,7 @@ datetime_astimezone(PyDateTime_DateTime *self, PyObject *args, PyObject *kw)
Py_DECREF(temp);
temp = result;
- result = PyObject_CallMethod(tzinfo, "fromutc", "O", temp);
+ result = _PyObject_CallMethodId(tzinfo, &PyId_fromutc, "O", temp);
Py_DECREF(temp);
return result;
diff --git a/Modules/_dbmmodule.c b/Modules/_dbmmodule.c
index 827acce..327b873 100644
--- a/Modules/_dbmmodule.c
+++ b/Modules/_dbmmodule.c
@@ -212,6 +212,7 @@ dbm_contains(PyObject *self, PyObject *arg)
{
dbmobject *dp = (dbmobject *)self;
datum key, val;
+ Py_ssize_t size;
if ((dp)->di_dbm == NULL) {
PyErr_SetString(DbmError,
@@ -219,8 +220,9 @@ dbm_contains(PyObject *self, PyObject *arg)
return -1;
}
if (PyUnicode_Check(arg)) {
- arg = _PyUnicode_AsDefaultEncodedString(arg, NULL);
- if (arg == NULL)
+ key.dptr = PyUnicode_AsUTF8AndSize(arg, &size);
+ key.dsize = size;
+ if (key.dptr == NULL)
return -1;
}
if (!PyBytes_Check(arg)) {
@@ -229,8 +231,10 @@ dbm_contains(PyObject *self, PyObject *arg)
arg->ob_type->tp_name);
return -1;
}
- key.dptr = PyBytes_AS_STRING(arg);
- key.dsize = PyBytes_GET_SIZE(arg);
+ else {
+ key.dptr = PyBytes_AS_STRING(arg);
+ key.dsize = PyBytes_GET_SIZE(arg);
+ }
val = dbm_fetch(dp->di_dbm, key);
return val.dptr != NULL;
}
diff --git a/Modules/_elementtree.c b/Modules/_elementtree.c
index 7887721..884e50d 100644
--- a/Modules/_elementtree.c
+++ b/Modules/_elementtree.c
@@ -226,7 +226,7 @@ typedef struct {
PyObject* *children;
PyObject* _children[STATIC_CHILDREN];
-
+
} ElementObjectExtra;
typedef struct {
@@ -354,14 +354,14 @@ element_resize(ElementObject* self, int extra)
/* use Python 2.4's list growth strategy */
size = (size >> 3) + (size < 9 ? 3 : 6) + size;
/* Coverity CID #182 size_error: Allocating 1 bytes to pointer "children"
- * which needs at least 4 bytes.
- * Although it's a false alarm always assume at least one child to
+ * which needs at least 4 bytes.
+ * Although it's a false alarm always assume at least one child to
* be safe.
*/
size = size ? size : 1;
if (self->extra->children != self->extra->_children) {
/* Coverity CID #182 size_error: Allocating 1 bytes to pointer
- * "children", which needs at least 4 bytes. Although it's a
+ * "children", which needs at least 4 bytes. Although it's a
* false alarm always assume at least one child to be safe.
*/
children = PyObject_Realloc(self->extra->children,
@@ -606,7 +606,7 @@ element_copy(ElementObject* self, PyObject* args)
Py_INCREF(JOIN_OBJ(element->tail));
if (self->extra) {
-
+
if (element_resize(element, self->extra->length) < 0) {
Py_DECREF(element);
return NULL;
@@ -618,7 +618,7 @@ element_copy(ElementObject* self, PyObject* args)
}
element->extra->length = self->extra->length;
-
+
}
return (PyObject*) element;
@@ -661,7 +661,7 @@ element_deepcopy(ElementObject* self, PyObject* args)
if (!element)
return NULL;
-
+
text = deepcopy(JOIN_OBJ(self->text), memo);
if (!text)
goto error;
@@ -675,7 +675,7 @@ element_deepcopy(ElementObject* self, PyObject* args)
element->tail = JOIN_SET(tail, JOIN_GET(self->tail));
if (self->extra) {
-
+
if (element_resize(element, self->extra->length) < 0)
goto error;
@@ -689,7 +689,7 @@ element_deepcopy(ElementObject* self, PyObject* args)
}
element->extra->length = self->extra->length;
-
+
}
/* add object to memo dictionary (so deepcopy won't visit it again) */
@@ -723,13 +723,16 @@ checkpath(PyObject* tag)
(ch == '/' || ch == '*' || ch == '[' || ch == '@' || ch == '.')
if (PyUnicode_Check(tag)) {
- Py_UNICODE *p = PyUnicode_AS_UNICODE(tag);
- for (i = 0; i < PyUnicode_GET_SIZE(tag); i++) {
- if (p[i] == '{')
+ const Py_ssize_t len = PyUnicode_GET_LENGTH(tag);
+ void *data = PyUnicode_DATA(tag);
+ unsigned int kind = PyUnicode_KIND(tag);
+ for (i = 0; i < len; i++) {
+ Py_UCS4 ch = PyUnicode_READ(kind, data, i);
+ if (ch == '{')
check = 0;
- else if (p[i] == '}')
+ else if (ch == '}')
check = 1;
- else if (check && PATHCHAR(p[i]))
+ else if (check && PATHCHAR(ch))
return 1;
}
return 0;
@@ -787,20 +790,22 @@ static PyObject*
element_find(ElementObject* self, PyObject* args)
{
int i;
-
PyObject* tag;
PyObject* namespaces = Py_None;
+
if (!PyArg_ParseTuple(args, "O|O:find", &tag, &namespaces))
return NULL;
- if (checkpath(tag) || namespaces != Py_None)
- return PyObject_CallMethod(
- elementpath_obj, "find", "OOO", self, tag, namespaces
+ if (checkpath(tag) || namespaces != Py_None) {
+ _Py_IDENTIFIER(find);
+ return _PyObject_CallMethodId(
+ elementpath_obj, &PyId_find, "OOO", self, tag, namespaces
);
+ }
if (!self->extra)
Py_RETURN_NONE;
-
+
for (i = 0; i < self->extra->length; i++) {
PyObject* item = self->extra->children[i];
if (Element_CheckExact(item) &&
@@ -817,16 +822,17 @@ static PyObject*
element_findtext(ElementObject* self, PyObject* args)
{
int i;
-
PyObject* tag;
PyObject* default_value = Py_None;
PyObject* namespaces = Py_None;
+ _Py_IDENTIFIER(findtext);
+
if (!PyArg_ParseTuple(args, "O|OO:findtext", &tag, &default_value, &namespaces))
return NULL;
if (checkpath(tag) || namespaces != Py_None)
- return PyObject_CallMethod(
- elementpath_obj, "findtext", "OOOO", self, tag, default_value, namespaces
+ return _PyObject_CallMethodId(
+ elementpath_obj, &PyId_findtext, "OOOO", self, tag, default_value, namespaces
);
if (!self->extra) {
@@ -855,16 +861,18 @@ element_findall(ElementObject* self, PyObject* args)
{
int i;
PyObject* out;
-
PyObject* tag;
PyObject* namespaces = Py_None;
+
if (!PyArg_ParseTuple(args, "O|O:findall", &tag, &namespaces))
return NULL;
- if (checkpath(tag) || namespaces != Py_None)
- return PyObject_CallMethod(
- elementpath_obj, "findall", "OOO", self, tag, namespaces
+ if (checkpath(tag) || namespaces != Py_None) {
+ _Py_IDENTIFIER(findall);
+ return _PyObject_CallMethodId(
+ elementpath_obj, &PyId_findall, "OOO", self, tag, namespaces
);
+ }
out = PyList_New(0);
if (!out)
@@ -892,11 +900,13 @@ element_iterfind(ElementObject* self, PyObject* args)
{
PyObject* tag;
PyObject* namespaces = Py_None;
+ _Py_IDENTIFIER(iterfind);
+
if (!PyArg_ParseTuple(args, "O|O:iterfind", &tag, &namespaces))
return NULL;
- return PyObject_CallMethod(
- elementpath_obj, "iterfind", "OOO", self, tag, namespaces
+ return _PyObject_CallMethodId(
+ elementpath_obj, &PyId_iterfind, "OOO", self, tag, namespaces
);
}
@@ -953,7 +963,7 @@ static PyObject*
element_iter(ElementObject* self, PyObject* args)
{
PyObject* result;
-
+
PyObject* tag = Py_None;
if (!PyArg_ParseTuple(args, "|O:iter", &tag))
return NULL;
@@ -985,7 +995,7 @@ static PyObject*
element_itertext(ElementObject* self, PyObject* args)
{
PyObject* result;
-
+
if (!PyArg_ParseTuple(args, ":itertext"))
return NULL;
@@ -1483,7 +1493,7 @@ element_getattro(ElementObject* self, PyObject* nameobj)
if (PyUnicode_Check(nameobj))
name = _PyUnicode_AsString(nameobj);
-
+
if (name == NULL)
return NULL;
@@ -2113,7 +2123,7 @@ makeuniversal(XMLParserObject* self, const char* string)
Py_INCREF(key);
tag = key;
}
-
+
/* decode universal name */
p = PyBytes_AS_STRING(tag);
value = PyUnicode_DecodeUTF8(p, size, "strict");
@@ -2138,13 +2148,15 @@ makeuniversal(XMLParserObject* self, const char* string)
static void
expat_set_error(const char* message, int line, int column)
{
- PyObject *error;
- PyObject *position;
- char buffer[256];
+ PyObject *errmsg, *error, *position;
- sprintf(buffer, "%.100s: line %d, column %d", message, line, column);
+ errmsg = PyUnicode_FromFormat("%s: line %d, column %d",
+ message, line, column);
+ if (errmsg == NULL)
+ return;
- error = PyObject_CallFunction(elementtree_parseerror_obj, "s", buffer);
+ error = PyObject_CallFunction(elementtree_parseerror_obj, "O", errmsg);
+ Py_DECREF(errmsg);
if (!error)
return;
@@ -2399,29 +2411,33 @@ expat_unknown_encoding_handler(XMLParserObject *self, const XML_Char *name,
XML_Encoding *info)
{
PyObject* u;
- Py_UNICODE* p;
unsigned char s[256];
int i;
+ void *data;
+ unsigned int kind;
memset(info, 0, sizeof(XML_Encoding));
for (i = 0; i < 256; i++)
s[i] = i;
-
+
u = PyUnicode_Decode((char*) s, 256, name, "replace");
if (!u)
return XML_STATUS_ERROR;
+ if (PyUnicode_READY(u))
+ return XML_STATUS_ERROR;
- if (PyUnicode_GET_SIZE(u) != 256) {
+ if (PyUnicode_GET_LENGTH(u) != 256) {
Py_DECREF(u);
return XML_STATUS_ERROR;
}
- p = PyUnicode_AS_UNICODE(u);
-
+ kind = PyUnicode_KIND(u);
+ data = PyUnicode_DATA(u);
for (i = 0; i < 256; i++) {
- if (p[i] != Py_UNICODE_REPLACEMENT_CHARACTER)
- info->map[i] = p[i];
+ Py_UCS4 ch = PyUnicode_READ(kind, data, i);
+ if (ch != Py_UNICODE_REPLACEMENT_CHARACTER)
+ info->map[i] = ch;
else
info->map[i] = -1;
}
@@ -2466,7 +2482,7 @@ xmlparser(PyObject* self_, PyObject* args, PyObject* kw)
PyObject_Del(self);
return NULL;
}
-
+
self->names = PyDict_New();
if (!self->names) {
PyObject_Del(self->entity);
@@ -2645,7 +2661,7 @@ xmlparser_parse(XMLParserObject* self, PyObject* args)
reader = PyObject_GetAttrString(fileobj, "read");
if (!reader)
return NULL;
-
+
/* read from open file object */
for (;;) {
@@ -2796,7 +2812,7 @@ static PyMethodDef xmlparser_methods[] = {
{NULL, NULL}
};
-static PyObject*
+static PyObject*
xmlparser_getattro(XMLParserObject* self, PyObject* nameobj)
{
if (PyUnicode_Check(nameobj)) {
@@ -2957,7 +2973,7 @@ PyInit__elementtree(void)
" break\n"
" parser.feed(data)\n"
" self._root = parser.close()\n"
- " else:\n"
+ " else:\n"
" parser = cElementTree.XMLParser()\n"
" self._root = parser._parse(source)\n"
" return self._root\n"
diff --git a/Modules/_functoolsmodule.c b/Modules/_functoolsmodule.c
index d8a283b..0882d36 100644
--- a/Modules/_functoolsmodule.c
+++ b/Modules/_functoolsmodule.c
@@ -330,6 +330,176 @@ static PyTypeObject partial_type = {
};
+/* cmp_to_key ***************************************************************/
+
+typedef struct {
+ PyObject_HEAD
+ PyObject *cmp;
+ PyObject *object;
+} keyobject;
+
+static void
+keyobject_dealloc(keyobject *ko)
+{
+ Py_DECREF(ko->cmp);
+ Py_XDECREF(ko->object);
+ PyObject_FREE(ko);
+}
+
+static int
+keyobject_traverse(keyobject *ko, visitproc visit, void *arg)
+{
+ Py_VISIT(ko->cmp);
+ if (ko->object)
+ Py_VISIT(ko->object);
+ return 0;
+}
+
+static int
+keyobject_clear(keyobject *ko)
+{
+ Py_CLEAR(ko->cmp);
+ if (ko->object)
+ Py_CLEAR(ko->object);
+ return 0;
+}
+
+static PyMemberDef keyobject_members[] = {
+ {"obj", T_OBJECT,
+ offsetof(keyobject, object), 0,
+ PyDoc_STR("Value wrapped by a key function.")},
+ {NULL}
+};
+
+static PyObject *
+keyobject_call(keyobject *ko, PyObject *args, PyObject *kwds);
+
+static PyObject *
+keyobject_richcompare(PyObject *ko, PyObject *other, int op);
+
+static PyTypeObject keyobject_type = {
+ PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ "functools.KeyWrapper", /* tp_name */
+ sizeof(keyobject), /* tp_basicsize */
+ 0, /* tp_itemsize */
+ /* methods */
+ (destructor)keyobject_dealloc, /* tp_dealloc */
+ 0, /* tp_print */
+ 0, /* tp_getattr */
+ 0, /* tp_setattr */
+ 0, /* tp_reserved */
+ 0, /* tp_repr */
+ 0, /* tp_as_number */
+ 0, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ 0, /* tp_hash */
+ (ternaryfunc)keyobject_call, /* tp_call */
+ 0, /* tp_str */
+ PyObject_GenericGetAttr, /* tp_getattro */
+ 0, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ Py_TPFLAGS_DEFAULT, /* tp_flags */
+ 0, /* tp_doc */
+ (traverseproc)keyobject_traverse, /* tp_traverse */
+ (inquiry)keyobject_clear, /* tp_clear */
+ keyobject_richcompare, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+ 0, /* tp_iter */
+ 0, /* tp_iternext */
+ 0, /* tp_methods */
+ keyobject_members, /* tp_members */
+ 0, /* tp_getset */
+};
+
+static PyObject *
+keyobject_call(keyobject *ko, PyObject *args, PyObject *kwds)
+{
+ PyObject *object;
+ keyobject *result;
+ static char *kwargs[] = {"obj", NULL};
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwds, "O:K", kwargs, &object))
+ return NULL;
+ result = PyObject_New(keyobject, &keyobject_type);
+ if (!result)
+ return NULL;
+ Py_INCREF(ko->cmp);
+ result->cmp = ko->cmp;
+ Py_INCREF(object);
+ result->object = object;
+ return (PyObject *)result;
+}
+
+static PyObject *
+keyobject_richcompare(PyObject *ko, PyObject *other, int op)
+{
+ PyObject *res;
+ PyObject *args;
+ PyObject *x;
+ PyObject *y;
+ PyObject *compare;
+ PyObject *answer;
+ static PyObject *zero;
+
+ if (zero == NULL) {
+ zero = PyLong_FromLong(0);
+ if (!zero)
+ return NULL;
+ }
+
+ if (Py_TYPE(other) != &keyobject_type){
+ PyErr_Format(PyExc_TypeError, "other argument must be K instance");
+ return NULL;
+ }
+ compare = ((keyobject *) ko)->cmp;
+ assert(compare != NULL);
+ x = ((keyobject *) ko)->object;
+ y = ((keyobject *) other)->object;
+ if (!x || !y){
+ PyErr_Format(PyExc_AttributeError, "object");
+ return NULL;
+ }
+
+ /* Call the user's comparison function and translate the 3-way
+ * result into true or false (or error).
+ */
+ args = PyTuple_New(2);
+ if (args == NULL)
+ return NULL;
+ Py_INCREF(x);
+ Py_INCREF(y);
+ PyTuple_SET_ITEM(args, 0, x);
+ PyTuple_SET_ITEM(args, 1, y);
+ res = PyObject_Call(compare, args, NULL);
+ Py_DECREF(args);
+ if (res == NULL)
+ return NULL;
+ answer = PyObject_RichCompare(res, zero, op);
+ Py_DECREF(res);
+ return answer;
+}
+
+static PyObject *
+functools_cmp_to_key(PyObject *self, PyObject *args, PyObject *kwds)
+{
+ PyObject *cmp;
+ static char *kwargs[] = {"mycmp", NULL};
+ keyobject *object;
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwds, "O:cmp_to_key", kwargs, &cmp))
+ return NULL;
+ object = PyObject_New(keyobject, &keyobject_type);
+ if (!object)
+ return NULL;
+ Py_INCREF(cmp);
+ object->cmp = cmp;
+ object->object = NULL;
+ return (PyObject *)object;
+}
+
+PyDoc_STRVAR(functools_cmp_to_key_doc,
+"Convert a cmp= function into a key= function.");
+
/* reduce (used to be a builtin) ********************************************/
static PyObject *
@@ -413,6 +583,8 @@ PyDoc_STRVAR(module_doc,
static PyMethodDef module_methods[] = {
{"reduce", functools_reduce, METH_VARARGS, functools_reduce_doc},
+ {"cmp_to_key", (PyCFunction)functools_cmp_to_key,
+ METH_VARARGS | METH_KEYWORDS, functools_cmp_to_key_doc},
{NULL, NULL} /* sentinel */
};
diff --git a/Modules/_gestalt.c b/Modules/_gestalt.c
index a45780f..cd30683 100644
--- a/Modules/_gestalt.c
+++ b/Modules/_gestalt.c
@@ -33,7 +33,7 @@ static int
convert_to_OSType(PyObject *v, OSType *pr)
{
uint32_t tmp;
- if (!PyUnicode_Check(v) || PyUnicode_GetSize(v) != 4) {
+ if (!PyUnicode_Check(v) || PyUnicode_GetLength(v) != 4) {
PyErr_SetString(PyExc_TypeError,
"OSType arg must be string of 4 chars");
return 0;
diff --git a/Modules/_hashopenssl.c b/Modules/_hashopenssl.c
index dd4317f..d37689e 100644
--- a/Modules/_hashopenssl.c
+++ b/Modules/_hashopenssl.c
@@ -201,13 +201,11 @@ EVP_hexdigest(EVPobject *self, PyObject *unused)
/* Make hex version of the digest */
for(i=j=0; i<digest_size; i++) {
- char c;
+ unsigned char c;
c = (digest[i] >> 4) & 0xf;
- c = (c>9) ? c+'a'-10 : c + '0';
- hex_digest[j++] = c;
+ hex_digest[j++] = Py_hexdigits[c];
c = (digest[i] & 0xf);
- c = (c>9) ? c+'a'-10 : c + '0';
- hex_digest[j++] = c;
+ hex_digest[j++] = Py_hexdigits[c];
}
retval = PyUnicode_FromStringAndSize(hex_digest, digest_size * 2);
PyMem_Free(hex_digest);
diff --git a/Modules/_io/_iomodule.c b/Modules/_io/_iomodule.c
index 44bdac6..6e8d374 100644
--- a/Modules/_io/_iomodule.c
+++ b/Modules/_io/_iomodule.c
@@ -36,6 +36,7 @@ PyObject *_PyIO_str_nl;
PyObject *_PyIO_str_read;
PyObject *_PyIO_str_read1;
PyObject *_PyIO_str_readable;
+PyObject *_PyIO_str_readall;
PyObject *_PyIO_str_readinto;
PyObject *_PyIO_str_readline;
PyObject *_PyIO_str_reset;
@@ -90,94 +91,11 @@ PyDoc_STRVAR(module_doc,
/*
- * BlockingIOError extends IOError
- */
-
-static int
-blockingioerror_init(PyBlockingIOErrorObject *self, PyObject *args,
- PyObject *kwds)
-{
- PyObject *myerrno = NULL, *strerror = NULL;
- PyObject *baseargs = NULL;
- Py_ssize_t written = 0;
-
- assert(PyTuple_Check(args));
-
- self->written = 0;
- if (!PyArg_ParseTuple(args, "OO|n:BlockingIOError",
- &myerrno, &strerror, &written))
- return -1;
-
- baseargs = PyTuple_Pack(2, myerrno, strerror);
- if (baseargs == NULL)
- return -1;
- /* This will take care of initializing of myerrno and strerror members */
- if (((PyTypeObject *)PyExc_IOError)->tp_init(
- (PyObject *)self, baseargs, kwds) == -1) {
- Py_DECREF(baseargs);
- return -1;
- }
- Py_DECREF(baseargs);
-
- self->written = written;
- return 0;
-}
-
-static PyMemberDef blockingioerror_members[] = {
- {"characters_written", T_PYSSIZET, offsetof(PyBlockingIOErrorObject, written), 0},
- {NULL} /* Sentinel */
-};
-
-static PyTypeObject _PyExc_BlockingIOError = {
- PyVarObject_HEAD_INIT(NULL, 0)
- "BlockingIOError", /*tp_name*/
- sizeof(PyBlockingIOErrorObject), /*tp_basicsize*/
- 0, /*tp_itemsize*/
- 0, /*tp_dealloc*/
- 0, /*tp_print*/
- 0, /*tp_getattr*/
- 0, /*tp_setattr*/
- 0, /*tp_compare */
- 0, /*tp_repr*/
- 0, /*tp_as_number*/
- 0, /*tp_as_sequence*/
- 0, /*tp_as_mapping*/
- 0, /*tp_hash */
- 0, /*tp_call*/
- 0, /*tp_str*/
- 0, /*tp_getattro*/
- 0, /*tp_setattro*/
- 0, /*tp_as_buffer*/
- Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /*tp_flags*/
- PyDoc_STR("Exception raised when I/O would block "
- "on a non-blocking I/O stream"), /* tp_doc */
- 0, /* tp_traverse */
- 0, /* tp_clear */
- 0, /* tp_richcompare */
- 0, /* tp_weaklistoffset */
- 0, /* tp_iter */
- 0, /* tp_iternext */
- 0, /* tp_methods */
- blockingioerror_members, /* tp_members */
- 0, /* tp_getset */
- 0, /* tp_base */
- 0, /* tp_dict */
- 0, /* tp_descr_get */
- 0, /* tp_descr_set */
- 0, /* tp_dictoffset */
- (initproc)blockingioerror_init, /* tp_init */
- 0, /* tp_alloc */
- 0, /* tp_new */
-};
-PyObject *PyExc_BlockingIOError = (PyObject *)&_PyExc_BlockingIOError;
-
-
-/*
* The main open() function
*/
PyDoc_STRVAR(open_doc,
"open(file, mode='r', buffering=-1, encoding=None,\n"
-" errors=None, newline=None, closefd=True) -> file object\n"
+" errors=None, newline=None, closefd=True, opener=None) -> file object\n"
"\n"
"Open file and return a stream. Raise IOError upon failure.\n"
"\n"
@@ -272,6 +190,12 @@ PyDoc_STRVAR(open_doc,
"when the file is closed. This does not work when a file name is given\n"
"and must be True in that case.\n"
"\n"
+"A custom opener can be used by passing a callable as *opener*. The\n"
+"underlying file descriptor for the file object is then obtained by\n"
+"calling *opener* with (*file*, *flags*). *opener* must return an open\n"
+"file descriptor (passing os.open as *opener* results in functionality\n"
+"similar to passing None).\n"
+"\n"
"open() returns a file object whose type depends on the mode, and\n"
"through which the standard file operations such as reading and writing\n"
"are performed. When open() is used to open a file in a text mode ('w',\n"
@@ -292,8 +216,8 @@ io_open(PyObject *self, PyObject *args, PyObject *kwds)
{
char *kwlist[] = {"file", "mode", "buffering",
"encoding", "errors", "newline",
- "closefd", NULL};
- PyObject *file;
+ "closefd", "opener", NULL};
+ PyObject *file, *opener = Py_None;
char *mode = "r";
int buffering = -1, closefd = 1;
char *encoding = NULL, *errors = NULL, *newline = NULL;
@@ -307,10 +231,14 @@ io_open(PyObject *self, PyObject *args, PyObject *kwds)
PyObject *raw, *modeobj = NULL, *buffer = NULL, *wrapper = NULL;
- if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|sizzzi:open", kwlist,
+ _Py_IDENTIFIER(isatty);
+ _Py_IDENTIFIER(fileno);
+ _Py_IDENTIFIER(mode);
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|sizzziO:open", kwlist,
&file, &mode, &buffering,
&encoding, &errors, &newline,
- &closefd)) {
+ &closefd, &opener)) {
return NULL;
}
@@ -410,7 +338,7 @@ io_open(PyObject *self, PyObject *args, PyObject *kwds)
/* Create the Raw file stream */
raw = PyObject_CallFunction((PyObject *)&PyFileIO_Type,
- "Osi", file, rawmode, closefd);
+ "OsiO", file, rawmode, closefd, opener);
if (raw == NULL)
return NULL;
@@ -420,7 +348,7 @@ io_open(PyObject *self, PyObject *args, PyObject *kwds)
/* buffering */
{
- PyObject *res = PyObject_CallMethod(raw, "isatty", NULL);
+ PyObject *res = _PyObject_CallMethodId(raw, &PyId_isatty, NULL);
if (res == NULL)
goto error;
isatty = PyLong_AsLong(res);
@@ -442,7 +370,7 @@ io_open(PyObject *self, PyObject *args, PyObject *kwds)
{
struct stat st;
long fileno;
- PyObject *res = PyObject_CallMethod(raw, "fileno", NULL);
+ PyObject *res = _PyObject_CallMethodId(raw, &PyId_fileno, NULL);
if (res == NULL)
goto error;
@@ -513,7 +441,7 @@ io_open(PyObject *self, PyObject *args, PyObject *kwds)
if (wrapper == NULL)
goto error;
- if (PyObject_SetAttrString(wrapper, "mode", modeobj) < 0)
+ if (_PyObject_SetAttrId(wrapper, &PyId_mode, modeobj) < 0)
goto error;
Py_DECREF(modeobj);
return wrapper;
@@ -690,9 +618,11 @@ PyInit__io(void)
state->unsupported_operation) < 0)
goto fail;
- /* BlockingIOError */
- _PyExc_BlockingIOError.tp_base = (PyTypeObject *) PyExc_IOError;
- ADD_TYPE(&_PyExc_BlockingIOError, "BlockingIOError");
+ /* BlockingIOError, for compatibility */
+ Py_INCREF(PyExc_BlockingIOError);
+ if (PyModule_AddObject(m, "BlockingIOError",
+ (PyObject *) PyExc_BlockingIOError) < 0)
+ goto fail;
/* Concrete base types of the IO ABCs.
(the ABCs themselves are declared through inheritance in io.py)
@@ -767,6 +697,8 @@ PyInit__io(void)
goto fail;
if (!(_PyIO_str_readable = PyUnicode_InternFromString("readable")))
goto fail;
+ if (!(_PyIO_str_readall = PyUnicode_InternFromString("readall")))
+ goto fail;
if (!(_PyIO_str_readinto = PyUnicode_InternFromString("readinto")))
goto fail;
if (!(_PyIO_str_readline = PyUnicode_InternFromString("readline")))
diff --git a/Modules/_io/_iomodule.h b/Modules/_io/_iomodule.h
index 925e4f2..b3a8471 100644
--- a/Modules/_io/_iomodule.h
+++ b/Modules/_io/_iomodule.h
@@ -55,20 +55,11 @@ extern PyObject *_PyIncrementalNewlineDecoder_decode(
Otherwise, the function will scan further and return garbage. */
extern Py_ssize_t _PyIO_find_line_ending(
int translated, int universal, PyObject *readnl,
- Py_UNICODE *start, Py_UNICODE *end, Py_ssize_t *consumed);
+ int kind, char *start, char *end, Py_ssize_t *consumed);
#define DEFAULT_BUFFER_SIZE (8 * 1024) /* bytes */
-typedef struct {
- PyException_HEAD
- PyObject *myerrno;
- PyObject *strerror;
- PyObject *filename; /* Not used, but part of the IOError object */
- Py_ssize_t written;
-} PyBlockingIOErrorObject;
-PyAPI_DATA(PyObject *) PyExc_BlockingIOError;
-
/*
* Offset type for positioning.
*/
@@ -155,6 +146,7 @@ extern PyObject *_PyIO_str_nl;
extern PyObject *_PyIO_str_read;
extern PyObject *_PyIO_str_read1;
extern PyObject *_PyIO_str_readable;
+extern PyObject *_PyIO_str_readall;
extern PyObject *_PyIO_str_readinto;
extern PyObject *_PyIO_str_readline;
extern PyObject *_PyIO_str_reset;
diff --git a/Modules/_io/bufferedio.c b/Modules/_io/bufferedio.c
index 4c43c69..8a9ae47 100644
--- a/Modules/_io/bufferedio.c
+++ b/Modules/_io/bufferedio.c
@@ -1,9 +1,9 @@
/*
An implementation of Buffered I/O as defined by PEP 3116 - "New I/O"
-
+
Classes defined here: BufferedIOBase, BufferedReader, BufferedWriter,
BufferedRandom.
-
+
Written by Amaury Forgeot d'Arc and Antoine Pitrou
*/
@@ -13,6 +13,20 @@
#include "pythread.h"
#include "_iomodule.h"
+_Py_IDENTIFIER(close);
+_Py_IDENTIFIER(_dealloc_warn);
+_Py_IDENTIFIER(flush);
+_Py_IDENTIFIER(isatty);
+_Py_IDENTIFIER(mode);
+_Py_IDENTIFIER(name);
+_Py_IDENTIFIER(peek);
+_Py_IDENTIFIER(read);
+_Py_IDENTIFIER(read1);
+_Py_IDENTIFIER(readable);
+_Py_IDENTIFIER(readinto);
+_Py_IDENTIFIER(writable);
+_Py_IDENTIFIER(write);
+
/*
* BufferedIOBase class, inherits from IOBase.
*/
@@ -38,12 +52,13 @@ bufferediobase_readinto(PyObject *self, PyObject *args)
Py_buffer buf;
Py_ssize_t len;
PyObject *data;
+ _Py_IDENTIFIER(read);
if (!PyArg_ParseTuple(args, "w*:readinto", &buf)) {
return NULL;
}
- data = PyObject_CallMethod(self, "read", "n", buf.len);
+ data = _PyObject_CallMethodId(self, &PyId_read, "n", buf.len);
if (data == NULL)
goto error;
@@ -198,7 +213,7 @@ typedef struct {
int readable;
int writable;
int deallocating;
-
+
/* True if this is a vanilla Buffered object (rather than a user derived
class) *and* the raw stream is a vanilla FileIO object. */
int fast_closed_checks;
@@ -237,7 +252,7 @@ typedef struct {
/*
Implementation notes:
-
+
* BufferedReader, BufferedWriter and BufferedRandom try to share most
methods (this is helped by the members `readable` and `writable`, which
are initialized in the respective constructors)
@@ -255,7 +270,7 @@ typedef struct {
NOTE: we should try to maintain block alignment of reads and writes to the
raw stream (according to the buffer size), but for now it is only done
in read() and friends.
-
+
*/
/* These macros protect the buffered object against concurrent operations. */
@@ -410,7 +425,7 @@ buffered_dealloc_warn(buffered *self, PyObject *source)
{
if (self->ok && self->raw) {
PyObject *r;
- r = PyObject_CallMethod(self->raw, "_dealloc_warn", "O", source);
+ r = _PyObject_CallMethodId(self->raw, &PyId__dealloc_warn, "O", source);
if (r)
Py_DECREF(r);
else
@@ -543,14 +558,14 @@ static PyObject *
buffered_name_get(buffered *self, void *context)
{
CHECK_INITIALIZED(self)
- return PyObject_GetAttrString(self->raw, "name");
+ return _PyObject_GetAttrId(self->raw, &PyId_name);
}
static PyObject *
buffered_mode_get(buffered *self, void *context)
{
CHECK_INITIALIZED(self)
- return PyObject_GetAttrString(self->raw, "mode");
+ return _PyObject_GetAttrId(self->raw, &PyId_mode);
}
/* Lower-level APIs */
@@ -589,14 +604,15 @@ _bufferedreader_reset_buf(buffered *self);
static void
_bufferedwriter_reset_buf(buffered *self);
static PyObject *
-_bufferedreader_peek_unlocked(buffered *self, Py_ssize_t);
+_bufferedreader_peek_unlocked(buffered *self);
static PyObject *
_bufferedreader_read_all(buffered *self);
static PyObject *
_bufferedreader_read_fast(buffered *self, Py_ssize_t);
static PyObject *
_bufferedreader_read_generic(buffered *self, Py_ssize_t);
-
+static Py_ssize_t
+_bufferedreader_raw_read(buffered *self, char *start, Py_ssize_t len);
/*
* Helpers
@@ -620,14 +636,14 @@ static Py_ssize_t *
_buffered_check_blocking_error(void)
{
PyObject *t, *v, *tb;
- PyBlockingIOErrorObject *err;
+ PyOSErrorObject *err;
PyErr_Fetch(&t, &v, &tb);
if (v == NULL || !PyErr_GivenExceptionMatches(v, PyExc_BlockingIOError)) {
PyErr_Restore(t, v, tb);
return NULL;
}
- err = (PyBlockingIOErrorObject *) v;
+ err = (PyOSErrorObject *) v;
/* TODO: sanity check (err->written >= 0) */
PyErr_Restore(t, v, tb);
return &err->written;
@@ -647,7 +663,7 @@ _buffered_raw_tell(buffered *self)
if (!PyErr_Occurred())
PyErr_Format(PyExc_IOError,
"Raw stream returned invalid position %" PY_PRIdOFF,
- (PY_OFF_T_COMPAT)n);
+ (PY_OFF_T_COMPAT)n);
return -1;
}
self->abs_pos = n;
@@ -680,7 +696,7 @@ _buffered_raw_seek(buffered *self, Py_off_t target, int whence)
if (!PyErr_Occurred())
PyErr_Format(PyExc_IOError,
"Raw stream returned invalid position %" PY_PRIdOFF,
- (PY_OFF_T_COMPAT)n);
+ (PY_OFF_T_COMPAT)n);
return -1;
}
self->abs_pos = n;
@@ -821,7 +837,7 @@ buffered_peek(buffered *self, PyObject *args)
goto end;
Py_CLEAR(res);
}
- res = _bufferedreader_peek_unlocked(self, n);
+ res = _bufferedreader_peek_unlocked(self);
end:
LEAVE_BUFFERED(self)
@@ -885,61 +901,112 @@ buffered_read1(buffered *self, PyObject *args)
if (n == 0)
return PyBytes_FromStringAndSize(NULL, 0);
- if (!ENTER_BUFFERED(self))
- return NULL;
-
/* Return up to n bytes. If at least one byte is buffered, we
only return buffered bytes. Otherwise, we do one raw read. */
- /* XXX: this mimicks the io.py implementation but is probably wrong.
- If we need to read from the raw stream, then we could actually read
- all `n` bytes asked by the caller (and possibly more, so as to fill
- our buffer for the next reads). */
-
have = Py_SAFE_DOWNCAST(READAHEAD(self), Py_off_t, Py_ssize_t);
if (have > 0) {
- if (n > have)
- n = have;
- res = PyBytes_FromStringAndSize(self->buffer + self->pos, n);
- if (res == NULL)
- goto end;
- self->pos += n;
- goto end;
+ n = Py_MIN(have, n);
+ res = _bufferedreader_read_fast(self, n);
+ assert(res != Py_None);
+ return res;
}
-
- if (self->writable) {
- res = buffered_flush_and_rewind_unlocked(self);
- if (res == NULL)
- goto end;
+ res = PyBytes_FromStringAndSize(NULL, n);
+ if (res == NULL)
+ return NULL;
+ if (!ENTER_BUFFERED(self)) {
Py_DECREF(res);
+ return NULL;
}
-
- /* Fill the buffer from the raw stream, and copy it to the result. */
_bufferedreader_reset_buf(self);
- r = _bufferedreader_fill_buffer(self);
- if (r == -1)
- goto end;
+ r = _bufferedreader_raw_read(self, PyBytes_AS_STRING(res), n);
+ LEAVE_BUFFERED(self)
+ if (r == -1) {
+ Py_DECREF(res);
+ return NULL;
+ }
if (r == -2)
r = 0;
if (n > r)
- n = r;
- res = PyBytes_FromStringAndSize(self->buffer, n);
- if (res == NULL)
- goto end;
- self->pos = n;
-
-end:
- LEAVE_BUFFERED(self)
+ _PyBytes_Resize(&res, r);
return res;
}
static PyObject *
buffered_readinto(buffered *self, PyObject *args)
{
+ Py_buffer buf;
+ Py_ssize_t n, written = 0, remaining;
+ PyObject *res = NULL;
+
CHECK_INITIALIZED(self)
-
- /* TODO: use raw.readinto() (or a direct copy from our buffer) instead! */
- return bufferediobase_readinto((PyObject *)self, args);
+
+ if (!PyArg_ParseTuple(args, "w*:readinto", &buf))
+ return NULL;
+
+ n = Py_SAFE_DOWNCAST(READAHEAD(self), Py_off_t, Py_ssize_t);
+ if (n > 0) {
+ if (n >= buf.len) {
+ memcpy(buf.buf, self->buffer + self->pos, buf.len);
+ self->pos += buf.len;
+ res = PyLong_FromSsize_t(buf.len);
+ goto end_unlocked;
+ }
+ memcpy(buf.buf, self->buffer + self->pos, n);
+ self->pos += n;
+ written = n;
+ }
+
+ if (!ENTER_BUFFERED(self))
+ goto end_unlocked;
+
+ if (self->writable) {
+ res = buffered_flush_and_rewind_unlocked(self);
+ if (res == NULL)
+ goto end;
+ Py_CLEAR(res);
+ }
+
+ _bufferedreader_reset_buf(self);
+ self->pos = 0;
+
+ for (remaining = buf.len - written;
+ remaining > 0;
+ written += n, remaining -= n) {
+ /* If remaining bytes is larger than internal buffer size, copy
+ * directly into caller's buffer. */
+ if (remaining > self->buffer_size) {
+ n = _bufferedreader_raw_read(self, (char *) buf.buf + written,
+ remaining);
+ }
+ else {
+ n = _bufferedreader_fill_buffer(self);
+ if (n > 0) {
+ if (n > remaining)
+ n = remaining;
+ memcpy((char *) buf.buf + written,
+ self->buffer + self->pos, n);
+ self->pos += n;
+ continue; /* short circuit */
+ }
+ }
+ if (n == 0 || (n == -2 && written > 0))
+ break;
+ if (n < 0) {
+ if (n == -2) {
+ Py_INCREF(Py_None);
+ res = Py_None;
+ }
+ goto end;
+ }
+ }
+ res = PyLong_FromSsize_t(written);
+
+end:
+ LEAVE_BUFFERED(self);
+end_unlocked:
+ PyBuffer_Release(&buf);
+ return res;
}
static PyObject *
@@ -1231,7 +1298,7 @@ buffered_repr(buffered *self)
{
PyObject *nameobj, *res;
- nameobj = PyObject_GetAttrString((PyObject *) self, "name");
+ nameobj = _PyObject_GetAttrId((PyObject *) self, &PyId_name);
if (nameobj == NULL) {
if (PyErr_ExceptionMatches(PyExc_AttributeError))
PyErr_Clear();
@@ -1357,33 +1424,58 @@ static PyObject *
_bufferedreader_read_all(buffered *self)
{
Py_ssize_t current_size;
- PyObject *res, *data = NULL;
- PyObject *chunks = PyList_New(0);
-
- if (chunks == NULL)
- return NULL;
+ PyObject *res, *data = NULL, *chunk, *chunks;
/* First copy what we have in the current buffer. */
current_size = Py_SAFE_DOWNCAST(READAHEAD(self), Py_off_t, Py_ssize_t);
if (current_size) {
data = PyBytes_FromStringAndSize(
self->buffer + self->pos, current_size);
- if (data == NULL) {
- Py_DECREF(chunks);
+ if (data == NULL)
return NULL;
- }
self->pos += current_size;
}
/* We're going past the buffer's bounds, flush it */
if (self->writable) {
res = buffered_flush_and_rewind_unlocked(self);
- if (res == NULL) {
- Py_DECREF(chunks);
+ if (res == NULL)
return NULL;
- }
Py_CLEAR(res);
}
_bufferedreader_reset_buf(self);
+
+ if (PyObject_HasAttr(self->raw, _PyIO_str_readall)) {
+ chunk = PyObject_CallMethodObjArgs(self->raw, _PyIO_str_readall, NULL);
+ if (chunk == NULL)
+ return NULL;
+ if (chunk != Py_None && !PyBytes_Check(chunk)) {
+ Py_XDECREF(data);
+ Py_DECREF(chunk);
+ PyErr_SetString(PyExc_TypeError, "readall() should return bytes");
+ return NULL;
+ }
+ if (chunk == Py_None) {
+ if (current_size == 0)
+ return chunk;
+ else {
+ Py_DECREF(chunk);
+ return data;
+ }
+ }
+ else if (current_size) {
+ PyBytes_Concat(&data, chunk);
+ Py_DECREF(chunk);
+ if (data == NULL)
+ return NULL;
+ return data;
+ } else
+ return chunk;
+ }
+
+ chunks = PyList_New(0);
+ if (chunks == NULL)
+ return NULL;
+
while (1) {
if (data) {
if (PyList_Append(chunks, data) < 0) {
@@ -1545,7 +1637,7 @@ error:
}
static PyObject *
-_bufferedreader_peek_unlocked(buffered *self, Py_ssize_t n)
+_bufferedreader_peek_unlocked(buffered *self)
{
Py_ssize_t have, r;
@@ -1587,6 +1679,7 @@ static PyMethodDef bufferedreader_methods[] = {
{"read", (PyCFunction)buffered_read, METH_VARARGS},
{"peek", (PyCFunction)buffered_peek, METH_VARARGS},
{"read1", (PyCFunction)buffered_read1, METH_VARARGS},
+ {"readinto", (PyCFunction)buffered_readinto, METH_VARARGS},
{"readline", (PyCFunction)buffered_readline, METH_VARARGS},
{"seek", (PyCFunction)buffered_seek, METH_VARARGS},
{"tell", (PyCFunction)buffered_tell, METH_NOARGS},
@@ -2135,13 +2228,13 @@ bufferedrwpair_dealloc(rwpair *self)
}
static PyObject *
-_forward_call(buffered *self, const char *name, PyObject *args)
+_forward_call(buffered *self, _Py_Identifier *name, PyObject *args)
{
- PyObject *func = PyObject_GetAttrString((PyObject *)self, name);
+ PyObject *func = _PyObject_GetAttrId((PyObject *)self, name);
PyObject *ret;
if (func == NULL) {
- PyErr_SetString(PyExc_AttributeError, name);
+ PyErr_SetString(PyExc_AttributeError, name->string);
return NULL;
}
@@ -2153,66 +2246,66 @@ _forward_call(buffered *self, const char *name, PyObject *args)
static PyObject *
bufferedrwpair_read(rwpair *self, PyObject *args)
{
- return _forward_call(self->reader, "read", args);
+ return _forward_call(self->reader, &PyId_read, args);
}
static PyObject *
bufferedrwpair_peek(rwpair *self, PyObject *args)
{
- return _forward_call(self->reader, "peek", args);
+ return _forward_call(self->reader, &PyId_peek, args);
}
static PyObject *
bufferedrwpair_read1(rwpair *self, PyObject *args)
{
- return _forward_call(self->reader, "read1", args);
+ return _forward_call(self->reader, &PyId_read1, args);
}
static PyObject *
bufferedrwpair_readinto(rwpair *self, PyObject *args)
{
- return _forward_call(self->reader, "readinto", args);
+ return _forward_call(self->reader, &PyId_readinto, args);
}
static PyObject *
bufferedrwpair_write(rwpair *self, PyObject *args)
{
- return _forward_call(self->writer, "write", args);
+ return _forward_call(self->writer, &PyId_write, args);
}
static PyObject *
bufferedrwpair_flush(rwpair *self, PyObject *args)
{
- return _forward_call(self->writer, "flush", args);
+ return _forward_call(self->writer, &PyId_flush, args);
}
static PyObject *
bufferedrwpair_readable(rwpair *self, PyObject *args)
{
- return _forward_call(self->reader, "readable", args);
+ return _forward_call(self->reader, &PyId_readable, args);
}
static PyObject *
bufferedrwpair_writable(rwpair *self, PyObject *args)
{
- return _forward_call(self->writer, "writable", args);
+ return _forward_call(self->writer, &PyId_writable, args);
}
static PyObject *
bufferedrwpair_close(rwpair *self, PyObject *args)
{
- PyObject *ret = _forward_call(self->writer, "close", args);
+ PyObject *ret = _forward_call(self->writer, &PyId_close, args);
if (ret == NULL)
return NULL;
Py_DECREF(ret);
- return _forward_call(self->reader, "close", args);
+ return _forward_call(self->reader, &PyId_close, args);
}
static PyObject *
bufferedrwpair_isatty(rwpair *self, PyObject *args)
{
- PyObject *ret = _forward_call(self->writer, "isatty", args);
+ PyObject *ret = _forward_call(self->writer, &PyId_isatty, args);
if (ret != Py_False) {
/* either True or exception */
@@ -2220,7 +2313,7 @@ bufferedrwpair_isatty(rwpair *self, PyObject *args)
}
Py_DECREF(ret);
- return _forward_call(self->reader, "isatty", args);
+ return _forward_call(self->reader, &PyId_isatty, args);
}
static PyObject *
diff --git a/Modules/_io/bytesio.c b/Modules/_io/bytesio.c
index b40513f..65ec931 100644
--- a/Modules/_io/bytesio.c
+++ b/Modules/_io/bytesio.c
@@ -938,13 +938,11 @@ static int
bytesiobuf_getbuffer(bytesiobuf *obj, Py_buffer *view, int flags)
{
int ret;
- void *ptr;
bytesio *b = (bytesio *) obj->source;
if (view == NULL) {
b->exports++;
return 0;
}
- ptr = (void *) obj;
ret = PyBuffer_FillInfo(view, (PyObject*)obj, b->buf, b->string_size,
0, flags);
if (ret >= 0) {
diff --git a/Modules/_io/fileio.c b/Modules/_io/fileio.c
index f39f8b0..3829e0b 100644
--- a/Modules/_io/fileio.c
+++ b/Modules/_io/fileio.c
@@ -122,6 +122,7 @@ internal_close(fileio *self)
static PyObject *
fileio_close(fileio *self)
{
+ _Py_IDENTIFIER(close);
if (!self->closefd) {
self->fd = -1;
Py_RETURN_NONE;
@@ -137,8 +138,8 @@ fileio_close(fileio *self)
if (errno < 0)
return NULL;
- return PyObject_CallMethod((PyObject*)&PyRawIOBase_Type,
- "close", "O", self);
+ return _PyObject_CallMethodId((PyObject*)&PyRawIOBase_Type,
+ &PyId_close, "O", self);
}
static PyObject *
@@ -211,9 +212,9 @@ static int
fileio_init(PyObject *oself, PyObject *args, PyObject *kwds)
{
fileio *self = (fileio *) oself;
- static char *kwlist[] = {"file", "mode", "closefd", NULL};
+ static char *kwlist[] = {"file", "mode", "closefd", "opener", NULL};
const char *name = NULL;
- PyObject *nameobj, *stringobj = NULL;
+ PyObject *nameobj, *stringobj = NULL, *opener = Py_None;
char *mode = "r";
char *s;
#ifdef MS_WINDOWS
@@ -232,8 +233,9 @@ fileio_init(PyObject *oself, PyObject *args, PyObject *kwds)
return -1;
}
- if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|si:fileio",
- kwlist, &nameobj, &mode, &closefd))
+ if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|siO:fileio",
+ kwlist, &nameobj, &mode, &closefd,
+ &opener))
return -1;
if (PyFloat_Check(nameobj)) {
@@ -253,9 +255,11 @@ fileio_init(PyObject *oself, PyObject *args, PyObject *kwds)
}
#ifdef MS_WINDOWS
- if (PyUnicode_Check(nameobj))
- widename = PyUnicode_AS_UNICODE(nameobj);
- if (widename == NULL)
+ if (PyUnicode_Check(nameobj)) {
+ widename = PyUnicode_AsUnicode(nameobj);
+ if (widename == NULL)
+ return -1;
+ } else
#endif
if (fd < 0)
{
@@ -360,19 +364,39 @@ fileio_init(PyObject *oself, PyObject *args, PyObject *kwds)
goto error;
}
- Py_BEGIN_ALLOW_THREADS
errno = 0;
+ if (opener == Py_None) {
+ Py_BEGIN_ALLOW_THREADS
#ifdef MS_WINDOWS
- if (widename != NULL)
- self->fd = _wopen(widename, flags, 0666);
- else
+ if (widename != NULL)
+ self->fd = _wopen(widename, flags, 0666);
+ else
#endif
- self->fd = open(name, flags, 0666);
- Py_END_ALLOW_THREADS
+ self->fd = open(name, flags, 0666);
+ Py_END_ALLOW_THREADS
+ } else {
+ PyObject *fdobj = PyObject_CallFunction(
+ opener, "Oi", nameobj, flags);
+ if (fdobj == NULL)
+ goto error;
+ if (!PyLong_Check(fdobj)) {
+ Py_DECREF(fdobj);
+ PyErr_SetString(PyExc_TypeError,
+ "expected integer from opener");
+ goto error;
+ }
+
+ self->fd = PyLong_AsLong(fdobj);
+ Py_DECREF(fdobj);
+ if (self->fd == -1) {
+ goto error;
+ }
+ }
+
if (self->fd < 0) {
#ifdef MS_WINDOWS
if (widename != NULL)
- PyErr_SetFromErrnoWithUnicodeFilename(PyExc_IOError, widename);
+ PyErr_SetFromErrnoWithFilenameObject(PyExc_IOError, nameobj);
else
#endif
PyErr_SetFromErrnoWithFilename(PyExc_IOError, name);
@@ -544,21 +568,25 @@ fileio_readinto(fileio *self, PyObject *args)
}
static size_t
-new_buffersize(fileio *self, size_t currentsize)
+new_buffersize(fileio *self, size_t currentsize
+#ifdef HAVE_FSTAT
+ , Py_off_t pos, Py_off_t end
+#endif
+ )
{
#ifdef HAVE_FSTAT
- off_t pos, end;
- struct stat st;
- if (fstat(self->fd, &st) == 0) {
- end = st.st_size;
- pos = lseek(self->fd, 0L, SEEK_CUR);
+ if (end != (Py_off_t)-1) {
/* Files claiming a size smaller than SMALLCHUNK may
actually be streaming pseudo-files. In this case, we
apply the more aggressive algorithm below.
*/
if (end >= SMALLCHUNK && end >= pos && pos >= 0) {
/* Add 1 so if the file were to grow we'd notice. */
- return currentsize + end - pos + 1;
+ Py_off_t bufsize = currentsize + end - pos + 1;
+ if (bufsize < PY_SSIZE_T_MAX)
+ return (size_t)bufsize;
+ else
+ return PY_SSIZE_T_MAX;
}
}
#endif
@@ -571,9 +599,14 @@ new_buffersize(fileio *self, size_t currentsize)
static PyObject *
fileio_readall(fileio *self)
{
+#ifdef HAVE_FSTAT
+ struct stat st;
+ Py_off_t pos, end;
+#endif
PyObject *result;
Py_ssize_t total = 0;
int n;
+ size_t newsize;
if (self->fd < 0)
return err_closed();
@@ -584,8 +617,23 @@ fileio_readall(fileio *self)
if (result == NULL)
return NULL;
+#ifdef HAVE_FSTAT
+#if defined(MS_WIN64) || defined(MS_WINDOWS)
+ pos = _lseeki64(self->fd, 0L, SEEK_CUR);
+#else
+ pos = lseek(self->fd, 0L, SEEK_CUR);
+#endif
+ if (fstat(self->fd, &st) == 0)
+ end = st.st_size;
+ else
+ end = (Py_off_t)-1;
+#endif
while (1) {
- size_t newsize = new_buffersize(self, total);
+#ifdef HAVE_FSTAT
+ newsize = new_buffersize(self, total, pos, end);
+#else
+ newsize = new_buffersize(self, total);
+#endif
if (newsize > PY_SSIZE_T_MAX || newsize <= 0) {
PyErr_SetString(PyExc_OverflowError,
"unbounded read returned more bytes "
@@ -624,6 +672,9 @@ fileio_readall(fileio *self)
return NULL;
}
total += n;
+#ifdef HAVE_FSTAT
+ pos += n;
+#endif
}
if (PyBytes_GET_SIZE(result) > total) {
@@ -950,12 +1001,13 @@ mode_string(fileio *self)
static PyObject *
fileio_repr(fileio *self)
{
+ _Py_IDENTIFIER(name);
PyObject *nameobj, *res;
if (self->fd < 0)
return PyUnicode_FromFormat("<_io.FileIO [closed]>");
- nameobj = PyObject_GetAttrString((PyObject *) self, "name");
+ nameobj = _PyObject_GetAttrId((PyObject *) self, &PyId_name);
if (nameobj == NULL) {
if (PyErr_ExceptionMatches(PyExc_AttributeError))
PyErr_Clear();
@@ -995,13 +1047,17 @@ fileio_getstate(fileio *self)
PyDoc_STRVAR(fileio_doc,
-"file(name: str[, mode: str]) -> file IO object\n"
+"file(name: str[, mode: str][, opener: None]) -> file IO object\n"
"\n"
"Open a file. The mode can be 'r', 'w' or 'a' for reading (default),\n"
"writing or appending. The file will be created if it doesn't exist\n"
"when opened for writing or appending; it will be truncated when\n"
"opened for writing. Add a '+' to the mode to allow simultaneous\n"
-"reading and writing.");
+"reading and writing. A custom opener can be used by passing a\n"
+"callable as *opener*. The underlying file descriptor for the file\n"
+"object is then obtained by calling opener with (*name*, *flags*).\n"
+"*opener* must return an open file descriptor (passing os.open as\n"
+"*opener* results in functionality similar to passing None).");
PyDoc_STRVAR(read_doc,
"read(size: int) -> bytes. read at most size bytes, returned as bytes.\n"
diff --git a/Modules/_io/iobase.c b/Modules/_io/iobase.c
index 35c7cdd..3bce1a5 100644
--- a/Modules/_io/iobase.c
+++ b/Modules/_io/iobase.c
@@ -59,8 +59,9 @@ PyDoc_STRVAR(iobase_doc,
of the IOBase object rather than the virtual `closed` attribute as returned
by whatever subclass. */
+_Py_IDENTIFIER(__IOBase_closed);
#define IS_CLOSED(self) \
- PyObject_HasAttrString(self, "__IOBase_closed")
+ _PyObject_HasAttrId(self, &PyId___IOBase_closed)
/* Internal methods */
static PyObject *
@@ -97,7 +98,9 @@ PyDoc_STRVAR(iobase_tell_doc,
static PyObject *
iobase_tell(PyObject *self, PyObject *args)
{
- return PyObject_CallMethod(self, "seek", "ii", 0, 1);
+ _Py_IDENTIFIER(seek);
+
+ return _PyObject_CallMethodId(self, &PyId_seek, "ii", 0, 1);
}
PyDoc_STRVAR(iobase_truncate_doc,
@@ -190,12 +193,13 @@ static PyObject *
iobase_close(PyObject *self, PyObject *args)
{
PyObject *res;
+ _Py_IDENTIFIER(__IOBase_closed);
if (IS_CLOSED(self))
Py_RETURN_NONE;
res = PyObject_CallMethodObjArgs(self, _PyIO_str_flush, NULL);
- PyObject_SetAttrString(self, "__IOBase_closed", Py_True);
+ _PyObject_SetAttrId(self, &PyId___IOBase_closed, Py_True);
if (res == NULL) {
return NULL;
}
@@ -464,12 +468,14 @@ iobase_readline(PyObject *self, PyObject *args)
int has_peek = 0;
PyObject *buffer, *result;
Py_ssize_t old_size = -1;
+ _Py_IDENTIFIER(read);
+ _Py_IDENTIFIER(peek);
if (!PyArg_ParseTuple(args, "|O&:readline", &_PyIO_ConvertSsize_t, &limit)) {
return NULL;
}
- if (PyObject_HasAttrString(self, "peek"))
+ if (_PyObject_HasAttrId(self, &PyId_peek))
has_peek = 1;
buffer = PyByteArray_FromStringAndSize(NULL, 0);
@@ -481,7 +487,9 @@ iobase_readline(PyObject *self, PyObject *args)
PyObject *b;
if (has_peek) {
- PyObject *readahead = PyObject_CallMethod(self, "peek", "i", 1);
+ _Py_IDENTIFIER(peek);
+ PyObject *readahead = _PyObject_CallMethodId(self, &PyId_peek, "i", 1);
+
if (readahead == NULL)
goto fail;
if (!PyBytes_Check(readahead)) {
@@ -515,7 +523,7 @@ iobase_readline(PyObject *self, PyObject *args)
Py_DECREF(readahead);
}
- b = PyObject_CallMethod(self, "read", "n", nreadahead);
+ b = _PyObject_CallMethodId(self, &PyId_read, "n", nreadahead);
if (b == NULL)
goto fail;
if (!PyBytes_Check(b)) {
@@ -601,7 +609,9 @@ iobase_readlines(PyObject *self, PyObject *args)
/* XXX special-casing this made sense in the Python version in order
to remove the bytecode interpretation overhead, but it could
probably be removed here. */
- PyObject *ret = PyObject_CallMethod(result, "extend", "O", self);
+ _Py_IDENTIFIER(extend);
+ PyObject *ret = _PyObject_CallMethodId(result, &PyId_extend, "O", self);
+
if (ret == NULL) {
Py_DECREF(result);
return NULL;
@@ -781,8 +791,11 @@ rawiobase_read(PyObject *self, PyObject *args)
return NULL;
}
- if (n < 0)
- return PyObject_CallMethod(self, "readall", NULL);
+ if (n < 0) {
+ _Py_IDENTIFIER(readall);
+
+ return _PyObject_CallMethodId(self, &PyId_readall, NULL);
+ }
/* TODO: allocate a bytes object directly instead and manually construct
a writable memoryview pointing to it. */
@@ -823,8 +836,9 @@ rawiobase_readall(PyObject *self, PyObject *args)
return NULL;
while (1) {
- PyObject *data = PyObject_CallMethod(self, "read",
- "i", DEFAULT_BUFFER_SIZE);
+ _Py_IDENTIFIER(read);
+ PyObject *data = _PyObject_CallMethodId(self, &PyId_read,
+ "i", DEFAULT_BUFFER_SIZE);
if (!data) {
Py_DECREF(chunks);
return NULL;
diff --git a/Modules/_io/stringio.c b/Modules/_io/stringio.c
index c9d14b1..c4794c9 100644
--- a/Modules/_io/stringio.c
+++ b/Modules/_io/stringio.c
@@ -7,13 +7,25 @@
than the enclosed string, for proper functioning of _PyIO_find_line_ending.
*/
+#define STATE_REALIZED 1
+#define STATE_ACCUMULATING 2
+
typedef struct {
PyObject_HEAD
- Py_UNICODE *buf;
+ Py_UCS4 *buf;
Py_ssize_t pos;
Py_ssize_t string_size;
size_t buf_size;
+ /* The stringio object can be in two states: accumulating or realized.
+ In accumulating state, the internal buffer contains nothing and
+ the contents are given by the embedded _PyAccu structure.
+ In realized state, the internal buffer is meaningful and the
+ _PyAccu is destroyed.
+ */
+ int state;
+ _PyAccu accu;
+
char ok; /* initialized? */
char closed;
char readuniversal;
@@ -21,7 +33,7 @@ typedef struct {
PyObject *decoder;
PyObject *readnl;
PyObject *writenl;
-
+
PyObject *dict;
PyObject *weakreflist;
} stringio;
@@ -40,6 +52,11 @@ typedef struct {
return NULL; \
}
+#define ENSURE_REALIZED(self) \
+ if (realize(self) < 0) { \
+ return NULL; \
+ }
+
PyDoc_STRVAR(stringio_doc,
"Text I/O implementation using an in-memory buffer.\n"
"\n"
@@ -56,7 +73,7 @@ resize_buffer(stringio *self, size_t size)
/* Here, unsigned types are used to avoid dealing with signed integer
overflow, which is undefined in C. */
size_t alloc = self->buf_size;
- Py_UNICODE *new_buf = NULL;
+ Py_UCS4 *new_buf = NULL;
assert(self->buf != NULL);
@@ -84,10 +101,9 @@ resize_buffer(stringio *self, size_t size)
alloc = size + 1;
}
- if (alloc > ((size_t)-1) / sizeof(Py_UNICODE))
+ if (alloc > PY_SIZE_MAX / sizeof(Py_UCS4))
goto overflow;
- new_buf = (Py_UNICODE *)PyMem_Realloc(self->buf,
- alloc * sizeof(Py_UNICODE));
+ new_buf = (Py_UCS4 *)PyMem_Realloc(self->buf, alloc * sizeof(Py_UCS4));
if (new_buf == NULL) {
PyErr_NoMemory();
return -1;
@@ -103,14 +119,62 @@ resize_buffer(stringio *self, size_t size)
return -1;
}
+static PyObject *
+make_intermediate(stringio *self)
+{
+ PyObject *intermediate = _PyAccu_Finish(&self->accu);
+ self->state = STATE_REALIZED;
+ if (intermediate == NULL)
+ return NULL;
+ if (_PyAccu_Init(&self->accu) ||
+ _PyAccu_Accumulate(&self->accu, intermediate)) {
+ Py_DECREF(intermediate);
+ return NULL;
+ }
+ self->state = STATE_ACCUMULATING;
+ return intermediate;
+}
+
+static int
+realize(stringio *self)
+{
+ Py_ssize_t len;
+ PyObject *intermediate;
+
+ if (self->state == STATE_REALIZED)
+ return 0;
+ assert(self->state == STATE_ACCUMULATING);
+ self->state = STATE_REALIZED;
+
+ intermediate = _PyAccu_Finish(&self->accu);
+ if (intermediate == NULL)
+ return -1;
+
+ /* Append the intermediate string to the internal buffer.
+ The length should be equal to the current cursor position.
+ */
+ len = PyUnicode_GET_LENGTH(intermediate);
+ if (resize_buffer(self, len) < 0) {
+ Py_DECREF(intermediate);
+ return -1;
+ }
+ if (!PyUnicode_AsUCS4(intermediate, self->buf, len, 0)) {
+ Py_DECREF(intermediate);
+ return -1;
+ }
+
+ Py_DECREF(intermediate);
+ return 0;
+}
+
/* Internal routine for writing a whole PyUnicode object to the buffer of a
StringIO object. Returns 0 on success, or -1 on error. */
static Py_ssize_t
write_str(stringio *self, PyObject *obj)
{
- Py_UNICODE *str;
Py_ssize_t len;
PyObject *decoded = NULL;
+
assert(self->buf != NULL);
assert(self->pos >= 0);
@@ -132,9 +196,11 @@ write_str(stringio *self, PyObject *obj)
return -1;
assert(PyUnicode_Check(decoded));
- str = PyUnicode_AS_UNICODE(decoded);
- len = PyUnicode_GET_SIZE(decoded);
-
+ if (PyUnicode_READY(decoded)) {
+ Py_DECREF(decoded);
+ return -1;
+ }
+ len = PyUnicode_GET_LENGTH(decoded);
assert(len >= 0);
/* This overflow check is not strictly necessary. However, it avoids us to
@@ -145,6 +211,17 @@ write_str(stringio *self, PyObject *obj)
"new position too large");
goto fail;
}
+
+ if (self->state == STATE_ACCUMULATING) {
+ if (self->string_size == self->pos) {
+ if (_PyAccu_Accumulate(&self->accu, decoded))
+ goto fail;
+ goto success;
+ }
+ if (realize(self))
+ goto fail;
+ }
+
if (self->pos + len > self->string_size) {
if (resize_buffer(self, self->pos + len) < 0)
goto fail;
@@ -161,18 +238,22 @@ write_str(stringio *self, PyObject *obj)
*/
memset(self->buf + self->string_size, '\0',
- (self->pos - self->string_size) * sizeof(Py_UNICODE));
+ (self->pos - self->string_size) * sizeof(Py_UCS4));
}
/* Copy the data to the internal buffer, overwriting some of the
existing data if self->pos < self->string_size. */
- memcpy(self->buf + self->pos, str, len * sizeof(Py_UNICODE));
- self->pos += len;
+ if (!PyUnicode_AsUCS4(decoded,
+ self->buf + self->pos,
+ self->buf_size - self->pos,
+ 0))
+ goto fail;
+success:
/* Set the new length of the internal string if it has changed. */
- if (self->string_size < self->pos) {
+ self->pos += len;
+ if (self->string_size < self->pos)
self->string_size = self->pos;
- }
Py_DECREF(decoded);
return 0;
@@ -190,7 +271,10 @@ stringio_getvalue(stringio *self)
{
CHECK_INITIALIZED(self);
CHECK_CLOSED(self);
- return PyUnicode_FromUnicode(self->buf, self->string_size);
+ if (self->state == STATE_ACCUMULATING)
+ return make_intermediate(self);
+ return PyUnicode_FromKindAndData(PyUnicode_4BYTE_KIND, self->buf,
+ self->string_size);
}
PyDoc_STRVAR(stringio_tell_doc,
@@ -214,7 +298,7 @@ static PyObject *
stringio_read(stringio *self, PyObject *args)
{
Py_ssize_t size, n;
- Py_UNICODE *output;
+ Py_UCS4 *output;
PyObject *arg = Py_None;
CHECK_INITIALIZED(self);
@@ -245,21 +329,29 @@ stringio_read(stringio *self, PyObject *args)
size = 0;
}
+ /* Optimization for seek(0); read() */
+ if (self->state == STATE_ACCUMULATING && self->pos == 0 && size == n) {
+ PyObject *result = make_intermediate(self);
+ self->pos = self->string_size;
+ return result;
+ }
+
+ ENSURE_REALIZED(self);
output = self->buf + self->pos;
self->pos += size;
- return PyUnicode_FromUnicode(output, size);
+ return PyUnicode_FromKindAndData(PyUnicode_4BYTE_KIND, output, size);
}
/* Internal helper, used by stringio_readline and stringio_iternext */
static PyObject *
_stringio_readline(stringio *self, Py_ssize_t limit)
{
- Py_UNICODE *start, *end, old_char;
+ Py_UCS4 *start, *end, old_char;
Py_ssize_t len, consumed;
/* In case of overseek, return the empty string */
if (self->pos >= self->string_size)
- return PyUnicode_FromString("");
+ return PyUnicode_New(0, 0);
start = self->buf + self->pos;
if (limit < 0 || limit > self->string_size - self->pos)
@@ -270,14 +362,14 @@ _stringio_readline(stringio *self, Py_ssize_t limit)
*end = '\0';
len = _PyIO_find_line_ending(
self->readtranslate, self->readuniversal, self->readnl,
- start, end, &consumed);
+ PyUnicode_4BYTE_KIND, (char*)start, (char*)end, &consumed);
*end = old_char;
/* If we haven't found any line ending, we just return everything
(`consumed` is ignored). */
if (len < 0)
len = limit;
self->pos += len;
- return PyUnicode_FromUnicode(start, len);
+ return PyUnicode_FromKindAndData(PyUnicode_4BYTE_KIND, start, len);
}
PyDoc_STRVAR(stringio_readline_doc,
@@ -295,6 +387,7 @@ stringio_readline(stringio *self, PyObject *args)
if (!PyArg_ParseTuple(args, "|O:readline", &arg))
return NULL;
CHECK_CLOSED(self);
+ ENSURE_REALIZED(self);
if (PyNumber_Check(arg)) {
limit = PyNumber_AsSsize_t(arg, PyExc_OverflowError);
@@ -316,6 +409,7 @@ stringio_iternext(stringio *self)
CHECK_INITIALIZED(self);
CHECK_CLOSED(self);
+ ENSURE_REALIZED(self);
if (Py_TYPE(self) == &PyStringIO_Type) {
/* Skip method call overhead for speed */
@@ -337,7 +431,7 @@ stringio_iternext(stringio *self)
if (line == NULL)
return NULL;
- if (PyUnicode_GET_SIZE(line) == 0) {
+ if (PyUnicode_GET_LENGTH(line) == 0) {
/* Reached EOF */
Py_DECREF(line);
return NULL;
@@ -386,6 +480,7 @@ stringio_truncate(stringio *self, PyObject *args)
}
if (size < self->string_size) {
+ ENSURE_REALIZED(self);
if (resize_buffer(self, size) < 0)
return NULL;
self->string_size = size;
@@ -462,8 +557,10 @@ stringio_write(stringio *self, PyObject *obj)
Py_TYPE(obj)->tp_name);
return NULL;
}
+ if (PyUnicode_READY(obj))
+ return NULL;
CHECK_CLOSED(self);
- size = PyUnicode_GET_SIZE(obj);
+ size = PyUnicode_GET_LENGTH(obj);
if (size > 0 && write_str(self, obj) < 0)
return NULL;
@@ -484,6 +581,7 @@ stringio_close(stringio *self)
/* Free up some memory */
if (resize_buffer(self, 0) < 0)
return NULL;
+ _PyAccu_Destroy(&self->accu);
Py_CLEAR(self->readnl);
Py_CLEAR(self->writenl);
Py_CLEAR(self->decoder);
@@ -513,6 +611,7 @@ stringio_dealloc(stringio *self)
PyMem_Free(self->buf);
self->buf = NULL;
}
+ _PyAccu_Destroy(&self->accu);
Py_CLEAR(self->readnl);
Py_CLEAR(self->writenl);
Py_CLEAR(self->decoder);
@@ -535,7 +634,7 @@ stringio_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
/* tp_alloc initializes all the fields to zero. So we don't have to
initialize them here. */
- self->buf = (Py_UNICODE *)PyMem_Malloc(0);
+ self->buf = (Py_UCS4 *)PyMem_Malloc(0);
if (self->buf == NULL) {
Py_DECREF(self);
return PyErr_NoMemory();
@@ -551,6 +650,7 @@ stringio_init(stringio *self, PyObject *args, PyObject *kwds)
PyObject *value = NULL;
PyObject *newline_obj = NULL;
char *newline = "\n";
+ Py_ssize_t value_len;
if (!PyArg_ParseTupleAndKeywords(args, kwds, "|OO:__init__", kwlist,
&value, &newline_obj))
@@ -592,6 +692,7 @@ stringio_init(stringio *self, PyObject *args, PyObject *kwds)
self->ok = 0;
+ _PyAccu_Destroy(&self->accu);
Py_CLEAR(self->readnl);
Py_CLEAR(self->writenl);
Py_CLEAR(self->decoder);
@@ -628,19 +729,27 @@ stringio_init(stringio *self, PyObject *args, PyObject *kwds)
/* Now everything is set up, resize buffer to size of initial value,
and copy it */
self->string_size = 0;
- if (value && value != Py_None) {
- Py_ssize_t len = PyUnicode_GetSize(value);
+ if (value && value != Py_None)
+ value_len = PyUnicode_GetLength(value);
+ else
+ value_len = 0;
+ if (value_len > 0) {
/* This is a heuristic, for newline translation might change
the string length. */
- if (resize_buffer(self, len) < 0)
+ if (resize_buffer(self, 0) < 0)
return -1;
+ self->state = STATE_REALIZED;
self->pos = 0;
if (write_str(self, value) < 0)
return -1;
}
else {
+ /* Empty stringio object, we can start by accumulating */
if (resize_buffer(self, 0) < 0)
return -1;
+ if (_PyAccu_Init(&self->accu))
+ return -1;
+ self->state = STATE_ACCUMULATING;
}
self->pos = 0;
@@ -747,11 +856,22 @@ stringio_setstate(stringio *self, PyObject *state)
once by __init__. So we do not take any chance and replace object's
buffer completely. */
{
- Py_UNICODE *buf = PyUnicode_AS_UNICODE(PyTuple_GET_ITEM(state, 0));
- Py_ssize_t bufsize = PyUnicode_GET_SIZE(PyTuple_GET_ITEM(state, 0));
- if (resize_buffer(self, bufsize) < 0)
+ PyObject *item;
+ Py_UCS4 *buf;
+ Py_ssize_t bufsize;
+
+ item = PyTuple_GET_ITEM(state, 0);
+ buf = PyUnicode_AsUCS4Copy(item);
+ if (buf == NULL)
return NULL;
- memcpy(self->buf, buf, bufsize * sizeof(Py_UNICODE));
+ bufsize = PyUnicode_GET_LENGTH(item);
+
+ if (resize_buffer(self, bufsize) < 0) {
+ PyMem_Free(buf);
+ return NULL;
+ }
+ memcpy(self->buf, buf, bufsize * sizeof(Py_UCS4));
+ PyMem_Free(buf);
self->string_size = bufsize;
}
diff --git a/Modules/_io/textio.c b/Modules/_io/textio.c
index 9c5f441..890a356 100644
--- a/Modules/_io/textio.c
+++ b/Modules/_io/textio.c
@@ -11,6 +11,28 @@
#include "structmember.h"
#include "_iomodule.h"
+_Py_IDENTIFIER(close);
+_Py_IDENTIFIER(_dealloc_warn);
+_Py_IDENTIFIER(decode);
+_Py_IDENTIFIER(device_encoding);
+_Py_IDENTIFIER(fileno);
+_Py_IDENTIFIER(flush);
+_Py_IDENTIFIER(getpreferredencoding);
+_Py_IDENTIFIER(isatty);
+_Py_IDENTIFIER(mode);
+_Py_IDENTIFIER(name);
+_Py_IDENTIFIER(raw);
+_Py_IDENTIFIER(read);
+_Py_IDENTIFIER(read1);
+_Py_IDENTIFIER(readable);
+_Py_IDENTIFIER(replace);
+_Py_IDENTIFIER(reset);
+_Py_IDENTIFIER(seek);
+_Py_IDENTIFIER(seekable);
+_Py_IDENTIFIER(setstate);
+_Py_IDENTIFIER(tell);
+_Py_IDENTIFIER(writable);
+
/* TextIOBase */
PyDoc_STRVAR(textiobase_doc,
@@ -274,18 +296,26 @@ _PyIncrementalNewlineDecoder_decode(PyObject *_self,
goto error;
}
- output_len = PyUnicode_GET_SIZE(output);
+ if (PyUnicode_READY(output) == -1)
+ goto error;
+
+ output_len = PyUnicode_GET_LENGTH(output);
if (self->pendingcr && (final || output_len > 0)) {
- Py_UNICODE *out;
- PyObject *modified = PyUnicode_FromUnicode(NULL, output_len + 1);
+ /* Prefix output with CR */
+ int kind;
+ PyObject *modified;
+ char *out;
+
+ modified = PyUnicode_New(output_len + 1,
+ PyUnicode_MAX_CHAR_VALUE(output));
if (modified == NULL)
goto error;
- out = PyUnicode_AS_UNICODE(modified);
- out[0] = '\r';
- memcpy(out + 1, PyUnicode_AS_UNICODE(output),
- output_len * sizeof(Py_UNICODE));
+ kind = PyUnicode_KIND(modified);
+ out = PyUnicode_DATA(modified);
+ PyUnicode_WRITE(kind, PyUnicode_DATA(modified), 0, '\r');
+ memcpy(out + kind, PyUnicode_DATA(output), kind * output_len);
Py_DECREF(output);
- output = modified;
+ output = modified; /* output remains ready */
self->pendingcr = 0;
output_len++;
}
@@ -295,21 +325,13 @@ _PyIncrementalNewlineDecoder_decode(PyObject *_self,
*/
if (!final) {
if (output_len > 0
- && PyUnicode_AS_UNICODE(output)[output_len - 1] == '\r') {
-
- if (Py_REFCNT(output) == 1) {
- if (PyUnicode_Resize(&output, output_len - 1) < 0)
- goto error;
- }
- else {
- PyObject *modified = PyUnicode_FromUnicode(
- PyUnicode_AS_UNICODE(output),
- output_len - 1);
- if (modified == NULL)
- goto error;
- Py_DECREF(output);
- output = modified;
- }
+ && PyUnicode_READ_CHAR(output, output_len - 1) == '\r')
+ {
+ PyObject *modified = PyUnicode_Substring(output, 0, output_len -1);
+ if (modified == NULL)
+ goto error;
+ Py_DECREF(output);
+ output = modified;
self->pendingcr = 1;
}
}
@@ -317,13 +339,15 @@ _PyIncrementalNewlineDecoder_decode(PyObject *_self,
/* Record which newlines are read and do newline translation if desired,
all in one pass. */
{
- Py_UNICODE *in_str;
+ void *in_str;
Py_ssize_t len;
int seennl = self->seennl;
int only_lf = 0;
+ int kind;
- in_str = PyUnicode_AS_UNICODE(output);
- len = PyUnicode_GET_SIZE(output);
+ in_str = PyUnicode_DATA(output);
+ len = PyUnicode_GET_LENGTH(output);
+ kind = PyUnicode_KIND(output);
if (len == 0)
return output;
@@ -332,7 +356,7 @@ _PyIncrementalNewlineDecoder_decode(PyObject *_self,
for the \r *byte* with the libc's optimized memchr.
*/
if (seennl == SEEN_LF || seennl == 0) {
- only_lf = (memchr(in_str, '\r', len * sizeof(Py_UNICODE)) == NULL);
+ only_lf = (memchr(in_str, '\r', kind * len) == NULL);
}
if (only_lf) {
@@ -340,51 +364,51 @@ _PyIncrementalNewlineDecoder_decode(PyObject *_self,
(there's nothing else to be done, even when in translation mode)
*/
if (seennl == 0 &&
- memchr(in_str, '\n', len * sizeof(Py_UNICODE)) != NULL) {
- Py_UNICODE *s, *end;
- s = in_str;
- end = in_str + len;
- for (;;) {
- Py_UNICODE c;
- /* Fast loop for non-control characters */
- while (*s > '\n')
- s++;
- c = *s++;
- if (c == '\n') {
- seennl |= SEEN_LF;
- break;
+ memchr(in_str, '\n', kind * len) != NULL) {
+ if (kind == PyUnicode_1BYTE_KIND)
+ seennl |= SEEN_LF;
+ else {
+ Py_ssize_t i = 0;
+ for (;;) {
+ Py_UCS4 c;
+ /* Fast loop for non-control characters */
+ while (PyUnicode_READ(kind, in_str, i) > '\n')
+ i++;
+ c = PyUnicode_READ(kind, in_str, i++);
+ if (c == '\n') {
+ seennl |= SEEN_LF;
+ break;
+ }
+ if (i >= len)
+ break;
}
- if (s > end)
- break;
}
}
/* Finished: we have scanned for newlines, and none of them
need translating */
}
else if (!self->translate) {
- Py_UNICODE *s, *end;
+ Py_ssize_t i = 0;
/* We have already seen all newline types, no need to scan again */
if (seennl == SEEN_ALL)
goto endscan;
- s = in_str;
- end = in_str + len;
for (;;) {
- Py_UNICODE c;
+ Py_UCS4 c;
/* Fast loop for non-control characters */
- while (*s > '\r')
- s++;
- c = *s++;
+ while (PyUnicode_READ(kind, in_str, i) > '\r')
+ i++;
+ c = PyUnicode_READ(kind, in_str, i++);
if (c == '\n')
seennl |= SEEN_LF;
else if (c == '\r') {
- if (*s == '\n') {
+ if (PyUnicode_READ(kind, in_str, i) == '\n') {
seennl |= SEEN_CRLF;
- s++;
+ i++;
}
else
seennl |= SEEN_CR;
}
- if (s > end)
+ if (i >= len)
break;
if (seennl == SEEN_ALL)
break;
@@ -393,61 +417,51 @@ _PyIncrementalNewlineDecoder_decode(PyObject *_self,
;
}
else {
- PyObject *translated = NULL;
- Py_UNICODE *out_str;
- Py_UNICODE *in, *out, *end;
- if (Py_REFCNT(output) != 1) {
- /* We could try to optimize this so that we only do a copy
- when there is something to translate. On the other hand,
- most decoders should only output non-shared strings, i.e.
- translation is done in place. */
- translated = PyUnicode_FromUnicode(NULL, len);
- if (translated == NULL)
- goto error;
- assert(Py_REFCNT(translated) == 1);
- memcpy(PyUnicode_AS_UNICODE(translated),
- PyUnicode_AS_UNICODE(output),
- len * sizeof(Py_UNICODE));
- }
- else {
- translated = output;
+ void *translated;
+ int kind = PyUnicode_KIND(output);
+ void *in_str = PyUnicode_DATA(output);
+ Py_ssize_t in, out;
+ /* XXX: Previous in-place translation here is disabled as
+ resizing is not possible anymore */
+ /* We could try to optimize this so that we only do a copy
+ when there is something to translate. On the other hand,
+ we already know there is a \r byte, so chances are high
+ that something needs to be done. */
+ translated = PyMem_Malloc(kind * len);
+ if (translated == NULL) {
+ PyErr_NoMemory();
+ goto error;
}
- out_str = PyUnicode_AS_UNICODE(translated);
- in = in_str;
- out = out_str;
- end = in_str + len;
+ in = out = 0;
for (;;) {
- Py_UNICODE c;
+ Py_UCS4 c;
/* Fast loop for non-control characters */
- while ((c = *in++) > '\r')
- *out++ = c;
+ while ((c = PyUnicode_READ(kind, in_str, in++)) > '\r')
+ PyUnicode_WRITE(kind, translated, out++, c);
if (c == '\n') {
- *out++ = c;
+ PyUnicode_WRITE(kind, translated, out++, c);
seennl |= SEEN_LF;
continue;
}
if (c == '\r') {
- if (*in == '\n') {
+ if (PyUnicode_READ(kind, in_str, in) == '\n') {
in++;
seennl |= SEEN_CRLF;
}
else
seennl |= SEEN_CR;
- *out++ = '\n';
+ PyUnicode_WRITE(kind, translated, out++, '\n');
continue;
}
- if (in > end)
+ if (in > len)
break;
- *out++ = c;
- }
- if (translated != output) {
- Py_DECREF(output);
- output = translated;
- }
- if (out - out_str != len) {
- if (PyUnicode_Resize(&output, out - out_str) < 0)
- goto error;
+ PyUnicode_WRITE(kind, translated, out++, c);
}
+ Py_DECREF(output);
+ output = PyUnicode_FromKindAndData(kind, translated, out);
+ PyMem_Free(translated);
+ if (!output)
+ goto error;
}
self->seennl |= seennl;
}
@@ -514,8 +528,8 @@ incrementalnewlinedecoder_setstate(nldecoder_object *self, PyObject *state)
flag >>= 1;
if (self->decoder != Py_None)
- return PyObject_CallMethod(self->decoder,
- "setstate", "((OK))", buffer, flag);
+ return _PyObject_CallMethodId(self->decoder,
+ &PyId_setstate, "((OK))", buffer, flag);
else
Py_RETURN_NONE;
}
@@ -680,12 +694,16 @@ typedef struct
PyObject *pending_bytes; /* list of bytes objects waiting to be
written, or NULL */
Py_ssize_t pending_bytes_count;
- PyObject *snapshot;
+
/* snapshot is either None, or a tuple (dec_flags, next_input) where
* dec_flags is the second (integer) item of the decoder state and
* next_input is the chunk of input bytes that comes next after the
* snapshot point. We use this to reconstruct decoder states in tell().
*/
+ PyObject *snapshot;
+ /* Bytes-to-characters ratio for the current chunk. Serves as input for
+ the heuristic in tell(). */
+ double b2cratio;
/* Cache raw object if it's a FileIO object */
PyObject *raw;
@@ -701,25 +719,21 @@ typedef struct
static PyObject *
ascii_encode(textio *self, PyObject *text)
{
- return PyUnicode_EncodeASCII(PyUnicode_AS_UNICODE(text),
- PyUnicode_GET_SIZE(text),
- PyBytes_AS_STRING(self->errors));
+ return _PyUnicode_AsASCIIString(text, PyBytes_AS_STRING(self->errors));
}
static PyObject *
utf16be_encode(textio *self, PyObject *text)
{
- return PyUnicode_EncodeUTF16(PyUnicode_AS_UNICODE(text),
- PyUnicode_GET_SIZE(text),
- PyBytes_AS_STRING(self->errors), 1);
+ return _PyUnicode_EncodeUTF16(text,
+ PyBytes_AS_STRING(self->errors), 1);
}
static PyObject *
utf16le_encode(textio *self, PyObject *text)
{
- return PyUnicode_EncodeUTF16(PyUnicode_AS_UNICODE(text),
- PyUnicode_GET_SIZE(text),
- PyBytes_AS_STRING(self->errors), -1);
+ return _PyUnicode_EncodeUTF16(text,
+ PyBytes_AS_STRING(self->errors), -1);
}
static PyObject *
@@ -733,25 +747,22 @@ utf16_encode(textio *self, PyObject *text)
return utf16le_encode(self, text);
#endif
}
- return PyUnicode_EncodeUTF16(PyUnicode_AS_UNICODE(text),
- PyUnicode_GET_SIZE(text),
- PyBytes_AS_STRING(self->errors), 0);
+ return _PyUnicode_EncodeUTF16(text,
+ PyBytes_AS_STRING(self->errors), 0);
}
static PyObject *
utf32be_encode(textio *self, PyObject *text)
{
- return PyUnicode_EncodeUTF32(PyUnicode_AS_UNICODE(text),
- PyUnicode_GET_SIZE(text),
- PyBytes_AS_STRING(self->errors), 1);
+ return _PyUnicode_EncodeUTF32(text,
+ PyBytes_AS_STRING(self->errors), 1);
}
static PyObject *
utf32le_encode(textio *self, PyObject *text)
{
- return PyUnicode_EncodeUTF32(PyUnicode_AS_UNICODE(text),
- PyUnicode_GET_SIZE(text),
- PyBytes_AS_STRING(self->errors), -1);
+ return _PyUnicode_EncodeUTF32(text,
+ PyBytes_AS_STRING(self->errors), -1);
}
static PyObject *
@@ -765,25 +776,20 @@ utf32_encode(textio *self, PyObject *text)
return utf32le_encode(self, text);
#endif
}
- return PyUnicode_EncodeUTF32(PyUnicode_AS_UNICODE(text),
- PyUnicode_GET_SIZE(text),
- PyBytes_AS_STRING(self->errors), 0);
+ return _PyUnicode_EncodeUTF32(text,
+ PyBytes_AS_STRING(self->errors), 0);
}
static PyObject *
utf8_encode(textio *self, PyObject *text)
{
- return PyUnicode_EncodeUTF8(PyUnicode_AS_UNICODE(text),
- PyUnicode_GET_SIZE(text),
- PyBytes_AS_STRING(self->errors));
+ return _PyUnicode_AsUTF8String(text, PyBytes_AS_STRING(self->errors));
}
static PyObject *
latin1_encode(textio *self, PyObject *text)
{
- return PyUnicode_EncodeLatin1(PyUnicode_AS_UNICODE(text),
- PyUnicode_GET_SIZE(text),
- PyBytes_AS_STRING(self->errors));
+ return _PyUnicode_AsLatin1String(text, PyBytes_AS_STRING(self->errors));
}
/* Map normalized encoding names onto the specialized encoding funcs */
@@ -852,11 +858,12 @@ textiowrapper_init(textio *self, PyObject *args, PyObject *kwds)
self->decoded_chars_used = 0;
self->pending_bytes_count = 0;
self->encodefunc = NULL;
+ self->b2cratio = 0.0;
if (encoding == NULL) {
/* Try os.device_encoding(fileno) */
PyObject *fileno;
- fileno = PyObject_CallMethod(buffer, "fileno", NULL);
+ fileno = _PyObject_CallMethodId(buffer, &PyId_fileno, NULL);
/* Ignore only AttributeError and UnsupportedOperation */
if (fileno == NULL) {
if (PyErr_ExceptionMatches(PyExc_AttributeError) ||
@@ -868,9 +875,9 @@ textiowrapper_init(textio *self, PyObject *args, PyObject *kwds)
}
}
else {
- self->encoding = PyObject_CallMethod(state->os_module,
- "device_encoding",
- "N", fileno);
+ self->encoding = _PyObject_CallMethodId(state->os_module,
+ &PyId_device_encoding,
+ "N", fileno);
if (self->encoding == NULL)
goto error;
else if (!PyUnicode_Check(self->encoding))
@@ -887,8 +894,8 @@ textiowrapper_init(textio *self, PyObject *args, PyObject *kwds)
}
else {
use_locale:
- self->encoding = PyObject_CallMethod(
- state->locale_module, "getpreferredencoding", NULL);
+ self->encoding = _PyObject_CallMethodId(
+ state->locale_module, &PyId_getpreferredencoding, NULL);
if (self->encoding == NULL) {
catch_ImportError:
/*
@@ -953,7 +960,7 @@ textiowrapper_init(textio *self, PyObject *args, PyObject *kwds)
#endif
/* Build the decoder object */
- res = PyObject_CallMethod(buffer, "readable", NULL);
+ res = _PyObject_CallMethodId(buffer, &PyId_readable, NULL);
if (res == NULL)
goto error;
r = PyObject_IsTrue(res);
@@ -978,7 +985,7 @@ textiowrapper_init(textio *self, PyObject *args, PyObject *kwds)
}
/* Build the encoder object */
- res = PyObject_CallMethod(buffer, "writable", NULL);
+ res = _PyObject_CallMethodId(buffer, &PyId_writable, NULL);
if (res == NULL)
goto error;
r = PyObject_IsTrue(res);
@@ -995,7 +1002,7 @@ textiowrapper_init(textio *self, PyObject *args, PyObject *kwds)
ci = _PyCodec_Lookup(encoding);
if (ci == NULL)
goto error;
- res = PyObject_GetAttrString(ci, "name");
+ res = _PyObject_GetAttrId(ci, &PyId_name);
Py_DECREF(ci);
if (res == NULL) {
if (PyErr_ExceptionMatches(PyExc_AttributeError))
@@ -1022,7 +1029,7 @@ textiowrapper_init(textio *self, PyObject *args, PyObject *kwds)
if (Py_TYPE(buffer) == &PyBufferedReader_Type ||
Py_TYPE(buffer) == &PyBufferedWriter_Type ||
Py_TYPE(buffer) == &PyBufferedRandom_Type) {
- raw = PyObject_GetAttrString(buffer, "raw");
+ raw = _PyObject_GetAttrId(buffer, &PyId_raw);
/* Cache the raw FileIO object to speed up 'closed' checks */
if (raw == NULL) {
if (PyErr_ExceptionMatches(PyExc_AttributeError))
@@ -1036,13 +1043,13 @@ textiowrapper_init(textio *self, PyObject *args, PyObject *kwds)
Py_DECREF(raw);
}
- res = PyObject_CallMethod(buffer, "seekable", NULL);
+ res = _PyObject_CallMethodId(buffer, &PyId_seekable, NULL);
if (res == NULL)
goto error;
self->seekable = self->telling = PyObject_IsTrue(res);
Py_DECREF(res);
- self->has_read1 = PyObject_HasAttrString(buffer, "read1");
+ self->has_read1 = _PyObject_HasAttrId(buffer, &PyId_read1);
self->encoding_start_of_stream = 0;
if (self->seekable && self->encoder) {
@@ -1208,18 +1215,6 @@ textiowrapper_detach(textio *self)
return buffer;
}
-Py_LOCAL_INLINE(const Py_UNICODE *)
-findchar(const Py_UNICODE *s, Py_ssize_t size, Py_UNICODE ch)
-{
- /* like wcschr, but doesn't stop at NULL characters */
- while (size-- > 0) {
- if (*s == ch)
- return s;
- s++;
- }
- return NULL;
-}
-
/* Flush the internal write buffer. This doesn't explicitly flush the
underlying buffered object, though. */
static int
@@ -1264,6 +1259,9 @@ textiowrapper_write(textio *self, PyObject *args)
return NULL;
}
+ if (PyUnicode_READY(text) == -1)
+ return NULL;
+
CHECK_CLOSED(self);
if (self->encoder == NULL)
@@ -1271,16 +1269,15 @@ textiowrapper_write(textio *self, PyObject *args)
Py_INCREF(text);
- textlen = PyUnicode_GetSize(text);
+ textlen = PyUnicode_GET_LENGTH(text);
if ((self->writetranslate && self->writenl != NULL) || self->line_buffering)
- if (findchar(PyUnicode_AS_UNICODE(text),
- PyUnicode_GET_SIZE(text), '\n'))
+ if (PyUnicode_FindChar(text, '\n', 0, PyUnicode_GET_LENGTH(text), 1) != -1)
haslf = 1;
if (haslf && self->writetranslate && self->writenl != NULL) {
- PyObject *newtext = PyObject_CallMethod(
- text, "replace", "ss", "\n", self->writenl);
+ PyObject *newtext = _PyObject_CallMethodId(
+ text, &PyId_replace, "ss", "\n", self->writenl);
Py_DECREF(text);
if (newtext == NULL)
return NULL;
@@ -1291,8 +1288,7 @@ textiowrapper_write(textio *self, PyObject *args)
needflush = 1;
else if (self->line_buffering &&
(haslf ||
- findchar(PyUnicode_AS_UNICODE(text),
- PyUnicode_GET_SIZE(text), '\r')))
+ PyUnicode_FindChar(text, '\r', 0, PyUnicode_GET_LENGTH(text), 1) != -1))
needflush = 1;
/* XXX What if we were just reading? */
@@ -1336,7 +1332,7 @@ textiowrapper_write(textio *self, PyObject *args)
Py_CLEAR(self->snapshot);
if (self->decoder) {
- ret = PyObject_CallMethod(self->decoder, "reset", NULL);
+ ret = _PyObject_CallMethodId(self->decoder, &PyId_reset, NULL);
if (ret == NULL)
return NULL;
Py_DECREF(ret);
@@ -1364,7 +1360,8 @@ textiowrapper_get_decoded_chars(textio *self, Py_ssize_t n)
if (self->decoded_chars == NULL)
return PyUnicode_FromStringAndSize(NULL, 0);
- avail = (PyUnicode_GET_SIZE(self->decoded_chars)
+ /* decoded_chars is guaranteed to be "ready". */
+ avail = (PyUnicode_GET_LENGTH(self->decoded_chars)
- self->decoded_chars_used);
assert(avail >= 0);
@@ -1373,9 +1370,9 @@ textiowrapper_get_decoded_chars(textio *self, Py_ssize_t n)
n = avail;
if (self->decoded_chars_used > 0 || n < avail) {
- chars = PyUnicode_FromUnicode(
- PyUnicode_AS_UNICODE(self->decoded_chars)
- + self->decoded_chars_used, n);
+ chars = PyUnicode_Substring(self->decoded_chars,
+ self->decoded_chars_used,
+ self->decoded_chars_used + n);
if (chars == NULL)
return NULL;
}
@@ -1391,12 +1388,13 @@ textiowrapper_get_decoded_chars(textio *self, Py_ssize_t n)
/* Read and decode the next chunk of data from the BufferedReader.
*/
static int
-textiowrapper_read_chunk(textio *self)
+textiowrapper_read_chunk(textio *self, Py_ssize_t size_hint)
{
PyObject *dec_buffer = NULL;
PyObject *dec_flags = NULL;
PyObject *input_chunk = NULL;
PyObject *decoded_chars, *chunk_size;
+ Py_ssize_t nbytes, nchars;
int eof;
/* The return value is True unless EOF was reached. The decoded string is
@@ -1432,7 +1430,10 @@ textiowrapper_read_chunk(textio *self)
}
/* Read a chunk, decode it, and put the result in self._decoded_chars. */
- chunk_size = PyLong_FromSsize_t(self->chunk_size);
+ if (size_hint > 0) {
+ size_hint = (Py_ssize_t)(Py_MAX(self->b2cratio, 1.0) * size_hint);
+ }
+ chunk_size = PyLong_FromSsize_t(Py_MAX(self->chunk_size, size_hint));
if (chunk_size == NULL)
goto fail;
input_chunk = PyObject_CallMethodObjArgs(self->buffer,
@@ -1443,7 +1444,8 @@ textiowrapper_read_chunk(textio *self)
goto fail;
assert(PyBytes_Check(input_chunk));
- eof = (PyBytes_Size(input_chunk) == 0);
+ nbytes = PyBytes_Size(input_chunk);
+ eof = (nbytes == 0);
if (Py_TYPE(self->decoder) == &PyIncrementalNewlineDecoder_Type) {
decoded_chars = _PyIncrementalNewlineDecoder_decode(
@@ -1457,8 +1459,15 @@ textiowrapper_read_chunk(textio *self)
/* TODO sanity check: isinstance(decoded_chars, unicode) */
if (decoded_chars == NULL)
goto fail;
+ if (PyUnicode_READY(decoded_chars) == -1)
+ goto fail;
textiowrapper_set_decoded_chars(self, decoded_chars);
- if (PyUnicode_GET_SIZE(decoded_chars) > 0)
+ nchars = PyUnicode_GET_LENGTH(decoded_chars);
+ if (nchars > 0)
+ self->b2cratio = (double) nbytes / nchars;
+ else
+ self->b2cratio = 0.0;
+ if (nchars > 0)
eof = 0;
if (self->telling) {
@@ -1505,12 +1514,17 @@ textiowrapper_read(textio *self, PyObject *args)
if (n < 0) {
/* Read everything */
- PyObject *bytes = PyObject_CallMethod(self->buffer, "read", NULL);
+ PyObject *bytes = _PyObject_CallMethodId(self->buffer, &PyId_read, NULL);
PyObject *decoded;
if (bytes == NULL)
goto fail;
- decoded = PyObject_CallMethodObjArgs(self->decoder, _PyIO_str_decode,
- bytes, Py_True, NULL);
+
+ if (Py_TYPE(self->decoder) == &PyIncrementalNewlineDecoder_Type)
+ decoded = _PyIncrementalNewlineDecoder_decode(self->decoder,
+ bytes, 1);
+ else
+ decoded = PyObject_CallMethodObjArgs(
+ self->decoder, _PyIO_str_decode, bytes, Py_True, NULL);
Py_DECREF(bytes);
if (decoded == NULL)
goto fail;
@@ -1536,11 +1550,13 @@ textiowrapper_read(textio *self, PyObject *args)
result = textiowrapper_get_decoded_chars(self, n);
if (result == NULL)
goto fail;
- remaining -= PyUnicode_GET_SIZE(result);
+ if (PyUnicode_READY(result) == -1)
+ goto fail;
+ remaining -= PyUnicode_GET_LENGTH(result);
/* Keep reading chunks until we have n characters to return */
while (remaining > 0) {
- res = textiowrapper_read_chunk(self);
+ res = textiowrapper_read_chunk(self, remaining);
if (res < 0)
goto fail;
if (res == 0) /* EOF */
@@ -1550,13 +1566,14 @@ textiowrapper_read(textio *self, PyObject *args)
if (chunks == NULL)
goto fail;
}
- if (PyList_Append(chunks, result) < 0)
+ if (PyUnicode_GET_LENGTH(result) > 0 &&
+ PyList_Append(chunks, result) < 0)
goto fail;
Py_DECREF(result);
result = textiowrapper_get_decoded_chars(self, remaining);
if (result == NULL)
goto fail;
- remaining -= PyUnicode_GET_SIZE(result);
+ remaining -= PyUnicode_GET_LENGTH(result);
}
if (chunks != NULL) {
if (result != NULL && PyList_Append(chunks, result) < 0)
@@ -1576,36 +1593,39 @@ textiowrapper_read(textio *self, PyObject *args)
}
-/* NOTE: `end` must point to the real end of the Py_UNICODE storage,
+/* NOTE: `end` must point to the real end of the Py_UCS4 storage,
that is to the NUL character. Otherwise the function will produce
incorrect results. */
-static Py_UNICODE *
-find_control_char(Py_UNICODE *start, Py_UNICODE *end, Py_UNICODE ch)
+static char *
+find_control_char(int kind, char *s, char *end, Py_UCS4 ch)
{
- Py_UNICODE *s = start;
+ if (kind == PyUnicode_1BYTE_KIND) {
+ assert(ch < 256);
+ return (char *) memchr((void *) s, (char) ch, end - s);
+ }
for (;;) {
- while (*s > ch)
- s++;
- if (*s == ch)
+ while (PyUnicode_READ(kind, s, 0) > ch)
+ s += kind;
+ if (PyUnicode_READ(kind, s, 0) == ch)
return s;
if (s == end)
return NULL;
- s++;
+ s += kind;
}
}
Py_ssize_t
_PyIO_find_line_ending(
int translated, int universal, PyObject *readnl,
- Py_UNICODE *start, Py_UNICODE *end, Py_ssize_t *consumed)
+ int kind, char *start, char *end, Py_ssize_t *consumed)
{
- Py_ssize_t len = end - start;
+ Py_ssize_t len = ((char*)end - (char*)start)/kind;
if (translated) {
/* Newlines are already translated, only search for \n */
- Py_UNICODE *pos = find_control_char(start, end, '\n');
+ char *pos = find_control_char(kind, start, end, '\n');
if (pos != NULL)
- return pos - start + 1;
+ return (pos - start)/kind + 1;
else {
*consumed = len;
return -1;
@@ -1615,63 +1635,66 @@ _PyIO_find_line_ending(
/* Universal newline search. Find any of \r, \r\n, \n
* The decoder ensures that \r\n are not split in two pieces
*/
- Py_UNICODE *s = start;
+ char *s = start;
for (;;) {
- Py_UNICODE ch;
+ Py_UCS4 ch;
/* Fast path for non-control chars. The loop always ends
- since the Py_UNICODE storage is NUL-terminated. */
- while (*s > '\r')
- s++;
+ since the Unicode string is NUL-terminated. */
+ while (PyUnicode_READ(kind, s, 0) > '\r')
+ s += kind;
if (s >= end) {
*consumed = len;
return -1;
}
- ch = *s++;
+ ch = PyUnicode_READ(kind, s, 0);
+ s += kind;
if (ch == '\n')
- return s - start;
+ return (s - start)/kind;
if (ch == '\r') {
- if (*s == '\n')
- return s - start + 1;
+ if (PyUnicode_READ(kind, s, 0) == '\n')
+ return (s - start)/kind + 1;
else
- return s - start;
+ return (s - start)/kind;
}
}
}
else {
/* Non-universal mode. */
- Py_ssize_t readnl_len = PyUnicode_GET_SIZE(readnl);
- Py_UNICODE *nl = PyUnicode_AS_UNICODE(readnl);
+ Py_ssize_t readnl_len = PyUnicode_GET_LENGTH(readnl);
+ char *nl = PyUnicode_DATA(readnl);
+ /* Assume that readnl is an ASCII character. */
+ assert(PyUnicode_KIND(readnl) == PyUnicode_1BYTE_KIND);
if (readnl_len == 1) {
- Py_UNICODE *pos = find_control_char(start, end, nl[0]);
+ char *pos = find_control_char(kind, start, end, nl[0]);
if (pos != NULL)
- return pos - start + 1;
+ return (pos - start)/kind + 1;
*consumed = len;
return -1;
}
else {
- Py_UNICODE *s = start;
- Py_UNICODE *e = end - readnl_len + 1;
- Py_UNICODE *pos;
+ char *s = start;
+ char *e = end - (readnl_len - 1)*kind;
+ char *pos;
if (e < s)
e = s;
while (s < e) {
Py_ssize_t i;
- Py_UNICODE *pos = find_control_char(s, end, nl[0]);
+ char *pos = find_control_char(kind, s, end, nl[0]);
if (pos == NULL || pos >= e)
break;
for (i = 1; i < readnl_len; i++) {
- if (pos[i] != nl[i])
+ if (PyUnicode_READ(kind, pos, i) != nl[i])
break;
}
if (i == readnl_len)
- return pos - start + readnl_len;
- s = pos + 1;
+ return (pos - start)/kind + readnl_len;
+ s = pos + kind;
}
- pos = find_control_char(e, end, nl[0]);
+ pos = find_control_char(kind, e, end, nl[0]);
if (pos == NULL)
*consumed = len;
else
- *consumed = pos - start;
+ *consumed = (pos - start)/kind;
return -1;
}
}
@@ -1692,15 +1715,16 @@ _textiowrapper_readline(textio *self, Py_ssize_t limit)
chunked = 0;
while (1) {
- Py_UNICODE *ptr;
+ char *ptr;
Py_ssize_t line_len;
+ int kind;
Py_ssize_t consumed = 0;
/* First, get some data if necessary */
res = 1;
while (!self->decoded_chars ||
- !PyUnicode_GET_SIZE(self->decoded_chars)) {
- res = textiowrapper_read_chunk(self);
+ !PyUnicode_GET_LENGTH(self->decoded_chars)) {
+ res = textiowrapper_read_chunk(self, 0);
if (res < 0)
goto error;
if (res == 0)
@@ -1724,18 +1748,24 @@ _textiowrapper_readline(textio *self, Py_ssize_t limit)
assert(self->decoded_chars_used == 0);
line = PyUnicode_Concat(remaining, self->decoded_chars);
start = 0;
- offset_to_buffer = PyUnicode_GET_SIZE(remaining);
+ offset_to_buffer = PyUnicode_GET_LENGTH(remaining);
Py_CLEAR(remaining);
if (line == NULL)
goto error;
+ if (PyUnicode_READY(line) == -1)
+ goto error;
}
- ptr = PyUnicode_AS_UNICODE(line);
- line_len = PyUnicode_GET_SIZE(line);
+ ptr = PyUnicode_DATA(line);
+ line_len = PyUnicode_GET_LENGTH(line);
+ kind = PyUnicode_KIND(line);
endpos = _PyIO_find_line_ending(
self->readtranslate, self->readuniversal, self->readnl,
- ptr + start, ptr + line_len, &consumed);
+ kind,
+ ptr + kind * start,
+ ptr + kind * line_len,
+ &consumed);
if (endpos >= 0) {
endpos += start;
if (limit >= 0 && (endpos - start) + chunked >= limit)
@@ -1759,21 +1789,20 @@ _textiowrapper_readline(textio *self, Py_ssize_t limit)
if (chunks == NULL)
goto error;
}
- s = PyUnicode_FromUnicode(ptr + start, endpos - start);
+ s = PyUnicode_Substring(line, start, endpos);
if (s == NULL)
goto error;
if (PyList_Append(chunks, s) < 0) {
Py_DECREF(s);
goto error;
}
- chunked += PyUnicode_GET_SIZE(s);
+ chunked += PyUnicode_GET_LENGTH(s);
Py_DECREF(s);
}
/* There may be some remaining bytes we'll have to prepend to the
next chunk of data */
if (endpos < line_len) {
- remaining = PyUnicode_FromUnicode(
- ptr + endpos, line_len - endpos);
+ remaining = PyUnicode_Substring(line, endpos, line_len);
if (remaining == NULL)
goto error;
}
@@ -1785,19 +1814,12 @@ _textiowrapper_readline(textio *self, Py_ssize_t limit)
if (line != NULL) {
/* Our line ends in the current buffer */
self->decoded_chars_used = endpos - offset_to_buffer;
- if (start > 0 || endpos < PyUnicode_GET_SIZE(line)) {
- if (start == 0 && Py_REFCNT(line) == 1) {
- if (PyUnicode_Resize(&line, endpos) < 0)
- goto error;
- }
- else {
- PyObject *s = PyUnicode_FromUnicode(
- PyUnicode_AS_UNICODE(line) + start, endpos - start);
- Py_CLEAR(line);
- if (s == NULL)
- goto error;
- line = s;
- }
+ if (start > 0 || endpos < PyUnicode_GET_LENGTH(line)) {
+ PyObject *s = PyUnicode_Substring(line, start, endpos);
+ Py_CLEAR(line);
+ if (s == NULL)
+ goto error;
+ line = s;
}
}
if (remaining != NULL) {
@@ -1811,16 +1833,20 @@ _textiowrapper_readline(textio *self, Py_ssize_t limit)
Py_CLEAR(remaining);
}
if (chunks != NULL) {
- if (line != NULL && PyList_Append(chunks, line) < 0)
- goto error;
- Py_CLEAR(line);
+ if (line != NULL) {
+ if (PyList_Append(chunks, line) < 0)
+ goto error;
+ Py_DECREF(line);
+ }
line = PyUnicode_Join(_PyIO_empty_str, chunks);
if (line == NULL)
goto error;
- Py_DECREF(chunks);
+ Py_CLEAR(chunks);
+ }
+ if (line == NULL) {
+ Py_INCREF(_PyIO_empty_str);
+ line = _PyIO_empty_str;
}
- if (line == NULL)
- line = PyUnicode_FromStringAndSize(NULL, 0);
return line;
@@ -1943,8 +1969,8 @@ _textiowrapper_decoder_setstate(textio *self, cookie_type *cookie)
if (cookie->start_pos == 0 && cookie->dec_flags == 0)
res = PyObject_CallMethodObjArgs(self->decoder, _PyIO_str_reset, NULL);
else
- res = PyObject_CallMethod(self->decoder, "setstate",
- "((yi))", "", cookie->dec_flags);
+ res = _PyObject_CallMethodId(self->decoder, &PyId_setstate,
+ "((yi))", "", cookie->dec_flags);
if (res == NULL)
return -1;
Py_DECREF(res);
@@ -2008,13 +2034,12 @@ textiowrapper_seek(textio *self, PyObject *args)
* sync the underlying buffer with the current position.
*/
Py_DECREF(cookieObj);
- cookieObj = PyObject_CallMethod((PyObject *)self, "tell", NULL);
+ cookieObj = _PyObject_CallMethodId((PyObject *)self, &PyId_tell, NULL);
if (cookieObj == NULL)
goto fail;
}
else if (whence == 2) {
/* seek relative to end of file */
-
cmp = PyObject_RichCompareBool(cookieObj, _PyIO_zero, Py_EQ);
if (cmp < 0)
goto fail;
@@ -2024,7 +2049,7 @@ textiowrapper_seek(textio *self, PyObject *args)
goto fail;
}
- res = PyObject_CallMethod((PyObject *)self, "flush", NULL);
+ res = _PyObject_CallMethodId((PyObject *)self, &PyId_flush, NULL);
if (res == NULL)
goto fail;
Py_DECREF(res);
@@ -2032,13 +2057,13 @@ textiowrapper_seek(textio *self, PyObject *args)
textiowrapper_set_decoded_chars(self, NULL);
Py_CLEAR(self->snapshot);
if (self->decoder) {
- res = PyObject_CallMethod(self->decoder, "reset", NULL);
+ res = _PyObject_CallMethodId(self->decoder, &PyId_reset, NULL);
if (res == NULL)
goto fail;
Py_DECREF(res);
}
- res = PyObject_CallMethod(self->buffer, "seek", "ii", 0, 2);
+ res = _PyObject_CallMethodId(self->buffer, &PyId_seek, "ii", 0, 2);
Py_XDECREF(cookieObj);
return res;
}
@@ -2091,8 +2116,8 @@ textiowrapper_seek(textio *self, PyObject *args)
if (cookie.chars_to_skip) {
/* Just like _read_chunk, feed the decoder and save a snapshot. */
- PyObject *input_chunk = PyObject_CallMethod(
- self->buffer, "read", "i", cookie.bytes_to_feed);
+ PyObject *input_chunk = _PyObject_CallMethodId(
+ self->buffer, &PyId_read, "i", cookie.bytes_to_feed);
PyObject *decoded;
if (input_chunk == NULL)
@@ -2106,16 +2131,20 @@ textiowrapper_seek(textio *self, PyObject *args)
goto fail;
}
- decoded = PyObject_CallMethod(self->decoder, "decode",
- "Oi", input_chunk, (int)cookie.need_eof);
+ decoded = _PyObject_CallMethodId(self->decoder, &PyId_decode,
+ "Oi", input_chunk, (int)cookie.need_eof);
if (decoded == NULL)
goto fail;
+ if (PyUnicode_READY(decoded) == -1) {
+ Py_DECREF(decoded);
+ goto fail;
+ }
textiowrapper_set_decoded_chars(self, decoded);
/* Skip chars_to_skip of the decoded characters. */
- if (PyUnicode_GetSize(self->decoded_chars) < cookie.chars_to_skip) {
+ if (PyUnicode_GetLength(self->decoded_chars) < cookie.chars_to_skip) {
PyErr_SetString(PyExc_IOError, "can't restore logical file position");
goto fail;
}
@@ -2147,8 +2176,12 @@ textiowrapper_tell(textio *self, PyObject *args)
cookie_type cookie = {0,0,0,0,0};
PyObject *next_input;
Py_ssize_t chars_to_skip, chars_decoded;
+ Py_ssize_t skip_bytes, skip_back;
PyObject *saved_state = NULL;
char *input, *input_end;
+ char *dec_buffer;
+ Py_ssize_t dec_buffer_len;
+ int dec_flags;
CHECK_INITIALIZED(self);
CHECK_CLOSED(self);
@@ -2165,17 +2198,17 @@ textiowrapper_tell(textio *self, PyObject *args)
if (_textiowrapper_writeflush(self) < 0)
return NULL;
- res = PyObject_CallMethod((PyObject *)self, "flush", NULL);
+ res = _PyObject_CallMethodId((PyObject *)self, &PyId_flush, NULL);
if (res == NULL)
goto fail;
Py_DECREF(res);
- posobj = PyObject_CallMethod(self->buffer, "tell", NULL);
+ posobj = _PyObject_CallMethodId(self->buffer, &PyId_tell, NULL);
if (posobj == NULL)
goto fail;
if (self->decoder == NULL || self->snapshot == NULL) {
- assert (self->decoded_chars == NULL || PyUnicode_GetSize(self->decoded_chars) == 0);
+ assert (self->decoded_chars == NULL || PyUnicode_GetLength(self->decoded_chars) == 0);
return posobj;
}
@@ -2184,6 +2217,7 @@ textiowrapper_tell(textio *self, PyObject *args)
#else
cookie.start_pos = PyLong_AsLong(posobj);
#endif
+ Py_DECREF(posobj);
if (PyErr_Occurred())
goto fail;
@@ -2198,57 +2232,99 @@ textiowrapper_tell(textio *self, PyObject *args)
/* How many decoded characters have been used up since the snapshot? */
if (self->decoded_chars_used == 0) {
/* We haven't moved from the snapshot point. */
- Py_DECREF(posobj);
return textiowrapper_build_cookie(&cookie);
}
chars_to_skip = self->decoded_chars_used;
- /* Starting from the snapshot position, we will walk the decoder
- * forward until it gives us enough decoded characters.
- */
+ /* Decoder state will be restored at the end */
saved_state = PyObject_CallMethodObjArgs(self->decoder,
_PyIO_str_getstate, NULL);
if (saved_state == NULL)
goto fail;
- /* Note our initial start point. */
- if (_textiowrapper_decoder_setstate(self, &cookie) < 0)
- goto fail;
+#define DECODER_GETSTATE() do { \
+ PyObject *_state = PyObject_CallMethodObjArgs(self->decoder, \
+ _PyIO_str_getstate, NULL); \
+ if (_state == NULL) \
+ goto fail; \
+ if (!PyArg_Parse(_state, "(y#i)", &dec_buffer, &dec_buffer_len, &dec_flags)) { \
+ Py_DECREF(_state); \
+ goto fail; \
+ } \
+ Py_DECREF(_state); \
+ } while (0)
- /* Feed the decoder one byte at a time. As we go, note the
- * nearest "safe start point" before the current location
- * (a point where the decoder has nothing buffered, so seek()
+ /* TODO: replace assert with exception */
+#define DECODER_DECODE(start, len, res) do { \
+ PyObject *_decoded = _PyObject_CallMethodId( \
+ self->decoder, &PyId_decode, "y#", start, len); \
+ if (_decoded == NULL) \
+ goto fail; \
+ assert (PyUnicode_Check(_decoded)); \
+ res = PyUnicode_GET_LENGTH(_decoded); \
+ Py_DECREF(_decoded); \
+ } while (0)
+
+ /* Fast search for an acceptable start point, close to our
+ current pos */
+ skip_bytes = (Py_ssize_t) (self->b2cratio * chars_to_skip);
+ skip_back = 1;
+ assert(skip_back <= PyBytes_GET_SIZE(next_input));
+ input = PyBytes_AS_STRING(next_input);
+ while (skip_bytes > 0) {
+ /* Decode up to temptative start point */
+ if (_textiowrapper_decoder_setstate(self, &cookie) < 0)
+ goto fail;
+ DECODER_DECODE(input, skip_bytes, chars_decoded);
+ if (chars_decoded <= chars_to_skip) {
+ DECODER_GETSTATE();
+ if (dec_buffer_len == 0) {
+ /* Before pos and no bytes buffered in decoder => OK */
+ cookie.dec_flags = dec_flags;
+ chars_to_skip -= chars_decoded;
+ break;
+ }
+ /* Skip back by buffered amount and reset heuristic */
+ skip_bytes -= dec_buffer_len;
+ skip_back = 1;
+ }
+ else {
+ /* We're too far ahead, skip back a bit */
+ skip_bytes -= skip_back;
+ skip_back *= 2;
+ }
+ }
+ if (skip_bytes <= 0) {
+ skip_bytes = 0;
+ if (_textiowrapper_decoder_setstate(self, &cookie) < 0)
+ goto fail;
+ }
+
+ /* Note our initial start point. */
+ cookie.start_pos += skip_bytes;
+ cookie.chars_to_skip = chars_to_skip;
+ if (chars_to_skip == 0)
+ goto finally;
+
+ /* We should be close to the desired position. Now feed the decoder one
+ * byte at a time until we reach the `chars_to_skip` target.
+ * As we go, note the nearest "safe start point" before the current
+ * location (a point where the decoder has nothing buffered, so seek()
* can safely start from there and advance to this location).
*/
chars_decoded = 0;
input = PyBytes_AS_STRING(next_input);
input_end = input + PyBytes_GET_SIZE(next_input);
+ input += skip_bytes;
while (input < input_end) {
- PyObject *state;
- char *dec_buffer;
- Py_ssize_t dec_buffer_len;
- int dec_flags;
-
- PyObject *decoded = PyObject_CallMethod(
- self->decoder, "decode", "y#", input, 1);
- if (decoded == NULL)
- goto fail;
- assert (PyUnicode_Check(decoded));
- chars_decoded += PyUnicode_GET_SIZE(decoded);
- Py_DECREF(decoded);
+ Py_ssize_t n;
+ DECODER_DECODE(input, 1, n);
+ /* We got n chars for 1 byte */
+ chars_decoded += n;
cookie.bytes_to_feed += 1;
-
- state = PyObject_CallMethodObjArgs(self->decoder,
- _PyIO_str_getstate, NULL);
- if (state == NULL)
- goto fail;
- if (!PyArg_Parse(state, "(y#i)", &dec_buffer, &dec_buffer_len, &dec_flags)) {
- Py_DECREF(state);
- goto fail;
- }
- Py_DECREF(state);
+ DECODER_GETSTATE();
if (dec_buffer_len == 0 && chars_decoded <= chars_to_skip) {
/* Decoder buffer is empty, so this is a safe start point. */
@@ -2264,12 +2340,12 @@ textiowrapper_tell(textio *self, PyObject *args)
}
if (input == input_end) {
/* We didn't get enough decoded data; signal EOF to get more. */
- PyObject *decoded = PyObject_CallMethod(
- self->decoder, "decode", "yi", "", /* final = */ 1);
+ PyObject *decoded = _PyObject_CallMethodId(
+ self->decoder, &PyId_decode, "yi", "", /* final = */ 1);
if (decoded == NULL)
goto fail;
assert (PyUnicode_Check(decoded));
- chars_decoded += PyUnicode_GET_SIZE(decoded);
+ chars_decoded += PyUnicode_GET_LENGTH(decoded);
Py_DECREF(decoded);
cookie.need_eof = 1;
@@ -2280,9 +2356,8 @@ textiowrapper_tell(textio *self, PyObject *args)
}
}
- /* finally */
- Py_XDECREF(posobj);
- res = PyObject_CallMethod(self->decoder, "setstate", "(O)", saved_state);
+finally:
+ res = _PyObject_CallMethodId(self->decoder, &PyId_setstate, "(O)", saved_state);
Py_DECREF(saved_state);
if (res == NULL)
return NULL;
@@ -2292,13 +2367,12 @@ textiowrapper_tell(textio *self, PyObject *args)
cookie.chars_to_skip = Py_SAFE_DOWNCAST(chars_to_skip, Py_ssize_t, int);
return textiowrapper_build_cookie(&cookie);
- fail:
- Py_XDECREF(posobj);
+fail:
if (saved_state) {
PyObject *type, *value, *traceback;
PyErr_Fetch(&type, &value, &traceback);
- res = PyObject_CallMethod(self->decoder, "setstate", "(O)", saved_state);
+ res = _PyObject_CallMethodId(self->decoder, &PyId_setstate, "(O)", saved_state);
Py_DECREF(saved_state);
if (res == NULL)
return NULL;
@@ -2338,7 +2412,7 @@ textiowrapper_repr(textio *self)
res = PyUnicode_FromString("<_io.TextIOWrapper");
if (res == NULL)
return NULL;
- nameobj = PyObject_GetAttrString((PyObject *) self, "name");
+ nameobj = _PyObject_GetAttrId((PyObject *) self, &PyId_name);
if (nameobj == NULL) {
if (PyErr_ExceptionMatches(PyExc_AttributeError))
PyErr_Clear();
@@ -2354,7 +2428,7 @@ textiowrapper_repr(textio *self)
if (res == NULL)
return NULL;
}
- modeobj = PyObject_GetAttrString((PyObject *) self, "mode");
+ modeobj = _PyObject_GetAttrId((PyObject *) self, &PyId_mode);
if (modeobj == NULL) {
if (PyErr_ExceptionMatches(PyExc_AttributeError))
PyErr_Clear();
@@ -2386,35 +2460,35 @@ static PyObject *
textiowrapper_fileno(textio *self, PyObject *args)
{
CHECK_INITIALIZED(self);
- return PyObject_CallMethod(self->buffer, "fileno", NULL);
+ return _PyObject_CallMethodId(self->buffer, &PyId_fileno, NULL);
}
static PyObject *
textiowrapper_seekable(textio *self, PyObject *args)
{
CHECK_INITIALIZED(self);
- return PyObject_CallMethod(self->buffer, "seekable", NULL);
+ return _PyObject_CallMethodId(self->buffer, &PyId_seekable, NULL);
}
static PyObject *
textiowrapper_readable(textio *self, PyObject *args)
{
CHECK_INITIALIZED(self);
- return PyObject_CallMethod(self->buffer, "readable", NULL);
+ return _PyObject_CallMethodId(self->buffer, &PyId_readable, NULL);
}
static PyObject *
textiowrapper_writable(textio *self, PyObject *args)
{
CHECK_INITIALIZED(self);
- return PyObject_CallMethod(self->buffer, "writable", NULL);
+ return _PyObject_CallMethodId(self->buffer, &PyId_writable, NULL);
}
static PyObject *
textiowrapper_isatty(textio *self, PyObject *args)
{
CHECK_INITIALIZED(self);
- return PyObject_CallMethod(self->buffer, "isatty", NULL);
+ return _PyObject_CallMethodId(self->buffer, &PyId_isatty, NULL);
}
static PyObject *
@@ -2433,7 +2507,7 @@ textiowrapper_flush(textio *self, PyObject *args)
self->telling = self->seekable;
if (_textiowrapper_writeflush(self) < 0)
return NULL;
- return PyObject_CallMethod(self->buffer, "flush", NULL);
+ return _PyObject_CallMethodId(self->buffer, &PyId_flush, NULL);
}
static PyObject *
@@ -2456,20 +2530,20 @@ textiowrapper_close(textio *self, PyObject *args)
}
else {
if (self->deallocating) {
- res = PyObject_CallMethod(self->buffer, "_dealloc_warn", "O", self);
+ res = _PyObject_CallMethodId(self->buffer, &PyId__dealloc_warn, "O", self);
if (res)
Py_DECREF(res);
else
PyErr_Clear();
}
- res = PyObject_CallMethod((PyObject *)self, "flush", NULL);
+ res = _PyObject_CallMethodId((PyObject *)self, &PyId_flush, NULL);
if (res == NULL) {
return NULL;
}
else
Py_DECREF(res);
- return PyObject_CallMethod(self->buffer, "close", NULL);
+ return _PyObject_CallMethodId(self->buffer, &PyId_close, NULL);
}
}
@@ -2497,10 +2571,10 @@ textiowrapper_iternext(textio *self)
}
}
- if (line == NULL)
+ if (line == NULL || PyUnicode_READY(line) == -1)
return NULL;
- if (PyUnicode_GET_SIZE(line) == 0) {
+ if (PyUnicode_GET_LENGTH(line) == 0) {
/* Reached EOF or would have blocked */
Py_DECREF(line);
Py_CLEAR(self->snapshot);
@@ -2515,7 +2589,7 @@ static PyObject *
textiowrapper_name_get(textio *self, void *context)
{
CHECK_INITIALIZED(self);
- return PyObject_GetAttrString(self->buffer, "name");
+ return _PyObject_GetAttrId(self->buffer, &PyId_name);
}
static PyObject *
diff --git a/Modules/_json.c b/Modules/_json.c
index 0924873..cafd5a9 100644
--- a/Modules/_json.c
+++ b/Modules/_json.c
@@ -76,6 +76,21 @@ static PyMemberDef encoder_members[] = {
};
static PyObject *
+join_list_unicode(PyObject *lst)
+{
+ /* return u''.join(lst) */
+ static PyObject *sep = NULL;
+ if (sep == NULL) {
+ sep = PyUnicode_FromStringAndSize("", 0);
+ if (sep == NULL)
+ return NULL;
+ }
+ return PyUnicode_Join(sep, lst);
+}
+
+/* Forward decls */
+
+static PyObject *
ascii_escape_unicode(PyObject *pystr);
static PyObject *
py_encode_basestring_ascii(PyObject* self UNUSED, PyObject *pystr);
@@ -101,11 +116,11 @@ encoder_dealloc(PyObject *self);
static int
encoder_clear(PyObject *self);
static int
-encoder_listencode_list(PyEncoderObject *s, PyObject *rval, PyObject *seq, Py_ssize_t indent_level);
+encoder_listencode_list(PyEncoderObject *s, _PyAccu *acc, PyObject *seq, Py_ssize_t indent_level);
static int
-encoder_listencode_obj(PyEncoderObject *s, PyObject *rval, PyObject *obj, Py_ssize_t indent_level);
+encoder_listencode_obj(PyEncoderObject *s, _PyAccu *acc, PyObject *obj, Py_ssize_t indent_level);
static int
-encoder_listencode_dict(PyEncoderObject *s, PyObject *rval, PyObject *dct, Py_ssize_t indent_level);
+encoder_listencode_dict(PyEncoderObject *s, _PyAccu *acc, PyObject *dct, Py_ssize_t indent_level);
static PyObject *
_encoded_const(PyObject *obj);
static void
@@ -122,13 +137,6 @@ encoder_encode_float(PyEncoderObject *s, PyObject *obj);
#define S_CHAR(c) (c >= ' ' && c <= '~' && c != '\\' && c != '"')
#define IS_WHITESPACE(c) (((c) == ' ') || ((c) == '\t') || ((c) == '\n') || ((c) == '\r'))
-#define MIN_EXPANSION 6
-#ifdef Py_UNICODE_WIDE
-#define MAX_EXPANSION (2 * MIN_EXPANSION)
-#else
-#define MAX_EXPANSION MIN_EXPANSION
-#endif
-
static int
_convertPyInt_AsSsize_t(PyObject *o, Py_ssize_t *size_ptr)
{
@@ -147,7 +155,7 @@ _convertPyInt_FromSsize_t(Py_ssize_t *size_ptr)
}
static Py_ssize_t
-ascii_escape_unichar(Py_UNICODE c, Py_UNICODE *output, Py_ssize_t chars)
+ascii_escape_unichar(Py_UCS4 c, unsigned char *output, Py_ssize_t chars)
{
/* Escape unicode code point c to ASCII escape sequences
in char *output. output must have at least 12 bytes unused to
@@ -162,25 +170,23 @@ ascii_escape_unichar(Py_UNICODE c, Py_UNICODE *output, Py_ssize_t chars)
case '\r': output[chars++] = 'r'; break;
case '\t': output[chars++] = 't'; break;
default:
-#ifdef Py_UNICODE_WIDE
if (c >= 0x10000) {
/* UTF-16 surrogate pair */
- Py_UNICODE v = c - 0x10000;
+ Py_UCS4 v = c - 0x10000;
c = 0xd800 | ((v >> 10) & 0x3ff);
output[chars++] = 'u';
- output[chars++] = "0123456789abcdef"[(c >> 12) & 0xf];
- output[chars++] = "0123456789abcdef"[(c >> 8) & 0xf];
- output[chars++] = "0123456789abcdef"[(c >> 4) & 0xf];
- output[chars++] = "0123456789abcdef"[(c ) & 0xf];
+ output[chars++] = Py_hexdigits[(c >> 12) & 0xf];
+ output[chars++] = Py_hexdigits[(c >> 8) & 0xf];
+ output[chars++] = Py_hexdigits[(c >> 4) & 0xf];
+ output[chars++] = Py_hexdigits[(c ) & 0xf];
c = 0xdc00 | (v & 0x3ff);
output[chars++] = '\\';
}
-#endif
output[chars++] = 'u';
- output[chars++] = "0123456789abcdef"[(c >> 12) & 0xf];
- output[chars++] = "0123456789abcdef"[(c >> 8) & 0xf];
- output[chars++] = "0123456789abcdef"[(c >> 4) & 0xf];
- output[chars++] = "0123456789abcdef"[(c ) & 0xf];
+ output[chars++] = Py_hexdigits[(c >> 12) & 0xf];
+ output[chars++] = Py_hexdigits[(c >> 8) & 0xf];
+ output[chars++] = Py_hexdigits[(c >> 4) & 0xf];
+ output[chars++] = Py_hexdigits[(c ) & 0xf];
}
return chars;
}
@@ -192,54 +198,52 @@ ascii_escape_unicode(PyObject *pystr)
Py_ssize_t i;
Py_ssize_t input_chars;
Py_ssize_t output_size;
- Py_ssize_t max_output_size;
Py_ssize_t chars;
PyObject *rval;
- Py_UNICODE *output;
- Py_UNICODE *input_unicode;
+ void *input;
+ unsigned char *output;
+ int kind;
- input_chars = PyUnicode_GET_SIZE(pystr);
- input_unicode = PyUnicode_AS_UNICODE(pystr);
+ if (PyUnicode_READY(pystr) == -1)
+ return NULL;
+
+ input_chars = PyUnicode_GET_LENGTH(pystr);
+ input = PyUnicode_DATA(pystr);
+ kind = PyUnicode_KIND(pystr);
- /* One char input can be up to 6 chars output, estimate 4 of these */
- output_size = 2 + (MIN_EXPANSION * 4) + input_chars;
- max_output_size = 2 + (input_chars * MAX_EXPANSION);
- rval = PyUnicode_FromStringAndSize(NULL, output_size);
+ /* Compute the output size */
+ for (i = 0, output_size = 2; i < input_chars; i++) {
+ Py_UCS4 c = PyUnicode_READ(kind, input, i);
+ if (S_CHAR(c))
+ output_size++;
+ else {
+ switch(c) {
+ case '\\': case '"': case '\b': case '\f':
+ case '\n': case '\r': case '\t':
+ output_size += 2; break;
+ default:
+ output_size += c >= 0x10000 ? 12 : 6;
+ }
+ }
+ }
+
+ rval = PyUnicode_New(output_size, 127);
if (rval == NULL) {
return NULL;
}
- output = PyUnicode_AS_UNICODE(rval);
+ output = PyUnicode_1BYTE_DATA(rval);
chars = 0;
output[chars++] = '"';
for (i = 0; i < input_chars; i++) {
- Py_UNICODE c = input_unicode[i];
+ Py_UCS4 c = PyUnicode_READ(kind, input, i);
if (S_CHAR(c)) {
output[chars++] = c;
}
else {
chars = ascii_escape_unichar(c, output, chars);
}
- if (output_size - chars < (1 + MAX_EXPANSION)) {
- /* There's more than four, so let's resize by a lot */
- Py_ssize_t new_output_size = output_size * 2;
- /* This is an upper bound */
- if (new_output_size > max_output_size) {
- new_output_size = max_output_size;
- }
- /* Make sure that the output size changed before resizing */
- if (new_output_size != output_size) {
- output_size = new_output_size;
- if (PyUnicode_Resize(&rval, output_size) == -1) {
- return NULL;
- }
- output = PyUnicode_AS_UNICODE(rval);
- }
- }
}
output[chars++] = '"';
- if (PyUnicode_Resize(&rval, chars) == -1) {
- return NULL;
- }
return rval;
}
@@ -267,19 +271,6 @@ raise_errmsg(char *msg, PyObject *s, Py_ssize_t end)
}
static PyObject *
-join_list_unicode(PyObject *lst)
-{
- /* return u''.join(lst) */
- static PyObject *sep = NULL;
- if (sep == NULL) {
- sep = PyUnicode_FromStringAndSize("", 0);
- if (sep == NULL)
- return NULL;
- }
- return PyUnicode_Join(sep, lst);
-}
-
-static PyObject *
_build_rval_index_tuple(PyObject *rval, Py_ssize_t idx) {
/* return (rval, idx) tuple, stealing reference to rval */
PyObject *tpl;
@@ -333,22 +324,30 @@ scanstring_unicode(PyObject *pystr, Py_ssize_t end, int strict, Py_ssize_t *next
Return value is a new PyUnicode
*/
PyObject *rval = NULL;
- Py_ssize_t len = PyUnicode_GET_SIZE(pystr);
+ Py_ssize_t len;
Py_ssize_t begin = end - 1;
- Py_ssize_t next = begin;
- const Py_UNICODE *buf = PyUnicode_AS_UNICODE(pystr);
+ Py_ssize_t next /* = begin */;
+ const void *buf;
+ int kind;
PyObject *chunks = NULL;
PyObject *chunk = NULL;
+ if (PyUnicode_READY(pystr) == -1)
+ return 0;
+
+ len = PyUnicode_GET_LENGTH(pystr);
+ buf = PyUnicode_DATA(pystr);
+ kind = PyUnicode_KIND(pystr);
+
if (end < 0 || len <= end) {
PyErr_SetString(PyExc_ValueError, "end is out of bounds");
goto bail;
}
while (1) {
/* Find the end of the string or the next escape */
- Py_UNICODE c = 0;
+ Py_UCS4 c = 0;
for (next = end; next < len; next++) {
- c = buf[next];
+ c = PyUnicode_READ(kind, buf, next);
if (c == '"' || c == '\\') {
break;
}
@@ -364,7 +363,10 @@ scanstring_unicode(PyObject *pystr, Py_ssize_t end, int strict, Py_ssize_t *next
/* Pick up this chunk if it's not zero length */
if (next != end) {
APPEND_OLD_CHUNK
- chunk = PyUnicode_FromUnicode(&buf[end], next - end);
+ chunk = PyUnicode_FromKindAndData(
+ kind,
+ (char*)buf + kind * end,
+ next - end);
if (chunk == NULL) {
goto bail;
}
@@ -378,7 +380,7 @@ scanstring_unicode(PyObject *pystr, Py_ssize_t end, int strict, Py_ssize_t *next
raise_errmsg("Unterminated string starting at", pystr, begin);
goto bail;
}
- c = buf[next];
+ c = PyUnicode_READ(kind, buf, next);
if (c != 'u') {
/* Non-unicode backslash escapes */
end = next + 1;
@@ -408,7 +410,7 @@ scanstring_unicode(PyObject *pystr, Py_ssize_t end, int strict, Py_ssize_t *next
}
/* Decode 4 hex digits */
for (; next < end; next++) {
- Py_UNICODE digit = buf[next];
+ Py_UCS4 digit = PyUnicode_READ(kind, buf, next);
c <<= 4;
switch (digit) {
case '0': case '1': case '2': case '3': case '4':
@@ -425,22 +427,22 @@ scanstring_unicode(PyObject *pystr, Py_ssize_t end, int strict, Py_ssize_t *next
goto bail;
}
}
-#ifdef Py_UNICODE_WIDE
/* Surrogate pair */
if ((c & 0xfc00) == 0xd800) {
- Py_UNICODE c2 = 0;
+ Py_UCS4 c2 = 0;
if (end + 6 >= len) {
raise_errmsg("Unpaired high surrogate", pystr, end - 5);
goto bail;
}
- if (buf[next++] != '\\' || buf[next++] != 'u') {
+ if (PyUnicode_READ(kind, buf, next++) != '\\' ||
+ PyUnicode_READ(kind, buf, next++) != 'u') {
raise_errmsg("Unpaired high surrogate", pystr, end - 5);
goto bail;
}
end += 6;
/* Decode 4 hex digits */
for (; next < end; next++) {
- Py_UNICODE digit = buf[next];
+ Py_UCS4 digit = PyUnicode_READ(kind, buf, next);
c2 <<= 4;
switch (digit) {
case '0': case '1': case '2': case '3': case '4':
@@ -467,10 +469,9 @@ scanstring_unicode(PyObject *pystr, Py_ssize_t end, int strict, Py_ssize_t *next
raise_errmsg("Unpaired low surrogate", pystr, end - 5);
goto bail;
}
-#endif
}
APPEND_OLD_CHUNK
- chunk = PyUnicode_FromUnicode(&c, 1);
+ chunk = PyUnicode_FromKindAndData(PyUnicode_4BYTE_KIND, &c, 1);
if (chunk == NULL) {
goto bail;
}
@@ -608,8 +609,9 @@ _parse_object_unicode(PyScannerObject *s, PyObject *pystr, Py_ssize_t idx, Py_ss
Returns a new PyObject (usually a dict, but object_hook can change that)
*/
- Py_UNICODE *str = PyUnicode_AS_UNICODE(pystr);
- Py_ssize_t end_idx = PyUnicode_GET_SIZE(pystr) - 1;
+ void *str;
+ int kind;
+ Py_ssize_t end_idx;
PyObject *val = NULL;
PyObject *rval = NULL;
PyObject *key = NULL;
@@ -617,6 +619,13 @@ _parse_object_unicode(PyScannerObject *s, PyObject *pystr, Py_ssize_t idx, Py_ss
int has_pairs_hook = (s->object_pairs_hook != Py_None);
Py_ssize_t next_idx;
+ if (PyUnicode_READY(pystr) == -1)
+ return NULL;
+
+ str = PyUnicode_DATA(pystr);
+ kind = PyUnicode_KIND(pystr);
+ end_idx = PyUnicode_GET_LENGTH(pystr) - 1;
+
if (has_pairs_hook)
rval = PyList_New(0);
else
@@ -625,15 +634,15 @@ _parse_object_unicode(PyScannerObject *s, PyObject *pystr, Py_ssize_t idx, Py_ss
return NULL;
/* skip whitespace after { */
- while (idx <= end_idx && IS_WHITESPACE(str[idx])) idx++;
+ while (idx <= end_idx && IS_WHITESPACE(PyUnicode_READ(kind,str, idx))) idx++;
/* only loop if the object is non-empty */
- if (idx <= end_idx && str[idx] != '}') {
+ if (idx <= end_idx && PyUnicode_READ(kind, str, idx) != '}') {
while (idx <= end_idx) {
PyObject *memokey;
/* read key */
- if (str[idx] != '"') {
+ if (PyUnicode_READ(kind, str, idx) != '"') {
raise_errmsg("Expecting property name", pystr, idx);
goto bail;
}
@@ -653,13 +662,13 @@ _parse_object_unicode(PyScannerObject *s, PyObject *pystr, Py_ssize_t idx, Py_ss
idx = next_idx;
/* skip whitespace between key and : delimiter, read :, skip whitespace */
- while (idx <= end_idx && IS_WHITESPACE(str[idx])) idx++;
- if (idx > end_idx || str[idx] != ':') {
+ while (idx <= end_idx && IS_WHITESPACE(PyUnicode_READ(kind, str, idx))) idx++;
+ if (idx > end_idx || PyUnicode_READ(kind, str, idx) != ':') {
raise_errmsg("Expecting : delimiter", pystr, idx);
goto bail;
}
idx++;
- while (idx <= end_idx && IS_WHITESPACE(str[idx])) idx++;
+ while (idx <= end_idx && IS_WHITESPACE(PyUnicode_READ(kind, str, idx))) idx++;
/* read any JSON term */
val = scan_once_unicode(s, pystr, idx, &next_idx);
@@ -687,26 +696,26 @@ _parse_object_unicode(PyScannerObject *s, PyObject *pystr, Py_ssize_t idx, Py_ss
idx = next_idx;
/* skip whitespace before } or , */
- while (idx <= end_idx && IS_WHITESPACE(str[idx])) idx++;
+ while (idx <= end_idx && IS_WHITESPACE(PyUnicode_READ(kind, str, idx))) idx++;
/* bail if the object is closed or we didn't get the , delimiter */
if (idx > end_idx) break;
- if (str[idx] == '}') {
+ if (PyUnicode_READ(kind, str, idx) == '}') {
break;
}
- else if (str[idx] != ',') {
+ else if (PyUnicode_READ(kind, str, idx) != ',') {
raise_errmsg("Expecting , delimiter", pystr, idx);
goto bail;
}
idx++;
/* skip whitespace after , delimiter */
- while (idx <= end_idx && IS_WHITESPACE(str[idx])) idx++;
+ while (idx <= end_idx && IS_WHITESPACE(PyUnicode_READ(kind, str, idx))) idx++;
}
}
/* verify that idx < end_idx, str[idx] should be '}' */
- if (idx > end_idx || str[idx] != '}') {
+ if (idx > end_idx || PyUnicode_READ(kind, str, idx) != '}') {
raise_errmsg("Expecting object", pystr, end_idx);
goto bail;
}
@@ -742,19 +751,27 @@ _parse_array_unicode(PyScannerObject *s, PyObject *pystr, Py_ssize_t idx, Py_ssi
Returns a new PyList
*/
- Py_UNICODE *str = PyUnicode_AS_UNICODE(pystr);
- Py_ssize_t end_idx = PyUnicode_GET_SIZE(pystr) - 1;
+ void *str;
+ int kind;
+ Py_ssize_t end_idx;
PyObject *val = NULL;
PyObject *rval = PyList_New(0);
Py_ssize_t next_idx;
if (rval == NULL)
return NULL;
+ if (PyUnicode_READY(pystr) == -1)
+ return NULL;
+
+ str = PyUnicode_DATA(pystr);
+ kind = PyUnicode_KIND(pystr);
+ end_idx = PyUnicode_GET_LENGTH(pystr) - 1;
+
/* skip whitespace after [ */
- while (idx <= end_idx && IS_WHITESPACE(str[idx])) idx++;
+ while (idx <= end_idx && IS_WHITESPACE(PyUnicode_READ(kind, str, idx))) idx++;
/* only loop if the array is non-empty */
- if (idx <= end_idx && str[idx] != ']') {
+ if (idx <= end_idx && PyUnicode_READ(kind, str, idx) != ']') {
while (idx <= end_idx) {
/* read any JSON term */
@@ -769,26 +786,26 @@ _parse_array_unicode(PyScannerObject *s, PyObject *pystr, Py_ssize_t idx, Py_ssi
idx = next_idx;
/* skip whitespace between term and , */
- while (idx <= end_idx && IS_WHITESPACE(str[idx])) idx++;
+ while (idx <= end_idx && IS_WHITESPACE(PyUnicode_READ(kind, str, idx))) idx++;
/* bail if the array is closed or we didn't get the , delimiter */
if (idx > end_idx) break;
- if (str[idx] == ']') {
+ if (PyUnicode_READ(kind, str, idx) == ']') {
break;
}
- else if (str[idx] != ',') {
+ else if (PyUnicode_READ(kind, str, idx) != ',') {
raise_errmsg("Expecting , delimiter", pystr, idx);
goto bail;
}
idx++;
/* skip whitespace after , */
- while (idx <= end_idx && IS_WHITESPACE(str[idx])) idx++;
+ while (idx <= end_idx && IS_WHITESPACE(PyUnicode_READ(kind, str, idx))) idx++;
}
}
- /* verify that idx < end_idx, str[idx] should be ']' */
- if (idx > end_idx || str[idx] != ']') {
+ /* verify that idx < end_idx, PyUnicode_READ(kind, str, idx) should be ']' */
+ if (idx > end_idx || PyUnicode_READ(kind, str, idx) != ']') {
raise_errmsg("Expecting object", pystr, end_idx);
goto bail;
}
@@ -820,7 +837,7 @@ _parse_constant(PyScannerObject *s, char *constant, Py_ssize_t idx, Py_ssize_t *
/* rval = parse_constant(constant) */
rval = PyObject_CallFunctionObjArgs(s->parse_constant, cstr, NULL);
- idx += PyUnicode_GET_SIZE(cstr);
+ idx += PyUnicode_GET_LENGTH(cstr);
Py_DECREF(cstr);
*next_idx_ptr = idx;
return rval;
@@ -837,15 +854,24 @@ _match_number_unicode(PyScannerObject *s, PyObject *pystr, Py_ssize_t start, Py_
PyInt, PyLong, or PyFloat.
May return other types if parse_int or parse_float are set
*/
- Py_UNICODE *str = PyUnicode_AS_UNICODE(pystr);
- Py_ssize_t end_idx = PyUnicode_GET_SIZE(pystr) - 1;
+ void *str;
+ int kind;
+ Py_ssize_t end_idx;
Py_ssize_t idx = start;
int is_float = 0;
PyObject *rval;
- PyObject *numstr;
+ PyObject *numstr = NULL;
+ PyObject *custom_func;
+
+ if (PyUnicode_READY(pystr) == -1)
+ return NULL;
+
+ str = PyUnicode_DATA(pystr);
+ kind = PyUnicode_KIND(pystr);
+ end_idx = PyUnicode_GET_LENGTH(pystr) - 1;
/* read a sign if it's there, make sure it's not the end of the string */
- if (str[idx] == '-') {
+ if (PyUnicode_READ(kind, str, idx) == '-') {
idx++;
if (idx > end_idx) {
PyErr_SetNone(PyExc_StopIteration);
@@ -854,12 +880,12 @@ _match_number_unicode(PyScannerObject *s, PyObject *pystr, Py_ssize_t start, Py_
}
/* read as many integer digits as we find as long as it doesn't start with 0 */
- if (str[idx] >= '1' && str[idx] <= '9') {
+ if (PyUnicode_READ(kind, str, idx) >= '1' && PyUnicode_READ(kind, str, idx) <= '9') {
idx++;
- while (idx <= end_idx && str[idx] >= '0' && str[idx] <= '9') idx++;
+ while (idx <= end_idx && PyUnicode_READ(kind, str, idx) >= '0' && PyUnicode_READ(kind, str, idx) <= '9') idx++;
}
/* if it starts with 0 we only expect one integer digit */
- else if (str[idx] == '0') {
+ else if (PyUnicode_READ(kind, str, idx) == '0') {
idx++;
}
/* no integer digits, error */
@@ -869,25 +895,25 @@ _match_number_unicode(PyScannerObject *s, PyObject *pystr, Py_ssize_t start, Py_
}
/* if the next char is '.' followed by a digit then read all float digits */
- if (idx < end_idx && str[idx] == '.' && str[idx + 1] >= '0' && str[idx + 1] <= '9') {
+ if (idx < end_idx && PyUnicode_READ(kind, str, idx) == '.' && PyUnicode_READ(kind, str, idx + 1) >= '0' && PyUnicode_READ(kind, str, idx + 1) <= '9') {
is_float = 1;
idx += 2;
- while (idx <= end_idx && str[idx] >= '0' && str[idx] <= '9') idx++;
+ while (idx <= end_idx && PyUnicode_READ(kind, str, idx) >= '0' && PyUnicode_READ(kind, str, idx) <= '9') idx++;
}
/* if the next char is 'e' or 'E' then maybe read the exponent (or backtrack) */
- if (idx < end_idx && (str[idx] == 'e' || str[idx] == 'E')) {
+ if (idx < end_idx && (PyUnicode_READ(kind, str, idx) == 'e' || PyUnicode_READ(kind, str, idx) == 'E')) {
Py_ssize_t e_start = idx;
idx++;
/* read an exponent sign if present */
- if (idx < end_idx && (str[idx] == '-' || str[idx] == '+')) idx++;
+ if (idx < end_idx && (PyUnicode_READ(kind, str, idx) == '-' || PyUnicode_READ(kind, str, idx) == '+')) idx++;
/* read all digits */
- while (idx <= end_idx && str[idx] >= '0' && str[idx] <= '9') idx++;
+ while (idx <= end_idx && PyUnicode_READ(kind, str, idx) >= '0' && PyUnicode_READ(kind, str, idx) <= '9') idx++;
/* if we got a digit, then parse as float. if not, backtrack */
- if (str[idx - 1] >= '0' && str[idx - 1] <= '9') {
+ if (PyUnicode_READ(kind, str, idx - 1) >= '0' && PyUnicode_READ(kind, str, idx - 1) <= '9') {
is_float = 1;
}
else {
@@ -895,22 +921,39 @@ _match_number_unicode(PyScannerObject *s, PyObject *pystr, Py_ssize_t start, Py_
}
}
- /* copy the section we determined to be a number */
- numstr = PyUnicode_FromUnicode(&str[start], idx - start);
- if (numstr == NULL)
- return NULL;
- if (is_float) {
- /* parse as a float using a fast path if available, otherwise call user defined method */
- if (s->parse_float != (PyObject *)&PyFloat_Type) {
- rval = PyObject_CallFunctionObjArgs(s->parse_float, numstr, NULL);
- }
- else {
- rval = PyFloat_FromString(numstr);
- }
+ if (is_float && s->parse_float != (PyObject *)&PyFloat_Type)
+ custom_func = s->parse_float;
+ else if (!is_float && s->parse_int != (PyObject *) &PyLong_Type)
+ custom_func = s->parse_int;
+ else
+ custom_func = NULL;
+
+ if (custom_func) {
+ /* copy the section we determined to be a number */
+ numstr = PyUnicode_FromKindAndData(kind,
+ (char*)str + kind * start,
+ idx - start);
+ if (numstr == NULL)
+ return NULL;
+ rval = PyObject_CallFunctionObjArgs(custom_func, numstr, NULL);
}
else {
- /* no fast path for unicode -> int, just call */
- rval = PyObject_CallFunctionObjArgs(s->parse_int, numstr, NULL);
+ Py_ssize_t i, n;
+ char *buf;
+ /* Straight conversion to ASCII, to avoid costly conversion of
+ decimal unicode digits (which cannot appear here) */
+ n = idx - start;
+ numstr = PyBytes_FromStringAndSize(NULL, n);
+ if (numstr == NULL)
+ return NULL;
+ buf = PyBytes_AS_STRING(numstr);
+ for (i = 0; i < n; i++) {
+ buf[i] = (char) PyUnicode_READ(kind, str, i + start);
+ }
+ if (is_float)
+ rval = PyFloat_FromString(numstr);
+ else
+ rval = PyLong_FromString(buf, NULL, 10);
}
Py_DECREF(numstr);
*next_idx_ptr = idx;
@@ -928,13 +971,23 @@ scan_once_unicode(PyScannerObject *s, PyObject *pystr, Py_ssize_t idx, Py_ssize_
Returns a new PyObject representation of the term.
*/
PyObject *res;
- Py_UNICODE *str = PyUnicode_AS_UNICODE(pystr);
- Py_ssize_t length = PyUnicode_GET_SIZE(pystr);
+ void *str;
+ int kind;
+ Py_ssize_t length;
+
+ if (PyUnicode_READY(pystr) == -1)
+ return NULL;
+
+ str = PyUnicode_DATA(pystr);
+ kind = PyUnicode_KIND(pystr);
+ length = PyUnicode_GET_LENGTH(pystr);
+
if (idx >= length) {
PyErr_SetNone(PyExc_StopIteration);
return NULL;
}
- switch (str[idx]) {
+
+ switch (PyUnicode_READ(kind, str, idx)) {
case '"':
/* string */
return scanstring_unicode(pystr, idx + 1,
@@ -958,7 +1011,7 @@ scan_once_unicode(PyScannerObject *s, PyObject *pystr, Py_ssize_t idx, Py_ssize_
return res;
case 'n':
/* null */
- if ((idx + 3 < length) && str[idx + 1] == 'u' && str[idx + 2] == 'l' && str[idx + 3] == 'l') {
+ if ((idx + 3 < length) && PyUnicode_READ(kind, str, idx + 1) == 'u' && PyUnicode_READ(kind, str, idx + 2) == 'l' && PyUnicode_READ(kind, str, idx + 3) == 'l') {
Py_INCREF(Py_None);
*next_idx_ptr = idx + 4;
return Py_None;
@@ -966,7 +1019,7 @@ scan_once_unicode(PyScannerObject *s, PyObject *pystr, Py_ssize_t idx, Py_ssize_
break;
case 't':
/* true */
- if ((idx + 3 < length) && str[idx + 1] == 'r' && str[idx + 2] == 'u' && str[idx + 3] == 'e') {
+ if ((idx + 3 < length) && PyUnicode_READ(kind, str, idx + 1) == 'r' && PyUnicode_READ(kind, str, idx + 2) == 'u' && PyUnicode_READ(kind, str, idx + 3) == 'e') {
Py_INCREF(Py_True);
*next_idx_ptr = idx + 4;
return Py_True;
@@ -974,7 +1027,10 @@ scan_once_unicode(PyScannerObject *s, PyObject *pystr, Py_ssize_t idx, Py_ssize_
break;
case 'f':
/* false */
- if ((idx + 4 < length) && str[idx + 1] == 'a' && str[idx + 2] == 'l' && str[idx + 3] == 's' && str[idx + 4] == 'e') {
+ if ((idx + 4 < length) && PyUnicode_READ(kind, str, idx + 1) == 'a' &&
+ PyUnicode_READ(kind, str, idx + 2) == 'l' &&
+ PyUnicode_READ(kind, str, idx + 3) == 's' &&
+ PyUnicode_READ(kind, str, idx + 4) == 'e') {
Py_INCREF(Py_False);
*next_idx_ptr = idx + 5;
return Py_False;
@@ -982,19 +1038,33 @@ scan_once_unicode(PyScannerObject *s, PyObject *pystr, Py_ssize_t idx, Py_ssize_
break;
case 'N':
/* NaN */
- if ((idx + 2 < length) && str[idx + 1] == 'a' && str[idx + 2] == 'N') {
+ if ((idx + 2 < length) && PyUnicode_READ(kind, str, idx + 1) == 'a' &&
+ PyUnicode_READ(kind, str, idx + 2) == 'N') {
return _parse_constant(s, "NaN", idx, next_idx_ptr);
}
break;
case 'I':
/* Infinity */
- if ((idx + 7 < length) && str[idx + 1] == 'n' && str[idx + 2] == 'f' && str[idx + 3] == 'i' && str[idx + 4] == 'n' && str[idx + 5] == 'i' && str[idx + 6] == 't' && str[idx + 7] == 'y') {
+ if ((idx + 7 < length) && PyUnicode_READ(kind, str, idx + 1) == 'n' &&
+ PyUnicode_READ(kind, str, idx + 2) == 'f' &&
+ PyUnicode_READ(kind, str, idx + 3) == 'i' &&
+ PyUnicode_READ(kind, str, idx + 4) == 'n' &&
+ PyUnicode_READ(kind, str, idx + 5) == 'i' &&
+ PyUnicode_READ(kind, str, idx + 6) == 't' &&
+ PyUnicode_READ(kind, str, idx + 7) == 'y') {
return _parse_constant(s, "Infinity", idx, next_idx_ptr);
}
break;
case '-':
/* -Infinity */
- if ((idx + 8 < length) && str[idx + 1] == 'I' && str[idx + 2] == 'n' && str[idx + 3] == 'f' && str[idx + 4] == 'i' && str[idx + 5] == 'n' && str[idx + 6] == 'i' && str[idx + 7] == 't' && str[idx + 8] == 'y') {
+ if ((idx + 8 < length) && PyUnicode_READ(kind, str, idx + 1) == 'I' &&
+ PyUnicode_READ(kind, str, idx + 2) == 'n' &&
+ PyUnicode_READ(kind, str, idx + 3) == 'f' &&
+ PyUnicode_READ(kind, str, idx + 4) == 'i' &&
+ PyUnicode_READ(kind, str, idx + 5) == 'n' &&
+ PyUnicode_READ(kind, str, idx + 6) == 'i' &&
+ PyUnicode_READ(kind, str, idx + 7) == 't' &&
+ PyUnicode_READ(kind, str, idx + 8) == 'y') {
return _parse_constant(s, "-Infinity", idx, next_idx_ptr);
}
break;
@@ -1210,22 +1280,22 @@ encoder_call(PyObject *self, PyObject *args, PyObject *kwds)
/* Python callable interface to encode_listencode_obj */
static char *kwlist[] = {"obj", "_current_indent_level", NULL};
PyObject *obj;
- PyObject *rval;
Py_ssize_t indent_level;
PyEncoderObject *s;
+ _PyAccu acc;
+
assert(PyEncoder_Check(self));
s = (PyEncoderObject *)self;
if (!PyArg_ParseTupleAndKeywords(args, kwds, "OO&:_iterencode", kwlist,
&obj, _convertPyInt_AsSsize_t, &indent_level))
return NULL;
- rval = PyList_New(0);
- if (rval == NULL)
+ if (_PyAccu_Init(&acc))
return NULL;
- if (encoder_listencode_obj(s, rval, obj, indent_level)) {
- Py_DECREF(rval);
+ if (encoder_listencode_obj(s, &acc, obj, indent_level)) {
+ _PyAccu_Destroy(&acc);
return NULL;
}
- return rval;
+ return _PyAccu_FinishAsList(&acc);
}
static PyObject *
@@ -1297,18 +1367,19 @@ encoder_encode_string(PyEncoderObject *s, PyObject *obj)
}
static int
-_steal_list_append(PyObject *lst, PyObject *stolen)
+_steal_accumulate(_PyAccu *acc, PyObject *stolen)
{
/* Append stolen and then decrement its reference count */
- int rval = PyList_Append(lst, stolen);
+ int rval = _PyAccu_Accumulate(acc, stolen);
Py_DECREF(stolen);
return rval;
}
static int
-encoder_listencode_obj(PyEncoderObject *s, PyObject *rval, PyObject *obj, Py_ssize_t indent_level)
+encoder_listencode_obj(PyEncoderObject *s, _PyAccu *acc,
+ PyObject *obj, Py_ssize_t indent_level)
{
- /* Encode Python object obj to a JSON term, rval is a PyList */
+ /* Encode Python object obj to a JSON term */
PyObject *newobj;
int rv;
@@ -1316,38 +1387,38 @@ encoder_listencode_obj(PyEncoderObject *s, PyObject *rval, PyObject *obj, Py_ssi
PyObject *cstr = _encoded_const(obj);
if (cstr == NULL)
return -1;
- return _steal_list_append(rval, cstr);
+ return _steal_accumulate(acc, cstr);
}
else if (PyUnicode_Check(obj))
{
PyObject *encoded = encoder_encode_string(s, obj);
if (encoded == NULL)
return -1;
- return _steal_list_append(rval, encoded);
+ return _steal_accumulate(acc, encoded);
}
else if (PyLong_Check(obj)) {
PyObject *encoded = PyObject_Str(obj);
if (encoded == NULL)
return -1;
- return _steal_list_append(rval, encoded);
+ return _steal_accumulate(acc, encoded);
}
else if (PyFloat_Check(obj)) {
PyObject *encoded = encoder_encode_float(s, obj);
if (encoded == NULL)
return -1;
- return _steal_list_append(rval, encoded);
+ return _steal_accumulate(acc, encoded);
}
else if (PyList_Check(obj) || PyTuple_Check(obj)) {
if (Py_EnterRecursiveCall(" while encoding a JSON object"))
return -1;
- rv = encoder_listencode_list(s, rval, obj, indent_level);
+ rv = encoder_listencode_list(s, acc, obj, indent_level);
Py_LeaveRecursiveCall();
return rv;
}
else if (PyDict_Check(obj)) {
if (Py_EnterRecursiveCall(" while encoding a JSON object"))
return -1;
- rv = encoder_listencode_dict(s, rval, obj, indent_level);
+ rv = encoder_listencode_dict(s, acc, obj, indent_level);
Py_LeaveRecursiveCall();
return rv;
}
@@ -1378,7 +1449,7 @@ encoder_listencode_obj(PyEncoderObject *s, PyObject *rval, PyObject *obj, Py_ssi
if (Py_EnterRecursiveCall(" while encoding a JSON object"))
return -1;
- rv = encoder_listencode_obj(s, rval, newobj, indent_level);
+ rv = encoder_listencode_obj(s, acc, newobj, indent_level);
Py_LeaveRecursiveCall();
Py_DECREF(newobj);
@@ -1398,9 +1469,10 @@ encoder_listencode_obj(PyEncoderObject *s, PyObject *rval, PyObject *obj, Py_ssi
}
static int
-encoder_listencode_dict(PyEncoderObject *s, PyObject *rval, PyObject *dct, Py_ssize_t indent_level)
+encoder_listencode_dict(PyEncoderObject *s, _PyAccu *acc,
+ PyObject *dct, Py_ssize_t indent_level)
{
- /* Encode Python dict dct a JSON term, rval is a PyList */
+ /* Encode Python dict dct a JSON term */
static PyObject *open_dict = NULL;
static PyObject *close_dict = NULL;
static PyObject *empty_dict = NULL;
@@ -1420,7 +1492,7 @@ encoder_listencode_dict(PyEncoderObject *s, PyObject *rval, PyObject *dct, Py_ss
return -1;
}
if (Py_SIZE(dct) == 0)
- return PyList_Append(rval, empty_dict);
+ return _PyAccu_Accumulate(acc, empty_dict);
if (s->markers != Py_None) {
int has_key;
@@ -1438,7 +1510,7 @@ encoder_listencode_dict(PyEncoderObject *s, PyObject *rval, PyObject *dct, Py_ss
}
}
- if (PyList_Append(rval, open_dict))
+ if (_PyAccu_Accumulate(acc, open_dict))
goto bail;
if (s->indent != Py_None) {
@@ -1525,7 +1597,7 @@ encoder_listencode_dict(PyEncoderObject *s, PyObject *rval, PyObject *dct, Py_ss
}
if (idx) {
- if (PyList_Append(rval, s->item_separator))
+ if (_PyAccu_Accumulate(acc, s->item_separator))
goto bail;
}
@@ -1533,16 +1605,16 @@ encoder_listencode_dict(PyEncoderObject *s, PyObject *rval, PyObject *dct, Py_ss
Py_CLEAR(kstr);
if (encoded == NULL)
goto bail;
- if (PyList_Append(rval, encoded)) {
+ if (_PyAccu_Accumulate(acc, encoded)) {
Py_DECREF(encoded);
goto bail;
}
Py_DECREF(encoded);
- if (PyList_Append(rval, s->key_separator))
+ if (_PyAccu_Accumulate(acc, s->key_separator))
goto bail;
value = PyTuple_GET_ITEM(item, 1);
- if (encoder_listencode_obj(s, rval, value, indent_level))
+ if (encoder_listencode_obj(s, acc, value, indent_level))
goto bail;
idx += 1;
Py_DECREF(item);
@@ -1556,14 +1628,13 @@ encoder_listencode_dict(PyEncoderObject *s, PyObject *rval, PyObject *dct, Py_ss
goto bail;
Py_CLEAR(ident);
}
+ /* TODO DOES NOT RUN; dead code
if (s->indent != Py_None) {
- /* TODO: DOES NOT RUN */
indent_level -= 1;
- /*
- yield '\n' + (' ' * (_indent * _current_indent_level))
- */
- }
- if (PyList_Append(rval, close_dict))
+
+ yield '\n' + (' ' * (_indent * _current_indent_level))
+ }*/
+ if (_PyAccu_Accumulate(acc, close_dict))
goto bail;
return 0;
@@ -1577,9 +1648,10 @@ bail:
static int
-encoder_listencode_list(PyEncoderObject *s, PyObject *rval, PyObject *seq, Py_ssize_t indent_level)
+encoder_listencode_list(PyEncoderObject *s, _PyAccu *acc,
+ PyObject *seq, Py_ssize_t indent_level)
{
- /* Encode Python list seq to a JSON term, rval is a PyList */
+ /* Encode Python list seq to a JSON term */
static PyObject *open_array = NULL;
static PyObject *close_array = NULL;
static PyObject *empty_array = NULL;
@@ -1603,7 +1675,7 @@ encoder_listencode_list(PyEncoderObject *s, PyObject *rval, PyObject *seq, Py_ss
num_items = PySequence_Fast_GET_SIZE(s_fast);
if (num_items == 0) {
Py_DECREF(s_fast);
- return PyList_Append(rval, empty_array);
+ return _PyAccu_Accumulate(acc, empty_array);
}
if (s->markers != Py_None) {
@@ -1623,7 +1695,7 @@ encoder_listencode_list(PyEncoderObject *s, PyObject *rval, PyObject *seq, Py_ss
}
seq_items = PySequence_Fast_ITEMS(s_fast);
- if (PyList_Append(rval, open_array))
+ if (_PyAccu_Accumulate(acc, open_array))
goto bail;
if (s->indent != Py_None) {
/* TODO: DOES NOT RUN */
@@ -1637,10 +1709,10 @@ encoder_listencode_list(PyEncoderObject *s, PyObject *rval, PyObject *seq, Py_ss
for (i = 0; i < num_items; i++) {
PyObject *obj = seq_items[i];
if (i) {
- if (PyList_Append(rval, s->item_separator))
+ if (_PyAccu_Accumulate(acc, s->item_separator))
goto bail;
}
- if (encoder_listencode_obj(s, rval, obj, indent_level))
+ if (encoder_listencode_obj(s, acc, obj, indent_level))
goto bail;
}
if (ident != NULL) {
@@ -1648,14 +1720,14 @@ encoder_listencode_list(PyEncoderObject *s, PyObject *rval, PyObject *seq, Py_ss
goto bail;
Py_CLEAR(ident);
}
+
+ /* TODO: DOES NOT RUN
if (s->indent != Py_None) {
- /* TODO: DOES NOT RUN */
indent_level -= 1;
- /*
- yield '\n' + (' ' * (_indent * _current_indent_level))
- */
- }
- if (PyList_Append(rval, close_array))
+
+ yield '\n' + (' ' * (_indent * _current_indent_level))
+ }*/
+ if (_PyAccu_Accumulate(acc, close_array))
goto bail;
Py_DECREF(s_fast);
return 0;
diff --git a/Modules/_localemodule.c b/Modules/_localemodule.c
index 1001dd2..1cab7c0 100644
--- a/Modules/_localemodule.c
+++ b/Modules/_localemodule.c
@@ -42,43 +42,6 @@ PyDoc_STRVAR(locale__doc__, "Support for POSIX locales.");
static PyObject *Error;
-/* Convert a char* to a Unicode object according to the current locale */
-static PyObject*
-str2uni(const char* s)
-{
-#ifdef HAVE_BROKEN_MBSTOWCS
- size_t needed = strlen(s);
-#else
- size_t needed = mbstowcs(NULL, s, 0);
-#endif
- size_t res1;
- wchar_t smallbuf[30];
- wchar_t *dest;
- PyObject *res2;
- if (needed == (size_t)-1) {
- PyErr_SetString(PyExc_ValueError, "Cannot convert byte to string");
- return NULL;
- }
- if (needed*sizeof(wchar_t) < sizeof(smallbuf))
- dest = smallbuf;
- else {
- dest = PyMem_Malloc((needed+1)*sizeof(wchar_t));
- if (!dest)
- return PyErr_NoMemory();
- }
- /* This shouldn't fail now */
- res1 = mbstowcs(dest, s, needed+1);
-#ifdef HAVE_BROKEN_MBSTOWCS
- assert(res1 != (size_t)-1);
-#else
- assert(res1 == needed);
-#endif
- res2 = PyUnicode_FromWideChar(dest, res1);
- if (dest != smallbuf)
- PyMem_Free(dest);
- return res2;
-}
-
/* support functions for formatting floating point numbers */
PyDoc_STRVAR(setlocale__doc__,
@@ -149,7 +112,7 @@ PyLocale_setlocale(PyObject* self, PyObject* args)
PyErr_SetString(Error, "unsupported locale setting");
return NULL;
}
- result_object = str2uni(result);
+ result_object = PyUnicode_DecodeLocale(result, 0);
if (!result_object)
return NULL;
} else {
@@ -159,7 +122,7 @@ PyLocale_setlocale(PyObject* self, PyObject* args)
PyErr_SetString(Error, "locale query failed");
return NULL;
}
- result_object = str2uni(result);
+ result_object = PyUnicode_DecodeLocale(result, 0);
}
return result_object;
}
@@ -185,7 +148,7 @@ PyLocale_localeconv(PyObject* self)
involved herein */
#define RESULT_STRING(s)\
- x = str2uni(l->s); \
+ x = PyUnicode_DecodeLocale(l->s, 0); \
if (!x) goto failed;\
PyDict_SetItemString(result, #s, x);\
Py_XDECREF(x)
@@ -271,37 +234,28 @@ Return a string that can be used as a key for locale-aware comparisons.");
static PyObject*
PyLocale_strxfrm(PyObject* self, PyObject* args)
{
- Py_UNICODE *s0;
- Py_ssize_t n0;
- wchar_t *s, *buf = NULL;
- size_t n1, n2;
+ PyObject *str;
+ Py_ssize_t n1;
+ wchar_t *s = NULL, *buf = NULL;
+ size_t n2;
PyObject *result = NULL;
-#if Py_UNICODE_SIZE != SIZEOF_WCHAR_T
- Py_ssize_t i;
-#endif
- if (!PyArg_ParseTuple(args, "u#:strxfrm", &s0, &n0))
+ if (!PyArg_ParseTuple(args, "U:strxfrm", &str))
return NULL;
-#if Py_UNICODE_SIZE == SIZEOF_WCHAR_T
- s = (wchar_t *) s0;
-#else
- s = PyMem_Malloc((n0+1)*sizeof(wchar_t));
- if (!s)
- return PyErr_NoMemory();
- for (i=0; i<=n0; i++)
- s[i] = s0[i];
-#endif
+ s = PyUnicode_AsWideCharString(str, &n1);
+ if (s == NULL)
+ goto exit;
/* assume no change in size, first */
- n1 = wcslen(s) + 1;
- buf = PyMem_Malloc(n1*sizeof(wchar_t));
+ n1 = n1 + 1;
+ buf = PyMem_Malloc(n1 * sizeof(wchar_t));
if (!buf) {
PyErr_NoMemory();
goto exit;
}
n2 = wcsxfrm(buf, s, n1);
- if (n2 >= n1) {
+ if (n2 >= (size_t)n1) {
/* more space needed */
buf = PyMem_Realloc(buf, (n2+1)*sizeof(wchar_t));
if (!buf) {
@@ -311,11 +265,11 @@ PyLocale_strxfrm(PyObject* self, PyObject* args)
n2 = wcsxfrm(buf, s, n2+1);
}
result = PyUnicode_FromWideChar(buf, n2);
- exit:
- if (buf) PyMem_Free(buf);
-#if Py_UNICODE_SIZE != SIZEOF_WCHAR_T
- PyMem_Free(s);
-#endif
+exit:
+ if (buf)
+ PyMem_Free(buf);
+ if (s)
+ PyMem_Free(s);
return result;
}
#endif
@@ -485,7 +439,7 @@ PyLocale_nl_langinfo(PyObject* self, PyObject* args)
instead of an empty string for nl_langinfo(ERA). */
const char *result = nl_langinfo(item);
result = result != NULL ? result : "";
- return str2uni(result);
+ return PyUnicode_DecodeLocale(result, 0);
}
PyErr_SetString(PyExc_ValueError, "unsupported langinfo constant");
return NULL;
@@ -504,7 +458,7 @@ PyIntl_gettext(PyObject* self, PyObject *args)
char *in;
if (!PyArg_ParseTuple(args, "s", &in))
return 0;
- return str2uni(gettext(in));
+ return PyUnicode_DecodeLocale(gettext(in), 0);
}
PyDoc_STRVAR(dgettext__doc__,
@@ -517,7 +471,7 @@ PyIntl_dgettext(PyObject* self, PyObject *args)
char *domain, *in;
if (!PyArg_ParseTuple(args, "zs", &domain, &in))
return 0;
- return str2uni(dgettext(domain, in));
+ return PyUnicode_DecodeLocale(dgettext(domain, in), 0);
}
PyDoc_STRVAR(dcgettext__doc__,
@@ -531,7 +485,7 @@ PyIntl_dcgettext(PyObject *self, PyObject *args)
int category;
if (!PyArg_ParseTuple(args, "zsi", &domain, &msgid, &category))
return 0;
- return str2uni(dcgettext(domain,msgid,category));
+ return PyUnicode_DecodeLocale(dcgettext(domain,msgid,category), 0);
}
PyDoc_STRVAR(textdomain__doc__,
@@ -549,7 +503,7 @@ PyIntl_textdomain(PyObject* self, PyObject* args)
PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
- return str2uni(domain);
+ return PyUnicode_DecodeLocale(domain, 0);
}
PyDoc_STRVAR(bindtextdomain__doc__,
@@ -581,7 +535,7 @@ PyIntl_bindtextdomain(PyObject* self,PyObject*args)
PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
- result = str2uni(current_dirname);
+ result = PyUnicode_DecodeLocale(current_dirname, 0);
Py_XDECREF(dirname_bytes);
return result;
}
@@ -599,7 +553,7 @@ PyIntl_bind_textdomain_codeset(PyObject* self,PyObject*args)
return NULL;
codeset = bind_textdomain_codeset(domain, codeset);
if (codeset)
- return str2uni(codeset);
+ return PyUnicode_DecodeLocale(codeset, 0);
Py_RETURN_NONE;
}
#endif
diff --git a/Modules/_lsprof.c b/Modules/_lsprof.c
index cc412bf..b0a226b 100644
--- a/Modules/_lsprof.c
+++ b/Modules/_lsprof.c
@@ -176,36 +176,29 @@ normalizeUserObj(PyObject *obj)
if (fn->m_self == NULL) {
/* built-in function: look up the module name */
PyObject *mod = fn->m_module;
- const char *modname;
- if (mod && PyUnicode_Check(mod)) {
- /* XXX: The following will truncate module names with embedded
- * null-characters. It is unlikely that this can happen in
- * practice and the concequences are not serious enough to
- * introduce extra checks here.
- */
- modname = _PyUnicode_AsString(mod);
- if (modname == NULL) {
- modname = "<encoding error>";
- PyErr_Clear();
+ PyObject *modname = NULL;
+ if (mod != NULL) {
+ if (PyUnicode_Check(mod)) {
+ modname = mod;
+ Py_INCREF(modname);
}
- }
- else if (mod && PyModule_Check(mod)) {
- modname = PyModule_GetName(mod);
- if (modname == NULL) {
- PyErr_Clear();
- modname = "builtins";
+ else if (PyModule_Check(mod)) {
+ modname = PyModule_GetNameObject(mod);
+ if (modname == NULL)
+ PyErr_Clear();
}
}
- else {
- modname = "builtins";
+ if (modname != NULL) {
+ if (PyUnicode_CompareWithASCIIString(modname, "builtins") != 0) {
+ PyObject *result;
+ result = PyUnicode_FromFormat("<%U.%s>", modname,
+ fn->m_ml->ml_name);
+ Py_DECREF(modname);
+ return result;
+ }
+ Py_DECREF(modname);
}
- if (strcmp(modname, "builtins") != 0)
- return PyUnicode_FromFormat("<%s.%s>",
- modname,
- fn->m_ml->ml_name);
- else
- return PyUnicode_FromFormat("<%s>",
- fn->m_ml->ml_name);
+ return PyUnicode_FromFormat("<%s>", fn->m_ml->ml_name);
}
else {
/* built-in method: try to return
diff --git a/Modules/_lzmamodule.c b/Modules/_lzmamodule.c
new file mode 100644
index 0000000..a69377c
--- /dev/null
+++ b/Modules/_lzmamodule.c
@@ -0,0 +1,1111 @@
+/* _lzma - Low-level Python interface to liblzma.
+
+ Initial implementation by Per Øyvind Karlsen.
+ Rewritten by Nadeem Vawda.
+
+*/
+
+#define PY_SSIZE_T_CLEAN
+
+#include "Python.h"
+#include "structmember.h"
+#ifdef WITH_THREAD
+#include "pythread.h"
+#endif
+
+#include <stdarg.h>
+#include <string.h>
+
+#include <lzma.h>
+
+
+#ifndef PY_LONG_LONG
+#error "This module requires PY_LONG_LONG to be defined"
+#endif
+
+
+#ifdef WITH_THREAD
+#define ACQUIRE_LOCK(obj) do { \
+ if (!PyThread_acquire_lock((obj)->lock, 0)) { \
+ Py_BEGIN_ALLOW_THREADS \
+ PyThread_acquire_lock((obj)->lock, 1); \
+ Py_END_ALLOW_THREADS \
+ } } while (0)
+#define RELEASE_LOCK(obj) PyThread_release_lock((obj)->lock)
+#else
+#define ACQUIRE_LOCK(obj)
+#define RELEASE_LOCK(obj)
+#endif
+
+
+/* Container formats: */
+enum {
+ FORMAT_AUTO,
+ FORMAT_XZ,
+ FORMAT_ALONE,
+ FORMAT_RAW,
+};
+
+#define LZMA_CHECK_UNKNOWN (LZMA_CHECK_ID_MAX + 1)
+
+
+typedef struct {
+ PyObject_HEAD
+ lzma_stream lzs;
+ int flushed;
+#ifdef WITH_THREAD
+ PyThread_type_lock lock;
+#endif
+} Compressor;
+
+typedef struct {
+ PyObject_HEAD
+ lzma_stream lzs;
+ int check;
+ char eof;
+ PyObject *unused_data;
+#ifdef WITH_THREAD
+ PyThread_type_lock lock;
+#endif
+} Decompressor;
+
+/* LZMAError class object. */
+static PyObject *Error;
+
+/* An empty tuple, used by the filter specifier parsing code. */
+static PyObject *empty_tuple;
+
+
+/* Helper functions. */
+
+static int
+catch_lzma_error(lzma_ret lzret)
+{
+ switch (lzret) {
+ case LZMA_OK:
+ case LZMA_GET_CHECK:
+ case LZMA_NO_CHECK:
+ case LZMA_STREAM_END:
+ return 0;
+ case LZMA_UNSUPPORTED_CHECK:
+ PyErr_SetString(Error, "Unsupported integrity check");
+ return 1;
+ case LZMA_MEM_ERROR:
+ PyErr_NoMemory();
+ return 1;
+ case LZMA_MEMLIMIT_ERROR:
+ PyErr_SetString(Error, "Memory usage limit exceeded");
+ return 1;
+ case LZMA_FORMAT_ERROR:
+ PyErr_SetString(Error, "Input format not supported by decoder");
+ return 1;
+ case LZMA_OPTIONS_ERROR:
+ PyErr_SetString(Error, "Invalid or unsupported options");
+ return 1;
+ case LZMA_DATA_ERROR:
+ PyErr_SetString(Error, "Corrupt input data");
+ return 1;
+ case LZMA_BUF_ERROR:
+ PyErr_SetString(Error, "Insufficient buffer space");
+ return 1;
+ case LZMA_PROG_ERROR:
+ PyErr_SetString(Error, "Internal error");
+ return 1;
+ default:
+ PyErr_Format(Error, "Unrecognized error from liblzma: %d", lzret);
+ return 1;
+ }
+}
+
+#if BUFSIZ < 8192
+#define INITIAL_BUFFER_SIZE 8192
+#else
+#define INITIAL_BUFFER_SIZE BUFSIZ
+#endif
+
+static int
+grow_buffer(PyObject **buf)
+{
+ size_t size = PyBytes_GET_SIZE(*buf);
+ return _PyBytes_Resize(buf, size + (size >> 3) + 6);
+}
+
+
+/* Some custom type conversions for PyArg_ParseTupleAndKeywords(),
+ since the predefined conversion specifiers do not suit our needs:
+
+ uint32_t - the "I" (unsigned int) specifier is the right size, but
+ silently ignores overflows on conversion.
+
+ lzma_mode and lzma_match_finder - these are enumeration types, and
+ so the size of each is implementation-defined. Worse, different
+ enum types can be of different sizes within the same program, so
+ to be strictly correct, we need to define two separate converters.
+ */
+
+#define INT_TYPE_CONVERTER_FUNC(TYPE, FUNCNAME) \
+ static int \
+ FUNCNAME(PyObject *obj, void *ptr) \
+ { \
+ unsigned long val; \
+ \
+ val = PyLong_AsUnsignedLong(obj); \
+ if (PyErr_Occurred()) \
+ return 0; \
+ if ((unsigned long)(TYPE)val != val) { \
+ PyErr_SetString(PyExc_OverflowError, \
+ "Value too large for " #TYPE " type"); \
+ return 0; \
+ } \
+ *(TYPE *)ptr = val; \
+ return 1; \
+ }
+
+INT_TYPE_CONVERTER_FUNC(uint32_t, uint32_converter)
+INT_TYPE_CONVERTER_FUNC(lzma_mode, lzma_mode_converter)
+INT_TYPE_CONVERTER_FUNC(lzma_match_finder, lzma_mf_converter)
+
+#undef INT_TYPE_CONVERTER_FUNC
+
+
+/* Filter specifier parsing functions. */
+
+static void *
+parse_filter_spec_lzma(PyObject *spec)
+{
+ static char *optnames[] = {"id", "preset", "dict_size", "lc", "lp",
+ "pb", "mode", "nice_len", "mf", "depth", NULL};
+ PyObject *id;
+ PyObject *preset_obj;
+ uint32_t preset = LZMA_PRESET_DEFAULT;
+ lzma_options_lzma *options;
+
+ /* First, fill in default values for all the options using a preset.
+ Then, override the defaults with any values given by the caller. */
+
+ preset_obj = PyMapping_GetItemString(spec, "preset");
+ if (preset_obj == NULL) {
+ if (PyErr_ExceptionMatches(PyExc_KeyError))
+ PyErr_Clear();
+ else
+ return NULL;
+ } else {
+ int ok = uint32_converter(preset_obj, &preset);
+ Py_DECREF(preset_obj);
+ if (!ok)
+ return NULL;
+ }
+
+ options = (lzma_options_lzma *)PyMem_Malloc(sizeof *options);
+ if (options == NULL)
+ return PyErr_NoMemory();
+ memset(options, 0, sizeof *options);
+
+ if (lzma_lzma_preset(options, preset)) {
+ PyMem_Free(options);
+ PyErr_Format(Error, "lzma_lzma_preset() failed for preset %#x", preset);
+ return NULL;
+ }
+
+ if (!PyArg_ParseTupleAndKeywords(empty_tuple, spec,
+ "|OOO&O&O&O&O&O&O&O&", optnames,
+ &id, &preset_obj,
+ uint32_converter, &options->dict_size,
+ uint32_converter, &options->lc,
+ uint32_converter, &options->lp,
+ uint32_converter, &options->pb,
+ lzma_mode_converter, &options->mode,
+ uint32_converter, &options->nice_len,
+ lzma_mf_converter, &options->mf,
+ uint32_converter, &options->depth)) {
+ PyErr_SetString(PyExc_ValueError,
+ "Invalid filter specifier for LZMA filter");
+ PyMem_Free(options);
+ options = NULL;
+ }
+ return options;
+}
+
+static void *
+parse_filter_spec_delta(PyObject *spec)
+{
+ static char *optnames[] = {"id", "dist", NULL};
+ PyObject *id;
+ uint32_t dist = 1;
+ lzma_options_delta *options;
+
+ if (!PyArg_ParseTupleAndKeywords(empty_tuple, spec, "|OO&", optnames,
+ &id, uint32_converter, &dist)) {
+ PyErr_SetString(PyExc_ValueError,
+ "Invalid filter specifier for delta filter");
+ return NULL;
+ }
+
+ options = (lzma_options_delta *)PyMem_Malloc(sizeof *options);
+ if (options == NULL)
+ return PyErr_NoMemory();
+ memset(options, 0, sizeof *options);
+ options->type = LZMA_DELTA_TYPE_BYTE;
+ options->dist = dist;
+ return options;
+}
+
+static void *
+parse_filter_spec_bcj(PyObject *spec)
+{
+ static char *optnames[] = {"id", "start_offset", NULL};
+ PyObject *id;
+ uint32_t start_offset = 0;
+ lzma_options_bcj *options;
+
+ if (!PyArg_ParseTupleAndKeywords(empty_tuple, spec, "|OO&", optnames,
+ &id, uint32_converter, &start_offset)) {
+ PyErr_SetString(PyExc_ValueError,
+ "Invalid filter specifier for BCJ filter");
+ return NULL;
+ }
+
+ options = (lzma_options_bcj *)PyMem_Malloc(sizeof *options);
+ if (options == NULL)
+ return PyErr_NoMemory();
+ memset(options, 0, sizeof *options);
+ options->start_offset = start_offset;
+ return options;
+}
+
+static void *
+parse_filter_spec(lzma_filter *f, PyObject *spec)
+{
+ PyObject *id_obj;
+
+ if (!PyMapping_Check(spec)) {
+ PyErr_SetString(PyExc_TypeError,
+ "Filter specifier must be a dict or dict-like object");
+ return NULL;
+ }
+ id_obj = PyMapping_GetItemString(spec, "id");
+ if (id_obj == NULL) {
+ if (PyErr_ExceptionMatches(PyExc_KeyError))
+ PyErr_SetString(PyExc_ValueError,
+ "Filter specifier must have an \"id\" entry");
+ return NULL;
+ }
+ f->id = PyLong_AsUnsignedLongLong(id_obj);
+ Py_DECREF(id_obj);
+ if (PyErr_Occurred())
+ return NULL;
+
+ switch (f->id) {
+ case LZMA_FILTER_LZMA1:
+ case LZMA_FILTER_LZMA2:
+ f->options = parse_filter_spec_lzma(spec);
+ return f->options;
+ case LZMA_FILTER_DELTA:
+ f->options = parse_filter_spec_delta(spec);
+ return f->options;
+ case LZMA_FILTER_X86:
+ case LZMA_FILTER_POWERPC:
+ case LZMA_FILTER_IA64:
+ case LZMA_FILTER_ARM:
+ case LZMA_FILTER_ARMTHUMB:
+ case LZMA_FILTER_SPARC:
+ f->options = parse_filter_spec_bcj(spec);
+ return f->options;
+ default:
+ PyErr_Format(PyExc_ValueError, "Invalid filter ID: %llu", f->id);
+ return NULL;
+ }
+}
+
+static void
+free_filter_chain(lzma_filter filters[])
+{
+ int i;
+
+ for (i = 0; filters[i].id != LZMA_VLI_UNKNOWN; i++)
+ PyMem_Free(filters[i].options);
+}
+
+static int
+parse_filter_chain_spec(lzma_filter filters[], PyObject *filterspecs)
+{
+ Py_ssize_t i, num_filters;
+
+ num_filters = PySequence_Length(filterspecs);
+ if (num_filters == -1)
+ return -1;
+ if (num_filters > LZMA_FILTERS_MAX) {
+ PyErr_Format(PyExc_ValueError,
+ "Too many filters - liblzma supports a maximum of %d",
+ LZMA_FILTERS_MAX);
+ return -1;
+ }
+
+ for (i = 0; i < num_filters; i++) {
+ int ok = 1;
+ PyObject *spec = PySequence_GetItem(filterspecs, i);
+ if (spec == NULL || parse_filter_spec(&filters[i], spec) == NULL)
+ ok = 0;
+ Py_XDECREF(spec);
+ if (!ok) {
+ filters[i].id = LZMA_VLI_UNKNOWN;
+ free_filter_chain(filters);
+ return -1;
+ }
+ }
+ filters[num_filters].id = LZMA_VLI_UNKNOWN;
+ return 0;
+}
+
+
+/* LZMACompressor class. */
+
+static PyObject *
+compress(Compressor *c, uint8_t *data, size_t len, lzma_action action)
+{
+ size_t data_size = 0;
+ PyObject *result;
+
+ result = PyBytes_FromStringAndSize(NULL, INITIAL_BUFFER_SIZE);
+ if (result == NULL)
+ return NULL;
+ c->lzs.next_in = data;
+ c->lzs.avail_in = len;
+ c->lzs.next_out = (uint8_t *)PyBytes_AS_STRING(result);
+ c->lzs.avail_out = PyBytes_GET_SIZE(result);
+ for (;;) {
+ lzma_ret lzret;
+
+ Py_BEGIN_ALLOW_THREADS
+ lzret = lzma_code(&c->lzs, action);
+ data_size = (char *)c->lzs.next_out - PyBytes_AS_STRING(result);
+ Py_END_ALLOW_THREADS
+ if (catch_lzma_error(lzret))
+ goto error;
+ if ((action == LZMA_RUN && c->lzs.avail_in == 0) ||
+ (action == LZMA_FINISH && lzret == LZMA_STREAM_END)) {
+ break;
+ } else if (c->lzs.avail_out == 0) {
+ if (grow_buffer(&result) == -1)
+ goto error;
+ c->lzs.next_out = (uint8_t *)PyBytes_AS_STRING(result) + data_size;
+ c->lzs.avail_out = PyBytes_GET_SIZE(result) - data_size;
+ }
+ }
+ if (data_size != PyBytes_GET_SIZE(result))
+ if (_PyBytes_Resize(&result, data_size) == -1)
+ goto error;
+ return result;
+
+error:
+ Py_XDECREF(result);
+ return NULL;
+}
+
+PyDoc_STRVAR(Compressor_compress_doc,
+"compress(data) -> bytes\n"
+"\n"
+"Provide data to the compressor object. Returns a chunk of\n"
+"compressed data if possible, or b\"\" otherwise.\n"
+"\n"
+"When you have finished providing data to the compressor, call the\n"
+"flush() method to finish the conversion process.\n");
+
+static PyObject *
+Compressor_compress(Compressor *self, PyObject *args)
+{
+ Py_buffer buffer;
+ PyObject *result = NULL;
+
+ if (!PyArg_ParseTuple(args, "y*:compress", &buffer))
+ return NULL;
+
+ ACQUIRE_LOCK(self);
+ if (self->flushed)
+ PyErr_SetString(PyExc_ValueError, "Compressor has been flushed");
+ else
+ result = compress(self, buffer.buf, buffer.len, LZMA_RUN);
+ RELEASE_LOCK(self);
+ PyBuffer_Release(&buffer);
+ return result;
+}
+
+PyDoc_STRVAR(Compressor_flush_doc,
+"flush() -> bytes\n"
+"\n"
+"Finish the compression process. Returns the compressed data left\n"
+"in internal buffers.\n"
+"\n"
+"The compressor object cannot be used after this method is called.\n");
+
+static PyObject *
+Compressor_flush(Compressor *self, PyObject *noargs)
+{
+ PyObject *result = NULL;
+
+ ACQUIRE_LOCK(self);
+ if (self->flushed) {
+ PyErr_SetString(PyExc_ValueError, "Repeated call to flush()");
+ } else {
+ self->flushed = 1;
+ result = compress(self, NULL, 0, LZMA_FINISH);
+ }
+ RELEASE_LOCK(self);
+ return result;
+}
+
+static int
+Compressor_init_xz(lzma_stream *lzs, int check, uint32_t preset,
+ PyObject *filterspecs)
+{
+ lzma_ret lzret;
+
+ if (filterspecs == Py_None) {
+ lzret = lzma_easy_encoder(lzs, preset, check);
+ } else {
+ lzma_filter filters[LZMA_FILTERS_MAX + 1];
+
+ if (parse_filter_chain_spec(filters, filterspecs) == -1)
+ return -1;
+ lzret = lzma_stream_encoder(lzs, filters, check);
+ free_filter_chain(filters);
+ }
+ if (catch_lzma_error(lzret))
+ return -1;
+ else
+ return 0;
+}
+
+static int
+Compressor_init_alone(lzma_stream *lzs, uint32_t preset, PyObject *filterspecs)
+{
+ lzma_ret lzret;
+
+ if (filterspecs == Py_None) {
+ lzma_options_lzma options;
+
+ if (lzma_lzma_preset(&options, preset)) {
+ PyErr_Format(Error, "Invalid compression preset: %#x", preset);
+ return -1;
+ }
+ lzret = lzma_alone_encoder(lzs, &options);
+ } else {
+ lzma_filter filters[LZMA_FILTERS_MAX + 1];
+
+ if (parse_filter_chain_spec(filters, filterspecs) == -1)
+ return -1;
+ if (filters[0].id == LZMA_FILTER_LZMA1 &&
+ filters[1].id == LZMA_VLI_UNKNOWN) {
+ lzret = lzma_alone_encoder(lzs, filters[0].options);
+ } else {
+ PyErr_SetString(PyExc_ValueError,
+ "Invalid filter chain for FORMAT_ALONE - "
+ "must be a single LZMA1 filter");
+ lzret = LZMA_PROG_ERROR;
+ }
+ free_filter_chain(filters);
+ }
+ if (PyErr_Occurred() || catch_lzma_error(lzret))
+ return -1;
+ else
+ return 0;
+}
+
+static int
+Compressor_init_raw(lzma_stream *lzs, PyObject *filterspecs)
+{
+ lzma_filter filters[LZMA_FILTERS_MAX + 1];
+ lzma_ret lzret;
+
+ if (filterspecs == Py_None) {
+ PyErr_SetString(PyExc_ValueError,
+ "Must specify filters for FORMAT_RAW");
+ return -1;
+ }
+ if (parse_filter_chain_spec(filters, filterspecs) == -1)
+ return -1;
+ lzret = lzma_raw_encoder(lzs, filters);
+ free_filter_chain(filters);
+ if (catch_lzma_error(lzret))
+ return -1;
+ else
+ return 0;
+}
+
+static int
+Compressor_init(Compressor *self, PyObject *args, PyObject *kwargs)
+{
+ static char *arg_names[] = {"format", "check", "preset", "filters", NULL};
+ int format = FORMAT_XZ;
+ int check = -1;
+ uint32_t preset = LZMA_PRESET_DEFAULT;
+ PyObject *preset_obj = Py_None;
+ PyObject *filterspecs = Py_None;
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+ "|iiOO:LZMACompressor", arg_names,
+ &format, &check, &preset_obj,
+ &filterspecs))
+ return -1;
+
+ if (format != FORMAT_XZ && check != -1 && check != LZMA_CHECK_NONE) {
+ PyErr_SetString(PyExc_ValueError,
+ "Integrity checks are only supported by FORMAT_XZ");
+ return -1;
+ }
+
+ if (preset_obj != Py_None && filterspecs != Py_None) {
+ PyErr_SetString(PyExc_ValueError,
+ "Cannot specify both preset and filter chain");
+ return -1;
+ }
+
+ if (preset_obj != Py_None)
+ if (!uint32_converter(preset_obj, &preset))
+ return -1;
+
+#ifdef WITH_THREAD
+ self->lock = PyThread_allocate_lock();
+ if (self->lock == NULL) {
+ PyErr_SetString(PyExc_MemoryError, "Unable to allocate lock");
+ return -1;
+ }
+#endif
+
+ self->flushed = 0;
+ switch (format) {
+ case FORMAT_XZ:
+ if (check == -1)
+ check = LZMA_CHECK_CRC64;
+ if (Compressor_init_xz(&self->lzs, check, preset, filterspecs) != 0)
+ break;
+ return 0;
+
+ case FORMAT_ALONE:
+ if (Compressor_init_alone(&self->lzs, preset, filterspecs) != 0)
+ break;
+ return 0;
+
+ case FORMAT_RAW:
+ if (Compressor_init_raw(&self->lzs, filterspecs) != 0)
+ break;
+ return 0;
+
+ default:
+ PyErr_Format(PyExc_ValueError,
+ "Invalid container format: %d", format);
+ break;
+ }
+
+#ifdef WITH_THREAD
+ PyThread_free_lock(self->lock);
+ self->lock = NULL;
+#endif
+ return -1;
+}
+
+static void
+Compressor_dealloc(Compressor *self)
+{
+ lzma_end(&self->lzs);
+#ifdef WITH_THREAD
+ if (self->lock != NULL)
+ PyThread_free_lock(self->lock);
+#endif
+ Py_TYPE(self)->tp_free((PyObject *)self);
+}
+
+static PyMethodDef Compressor_methods[] = {
+ {"compress", (PyCFunction)Compressor_compress, METH_VARARGS,
+ Compressor_compress_doc},
+ {"flush", (PyCFunction)Compressor_flush, METH_NOARGS,
+ Compressor_flush_doc},
+ {NULL}
+};
+
+PyDoc_STRVAR(Compressor_doc,
+"LZMACompressor(format=FORMAT_XZ, check=-1, preset=None, filters=None)\n"
+"\n"
+"Create a compressor object for compressing data incrementally.\n"
+"\n"
+"format specifies the container format to use for the output. This can\n"
+"be FORMAT_XZ (default), FORMAT_ALONE, or FORMAT_RAW.\n"
+"\n"
+"check specifies the integrity check to use. For FORMAT_XZ, the default\n"
+"is CHECK_CRC64. FORMAT_ALONE and FORMAT_RAW do not suport integrity\n"
+"checks; for these formats, check must be omitted, or be CHECK_NONE.\n"
+"\n"
+"The settings used by the compressor can be specified either as a\n"
+"preset compression level (with the 'preset' argument), or in detail\n"
+"as a custom filter chain (with the 'filters' argument). For FORMAT_XZ\n"
+"and FORMAT_ALONE, the default is to use the PRESET_DEFAULT preset\n"
+"level. For FORMAT_RAW, the caller must always specify a filter chain;\n"
+"the raw compressor does not support preset compression levels.\n"
+"\n"
+"preset (if provided) should be an integer in the range 0-9, optionally\n"
+"OR-ed with the constant PRESET_EXTREME.\n"
+"\n"
+"filters (if provided) should be a sequence of dicts. Each dict should\n"
+"have an entry for \"id\" indicating the ID of the filter, plus\n"
+"additional entries for options to the filter.\n"
+"\n"
+"For one-shot compression, use the compress() function instead.\n");
+
+static PyTypeObject Compressor_type = {
+ PyVarObject_HEAD_INIT(NULL, 0)
+ "_lzma.LZMACompressor", /* tp_name */
+ sizeof(Compressor), /* tp_basicsize */
+ 0, /* tp_itemsize */
+ (destructor)Compressor_dealloc, /* tp_dealloc */
+ 0, /* tp_print */
+ 0, /* tp_getattr */
+ 0, /* tp_setattr */
+ 0, /* tp_reserved */
+ 0, /* tp_repr */
+ 0, /* tp_as_number */
+ 0, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ 0, /* tp_hash */
+ 0, /* tp_call */
+ 0, /* tp_str */
+ 0, /* tp_getattro */
+ 0, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ Py_TPFLAGS_DEFAULT, /* tp_flags */
+ Compressor_doc, /* tp_doc */
+ 0, /* tp_traverse */
+ 0, /* tp_clear */
+ 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+ 0, /* tp_iter */
+ 0, /* tp_iternext */
+ Compressor_methods, /* tp_methods */
+ 0, /* tp_members */
+ 0, /* tp_getset */
+ 0, /* tp_base */
+ 0, /* tp_dict */
+ 0, /* tp_descr_get */
+ 0, /* tp_descr_set */
+ 0, /* tp_dictoffset */
+ (initproc)Compressor_init, /* tp_init */
+ 0, /* tp_alloc */
+ PyType_GenericNew, /* tp_new */
+};
+
+
+/* LZMADecompressor class. */
+
+static PyObject *
+decompress(Decompressor *d, uint8_t *data, size_t len)
+{
+ size_t data_size = 0;
+ PyObject *result;
+
+ result = PyBytes_FromStringAndSize(NULL, INITIAL_BUFFER_SIZE);
+ if (result == NULL)
+ return NULL;
+ d->lzs.next_in = data;
+ d->lzs.avail_in = len;
+ d->lzs.next_out = (uint8_t *)PyBytes_AS_STRING(result);
+ d->lzs.avail_out = PyBytes_GET_SIZE(result);
+ for (;;) {
+ lzma_ret lzret;
+
+ Py_BEGIN_ALLOW_THREADS
+ lzret = lzma_code(&d->lzs, LZMA_RUN);
+ data_size = (char *)d->lzs.next_out - PyBytes_AS_STRING(result);
+ Py_END_ALLOW_THREADS
+ if (catch_lzma_error(lzret))
+ goto error;
+ if (lzret == LZMA_GET_CHECK || lzret == LZMA_NO_CHECK)
+ d->check = lzma_get_check(&d->lzs);
+ if (lzret == LZMA_STREAM_END) {
+ d->eof = 1;
+ if (d->lzs.avail_in > 0) {
+ Py_CLEAR(d->unused_data);
+ d->unused_data = PyBytes_FromStringAndSize(
+ (char *)d->lzs.next_in, d->lzs.avail_in);
+ if (d->unused_data == NULL)
+ goto error;
+ }
+ break;
+ } else if (d->lzs.avail_in == 0) {
+ break;
+ } else if (d->lzs.avail_out == 0) {
+ if (grow_buffer(&result) == -1)
+ goto error;
+ d->lzs.next_out = (uint8_t *)PyBytes_AS_STRING(result) + data_size;
+ d->lzs.avail_out = PyBytes_GET_SIZE(result) - data_size;
+ }
+ }
+ if (data_size != PyBytes_GET_SIZE(result))
+ if (_PyBytes_Resize(&result, data_size) == -1)
+ goto error;
+ return result;
+
+error:
+ Py_XDECREF(result);
+ return NULL;
+}
+
+PyDoc_STRVAR(Decompressor_decompress_doc,
+"decompress(data) -> bytes\n"
+"\n"
+"Provide data to the decompressor object. Returns a chunk of\n"
+"decompressed data if possible, or b\"\" otherwise.\n"
+"\n"
+"Attempting to decompress data after the end of the stream is\n"
+"reached raises an EOFError. Any data found after the end of the\n"
+"stream is ignored, and saved in the unused_data attribute.\n");
+
+static PyObject *
+Decompressor_decompress(Decompressor *self, PyObject *args)
+{
+ Py_buffer buffer;
+ PyObject *result = NULL;
+
+ if (!PyArg_ParseTuple(args, "y*:decompress", &buffer))
+ return NULL;
+
+ ACQUIRE_LOCK(self);
+ if (self->eof)
+ PyErr_SetString(PyExc_EOFError, "Already at end of stream");
+ else
+ result = decompress(self, buffer.buf, buffer.len);
+ RELEASE_LOCK(self);
+ PyBuffer_Release(&buffer);
+ return result;
+}
+
+static int
+Decompressor_init_raw(lzma_stream *lzs, PyObject *filterspecs)
+{
+ lzma_filter filters[LZMA_FILTERS_MAX + 1];
+ lzma_ret lzret;
+
+ if (parse_filter_chain_spec(filters, filterspecs) == -1)
+ return -1;
+ lzret = lzma_raw_decoder(lzs, filters);
+ free_filter_chain(filters);
+ if (catch_lzma_error(lzret))
+ return -1;
+ else
+ return 0;
+}
+
+static int
+Decompressor_init(Decompressor *self, PyObject *args, PyObject *kwargs)
+{
+ static char *arg_names[] = {"format", "memlimit", "filters", NULL};
+ const uint32_t decoder_flags = LZMA_TELL_ANY_CHECK | LZMA_TELL_NO_CHECK;
+ int format = FORMAT_AUTO;
+ uint64_t memlimit = UINT64_MAX;
+ PyObject *memlimit_obj = Py_None;
+ PyObject *filterspecs = Py_None;
+ lzma_ret lzret;
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+ "|iOO:LZMADecompressor", arg_names,
+ &format, &memlimit_obj, &filterspecs))
+ return -1;
+
+ if (memlimit_obj != Py_None) {
+ if (format == FORMAT_RAW) {
+ PyErr_SetString(PyExc_ValueError,
+ "Cannot specify memory limit with FORMAT_RAW");
+ return -1;
+ }
+ memlimit = PyLong_AsUnsignedLongLong(memlimit_obj);
+ if (PyErr_Occurred())
+ return -1;
+ }
+
+ if (format == FORMAT_RAW && filterspecs == Py_None) {
+ PyErr_SetString(PyExc_ValueError,
+ "Must specify filters for FORMAT_RAW");
+ return -1;
+ } else if (format != FORMAT_RAW && filterspecs != Py_None) {
+ PyErr_SetString(PyExc_ValueError,
+ "Cannot specify filters except with FORMAT_RAW");
+ return -1;
+ }
+
+#ifdef WITH_THREAD
+ self->lock = PyThread_allocate_lock();
+ if (self->lock == NULL) {
+ PyErr_SetString(PyExc_MemoryError, "Unable to allocate lock");
+ return -1;
+ }
+#endif
+
+ self->check = LZMA_CHECK_UNKNOWN;
+ self->unused_data = PyBytes_FromStringAndSize(NULL, 0);
+ if (self->unused_data == NULL)
+ goto error;
+
+ switch (format) {
+ case FORMAT_AUTO:
+ lzret = lzma_auto_decoder(&self->lzs, memlimit, decoder_flags);
+ if (catch_lzma_error(lzret))
+ break;
+ return 0;
+
+ case FORMAT_XZ:
+ lzret = lzma_stream_decoder(&self->lzs, memlimit, decoder_flags);
+ if (catch_lzma_error(lzret))
+ break;
+ return 0;
+
+ case FORMAT_ALONE:
+ self->check = LZMA_CHECK_NONE;
+ lzret = lzma_alone_decoder(&self->lzs, memlimit);
+ if (catch_lzma_error(lzret))
+ break;
+ return 0;
+
+ case FORMAT_RAW:
+ self->check = LZMA_CHECK_NONE;
+ if (Decompressor_init_raw(&self->lzs, filterspecs) == -1)
+ break;
+ return 0;
+
+ default:
+ PyErr_Format(PyExc_ValueError,
+ "Invalid container format: %d", format);
+ break;
+ }
+
+error:
+ Py_CLEAR(self->unused_data);
+#ifdef WITH_THREAD
+ PyThread_free_lock(self->lock);
+ self->lock = NULL;
+#endif
+ return -1;
+}
+
+static void
+Decompressor_dealloc(Decompressor *self)
+{
+ lzma_end(&self->lzs);
+ Py_CLEAR(self->unused_data);
+#ifdef WITH_THREAD
+ if (self->lock != NULL)
+ PyThread_free_lock(self->lock);
+#endif
+ Py_TYPE(self)->tp_free((PyObject *)self);
+}
+
+static PyMethodDef Decompressor_methods[] = {
+ {"decompress", (PyCFunction)Decompressor_decompress, METH_VARARGS,
+ Decompressor_decompress_doc},
+ {NULL}
+};
+
+PyDoc_STRVAR(Decompressor_check_doc,
+"ID of the integrity check used by the input stream.");
+
+PyDoc_STRVAR(Decompressor_eof_doc,
+"True if the end-of-stream marker has been reached.");
+
+PyDoc_STRVAR(Decompressor_unused_data_doc,
+"Data found after the end of the compressed stream.");
+
+static PyMemberDef Decompressor_members[] = {
+ {"check", T_INT, offsetof(Decompressor, check), READONLY,
+ Decompressor_check_doc},
+ {"eof", T_BOOL, offsetof(Decompressor, eof), READONLY,
+ Decompressor_eof_doc},
+ {"unused_data", T_OBJECT_EX, offsetof(Decompressor, unused_data), READONLY,
+ Decompressor_unused_data_doc},
+ {NULL}
+};
+
+PyDoc_STRVAR(Decompressor_doc,
+"LZMADecompressor(format=FORMAT_AUTO, memlimit=None, filters=None)\n"
+"\n"
+"Create a decompressor object for decompressing data incrementally.\n"
+"\n"
+"format specifies the container format of the input stream. If this is\n"
+"FORMAT_AUTO (the default), the decompressor will automatically detect\n"
+"whether the input is FORMAT_XZ or FORMAT_ALONE. Streams created with\n"
+"FORMAT_RAW cannot be autodetected.\n"
+"\n"
+"memlimit can be specified to limit the amount of memory used by the\n"
+"decompressor. This will cause decompression to fail if the input\n"
+"cannot be decompressed within the given limit.\n"
+"\n"
+"filters specifies a custom filter chain. This argument is required for\n"
+"FORMAT_RAW, and not accepted with any other format. When provided,\n"
+"this should be a sequence of dicts, each indicating the ID and options\n"
+"for a single filter.\n"
+"\n"
+"For one-shot decompression, use the decompress() function instead.\n");
+
+static PyTypeObject Decompressor_type = {
+ PyVarObject_HEAD_INIT(NULL, 0)
+ "_lzma.LZMADecompressor", /* tp_name */
+ sizeof(Decompressor), /* tp_basicsize */
+ 0, /* tp_itemsize */
+ (destructor)Decompressor_dealloc, /* tp_dealloc */
+ 0, /* tp_print */
+ 0, /* tp_getattr */
+ 0, /* tp_setattr */
+ 0, /* tp_reserved */
+ 0, /* tp_repr */
+ 0, /* tp_as_number */
+ 0, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ 0, /* tp_hash */
+ 0, /* tp_call */
+ 0, /* tp_str */
+ 0, /* tp_getattro */
+ 0, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ Py_TPFLAGS_DEFAULT, /* tp_flags */
+ Decompressor_doc, /* tp_doc */
+ 0, /* tp_traverse */
+ 0, /* tp_clear */
+ 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+ 0, /* tp_iter */
+ 0, /* tp_iternext */
+ Decompressor_methods, /* tp_methods */
+ Decompressor_members, /* tp_members */
+ 0, /* tp_getset */
+ 0, /* tp_base */
+ 0, /* tp_dict */
+ 0, /* tp_descr_get */
+ 0, /* tp_descr_set */
+ 0, /* tp_dictoffset */
+ (initproc)Decompressor_init, /* tp_init */
+ 0, /* tp_alloc */
+ PyType_GenericNew, /* tp_new */
+};
+
+
+/* Module-level functions. */
+
+PyDoc_STRVAR(check_is_supported_doc,
+"check_is_supported(check_id) -> bool\n"
+"\n"
+"Test whether the given integrity check is supported.\n"
+"\n"
+"Always returns True for CHECK_NONE and CHECK_CRC32.\n");
+
+static PyObject *
+check_is_supported(PyObject *self, PyObject *args)
+{
+ int check_id;
+
+ if (!PyArg_ParseTuple(args, "i:check_is_supported", &check_id))
+ return NULL;
+
+ return PyBool_FromLong(lzma_check_is_supported(check_id));
+}
+
+
+/* Module initialization. */
+
+static PyMethodDef module_methods[] = {
+ {"check_is_supported", (PyCFunction)check_is_supported,
+ METH_VARARGS, check_is_supported_doc},
+ {NULL}
+};
+
+static PyModuleDef _lzmamodule = {
+ PyModuleDef_HEAD_INIT,
+ "_lzma",
+ NULL,
+ -1,
+ module_methods,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+};
+
+/* Some of our constants are more than 32 bits wide, so PyModule_AddIntConstant
+ would not work correctly on platforms with 32-bit longs. */
+static int
+module_add_int_constant(PyObject *m, const char *name, PY_LONG_LONG value)
+{
+ PyObject *o = PyLong_FromLongLong(value);
+ if (o == NULL)
+ return -1;
+ if (PyModule_AddObject(m, name, o) == 0)
+ return 0;
+ Py_DECREF(o);
+ return -1;
+}
+
+#define ADD_INT_PREFIX_MACRO(m, macro) \
+ module_add_int_constant(m, #macro, LZMA_ ## macro)
+
+PyMODINIT_FUNC
+PyInit__lzma(void)
+{
+ PyObject *m;
+
+ empty_tuple = PyTuple_New(0);
+ if (empty_tuple == NULL)
+ return NULL;
+
+ m = PyModule_Create(&_lzmamodule);
+ if (m == NULL)
+ return NULL;
+
+ if (PyModule_AddIntMacro(m, FORMAT_AUTO) == -1 ||
+ PyModule_AddIntMacro(m, FORMAT_XZ) == -1 ||
+ PyModule_AddIntMacro(m, FORMAT_ALONE) == -1 ||
+ PyModule_AddIntMacro(m, FORMAT_RAW) == -1 ||
+ ADD_INT_PREFIX_MACRO(m, CHECK_NONE) == -1 ||
+ ADD_INT_PREFIX_MACRO(m, CHECK_CRC32) == -1 ||
+ ADD_INT_PREFIX_MACRO(m, CHECK_CRC64) == -1 ||
+ ADD_INT_PREFIX_MACRO(m, CHECK_SHA256) == -1 ||
+ ADD_INT_PREFIX_MACRO(m, CHECK_ID_MAX) == -1 ||
+ ADD_INT_PREFIX_MACRO(m, CHECK_UNKNOWN) == -1 ||
+ ADD_INT_PREFIX_MACRO(m, FILTER_LZMA1) == -1 ||
+ ADD_INT_PREFIX_MACRO(m, FILTER_LZMA2) == -1 ||
+ ADD_INT_PREFIX_MACRO(m, FILTER_DELTA) == -1 ||
+ ADD_INT_PREFIX_MACRO(m, FILTER_X86) == -1 ||
+ ADD_INT_PREFIX_MACRO(m, FILTER_IA64) == -1 ||
+ ADD_INT_PREFIX_MACRO(m, FILTER_ARM) == -1 ||
+ ADD_INT_PREFIX_MACRO(m, FILTER_ARMTHUMB) == -1 ||
+ ADD_INT_PREFIX_MACRO(m, FILTER_SPARC) == -1 ||
+ ADD_INT_PREFIX_MACRO(m, FILTER_POWERPC) == -1 ||
+ ADD_INT_PREFIX_MACRO(m, MF_HC3) == -1 ||
+ ADD_INT_PREFIX_MACRO(m, MF_HC4) == -1 ||
+ ADD_INT_PREFIX_MACRO(m, MF_BT2) == -1 ||
+ ADD_INT_PREFIX_MACRO(m, MF_BT3) == -1 ||
+ ADD_INT_PREFIX_MACRO(m, MF_BT4) == -1 ||
+ ADD_INT_PREFIX_MACRO(m, MODE_FAST) == -1 ||
+ ADD_INT_PREFIX_MACRO(m, MODE_NORMAL) == -1 ||
+ ADD_INT_PREFIX_MACRO(m, PRESET_DEFAULT) == -1 ||
+ ADD_INT_PREFIX_MACRO(m, PRESET_EXTREME) == -1)
+ return NULL;
+
+ Error = PyErr_NewExceptionWithDoc(
+ "_lzma.LZMAError", "Call to liblzma failed.", NULL, NULL);
+ if (Error == NULL)
+ return NULL;
+ Py_INCREF(Error);
+ if (PyModule_AddObject(m, "LZMAError", Error) == -1)
+ return NULL;
+
+ if (PyType_Ready(&Compressor_type) == -1)
+ return NULL;
+ Py_INCREF(&Compressor_type);
+ if (PyModule_AddObject(m, "LZMACompressor",
+ (PyObject *)&Compressor_type) == -1)
+ return NULL;
+
+ if (PyType_Ready(&Decompressor_type) == -1)
+ return NULL;
+ Py_INCREF(&Decompressor_type);
+ if (PyModule_AddObject(m, "LZMADecompressor",
+ (PyObject *)&Decompressor_type) == -1)
+ return NULL;
+
+ return m;
+}
diff --git a/Modules/_multiprocessing/connection.h b/Modules/_multiprocessing/connection.h
deleted file mode 100644
index 002d5aa..0000000
--- a/Modules/_multiprocessing/connection.h
+++ /dev/null
@@ -1,527 +0,0 @@
-/*
- * Definition of a `Connection` type.
- * Used by `socket_connection.c` and `pipe_connection.c`.
- *
- * connection.h
- *
- * Copyright (c) 2006-2008, R Oudkerk --- see COPYING.txt
- */
-
-#ifndef CONNECTION_H
-#define CONNECTION_H
-
-/*
- * Read/write flags
- */
-
-#define READABLE 1
-#define WRITABLE 2
-
-#define CHECK_READABLE(self) \
- if (!(self->flags & READABLE)) { \
- PyErr_SetString(PyExc_IOError, "connection is write-only"); \
- return NULL; \
- }
-
-#define CHECK_WRITABLE(self) \
- if (!(self->flags & WRITABLE)) { \
- PyErr_SetString(PyExc_IOError, "connection is read-only"); \
- return NULL; \
- }
-
-/*
- * Allocation and deallocation
- */
-
-static PyObject *
-connection_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
-{
- ConnectionObject *self;
- HANDLE handle;
- BOOL readable = TRUE, writable = TRUE;
-
- static char *kwlist[] = {"handle", "readable", "writable", NULL};
-
- if (!PyArg_ParseTupleAndKeywords(args, kwds, F_HANDLE "|ii", kwlist,
- &handle, &readable, &writable))
- return NULL;
-
- if (handle == INVALID_HANDLE_VALUE || (Py_ssize_t)handle < 0) {
- PyErr_Format(PyExc_IOError, "invalid handle %zd",
- (Py_ssize_t)handle);
- return NULL;
- }
-
- if (!readable && !writable) {
- PyErr_SetString(PyExc_ValueError,
- "either readable or writable must be true");
- return NULL;
- }
-
- self = PyObject_New(ConnectionObject, type);
- if (self == NULL)
- return NULL;
-
- self->weakreflist = NULL;
- self->handle = handle;
- self->flags = 0;
-
- if (readable)
- self->flags |= READABLE;
- if (writable)
- self->flags |= WRITABLE;
- assert(self->flags >= 1 && self->flags <= 3);
-
- return (PyObject*)self;
-}
-
-static void
-connection_dealloc(ConnectionObject* self)
-{
- if (self->weakreflist != NULL)
- PyObject_ClearWeakRefs((PyObject*)self);
-
- if (self->handle != INVALID_HANDLE_VALUE) {
- Py_BEGIN_ALLOW_THREADS
- CLOSE(self->handle);
- Py_END_ALLOW_THREADS
- }
- PyObject_Del(self);
-}
-
-/*
- * Functions for transferring buffers
- */
-
-static PyObject *
-connection_sendbytes(ConnectionObject *self, PyObject *args)
-{
- Py_buffer pbuffer;
- char *buffer;
- Py_ssize_t length, offset=0, size=PY_SSIZE_T_MIN;
- int res;
-
- if (!PyArg_ParseTuple(args, F_RBUFFER "*|" F_PY_SSIZE_T F_PY_SSIZE_T,
- &pbuffer, &offset, &size))
- return NULL;
- buffer = pbuffer.buf;
- length = pbuffer.len;
-
- CHECK_WRITABLE(self); /* XXX release buffer in case of failure */
-
- if (offset < 0) {
- PyBuffer_Release(&pbuffer);
- PyErr_SetString(PyExc_ValueError, "offset is negative");
- return NULL;
- }
- if (length < offset) {
- PyBuffer_Release(&pbuffer);
- PyErr_SetString(PyExc_ValueError, "buffer length < offset");
- return NULL;
- }
-
- if (size == PY_SSIZE_T_MIN) {
- size = length - offset;
- } else {
- if (size < 0) {
- PyBuffer_Release(&pbuffer);
- PyErr_SetString(PyExc_ValueError, "size is negative");
- return NULL;
- }
- if (offset + size > length) {
- PyBuffer_Release(&pbuffer);
- PyErr_SetString(PyExc_ValueError,
- "buffer length < offset + size");
- return NULL;
- }
- }
-
- res = conn_send_string(self, buffer + offset, size);
-
- PyBuffer_Release(&pbuffer);
- if (res < 0) {
- if (PyErr_Occurred())
- return NULL;
- else
- return mp_SetError(PyExc_IOError, res);
- }
-
- Py_RETURN_NONE;
-}
-
-static PyObject *
-connection_recvbytes(ConnectionObject *self, PyObject *args)
-{
- char *freeme = NULL;
- Py_ssize_t res, maxlength = PY_SSIZE_T_MAX;
- PyObject *result = NULL;
-
- if (!PyArg_ParseTuple(args, "|" F_PY_SSIZE_T, &maxlength))
- return NULL;
-
- CHECK_READABLE(self);
-
- if (maxlength < 0) {
- PyErr_SetString(PyExc_ValueError, "maxlength < 0");
- return NULL;
- }
-
- res = conn_recv_string(self, self->buffer, CONNECTION_BUFFER_SIZE,
- &freeme, maxlength);
-
- if (res < 0) {
- if (res == MP_BAD_MESSAGE_LENGTH) {
- if ((self->flags & WRITABLE) == 0) {
- Py_BEGIN_ALLOW_THREADS
- CLOSE(self->handle);
- Py_END_ALLOW_THREADS
- self->handle = INVALID_HANDLE_VALUE;
- } else {
- self->flags = WRITABLE;
- }
- }
- mp_SetError(PyExc_IOError, res);
- } else {
- if (freeme == NULL) {
- result = PyBytes_FromStringAndSize(self->buffer, res);
- } else {
- result = PyBytes_FromStringAndSize(freeme, res);
- PyMem_Free(freeme);
- }
- }
-
- return result;
-}
-
-static PyObject *
-connection_recvbytes_into(ConnectionObject *self, PyObject *args)
-{
- char *freeme = NULL, *buffer = NULL;
- Py_ssize_t res, length, offset = 0;
- PyObject *result = NULL;
- Py_buffer pbuf;
-
- CHECK_READABLE(self);
-
- if (!PyArg_ParseTuple(args, "w*|" F_PY_SSIZE_T,
- &pbuf, &offset))
- return NULL;
-
- buffer = pbuf.buf;
- length = pbuf.len;
-
- if (offset < 0) {
- PyErr_SetString(PyExc_ValueError, "negative offset");
- goto _error;
- }
-
- if (offset > length) {
- PyErr_SetString(PyExc_ValueError, "offset too large");
- goto _error;
- }
-
- res = conn_recv_string(self, buffer+offset, length-offset,
- &freeme, PY_SSIZE_T_MAX);
-
- if (res < 0) {
- if (res == MP_BAD_MESSAGE_LENGTH) {
- if ((self->flags & WRITABLE) == 0) {
- Py_BEGIN_ALLOW_THREADS
- CLOSE(self->handle);
- Py_END_ALLOW_THREADS
- self->handle = INVALID_HANDLE_VALUE;
- } else {
- self->flags = WRITABLE;
- }
- }
- mp_SetError(PyExc_IOError, res);
- } else {
- if (freeme == NULL) {
- result = PyInt_FromSsize_t(res);
- } else {
- result = PyObject_CallFunction(BufferTooShort,
- F_RBUFFER "#",
- freeme, res);
- PyMem_Free(freeme);
- if (result) {
- PyErr_SetObject(BufferTooShort, result);
- Py_DECREF(result);
- }
- goto _error;
- }
- }
-
-_cleanup:
- PyBuffer_Release(&pbuf);
- return result;
-
-_error:
- result = NULL;
- goto _cleanup;
-}
-
-/*
- * Functions for transferring objects
- */
-
-static PyObject *
-connection_send_obj(ConnectionObject *self, PyObject *obj)
-{
- char *buffer;
- int res;
- Py_ssize_t length;
- PyObject *pickled_string = NULL;
-
- CHECK_WRITABLE(self);
-
- pickled_string = PyObject_CallFunctionObjArgs(pickle_dumps, obj,
- pickle_protocol, NULL);
- if (!pickled_string)
- goto failure;
-
- if (PyBytes_AsStringAndSize(pickled_string, &buffer, &length) < 0)
- goto failure;
-
- res = conn_send_string(self, buffer, (int)length);
-
- if (res < 0) {
- mp_SetError(PyExc_IOError, res);
- goto failure;
- }
-
- Py_XDECREF(pickled_string);
- Py_RETURN_NONE;
-
- failure:
- Py_XDECREF(pickled_string);
- return NULL;
-}
-
-static PyObject *
-connection_recv_obj(ConnectionObject *self)
-{
- char *freeme = NULL;
- Py_ssize_t res;
- PyObject *temp = NULL, *result = NULL;
-
- CHECK_READABLE(self);
-
- res = conn_recv_string(self, self->buffer, CONNECTION_BUFFER_SIZE,
- &freeme, PY_SSIZE_T_MAX);
-
- if (res < 0) {
- if (res == MP_BAD_MESSAGE_LENGTH) {
- if ((self->flags & WRITABLE) == 0) {
- Py_BEGIN_ALLOW_THREADS
- CLOSE(self->handle);
- Py_END_ALLOW_THREADS
- self->handle = INVALID_HANDLE_VALUE;
- } else {
- self->flags = WRITABLE;
- }
- }
- mp_SetError(PyExc_IOError, res);
- } else {
- if (freeme == NULL) {
- temp = PyBytes_FromStringAndSize(self->buffer, res);
- } else {
- temp = PyBytes_FromStringAndSize(freeme, res);
- PyMem_Free(freeme);
- }
- }
-
- if (temp)
- result = PyObject_CallFunctionObjArgs(pickle_loads,
- temp, NULL);
- Py_XDECREF(temp);
- return result;
-}
-
-/*
- * Other functions
- */
-
-static PyObject *
-connection_poll(ConnectionObject *self, PyObject *args)
-{
- PyObject *timeout_obj = NULL;
- double timeout = 0.0;
- int res;
-
- CHECK_READABLE(self);
-
- if (!PyArg_ParseTuple(args, "|O", &timeout_obj))
- return NULL;
-
- if (timeout_obj == NULL) {
- timeout = 0.0;
- } else if (timeout_obj == Py_None) {
- timeout = -1.0; /* block forever */
- } else {
- timeout = PyFloat_AsDouble(timeout_obj);
- if (PyErr_Occurred())
- return NULL;
- if (timeout < 0.0)
- timeout = 0.0;
- }
-
- Py_BEGIN_ALLOW_THREADS
- res = conn_poll(self, timeout, _save);
- Py_END_ALLOW_THREADS
-
- switch (res) {
- case TRUE:
- Py_RETURN_TRUE;
- case FALSE:
- Py_RETURN_FALSE;
- default:
- return mp_SetError(PyExc_IOError, res);
- }
-}
-
-static PyObject *
-connection_fileno(ConnectionObject* self)
-{
- if (self->handle == INVALID_HANDLE_VALUE) {
- PyErr_SetString(PyExc_IOError, "handle is invalid");
- return NULL;
- }
- return PyInt_FromLong((long)self->handle);
-}
-
-static PyObject *
-connection_close(ConnectionObject *self)
-{
- if (self->handle != INVALID_HANDLE_VALUE) {
- Py_BEGIN_ALLOW_THREADS
- CLOSE(self->handle);
- Py_END_ALLOW_THREADS
- self->handle = INVALID_HANDLE_VALUE;
- }
-
- Py_RETURN_NONE;
-}
-
-static PyObject *
-connection_repr(ConnectionObject *self)
-{
- static char *conn_type[] = {"read-only", "write-only", "read-write"};
-
- assert(self->flags >= 1 && self->flags <= 3);
- return FROM_FORMAT("<%s %s, handle %zd>",
- conn_type[self->flags - 1],
- CONNECTION_NAME, (Py_ssize_t)self->handle);
-}
-
-/*
- * Getters and setters
- */
-
-static PyObject *
-connection_closed(ConnectionObject *self, void *closure)
-{
- return PyBool_FromLong((long)(self->handle == INVALID_HANDLE_VALUE));
-}
-
-static PyObject *
-connection_readable(ConnectionObject *self, void *closure)
-{
- return PyBool_FromLong((long)(self->flags & READABLE));
-}
-
-static PyObject *
-connection_writable(ConnectionObject *self, void *closure)
-{
- return PyBool_FromLong((long)(self->flags & WRITABLE));
-}
-
-/*
- * Tables
- */
-
-static PyMethodDef connection_methods[] = {
- {"send_bytes", (PyCFunction)connection_sendbytes, METH_VARARGS,
- "send the byte data from a readable buffer-like object"},
- {"recv_bytes", (PyCFunction)connection_recvbytes, METH_VARARGS,
- "receive byte data as a string"},
- {"recv_bytes_into",(PyCFunction)connection_recvbytes_into,METH_VARARGS,
- "receive byte data into a writeable buffer-like object\n"
- "returns the number of bytes read"},
-
- {"send", (PyCFunction)connection_send_obj, METH_O,
- "send a (picklable) object"},
- {"recv", (PyCFunction)connection_recv_obj, METH_NOARGS,
- "receive a (picklable) object"},
-
- {"poll", (PyCFunction)connection_poll, METH_VARARGS,
- "whether there is any input available to be read"},
- {"fileno", (PyCFunction)connection_fileno, METH_NOARGS,
- "file descriptor or handle of the connection"},
- {"close", (PyCFunction)connection_close, METH_NOARGS,
- "close the connection"},
-
- {NULL} /* Sentinel */
-};
-
-static PyGetSetDef connection_getset[] = {
- {"closed", (getter)connection_closed, NULL,
- "True if the connection is closed", NULL},
- {"readable", (getter)connection_readable, NULL,
- "True if the connection is readable", NULL},
- {"writable", (getter)connection_writable, NULL,
- "True if the connection is writable", NULL},
- {NULL}
-};
-
-/*
- * Connection type
- */
-
-PyDoc_STRVAR(connection_doc,
- "Connection type whose constructor signature is\n\n"
- " Connection(handle, readable=True, writable=True).\n\n"
- "The constructor does *not* duplicate the handle.");
-
-PyTypeObject CONNECTION_TYPE = {
- PyVarObject_HEAD_INIT(NULL, 0)
- /* tp_name */ "_multiprocessing." CONNECTION_NAME,
- /* tp_basicsize */ sizeof(ConnectionObject),
- /* tp_itemsize */ 0,
- /* tp_dealloc */ (destructor)connection_dealloc,
- /* tp_print */ 0,
- /* tp_getattr */ 0,
- /* tp_setattr */ 0,
- /* tp_reserved */ 0,
- /* tp_repr */ (reprfunc)connection_repr,
- /* tp_as_number */ 0,
- /* tp_as_sequence */ 0,
- /* tp_as_mapping */ 0,
- /* tp_hash */ 0,
- /* tp_call */ 0,
- /* tp_str */ 0,
- /* tp_getattro */ 0,
- /* tp_setattro */ 0,
- /* tp_as_buffer */ 0,
- /* tp_flags */ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE |
- Py_TPFLAGS_HAVE_WEAKREFS,
- /* tp_doc */ connection_doc,
- /* tp_traverse */ 0,
- /* tp_clear */ 0,
- /* tp_richcompare */ 0,
- /* tp_weaklistoffset */ offsetof(ConnectionObject, weakreflist),
- /* tp_iter */ 0,
- /* tp_iternext */ 0,
- /* tp_methods */ connection_methods,
- /* tp_members */ 0,
- /* tp_getset */ connection_getset,
- /* tp_base */ 0,
- /* tp_dict */ 0,
- /* tp_descr_get */ 0,
- /* tp_descr_set */ 0,
- /* tp_dictoffset */ 0,
- /* tp_init */ 0,
- /* tp_alloc */ 0,
- /* tp_new */ connection_new,
-};
-
-#endif /* CONNECTION_H */
diff --git a/Modules/_multiprocessing/multiprocessing.c b/Modules/_multiprocessing/multiprocessing.c
index ee250e0..ab2cd72 100644
--- a/Modules/_multiprocessing/multiprocessing.c
+++ b/Modules/_multiprocessing/multiprocessing.c
@@ -8,15 +8,9 @@
#include "multiprocessing.h"
-#if (defined(CMSG_LEN) && defined(SCM_RIGHTS))
- #define HAVE_FD_TRANSFER 1
-#else
- #define HAVE_FD_TRANSFER 0
-#endif
PyObject *create_win32_namespace(void);
-PyObject *pickle_dumps, *pickle_loads, *pickle_protocol;
PyObject *ProcessError, *BufferTooShort;
/*
@@ -49,16 +43,6 @@ mp_SetError(PyObject *Type, int num)
case MP_MEMORY_ERROR:
PyErr_NoMemory();
break;
- case MP_END_OF_FILE:
- PyErr_SetNone(PyExc_EOFError);
- break;
- case MP_EARLY_END_OF_FILE:
- PyErr_SetString(PyExc_IOError,
- "got end of file during message");
- break;
- case MP_BAD_MESSAGE_LENGTH:
- PyErr_SetString(PyExc_IOError, "bad message length");
- break;
case MP_EXCEPTION_HAS_BEEN_SET:
break;
default:
@@ -69,138 +53,6 @@ mp_SetError(PyObject *Type, int num)
}
-/*
- * Windows only
- */
-
-#ifdef MS_WINDOWS
-
-/* On Windows we set an event to signal Ctrl-C; compare with timemodule.c */
-
-HANDLE sigint_event = NULL;
-
-static BOOL WINAPI
-ProcessingCtrlHandler(DWORD dwCtrlType)
-{
- SetEvent(sigint_event);
- return FALSE;
-}
-
-/*
- * Unix only
- */
-
-#else /* !MS_WINDOWS */
-
-#if HAVE_FD_TRANSFER
-
-/* Functions for transferring file descriptors between processes.
- Reimplements some of the functionality of the fdcred
- module at http://www.mca-ltd.com/resources/fdcred_1.tgz. */
-/* Based in http://resin.csoft.net/cgi-bin/man.cgi?section=3&topic=CMSG_DATA */
-
-static PyObject *
-multiprocessing_sendfd(PyObject *self, PyObject *args)
-{
- int conn, fd, res;
- struct iovec dummy_iov;
- char dummy_char;
- struct msghdr msg;
- struct cmsghdr *cmsg;
- union {
- struct cmsghdr hdr;
- unsigned char buf[CMSG_SPACE(sizeof(int))];
- } cmsgbuf;
-
- if (!PyArg_ParseTuple(args, "ii", &conn, &fd))
- return NULL;
-
- dummy_iov.iov_base = &dummy_char;
- dummy_iov.iov_len = 1;
-
- memset(&msg, 0, sizeof(msg));
- msg.msg_control = &cmsgbuf.buf;
- msg.msg_controllen = sizeof(cmsgbuf.buf);
- msg.msg_iov = &dummy_iov;
- msg.msg_iovlen = 1;
-
- cmsg = CMSG_FIRSTHDR(&msg);
- cmsg->cmsg_len = CMSG_LEN(sizeof(int));
- cmsg->cmsg_level = SOL_SOCKET;
- cmsg->cmsg_type = SCM_RIGHTS;
- * (int *) CMSG_DATA(cmsg) = fd;
-
- Py_BEGIN_ALLOW_THREADS
- res = sendmsg(conn, &msg, 0);
- Py_END_ALLOW_THREADS
-
- if (res < 0)
- return PyErr_SetFromErrno(PyExc_OSError);
- Py_RETURN_NONE;
-}
-
-static PyObject *
-multiprocessing_recvfd(PyObject *self, PyObject *args)
-{
- int conn, fd, res;
- char dummy_char;
- struct iovec dummy_iov;
- struct msghdr msg = {0};
- struct cmsghdr *cmsg;
- union {
- struct cmsghdr hdr;
- unsigned char buf[CMSG_SPACE(sizeof(int))];
- } cmsgbuf;
-
- if (!PyArg_ParseTuple(args, "i", &conn))
- return NULL;
-
- dummy_iov.iov_base = &dummy_char;
- dummy_iov.iov_len = 1;
-
- memset(&msg, 0, sizeof(msg));
- msg.msg_control = &cmsgbuf.buf;
- msg.msg_controllen = sizeof(cmsgbuf.buf);
- msg.msg_iov = &dummy_iov;
- msg.msg_iovlen = 1;
-
- cmsg = CMSG_FIRSTHDR(&msg);
- cmsg->cmsg_level = SOL_SOCKET;
- cmsg->cmsg_type = SCM_RIGHTS;
- cmsg->cmsg_len = CMSG_LEN(sizeof(int));
- msg.msg_controllen = cmsg->cmsg_len;
-
- Py_BEGIN_ALLOW_THREADS
- res = recvmsg(conn, &msg, 0);
- Py_END_ALLOW_THREADS
-
- if (res < 0)
- return PyErr_SetFromErrno(PyExc_OSError);
-
- if (msg.msg_controllen < CMSG_LEN(sizeof(int)) ||
- (cmsg = CMSG_FIRSTHDR(&msg)) == NULL ||
- cmsg->cmsg_level != SOL_SOCKET ||
- cmsg->cmsg_type != SCM_RIGHTS ||
- cmsg->cmsg_len < CMSG_LEN(sizeof(int))) {
- /* If at least one control message is present, there should be
- no room for any further data in the buffer. */
- PyErr_SetString(PyExc_RuntimeError, "No file descriptor received");
- return NULL;
- }
-
- fd = * (int *) CMSG_DATA(cmsg);
- return Py_BuildValue("i", fd);
-}
-
-#endif /* HAVE_FD_TRANSFER */
-
-#endif /* !MS_WINDOWS */
-
-
-/*
- * All platforms
- */
-
static PyObject*
multiprocessing_address_of_buffer(PyObject *self, PyObject *obj)
{
@@ -210,7 +62,7 @@ multiprocessing_address_of_buffer(PyObject *self, PyObject *obj)
if (PyObject_AsWriteBuffer(obj, &buffer, &buffer_len) < 0)
return NULL;
- return Py_BuildValue("N" F_PY_SSIZE_T,
+ return Py_BuildValue("Nn",
PyLong_FromVoidPtr(buffer), buffer_len);
}
@@ -223,16 +75,6 @@ static PyMethodDef module_methods[] = {
{"address_of_buffer", multiprocessing_address_of_buffer, METH_O,
"address_of_buffer(obj) -> int\n"
"Return address of obj assuming obj supports buffer inteface"},
-#if HAVE_FD_TRANSFER
- {"sendfd", multiprocessing_sendfd, METH_VARARGS,
- "sendfd(sockfd, fd) -> None\n"
- "Send file descriptor given by fd over the unix domain socket\n"
- "whose file decriptor is sockfd"},
- {"recvfd", multiprocessing_recvfd, METH_VARARGS,
- "recvfd(sockfd) -> fd\n"
- "Receive a file descriptor over a unix domain socket\n"
- "whose file decriptor is sockfd"},
-#endif
{NULL}
};
@@ -264,15 +106,6 @@ PyInit__multiprocessing(void)
if (!module)
return NULL;
- /* Get copy of objects from pickle */
- temp = PyImport_ImportModule(PICKLE_MODULE);
- if (!temp)
- return NULL;
- pickle_dumps = PyObject_GetAttrString(temp, "dumps");
- pickle_loads = PyObject_GetAttrString(temp, "loads");
- pickle_protocol = PyObject_GetAttrString(temp, "HIGHEST_PROTOCOL");
- Py_XDECREF(temp);
-
/* Get copy of BufferTooShort */
temp = PyImport_ImportModule("multiprocessing");
if (!temp)
@@ -280,12 +113,6 @@ PyInit__multiprocessing(void)
BufferTooShort = PyObject_GetAttrString(temp, "BufferTooShort");
Py_XDECREF(temp);
- /* Add connection type to module */
- if (PyType_Ready(&ConnectionType) < 0)
- return NULL;
- Py_INCREF(&ConnectionType);
- PyModule_AddObject(module, "Connection", (PyObject*)&ConnectionType);
-
#if defined(MS_WINDOWS) || \
(defined(HAVE_SEM_OPEN) && !defined(POSIX_SEMAPHORES_NOT_ENABLED))
/* Add SemLock type to module */
@@ -309,29 +136,11 @@ PyInit__multiprocessing(void)
#endif
#ifdef MS_WINDOWS
- /* Add PipeConnection to module */
- if (PyType_Ready(&PipeConnectionType) < 0)
- return NULL;
- Py_INCREF(&PipeConnectionType);
- PyModule_AddObject(module, "PipeConnection",
- (PyObject*)&PipeConnectionType);
-
/* Initialize win32 class and add to multiprocessing */
temp = create_win32_namespace();
if (!temp)
return NULL;
PyModule_AddObject(module, "win32", temp);
-
- /* Initialize the event handle used to signal Ctrl-C */
- sigint_event = CreateEvent(NULL, TRUE, FALSE, NULL);
- if (!sigint_event) {
- PyErr_SetFromWindowsErr(0);
- return NULL;
- }
- if (!SetConsoleCtrlHandler(ProcessingCtrlHandler, TRUE)) {
- PyErr_SetFromWindowsErr(0);
- return NULL;
- }
#endif
/* Add configuration macros */
@@ -352,9 +161,6 @@ PyInit__multiprocessing(void)
#ifdef HAVE_SEM_TIMEDWAIT
ADD_FLAG(HAVE_SEM_TIMEDWAIT);
#endif
-#ifdef HAVE_FD_TRANSFER
- ADD_FLAG(HAVE_FD_TRANSFER);
-#endif
#ifdef HAVE_BROKEN_SEM_GETVALUE
ADD_FLAG(HAVE_BROKEN_SEM_GETVALUE);
#endif
diff --git a/Modules/_multiprocessing/multiprocessing.h b/Modules/_multiprocessing/multiprocessing.h
index 14425de..e3de9ba 100644
--- a/Modules/_multiprocessing/multiprocessing.h
+++ b/Modules/_multiprocessing/multiprocessing.h
@@ -3,12 +3,6 @@
#define PY_SSIZE_T_CLEAN
-#ifdef __sun
-/* The control message API is only available on Solaris
- if XPG 4.2 or later is requested. */
-#define _XOPEN_SOURCE 500
-#endif
-
#include "Python.h"
#include "structmember.h"
#include "pythread.h"
@@ -29,10 +23,6 @@
# define SEM_VALUE_MAX LONG_MAX
#else
# include <fcntl.h> /* O_CREAT and O_EXCL */
-# include <netinet/in.h>
-# include <sys/socket.h>
-# include <sys/uio.h>
-# include <arpa/inet.h> /* htonl() and ntohl() */
# if defined(HAVE_SEM_OPEN) && !defined(POSIX_SEMAPHORES_NOT_ENABLED)
# include <semaphore.h>
typedef sem_t *SEM_HANDLE;
@@ -64,20 +54,6 @@
/*
- * Make sure Py_ssize_t available
- */
-
-#if PY_VERSION_HEX < 0x02050000 && !defined(PY_SSIZE_T_MIN)
- typedef int Py_ssize_t;
-# define PY_SSIZE_T_MAX INT_MAX
-# define PY_SSIZE_T_MIN INT_MIN
-# define F_PY_SSIZE_T "i"
-# define PyInt_FromSsize_t(n) PyInt_FromLong((long)n)
-#else
-# define F_PY_SSIZE_T "n"
-#endif
-
-/*
* Format codes
*/
@@ -105,12 +81,6 @@
# define T_SEM_HANDLE T_POINTER
#endif
-#if PY_VERSION_HEX >= 0x03000000
-# define F_RBUFFER "y"
-#else
-# define F_RBUFFER "s"
-#endif
-
/*
* Error codes which can be returned by functions called without GIL
*/
@@ -118,11 +88,8 @@
#define MP_SUCCESS (0)
#define MP_STANDARD_ERROR (-1)
#define MP_MEMORY_ERROR (-1001)
-#define MP_END_OF_FILE (-1002)
-#define MP_EARLY_END_OF_FILE (-1003)
-#define MP_BAD_MESSAGE_LENGTH (-1004)
-#define MP_SOCKET_ERROR (-1005)
-#define MP_EXCEPTION_HAS_BEEN_SET (-1006)
+#define MP_SOCKET_ERROR (-1002)
+#define MP_EXCEPTION_HAS_BEEN_SET (-1003)
PyObject *mp_SetError(PyObject *Type, int num);
@@ -130,57 +97,14 @@ PyObject *mp_SetError(PyObject *Type, int num);
* Externs - not all will really exist on all platforms
*/
-extern PyObject *pickle_dumps;
-extern PyObject *pickle_loads;
-extern PyObject *pickle_protocol;
extern PyObject *BufferTooShort;
extern PyTypeObject SemLockType;
-extern PyTypeObject ConnectionType;
extern PyTypeObject PipeConnectionType;
-extern HANDLE sigint_event;
-
-/*
- * Py3k compatibility
- */
-
-#if PY_VERSION_HEX >= 0x03000000
-# define PICKLE_MODULE "pickle"
-# define FROM_FORMAT PyUnicode_FromFormat
-# define PyInt_FromLong PyLong_FromLong
-# define PyInt_FromSsize_t PyLong_FromSsize_t
-#else
-# define PICKLE_MODULE "cPickle"
-# define FROM_FORMAT PyString_FromFormat
-#endif
-
-#ifndef PyVarObject_HEAD_INIT
-# define PyVarObject_HEAD_INIT(type, size) PyObject_HEAD_INIT(type) size,
-#endif
-
-#ifndef Py_TPFLAGS_HAVE_WEAKREFS
-# define Py_TPFLAGS_HAVE_WEAKREFS 0
-#endif
-
-/*
- * Connection definition
- */
-
-#define CONNECTION_BUFFER_SIZE 1024
-
-typedef struct {
- PyObject_HEAD
- HANDLE handle;
- int flags;
- PyObject *weakreflist;
- char buffer[CONNECTION_BUFFER_SIZE];
-} ConnectionObject;
/*
* Miscellaneous
*/
-#define MAX_MESSAGE_LENGTH 0x7fffffff
-
#ifndef MIN
# define MIN(x, y) ((x) < (y) ? x : y)
# define MAX(x, y) ((x) > (y) ? x : y)
diff --git a/Modules/_multiprocessing/pipe_connection.c b/Modules/_multiprocessing/pipe_connection.c
deleted file mode 100644
index 05dde0c..0000000
--- a/Modules/_multiprocessing/pipe_connection.c
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * A type which wraps a pipe handle in message oriented mode
- *
- * pipe_connection.c
- *
- * Copyright (c) 2006-2008, R Oudkerk --- see COPYING.txt
- */
-
-#include "multiprocessing.h"
-
-#define CLOSE(h) CloseHandle(h)
-
-/*
- * Send string to the pipe; assumes in message oriented mode
- */
-
-static Py_ssize_t
-conn_send_string(ConnectionObject *conn, char *string, size_t length)
-{
- DWORD amount_written;
- BOOL ret;
-
- Py_BEGIN_ALLOW_THREADS
- ret = WriteFile(conn->handle, string, length, &amount_written, NULL);
- Py_END_ALLOW_THREADS
-
- if (ret == 0 && GetLastError() == ERROR_NO_SYSTEM_RESOURCES) {
- PyErr_Format(PyExc_ValueError, "Cannnot send %" PY_FORMAT_SIZE_T "d bytes over connection", length);
- return MP_STANDARD_ERROR;
- }
-
- return ret ? MP_SUCCESS : MP_STANDARD_ERROR;
-}
-
-/*
- * Attempts to read into buffer, or if buffer too small into *newbuffer.
- *
- * Returns number of bytes read. Assumes in message oriented mode.
- */
-
-static Py_ssize_t
-conn_recv_string(ConnectionObject *conn, char *buffer,
- size_t buflength, char **newbuffer, size_t maxlength)
-{
- DWORD left, length, full_length, err;
- BOOL ret;
- *newbuffer = NULL;
-
- Py_BEGIN_ALLOW_THREADS
- ret = ReadFile(conn->handle, buffer, MIN(buflength, maxlength),
- &length, NULL);
- Py_END_ALLOW_THREADS
- if (ret)
- return length;
-
- err = GetLastError();
- if (err != ERROR_MORE_DATA) {
- if (err == ERROR_BROKEN_PIPE)
- return MP_END_OF_FILE;
- return MP_STANDARD_ERROR;
- }
-
- if (!PeekNamedPipe(conn->handle, NULL, 0, NULL, NULL, &left))
- return MP_STANDARD_ERROR;
-
- full_length = length + left;
- if (full_length > maxlength)
- return MP_BAD_MESSAGE_LENGTH;
-
- *newbuffer = PyMem_Malloc(full_length);
- if (*newbuffer == NULL)
- return MP_MEMORY_ERROR;
-
- memcpy(*newbuffer, buffer, length);
-
- Py_BEGIN_ALLOW_THREADS
- ret = ReadFile(conn->handle, *newbuffer+length, left, &length, NULL);
- Py_END_ALLOW_THREADS
- if (ret) {
- assert(length == left);
- return full_length;
- } else {
- PyMem_Free(*newbuffer);
- return MP_STANDARD_ERROR;
- }
-}
-
-/*
- * Check whether any data is available for reading
- */
-
-static int
-conn_poll(ConnectionObject *conn, double timeout, PyThreadState *_save)
-{
- DWORD bytes, deadline, delay;
- int difference, res;
- BOOL block = FALSE;
-
- if (!PeekNamedPipe(conn->handle, NULL, 0, NULL, &bytes, NULL))
- return MP_STANDARD_ERROR;
-
- if (timeout == 0.0)
- return bytes > 0;
-
- if (timeout < 0.0)
- block = TRUE;
- else
- /* XXX does not check for overflow */
- deadline = GetTickCount() + (DWORD)(1000 * timeout + 0.5);
-
- Sleep(0);
-
- for (delay = 1 ; ; delay += 1) {
- if (!PeekNamedPipe(conn->handle, NULL, 0, NULL, &bytes, NULL))
- return MP_STANDARD_ERROR;
- else if (bytes > 0)
- return TRUE;
-
- if (!block) {
- difference = deadline - GetTickCount();
- if (difference < 0)
- return FALSE;
- if ((int)delay > difference)
- delay = difference;
- }
-
- if (delay > 20)
- delay = 20;
-
- Sleep(delay);
-
- /* check for signals */
- Py_BLOCK_THREADS
- res = PyErr_CheckSignals();
- Py_UNBLOCK_THREADS
-
- if (res)
- return MP_EXCEPTION_HAS_BEEN_SET;
- }
-}
-
-/*
- * "connection.h" defines the PipeConnection type using the definitions above
- */
-
-#define CONNECTION_NAME "PipeConnection"
-#define CONNECTION_TYPE PipeConnectionType
-
-#include "connection.h"
diff --git a/Modules/_multiprocessing/semaphore.c b/Modules/_multiprocessing/semaphore.c
index 1f37d6a..0c9b04c 100644
--- a/Modules/_multiprocessing/semaphore.c
+++ b/Modules/_multiprocessing/semaphore.c
@@ -62,7 +62,8 @@ semlock_acquire(SemLockObject *self, PyObject *args, PyObject *kwds)
int blocking = 1;
double timeout;
PyObject *timeout_obj = Py_None;
- DWORD res, full_msecs, msecs, start, ticks;
+ DWORD res, full_msecs, nhandles;
+ HANDLE handles[2], sigint_event;
static char *kwlist[] = {"block", "timeout", NULL};
@@ -96,53 +97,40 @@ semlock_acquire(SemLockObject *self, PyObject *args, PyObject *kwds)
Py_RETURN_TRUE;
}
- /* check whether we can acquire without blocking */
+ /* check whether we can acquire without releasing the GIL and blocking */
if (WaitForSingleObject(self->handle, 0) == WAIT_OBJECT_0) {
self->last_tid = GetCurrentThreadId();
++self->count;
Py_RETURN_TRUE;
}
- msecs = full_msecs;
- start = GetTickCount();
-
- for ( ; ; ) {
- HANDLE handles[2] = {self->handle, sigint_event};
+ /* prepare list of handles */
+ nhandles = 0;
+ handles[nhandles++] = self->handle;
+ if (_PyOS_IsMainThread()) {
+ sigint_event = _PyOS_SigintEvent();
+ assert(sigint_event != NULL);
+ handles[nhandles++] = sigint_event;
+ }
- /* do the wait */
- Py_BEGIN_ALLOW_THREADS
+ /* do the wait */
+ Py_BEGIN_ALLOW_THREADS
+ if (sigint_event != NULL)
ResetEvent(sigint_event);
- res = WaitForMultipleObjects(2, handles, FALSE, msecs);
- Py_END_ALLOW_THREADS
-
- /* handle result */
- if (res != WAIT_OBJECT_0 + 1)
- break;
-
- /* got SIGINT so give signal handler a chance to run */
- Sleep(1);
-
- /* if this is main thread let KeyboardInterrupt be raised */
- if (PyErr_CheckSignals())
- return NULL;
-
- /* recalculate timeout */
- if (msecs != INFINITE) {
- ticks = GetTickCount();
- if ((DWORD)(ticks - start) >= full_msecs)
- Py_RETURN_FALSE;
- msecs = full_msecs - (ticks - start);
- }
- }
+ res = WaitForMultipleObjects(nhandles, handles, FALSE, full_msecs);
+ Py_END_ALLOW_THREADS
/* handle result */
switch (res) {
case WAIT_TIMEOUT:
Py_RETURN_FALSE;
- case WAIT_OBJECT_0:
+ case WAIT_OBJECT_0 + 0:
self->last_tid = GetCurrentThreadId();
++self->count;
Py_RETURN_TRUE;
+ case WAIT_OBJECT_0 + 1:
+ errno = EINTR;
+ return PyErr_SetFromErrno(PyExc_IOError);
case WAIT_FAILED:
return PyErr_SetFromWindowsErr(0);
default:
@@ -483,7 +471,7 @@ semlock_dealloc(SemLockObject* self)
static PyObject *
semlock_count(SemLockObject *self)
{
- return PyInt_FromLong((long)self->count);
+ return PyLong_FromLong((long)self->count);
}
static PyObject *
@@ -507,7 +495,7 @@ semlock_getvalue(SemLockObject *self)
the number of waiting threads */
if (sval < 0)
sval = 0;
- return PyInt_FromLong((long)sval);
+ return PyLong_FromLong((long)sval);
#endif
}
diff --git a/Modules/_multiprocessing/socket_connection.c b/Modules/_multiprocessing/socket_connection.c
deleted file mode 100644
index 7ebf338..0000000
--- a/Modules/_multiprocessing/socket_connection.c
+++ /dev/null
@@ -1,202 +0,0 @@
-/*
- * A type which wraps a socket
- *
- * socket_connection.c
- *
- * Copyright (c) 2006-2008, R Oudkerk --- see COPYING.txt
- */
-
-#include "multiprocessing.h"
-
-#ifdef MS_WINDOWS
-# define WRITE(h, buffer, length) send((SOCKET)h, buffer, length, 0)
-# define READ(h, buffer, length) recv((SOCKET)h, buffer, length, 0)
-# define CLOSE(h) closesocket((SOCKET)h)
-#else
-# define WRITE(h, buffer, length) write(h, buffer, length)
-# define READ(h, buffer, length) read(h, buffer, length)
-# define CLOSE(h) close(h)
-#endif
-
-/*
- * Send string to file descriptor
- */
-
-static Py_ssize_t
-_conn_sendall(HANDLE h, char *string, size_t length)
-{
- char *p = string;
- Py_ssize_t res;
-
- while (length > 0) {
- res = WRITE(h, p, length);
- if (res < 0)
- return MP_SOCKET_ERROR;
- length -= res;
- p += res;
- }
-
- return MP_SUCCESS;
-}
-
-/*
- * Receive string of exact length from file descriptor
- */
-
-static Py_ssize_t
-_conn_recvall(HANDLE h, char *buffer, size_t length)
-{
- size_t remaining = length;
- Py_ssize_t temp;
- char *p = buffer;
-
- while (remaining > 0) {
- temp = READ(h, p, remaining);
- if (temp <= 0) {
- if (temp == 0)
- return remaining == length ?
- MP_END_OF_FILE : MP_EARLY_END_OF_FILE;
- else
- return temp;
- }
- remaining -= temp;
- p += temp;
- }
-
- return MP_SUCCESS;
-}
-
-/*
- * Send a string prepended by the string length in network byte order
- */
-
-static Py_ssize_t
-conn_send_string(ConnectionObject *conn, char *string, size_t length)
-{
- Py_ssize_t res;
- /* The "header" of the message is a 32 bit unsigned number (in
- network order) which specifies the length of the "body". If
- the message is shorter than about 16kb then it is quicker to
- combine the "header" and the "body" of the message and send
- them at once. */
- if (length < (16*1024)) {
- char *message;
-
- message = PyMem_Malloc(length+4);
- if (message == NULL)
- return MP_MEMORY_ERROR;
-
- *(UINT32*)message = htonl((UINT32)length);
- memcpy(message+4, string, length);
- Py_BEGIN_ALLOW_THREADS
- res = _conn_sendall(conn->handle, message, length+4);
- Py_END_ALLOW_THREADS
- PyMem_Free(message);
- } else {
- UINT32 lenbuff;
-
- if (length > MAX_MESSAGE_LENGTH)
- return MP_BAD_MESSAGE_LENGTH;
-
- lenbuff = htonl((UINT32)length);
- Py_BEGIN_ALLOW_THREADS
- res = _conn_sendall(conn->handle, (char*)&lenbuff, 4) ||
- _conn_sendall(conn->handle, string, length);
- Py_END_ALLOW_THREADS
- }
- return res;
-}
-
-/*
- * Attempts to read into buffer, or failing that into *newbuffer
- *
- * Returns number of bytes read.
- */
-
-static Py_ssize_t
-conn_recv_string(ConnectionObject *conn, char *buffer,
- size_t buflength, char **newbuffer, size_t maxlength)
-{
- int res;
- UINT32 ulength;
-
- *newbuffer = NULL;
-
- Py_BEGIN_ALLOW_THREADS
- res = _conn_recvall(conn->handle, (char*)&ulength, 4);
- Py_END_ALLOW_THREADS
- if (res < 0)
- return res;
-
- ulength = ntohl(ulength);
- if (ulength > maxlength)
- return MP_BAD_MESSAGE_LENGTH;
-
- if (ulength <= buflength) {
- Py_BEGIN_ALLOW_THREADS
- res = _conn_recvall(conn->handle, buffer, (size_t)ulength);
- Py_END_ALLOW_THREADS
- return res < 0 ? res : ulength;
- } else {
- *newbuffer = PyMem_Malloc((size_t)ulength);
- if (*newbuffer == NULL)
- return MP_MEMORY_ERROR;
- Py_BEGIN_ALLOW_THREADS
- res = _conn_recvall(conn->handle, *newbuffer, (size_t)ulength);
- Py_END_ALLOW_THREADS
- return res < 0 ? (Py_ssize_t)res : (Py_ssize_t)ulength;
- }
-}
-
-/*
- * Check whether any data is available for reading -- neg timeout blocks
- */
-
-static int
-conn_poll(ConnectionObject *conn, double timeout, PyThreadState *_save)
-{
- int res;
- fd_set rfds;
-
- /*
- * Verify the handle, issue 3321. Not required for windows.
- */
- #ifndef MS_WINDOWS
- if (((int)conn->handle) < 0 || ((int)conn->handle) >= FD_SETSIZE) {
- Py_BLOCK_THREADS
- PyErr_SetString(PyExc_IOError, "handle out of range in select()");
- Py_UNBLOCK_THREADS
- return MP_EXCEPTION_HAS_BEEN_SET;
- }
- #endif
-
- FD_ZERO(&rfds);
- FD_SET((SOCKET)conn->handle, &rfds);
-
- if (timeout < 0.0) {
- res = select((int)conn->handle+1, &rfds, NULL, NULL, NULL);
- } else {
- struct timeval tv;
- tv.tv_sec = (long)timeout;
- tv.tv_usec = (long)((timeout - tv.tv_sec) * 1e6 + 0.5);
- res = select((int)conn->handle+1, &rfds, NULL, NULL, &tv);
- }
-
- if (res < 0) {
- return MP_SOCKET_ERROR;
- } else if (FD_ISSET(conn->handle, &rfds)) {
- return TRUE;
- } else {
- assert(res == 0);
- return FALSE;
- }
-}
-
-/*
- * "connection.h" defines the Connection type using defs above
- */
-
-#define CONNECTION_NAME "Connection"
-#define CONNECTION_TYPE ConnectionType
-
-#include "connection.h"
diff --git a/Modules/_multiprocessing/win32_functions.c b/Modules/_multiprocessing/win32_functions.c
index 452d608..ddc496d 100644
--- a/Modules/_multiprocessing/win32_functions.c
+++ b/Modules/_multiprocessing/win32_functions.c
@@ -12,10 +12,223 @@
#define WIN32_FUNCTION(func) \
{#func, (PyCFunction)win32_ ## func, METH_VARARGS | METH_STATIC, ""}
+#define WIN32_KWARGS_FUNCTION(func) \
+ {#func, (PyCFunction)win32_ ## func, METH_VARARGS | METH_KEYWORDS | METH_STATIC, ""}
+
#define WIN32_CONSTANT(fmt, con) \
PyDict_SetItemString(Win32Type.tp_dict, #con, Py_BuildValue(fmt, con))
+/* Grab CancelIoEx dynamically from kernel32 */
+static int has_CancelIoEx = -1;
+static BOOL (CALLBACK *Py_CancelIoEx)(HANDLE, LPOVERLAPPED);
+
+static int
+check_CancelIoEx()
+{
+ if (has_CancelIoEx == -1)
+ {
+ HINSTANCE hKernel32 = GetModuleHandle("KERNEL32");
+ * (FARPROC *) &Py_CancelIoEx = GetProcAddress(hKernel32,
+ "CancelIoEx");
+ has_CancelIoEx = (Py_CancelIoEx != NULL);
+ }
+ return has_CancelIoEx;
+}
+
+
+/*
+ * A Python object wrapping an OVERLAPPED structure and other useful data
+ * for overlapped I/O
+ */
+
+typedef struct {
+ PyObject_HEAD
+ OVERLAPPED overlapped;
+ /* For convenience, we store the file handle too */
+ HANDLE handle;
+ /* Whether there's I/O in flight */
+ int pending;
+ /* Whether I/O completed successfully */
+ int completed;
+ /* Buffer used for reading (optional) */
+ PyObject *read_buffer;
+ /* Buffer used for writing (optional) */
+ Py_buffer write_buffer;
+} OverlappedObject;
+
+static void
+overlapped_dealloc(OverlappedObject *self)
+{
+ int err = GetLastError();
+ if (self->pending) {
+ if (check_CancelIoEx())
+ Py_CancelIoEx(self->handle, &self->overlapped);
+ else {
+ PyErr_SetString(PyExc_RuntimeError,
+ "I/O operations still in flight while destroying "
+ "Overlapped object, the process may crash");
+ PyErr_WriteUnraisable(NULL);
+ }
+ }
+ CloseHandle(self->overlapped.hEvent);
+ SetLastError(err);
+ if (self->write_buffer.obj)
+ PyBuffer_Release(&self->write_buffer);
+ Py_CLEAR(self->read_buffer);
+ PyObject_Del(self);
+}
+
+static PyObject *
+overlapped_GetOverlappedResult(OverlappedObject *self, PyObject *waitobj)
+{
+ int wait;
+ BOOL res;
+ DWORD transferred = 0;
+
+ wait = PyObject_IsTrue(waitobj);
+ if (wait < 0)
+ return NULL;
+ Py_BEGIN_ALLOW_THREADS
+ res = GetOverlappedResult(self->handle, &self->overlapped, &transferred,
+ wait != 0);
+ Py_END_ALLOW_THREADS
+
+ if (!res) {
+ int err = GetLastError();
+ if (err == ERROR_IO_INCOMPLETE)
+ Py_RETURN_NONE;
+ if (err != ERROR_MORE_DATA) {
+ self->pending = 0;
+ return PyErr_SetExcFromWindowsErr(PyExc_IOError, err);
+ }
+ }
+ self->pending = 0;
+ self->completed = 1;
+ if (self->read_buffer) {
+ assert(PyBytes_CheckExact(self->read_buffer));
+ if (_PyBytes_Resize(&self->read_buffer, transferred))
+ return NULL;
+ }
+ return Py_BuildValue("lN", (long) transferred, PyBool_FromLong(res));
+}
+
+static PyObject *
+overlapped_getbuffer(OverlappedObject *self)
+{
+ PyObject *res;
+ if (!self->completed) {
+ PyErr_SetString(PyExc_ValueError,
+ "can't get read buffer before GetOverlappedResult() "
+ "signals the operation completed");
+ return NULL;
+ }
+ res = self->read_buffer ? self->read_buffer : Py_None;
+ Py_INCREF(res);
+ return res;
+}
+
+static PyObject *
+overlapped_cancel(OverlappedObject *self)
+{
+ BOOL res = TRUE;
+
+ if (self->pending) {
+ Py_BEGIN_ALLOW_THREADS
+ if (check_CancelIoEx())
+ res = Py_CancelIoEx(self->handle, &self->overlapped);
+ else
+ res = CancelIo(self->handle);
+ Py_END_ALLOW_THREADS
+ }
+
+ /* CancelIoEx returns ERROR_NOT_FOUND if the I/O completed in-between */
+ if (!res && GetLastError() != ERROR_NOT_FOUND)
+ return PyErr_SetExcFromWindowsErr(PyExc_IOError, 0);
+ self->pending = 0;
+ Py_RETURN_NONE;
+}
+
+static PyMethodDef overlapped_methods[] = {
+ {"GetOverlappedResult", (PyCFunction) overlapped_GetOverlappedResult,
+ METH_O, NULL},
+ {"getbuffer", (PyCFunction) overlapped_getbuffer, METH_NOARGS, NULL},
+ {"cancel", (PyCFunction) overlapped_cancel, METH_NOARGS, NULL},
+ {NULL}
+};
+
+static PyMemberDef overlapped_members[] = {
+ {"event", T_HANDLE,
+ offsetof(OverlappedObject, overlapped) + offsetof(OVERLAPPED, hEvent),
+ READONLY, "overlapped event handle"},
+ {NULL}
+};
+
+PyTypeObject OverlappedType = {
+ PyVarObject_HEAD_INIT(NULL, 0)
+ /* tp_name */ "_multiprocessing.win32.Overlapped",
+ /* tp_basicsize */ sizeof(OverlappedObject),
+ /* tp_itemsize */ 0,
+ /* tp_dealloc */ (destructor) overlapped_dealloc,
+ /* tp_print */ 0,
+ /* tp_getattr */ 0,
+ /* tp_setattr */ 0,
+ /* tp_reserved */ 0,
+ /* tp_repr */ 0,
+ /* tp_as_number */ 0,
+ /* tp_as_sequence */ 0,
+ /* tp_as_mapping */ 0,
+ /* tp_hash */ 0,
+ /* tp_call */ 0,
+ /* tp_str */ 0,
+ /* tp_getattro */ 0,
+ /* tp_setattro */ 0,
+ /* tp_as_buffer */ 0,
+ /* tp_flags */ Py_TPFLAGS_DEFAULT,
+ /* tp_doc */ "OVERLAPPED structure wrapper",
+ /* tp_traverse */ 0,
+ /* tp_clear */ 0,
+ /* tp_richcompare */ 0,
+ /* tp_weaklistoffset */ 0,
+ /* tp_iter */ 0,
+ /* tp_iternext */ 0,
+ /* tp_methods */ overlapped_methods,
+ /* tp_members */ overlapped_members,
+ /* tp_getset */ 0,
+ /* tp_base */ 0,
+ /* tp_dict */ 0,
+ /* tp_descr_get */ 0,
+ /* tp_descr_set */ 0,
+ /* tp_dictoffset */ 0,
+ /* tp_init */ 0,
+ /* tp_alloc */ 0,
+ /* tp_new */ 0,
+};
+
+static OverlappedObject *
+new_overlapped(HANDLE handle)
+{
+ OverlappedObject *self;
+
+ self = PyObject_New(OverlappedObject, &OverlappedType);
+ if (!self)
+ return NULL;
+ self->handle = handle;
+ self->read_buffer = NULL;
+ self->pending = 0;
+ self->completed = 0;
+ memset(&self->overlapped, 0, sizeof(OVERLAPPED));
+ memset(&self->write_buffer, 0, sizeof(Py_buffer));
+ /* Manual reset, initially non-signalled */
+ self->overlapped.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
+ return self;
+}
+
+
+/*
+ * Module functions
+ */
+
static PyObject *
win32_CloseHandle(PyObject *self, PyObject *args)
{
@@ -36,20 +249,44 @@ win32_CloseHandle(PyObject *self, PyObject *args)
}
static PyObject *
-win32_ConnectNamedPipe(PyObject *self, PyObject *args)
+win32_ConnectNamedPipe(PyObject *self, PyObject *args, PyObject *kwds)
{
HANDLE hNamedPipe;
- LPOVERLAPPED lpOverlapped;
+ int use_overlapped = 0;
BOOL success;
+ OverlappedObject *overlapped = NULL;
+ static char *kwlist[] = {"handle", "overlapped", NULL};
- if (!PyArg_ParseTuple(args, F_HANDLE F_POINTER,
- &hNamedPipe, &lpOverlapped))
+ if (!PyArg_ParseTupleAndKeywords(args, kwds,
+ F_HANDLE "|i", kwlist,
+ &hNamedPipe, &use_overlapped))
return NULL;
+ if (use_overlapped) {
+ overlapped = new_overlapped(hNamedPipe);
+ if (!overlapped)
+ return NULL;
+ }
+
Py_BEGIN_ALLOW_THREADS
- success = ConnectNamedPipe(hNamedPipe, lpOverlapped);
+ success = ConnectNamedPipe(hNamedPipe,
+ overlapped ? &overlapped->overlapped : NULL);
Py_END_ALLOW_THREADS
+ if (overlapped) {
+ int err = GetLastError();
+ /* Overlapped ConnectNamedPipe never returns a success code */
+ assert(success == 0);
+ if (err == ERROR_IO_PENDING)
+ overlapped->pending = 1;
+ else if (err == ERROR_PIPE_CONNECTED)
+ SetEvent(overlapped->overlapped.hEvent);
+ else {
+ Py_DECREF(overlapped);
+ return PyErr_SetFromWindowsErr(err);
+ }
+ return (PyObject *) overlapped;
+ }
if (!success)
return PyErr_SetFromWindowsErr(0);
@@ -215,16 +452,309 @@ win32_WaitNamedPipe(PyObject *self, PyObject *args)
Py_RETURN_NONE;
}
+static PyObject *
+win32_closesocket(PyObject *self, PyObject *args)
+{
+ HANDLE handle;
+ int ret;
+
+ if (!PyArg_ParseTuple(args, F_HANDLE ":closesocket" , &handle))
+ return NULL;
+
+ Py_BEGIN_ALLOW_THREADS
+ ret = closesocket((SOCKET) handle);
+ Py_END_ALLOW_THREADS
+
+ if (ret)
+ return PyErr_SetExcFromWindowsErr(PyExc_IOError, WSAGetLastError());
+ Py_RETURN_NONE;
+}
+
+static PyObject *
+win32_recv(PyObject *self, PyObject *args)
+{
+ HANDLE handle;
+ int size, nread;
+ PyObject *buf;
+
+ if (!PyArg_ParseTuple(args, F_HANDLE "i:recv" , &handle, &size))
+ return NULL;
+
+ buf = PyBytes_FromStringAndSize(NULL, size);
+ if (!buf)
+ return NULL;
+
+ Py_BEGIN_ALLOW_THREADS
+ nread = recv((SOCKET) handle, PyBytes_AS_STRING(buf), size, 0);
+ Py_END_ALLOW_THREADS
+
+ if (nread < 0) {
+ Py_DECREF(buf);
+ return PyErr_SetExcFromWindowsErr(PyExc_IOError, WSAGetLastError());
+ }
+ _PyBytes_Resize(&buf, nread);
+ return buf;
+}
+
+static PyObject *
+win32_send(PyObject *self, PyObject *args)
+{
+ HANDLE handle;
+ Py_buffer buf;
+ int ret;
+
+ if (!PyArg_ParseTuple(args, F_HANDLE "y*:send" , &handle, &buf))
+ return NULL;
+
+ Py_BEGIN_ALLOW_THREADS
+ ret = send((SOCKET) handle, buf.buf, buf.len, 0);
+ Py_END_ALLOW_THREADS
+
+ PyBuffer_Release(&buf);
+ if (ret < 0)
+ return PyErr_SetExcFromWindowsErr(PyExc_IOError, WSAGetLastError());
+ return PyLong_FromLong(ret);
+}
+
+static PyObject *
+win32_WriteFile(PyObject *self, PyObject *args, PyObject *kwds)
+{
+ HANDLE handle;
+ Py_buffer _buf, *buf;
+ PyObject *bufobj;
+ int written;
+ BOOL ret;
+ int use_overlapped = 0;
+ OverlappedObject *overlapped = NULL;
+ static char *kwlist[] = {"handle", "buffer", "overlapped", NULL};
+
+ /* First get handle and use_overlapped to know which Py_buffer to use */
+ if (!PyArg_ParseTupleAndKeywords(args, kwds,
+ F_HANDLE "O|i:WriteFile", kwlist,
+ &handle, &bufobj, &use_overlapped))
+ return NULL;
+
+ if (use_overlapped) {
+ overlapped = new_overlapped(handle);
+ if (!overlapped)
+ return NULL;
+ buf = &overlapped->write_buffer;
+ }
+ else
+ buf = &_buf;
+
+ if (!PyArg_Parse(bufobj, "y*", buf)) {
+ Py_XDECREF(overlapped);
+ return NULL;
+ }
+
+ Py_BEGIN_ALLOW_THREADS
+ ret = WriteFile(handle, buf->buf, buf->len, &written,
+ overlapped ? &overlapped->overlapped : NULL);
+ Py_END_ALLOW_THREADS
+
+ if (overlapped) {
+ int err = GetLastError();
+ if (!ret) {
+ if (err == ERROR_IO_PENDING)
+ overlapped->pending = 1;
+ else {
+ Py_DECREF(overlapped);
+ return PyErr_SetExcFromWindowsErr(PyExc_IOError, 0);
+ }
+ }
+ return (PyObject *) overlapped;
+ }
+
+ PyBuffer_Release(buf);
+ if (!ret)
+ return PyErr_SetExcFromWindowsErr(PyExc_IOError, 0);
+ return PyLong_FromLong(written);
+}
+
+static PyObject *
+win32_ReadFile(PyObject *self, PyObject *args, PyObject *kwds)
+{
+ HANDLE handle;
+ int size;
+ DWORD nread;
+ PyObject *buf;
+ BOOL ret;
+ int use_overlapped = 0;
+ OverlappedObject *overlapped = NULL;
+ static char *kwlist[] = {"handle", "size", "overlapped", NULL};
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwds,
+ F_HANDLE "i|i:ReadFile", kwlist,
+ &handle, &size, &use_overlapped))
+ return NULL;
+
+ buf = PyBytes_FromStringAndSize(NULL, size);
+ if (!buf)
+ return NULL;
+ if (use_overlapped) {
+ overlapped = new_overlapped(handle);
+ if (!overlapped) {
+ Py_DECREF(buf);
+ return NULL;
+ }
+ /* Steals reference to buf */
+ overlapped->read_buffer = buf;
+ }
+
+ Py_BEGIN_ALLOW_THREADS
+ ret = ReadFile(handle, PyBytes_AS_STRING(buf), size, &nread,
+ overlapped ? &overlapped->overlapped : NULL);
+ Py_END_ALLOW_THREADS
+
+ if (overlapped) {
+ int err = GetLastError();
+ if (!ret) {
+ if (err == ERROR_IO_PENDING)
+ overlapped->pending = 1;
+ else if (err != ERROR_MORE_DATA) {
+ Py_DECREF(overlapped);
+ return PyErr_SetExcFromWindowsErr(PyExc_IOError, 0);
+ }
+ }
+ return (PyObject *) overlapped;
+ }
+
+ if (!ret && GetLastError() != ERROR_MORE_DATA) {
+ Py_DECREF(buf);
+ return PyErr_SetExcFromWindowsErr(PyExc_IOError, 0);
+ }
+ if (_PyBytes_Resize(&buf, nread))
+ return NULL;
+ return Py_BuildValue("NN", buf, PyBool_FromLong(ret));
+}
+
+static PyObject *
+win32_PeekNamedPipe(PyObject *self, PyObject *args)
+{
+ HANDLE handle;
+ int size = 0;
+ PyObject *buf = NULL;
+ DWORD nread, navail, nleft;
+ BOOL ret;
+
+ if (!PyArg_ParseTuple(args, F_HANDLE "|i:PeekNamedPipe" , &handle, &size))
+ return NULL;
+
+ if (size < 0) {
+ PyErr_SetString(PyExc_ValueError, "negative size");
+ return NULL;
+ }
+
+ if (size) {
+ buf = PyBytes_FromStringAndSize(NULL, size);
+ if (!buf)
+ return NULL;
+ Py_BEGIN_ALLOW_THREADS
+ ret = PeekNamedPipe(handle, PyBytes_AS_STRING(buf), size, &nread,
+ &navail, &nleft);
+ Py_END_ALLOW_THREADS
+ if (!ret) {
+ Py_DECREF(buf);
+ return PyErr_SetExcFromWindowsErr(PyExc_IOError, 0);
+ }
+ if (_PyBytes_Resize(&buf, nread))
+ return NULL;
+ return Py_BuildValue("Nii", buf, navail, nleft);
+ }
+ else {
+ Py_BEGIN_ALLOW_THREADS
+ ret = PeekNamedPipe(handle, NULL, 0, NULL, &navail, &nleft);
+ Py_END_ALLOW_THREADS
+ if (!ret) {
+ return PyErr_SetExcFromWindowsErr(PyExc_IOError, 0);
+ }
+ return Py_BuildValue("ii", navail, nleft);
+ }
+}
+
+static PyObject *
+win32_WaitForMultipleObjects(PyObject* self, PyObject* args)
+{
+ DWORD result;
+ PyObject *handle_seq;
+ HANDLE handles[MAXIMUM_WAIT_OBJECTS];
+ HANDLE sigint_event = NULL;
+ Py_ssize_t nhandles, i;
+ int wait_flag;
+ int milliseconds = INFINITE;
+
+ if (!PyArg_ParseTuple(args, "Oi|i:WaitForMultipleObjects",
+ &handle_seq, &wait_flag, &milliseconds))
+ return NULL;
+
+ if (!PySequence_Check(handle_seq)) {
+ PyErr_Format(PyExc_TypeError,
+ "sequence type expected, got '%s'",
+ Py_TYPE(handle_seq)->tp_doc);
+ return NULL;
+ }
+ nhandles = PySequence_Length(handle_seq);
+ if (nhandles == -1)
+ return NULL;
+ if (nhandles < 0 || nhandles >= MAXIMUM_WAIT_OBJECTS - 1) {
+ PyErr_Format(PyExc_ValueError,
+ "need at most %zd handles, got a sequence of length %zd",
+ MAXIMUM_WAIT_OBJECTS - 1, nhandles);
+ return NULL;
+ }
+ for (i = 0; i < nhandles; i++) {
+ HANDLE h;
+ PyObject *v = PySequence_GetItem(handle_seq, i);
+ if (v == NULL)
+ return NULL;
+ if (!PyArg_Parse(v, F_HANDLE, &h))
+ return NULL;
+ handles[i] = h;
+ }
+ /* If this is the main thread then make the wait interruptible
+ by Ctrl-C unless we are waiting for *all* handles */
+ if (!wait_flag && _PyOS_IsMainThread()) {
+ sigint_event = _PyOS_SigintEvent();
+ assert(sigint_event != NULL);
+ handles[nhandles++] = sigint_event;
+ }
+
+ Py_BEGIN_ALLOW_THREADS
+ if (sigint_event != NULL)
+ ResetEvent(sigint_event);
+ result = WaitForMultipleObjects((DWORD) nhandles, handles,
+ (BOOL) wait_flag, (DWORD) milliseconds);
+ Py_END_ALLOW_THREADS
+
+ if (result == WAIT_FAILED)
+ return PyErr_SetExcFromWindowsErr(PyExc_IOError, 0);
+ else if (sigint_event != NULL && result == WAIT_OBJECT_0 + nhandles - 1) {
+ errno = EINTR;
+ return PyErr_SetFromErrno(PyExc_IOError);
+ }
+
+ return PyLong_FromLong((int) result);
+}
+
+
static PyMethodDef win32_methods[] = {
WIN32_FUNCTION(CloseHandle),
WIN32_FUNCTION(GetLastError),
WIN32_FUNCTION(OpenProcess),
WIN32_FUNCTION(ExitProcess),
- WIN32_FUNCTION(ConnectNamedPipe),
+ WIN32_KWARGS_FUNCTION(ConnectNamedPipe),
WIN32_FUNCTION(CreateFile),
WIN32_FUNCTION(CreateNamedPipe),
+ WIN32_KWARGS_FUNCTION(ReadFile),
+ WIN32_FUNCTION(PeekNamedPipe),
WIN32_FUNCTION(SetNamedPipeHandleState),
+ WIN32_FUNCTION(WaitForMultipleObjects),
WIN32_FUNCTION(WaitNamedPipe),
+ WIN32_KWARGS_FUNCTION(WriteFile),
+ WIN32_FUNCTION(closesocket),
+ WIN32_FUNCTION(recv),
+ WIN32_FUNCTION(send),
{NULL}
};
@@ -243,10 +773,18 @@ create_win32_namespace(void)
return NULL;
Py_INCREF(&Win32Type);
+ if (PyType_Ready(&OverlappedType) < 0)
+ return NULL;
+ PyDict_SetItemString(Win32Type.tp_dict, "Overlapped",
+ (PyObject *) &OverlappedType);
+
WIN32_CONSTANT(F_DWORD, ERROR_ALREADY_EXISTS);
+ WIN32_CONSTANT(F_DWORD, ERROR_BROKEN_PIPE);
+ WIN32_CONSTANT(F_DWORD, ERROR_NO_SYSTEM_RESOURCES);
WIN32_CONSTANT(F_DWORD, ERROR_PIPE_BUSY);
WIN32_CONSTANT(F_DWORD, ERROR_PIPE_CONNECTED);
WIN32_CONSTANT(F_DWORD, ERROR_SEM_TIMEOUT);
+ WIN32_CONSTANT(F_DWORD, FILE_FLAG_OVERLAPPED);
WIN32_CONSTANT(F_DWORD, GENERIC_READ);
WIN32_CONSTANT(F_DWORD, GENERIC_WRITE);
WIN32_CONSTANT(F_DWORD, INFINITE);
diff --git a/Modules/_pickle.c b/Modules/_pickle.c
index fc5f871..a0c1029 100644
--- a/Modules/_pickle.c
+++ b/Modules/_pickle.c
@@ -605,7 +605,7 @@ PyMemoTable_Set(PyMemoTable *self, PyObject *key, Py_ssize_t value)
/*************************************************************************/
/* Helpers for creating the argument tuple passed to functions. This has the
- performance advantage of calling PyTuple_New() only once.
+ performance advantage of calling PyTuple_New() only once.
XXX(avassalotti): Inline directly in _Pickler_FastCall() and
_Unpickler_FastCall(). */
@@ -813,7 +813,7 @@ _Pickler_SetProtocol(PicklerObject *self, PyObject *proto_obj,
fix_imports = PyObject_IsTrue(fix_imports_obj);
if (fix_imports == -1)
return -1;
-
+
self->proto = proto;
self->bin = proto > 0;
self->fix_imports = fix_imports && proto < 3;
@@ -826,8 +826,9 @@ _Pickler_SetProtocol(PicklerObject *self, PyObject *proto_obj,
static int
_Pickler_SetOutputStream(PicklerObject *self, PyObject *file)
{
+ _Py_IDENTIFIER(write);
assert(file != NULL);
- self->write = PyObject_GetAttrString(file, "write");
+ self->write = _PyObject_GetAttrId(file, &PyId_write);
if (self->write == NULL) {
if (PyErr_ExceptionMatches(PyExc_AttributeError))
PyErr_SetString(PyExc_TypeError,
@@ -909,7 +910,7 @@ _Unpickler_ReadFromFile(UnpicklerObject *self, Py_ssize_t n)
Py_ssize_t read_size, prefetched_size = 0;
assert(self->read != NULL);
-
+
if (_Unpickler_SkipConsumed(self) < 0)
return -1;
@@ -1037,7 +1038,7 @@ _Unpickler_Readline(UnpicklerObject *self, char **result)
self->next_read_idx = num_read;
return _Unpickler_CopyLine(self, self->input_buffer, num_read, result);
}
-
+
/* If we get here, we've run off the end of the input string. Return the
remaining string and let the caller figure it out. */
*result = self->input_buffer + self->next_read_idx;
@@ -1173,15 +1174,19 @@ _Unpickler_New(void)
static int
_Unpickler_SetInputStream(UnpicklerObject *self, PyObject *file)
{
- self->peek = PyObject_GetAttrString(file, "peek");
+ _Py_IDENTIFIER(peek);
+ _Py_IDENTIFIER(read);
+ _Py_IDENTIFIER(readline);
+
+ self->peek = _PyObject_GetAttrId(file, &PyId_peek);
if (self->peek == NULL) {
if (PyErr_ExceptionMatches(PyExc_AttributeError))
PyErr_Clear();
else
return -1;
}
- self->read = PyObject_GetAttrString(file, "read");
- self->readline = PyObject_GetAttrString(file, "readline");
+ self->read = _PyObject_GetAttrId(file, &PyId_read);
+ self->readline = _PyObject_GetAttrId(file, &PyId_readline);
if (self->readline == NULL || self->read == NULL) {
if (PyErr_ExceptionMatches(PyExc_AttributeError))
PyErr_SetString(PyExc_TypeError,
@@ -1543,7 +1548,10 @@ save_long(PicklerObject *self, PyObject *obj)
PyErr_Clear();
}
else
- return save_int(self, val);
+#if SIZEOF_LONG > 4
+ if (val <= 0x7fffffffL && val >= -0x80000000L)
+#endif
+ return save_int(self, val);
if (self->proto >= 2) {
/* Linear-time pickling. */
@@ -1598,7 +1606,7 @@ save_long(PicklerObject *self, PyObject *obj)
* bits.
*/
if (sign < 0 &&
- nbytes > 1 &&
+ nbytes > 1 &&
pdata[nbytes - 1] == 0xff &&
(pdata[nbytes - 2] & 0x80) != 0) {
nbytes--;
@@ -1664,7 +1672,7 @@ save_float(PicklerObject *self, PyObject *obj)
return -1;
if (_Pickler_Write(self, pdata, 9) < 0)
return -1;
- }
+ }
else {
int result = -1;
char *buf = NULL;
@@ -1798,90 +1806,65 @@ save_bytes(PicklerObject *self, PyObject *obj)
/* A copy of PyUnicode_EncodeRawUnicodeEscape() that also translates
backslash and newline characters to \uXXXX escapes. */
static PyObject *
-raw_unicode_escape(const Py_UNICODE *s, Py_ssize_t size)
+raw_unicode_escape(PyObject *obj)
{
PyObject *repr, *result;
char *p;
- char *q;
+ Py_ssize_t i, size, expandsize;
+ void *data;
+ unsigned int kind;
- static const char *hexdigits = "0123456789abcdef";
+ if (PyUnicode_READY(obj))
+ return NULL;
+
+ size = PyUnicode_GET_LENGTH(obj);
+ data = PyUnicode_DATA(obj);
+ kind = PyUnicode_KIND(obj);
+ if (kind == PyUnicode_4BYTE_KIND)
+ expandsize = 10;
+ else
+ expandsize = 6;
-#ifdef Py_UNICODE_WIDE
- const Py_ssize_t expandsize = 10;
-#else
- const Py_ssize_t expandsize = 6;
-#endif
-
if (size > PY_SSIZE_T_MAX / expandsize)
return PyErr_NoMemory();
-
repr = PyByteArray_FromStringAndSize(NULL, expandsize * size);
if (repr == NULL)
return NULL;
if (size == 0)
goto done;
- p = q = PyByteArray_AS_STRING(repr);
- while (size-- > 0) {
- Py_UNICODE ch = *s++;
-#ifdef Py_UNICODE_WIDE
+ p = PyByteArray_AS_STRING(repr);
+ for (i=0; i < size; i++) {
+ Py_UCS4 ch = PyUnicode_READ(kind, data, i);
/* Map 32-bit characters to '\Uxxxxxxxx' */
if (ch >= 0x10000) {
*p++ = '\\';
*p++ = 'U';
- *p++ = hexdigits[(ch >> 28) & 0xf];
- *p++ = hexdigits[(ch >> 24) & 0xf];
- *p++ = hexdigits[(ch >> 20) & 0xf];
- *p++ = hexdigits[(ch >> 16) & 0xf];
- *p++ = hexdigits[(ch >> 12) & 0xf];
- *p++ = hexdigits[(ch >> 8) & 0xf];
- *p++ = hexdigits[(ch >> 4) & 0xf];
- *p++ = hexdigits[ch & 15];
+ *p++ = Py_hexdigits[(ch >> 28) & 0xf];
+ *p++ = Py_hexdigits[(ch >> 24) & 0xf];
+ *p++ = Py_hexdigits[(ch >> 20) & 0xf];
+ *p++ = Py_hexdigits[(ch >> 16) & 0xf];
+ *p++ = Py_hexdigits[(ch >> 12) & 0xf];
+ *p++ = Py_hexdigits[(ch >> 8) & 0xf];
+ *p++ = Py_hexdigits[(ch >> 4) & 0xf];
+ *p++ = Py_hexdigits[ch & 15];
}
- else
-#else
- /* Map UTF-16 surrogate pairs to '\U00xxxxxx' */
- if (ch >= 0xD800 && ch < 0xDC00) {
- Py_UNICODE ch2;
- Py_UCS4 ucs;
-
- ch2 = *s++;
- size--;
- if (ch2 >= 0xDC00 && ch2 <= 0xDFFF) {
- ucs = (((ch & 0x03FF) << 10) | (ch2 & 0x03FF)) + 0x00010000;
- *p++ = '\\';
- *p++ = 'U';
- *p++ = hexdigits[(ucs >> 28) & 0xf];
- *p++ = hexdigits[(ucs >> 24) & 0xf];
- *p++ = hexdigits[(ucs >> 20) & 0xf];
- *p++ = hexdigits[(ucs >> 16) & 0xf];
- *p++ = hexdigits[(ucs >> 12) & 0xf];
- *p++ = hexdigits[(ucs >> 8) & 0xf];
- *p++ = hexdigits[(ucs >> 4) & 0xf];
- *p++ = hexdigits[ucs & 0xf];
- continue;
- }
- /* Fall through: isolated surrogates are copied as-is */
- s--;
- size++;
- }
-#endif
/* Map 16-bit characters to '\uxxxx' */
- if (ch >= 256 || ch == '\\' || ch == '\n') {
+ else if (ch >= 256 || ch == '\\' || ch == '\n') {
*p++ = '\\';
*p++ = 'u';
- *p++ = hexdigits[(ch >> 12) & 0xf];
- *p++ = hexdigits[(ch >> 8) & 0xf];
- *p++ = hexdigits[(ch >> 4) & 0xf];
- *p++ = hexdigits[ch & 15];
+ *p++ = Py_hexdigits[(ch >> 12) & 0xf];
+ *p++ = Py_hexdigits[(ch >> 8) & 0xf];
+ *p++ = Py_hexdigits[(ch >> 4) & 0xf];
+ *p++ = Py_hexdigits[ch & 15];
}
/* Copy everything else as-is */
else
*p++ = (char) ch;
}
- size = p - q;
+ size = p - PyByteArray_AS_STRING(repr);
- done:
+done:
result = PyBytes_FromStringAndSize(PyByteArray_AS_STRING(repr), size);
Py_DECREF(repr);
return result;
@@ -1896,9 +1879,7 @@ save_unicode(PicklerObject *self, PyObject *obj)
if (self->bin) {
char pdata[5];
- encoded = PyUnicode_EncodeUTF8(PyUnicode_AS_UNICODE(obj),
- PyUnicode_GET_SIZE(obj),
- "surrogatepass");
+ encoded = PyUnicode_AsEncodedString(obj, "utf-8", "surrogatepass");
if (encoded == NULL)
goto error;
@@ -1924,8 +1905,7 @@ save_unicode(PicklerObject *self, PyObject *obj)
else {
const char unicode_op = UNICODE;
- encoded = raw_unicode_escape(PyUnicode_AS_UNICODE(obj),
- PyUnicode_GET_SIZE(obj));
+ encoded = raw_unicode_escape(obj);
if (encoded == NULL)
goto error;
@@ -2544,7 +2524,9 @@ save_dict(PicklerObject *self, PyObject *obj)
status = batch_dict_exact(self, obj);
Py_LeaveRecursiveCall();
} else {
- items = PyObject_CallMethod(obj, "items", "()");
+ _Py_IDENTIFIER(items);
+
+ items = _PyObject_CallMethodId(obj, &PyId_items, "()");
if (items == NULL)
goto error;
iter = PyObject_GetIter(items);
@@ -2881,6 +2863,28 @@ save_pers(PicklerObject *self, PyObject *obj, PyObject *func)
return status;
}
+static PyObject *
+get_class(PyObject *obj)
+{
+ PyObject *cls;
+ static PyObject *str_class;
+
+ if (str_class == NULL) {
+ str_class = PyUnicode_InternFromString("__class__");
+ if (str_class == NULL)
+ return NULL;
+ }
+ cls = PyObject_GetAttr(obj, str_class);
+ if (cls == NULL) {
+ if (PyErr_ExceptionMatches(PyExc_AttributeError)) {
+ PyErr_Clear();
+ cls = (PyObject *) Py_TYPE(obj);
+ Py_INCREF(cls);
+ }
+ }
+ return cls;
+}
+
/* We're saving obj, and args is the 2-thru-5 tuple returned by the
* appropriate __reduce__ method for obj.
*/
@@ -2946,17 +2950,18 @@ save_reduce(PicklerObject *self, PyObject *args, PyObject *obj)
/* Protocol 2 special case: if callable's name is __newobj__, use
NEWOBJ. */
if (use_newobj) {
- static PyObject *newobj_str = NULL;
- PyObject *name_str;
+ static PyObject *newobj_str = NULL, *name_str = NULL;
+ PyObject *name;
if (newobj_str == NULL) {
newobj_str = PyUnicode_InternFromString("__newobj__");
- if (newobj_str == NULL)
+ name_str = PyUnicode_InternFromString("__name__");
+ if (newobj_str == NULL || name_str == NULL)
return -1;
}
- name_str = PyObject_GetAttrString(callable, "__name__");
- if (name_str == NULL) {
+ name = PyObject_GetAttr(callable, name_str);
+ if (name == NULL) {
if (PyErr_ExceptionMatches(PyExc_AttributeError))
PyErr_Clear();
else
@@ -2964,9 +2969,9 @@ save_reduce(PicklerObject *self, PyObject *args, PyObject *obj)
use_newobj = 0;
}
else {
- use_newobj = PyUnicode_Check(name_str) &&
- PyUnicode_Compare(name_str, newobj_str) == 0;
- Py_DECREF(name_str);
+ use_newobj = PyUnicode_Check(name) &&
+ PyUnicode_Compare(name, newobj_str) == 0;
+ Py_DECREF(name);
}
}
if (use_newobj) {
@@ -2982,20 +2987,14 @@ save_reduce(PicklerObject *self, PyObject *args, PyObject *obj)
}
cls = PyTuple_GET_ITEM(argtup, 0);
- if (!PyObject_HasAttrString(cls, "__new__")) {
+ if (!PyType_Check(cls)) {
PyErr_SetString(PicklingError, "args[0] from "
- "__newobj__ args has no __new__");
+ "__newobj__ args is not a type");
return -1;
}
if (obj != NULL) {
- obj_class = PyObject_GetAttrString(obj, "__class__");
- if (obj_class == NULL) {
- if (PyErr_ExceptionMatches(PyExc_AttributeError))
- PyErr_Clear();
- else
- return -1;
- }
+ obj_class = get_class(obj);
p = obj_class != cls; /* true iff a problem */
Py_DECREF(obj_class);
if (p) {
@@ -3069,7 +3068,7 @@ save_reduce(PicklerObject *self, PyObject *args, PyObject *obj)
return -1;
if (state) {
- if (save(self, state, 0) < 0 ||
+ if (save(self, state, 0) < 0 ||
_Pickler_Write(self, &build_op, 1) < 0)
return -1;
}
@@ -3323,7 +3322,7 @@ Pickler_dump(PicklerObject *self, PyObject *args)
Developers often forget to call __init__() in their subclasses, which
would trigger a segfault without this check. */
if (self->write == NULL) {
- PyErr_Format(PicklingError,
+ PyErr_Format(PicklingError,
"Pickler.__init__() was not called by %s.__init__()",
Py_TYPE(self)->tp_name);
return NULL;
@@ -3427,6 +3426,7 @@ Pickler_init(PicklerObject *self, PyObject *args, PyObject *kwds)
PyObject *file;
PyObject *proto_obj = NULL;
PyObject *fix_imports = Py_True;
+ _Py_IDENTIFIER(persistent_id);
if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|OO:Pickler",
kwlist, &file, &proto_obj, &fix_imports))
@@ -3462,9 +3462,9 @@ Pickler_init(PicklerObject *self, PyObject *args, PyObject *kwds)
self->fast_nesting = 0;
self->fast_memo = NULL;
self->pers_func = NULL;
- if (PyObject_HasAttrString((PyObject *)self, "persistent_id")) {
- self->pers_func = PyObject_GetAttrString((PyObject *)self,
- "persistent_id");
+ if (_PyObject_HasAttrId((PyObject *)self, &PyId_persistent_id)) {
+ self->pers_func = _PyObject_GetAttrId((PyObject *)self,
+ &PyId_persistent_id);
if (self->pers_func == NULL)
return -1;
}
@@ -3803,7 +3803,7 @@ static PyTypeObject Pickler_Type = {
0, /*tp_is_gc*/
};
-/* Temporary helper for calling self.find_class().
+/* Temporary helper for calling self.find_class().
XXX: It would be nice to able to avoid Python function call overhead, by
using directly the C version of find_class(), when find_class() is not
@@ -3813,8 +3813,10 @@ static PyTypeObject Pickler_Type = {
static PyObject *
find_class(UnpicklerObject *self, PyObject *module_name, PyObject *global_name)
{
- return PyObject_CallMethod((PyObject *)self, "find_class", "OO",
- module_name, global_name);
+ _Py_IDENTIFIER(find_class);
+
+ return _PyObject_CallMethodId((PyObject *)self, &PyId_find_class, "OO",
+ module_name, global_name);
}
static Py_ssize_t
@@ -3856,7 +3858,7 @@ load_int(UnpicklerObject *self)
return bad_readline();
errno = 0;
- /* XXX: Should the base argument of strtol() be explicitly set to 10?
+ /* XXX: Should the base argument of strtol() be explicitly set to 10?
XXX(avassalotti): Should this uses PyOS_strtol()? */
x = strtol(s, &endptr, 0);
@@ -4221,7 +4223,7 @@ load_binstring(UnpicklerObject *self)
x = calc_binint(s, 4);
if (x < 0) {
- PyErr_SetString(UnpicklingError,
+ PyErr_SetString(UnpicklingError,
"BINSTRING pickle has negative byte count");
return -1;
}
@@ -4418,16 +4420,19 @@ static PyObject *
instantiate(PyObject *cls, PyObject *args)
{
PyObject *result = NULL;
+ _Py_IDENTIFIER(__getinitargs__);
/* Caller must assure args are a tuple. Normally, args come from
Pdata_poptuple which packs objects from the top of the stack
into a newly created tuple. */
assert(PyTuple_Check(args));
if (Py_SIZE(args) > 0 || !PyType_Check(cls) ||
- PyObject_HasAttrString(cls, "__getinitargs__")) {
+ _PyObject_HasAttrId(cls, &PyId___getinitargs__)) {
result = PyObject_CallObject(cls, args);
}
else {
- result = PyObject_CallMethod(cls, "__new__", "O", cls);
+ _Py_IDENTIFIER(__new__);
+
+ result = _PyObject_CallMethodId(cls, &PyId___new__, "O", cls);
}
return result;
}
@@ -4968,8 +4973,9 @@ do_append(UnpicklerObject *self, Py_ssize_t x)
}
else {
PyObject *append_func;
+ _Py_IDENTIFIER(append);
- append_func = PyObject_GetAttrString(list, "append");
+ append_func = _PyObject_GetAttrId(list, &PyId_append);
if (append_func == NULL)
return -1;
for (i = x; i < len; i++) {
@@ -5015,7 +5021,7 @@ do_setitems(UnpicklerObject *self, Py_ssize_t x)
return stack_underflow();
if (len == x) /* nothing to do */
return 0;
- if ((len - x) % 2 != 0) {
+ if ((len - x) % 2 != 0) {
/* Currupt or hostile pickle -- we never write one like this. */
PyErr_SetString(UnpicklingError, "odd number of items for SETITEMS");
return -1;
@@ -5056,6 +5062,7 @@ load_build(UnpicklerObject *self)
PyObject *state, *inst, *slotstate;
PyObject *setstate;
int status = 0;
+ _Py_IDENTIFIER(__setstate__);
/* Stack is ... instance, state. We want to leave instance at
* the stack top, possibly mutated via instance.__setstate__(state).
@@ -5069,7 +5076,7 @@ load_build(UnpicklerObject *self)
inst = self->stack->data[Py_SIZE(self->stack) - 1];
- setstate = PyObject_GetAttrString(inst, "__setstate__");
+ setstate = _PyObject_GetAttrId(inst, &PyId___setstate__);
if (setstate == NULL) {
if (PyErr_ExceptionMatches(PyExc_AttributeError))
PyErr_Clear();
@@ -5112,12 +5119,13 @@ load_build(UnpicklerObject *self)
PyObject *dict;
PyObject *d_key, *d_value;
Py_ssize_t i;
+ _Py_IDENTIFIER(__dict__);
if (!PyDict_Check(state)) {
PyErr_SetString(UnpicklingError, "state is not a dictionary");
goto error;
}
- dict = PyObject_GetAttrString(inst, "__dict__");
+ dict = _PyObject_GetAttrId(inst, &PyId___dict__);
if (dict == NULL)
goto error;
@@ -5372,7 +5380,7 @@ Unpickler_load(UnpicklerObject *self)
not call Unpickler.__init__(). Here, we simply ensure that self->read
is not NULL. */
if (self->read == NULL) {
- PyErr_Format(UnpicklingError,
+ PyErr_Format(UnpicklingError,
"Unpickler.__init__() was not called by %s.__init__()",
Py_TYPE(self)->tp_name);
return NULL;
@@ -5474,7 +5482,7 @@ Unpickler_find_class(UnpicklerObject *self, PyObject *args)
global = PyObject_GetAttr(module, global_name);
Py_DECREF(module);
}
- else {
+ else {
global = PyObject_GetAttr(module, global_name);
}
return global;
@@ -5582,6 +5590,7 @@ Unpickler_init(UnpicklerObject *self, PyObject *args, PyObject *kwds)
PyObject *fix_imports = Py_True;
char *encoding = NULL;
char *errors = NULL;
+ _Py_IDENTIFIER(persistent_load);
/* XXX: That is an horrible error message. But, I don't know how to do
better... */
@@ -5616,9 +5625,9 @@ Unpickler_init(UnpicklerObject *self, PyObject *args, PyObject *kwds)
if (self->fix_imports == -1)
return -1;
- if (PyObject_HasAttrString((PyObject *)self, "persistent_load")) {
- self->pers_func = PyObject_GetAttrString((PyObject *)self,
- "persistent_load");
+ if (_PyObject_HasAttrId((PyObject *)self, &PyId_persistent_load)) {
+ self->pers_func = _PyObject_GetAttrId((PyObject *)self,
+ &PyId_persistent_load);
if (self->pers_func == NULL)
return -1;
}
@@ -5651,7 +5660,7 @@ Unpickler_init(UnpicklerObject *self, PyObject *args, PyObject *kwds)
* intentional, as these should be treated as black-box implementation details.
*
* We do, however, have to implement pickling/unpickling support because of
- * real-world code like cvs2svn.
+ * real-world code like cvs2svn.
*/
typedef struct {
diff --git a/Modules/_posixsubprocess.c b/Modules/_posixsubprocess.c
index e8aedeb..603fd91 100644
--- a/Modules/_posixsubprocess.c
+++ b/Modules/_posixsubprocess.c
@@ -18,7 +18,9 @@ static long max_fd;
static int _enable_gc(PyObject *gc_module)
{
PyObject *result;
- result = PyObject_CallMethod(gc_module, "enable", NULL);
+ _Py_IDENTIFIER(enable);
+
+ result = _PyObject_CallMethodId(gc_module, &PyId_enable, NULL);
if (result == NULL)
return 1;
Py_DECREF(result);
@@ -249,10 +251,13 @@ subprocess_fork_exec(PyObject* self, PyObject *args)
/* We need to call gc.disable() when we'll be calling preexec_fn */
if (preexec_fn != Py_None) {
PyObject *result;
+ _Py_IDENTIFIER(isenabled);
+ _Py_IDENTIFIER(disable);
+
gc_module = PyImport_ImportModule("gc");
if (gc_module == NULL)
return NULL;
- result = PyObject_CallMethod(gc_module, "isenabled", NULL);
+ result = _PyObject_CallMethodId(gc_module, &PyId_isenabled, NULL);
if (result == NULL) {
Py_DECREF(gc_module);
return NULL;
@@ -263,7 +268,7 @@ subprocess_fork_exec(PyObject* self, PyObject *args)
Py_DECREF(gc_module);
return NULL;
}
- result = PyObject_CallMethod(gc_module, "disable", NULL);
+ result = _PyObject_CallMethodId(gc_module, &PyId_disable, NULL);
if (result == NULL) {
Py_DECREF(gc_module);
return NULL;
diff --git a/Modules/_sqlite/cache.c b/Modules/_sqlite/cache.c
index 735a242..3693363 100644
--- a/Modules/_sqlite/cache.c
+++ b/Modules/_sqlite/cache.c
@@ -217,8 +217,6 @@ PyObject* pysqlite_cache_display(pysqlite_Cache* self, PyObject* args)
pysqlite_Node* ptr;
PyObject* prevkey;
PyObject* nextkey;
- PyObject* fmt_args;
- PyObject* template;
PyObject* display_str;
ptr = self->first;
@@ -229,36 +227,21 @@ PyObject* pysqlite_cache_display(pysqlite_Cache* self, PyObject* args)
} else {
prevkey = Py_None;
}
- Py_INCREF(prevkey);
if (ptr->next) {
nextkey = ptr->next->key;
} else {
nextkey = Py_None;
}
- Py_INCREF(nextkey);
- fmt_args = Py_BuildValue("OOO", prevkey, ptr->key, nextkey);
- if (!fmt_args) {
- return NULL;
- }
- template = PyUnicode_FromString("%s <- %s ->%s\n");
- if (!template) {
- Py_DECREF(fmt_args);
- return NULL;
- }
- display_str = PyUnicode_Format(template, fmt_args);
- Py_DECREF(template);
- Py_DECREF(fmt_args);
+ display_str = PyUnicode_FromFormat("%S <- %S -> %S\n",
+ prevkey, ptr->key, nextkey);
if (!display_str) {
return NULL;
}
PyObject_Print(display_str, stdout, Py_PRINT_RAW);
Py_DECREF(display_str);
- Py_DECREF(prevkey);
- Py_DECREF(nextkey);
-
ptr = ptr->next;
}
diff --git a/Modules/_sqlite/connection.c b/Modules/_sqlite/connection.c
index 7d12d5e..5cbf418 100644
--- a/Modules/_sqlite/connection.c
+++ b/Modules/_sqlite/connection.c
@@ -675,7 +675,7 @@ void _pysqlite_final_callback(sqlite3_context* context)
{
PyObject* function_result = NULL;
PyObject** aggregate_instance;
- PyObject* aggregate_class;
+ _Py_IDENTIFIER(finalize);
#ifdef WITH_THREAD
PyGILState_STATE threadstate;
@@ -683,8 +683,6 @@ void _pysqlite_final_callback(sqlite3_context* context)
threadstate = PyGILState_Ensure();
#endif
- aggregate_class = (PyObject*)sqlite3_user_data(context);
-
aggregate_instance = (PyObject**)sqlite3_aggregate_context(context, sizeof(PyObject*));
if (!*aggregate_instance) {
/* this branch is executed if there was an exception in the aggregate's
@@ -693,7 +691,7 @@ void _pysqlite_final_callback(sqlite3_context* context)
goto error;
}
- function_result = PyObject_CallMethod(*aggregate_instance, "finalize", "");
+ function_result = _PyObject_CallMethodId(*aggregate_instance, &PyId_finalize, "");
if (!function_result) {
if (_enable_callback_tracebacks) {
PyErr_Print();
@@ -909,6 +907,38 @@ static int _progress_handler(void* user_arg)
return rc;
}
+static void _trace_callback(void* user_arg, const char* statement_string)
+{
+ PyObject *py_statement = NULL;
+ PyObject *ret = NULL;
+
+#ifdef WITH_THREAD
+ PyGILState_STATE gilstate;
+
+ gilstate = PyGILState_Ensure();
+#endif
+ py_statement = PyUnicode_DecodeUTF8(statement_string,
+ strlen(statement_string), "replace");
+ if (py_statement) {
+ ret = PyObject_CallFunctionObjArgs((PyObject*)user_arg, py_statement, NULL);
+ Py_DECREF(py_statement);
+ }
+
+ if (ret) {
+ Py_DECREF(ret);
+ } else {
+ if (_enable_callback_tracebacks) {
+ PyErr_Print();
+ } else {
+ PyErr_Clear();
+ }
+ }
+
+#ifdef WITH_THREAD
+ PyGILState_Release(gilstate);
+#endif
+}
+
static PyObject* pysqlite_connection_set_authorizer(pysqlite_Connection* self, PyObject* args, PyObject* kwargs)
{
PyObject* authorizer_cb;
@@ -968,6 +998,34 @@ static PyObject* pysqlite_connection_set_progress_handler(pysqlite_Connection* s
return Py_None;
}
+static PyObject* pysqlite_connection_set_trace_callback(pysqlite_Connection* self, PyObject* args, PyObject* kwargs)
+{
+ PyObject* trace_callback;
+
+ static char *kwlist[] = { "trace_callback", NULL };
+
+ if (!pysqlite_check_thread(self) || !pysqlite_check_connection(self)) {
+ return NULL;
+ }
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:set_trace_callback",
+ kwlist, &trace_callback)) {
+ return NULL;
+ }
+
+ if (trace_callback == Py_None) {
+ /* None clears the trace callback previously set */
+ sqlite3_trace(self->db, 0, (void*)0);
+ } else {
+ if (PyDict_SetItem(self->function_pinboard, trace_callback, Py_None) == -1)
+ return NULL;
+ sqlite3_trace(self->db, _trace_callback, trace_callback);
+ }
+
+ Py_INCREF(Py_None);
+ return Py_None;
+}
+
#ifdef HAVE_LOAD_EXTENSION
static PyObject* pysqlite_enable_load_extension(pysqlite_Connection* self, PyObject* args)
{
@@ -1173,8 +1231,9 @@ PyObject* pysqlite_connection_execute(pysqlite_Connection* self, PyObject* args,
PyObject* cursor = 0;
PyObject* result = 0;
PyObject* method = 0;
+ _Py_IDENTIFIER(cursor);
- cursor = PyObject_CallMethod((PyObject*)self, "cursor", "");
+ cursor = _PyObject_CallMethodId((PyObject*)self, &PyId_cursor, "");
if (!cursor) {
goto error;
}
@@ -1202,8 +1261,9 @@ PyObject* pysqlite_connection_executemany(pysqlite_Connection* self, PyObject* a
PyObject* cursor = 0;
PyObject* result = 0;
PyObject* method = 0;
+ _Py_IDENTIFIER(cursor);
- cursor = PyObject_CallMethod((PyObject*)self, "cursor", "");
+ cursor = _PyObject_CallMethodId((PyObject*)self, &PyId_cursor, "");
if (!cursor) {
goto error;
}
@@ -1231,8 +1291,9 @@ PyObject* pysqlite_connection_executescript(pysqlite_Connection* self, PyObject*
PyObject* cursor = 0;
PyObject* result = 0;
PyObject* method = 0;
+ _Py_IDENTIFIER(cursor);
- cursor = PyObject_CallMethod((PyObject*)self, "cursor", "");
+ cursor = _PyObject_CallMethodId((PyObject*)self, &PyId_cursor, "");
if (!cursor) {
goto error;
}
@@ -1379,10 +1440,12 @@ pysqlite_connection_create_collation(pysqlite_Connection* self, PyObject* args)
PyObject* uppercase_name = 0;
PyObject* name;
PyObject* retval;
- Py_UNICODE* chk;
Py_ssize_t i, len;
+ _Py_IDENTIFIER(upper);
char *uppercase_name_str;
int rc;
+ unsigned int kind;
+ void *data;
if (!pysqlite_check_thread(self) || !pysqlite_check_connection(self)) {
goto finally;
@@ -1392,17 +1455,21 @@ pysqlite_connection_create_collation(pysqlite_Connection* self, PyObject* args)
goto finally;
}
- uppercase_name = PyObject_CallMethod(name, "upper", "");
+ uppercase_name = _PyObject_CallMethodId(name, &PyId_upper, "");
if (!uppercase_name) {
goto finally;
}
- len = PyUnicode_GET_SIZE(uppercase_name);
- chk = PyUnicode_AS_UNICODE(uppercase_name);
- for (i=0; i<len; i++, chk++) {
- if ((*chk >= '0' && *chk <= '9')
- || (*chk >= 'A' && *chk <= 'Z')
- || (*chk == '_'))
+ if (PyUnicode_READY(uppercase_name))
+ goto finally;
+ len = PyUnicode_GET_LENGTH(uppercase_name);
+ kind = PyUnicode_KIND(uppercase_name);
+ data = PyUnicode_DATA(uppercase_name);
+ for (i=0; i<len; i++) {
+ Py_UCS4 ch = PyUnicode_READ(kind, data, i);
+ if ((ch >= '0' && ch <= '9')
+ || (ch >= 'A' && ch <= 'Z')
+ || (ch == '_'))
{
continue;
} else {
@@ -1521,6 +1588,8 @@ static PyMethodDef connection_methods[] = {
#endif
{"set_progress_handler", (PyCFunction)pysqlite_connection_set_progress_handler, METH_VARARGS|METH_KEYWORDS,
PyDoc_STR("Sets progress handler callback. Non-standard.")},
+ {"set_trace_callback", (PyCFunction)pysqlite_connection_set_trace_callback, METH_VARARGS|METH_KEYWORDS,
+ PyDoc_STR("Sets a trace callback called for each SQL statement (passed as unicode). Non-standard.")},
{"execute", (PyCFunction)pysqlite_connection_execute, METH_VARARGS,
PyDoc_STR("Executes a SQL statement. Non-standard.")},
{"executemany", (PyCFunction)pysqlite_connection_executemany, METH_VARARGS,
diff --git a/Modules/_sqlite/cursor.c b/Modules/_sqlite/cursor.c
index b9a4358..75ee73a 100644
--- a/Modules/_sqlite/cursor.c
+++ b/Modules/_sqlite/cursor.c
@@ -126,11 +126,9 @@ static int pysqlite_cursor_init(pysqlite_Cursor* self, PyObject* args, PyObject*
static void pysqlite_cursor_dealloc(pysqlite_Cursor* self)
{
- int rc;
-
/* Reset the statement if the user has not closed the cursor */
if (self->statement) {
- rc = pysqlite_statement_reset(self->statement);
+ pysqlite_statement_reset(self->statement);
Py_DECREF(self->statement);
}
@@ -152,8 +150,9 @@ PyObject* _pysqlite_get_converter(PyObject* key)
{
PyObject* upcase_key;
PyObject* retval;
+ _Py_IDENTIFIER(upper);
- upcase_key = PyObject_CallMethod(key, "upper", "");
+ upcase_key = _PyObject_CallMethodId(key, &PyId_upper, "");
if (!upcase_key) {
return NULL;
}
@@ -432,9 +431,14 @@ static int check_cursor(pysqlite_Cursor* cur)
if (cur->closed) {
PyErr_SetString(pysqlite_ProgrammingError, "Cannot operate on a closed cursor.");
return 0;
- } else {
- return pysqlite_check_thread(cur->connection) && pysqlite_check_connection(cur->connection);
}
+
+ if (cur->locked) {
+ PyErr_SetString(pysqlite_ProgrammingError, "Recursive use of cursors not allowed.");
+ return 0;
+ }
+
+ return pysqlite_check_thread(cur->connection) && pysqlite_check_connection(cur->connection);
}
PyObject* _pysqlite_query_execute(pysqlite_Cursor* self, int multiple, PyObject* args)
@@ -457,9 +461,10 @@ PyObject* _pysqlite_query_execute(pysqlite_Cursor* self, int multiple, PyObject*
int allow_8bit_chars;
if (!check_cursor(self)) {
- return NULL;
+ goto error;
}
+ self->locked = 1;
self->reset = 0;
/* Make shooting yourself in the foot with not utf-8 decodable 8-bit-strings harder */
@@ -472,12 +477,12 @@ PyObject* _pysqlite_query_execute(pysqlite_Cursor* self, int multiple, PyObject*
if (multiple) {
/* executemany() */
if (!PyArg_ParseTuple(args, "OO", &operation, &second_argument)) {
- return NULL;
+ goto error;
}
if (!PyUnicode_Check(operation)) {
PyErr_SetString(PyExc_ValueError, "operation parameter must be str");
- return NULL;
+ goto error;
}
if (PyIter_Check(second_argument)) {
@@ -488,23 +493,23 @@ PyObject* _pysqlite_query_execute(pysqlite_Cursor* self, int multiple, PyObject*
/* sequence */
parameters_iter = PyObject_GetIter(second_argument);
if (!parameters_iter) {
- return NULL;
+ goto error;
}
}
} else {
/* execute() */
if (!PyArg_ParseTuple(args, "O|O", &operation, &second_argument)) {
- return NULL;
+ goto error;
}
if (!PyUnicode_Check(operation)) {
PyErr_SetString(PyExc_ValueError, "operation parameter must be str");
- return NULL;
+ goto error;
}
parameters_list = PyList_New(0);
if (!parameters_list) {
- return NULL;
+ goto error;
}
if (second_argument == NULL) {
@@ -529,7 +534,7 @@ PyObject* _pysqlite_query_execute(pysqlite_Cursor* self, int multiple, PyObject*
if (self->statement != NULL) {
/* There is an active statement */
- rc = pysqlite_statement_reset(self->statement);
+ pysqlite_statement_reset(self->statement);
}
operation_cstr = _PyUnicode_AsStringAndSize(operation, &operation_len);
@@ -734,7 +739,7 @@ PyObject* _pysqlite_query_execute(pysqlite_Cursor* self, int multiple, PyObject*
}
if (multiple) {
- rc = pysqlite_statement_reset(self->statement);
+ pysqlite_statement_reset(self->statement);
}
Py_XDECREF(parameters);
}
@@ -744,7 +749,8 @@ error:
* ROLLBACK could have happened */
#ifdef SQLITE_VERSION_NUMBER
#if SQLITE_VERSION_NUMBER >= 3002002
- self->connection->inTransaction = !sqlite3_get_autocommit(self->connection->db);
+ if (self->connection && self->connection->db)
+ self->connection->inTransaction = !sqlite3_get_autocommit(self->connection->db);
#endif
#endif
@@ -752,6 +758,8 @@ error:
Py_XDECREF(parameters_iter);
Py_XDECREF(parameters_list);
+ self->locked = 0;
+
if (PyErr_Occurred()) {
self->rowcount = -1L;
return NULL;
diff --git a/Modules/_sqlite/cursor.h b/Modules/_sqlite/cursor.h
index 5d8b5c1..118ba38 100644
--- a/Modules/_sqlite/cursor.h
+++ b/Modules/_sqlite/cursor.h
@@ -42,6 +42,7 @@ typedef struct
pysqlite_Statement* statement;
int closed;
int reset;
+ int locked;
int initialized;
/* the next row to be returned, NULL if no next row available */
diff --git a/Modules/_sqlite/microprotocols.c b/Modules/_sqlite/microprotocols.c
index c730afa..2261b80 100644
--- a/Modules/_sqlite/microprotocols.c
+++ b/Modules/_sqlite/microprotocols.c
@@ -95,7 +95,9 @@ pysqlite_microprotocols_adapt(PyObject *obj, PyObject *proto, PyObject *alt)
/* try to have the protocol adapt this object*/
if (PyObject_HasAttrString(proto, "__adapt__")) {
- PyObject *adapted = PyObject_CallMethod(proto, "__adapt__", "O", obj);
+ _Py_IDENTIFIER(__adapt__);
+ PyObject *adapted = _PyObject_CallMethodId(proto, &PyId___adapt__, "O", obj);
+
if (adapted) {
if (adapted != Py_None) {
return adapted;
@@ -110,7 +112,9 @@ pysqlite_microprotocols_adapt(PyObject *obj, PyObject *proto, PyObject *alt)
/* and finally try to have the object adapt itself */
if (PyObject_HasAttrString(obj, "__conform__")) {
- PyObject *adapted = PyObject_CallMethod(obj, "__conform__","O", proto);
+ _Py_IDENTIFIER(__conform__);
+ PyObject *adapted = _PyObject_CallMethodId(obj, &PyId___conform__,"O", proto);
+
if (adapted) {
if (adapted != Py_None) {
return adapted;
diff --git a/Modules/_sqlite/module.c b/Modules/_sqlite/module.c
index cbc3b8e..406d787 100644
--- a/Modules/_sqlite/module.c
+++ b/Modules/_sqlite/module.c
@@ -179,13 +179,14 @@ static PyObject* module_register_converter(PyObject* self, PyObject* args)
PyObject* name = NULL;
PyObject* callable;
PyObject* retval = NULL;
+ _Py_IDENTIFIER(upper);
if (!PyArg_ParseTuple(args, "UO", &orig_name, &callable)) {
return NULL;
}
/* convert the name to upper case */
- name = PyObject_CallMethod(orig_name, "upper", "");
+ name = _PyObject_CallMethodId(orig_name, &PyId_upper, "");
if (!name) {
goto error;
}
diff --git a/Modules/_sqlite/row.c b/Modules/_sqlite/row.c
index 3d44094..b50658c 100644
--- a/Modules/_sqlite/row.c
+++ b/Modules/_sqlite/row.c
@@ -173,10 +173,9 @@ static Py_hash_t pysqlite_row_hash(pysqlite_Row *self)
static PyObject* pysqlite_row_richcompare(pysqlite_Row *self, PyObject *_other, int opid)
{
- if (opid != Py_EQ && opid != Py_NE) {
- Py_INCREF(Py_NotImplemented);
- return Py_NotImplemented;
- }
+ if (opid != Py_EQ && opid != Py_NE)
+ Py_RETURN_NOTIMPLEMENTED;
+
if (PyType_IsSubtype(Py_TYPE(_other), &pysqlite_RowType)) {
pysqlite_Row *other = (pysqlite_Row *)_other;
PyObject *res = PyObject_RichCompare(self->description, other->description, opid);
@@ -186,8 +185,7 @@ static PyObject* pysqlite_row_richcompare(pysqlite_Row *self, PyObject *_other,
return PyObject_RichCompare(self->data, other->data, opid);
}
}
- Py_INCREF(Py_NotImplemented);
- return Py_NotImplemented;
+ Py_RETURN_NOTIMPLEMENTED;
}
PyMappingMethods pysqlite_row_as_mapping = {
diff --git a/Modules/_sqlite/statement.c b/Modules/_sqlite/statement.c
index f89fc9a..4e039c1 100644
--- a/Modules/_sqlite/statement.c
+++ b/Modules/_sqlite/statement.c
@@ -369,11 +369,9 @@ void pysqlite_statement_mark_dirty(pysqlite_Statement* self)
void pysqlite_statement_dealloc(pysqlite_Statement* self)
{
- int rc;
-
if (self->st) {
Py_BEGIN_ALLOW_THREADS
- rc = sqlite3_finalize(self->st);
+ sqlite3_finalize(self->st);
Py_END_ALLOW_THREADS
}
diff --git a/Modules/_sre.c b/Modules/_sre.c
index a363de2..0069d82 100644
--- a/Modules/_sre.c
+++ b/Modules/_sre.c
@@ -163,21 +163,17 @@ static unsigned int sre_lower_locale(unsigned int ch)
/* unicode-specific character predicates */
-#if defined(HAVE_UNICODE)
-
-#define SRE_UNI_IS_DIGIT(ch) Py_UNICODE_ISDECIMAL((Py_UNICODE)(ch))
-#define SRE_UNI_IS_SPACE(ch) Py_UNICODE_ISSPACE((Py_UNICODE)(ch))
-#define SRE_UNI_IS_LINEBREAK(ch) Py_UNICODE_ISLINEBREAK((Py_UNICODE)(ch))
-#define SRE_UNI_IS_ALNUM(ch) Py_UNICODE_ISALNUM((Py_UNICODE)(ch))
-#define SRE_UNI_IS_WORD(ch) (SRE_UNI_IS_ALNUM((ch)) || (ch) == '_')
+#define SRE_UNI_IS_DIGIT(ch) Py_UNICODE_ISDECIMAL(ch)
+#define SRE_UNI_IS_SPACE(ch) Py_UNICODE_ISSPACE(ch)
+#define SRE_UNI_IS_LINEBREAK(ch) Py_UNICODE_ISLINEBREAK(ch)
+#define SRE_UNI_IS_ALNUM(ch) Py_UNICODE_ISALNUM(ch)
+#define SRE_UNI_IS_WORD(ch) (SRE_UNI_IS_ALNUM(ch) || (ch) == '_')
static unsigned int sre_lower_unicode(unsigned int ch)
{
- return (unsigned int) Py_UNICODE_TOLOWER((Py_UNICODE)(ch));
+ return (unsigned int) Py_UNICODE_TOLOWER(ch);
}
-#endif
-
LOCAL(int)
sre_category(SRE_CODE category, unsigned int ch)
{
@@ -205,7 +201,6 @@ sre_category(SRE_CODE category, unsigned int ch)
case SRE_CATEGORY_LOC_NOT_WORD:
return !SRE_LOC_IS_WORD(ch);
-#if defined(HAVE_UNICODE)
case SRE_CATEGORY_UNI_DIGIT:
return SRE_UNI_IS_DIGIT(ch);
case SRE_CATEGORY_UNI_NOT_DIGIT:
@@ -222,24 +217,6 @@ sre_category(SRE_CODE category, unsigned int ch)
return SRE_UNI_IS_LINEBREAK(ch);
case SRE_CATEGORY_UNI_NOT_LINEBREAK:
return !SRE_UNI_IS_LINEBREAK(ch);
-#else
- case SRE_CATEGORY_UNI_DIGIT:
- return SRE_IS_DIGIT(ch);
- case SRE_CATEGORY_UNI_NOT_DIGIT:
- return !SRE_IS_DIGIT(ch);
- case SRE_CATEGORY_UNI_SPACE:
- return SRE_IS_SPACE(ch);
- case SRE_CATEGORY_UNI_NOT_SPACE:
- return !SRE_IS_SPACE(ch);
- case SRE_CATEGORY_UNI_WORD:
- return SRE_LOC_IS_WORD(ch);
- case SRE_CATEGORY_UNI_NOT_WORD:
- return !SRE_LOC_IS_WORD(ch);
- case SRE_CATEGORY_UNI_LINEBREAK:
- return SRE_IS_LINEBREAK(ch);
- case SRE_CATEGORY_UNI_NOT_LINEBREAK:
- return !SRE_IS_LINEBREAK(ch);
-#endif
}
return 0;
}
@@ -280,6 +257,7 @@ data_stack_grow(SRE_STATE* state, Py_ssize_t size)
/* generate 8-bit version */
#define SRE_CHAR unsigned char
+#define SRE_CHARGET(state, buf, index) ((unsigned char*)buf)[index]
#define SRE_AT sre_at
#define SRE_COUNT sre_count
#define SRE_CHARSET sre_charset
@@ -287,15 +265,11 @@ data_stack_grow(SRE_STATE* state, Py_ssize_t size)
#define SRE_MATCH sre_match
#define SRE_MATCH_CONTEXT sre_match_context
#define SRE_SEARCH sre_search
-#define SRE_LITERAL_TEMPLATE sre_literal_template
-
-#if defined(HAVE_UNICODE)
#define SRE_RECURSIVE
#include "_sre.c"
#undef SRE_RECURSIVE
-#undef SRE_LITERAL_TEMPLATE
#undef SRE_SEARCH
#undef SRE_MATCH
#undef SRE_MATCH_CONTEXT
@@ -304,10 +278,15 @@ data_stack_grow(SRE_STATE* state, Py_ssize_t size)
#undef SRE_COUNT
#undef SRE_AT
#undef SRE_CHAR
+#undef SRE_CHARGET
-/* generate 16-bit unicode version */
+/* generate 8/16/32-bit unicode version */
-#define SRE_CHAR Py_UNICODE
+#define SRE_CHAR void
+#define SRE_CHARGET(state, buf, index) \
+ ((state->charsize==1) ? ((Py_UCS1*)buf)[index] : \
+ (state->charsize==2) ? ((Py_UCS2*)buf)[index] : \
+ ((Py_UCS4*)buf)[index])
#define SRE_AT sre_uat
#define SRE_COUNT sre_ucount
#define SRE_CHARSET sre_ucharset
@@ -315,8 +294,6 @@ data_stack_grow(SRE_STATE* state, Py_ssize_t size)
#define SRE_MATCH sre_umatch
#define SRE_MATCH_CONTEXT sre_umatch_context
#define SRE_SEARCH sre_usearch
-#define SRE_LITERAL_TEMPLATE sre_uliteral_template
-#endif
#endif /* SRE_RECURSIVE */
@@ -327,7 +304,7 @@ data_stack_grow(SRE_STATE* state, Py_ssize_t size)
settings */
LOCAL(int)
-SRE_AT(SRE_STATE* state, SRE_CHAR* ptr, SRE_CODE at)
+SRE_AT(SRE_STATE* state, char* ptr, SRE_CODE at)
{
/* check if pointer is at given position */
@@ -341,16 +318,16 @@ SRE_AT(SRE_STATE* state, SRE_CHAR* ptr, SRE_CODE at)
case SRE_AT_BEGINNING_LINE:
return ((void*) ptr == state->beginning ||
- SRE_IS_LINEBREAK((int) ptr[-1]));
+ SRE_IS_LINEBREAK((int) SRE_CHARGET(state, ptr, -1)));
case SRE_AT_END:
- return (((void*) (ptr+1) == state->end &&
- SRE_IS_LINEBREAK((int) ptr[0])) ||
+ return (((void*) (ptr+state->charsize) == state->end &&
+ SRE_IS_LINEBREAK((int) SRE_CHARGET(state, ptr, 0))) ||
((void*) ptr == state->end));
case SRE_AT_END_LINE:
return ((void*) ptr == state->end ||
- SRE_IS_LINEBREAK((int) ptr[0]));
+ SRE_IS_LINEBREAK((int) SRE_CHARGET(state, ptr, 0)));
case SRE_AT_END_STRING:
return ((void*) ptr == state->end);
@@ -359,57 +336,55 @@ SRE_AT(SRE_STATE* state, SRE_CHAR* ptr, SRE_CODE at)
if (state->beginning == state->end)
return 0;
thatp = ((void*) ptr > state->beginning) ?
- SRE_IS_WORD((int) ptr[-1]) : 0;
+ SRE_IS_WORD((int) SRE_CHARGET(state, ptr, -1)) : 0;
thisp = ((void*) ptr < state->end) ?
- SRE_IS_WORD((int) ptr[0]) : 0;
+ SRE_IS_WORD((int) SRE_CHARGET(state, ptr, 0)) : 0;
return thisp != thatp;
case SRE_AT_NON_BOUNDARY:
if (state->beginning == state->end)
return 0;
thatp = ((void*) ptr > state->beginning) ?
- SRE_IS_WORD((int) ptr[-1]) : 0;
+ SRE_IS_WORD((int) SRE_CHARGET(state, ptr, -1)) : 0;
thisp = ((void*) ptr < state->end) ?
- SRE_IS_WORD((int) ptr[0]) : 0;
+ SRE_IS_WORD((int) SRE_CHARGET(state, ptr, 0)) : 0;
return thisp == thatp;
case SRE_AT_LOC_BOUNDARY:
if (state->beginning == state->end)
return 0;
thatp = ((void*) ptr > state->beginning) ?
- SRE_LOC_IS_WORD((int) ptr[-1]) : 0;
+ SRE_LOC_IS_WORD((int) SRE_CHARGET(state, ptr, -1)) : 0;
thisp = ((void*) ptr < state->end) ?
- SRE_LOC_IS_WORD((int) ptr[0]) : 0;
+ SRE_LOC_IS_WORD((int) SRE_CHARGET(state, ptr, 0)) : 0;
return thisp != thatp;
case SRE_AT_LOC_NON_BOUNDARY:
if (state->beginning == state->end)
return 0;
thatp = ((void*) ptr > state->beginning) ?
- SRE_LOC_IS_WORD((int) ptr[-1]) : 0;
+ SRE_LOC_IS_WORD((int) SRE_CHARGET(state, ptr, -1)) : 0;
thisp = ((void*) ptr < state->end) ?
- SRE_LOC_IS_WORD((int) ptr[0]) : 0;
+ SRE_LOC_IS_WORD((int) SRE_CHARGET(state, ptr, 0)) : 0;
return thisp == thatp;
-#if defined(HAVE_UNICODE)
case SRE_AT_UNI_BOUNDARY:
if (state->beginning == state->end)
return 0;
thatp = ((void*) ptr > state->beginning) ?
- SRE_UNI_IS_WORD((int) ptr[-1]) : 0;
+ SRE_UNI_IS_WORD((int) SRE_CHARGET(state, ptr, -1)) : 0;
thisp = ((void*) ptr < state->end) ?
- SRE_UNI_IS_WORD((int) ptr[0]) : 0;
+ SRE_UNI_IS_WORD((int) SRE_CHARGET(state, ptr, 0)) : 0;
return thisp != thatp;
case SRE_AT_UNI_NON_BOUNDARY:
if (state->beginning == state->end)
return 0;
thatp = ((void*) ptr > state->beginning) ?
- SRE_UNI_IS_WORD((int) ptr[-1]) : 0;
+ SRE_UNI_IS_WORD((int) SRE_CHARGET(state, ptr, -1)) : 0;
thisp = ((void*) ptr < state->end) ?
- SRE_UNI_IS_WORD((int) ptr[0]) : 0;
+ SRE_UNI_IS_WORD((int) SRE_CHARGET(state, ptr, 0)) : 0;
return thisp == thatp;
-#endif
}
@@ -476,7 +451,7 @@ SRE_CHARSET(SRE_CODE* set, SRE_CODE ch)
count = *(set++);
if (sizeof(SRE_CODE) == 2) {
- block = ((unsigned char*)set)[ch >> 8];
+ block = ((char*)set)[ch >> 8];
set += 128;
if (set[block*16 + ((ch & 255)>>4)] & (1 << (ch & 15)))
return ok;
@@ -486,7 +461,7 @@ SRE_CHARSET(SRE_CODE* set, SRE_CODE ch)
/* !(c & ~N) == (c < N+1) for any unsigned c, this avoids
* warnings when c's type supports only numbers < N+1 */
if (!(ch & ~65535))
- block = ((unsigned char*)set)[ch >> 8];
+ block = ((char*)set)[ch >> 8];
else
block = -1;
set += 64;
@@ -512,28 +487,29 @@ LOCAL(Py_ssize_t)
SRE_COUNT(SRE_STATE* state, SRE_CODE* pattern, Py_ssize_t maxcount)
{
SRE_CODE chr;
- SRE_CHAR* ptr = (SRE_CHAR *)state->ptr;
- SRE_CHAR* end = (SRE_CHAR *)state->end;
+ char* ptr = (char *)state->ptr;
+ char* end = (char *)state->end;
Py_ssize_t i;
/* adjust end */
if (maxcount < end - ptr && maxcount != 65535)
- end = ptr + maxcount;
+ end = ptr + maxcount*state->charsize;
switch (pattern[0]) {
case SRE_OP_IN:
/* repeated set */
TRACE(("|%p|%p|COUNT IN\n", pattern, ptr));
- while (ptr < end && SRE_CHARSET(pattern + 2, *ptr))
- ptr++;
+ while (ptr < end &&
+ SRE_CHARSET(pattern + 2, SRE_CHARGET(state, ptr, 0)))
+ ptr += state->charsize;
break;
case SRE_OP_ANY:
/* repeated dot wildcard. */
TRACE(("|%p|%p|COUNT ANY\n", pattern, ptr));
- while (ptr < end && !SRE_IS_LINEBREAK(*ptr))
- ptr++;
+ while (ptr < end && !SRE_IS_LINEBREAK(SRE_CHARGET(state, ptr, 0)))
+ ptr += state->charsize;
break;
case SRE_OP_ANY_ALL:
@@ -547,38 +523,38 @@ SRE_COUNT(SRE_STATE* state, SRE_CODE* pattern, Py_ssize_t maxcount)
/* repeated literal */
chr = pattern[1];
TRACE(("|%p|%p|COUNT LITERAL %d\n", pattern, ptr, chr));
- while (ptr < end && (SRE_CODE) *ptr == chr)
- ptr++;
+ while (ptr < end && (SRE_CODE) SRE_CHARGET(state, ptr, 0) == chr)
+ ptr += state->charsize;
break;
case SRE_OP_LITERAL_IGNORE:
/* repeated literal */
chr = pattern[1];
TRACE(("|%p|%p|COUNT LITERAL_IGNORE %d\n", pattern, ptr, chr));
- while (ptr < end && (SRE_CODE) state->lower(*ptr) == chr)
- ptr++;
+ while (ptr < end && (SRE_CODE) state->lower(SRE_CHARGET(state, ptr, 0)) == chr)
+ ptr += state->charsize;
break;
case SRE_OP_NOT_LITERAL:
/* repeated non-literal */
chr = pattern[1];
TRACE(("|%p|%p|COUNT NOT_LITERAL %d\n", pattern, ptr, chr));
- while (ptr < end && (SRE_CODE) *ptr != chr)
- ptr++;
+ while (ptr < end && (SRE_CODE) SRE_CHARGET(state, ptr, 0) != chr)
+ ptr += state->charsize;
break;
case SRE_OP_NOT_LITERAL_IGNORE:
/* repeated non-literal */
chr = pattern[1];
TRACE(("|%p|%p|COUNT NOT_LITERAL_IGNORE %d\n", pattern, ptr, chr));
- while (ptr < end && (SRE_CODE) state->lower(*ptr) != chr)
- ptr++;
+ while (ptr < end && (SRE_CODE) state->lower(SRE_CHARGET(state, ptr, 0)) != chr)
+ ptr += state->charsize;
break;
default:
/* repeated single character pattern */
TRACE(("|%p|%p|COUNT SUBPATTERN\n", pattern, ptr));
- while ((SRE_CHAR*) state->ptr < end) {
+ while ((char*) state->ptr < end) {
i = SRE_MATCH(state, pattern);
if (i < 0)
return i;
@@ -586,12 +562,12 @@ SRE_COUNT(SRE_STATE* state, SRE_CODE* pattern, Py_ssize_t maxcount)
break;
}
TRACE(("|%p|%p|COUNT %d\n", pattern, ptr,
- (SRE_CHAR*) state->ptr - ptr));
- return (SRE_CHAR*) state->ptr - ptr;
+ ((char*)state->ptr - ptr)/state->charsize));
+ return ((char*)state->ptr - ptr)/state->charsize;
}
- TRACE(("|%p|%p|COUNT %d\n", pattern, ptr, ptr - (SRE_CHAR*) state->ptr));
- return ptr - (SRE_CHAR*) state->ptr;
+ TRACE(("|%p|%p|COUNT %d\n", pattern, ptr, (ptr - (char*) state->ptr)/state->charsize));
+ return (ptr - (char*) state->ptr)/state->charsize;
}
#if 0 /* not used in this release */
@@ -602,8 +578,8 @@ SRE_INFO(SRE_STATE* state, SRE_CODE* pattern)
returns the number of SRE_CODE objects to skip if successful, 0
if no match */
- SRE_CHAR* end = state->end;
- SRE_CHAR* ptr = state->ptr;
+ char* end = state->end;
+ char* ptr = state->ptr;
Py_ssize_t i;
/* check minimal length */
@@ -614,7 +590,7 @@ SRE_INFO(SRE_STATE* state, SRE_CODE* pattern)
if (pattern[2] & SRE_INFO_PREFIX && pattern[5] > 1) {
/* <length> <skip> <prefix data> <overlap data> */
for (i = 0; i < pattern[5]; i++)
- if ((SRE_CODE) ptr[i] != pattern[7 + i])
+ if ((SRE_CODE) SRE_CHARGET(state, ptr, i) != pattern[7 + i])
return 0;
return pattern[0] + 2 * pattern[6];
}
@@ -783,7 +759,7 @@ do { \
typedef struct {
Py_ssize_t last_ctx_pos;
Py_ssize_t jump;
- SRE_CHAR* ptr;
+ char* ptr;
SRE_CODE* pattern;
Py_ssize_t count;
Py_ssize_t lastmark;
@@ -799,7 +775,7 @@ typedef struct {
LOCAL(Py_ssize_t)
SRE_MATCH(SRE_STATE* state, SRE_CODE* pattern)
{
- SRE_CHAR* end = (SRE_CHAR *)state->end;
+ char* end = (char*)state->end;
Py_ssize_t alloc_pos, ctx_pos = -1;
Py_ssize_t i, ret = 0;
Py_ssize_t jump;
@@ -818,12 +794,12 @@ SRE_MATCH(SRE_STATE* state, SRE_CODE* pattern)
entrance:
- ctx->ptr = (SRE_CHAR *)state->ptr;
+ ctx->ptr = (char *)state->ptr;
if (ctx->pattern[0] == SRE_OP_INFO) {
/* optimization info block */
/* <INFO> <1=skip> <2=flags> <3=min> ... */
- if (ctx->pattern[3] && (end - ctx->ptr) < ctx->pattern[3]) {
+ if (ctx->pattern[3] && (end - ctx->ptr)/state->charsize < ctx->pattern[3]) {
TRACE(("reject (got %d chars, need %d)\n",
(end - ctx->ptr), ctx->pattern[3]));
RETURN_FAILURE;
@@ -865,10 +841,10 @@ entrance:
/* <LITERAL> <code> */
TRACE(("|%p|%p|LITERAL %d\n", ctx->pattern,
ctx->ptr, *ctx->pattern));
- if (ctx->ptr >= end || (SRE_CODE) ctx->ptr[0] != ctx->pattern[0])
+ if (ctx->ptr >= end || (SRE_CODE) SRE_CHARGET(state, ctx->ptr, 0) != ctx->pattern[0])
RETURN_FAILURE;
ctx->pattern++;
- ctx->ptr++;
+ ctx->ptr += state->charsize;
break;
case SRE_OP_NOT_LITERAL:
@@ -876,10 +852,10 @@ entrance:
/* <NOT_LITERAL> <code> */
TRACE(("|%p|%p|NOT_LITERAL %d\n", ctx->pattern,
ctx->ptr, *ctx->pattern));
- if (ctx->ptr >= end || (SRE_CODE) ctx->ptr[0] == ctx->pattern[0])
+ if (ctx->ptr >= end || (SRE_CODE) SRE_CHARGET(state, ctx->ptr, 0) == ctx->pattern[0])
RETURN_FAILURE;
ctx->pattern++;
- ctx->ptr++;
+ ctx->ptr += state->charsize;
break;
case SRE_OP_SUCCESS:
@@ -902,19 +878,19 @@ entrance:
/* <CATEGORY> <code> */
TRACE(("|%p|%p|CATEGORY %d\n", ctx->pattern,
ctx->ptr, *ctx->pattern));
- if (ctx->ptr >= end || !sre_category(ctx->pattern[0], ctx->ptr[0]))
+ if (ctx->ptr >= end || !sre_category(ctx->pattern[0], SRE_CHARGET(state, ctx->ptr, 0)))
RETURN_FAILURE;
ctx->pattern++;
- ctx->ptr++;
+ ctx->ptr += state->charsize;
break;
case SRE_OP_ANY:
/* match anything (except a newline) */
/* <ANY> */
TRACE(("|%p|%p|ANY\n", ctx->pattern, ctx->ptr));
- if (ctx->ptr >= end || SRE_IS_LINEBREAK(ctx->ptr[0]))
- RETURN_FAILURE;
- ctx->ptr++;
+ if (ctx->ptr >= end || SRE_IS_LINEBREAK(SRE_CHARGET(state, ctx->ptr, 0)))
+ RETURN_FAILURE;
+ ctx->ptr += state->charsize;
break;
case SRE_OP_ANY_ALL:
@@ -923,47 +899,47 @@ entrance:
TRACE(("|%p|%p|ANY_ALL\n", ctx->pattern, ctx->ptr));
if (ctx->ptr >= end)
RETURN_FAILURE;
- ctx->ptr++;
+ ctx->ptr += state->charsize;
break;
case SRE_OP_IN:
/* match set member (or non_member) */
/* <IN> <skip> <set> */
TRACE(("|%p|%p|IN\n", ctx->pattern, ctx->ptr));
- if (ctx->ptr >= end || !SRE_CHARSET(ctx->pattern + 1, *ctx->ptr))
- RETURN_FAILURE;
+ if (ctx->ptr >= end || !SRE_CHARSET(ctx->pattern + 1, SRE_CHARGET(state, ctx->ptr, 0)))
+ RETURN_FAILURE;
ctx->pattern += ctx->pattern[0];
- ctx->ptr++;
+ ctx->ptr += state->charsize;
break;
case SRE_OP_LITERAL_IGNORE:
TRACE(("|%p|%p|LITERAL_IGNORE %d\n",
ctx->pattern, ctx->ptr, ctx->pattern[0]));
if (ctx->ptr >= end ||
- state->lower(*ctx->ptr) != state->lower(*ctx->pattern))
+ state->lower(SRE_CHARGET(state, ctx->ptr, 0)) != state->lower(*ctx->pattern))
RETURN_FAILURE;
ctx->pattern++;
- ctx->ptr++;
+ ctx->ptr += state->charsize;
break;
case SRE_OP_NOT_LITERAL_IGNORE:
TRACE(("|%p|%p|NOT_LITERAL_IGNORE %d\n",
ctx->pattern, ctx->ptr, *ctx->pattern));
if (ctx->ptr >= end ||
- state->lower(*ctx->ptr) == state->lower(*ctx->pattern))
+ state->lower(SRE_CHARGET(state, ctx->ptr, 0)) == state->lower(*ctx->pattern))
RETURN_FAILURE;
ctx->pattern++;
- ctx->ptr++;
+ ctx->ptr += state->charsize;
break;
case SRE_OP_IN_IGNORE:
TRACE(("|%p|%p|IN_IGNORE\n", ctx->pattern, ctx->ptr));
if (ctx->ptr >= end
|| !SRE_CHARSET(ctx->pattern+1,
- (SRE_CODE)state->lower(*ctx->ptr)))
+ (SRE_CODE)state->lower(SRE_CHARGET(state, ctx->ptr, 0))))
RETURN_FAILURE;
ctx->pattern += ctx->pattern[0];
- ctx->ptr++;
+ ctx->ptr += state->charsize;
break;
case SRE_OP_JUMP:
@@ -986,11 +962,11 @@ entrance:
for (; ctx->pattern[0]; ctx->pattern += ctx->pattern[0]) {
if (ctx->pattern[1] == SRE_OP_LITERAL &&
(ctx->ptr >= end ||
- (SRE_CODE) *ctx->ptr != ctx->pattern[2]))
+ (SRE_CODE) SRE_CHARGET(state, ctx->ptr, 0) != ctx->pattern[2]))
continue;
if (ctx->pattern[1] == SRE_OP_IN &&
(ctx->ptr >= end ||
- !SRE_CHARSET(ctx->pattern + 3, (SRE_CODE) *ctx->ptr)))
+ !SRE_CHARSET(ctx->pattern + 3, (SRE_CODE) SRE_CHARGET(state, ctx->ptr, 0))))
continue;
state->ptr = ctx->ptr;
DO_JUMP(JUMP_BRANCH, jump_branch, ctx->pattern+1);
@@ -1021,7 +997,7 @@ entrance:
TRACE(("|%p|%p|REPEAT_ONE %d %d\n", ctx->pattern, ctx->ptr,
ctx->pattern[1], ctx->pattern[2]));
- if (ctx->ptr + ctx->pattern[1] > end)
+ if (ctx->ptr + state->charsize * ctx->pattern[1] > end)
RETURN_FAILURE; /* cannot match */
state->ptr = ctx->ptr;
@@ -1030,7 +1006,7 @@ entrance:
RETURN_ON_ERROR(ret);
DATA_LOOKUP_AT(SRE_MATCH_CONTEXT, ctx, ctx_pos);
ctx->count = ret;
- ctx->ptr += ctx->count;
+ ctx->ptr += state->charsize * ctx->count;
/* when we arrive here, count contains the number of
matches, and ctx->ptr points to the tail of the target
@@ -1054,8 +1030,9 @@ entrance:
ctx->u.chr = ctx->pattern[ctx->pattern[0]+1];
for (;;) {
while (ctx->count >= (Py_ssize_t) ctx->pattern[1] &&
- (ctx->ptr >= end || *ctx->ptr != ctx->u.chr)) {
- ctx->ptr--;
+ (ctx->ptr >= end ||
+ SRE_CHARGET(state, ctx->ptr, 0) != ctx->u.chr)) {
+ ctx->ptr -= state->charsize;
ctx->count--;
}
if (ctx->count < (Py_ssize_t) ctx->pattern[1])
@@ -1070,7 +1047,7 @@ entrance:
LASTMARK_RESTORE();
- ctx->ptr--;
+ ctx->ptr -= state->charsize;
ctx->count--;
}
@@ -1084,7 +1061,7 @@ entrance:
RETURN_ON_ERROR(ret);
RETURN_SUCCESS;
}
- ctx->ptr--;
+ ctx->ptr -= state->charsize;
ctx->count--;
LASTMARK_RESTORE();
}
@@ -1104,7 +1081,7 @@ entrance:
TRACE(("|%p|%p|MIN_REPEAT_ONE %d %d\n", ctx->pattern, ctx->ptr,
ctx->pattern[1], ctx->pattern[2]));
- if (ctx->ptr + ctx->pattern[1] > end)
+ if (ctx->ptr + state->charsize * ctx->pattern[1] > end)
RETURN_FAILURE; /* cannot match */
state->ptr = ctx->ptr;
@@ -1121,7 +1098,7 @@ entrance:
RETURN_FAILURE;
/* advance past minimum matches of repeat */
ctx->count = ret;
- ctx->ptr += ctx->count;
+ ctx->ptr += state->charsize * ctx->count;
}
if (ctx->pattern[ctx->pattern[0]] == SRE_OP_SUCCESS) {
@@ -1148,7 +1125,7 @@ entrance:
if (ret == 0)
break;
assert(ret == 1);
- ctx->ptr++;
+ ctx->ptr += state->charsize;
ctx->count++;
LASTMARK_RESTORE();
}
@@ -1320,14 +1297,16 @@ entrance:
if (groupref >= state->lastmark) {
RETURN_FAILURE;
} else {
- SRE_CHAR* p = (SRE_CHAR*) state->mark[groupref];
- SRE_CHAR* e = (SRE_CHAR*) state->mark[groupref+1];
+ char* p = (char*) state->mark[groupref];
+ char* e = (char*) state->mark[groupref+1];
if (!p || !e || e < p)
RETURN_FAILURE;
while (p < e) {
- if (ctx->ptr >= end || *ctx->ptr != *p)
+ if (ctx->ptr >= end ||
+ SRE_CHARGET(state, ctx->ptr, 0) != SRE_CHARGET(state, p, 0))
RETURN_FAILURE;
- p++; ctx->ptr++;
+ p += state->charsize;
+ ctx->ptr += state->charsize;
}
}
}
@@ -1344,15 +1323,16 @@ entrance:
if (groupref >= state->lastmark) {
RETURN_FAILURE;
} else {
- SRE_CHAR* p = (SRE_CHAR*) state->mark[groupref];
- SRE_CHAR* e = (SRE_CHAR*) state->mark[groupref+1];
+ char* p = (char*) state->mark[groupref];
+ char* e = (char*) state->mark[groupref+1];
if (!p || !e || e < p)
RETURN_FAILURE;
while (p < e) {
if (ctx->ptr >= end ||
- state->lower(*ctx->ptr) != state->lower(*p))
+ state->lower(SRE_CHARGET(state, ctx->ptr, 0)) != state->lower(*p))
RETURN_FAILURE;
- p++; ctx->ptr++;
+ p++;
+ ctx->ptr += state->charsize;
}
}
}
@@ -1386,7 +1366,7 @@ entrance:
/* <ASSERT> <skip> <back> <pattern> */
TRACE(("|%p|%p|ASSERT %d\n", ctx->pattern,
ctx->ptr, ctx->pattern[1]));
- state->ptr = ctx->ptr - ctx->pattern[1];
+ state->ptr = ctx->ptr - state->charsize * ctx->pattern[1];
if (state->ptr < state->beginning)
RETURN_FAILURE;
DO_JUMP(JUMP_ASSERT, jump_assert, ctx->pattern+2);
@@ -1399,7 +1379,7 @@ entrance:
/* <ASSERT_NOT> <skip> <back> <pattern> */
TRACE(("|%p|%p|ASSERT_NOT %d\n", ctx->pattern,
ctx->ptr, ctx->pattern[1]));
- state->ptr = ctx->ptr - ctx->pattern[1];
+ state->ptr = ctx->ptr - state->charsize * ctx->pattern[1];
if (state->ptr >= state->beginning) {
DO_JUMP(JUMP_ASSERT_NOT, jump_assert_not, ctx->pattern+2);
if (ret) {
@@ -1481,8 +1461,8 @@ exit:
LOCAL(Py_ssize_t)
SRE_SEARCH(SRE_STATE* state, SRE_CODE* pattern)
{
- SRE_CHAR* ptr = (SRE_CHAR *)state->start;
- SRE_CHAR* end = (SRE_CHAR *)state->end;
+ char* ptr = (char*)state->start;
+ char* end = (char*)state->end;
Py_ssize_t status = 0;
Py_ssize_t prefix_len = 0;
Py_ssize_t prefix_skip = 0;
@@ -1500,9 +1480,9 @@ SRE_SEARCH(SRE_STATE* state, SRE_CODE* pattern)
if (pattern[3] > 1) {
/* adjust end point (but make sure we leave at least one
character in there, so literal search will work) */
- end -= pattern[3]-1;
+ end -= (pattern[3]-1) * state->charsize;
if (end <= ptr)
- end = ptr+1;
+ end = ptr + state->charsize;
}
if (flags & SRE_INFO_PREFIX) {
@@ -1528,10 +1508,10 @@ SRE_SEARCH(SRE_STATE* state, SRE_CODE* pattern)
/* pattern starts with a known prefix. use the overlap
table to skip forward as fast as we possibly can */
Py_ssize_t i = 0;
- end = (SRE_CHAR *)state->end;
+ end = (char *)state->end;
while (ptr < end) {
for (;;) {
- if ((SRE_CODE) ptr[0] != prefix[i]) {
+ if ((SRE_CODE) SRE_CHARGET(state, ptr, 0) != prefix[i]) {
if (!i)
break;
else
@@ -1540,8 +1520,8 @@ SRE_SEARCH(SRE_STATE* state, SRE_CODE* pattern)
if (++i == prefix_len) {
/* found a potential match */
TRACE(("|%p|%p|SEARCH SCAN\n", pattern, ptr));
- state->start = ptr + 1 - prefix_len;
- state->ptr = ptr + 1 - prefix_len + prefix_skip;
+ state->start = ptr - (prefix_len - 1) * state->charsize;
+ state->ptr = ptr - (prefix_len - prefix_skip - 1) * state->charsize;
if (flags & SRE_INFO_LITERAL)
return 1; /* we got all of it */
status = SRE_MATCH(state, pattern + 2*prefix_skip);
@@ -1553,7 +1533,7 @@ SRE_SEARCH(SRE_STATE* state, SRE_CODE* pattern)
break;
}
}
- ptr++;
+ ptr += state->charsize;
}
return 0;
}
@@ -1563,15 +1543,16 @@ SRE_SEARCH(SRE_STATE* state, SRE_CODE* pattern)
/* pattern starts with a literal character. this is used
for short prefixes, and if fast search is disabled */
SRE_CODE chr = pattern[1];
- end = (SRE_CHAR *)state->end;
+ end = (char*)state->end;
for (;;) {
- while (ptr < end && (SRE_CODE) ptr[0] != chr)
- ptr++;
+ while (ptr < end && (SRE_CODE) SRE_CHARGET(state, ptr, 0) != chr)
+ ptr += state->charsize;
if (ptr >= end)
return 0;
TRACE(("|%p|%p|SEARCH LITERAL\n", pattern, ptr));
state->start = ptr;
- state->ptr = ++ptr;
+ ptr += state->charsize;
+ state->ptr = ptr;
if (flags & SRE_INFO_LITERAL)
return 1; /* we got all of it */
status = SRE_MATCH(state, pattern + 2);
@@ -1580,10 +1561,10 @@ SRE_SEARCH(SRE_STATE* state, SRE_CODE* pattern)
}
} else if (charset) {
/* pattern starts with a character from a known set */
- end = (SRE_CHAR *)state->end;
+ end = (char*)state->end;
for (;;) {
- while (ptr < end && !SRE_CHARSET(charset, ptr[0]))
- ptr++;
+ while (ptr < end && !SRE_CHARSET(charset, SRE_CHARGET(state, ptr, 0)))
+ ptr += state->charsize;
if (ptr >= end)
return 0;
TRACE(("|%p|%p|SEARCH CHARSET\n", pattern, ptr));
@@ -1592,13 +1573,14 @@ SRE_SEARCH(SRE_STATE* state, SRE_CODE* pattern)
status = SRE_MATCH(state, pattern);
if (status != 0)
break;
- ptr++;
+ ptr += state->charsize;
}
} else
/* general case */
while (ptr <= end) {
TRACE(("|%p|%p|SEARCH\n", pattern, ptr));
- state->start = state->ptr = ptr++;
+ state->start = state->ptr = ptr;
+ ptr += state->charsize;
status = SRE_MATCH(state, pattern);
if (status != 0)
break;
@@ -1607,16 +1589,6 @@ SRE_SEARCH(SRE_STATE* state, SRE_CODE* pattern)
return status;
}
-LOCAL(int)
-SRE_LITERAL_TEMPLATE(SRE_CHAR* ptr, Py_ssize_t len)
-{
- /* check if given string is a literal template (i.e. no escapes) */
- while (len-- > 0)
- if (*ptr++ == '\\')
- return 0;
- return 1;
-}
-
#if !defined(SRE_RECURSIVE)
/* -------------------------------------------------------------------- */
@@ -1626,6 +1598,23 @@ SRE_LITERAL_TEMPLATE(SRE_CHAR* ptr, Py_ssize_t len)
static PyObject*pattern_new_match(PatternObject*, SRE_STATE*, int);
static PyObject*pattern_scanner(PatternObject*, PyObject*);
+static int
+sre_literal_template(int charsize, char* ptr, Py_ssize_t len)
+{
+ /* check if given string is a literal template (i.e. no escapes) */
+ struct {
+ int charsize;
+ } state = {
+ charsize
+ };
+ while (len-- > 0) {
+ if (SRE_CHARGET((&state), ptr, 0) == '\\')
+ return 0;
+ ptr += charsize;
+ }
+ return 1;
+}
+
static PyObject *
sre_codesize(PyObject* self, PyObject *unused)
{
@@ -1641,11 +1630,7 @@ sre_getlower(PyObject* self, PyObject* args)
if (flags & SRE_FLAG_LOCALE)
return Py_BuildValue("i", sre_lower_locale(character));
if (flags & SRE_FLAG_UNICODE)
-#if defined(HAVE_UNICODE)
return Py_BuildValue("i", sre_lower_unicode(character));
-#else
- return Py_BuildValue("i", sre_lower_locale(character));
-#endif
return Py_BuildValue("i", sre_lower(character));
}
@@ -1664,7 +1649,8 @@ state_reset(SRE_STATE* state)
}
static void*
-getstring(PyObject* string, Py_ssize_t* p_length, int* p_charsize)
+getstring(PyObject* string, Py_ssize_t* p_length,
+ int* p_logical_charsize, int* p_charsize)
{
/* given a python object, return a data pointer, a length (in
characters), and a character size. return NULL if the object
@@ -1679,13 +1665,16 @@ getstring(PyObject* string, Py_ssize_t* p_length, int* p_charsize)
/* Unicode objects do not support the buffer API. So, get the data
directly instead. */
if (PyUnicode_Check(string)) {
- ptr = (void *)PyUnicode_AS_DATA(string);
- *p_length = PyUnicode_GET_SIZE(string);
- *p_charsize = sizeof(Py_UNICODE);
+ if (PyUnicode_READY(string) == -1)
+ return NULL;
+ ptr = PyUnicode_DATA(string);
+ *p_length = PyUnicode_GET_LENGTH(string);
+ *p_charsize = PyUnicode_KIND(string);
+ *p_logical_charsize = 4;
return ptr;
}
- /* get pointer to string buffer */
+ /* get pointer to byte string buffer */
view.len = -1;
buffer = Py_TYPE(string)->tp_as_buffer;
if (!buffer || !buffer->bf_getbuffer ||
@@ -1713,10 +1702,6 @@ getstring(PyObject* string, Py_ssize_t* p_length, int* p_charsize)
if (PyBytes_Check(string) || bytes == size)
charsize = 1;
-#if defined(HAVE_UNICODE)
- else if (bytes == (Py_ssize_t) (size * sizeof(Py_UNICODE)))
- charsize = sizeof(Py_UNICODE);
-#endif
else {
PyErr_SetString(PyExc_TypeError, "buffer size mismatch");
return NULL;
@@ -1724,6 +1709,7 @@ getstring(PyObject* string, Py_ssize_t* p_length, int* p_charsize)
*p_length = size;
*p_charsize = charsize;
+ *p_logical_charsize = charsize;
if (ptr == NULL) {
PyErr_SetString(PyExc_ValueError,
@@ -1739,7 +1725,7 @@ state_init(SRE_STATE* state, PatternObject* pattern, PyObject* string,
/* prepare state object */
Py_ssize_t length;
- int charsize;
+ int logical_charsize, charsize;
void* ptr;
memset(state, 0, sizeof(SRE_STATE));
@@ -1747,20 +1733,20 @@ state_init(SRE_STATE* state, PatternObject* pattern, PyObject* string,
state->lastmark = -1;
state->lastindex = -1;
- ptr = getstring(string, &length, &charsize);
+ ptr = getstring(string, &length, &logical_charsize, &charsize);
if (!ptr)
return NULL;
- if (charsize == 1 && pattern->charsize > 1) {
- PyErr_SetString(PyExc_TypeError,
- "can't use a string pattern on a bytes-like object");
- return NULL;
- }
- if (charsize > 1 && pattern->charsize == 1) {
- PyErr_SetString(PyExc_TypeError,
- "can't use a bytes pattern on a string-like object");
- return NULL;
- }
+ if (logical_charsize == 1 && pattern->logical_charsize > 1) {
+ PyErr_SetString(PyExc_TypeError,
+ "can't use a string pattern on a bytes-like object");
+ return NULL;
+ }
+ if (logical_charsize > 1 && pattern->logical_charsize == 1) {
+ PyErr_SetString(PyExc_TypeError,
+ "can't use a bytes pattern on a string-like object");
+ return NULL;
+ }
/* adjust boundaries */
if (start < 0)
@@ -1773,6 +1759,7 @@ state_init(SRE_STATE* state, PatternObject* pattern, PyObject* string,
else if (end > length)
end = length;
+ state->logical_charsize = logical_charsize;
state->charsize = charsize;
state->beginning = ptr;
@@ -1788,11 +1775,7 @@ state_init(SRE_STATE* state, PatternObject* pattern, PyObject* string,
if (pattern->flags & SRE_FLAG_LOCALE)
state->lower = sre_lower_locale;
else if (pattern->flags & SRE_FLAG_UNICODE)
-#if defined(HAVE_UNICODE)
state->lower = sre_lower_unicode;
-#else
- state->lower = sre_lower_locale;
-#endif
else
state->lower = sre_lower;
@@ -1891,12 +1874,10 @@ pattern_match(PatternObject* self, PyObject* args, PyObject* kw)
TRACE(("|%p|%p|MATCH\n", PatternObject_GetCode(self), state.ptr));
- if (state.charsize == 1) {
+ if (state.logical_charsize == 1) {
status = sre_match(&state, PatternObject_GetCode(self));
} else {
-#if defined(HAVE_UNICODE)
status = sre_umatch(&state, PatternObject_GetCode(self));
-#endif
}
TRACE(("|%p|%p|END\n", PatternObject_GetCode(self), state.ptr));
@@ -1928,12 +1909,10 @@ pattern_search(PatternObject* self, PyObject* args, PyObject* kw)
TRACE(("|%p|%p|SEARCH\n", PatternObject_GetCode(self), state.ptr));
- if (state.charsize == 1) {
+ if (state.logical_charsize == 1) {
status = sre_search(&state, PatternObject_GetCode(self));
} else {
-#if defined(HAVE_UNICODE)
status = sre_usearch(&state, PatternObject_GetCode(self));
-#endif
}
TRACE(("|%p|%p|END\n", PatternObject_GetCode(self), state.ptr));
@@ -2075,16 +2054,14 @@ pattern_findall(PatternObject* self, PyObject* args, PyObject* kw)
state.ptr = state.start;
- if (state.charsize == 1) {
+ if (state.logical_charsize == 1) {
status = sre_search(&state, PatternObject_GetCode(self));
} else {
-#if defined(HAVE_UNICODE)
status = sre_usearch(&state, PatternObject_GetCode(self));
-#endif
}
- if (PyErr_Occurred())
- goto error;
+ if (PyErr_Occurred())
+ goto error;
if (status <= 0) {
if (status == 0)
@@ -2205,16 +2182,14 @@ pattern_split(PatternObject* self, PyObject* args, PyObject* kw)
state.ptr = state.start;
- if (state.charsize == 1) {
+ if (state.logical_charsize == 1) {
status = sre_search(&state, PatternObject_GetCode(self));
} else {
-#if defined(HAVE_UNICODE)
status = sre_usearch(&state, PatternObject_GetCode(self));
-#endif
}
- if (PyErr_Occurred())
- goto error;
+ if (PyErr_Occurred())
+ goto error;
if (status <= 0) {
if (status == 0)
@@ -2295,7 +2270,7 @@ pattern_subx(PatternObject* self, PyObject* ptemplate, PyObject* string,
int status;
Py_ssize_t n;
Py_ssize_t i, b, e;
- int bint;
+ int logical_charsize, charsize;
int filter_is_callable;
if (PyCallable_Check(ptemplate)) {
@@ -2306,16 +2281,10 @@ pattern_subx(PatternObject* self, PyObject* ptemplate, PyObject* string,
} else {
/* if not callable, check if it's a literal string */
int literal;
- ptr = getstring(ptemplate, &n, &bint);
- b = bint;
+ ptr = getstring(ptemplate, &n, &logical_charsize, &charsize);
+ b = charsize;
if (ptr) {
- if (b == 1) {
- literal = sre_literal_template((unsigned char *)ptr, n);
- } else {
-#if defined(HAVE_UNICODE)
- literal = sre_uliteral_template((Py_UNICODE *)ptr, n);
-#endif
- }
+ literal = sre_literal_template(b, ptr, n);
} else {
PyErr_Clear();
literal = 0;
@@ -2357,16 +2326,14 @@ pattern_subx(PatternObject* self, PyObject* ptemplate, PyObject* string,
state.ptr = state.start;
- if (state.charsize == 1) {
+ if (state.logical_charsize == 1) {
status = sre_search(&state, PatternObject_GetCode(self));
} else {
-#if defined(HAVE_UNICODE)
status = sre_usearch(&state, PatternObject_GetCode(self));
-#endif
}
- if (PyErr_Occurred())
- goto error;
+ if (PyErr_Occurred())
+ goto error;
if (status <= 0) {
if (status == 0)
@@ -2584,20 +2551,20 @@ PyDoc_STRVAR(pattern_doc, "Compiled regular expression objects");
static PyMethodDef pattern_methods[] = {
{"match", (PyCFunction) pattern_match, METH_VARARGS|METH_KEYWORDS,
- pattern_match_doc},
+ pattern_match_doc},
{"search", (PyCFunction) pattern_search, METH_VARARGS|METH_KEYWORDS,
- pattern_search_doc},
+ pattern_search_doc},
{"sub", (PyCFunction) pattern_sub, METH_VARARGS|METH_KEYWORDS,
- pattern_sub_doc},
+ pattern_sub_doc},
{"subn", (PyCFunction) pattern_subn, METH_VARARGS|METH_KEYWORDS,
- pattern_subn_doc},
+ pattern_subn_doc},
{"split", (PyCFunction) pattern_split, METH_VARARGS|METH_KEYWORDS,
- pattern_split_doc},
+ pattern_split_doc},
{"findall", (PyCFunction) pattern_findall, METH_VARARGS|METH_KEYWORDS,
- pattern_findall_doc},
+ pattern_findall_doc},
#if PY_VERSION_HEX >= 0x02020000
{"finditer", (PyCFunction) pattern_finditer, METH_VARARGS,
- pattern_finditer_doc},
+ pattern_finditer_doc},
#endif
{"scanner", (PyCFunction) pattern_scanner, METH_VARARGS},
{"__copy__", (PyCFunction) pattern_copy, METH_NOARGS},
@@ -2618,31 +2585,31 @@ static PyTypeObject Pattern_Type = {
PyVarObject_HEAD_INIT(NULL, 0)
"_" SRE_MODULE ".SRE_Pattern",
sizeof(PatternObject), sizeof(SRE_CODE),
- (destructor)pattern_dealloc, /* tp_dealloc */
- 0, /* tp_print */
- 0, /* tp_getattr */
- 0, /* tp_setattr */
- 0, /* tp_reserved */
- 0, /* tp_repr */
- 0, /* tp_as_number */
- 0, /* tp_as_sequence */
- 0, /* tp_as_mapping */
- 0, /* tp_hash */
- 0, /* tp_call */
- 0, /* tp_str */
- 0, /* tp_getattro */
- 0, /* tp_setattro */
- 0, /* tp_as_buffer */
- Py_TPFLAGS_DEFAULT, /* tp_flags */
- pattern_doc, /* tp_doc */
- 0, /* tp_traverse */
- 0, /* tp_clear */
- 0, /* tp_richcompare */
- offsetof(PatternObject, weakreflist), /* tp_weaklistoffset */
- 0, /* tp_iter */
- 0, /* tp_iternext */
- pattern_methods, /* tp_methods */
- pattern_members, /* tp_members */
+ (destructor)pattern_dealloc, /* tp_dealloc */
+ 0, /* tp_print */
+ 0, /* tp_getattr */
+ 0, /* tp_setattr */
+ 0, /* tp_reserved */
+ 0, /* tp_repr */
+ 0, /* tp_as_number */
+ 0, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ 0, /* tp_hash */
+ 0, /* tp_call */
+ 0, /* tp_str */
+ 0, /* tp_getattro */
+ 0, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ Py_TPFLAGS_DEFAULT, /* tp_flags */
+ pattern_doc, /* tp_doc */
+ 0, /* tp_traverse */
+ 0, /* tp_clear */
+ 0, /* tp_richcompare */
+ offsetof(PatternObject, weakreflist), /* tp_weaklistoffset */
+ 0, /* tp_iter */
+ 0, /* tp_iternext */
+ pattern_methods, /* tp_methods */
+ pattern_members, /* tp_members */
};
static int _validate(PatternObject *self); /* Forward */
@@ -2694,15 +2661,18 @@ _compile(PyObject* self_, PyObject* args)
return NULL;
}
- if (pattern == Py_None)
- self->charsize = -1;
- else {
- Py_ssize_t p_length;
- if (!getstring(pattern, &p_length, &self->charsize)) {
- Py_DECREF(self);
- return NULL;
- }
- }
+ if (pattern == Py_None) {
+ self->logical_charsize = -1;
+ self->charsize = -1;
+ }
+ else {
+ Py_ssize_t p_length;
+ if (!getstring(pattern, &p_length, &self->logical_charsize,
+ &self->charsize)) {
+ Py_DECREF(self);
+ return NULL;
+ }
+ }
Py_INCREF(pattern);
self->pattern = pattern;
@@ -3051,10 +3021,8 @@ _validate_inner(SRE_CODE *code, SRE_CODE *end, Py_ssize_t groups)
GET_ARG; max = arg;
if (min > max)
FAIL;
-#ifdef Py_UNICODE_WIDE
if (max > 65535)
FAIL;
-#endif
if (!_validate_inner(code, code+skip-4, groups))
FAIL;
code += skip-4;
@@ -3072,10 +3040,8 @@ _validate_inner(SRE_CODE *code, SRE_CODE *end, Py_ssize_t groups)
GET_ARG; max = arg;
if (min > max)
FAIL;
-#ifdef Py_UNICODE_WIDE
if (max > 65535)
FAIL;
-#endif
if (!_validate_inner(code, code+skip-3, groups))
FAIL;
code += skip-3;
@@ -3238,8 +3204,8 @@ match_getindex(MatchObject* self, PyObject* index)
Py_ssize_t i;
if (index == NULL)
- /* Default value */
- return 0;
+ /* Default value */
+ return 0;
if (PyLong_Check(index))
return PyLong_AsSsize_t(index);
@@ -3579,7 +3545,7 @@ static PyObject *
match_lastindex_get(MatchObject *self)
{
if (self->lastindex >= 0)
- return Py_BuildValue("i", self->lastindex);
+ return Py_BuildValue("i", self->lastindex);
Py_INCREF(Py_None);
return Py_None;
}
@@ -3632,32 +3598,32 @@ static PyTypeObject Match_Type = {
PyVarObject_HEAD_INIT(NULL,0)
"_" SRE_MODULE ".SRE_Match",
sizeof(MatchObject), sizeof(Py_ssize_t),
- (destructor)match_dealloc, /* tp_dealloc */
- 0, /* tp_print */
- 0, /* tp_getattr */
- 0, /* tp_setattr */
- 0, /* tp_reserved */
- 0, /* tp_repr */
- 0, /* tp_as_number */
- 0, /* tp_as_sequence */
- 0, /* tp_as_mapping */
- 0, /* tp_hash */
- 0, /* tp_call */
- 0, /* tp_str */
- 0, /* tp_getattro */
- 0, /* tp_setattro */
- 0, /* tp_as_buffer */
- Py_TPFLAGS_DEFAULT, /* tp_flags */
- 0, /* tp_doc */
- 0, /* tp_traverse */
- 0, /* tp_clear */
- 0, /* tp_richcompare */
- 0, /* tp_weaklistoffset */
- 0, /* tp_iter */
- 0, /* tp_iternext */
- match_methods, /* tp_methods */
- match_members, /* tp_members */
- match_getset, /* tp_getset */
+ (destructor)match_dealloc, /* tp_dealloc */
+ 0, /* tp_print */
+ 0, /* tp_getattr */
+ 0, /* tp_setattr */
+ 0, /* tp_reserved */
+ 0, /* tp_repr */
+ 0, /* tp_as_number */
+ 0, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ 0, /* tp_hash */
+ 0, /* tp_call */
+ 0, /* tp_str */
+ 0, /* tp_getattro */
+ 0, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ Py_TPFLAGS_DEFAULT, /* tp_flags */
+ 0, /* tp_doc */
+ 0, /* tp_traverse */
+ 0, /* tp_clear */
+ 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+ 0, /* tp_iter */
+ 0, /* tp_iternext */
+ match_methods, /* tp_methods */
+ match_members, /* tp_members */
+ match_getset, /* tp_getset */
};
static PyObject*
@@ -3746,12 +3712,10 @@ scanner_match(ScannerObject* self, PyObject *unused)
state->ptr = state->start;
- if (state->charsize == 1) {
+ if (state->logical_charsize == 1) {
status = sre_match(state, PatternObject_GetCode(self->pattern));
} else {
-#if defined(HAVE_UNICODE)
status = sre_umatch(state, PatternObject_GetCode(self->pattern));
-#endif
}
if (PyErr_Occurred())
return NULL;
@@ -3779,12 +3743,10 @@ scanner_search(ScannerObject* self, PyObject *unused)
state->ptr = state->start;
- if (state->charsize == 1) {
+ if (state->logical_charsize == 1) {
status = sre_search(state, PatternObject_GetCode(self->pattern));
} else {
-#if defined(HAVE_UNICODE)
status = sre_usearch(state, PatternObject_GetCode(self->pattern));
-#endif
}
if (PyErr_Occurred())
return NULL;
@@ -3808,7 +3770,7 @@ static PyMethodDef scanner_methods[] = {
#define SCAN_OFF(x) offsetof(ScannerObject, x)
static PyMemberDef scanner_members[] = {
- {"pattern", T_OBJECT, SCAN_OFF(pattern), READONLY},
+ {"pattern", T_OBJECT, SCAN_OFF(pattern), READONLY},
{NULL} /* Sentinel */
};
@@ -3817,31 +3779,31 @@ static PyTypeObject Scanner_Type = {
"_" SRE_MODULE ".SRE_Scanner",
sizeof(ScannerObject), 0,
(destructor)scanner_dealloc,/* tp_dealloc */
- 0, /* tp_print */
- 0, /* tp_getattr */
- 0, /* tp_setattr */
- 0, /* tp_reserved */
- 0, /* tp_repr */
- 0, /* tp_as_number */
- 0, /* tp_as_sequence */
- 0, /* tp_as_mapping */
- 0, /* tp_hash */
- 0, /* tp_call */
- 0, /* tp_str */
- 0, /* tp_getattro */
- 0, /* tp_setattro */
- 0, /* tp_as_buffer */
- Py_TPFLAGS_DEFAULT, /* tp_flags */
- 0, /* tp_doc */
- 0, /* tp_traverse */
- 0, /* tp_clear */
- 0, /* tp_richcompare */
- 0, /* tp_weaklistoffset */
- 0, /* tp_iter */
- 0, /* tp_iternext */
- scanner_methods, /* tp_methods */
- scanner_members, /* tp_members */
- 0, /* tp_getset */
+ 0, /* tp_print */
+ 0, /* tp_getattr */
+ 0, /* tp_setattr */
+ 0, /* tp_reserved */
+ 0, /* tp_repr */
+ 0, /* tp_as_number */
+ 0, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ 0, /* tp_hash */
+ 0, /* tp_call */
+ 0, /* tp_str */
+ 0, /* tp_getattro */
+ 0, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ Py_TPFLAGS_DEFAULT, /* tp_flags */
+ 0, /* tp_doc */
+ 0, /* tp_traverse */
+ 0, /* tp_clear */
+ 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+ 0, /* tp_iter */
+ 0, /* tp_iternext */
+ scanner_methods, /* tp_methods */
+ scanner_members, /* tp_members */
+ 0, /* tp_getset */
};
static PyObject*
@@ -3883,15 +3845,15 @@ static PyMethodDef _functions[] = {
};
static struct PyModuleDef sremodule = {
- PyModuleDef_HEAD_INIT,
- "_" SRE_MODULE,
- NULL,
- -1,
- _functions,
- NULL,
- NULL,
- NULL,
- NULL
+ PyModuleDef_HEAD_INIT,
+ "_" SRE_MODULE,
+ NULL,
+ -1,
+ _functions,
+ NULL,
+ NULL,
+ NULL,
+ NULL
};
PyMODINIT_FUNC PyInit__sre(void)
@@ -3907,7 +3869,7 @@ PyMODINIT_FUNC PyInit__sre(void)
m = PyModule_Create(&sremodule);
if (m == NULL)
- return NULL;
+ return NULL;
d = PyModule_GetDict(m);
x = PyLong_FromLong(SRE_MAGIC);
diff --git a/Modules/_ssl.c b/Modules/_ssl.c
index 5419059..3e5ecfd 100644
--- a/Modules/_ssl.c
+++ b/Modules/_ssl.c
@@ -18,16 +18,21 @@
#ifdef WITH_THREAD
#include "pythread.h"
+#define PySSL_BEGIN_ALLOW_THREADS_S(save) \
+ do { if (_ssl_locks_count>0) { (save) = PyEval_SaveThread(); } } while (0)
+#define PySSL_END_ALLOW_THREADS_S(save) \
+ do { if (_ssl_locks_count>0) { PyEval_RestoreThread(save); } } while (0)
#define PySSL_BEGIN_ALLOW_THREADS { \
PyThreadState *_save = NULL; \
- if (_ssl_locks_count>0) {_save = PyEval_SaveThread();}
-#define PySSL_BLOCK_THREADS if (_ssl_locks_count>0){PyEval_RestoreThread(_save)};
-#define PySSL_UNBLOCK_THREADS if (_ssl_locks_count>0){_save = PyEval_SaveThread()};
-#define PySSL_END_ALLOW_THREADS if (_ssl_locks_count>0){PyEval_RestoreThread(_save);} \
- }
+ PySSL_BEGIN_ALLOW_THREADS_S(_save);
+#define PySSL_BLOCK_THREADS PySSL_END_ALLOW_THREADS_S(_save);
+#define PySSL_UNBLOCK_THREADS PySSL_BEGIN_ALLOW_THREADS_S(_save);
+#define PySSL_END_ALLOW_THREADS PySSL_END_ALLOW_THREADS_S(_save); }
#else /* no WITH_THREAD */
+#define PySSL_BEGIN_ALLOW_THREADS_S(save)
+#define PySSL_END_ALLOW_THREADS_S(save)
#define PySSL_BEGIN_ALLOW_THREADS
#define PySSL_BLOCK_THREADS
#define PySSL_UNBLOCK_THREADS
@@ -94,6 +99,11 @@ static PySocketModule_APIObject PySocketModule;
/* SSL error object */
static PyObject *PySSLErrorObject;
+static PyObject *PySSLZeroReturnErrorObject;
+static PyObject *PySSLWantReadErrorObject;
+static PyObject *PySSLWantWriteErrorObject;
+static PyObject *PySSLSyscallErrorObject;
+static PyObject *PySSLEOFErrorObject;
#ifdef WITH_THREAD
@@ -124,6 +134,17 @@ static unsigned int _ssl_locks_count = 0;
# undef HAVE_SSL_CTX_CLEAR_OPTIONS
#endif
+/* In case of 'tls-unique' it will be 12 bytes for TLS, 36 bytes for
+ * older SSL, but let's be safe */
+#define PySSL_CB_MAXLEN 128
+
+/* SSL_get_finished got added to OpenSSL in 0.9.5 */
+#if OPENSSL_VERSION_NUMBER >= 0x0090500fL
+# define HAVE_OPENSSL_FINISHED 1
+#else
+# define HAVE_OPENSSL_FINISHED 0
+#endif
+
typedef struct {
PyObject_HEAD
SSL_CTX *ctx;
@@ -135,6 +156,7 @@ typedef struct {
SSL *ssl;
X509 *peer_cert;
int shutdown_seen_zero;
+ enum py_ssl_server_or_client socket_type;
} PySSLSocket;
static PyTypeObject PySSLContext_Type;
@@ -174,6 +196,7 @@ static PyObject *
PySSL_SetError(PySSLSocket *obj, int ret, char *filename, int lineno)
{
PyObject *v;
+ PyObject *type = PySSLErrorObject;
char buf[2048];
char *errstr;
int err;
@@ -186,15 +209,18 @@ PySSL_SetError(PySSLSocket *obj, int ret, char *filename, int lineno)
switch (err) {
case SSL_ERROR_ZERO_RETURN:
- errstr = "TLS/SSL connection has been closed";
+ errstr = "TLS/SSL connection has been closed (EOF)";
+ type = PySSLZeroReturnErrorObject;
p = PY_SSL_ERROR_ZERO_RETURN;
break;
case SSL_ERROR_WANT_READ:
errstr = "The operation did not complete (read)";
+ type = PySSLWantReadErrorObject;
p = PY_SSL_ERROR_WANT_READ;
break;
case SSL_ERROR_WANT_WRITE:
p = PY_SSL_ERROR_WANT_WRITE;
+ type = PySSLWantWriteErrorObject;
errstr = "The operation did not complete (write)";
break;
case SSL_ERROR_WANT_X509_LOOKUP:
@@ -213,6 +239,7 @@ PySSL_SetError(PySSLSocket *obj, int ret, char *filename, int lineno)
= (PySocketSockObject *) PyWeakref_GetObject(obj->Socket);
if (ret == 0 || (((PyObject *)s) == Py_None)) {
p = PY_SSL_ERROR_EOF;
+ type = PySSLEOFErrorObject;
errstr = "EOF occurred in violation of protocol";
} else if (ret == -1) {
/* underlying BIO reported an I/O error */
@@ -223,6 +250,7 @@ PySSL_SetError(PySSLSocket *obj, int ret, char *filename, int lineno)
return v;
} else { /* possible? */
p = PY_SSL_ERROR_SYSCALL;
+ type = PySSLSyscallErrorObject;
errstr = "Some I/O error occurred";
}
} else {
@@ -255,7 +283,7 @@ PySSL_SetError(PySSLSocket *obj, int ret, char *filename, int lineno)
ERR_clear_error();
v = Py_BuildValue("(is)", p, buf);
if (v != NULL) {
- PyErr_SetObject(PySSLErrorObject, v);
+ PyErr_SetObject(type, v);
Py_DECREF(v);
}
return NULL;
@@ -328,6 +356,7 @@ newPySSLSocket(SSL_CTX *ctx, PySocketSockObject *sock,
SSL_set_accept_state(self->ssl);
PySSL_END_ALLOW_THREADS
+ self->socket_type = socket_type;
self->Socket = PyWeakref_NewRef((PyObject *) sock, NULL);
return self;
}
@@ -356,7 +385,6 @@ static PyObject *PySSL_SSLdo_handshake(PySSLSocket *self)
/* Actually negotiate SSL connection */
/* XXX If SSL_do_handshake() returns 0, it's also a failure. */
- sockstate = 0;
do {
PySSL_BEGIN_ALLOW_THREADS
ret = SSL_do_handshake(self->ssl);
@@ -971,6 +999,25 @@ static PyObject *PySSL_cipher (PySSLSocket *self) {
return NULL;
}
+static PyObject *PySSL_compression(PySSLSocket *self) {
+#ifdef OPENSSL_NO_COMP
+ Py_RETURN_NONE;
+#else
+ const COMP_METHOD *comp_method;
+ const char *short_name;
+
+ if (self->ssl == NULL)
+ Py_RETURN_NONE;
+ comp_method = SSL_get_current_compression(self->ssl);
+ if (comp_method == NULL || comp_method->type == NID_undef)
+ Py_RETURN_NONE;
+ short_name = OBJ_nid2sn(comp_method->type);
+ if (short_name == NULL)
+ Py_RETURN_NONE;
+ return PyUnicode_DecodeFSDefault(short_name);
+#endif
+}
+
static void PySSL_dealloc(PySSLSocket *self)
{
if (self->peer_cert) /* Possible not to have one? */
@@ -1091,7 +1138,6 @@ static PyObject *PySSL_SSLwrite(PySSLSocket *self, PyObject *args)
goto error;
}
do {
- err = 0;
PySSL_BEGIN_ALLOW_THREADS
len = SSL_write(self->ssl, buf.buf, buf.len);
err = SSL_get_error(self->ssl, len);
@@ -1227,7 +1273,6 @@ static PyObject *PySSL_SSLread(PySSLSocket *self, PyObject *args)
}
}
do {
- err = 0;
PySSL_BEGIN_ALLOW_THREADS
count = SSL_read(self->ssl, mem, len);
err = SSL_get_error(self->ssl, count);
@@ -1379,6 +1424,41 @@ PyDoc_STRVAR(PySSL_SSLshutdown_doc,
Does the SSL shutdown handshake with the remote end, and returns\n\
the underlying socket object.");
+#if HAVE_OPENSSL_FINISHED
+static PyObject *
+PySSL_tls_unique_cb(PySSLSocket *self)
+{
+ PyObject *retval = NULL;
+ char buf[PySSL_CB_MAXLEN];
+ int len;
+
+ if (SSL_session_reused(self->ssl) ^ !self->socket_type) {
+ /* if session is resumed XOR we are the client */
+ len = SSL_get_finished(self->ssl, buf, PySSL_CB_MAXLEN);
+ }
+ else {
+ /* if a new session XOR we are the server */
+ len = SSL_get_peer_finished(self->ssl, buf, PySSL_CB_MAXLEN);
+ }
+
+ /* It cannot be negative in current OpenSSL version as of July 2011 */
+ assert(len >= 0);
+ if (len == 0)
+ Py_RETURN_NONE;
+
+ retval = PyBytes_FromStringAndSize(buf, len);
+
+ return retval;
+}
+
+PyDoc_STRVAR(PySSL_tls_unique_cb_doc,
+"tls_unique_cb() -> bytes\n\
+\n\
+Returns the 'tls-unique' channel binding data, as defined by RFC 5929.\n\
+\n\
+If the TLS handshake is not yet complete, None is returned");
+
+#endif /* HAVE_OPENSSL_FINISHED */
static PyMethodDef PySSLMethods[] = {
{"do_handshake", (PyCFunction)PySSL_SSLdo_handshake, METH_NOARGS},
@@ -1391,8 +1471,13 @@ static PyMethodDef PySSLMethods[] = {
{"peer_certificate", (PyCFunction)PySSL_peercert, METH_VARARGS,
PySSL_peercert_doc},
{"cipher", (PyCFunction)PySSL_cipher, METH_NOARGS},
+ {"compression", (PyCFunction)PySSL_compression, METH_NOARGS},
{"shutdown", (PyCFunction)PySSL_SSLshutdown, METH_NOARGS,
PySSL_SSLshutdown_doc},
+#if HAVE_OPENSSL_FINISHED
+ {"tls_unique_cb", (PyCFunction)PySSL_tls_unique_cb, METH_NOARGS,
+ PySSL_tls_unique_cb_doc},
+#endif
{NULL, NULL}
};
@@ -1585,19 +1670,118 @@ set_options(PySSLContext *self, PyObject *arg, void *c)
return 0;
}
+typedef struct {
+ PyThreadState *thread_state;
+ PyObject *callable;
+ char *password;
+ Py_ssize_t size;
+ int error;
+} _PySSLPasswordInfo;
+
+static int
+_pwinfo_set(_PySSLPasswordInfo *pw_info, PyObject* password,
+ const char *bad_type_error)
+{
+ /* Set the password and size fields of a _PySSLPasswordInfo struct
+ from a unicode, bytes, or byte array object.
+ The password field will be dynamically allocated and must be freed
+ by the caller */
+ PyObject *password_bytes = NULL;
+ const char *data = NULL;
+ Py_ssize_t size;
+
+ if (PyUnicode_Check(password)) {
+ password_bytes = PyUnicode_AsEncodedString(password, NULL, NULL);
+ if (!password_bytes) {
+ goto error;
+ }
+ data = PyBytes_AS_STRING(password_bytes);
+ size = PyBytes_GET_SIZE(password_bytes);
+ } else if (PyBytes_Check(password)) {
+ data = PyBytes_AS_STRING(password);
+ size = PyBytes_GET_SIZE(password);
+ } else if (PyByteArray_Check(password)) {
+ data = PyByteArray_AS_STRING(password);
+ size = PyByteArray_GET_SIZE(password);
+ } else {
+ PyErr_SetString(PyExc_TypeError, bad_type_error);
+ goto error;
+ }
+
+ free(pw_info->password);
+ pw_info->password = malloc(size);
+ if (!pw_info->password) {
+ PyErr_SetString(PyExc_MemoryError,
+ "unable to allocate password buffer");
+ goto error;
+ }
+ memcpy(pw_info->password, data, size);
+ pw_info->size = size;
+
+ Py_XDECREF(password_bytes);
+ return 1;
+
+error:
+ Py_XDECREF(password_bytes);
+ return 0;
+}
+
+static int
+_password_callback(char *buf, int size, int rwflag, void *userdata)
+{
+ _PySSLPasswordInfo *pw_info = (_PySSLPasswordInfo*) userdata;
+ PyObject *fn_ret = NULL;
+
+ PySSL_END_ALLOW_THREADS_S(pw_info->thread_state);
+
+ if (pw_info->callable) {
+ fn_ret = PyObject_CallFunctionObjArgs(pw_info->callable, NULL);
+ if (!fn_ret) {
+ /* TODO: It would be nice to move _ctypes_add_traceback() into the
+ core python API, so we could use it to add a frame here */
+ goto error;
+ }
+
+ if (!_pwinfo_set(pw_info, fn_ret,
+ "password callback must return a string")) {
+ goto error;
+ }
+ Py_CLEAR(fn_ret);
+ }
+
+ if (pw_info->size > size) {
+ PyErr_Format(PyExc_ValueError,
+ "password cannot be longer than %d bytes", size);
+ goto error;
+ }
+
+ PySSL_BEGIN_ALLOW_THREADS_S(pw_info->thread_state);
+ memcpy(buf, pw_info->password, pw_info->size);
+ return pw_info->size;
+
+error:
+ Py_XDECREF(fn_ret);
+ PySSL_BEGIN_ALLOW_THREADS_S(pw_info->thread_state);
+ pw_info->error = 1;
+ return -1;
+}
+
static PyObject *
load_cert_chain(PySSLContext *self, PyObject *args, PyObject *kwds)
{
- char *kwlist[] = {"certfile", "keyfile", NULL};
- PyObject *certfile, *keyfile = NULL;
+ char *kwlist[] = {"certfile", "keyfile", "password", NULL};
+ PyObject *certfile, *keyfile = NULL, *password = NULL;
PyObject *certfile_bytes = NULL, *keyfile_bytes = NULL;
+ pem_password_cb *orig_passwd_cb = self->ctx->default_passwd_callback;
+ void *orig_passwd_userdata = self->ctx->default_passwd_callback_userdata;
+ _PySSLPasswordInfo pw_info = { NULL, NULL, NULL, 0, 0 };
int r;
errno = 0;
ERR_clear_error();
if (!PyArg_ParseTupleAndKeywords(args, kwds,
- "O|O:load_cert_chain", kwlist,
- &certfile, &keyfile))
+ "O|OO:load_cert_chain", kwlist,
+ &certfile, &keyfile, &password))
return NULL;
if (keyfile == Py_None)
keyfile = NULL;
@@ -1611,12 +1795,26 @@ load_cert_chain(PySSLContext *self, PyObject *args, PyObject *kwds)
"keyfile should be a valid filesystem path");
goto error;
}
- PySSL_BEGIN_ALLOW_THREADS
+ if (password && password != Py_None) {
+ if (PyCallable_Check(password)) {
+ pw_info.callable = password;
+ } else if (!_pwinfo_set(&pw_info, password,
+ "password should be a string or callable")) {
+ goto error;
+ }
+ SSL_CTX_set_default_passwd_cb(self->ctx, _password_callback);
+ SSL_CTX_set_default_passwd_cb_userdata(self->ctx, &pw_info);
+ }
+ PySSL_BEGIN_ALLOW_THREADS_S(pw_info.thread_state);
r = SSL_CTX_use_certificate_chain_file(self->ctx,
PyBytes_AS_STRING(certfile_bytes));
- PySSL_END_ALLOW_THREADS
+ PySSL_END_ALLOW_THREADS_S(pw_info.thread_state);
if (r != 1) {
- if (errno != 0) {
+ if (pw_info.error) {
+ ERR_clear_error();
+ /* the password callback has already set the error information */
+ }
+ else if (errno != 0) {
ERR_clear_error();
PyErr_SetFromErrno(PyExc_IOError);
}
@@ -1625,33 +1823,43 @@ load_cert_chain(PySSLContext *self, PyObject *args, PyObject *kwds)
}
goto error;
}
- PySSL_BEGIN_ALLOW_THREADS
+ PySSL_BEGIN_ALLOW_THREADS_S(pw_info.thread_state);
r = SSL_CTX_use_PrivateKey_file(self->ctx,
PyBytes_AS_STRING(keyfile ? keyfile_bytes : certfile_bytes),
SSL_FILETYPE_PEM);
- PySSL_END_ALLOW_THREADS
- Py_XDECREF(keyfile_bytes);
- Py_XDECREF(certfile_bytes);
+ PySSL_END_ALLOW_THREADS_S(pw_info.thread_state);
+ Py_CLEAR(keyfile_bytes);
+ Py_CLEAR(certfile_bytes);
if (r != 1) {
- if (errno != 0) {
+ if (pw_info.error) {
+ ERR_clear_error();
+ /* the password callback has already set the error information */
+ }
+ else if (errno != 0) {
ERR_clear_error();
PyErr_SetFromErrno(PyExc_IOError);
}
else {
_setSSLError(NULL, 0, __FILE__, __LINE__);
}
- return NULL;
+ goto error;
}
- PySSL_BEGIN_ALLOW_THREADS
+ PySSL_BEGIN_ALLOW_THREADS_S(pw_info.thread_state);
r = SSL_CTX_check_private_key(self->ctx);
- PySSL_END_ALLOW_THREADS
+ PySSL_END_ALLOW_THREADS_S(pw_info.thread_state);
if (r != 1) {
_setSSLError(NULL, 0, __FILE__, __LINE__);
- return NULL;
+ goto error;
}
+ SSL_CTX_set_default_passwd_cb(self->ctx, orig_passwd_cb);
+ SSL_CTX_set_default_passwd_cb_userdata(self->ctx, orig_passwd_userdata);
+ free(pw_info.password);
Py_RETURN_NONE;
error:
+ SSL_CTX_set_default_passwd_cb(self->ctx, orig_passwd_cb);
+ SSL_CTX_set_default_passwd_cb_userdata(self->ctx, orig_passwd_userdata);
+ free(pw_info.password);
Py_XDECREF(keyfile_bytes);
Py_XDECREF(certfile_bytes);
return NULL;
@@ -1714,6 +1922,38 @@ load_verify_locations(PySSLContext *self, PyObject *args, PyObject *kwds)
}
static PyObject *
+load_dh_params(PySSLContext *self, PyObject *filepath)
+{
+ FILE *f;
+ DH *dh;
+
+ f = _Py_fopen(filepath, "rb");
+ if (f == NULL) {
+ if (!PyErr_Occurred())
+ PyErr_SetFromErrnoWithFilenameObject(PyExc_OSError, filepath);
+ return NULL;
+ }
+ errno = 0;
+ PySSL_BEGIN_ALLOW_THREADS
+ dh = PEM_read_DHparams(f, NULL, NULL, NULL);
+ PySSL_END_ALLOW_THREADS
+ if (dh == NULL) {
+ if (errno != 0) {
+ ERR_clear_error();
+ PyErr_SetFromErrnoWithFilenameObject(PyExc_OSError, filepath);
+ }
+ else {
+ _setSSLError(NULL, 0, __FILE__, __LINE__);
+ }
+ return NULL;
+ }
+ if (SSL_CTX_set_tmp_dh(self->ctx, dh) == 0)
+ _setSSLError(NULL, 0, __FILE__, __LINE__);
+ DH_free(dh);
+ Py_RETURN_NONE;
+}
+
+static PyObject *
context_wrap_socket(PySSLContext *self, PyObject *args, PyObject *kwds)
{
char *kwlist[] = {"sock", "server_side", "server_hostname", NULL};
@@ -1798,6 +2038,35 @@ set_default_verify_paths(PySSLContext *self, PyObject *unused)
Py_RETURN_NONE;
}
+#ifndef OPENSSL_NO_ECDH
+static PyObject *
+set_ecdh_curve(PySSLContext *self, PyObject *name)
+{
+ PyObject *name_bytes;
+ int nid;
+ EC_KEY *key;
+
+ if (!PyUnicode_FSConverter(name, &name_bytes))
+ return NULL;
+ assert(PyBytes_Check(name_bytes));
+ nid = OBJ_sn2nid(PyBytes_AS_STRING(name_bytes));
+ Py_DECREF(name_bytes);
+ if (nid == 0) {
+ PyErr_Format(PyExc_ValueError,
+ "unknown elliptic curve name %R", name);
+ return NULL;
+ }
+ key = EC_KEY_new_by_curve_name(nid);
+ if (key == NULL) {
+ _setSSLError(NULL, 0, __FILE__, __LINE__);
+ return NULL;
+ }
+ SSL_CTX_set_tmp_ecdh(self->ctx, key);
+ EC_KEY_free(key);
+ Py_RETURN_NONE;
+}
+#endif
+
static PyGetSetDef context_getsetlist[] = {
{"options", (getter) get_options,
(setter) set_options, NULL},
@@ -1813,12 +2082,18 @@ static struct PyMethodDef context_methods[] = {
METH_VARARGS, NULL},
{"load_cert_chain", (PyCFunction) load_cert_chain,
METH_VARARGS | METH_KEYWORDS, NULL},
+ {"load_dh_params", (PyCFunction) load_dh_params,
+ METH_O, NULL},
{"load_verify_locations", (PyCFunction) load_verify_locations,
METH_VARARGS | METH_KEYWORDS, NULL},
{"session_stats", (PyCFunction) session_stats,
METH_NOARGS, NULL},
{"set_default_verify_paths", (PyCFunction) set_default_verify_paths,
METH_NOARGS, NULL},
+#ifndef OPENSSL_NO_ECDH
+ {"set_ecdh_curve", (PyCFunction) set_ecdh_curve,
+ METH_O, NULL},
+#endif
{NULL, NULL} /* sentinel */
};
@@ -1889,6 +2164,69 @@ Mix string into the OpenSSL PRNG state. entropy (a float) is a lower\n\
bound on the entropy contained in string. See RFC 1750.");
static PyObject *
+PySSL_RAND(int len, int pseudo)
+{
+ int ok;
+ PyObject *bytes;
+ unsigned long err;
+ const char *errstr;
+ PyObject *v;
+
+ bytes = PyBytes_FromStringAndSize(NULL, len);
+ if (bytes == NULL)
+ return NULL;
+ if (pseudo) {
+ ok = RAND_pseudo_bytes((unsigned char*)PyBytes_AS_STRING(bytes), len);
+ if (ok == 0 || ok == 1)
+ return Py_BuildValue("NO", bytes, ok == 1 ? Py_True : Py_False);
+ }
+ else {
+ ok = RAND_bytes((unsigned char*)PyBytes_AS_STRING(bytes), len);
+ if (ok == 1)
+ return bytes;
+ }
+ Py_DECREF(bytes);
+
+ err = ERR_get_error();
+ errstr = ERR_reason_error_string(err);
+ v = Py_BuildValue("(ks)", err, errstr);
+ if (v != NULL) {
+ PyErr_SetObject(PySSLErrorObject, v);
+ Py_DECREF(v);
+ }
+ return NULL;
+}
+
+static PyObject *
+PySSL_RAND_bytes(PyObject *self, PyObject *args)
+{
+ int len;
+ if (!PyArg_ParseTuple(args, "i:RAND_bytes", &len))
+ return NULL;
+ return PySSL_RAND(len, 0);
+}
+
+PyDoc_STRVAR(PySSL_RAND_bytes_doc,
+"RAND_bytes(n) -> bytes\n\
+\n\
+Generate n cryptographically strong pseudo-random bytes.");
+
+static PyObject *
+PySSL_RAND_pseudo_bytes(PyObject *self, PyObject *args)
+{
+ int len;
+ if (!PyArg_ParseTuple(args, "i:RAND_pseudo_bytes", &len))
+ return NULL;
+ return PySSL_RAND(len, 1);
+}
+
+PyDoc_STRVAR(PySSL_RAND_pseudo_bytes_doc,
+"RAND_pseudo_bytes(n) -> (bytes, is_cryptographic)\n\
+\n\
+Generate n pseudo-random bytes. is_cryptographic is True if the bytes\
+generated are cryptographically strong.");
+
+static PyObject *
PySSL_RAND_status(PyObject *self)
{
return PyLong_FromLong(RAND_status());
@@ -1941,6 +2279,10 @@ static PyMethodDef PySSL_methods[] = {
#ifdef HAVE_OPENSSL_RAND
{"RAND_add", PySSL_RAND_add, METH_VARARGS,
PySSL_RAND_add_doc},
+ {"RAND_bytes", PySSL_RAND_bytes, METH_VARARGS,
+ PySSL_RAND_bytes_doc},
+ {"RAND_pseudo_bytes", PySSL_RAND_pseudo_bytes, METH_VARARGS,
+ PySSL_RAND_pseudo_bytes_doc},
{"RAND_egd", PySSL_RAND_egd, METH_VARARGS,
PySSL_RAND_egd_doc},
{"RAND_status", (PyCFunction)PySSL_RAND_status, METH_NOARGS,
@@ -2054,6 +2396,27 @@ parse_openssl_version(unsigned long libver,
*major = libver & 0xFF;
}
+PyDoc_STRVAR(SSLError_doc,
+"An error occurred in the SSL implementation.");
+
+PyDoc_STRVAR(SSLZeroReturnError_doc,
+"SSL/TLS session closed cleanly.");
+
+PyDoc_STRVAR(SSLWantReadError_doc,
+"Non-blocking SSL socket needs to read more data\n"
+"before the requested operation can be completed.");
+
+PyDoc_STRVAR(SSLWantWriteError_doc,
+"Non-blocking SSL socket needs to write more data\n"
+"before the requested operation can be completed.");
+
+PyDoc_STRVAR(SSLSyscallError_doc,
+"System error when attempting SSL operation.");
+
+PyDoc_STRVAR(SSLEOFError_doc,
+"SSL/TLS connection terminated abruptly.");
+
+
PyMODINIT_FUNC
PyInit__ssl(void)
{
@@ -2090,12 +2453,39 @@ PyInit__ssl(void)
OpenSSL_add_all_algorithms();
/* Add symbols to module dict */
- PySSLErrorObject = PyErr_NewException("ssl.SSLError",
- PySocketModule.error,
- NULL);
+ PySSLErrorObject = PyErr_NewExceptionWithDoc("ssl.SSLError",
+ SSLError_doc,
+ PyExc_OSError,
+ NULL);
if (PySSLErrorObject == NULL)
return NULL;
- if (PyDict_SetItemString(d, "SSLError", PySSLErrorObject) != 0)
+ PySSLZeroReturnErrorObject = PyErr_NewExceptionWithDoc(
+ "ssl.SSLZeroReturnError", SSLZeroReturnError_doc,
+ PySSLErrorObject, NULL);
+ PySSLWantReadErrorObject = PyErr_NewExceptionWithDoc(
+ "ssl.SSLWantReadError", SSLWantReadError_doc,
+ PySSLErrorObject, NULL);
+ PySSLWantWriteErrorObject = PyErr_NewExceptionWithDoc(
+ "ssl.SSLWantWriteError", SSLWantWriteError_doc,
+ PySSLErrorObject, NULL);
+ PySSLSyscallErrorObject = PyErr_NewExceptionWithDoc(
+ "ssl.SSLSyscallError", SSLSyscallError_doc,
+ PySSLErrorObject, NULL);
+ PySSLEOFErrorObject = PyErr_NewExceptionWithDoc(
+ "ssl.SSLEOFError", SSLEOFError_doc,
+ PySSLErrorObject, NULL);
+ if (PySSLZeroReturnErrorObject == NULL
+ || PySSLWantReadErrorObject == NULL
+ || PySSLWantWriteErrorObject == NULL
+ || PySSLSyscallErrorObject == NULL
+ || PySSLEOFErrorObject == NULL)
+ return NULL;
+ if (PyDict_SetItemString(d, "SSLError", PySSLErrorObject) != 0
+ || PyDict_SetItemString(d, "SSLZeroReturnError", PySSLZeroReturnErrorObject) != 0
+ || PyDict_SetItemString(d, "SSLWantReadError", PySSLWantReadErrorObject) != 0
+ || PyDict_SetItemString(d, "SSLWantWriteError", PySSLWantWriteErrorObject) != 0
+ || PyDict_SetItemString(d, "SSLSyscallError", PySSLSyscallErrorObject) != 0
+ || PyDict_SetItemString(d, "SSLEOFError", PySSLEOFErrorObject) != 0)
return NULL;
if (PyDict_SetItemString(d, "_SSLContext",
(PyObject *)&PySSLContext_Type) != 0)
@@ -2147,6 +2537,14 @@ PyInit__ssl(void)
PyModule_AddIntConstant(m, "OP_NO_SSLv2", SSL_OP_NO_SSLv2);
PyModule_AddIntConstant(m, "OP_NO_SSLv3", SSL_OP_NO_SSLv3);
PyModule_AddIntConstant(m, "OP_NO_TLSv1", SSL_OP_NO_TLSv1);
+ PyModule_AddIntConstant(m, "OP_CIPHER_SERVER_PREFERENCE",
+ SSL_OP_CIPHER_SERVER_PREFERENCE);
+ PyModule_AddIntConstant(m, "OP_SINGLE_DH_USE", SSL_OP_SINGLE_DH_USE);
+ PyModule_AddIntConstant(m, "OP_SINGLE_ECDH_USE", SSL_OP_SINGLE_ECDH_USE);
+#ifdef SSL_OP_NO_COMPRESSION
+ PyModule_AddIntConstant(m, "OP_NO_COMPRESSION",
+ SSL_OP_NO_COMPRESSION);
+#endif
#ifdef SSL_CTRL_SET_TLSEXT_HOSTNAME
r = Py_True;
@@ -2156,6 +2554,22 @@ PyInit__ssl(void)
Py_INCREF(r);
PyModule_AddObject(m, "HAS_SNI", r);
+#if HAVE_OPENSSL_FINISHED
+ r = Py_True;
+#else
+ r = Py_False;
+#endif
+ Py_INCREF(r);
+ PyModule_AddObject(m, "HAS_TLS_UNIQUE", r);
+
+#ifdef OPENSSL_NO_ECDH
+ r = Py_False;
+#else
+ r = Py_True;
+#endif
+ Py_INCREF(r);
+ PyModule_AddObject(m, "HAS_ECDH", r);
+
/* OpenSSL version */
/* SSLeay() gives us the version of the library linked against,
which could be different from the headers version.
diff --git a/Modules/_struct.c b/Modules/_struct.c
index 1604b90..dcdc83e 100644
--- a/Modules/_struct.c
+++ b/Modules/_struct.c
@@ -58,6 +58,7 @@ typedef struct { char c; long x; } st_long;
typedef struct { char c; float x; } st_float;
typedef struct { char c; double x; } st_double;
typedef struct { char c; void *x; } st_void_p;
+typedef struct { char c; size_t x; } st_size_t;
#define SHORT_ALIGN (sizeof(st_short) - sizeof(short))
#define INT_ALIGN (sizeof(st_int) - sizeof(int))
@@ -65,6 +66,7 @@ typedef struct { char c; void *x; } st_void_p;
#define FLOAT_ALIGN (sizeof(st_float) - sizeof(float))
#define DOUBLE_ALIGN (sizeof(st_double) - sizeof(double))
#define VOID_P_ALIGN (sizeof(st_void_p) - sizeof(void *))
+#define SIZE_T_ALIGN (sizeof(st_size_t) - sizeof(size_t))
/* We can't support q and Q in native mode unless the compiler does;
in std mode, they're 8 bytes on all platforms. */
@@ -213,6 +215,52 @@ get_ulonglong(PyObject *v, unsigned PY_LONG_LONG *p)
#endif
+/* Same, but handling Py_ssize_t */
+
+static int
+get_ssize_t(PyObject *v, Py_ssize_t *p)
+{
+ Py_ssize_t x;
+
+ v = get_pylong(v);
+ if (v == NULL)
+ return -1;
+ assert(PyLong_Check(v));
+ x = PyLong_AsSsize_t(v);
+ Py_DECREF(v);
+ if (x == (Py_ssize_t)-1 && PyErr_Occurred()) {
+ if (PyErr_ExceptionMatches(PyExc_OverflowError))
+ PyErr_SetString(StructError,
+ "argument out of range");
+ return -1;
+ }
+ *p = x;
+ return 0;
+}
+
+/* Same, but handling size_t */
+
+static int
+get_size_t(PyObject *v, size_t *p)
+{
+ size_t x;
+
+ v = get_pylong(v);
+ if (v == NULL)
+ return -1;
+ assert(PyLong_Check(v));
+ x = PyLong_AsSize_t(v);
+ Py_DECREF(v);
+ if (x == (size_t)-1 && PyErr_Occurred()) {
+ if (PyErr_ExceptionMatches(PyExc_OverflowError))
+ PyErr_SetString(StructError,
+ "argument out of range");
+ return -1;
+ }
+ *p = x;
+ return 0;
+}
+
#define RANGE_ERROR(x, f, flag, mask) return _range_error(f, flag)
@@ -369,6 +417,23 @@ nu_ulong(const char *p, const formatdef *f)
return PyLong_FromUnsignedLong(x);
}
+static PyObject *
+nu_ssize_t(const char *p, const formatdef *f)
+{
+ Py_ssize_t x;
+ memcpy((char *)&x, p, sizeof x);
+ return PyLong_FromSsize_t(x);
+}
+
+static PyObject *
+nu_size_t(const char *p, const formatdef *f)
+{
+ size_t x;
+ memcpy((char *)&x, p, sizeof x);
+ return PyLong_FromSize_t(x);
+}
+
+
/* Native mode doesn't support q or Q unless the platform C supports
long long (or, on Windows, __int64). */
@@ -558,6 +623,26 @@ np_ulong(char *p, PyObject *v, const formatdef *f)
return 0;
}
+static int
+np_ssize_t(char *p, PyObject *v, const formatdef *f)
+{
+ Py_ssize_t x;
+ if (get_ssize_t(v, &x) < 0)
+ return -1;
+ memcpy(p, (char *)&x, sizeof x);
+ return 0;
+}
+
+static int
+np_size_t(char *p, PyObject *v, const formatdef *f)
+{
+ size_t x;
+ if (get_size_t(v, &x) < 0)
+ return -1;
+ memcpy(p, (char *)&x, sizeof x);
+ return 0;
+}
+
#ifdef HAVE_LONG_LONG
static int
@@ -651,6 +736,8 @@ static formatdef native_table[] = {
{'I', sizeof(int), INT_ALIGN, nu_uint, np_uint},
{'l', sizeof(long), LONG_ALIGN, nu_long, np_long},
{'L', sizeof(long), LONG_ALIGN, nu_ulong, np_ulong},
+ {'n', sizeof(size_t), SIZE_T_ALIGN, nu_ssize_t, np_ssize_t},
+ {'N', sizeof(size_t), SIZE_T_ALIGN, nu_size_t, np_size_t},
#ifdef HAVE_LONG_LONG
{'q', sizeof(PY_LONG_LONG), LONG_LONG_ALIGN, nu_longlong, np_longlong},
{'Q', sizeof(PY_LONG_LONG), LONG_LONG_ALIGN, nu_ulonglong,np_ulonglong},
@@ -1951,7 +2038,8 @@ these can be preceded by a decimal repeat count:\n\
l:long; L:unsigned long; f:float; d:double.\n\
Special cases (preceding decimal count indicates length):\n\
s:string (array of char); p: pascal string (with count byte).\n\
-Special case (only available in native format):\n\
+Special cases (only available in native format):\n\
+ n:ssize_t; N:size_t;\n\
P:an integer type that is wide enough to hold a pointer.\n\
Special case (not in native mode unless 'long long' in platform C):\n\
q:long long; Q:unsigned long long\n\
diff --git a/Modules/_testcapimodule.c b/Modules/_testcapimodule.c
index 6c61f7d..a9bb5be 100644
--- a/Modules/_testcapimodule.c
+++ b/Modules/_testcapimodule.c
@@ -22,14 +22,7 @@ static PyObject *TestError; /* set to exception object in init */
static PyObject *
raiseTestError(const char* test_name, const char* msg)
{
- char buf[2048];
-
- if (strlen(test_name) + strlen(msg) > sizeof(buf) - 50)
- PyErr_SetString(TestError, "internal error msg too large");
- else {
- PyOS_snprintf(buf, sizeof(buf), "%s: %s", test_name, msg);
- PyErr_SetString(TestError, buf);
- }
+ PyErr_Format(TestError, "%s: %s", test_name, msg);
return NULL;
}
@@ -43,11 +36,9 @@ static PyObject*
sizeof_error(const char* fatname, const char* typname,
int expected, int got)
{
- char buf[1024];
- PyOS_snprintf(buf, sizeof(buf),
- "%.200s #define == %d but sizeof(%.200s) == %d",
+ PyErr_Format(TestError,
+ "%s #define == %d but sizeof(%s) == %d",
fatname, expected, typname, got);
- PyErr_SetString(TestError, buf);
return (PyObject*)NULL;
}
@@ -778,6 +769,68 @@ test_long_long_and_overflow(PyObject *self)
return Py_None;
}
+/* Test the PyLong_As{Size,Ssize}_t API. At present this just tests that
+ non-integer arguments are handled correctly. It should be extended to
+ test overflow handling.
+ */
+
+static PyObject *
+test_long_as_size_t(PyObject *self)
+{
+ size_t out_u;
+ Py_ssize_t out_s;
+
+ Py_INCREF(Py_None);
+
+ out_u = PyLong_AsSize_t(Py_None);
+ if (out_u != (size_t)-1 || !PyErr_Occurred())
+ return raiseTestError("test_long_as_size_t",
+ "PyLong_AsSize_t(None) didn't complain");
+ if (!PyErr_ExceptionMatches(PyExc_TypeError))
+ return raiseTestError("test_long_as_size_t",
+ "PyLong_AsSize_t(None) raised "
+ "something other than TypeError");
+ PyErr_Clear();
+
+ out_s = PyLong_AsSsize_t(Py_None);
+ if (out_s != (Py_ssize_t)-1 || !PyErr_Occurred())
+ return raiseTestError("test_long_as_size_t",
+ "PyLong_AsSsize_t(None) didn't complain");
+ if (!PyErr_ExceptionMatches(PyExc_TypeError))
+ return raiseTestError("test_long_as_size_t",
+ "PyLong_AsSsize_t(None) raised "
+ "something other than TypeError");
+ PyErr_Clear();
+
+ /* Py_INCREF(Py_None) omitted - we already have a reference to it. */
+ return Py_None;
+}
+
+/* Test the PyLong_AsDouble API. At present this just tests that
+ non-integer arguments are handled correctly.
+ */
+
+static PyObject *
+test_long_as_double(PyObject *self)
+{
+ double out;
+
+ Py_INCREF(Py_None);
+
+ out = PyLong_AsDouble(Py_None);
+ if (out != -1.0 || !PyErr_Occurred())
+ return raiseTestError("test_long_as_double",
+ "PyLong_AsDouble(None) didn't complain");
+ if (!PyErr_ExceptionMatches(PyExc_TypeError))
+ return raiseTestError("test_long_as_double",
+ "PyLong_AsDouble(None) raised "
+ "something other than TypeError");
+ PyErr_Clear();
+
+ /* Py_INCREF(Py_None) omitted - we already have a reference to it. */
+ return Py_None;
+}
+
/* Test the L code for PyArg_ParseTuple. This should deliver a PY_LONG_LONG
for both long and int arguments. The test may leak a little memory if
it fails.
@@ -1012,6 +1065,15 @@ test_k_code(PyObject *self)
}
static PyObject *
+getargs_c(PyObject *self, PyObject *args)
+{
+ char c;
+ if (!PyArg_ParseTuple(args, "c", &c))
+ return NULL;
+ return PyBytes_FromStringAndSize(&c, 1);
+}
+
+static PyObject *
getargs_s(PyObject *self, PyObject *args)
{
char *str;
@@ -1293,7 +1355,7 @@ static PyObject *
test_Z_code(PyObject *self)
{
PyObject *tuple, *obj;
- Py_UNICODE *value1, *value2;
+ const Py_UNICODE *value1, *value2;
Py_ssize_t len1, len2;
tuple = PyTuple_New(2);
@@ -1347,6 +1409,7 @@ test_widechar(PyObject *self)
#if defined(SIZEOF_WCHAR_T) && (SIZEOF_WCHAR_T == 4)
const wchar_t wtext[2] = {(wchar_t)0x10ABCDu};
size_t wtextlen = 1;
+ const wchar_t invalid[1] = {(wchar_t)0x110000u};
#else
const wchar_t wtext[3] = {(wchar_t)0xDBEAu, (wchar_t)0xDFCDu};
size_t wtextlen = 2;
@@ -1363,7 +1426,7 @@ test_widechar(PyObject *self)
return NULL;
}
- if (PyUnicode_GET_SIZE(wide) != PyUnicode_GET_SIZE(utf8)) {
+ if (PyUnicode_GET_LENGTH(wide) != PyUnicode_GET_LENGTH(utf8)) {
Py_DECREF(wide);
Py_DECREF(utf8);
return raiseTestError("test_widechar",
@@ -1382,6 +1445,23 @@ test_widechar(PyObject *self)
Py_DECREF(wide);
Py_DECREF(utf8);
+
+#if defined(SIZEOF_WCHAR_T) && (SIZEOF_WCHAR_T == 4)
+ wide = PyUnicode_FromWideChar(invalid, 1);
+ if (wide == NULL)
+ PyErr_Clear();
+ else
+ return raiseTestError("test_widechar",
+ "PyUnicode_FromWideChar(L\"\\U00110000\", 1) didn't fail");
+
+ wide = PyUnicode_FromUnicode(invalid, 1);
+ if (wide == NULL)
+ PyErr_Clear();
+ else
+ return raiseTestError("test_widechar",
+ "PyUnicode_FromUnicode(L\"\\U00110000\", 1) didn't fail");
+#endif
+
Py_RETURN_NONE;
}
@@ -1576,7 +1656,7 @@ test_long_numbits(PyObject *self)
{-0xfffffffL, 28, -1}};
int i;
- for (i = 0; i < sizeof(testcases) / sizeof(struct triple); ++i) {
+ for (i = 0; i < Py_ARRAY_LENGTH(testcases); ++i) {
PyObject *plong = PyLong_FromLong(testcases[i].input);
size_t nbits = _PyLong_NumBits(plong);
int sign = _PyLong_Sign(plong);
@@ -1786,13 +1866,12 @@ test_string_from_format(PyObject *self, PyObject *args)
{
PyObject *result;
char *msg;
- static const Py_UNICODE one[] = {'1', 0};
#define CHECK_1_FORMAT(FORMAT, TYPE) \
result = PyUnicode_FromFormat(FORMAT, (TYPE)1); \
if (result == NULL) \
return NULL; \
- if (Py_UNICODE_strcmp(PyUnicode_AS_UNICODE(result), one)) { \
+ if (PyUnicode_CompareWithASCIIString(result, "1")) { \
msg = FORMAT " failed at 1"; \
goto Fail; \
} \
@@ -2312,6 +2391,8 @@ static PyMethodDef TestMethods[] = {
{"test_long_api", (PyCFunction)test_long_api, METH_NOARGS},
{"test_long_and_overflow", (PyCFunction)test_long_and_overflow,
METH_NOARGS},
+ {"test_long_as_double", (PyCFunction)test_long_as_double,METH_NOARGS},
+ {"test_long_as_size_t", (PyCFunction)test_long_as_size_t,METH_NOARGS},
{"test_long_numbits", (PyCFunction)test_long_numbits, METH_NOARGS},
{"test_k_code", (PyCFunction)test_k_code, METH_NOARGS},
{"test_empty_argparse", (PyCFunction)test_empty_argparse,METH_NOARGS},
@@ -2343,6 +2424,7 @@ static PyMethodDef TestMethods[] = {
(PyCFunction)test_long_long_and_overflow, METH_NOARGS},
{"test_L_code", (PyCFunction)test_L_code, METH_NOARGS},
#endif
+ {"getargs_c", getargs_c, METH_VARARGS},
{"getargs_s", getargs_s, METH_VARARGS},
{"getargs_s_star", getargs_s_star, METH_VARARGS},
{"getargs_s_hash", getargs_s_hash, METH_VARARGS},
diff --git a/Modules/_threadmodule.c b/Modules/_threadmodule.c
index ea038de..6e39ca0 100644
--- a/Modules/_threadmodule.c
+++ b/Modules/_threadmodule.c
@@ -53,6 +53,7 @@ acquire_timed(PyThread_type_lock lock, PY_TIMEOUT_T microseconds)
_PyTime_timeval curtime;
_PyTime_timeval endtime;
+
if (microseconds > 0) {
_PyTime_gettimeofday(&endtime);
endtime.tv_sec += microseconds / (1000 * 1000);
@@ -75,7 +76,7 @@ acquire_timed(PyThread_type_lock lock, PY_TIMEOUT_T microseconds)
/* If we're using a timeout, recompute the timeout after processing
* signals, since those can take time. */
- if (microseconds >= 0) {
+ if (microseconds > 0) {
_PyTime_gettimeofday(&curtime);
microseconds = ((endtime.tv_sec - curtime.tv_sec) * 1000000 +
(endtime.tv_usec - curtime.tv_usec));
@@ -413,6 +414,12 @@ rlock_release_save(rlockobject *self)
long owner;
unsigned long count;
+ if (self->rlock_count == 0) {
+ PyErr_SetString(PyExc_RuntimeError,
+ "cannot release un-acquired lock");
+ return NULL;
+ }
+
owner = self->rlock_owner;
count = self->rlock_count;
self->rlock_count = 0;
@@ -1222,11 +1229,9 @@ the suggested approach in the absence of more specific information).");
static PyMethodDef thread_methods[] = {
{"start_new_thread", (PyCFunction)thread_PyThread_start_new_thread,
- METH_VARARGS,
- start_new_doc},
+ METH_VARARGS, start_new_doc},
{"start_new", (PyCFunction)thread_PyThread_start_new_thread,
- METH_VARARGS,
- start_new_doc},
+ METH_VARARGS, start_new_doc},
{"allocate_lock", (PyCFunction)thread_PyThread_allocate_lock,
METH_NOARGS, allocate_doc},
{"allocate", (PyCFunction)thread_PyThread_allocate_lock,
@@ -1242,8 +1247,7 @@ static PyMethodDef thread_methods[] = {
{"_count", (PyCFunction)thread__count,
METH_NOARGS, _count_doc},
{"stack_size", (PyCFunction)thread_stack_size,
- METH_VARARGS,
- stack_size_doc},
+ METH_VARARGS, stack_size_doc},
{NULL, NULL} /* sentinel */
};
@@ -1307,7 +1311,9 @@ PyInit__thread(void)
/* Add a symbolic constant */
d = PyModule_GetDict(m);
- ThreadError = PyErr_NewException("_thread.error", NULL, NULL);
+ ThreadError = PyExc_RuntimeError;
+ Py_INCREF(ThreadError);
+
PyDict_SetItemString(d, "error", ThreadError);
Locktype.tp_doc = lock_doc;
Py_INCREF(&Locktype);
diff --git a/Modules/_tkinter.c b/Modules/_tkinter.c
index 3608e2d..abbe0ec 100644
--- a/Modules/_tkinter.c
+++ b/Modules/_tkinter.c
@@ -80,18 +80,6 @@ Copyright (C) 1994 Steen Lumholt.
#error "Tk older than 8.3.1 not supported"
#endif
-/* Unicode conversion assumes that Tcl_UniChar is two bytes.
- We cannot test this directly, so we test UTF-8 size instead,
- expecting that TCL_UTF_MAX is changed if Tcl ever supports
- either UTF-16 or UCS-4.
- Redhat 8 sets TCL_UTF_MAX to 6, and uses wchar_t for
- Tcl_Unichar. This is also ok as long as Python uses UCS-4,
- as well.
-*/
-#if TCL_UTF_MAX != 3 && !(defined(Py_UNICODE_WIDE) && TCL_UTF_MAX==6)
-#error "unsupported Tcl configuration"
-#endif
-
#if !(defined(MS_WINDOWS) || defined(__CYGWIN__))
#define HAVE_CREATEFILEHANDLER
#endif
@@ -975,40 +963,46 @@ AsObj(PyObject *value)
return result;
}
else if (PyUnicode_Check(value)) {
- Py_UNICODE *inbuf = PyUnicode_AS_UNICODE(value);
- Py_ssize_t size = PyUnicode_GET_SIZE(value);
- /* This #ifdef assumes that Tcl uses UCS-2.
- See TCL_UTF_MAX test above. */
-#if defined(Py_UNICODE_WIDE) && TCL_UTF_MAX == 3
+ void *inbuf;
+ Py_ssize_t size;
+ int kind;
Tcl_UniChar *outbuf = NULL;
Py_ssize_t i;
- size_t allocsize = ((size_t)size) * sizeof(Tcl_UniChar);
- if (allocsize >= size)
- outbuf = (Tcl_UniChar*)ckalloc(allocsize);
+ size_t allocsize;
+
+ if (PyUnicode_READY(value) == -1)
+ return NULL;
+
+ inbuf = PyUnicode_DATA(value);
+ size = PyUnicode_GET_LENGTH(value);
+ kind = PyUnicode_KIND(value);
+ allocsize = ((size_t)size) * sizeof(Tcl_UniChar);
+ outbuf = (Tcl_UniChar*)ckalloc(allocsize);
/* Else overflow occurred, and we take the next exit */
if (!outbuf) {
PyErr_NoMemory();
return NULL;
}
for (i = 0; i < size; i++) {
- if (inbuf[i] >= 0x10000) {
+ Py_UCS4 ch = PyUnicode_READ(kind, inbuf, i);
+ /* We cannot test for sizeof(Tcl_UniChar) directly,
+ so we test for UTF-8 size instead. */
+#if TCL_UTF_MAX == 3
+ if (ch >= 0x10000) {
/* Tcl doesn't do UTF-16, yet. */
PyErr_Format(PyExc_ValueError,
"character U+%x is above the range "
"(U+0000-U+FFFF) allowed by Tcl",
- inbuf[i]);
+ ch);
ckfree(FREECAST outbuf);
return NULL;
+#endif
}
- outbuf[i] = inbuf[i];
+ outbuf[i] = ch;
}
result = Tcl_NewUnicodeObj(outbuf, size);
ckfree(FREECAST outbuf);
return result;
-#else
- return Tcl_NewUnicodeObj(inbuf, size);
-#endif
-
}
else if(PyTclObject_Check(value)) {
Tcl_Obj *v = ((PyTclObject*)value)->value;
@@ -1090,24 +1084,14 @@ FromObj(PyObject* tkapp, Tcl_Obj *value)
}
if (value->typePtr == app->StringType) {
-#if defined(Py_UNICODE_WIDE) && TCL_UTF_MAX==3
- PyObject *result;
- int size;
- Tcl_UniChar *input;
- Py_UNICODE *output;
-
- size = Tcl_GetCharLength(value);
- result = PyUnicode_FromUnicode(NULL, size);
- if (!result)
- return NULL;
- input = Tcl_GetUnicode(value);
- output = PyUnicode_AS_UNICODE(result);
- while (size--)
- *output++ = *input++;
- return result;
+#if TCL_UTF_MAX==3
+ return PyUnicode_FromKindAndData(
+ PyUnicode_2BYTE_KIND, Tcl_GetUnicode(value),
+ Tcl_GetCharLength(value));
#else
- return PyUnicode_FromUnicode(Tcl_GetUnicode(value),
- Tcl_GetCharLength(value));
+ return PyUnicode_FromKindAndData(
+ PyUnicode_4BYTE_KIND, Tcl_GetUnicode(value),
+ Tcl_GetCharLength(value));
#endif
}
@@ -2007,7 +1991,7 @@ static int
PythonCmd(ClientData clientData, Tcl_Interp *interp, int argc, char *argv[])
{
PythonCmd_ClientData *data = (PythonCmd_ClientData *)clientData;
- PyObject *self, *func, *arg, *res;
+ PyObject *func, *arg, *res;
int i, rv;
Tcl_Obj *obj_res;
@@ -2016,7 +2000,6 @@ PythonCmd(ClientData clientData, Tcl_Interp *interp, int argc, char *argv[])
/* TBD: no error checking here since we know, via the
* Tkapp_CreateCommand() that the client data is a two-tuple
*/
- self = data->self;
func = data->func;
/* Create argument list (argv1, ..., argvN) */
@@ -2415,11 +2398,9 @@ static PyObject *
Tktt_Repr(PyObject *self)
{
TkttObject *v = (TkttObject *)self;
- char buf[100];
-
- PyOS_snprintf(buf, sizeof(buf), "<tktimertoken at %p%s>", v,
- v->func == NULL ? ", handler deleted" : "");
- return PyUnicode_FromString(buf);
+ return PyUnicode_FromFormat("<tktimertoken at %p%s>",
+ v,
+ v->func == NULL ? ", handler deleted" : "");
}
static PyTypeObject Tktt_Type =
diff --git a/Modules/arraymodule.c b/Modules/arraymodule.c
index 641e283..76a3a65 100644
--- a/Modules/arraymodule.c
+++ b/Modules/arraymodule.c
@@ -22,7 +22,7 @@ struct arrayobject; /* Forward */
* functions aren't visible yet.
*/
struct arraydescr {
- Py_UNICODE typecode;
+ char typecode;
int itemsize;
PyObject * (*getitem)(struct arrayobject *, Py_ssize_t);
int (*setitem)(struct arrayobject *, Py_ssize_t, PyObject *);
@@ -174,24 +174,25 @@ BB_setitem(arrayobject *ap, Py_ssize_t i, PyObject *v)
static PyObject *
u_getitem(arrayobject *ap, Py_ssize_t i)
{
- return PyUnicode_FromUnicode(&((Py_UNICODE *) ap->ob_item)[i], 1);
+ return PyUnicode_FromOrdinal(((Py_UCS4 *) ap->ob_item)[i]);
}
static int
u_setitem(arrayobject *ap, Py_ssize_t i, PyObject *v)
{
- Py_UNICODE *p;
- Py_ssize_t len;
+ PyObject *p;
- if (!PyArg_Parse(v, "u#;array item must be unicode character", &p, &len))
+ if (!PyArg_Parse(v, "U;array item must be unicode character", &p))
+ return -1;
+ if (PyUnicode_READY(p))
return -1;
- if (len != 1) {
+ if (PyUnicode_GET_LENGTH(p) != 1) {
PyErr_SetString(PyExc_TypeError,
"array item must be unicode character");
return -1;
}
if (i >= 0)
- ((Py_UNICODE *)ap->ob_item)[i] = p[0];
+ ((Py_UCS4 *)ap->ob_item)[i] = PyUnicode_READ_CHAR(p, 0);
return 0;
}
@@ -356,6 +357,59 @@ LL_setitem(arrayobject *ap, Py_ssize_t i, PyObject *v)
return 0;
}
+#ifdef HAVE_LONG_LONG
+
+static PyObject *
+q_getitem(arrayobject *ap, Py_ssize_t i)
+{
+ return PyLong_FromLongLong(((PY_LONG_LONG *)ap->ob_item)[i]);
+}
+
+static int
+q_setitem(arrayobject *ap, Py_ssize_t i, PyObject *v)
+{
+ PY_LONG_LONG x;
+ if (!PyArg_Parse(v, "L;array item must be integer", &x))
+ return -1;
+ if (i >= 0)
+ ((PY_LONG_LONG *)ap->ob_item)[i] = x;
+ return 0;
+}
+
+static PyObject *
+QQ_getitem(arrayobject *ap, Py_ssize_t i)
+{
+ return PyLong_FromUnsignedLongLong(
+ ((unsigned PY_LONG_LONG *)ap->ob_item)[i]);
+}
+
+static int
+QQ_setitem(arrayobject *ap, Py_ssize_t i, PyObject *v)
+{
+ unsigned PY_LONG_LONG x;
+ if (PyLong_Check(v)) {
+ x = PyLong_AsUnsignedLongLong(v);
+ if (x == (unsigned PY_LONG_LONG) -1 && PyErr_Occurred())
+ return -1;
+ }
+ else {
+ PY_LONG_LONG y;
+ if (!PyArg_Parse(v, "L;array item must be integer", &y))
+ return -1;
+ if (y < 0) {
+ PyErr_SetString(PyExc_OverflowError,
+ "unsigned long long is less than minimum");
+ return -1;
+ }
+ x = (unsigned PY_LONG_LONG)y;
+ }
+
+ if (i >= 0)
+ ((unsigned PY_LONG_LONG *)ap->ob_item)[i] = x;
+ return 0;
+}
+#endif
+
static PyObject *
f_getitem(arrayobject *ap, Py_ssize_t i)
{
@@ -390,6 +444,13 @@ d_setitem(arrayobject *ap, Py_ssize_t i, PyObject *v)
return 0;
}
+#if SIZEOF_INT == 4
+# define STRUCT_LONG_FORMAT "I"
+#elif SIZEOF_LONG == 4
+# define STRUCT_LONG_FORMAT "L"
+#else
+# error "Unable to get struct format for Py_UCS4"
+#endif
/* Description of types.
*
@@ -399,13 +460,17 @@ d_setitem(arrayobject *ap, Py_ssize_t i, PyObject *v)
static struct arraydescr descriptors[] = {
{'b', 1, b_getitem, b_setitem, "b", 1, 1},
{'B', 1, BB_getitem, BB_setitem, "B", 1, 0},
- {'u', sizeof(Py_UNICODE), u_getitem, u_setitem, "u", 0, 0},
+ {'u', sizeof(Py_UCS4), u_getitem, u_setitem, STRUCT_LONG_FORMAT, 0, 0},
{'h', sizeof(short), h_getitem, h_setitem, "h", 1, 1},
{'H', sizeof(short), HH_getitem, HH_setitem, "H", 1, 0},
{'i', sizeof(int), i_getitem, i_setitem, "i", 1, 1},
{'I', sizeof(int), II_getitem, II_setitem, "I", 1, 0},
{'l', sizeof(long), l_getitem, l_setitem, "l", 1, 1},
{'L', sizeof(long), LL_getitem, LL_setitem, "L", 1, 0},
+#ifdef HAVE_LONG_LONG
+ {'q', sizeof(PY_LONG_LONG), q_getitem, q_setitem, "q", 1, 1},
+ {'Q', sizeof(PY_LONG_LONG), QQ_getitem, QQ_setitem, "Q", 1, 0},
+#endif
{'f', sizeof(float), f_getitem, f_setitem, "f", 0, 0},
{'d', sizeof(double), d_getitem, d_setitem, "d", 0, 0},
{'\0', 0, 0, 0, 0, 0, 0} /* Sentinel */
@@ -514,10 +579,8 @@ array_richcompare(PyObject *v, PyObject *w, int op)
Py_ssize_t i, k;
PyObject *res;
- if (!array_Check(v) || !array_Check(w)) {
- Py_INCREF(Py_NotImplemented);
- return Py_NotImplemented;
- }
+ if (!array_Check(v) || !array_Check(w))
+ Py_RETURN_NOTIMPLEMENTED;
va = (arrayobject *)v;
wa = (arrayobject *)w;
@@ -876,7 +939,6 @@ array_inplace_repeat(arrayobject *self, Py_ssize_t n)
if (Py_SIZE(self) > 0) {
if (n < 0)
n = 0;
- items = self->ob_item;
if ((self->ob_descr->itemsize != 0) &&
(Py_SIZE(self) > PY_SSIZE_T_MAX / self->ob_descr->itemsize)) {
return PyErr_NoMemory();
@@ -1191,6 +1253,7 @@ array_fromfile(arrayobject *self, PyObject *args)
PyObject *f, *b, *res;
Py_ssize_t itemsize = self->ob_descr->itemsize;
Py_ssize_t n, nbytes;
+ _Py_IDENTIFIER(read);
int not_enough_bytes;
if (!PyArg_ParseTuple(args, "On:fromfile", &f, &n))
@@ -1202,7 +1265,7 @@ array_fromfile(arrayobject *self, PyObject *args)
return NULL;
}
- b = PyObject_CallMethod(f, "read", "n", nbytes);
+ b = _PyObject_CallMethodId(f, &PyId_read, "n", nbytes);
if (b == NULL)
return NULL;
@@ -1259,12 +1322,14 @@ array_tofile(arrayobject *self, PyObject *f)
char* ptr = self->ob_item + i*BLOCKSIZE;
Py_ssize_t size = BLOCKSIZE;
PyObject *bytes, *res;
+ _Py_IDENTIFIER(write);
+
if (i*BLOCKSIZE + size > nbytes)
size = nbytes - i*BLOCKSIZE;
bytes = PyBytes_FromStringAndSize(ptr, size);
if (bytes == NULL)
return NULL;
- res = PyObject_CallMethod(f, "write", "O", bytes);
+ res = _PyObject_CallMethodId(f, &PyId_write, "O", bytes);
Py_DECREF(bytes);
if (res == NULL)
return NULL;
@@ -1454,25 +1519,26 @@ This method is deprecated. Use tobytes instead.");
static PyObject *
array_fromunicode(arrayobject *self, PyObject *args)
{
- Py_UNICODE *ustr;
+ PyObject *ustr;
Py_ssize_t n;
- Py_UNICODE typecode;
- if (!PyArg_ParseTuple(args, "u#:fromunicode", &ustr, &n))
+ if (!PyArg_ParseTuple(args, "U:fromunicode", &ustr))
return NULL;
- typecode = self->ob_descr->typecode;
- if ((typecode != 'u')) {
+ if (self->ob_descr->typecode != 'u') {
PyErr_SetString(PyExc_ValueError,
"fromunicode() may only be called on "
"unicode type arrays");
return NULL;
}
+ if (PyUnicode_READY(ustr))
+ return NULL;
+ n = PyUnicode_GET_LENGTH(ustr);
if (n > 0) {
Py_ssize_t old_size = Py_SIZE(self);
if (array_resize(self, old_size + n) == -1)
return NULL;
- memcpy(self->ob_item + old_size * sizeof(Py_UNICODE),
- ustr, n * sizeof(Py_UNICODE));
+ if (!PyUnicode_AsUCS4(ustr, (Py_UCS4 *)self->ob_item + old_size, n, 0))
+ return NULL;
}
Py_INCREF(Py_None);
@@ -1491,14 +1557,14 @@ append Unicode data to an array of some other type.");
static PyObject *
array_tounicode(arrayobject *self, PyObject *unused)
{
- Py_UNICODE typecode;
- typecode = self->ob_descr->typecode;
- if ((typecode != 'u')) {
+ if (self->ob_descr->typecode != 'u') {
PyErr_SetString(PyExc_ValueError,
"tounicode() may only be called on unicode type arrays");
return NULL;
}
- return PyUnicode_FromUnicode((Py_UNICODE *) self->ob_item, Py_SIZE(self));
+ return PyUnicode_FromKindAndData(PyUnicode_4BYTE_KIND,
+ (Py_UCS4 *) self->ob_item,
+ Py_SIZE(self));
}
PyDoc_STRVAR(tounicode_doc,
@@ -1588,7 +1654,7 @@ static const struct mformatdescr {
* be found.
*/
static enum machine_format_code
-typecode_to_mformat_code(int typecode)
+typecode_to_mformat_code(char typecode)
{
#ifdef WORDS_BIGENDIAN
const int is_big_endian = 1;
@@ -1605,13 +1671,7 @@ typecode_to_mformat_code(int typecode)
return UNSIGNED_INT8;
case 'u':
- if (sizeof(Py_UNICODE) == 2) {
- return UTF16_LE + is_big_endian;
- }
- if (sizeof(Py_UNICODE) == 4) {
- return UTF32_LE + is_big_endian;
- }
- return UNKNOWN_FORMAT;
+ return UTF32_LE + is_big_endian;
case 'f':
if (sizeof(float) == 4) {
@@ -1658,6 +1718,16 @@ typecode_to_mformat_code(int typecode)
intsize = sizeof(long);
is_signed = 0;
break;
+#if HAVE_LONG_LONG
+ case 'q':
+ intsize = sizeof(PY_LONG_LONG);
+ is_signed = 1;
+ break;
+ case 'Q':
+ intsize = sizeof(PY_LONG_LONG);
+ is_signed = 0;
+ break;
+#endif
default:
return UNKNOWN_FORMAT;
}
@@ -1688,7 +1758,7 @@ static PyObject *array_new(PyTypeObject *type, PyObject *args, PyObject *kwds);
* NULL is returned to indicate a failure.
*/
static PyObject *
-make_array(PyTypeObject *arraytype, Py_UNICODE typecode, PyObject *items)
+make_array(PyTypeObject *arraytype, char typecode, PyObject *items)
{
PyObject *new_args;
PyObject *array_obj;
@@ -1697,7 +1767,7 @@ make_array(PyTypeObject *arraytype, Py_UNICODE typecode, PyObject *items)
assert(arraytype != NULL);
assert(items != NULL);
- typecode_obj = PyUnicode_FromUnicode(&typecode, 1);
+ typecode_obj = PyUnicode_FromOrdinal(typecode);
if (typecode_obj == NULL)
return NULL;
@@ -1727,17 +1797,14 @@ array_reconstructor(PyObject *self, PyObject *args)
PyObject *items;
PyObject *converted_items;
PyObject *result;
- int typecode_int;
- Py_UNICODE typecode;
+ int typecode;
enum machine_format_code mformat_code;
struct arraydescr *descr;
if (!PyArg_ParseTuple(args, "OCiO:array._array_reconstructor",
- &arraytype, &typecode_int, &mformat_code, &items))
+ &arraytype, &typecode, &mformat_code, &items))
return NULL;
- typecode = (Py_UNICODE)typecode_int;
-
if (!PyType_Check(arraytype)) {
PyErr_Format(PyExc_TypeError,
"first argument must a type object, not %.200s",
@@ -1751,7 +1818,7 @@ array_reconstructor(PyObject *self, PyObject *args)
return NULL;
}
for (descr = descriptors; descr->typecode != '\0'; descr++) {
- if (descr->typecode == typecode)
+ if ((int)descr->typecode == typecode)
break;
}
if (descr->typecode == '\0') {
@@ -1773,9 +1840,9 @@ array_reconstructor(PyObject *self, PyObject *args)
}
/* Fast path: No decoding has to be done. */
- if (mformat_code == typecode_to_mformat_code(typecode) ||
+ if (mformat_code == typecode_to_mformat_code((char)typecode) ||
mformat_code == UNKNOWN_FORMAT) {
- return make_array(arraytype, typecode, items);
+ return make_array(arraytype, (char)typecode, items);
}
/* Slow path: Decode the byte string according to the given machine
@@ -1921,7 +1988,7 @@ array_reconstructor(PyObject *self, PyObject *args)
return NULL;
}
- result = make_array(arraytype, typecode, converted_items);
+ result = make_array(arraytype, (char)typecode, converted_items);
Py_DECREF(converted_items);
return result;
}
@@ -1936,14 +2003,16 @@ array_reduce_ex(arrayobject *array, PyObject *value)
int mformat_code;
static PyObject *array_reconstructor = NULL;
long protocol;
+ _Py_IDENTIFIER(_array_reconstructor);
+ _Py_IDENTIFIER(__dict__);
if (array_reconstructor == NULL) {
PyObject *array_module = PyImport_ImportModule("array");
if (array_module == NULL)
return NULL;
- array_reconstructor = PyObject_GetAttrString(
+ array_reconstructor = _PyObject_GetAttrId(
array_module,
- "_array_reconstructor");
+ &PyId__array_reconstructor);
Py_DECREF(array_module);
if (array_reconstructor == NULL)
return NULL;
@@ -1958,7 +2027,7 @@ array_reduce_ex(arrayobject *array, PyObject *value)
if (protocol == -1 && PyErr_Occurred())
return NULL;
- dict = PyObject_GetAttrString((PyObject *)array, "__dict__");
+ dict = _PyObject_GetAttrId((PyObject *)array, &PyId___dict__);
if (dict == NULL) {
if (!PyErr_ExceptionMatches(PyExc_AttributeError))
return NULL;
@@ -2010,8 +2079,8 @@ PyDoc_STRVAR(reduce_doc, "Return state information for pickling.");
static PyObject *
array_get_typecode(arrayobject *a, void *closure)
{
- Py_UNICODE tc = a->ob_descr->typecode;
- return PyUnicode_FromUnicode(&tc, 1);
+ char typecode = a->ob_descr->typecode;
+ return PyUnicode_FromOrdinal(typecode);
}
static PyObject *
@@ -2083,7 +2152,7 @@ static PyMethodDef array_methods[] = {
static PyObject *
array_repr(arrayobject *a)
{
- Py_UNICODE typecode;
+ char typecode;
PyObject *s, *v = NULL;
Py_ssize_t len;
@@ -2092,7 +2161,7 @@ array_repr(arrayobject *a)
if (len == 0) {
return PyUnicode_FromFormat("array('%c')", (int)typecode);
}
- if ((typecode == 'u'))
+ if (typecode == 'u')
v = array_tounicode(a, NULL);
else
v = array_tolist(a, NULL);
@@ -2287,7 +2356,7 @@ array_ass_subscr(arrayobject* self, PyObject* item, PyObject* value)
self->ob_item + (cur + 1) * itemsize,
lim * itemsize);
}
- cur = start + slicelength * step;
+ cur = start + (size_t)slicelength * step;
if (cur < (size_t)Py_SIZE(self)) {
memmove(self->ob_item + (cur-slicelength) * itemsize,
self->ob_item + cur * itemsize,
@@ -2350,14 +2419,8 @@ array_buffer_getbuf(arrayobject *self, Py_buffer *view, int flags)
view->strides = &(view->itemsize);
view->format = NULL;
view->internal = NULL;
- if ((flags & PyBUF_FORMAT) == PyBUF_FORMAT) {
+ if ((flags & PyBUF_FORMAT) == PyBUF_FORMAT)
view->format = self->ob_descr->formats;
-#ifdef Py_UNICODE_WIDE
- if (self->ob_descr->typecode == 'u') {
- view->format = "w";
- }
-#endif
- }
finish:
self->ob_exports++;
@@ -2471,19 +2534,25 @@ array_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
Py_DECREF(v);
}
else if (initial != NULL && PyUnicode_Check(initial)) {
- Py_ssize_t n = PyUnicode_GET_DATA_SIZE(initial);
+ Py_ssize_t n;
+ if (PyUnicode_READY(initial)) {
+ Py_DECREF(a);
+ return NULL;
+ }
+ n = PyUnicode_GET_LENGTH(initial);
if (n > 0) {
arrayobject *self = (arrayobject *)a;
- char *item = self->ob_item;
- item = (char *)PyMem_Realloc(item, n);
+ Py_UCS4 *item = (Py_UCS4 *)self->ob_item;
+ item = (Py_UCS4 *)PyMem_Realloc(item, n * sizeof(Py_UCS4));
if (item == NULL) {
PyErr_NoMemory();
Py_DECREF(a);
return NULL;
}
- self->ob_item = item;
- Py_SIZE(self) = n / sizeof(Py_UNICODE);
- memcpy(item, PyUnicode_AS_DATA(initial), n);
+ self->ob_item = (char*)item;
+ Py_SIZE(self) = n;
+ if (!PyUnicode_AsUCS4(initial, item, n, 0))
+ return NULL;
self->allocated = Py_SIZE(self);
}
}
@@ -2504,7 +2573,11 @@ array_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
}
}
PyErr_SetString(PyExc_ValueError,
+#ifdef HAVE_LONG_LONG
+ "bad typecode (must be b, B, u, h, H, i, I, l, L, q, Q, f or d)");
+#else
"bad typecode (must be b, B, u, h, H, i, I, l, L, f or d)");
+#endif
return NULL;
}
@@ -2520,18 +2593,21 @@ is a single character. The following type codes are defined:\n\
Type code C Type Minimum size in bytes \n\
'b' signed integer 1 \n\
'B' unsigned integer 1 \n\
- 'u' Unicode character 2 (see note) \n\
+ 'u' Unicode character 4 \n\
'h' signed integer 2 \n\
'H' unsigned integer 2 \n\
'i' signed integer 2 \n\
'I' unsigned integer 2 \n\
'l' signed integer 4 \n\
'L' unsigned integer 4 \n\
+ 'q' signed integer 8 (see note) \n\
+ 'Q' unsigned integer 8 (see note) \n\
'f' floating point 4 \n\
'd' floating point 8 \n\
\n\
-NOTE: The 'u' typecode corresponds to Python's unicode character. On \n\
-narrow builds this is 2-bytes on wide builds this is 4-bytes.\n\
+NOTE: The 'q' and 'Q' type codes are only available if the platform \n\
+C compiler used to build Python supports 'long long', or, on Windows, \n\
+'__int64'.\n\
\n\
The constructor is:\n\
\n\
@@ -2736,9 +2812,9 @@ PyMODINIT_FUNC
PyInit_array(void)
{
PyObject *m;
+ char buffer[Py_ARRAY_LENGTH(descriptors)], *p;
PyObject *typecodes;
Py_ssize_t size = 0;
- register Py_UNICODE *p;
struct arraydescr *descr;
if (PyType_Ready(&Arraytype) < 0)
@@ -2757,13 +2833,13 @@ PyInit_array(void)
size++;
}
- typecodes = PyUnicode_FromStringAndSize(NULL, size);
- p = PyUnicode_AS_UNICODE(typecodes);
+ p = buffer;
for (descr = descriptors; descr->typecode != '\0'; descr++) {
*p++ = (char)descr->typecode;
}
+ typecodes = PyUnicode_DecodeASCII(buffer, p - buffer, NULL);
- PyModule_AddObject(m, "typecodes", (PyObject *)typecodes);
+ PyModule_AddObject(m, "typecodes", typecodes);
if (PyErr_Occurred()) {
Py_DECREF(m);
diff --git a/Modules/audioop.c b/Modules/audioop.c
index a031d42..daf70dc 100644
--- a/Modules/audioop.c
+++ b/Modules/audioop.c
@@ -513,7 +513,6 @@ audioop_findfit(PyObject *self, PyObject *args)
best_result = result;
best_j = 0;
- j = 0;
for ( j=1; j<=len1-len2; j++) {
aj_m1 = (double)cp1[j-1];
@@ -599,7 +598,6 @@ audioop_findmax(PyObject *self, PyObject *args)
best_result = result;
best_j = 0;
- j = 0;
for ( j=1; j<=len1-len2; j++) {
aj_m1 = (double)cp1[j-1];
@@ -1433,7 +1431,6 @@ audioop_lin2adpcm(PyObject *self, PyObject *args)
if ( state == Py_None ) {
/* First time, it seems. Set defaults */
valpred = 0;
- step = 7;
index = 0;
} else if ( !PyArg_ParseTuple(state, "ii", &valpred, &index) )
return 0;
@@ -1534,7 +1531,6 @@ audioop_adpcm2lin(PyObject *self, PyObject *args)
if ( state == Py_None ) {
/* First time, it seems. Set defaults */
valpred = 0;
- step = 7;
index = 0;
} else if ( !PyArg_ParseTuple(state, "ii", &valpred, &index) )
return 0;
diff --git a/Modules/binascii.c b/Modules/binascii.c
index 19681b4..ad5e1b1 100644
--- a/Modules/binascii.c
+++ b/Modules/binascii.c
@@ -183,6 +183,44 @@ static unsigned short crctab_hqx[256] = {
0x6e17, 0x7e36, 0x4e55, 0x5e74, 0x2e93, 0x3eb2, 0x0ed1, 0x1ef0,
};
+static int
+ascii_buffer_converter(PyObject *arg, Py_buffer *buf)
+{
+ if (arg == NULL) {
+ PyBuffer_Release(buf);
+ return 1;
+ }
+ if (PyUnicode_Check(arg)) {
+ if (PyUnicode_READY(arg) < 0)
+ return 0;
+ if (!PyUnicode_IS_ASCII(arg)) {
+ PyErr_SetString(PyExc_ValueError,
+ "string argument should contain only ASCII characters");
+ return 0;
+ }
+ assert(PyUnicode_KIND(arg) == PyUnicode_1BYTE_KIND);
+ buf->buf = (void *) PyUnicode_1BYTE_DATA(arg);
+ buf->len = PyUnicode_GET_LENGTH(arg);
+ buf->obj = NULL;
+ return 1;
+ }
+ if (PyObject_GetBuffer(arg, buf, PyBUF_SIMPLE) != 0) {
+ PyErr_Format(PyExc_TypeError,
+ "argument should be bytes, buffer or ASCII string, "
+ "not %R", Py_TYPE(arg));
+ return 0;
+ }
+ if (!PyBuffer_IsContiguous(buf, 'C')) {
+ PyErr_Format(PyExc_TypeError,
+ "argument should be a contiguous buffer, "
+ "not %R", Py_TYPE(arg));
+ PyBuffer_Release(buf);
+ return 0;
+ }
+ return Py_CLEANUP_SUPPORTED;
+}
+
+
PyDoc_STRVAR(doc_a2b_uu, "(ascii) -> bin. Decode a line of uuencoded data");
static PyObject *
@@ -196,7 +234,7 @@ binascii_a2b_uu(PyObject *self, PyObject *args)
PyObject *rv;
Py_ssize_t ascii_len, bin_len;
- if ( !PyArg_ParseTuple(args, "y*:a2b_uu", &pascii) )
+ if ( !PyArg_ParseTuple(args, "O&:a2b_uu", ascii_buffer_converter, &pascii) )
return NULL;
ascii_data = pascii.buf;
ascii_len = pascii.len;
@@ -370,7 +408,7 @@ binascii_a2b_base64(PyObject *self, PyObject *args)
Py_ssize_t ascii_len, bin_len;
int quad_pos = 0;
- if ( !PyArg_ParseTuple(args, "y*:a2b_base64", &pascii) )
+ if ( !PyArg_ParseTuple(args, "O&:a2b_base64", ascii_buffer_converter, &pascii) )
return NULL;
ascii_data = pascii.buf;
ascii_len = pascii.len;
@@ -546,7 +584,7 @@ binascii_a2b_hqx(PyObject *self, PyObject *args)
Py_ssize_t len;
int done = 0;
- if ( !PyArg_ParseTuple(args, "y*:a2b_hqx", &pascii) )
+ if ( !PyArg_ParseTuple(args, "O&:a2b_hqx", ascii_buffer_converter, &pascii) )
return NULL;
ascii_data = pascii.buf;
len = pascii.len;
@@ -1078,13 +1116,11 @@ binascii_hexlify(PyObject *self, PyObject *args)
/* make hex version of string, taken from shamodule.c */
for (i=j=0; i < arglen; i++) {
- char c;
+ unsigned char c;
c = (argbuf[i] >> 4) & 0xf;
- c = (c>9) ? c+'a'-10 : c + '0';
- retbuf[j++] = c;
+ retbuf[j++] = Py_hexdigits[c];
c = argbuf[i] & 0xf;
- c = (c>9) ? c+'a'-10 : c + '0';
- retbuf[j++] = c;
+ retbuf[j++] = Py_hexdigits[c];
}
PyBuffer_Release(&parg);
return retval;
@@ -1121,7 +1157,7 @@ binascii_unhexlify(PyObject *self, PyObject *args)
char* retbuf;
Py_ssize_t i, j;
- if (!PyArg_ParseTuple(args, "y*:a2b_hex", &parg))
+ if (!PyArg_ParseTuple(args, "O&:a2b_hex", ascii_buffer_converter, &parg))
return NULL;
argbuf = parg.buf;
arglen = parg.len;
@@ -1199,8 +1235,8 @@ binascii_a2b_qp(PyObject *self, PyObject *args, PyObject *kwargs)
static char *kwlist[] = {"data", "header", NULL};
int header = 0;
- if (!PyArg_ParseTupleAndKeywords(args, kwargs, "y*|i", kwlist, &pdata,
- &header))
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&|i:a2b_qp", kwlist,
+ ascii_buffer_converter, &pdata, &header))
return NULL;
data = pdata.buf;
datalen = pdata.len;
diff --git a/Modules/bz2module.c b/Modules/bz2module.c
deleted file mode 100644
index a671e8d..0000000
--- a/Modules/bz2module.c
+++ /dev/null
@@ -1,2169 +0,0 @@
-/*
-
-python-bz2 - python bz2 library interface
-
-Copyright (c) 2002 Gustavo Niemeyer <niemeyer@conectiva.com>
-Copyright (c) 2002 Python Software Foundation; All Rights Reserved
-
-*/
-
-#include "Python.h"
-#include <stdio.h>
-#include <bzlib.h>
-#include "structmember.h"
-
-#ifdef WITH_THREAD
-#include "pythread.h"
-#endif
-
-static char __author__[] =
-"The bz2 python module was written by:\n\
-\n\
- Gustavo Niemeyer <niemeyer@conectiva.com>\n\
-";
-
-/* Our very own off_t-like type, 64-bit if possible */
-/* copied from Objects/fileobject.c */
-#if !defined(HAVE_LARGEFILE_SUPPORT)
-typedef off_t Py_off_t;
-#elif SIZEOF_OFF_T >= 8
-typedef off_t Py_off_t;
-#elif SIZEOF_FPOS_T >= 8
-typedef fpos_t Py_off_t;
-#else
-#error "Large file support, but neither off_t nor fpos_t is large enough."
-#endif
-
-#define BUF(v) PyBytes_AS_STRING(v)
-
-#define MODE_CLOSED 0
-#define MODE_READ 1
-#define MODE_READ_EOF 2
-#define MODE_WRITE 3
-
-#define BZ2FileObject_Check(v) (Py_TYPE(v) == &BZ2File_Type)
-
-
-#ifdef BZ_CONFIG_ERROR
-
-#if SIZEOF_LONG >= 8
-#define BZS_TOTAL_OUT(bzs) \
- (((long)bzs->total_out_hi32 << 32) + bzs->total_out_lo32)
-#elif SIZEOF_LONG_LONG >= 8
-#define BZS_TOTAL_OUT(bzs) \
- (((PY_LONG_LONG)bzs->total_out_hi32 << 32) + bzs->total_out_lo32)
-#else
-#define BZS_TOTAL_OUT(bzs) \
- bzs->total_out_lo32
-#endif
-
-#else /* ! BZ_CONFIG_ERROR */
-
-#define BZ2_bzRead bzRead
-#define BZ2_bzReadOpen bzReadOpen
-#define BZ2_bzReadClose bzReadClose
-#define BZ2_bzWrite bzWrite
-#define BZ2_bzWriteOpen bzWriteOpen
-#define BZ2_bzWriteClose bzWriteClose
-#define BZ2_bzCompress bzCompress
-#define BZ2_bzCompressInit bzCompressInit
-#define BZ2_bzCompressEnd bzCompressEnd
-#define BZ2_bzDecompress bzDecompress
-#define BZ2_bzDecompressInit bzDecompressInit
-#define BZ2_bzDecompressEnd bzDecompressEnd
-
-#define BZS_TOTAL_OUT(bzs) bzs->total_out
-
-#endif /* ! BZ_CONFIG_ERROR */
-
-
-#ifdef WITH_THREAD
-#define ACQUIRE_LOCK(obj) do { \
- if (!PyThread_acquire_lock(obj->lock, 0)) { \
- Py_BEGIN_ALLOW_THREADS \
- PyThread_acquire_lock(obj->lock, 1); \
- Py_END_ALLOW_THREADS \
- } } while(0)
-#define RELEASE_LOCK(obj) PyThread_release_lock(obj->lock)
-#else
-#define ACQUIRE_LOCK(obj)
-#define RELEASE_LOCK(obj)
-#endif
-
-/* Bits in f_newlinetypes */
-#define NEWLINE_UNKNOWN 0 /* No newline seen, yet */
-#define NEWLINE_CR 1 /* \r newline seen */
-#define NEWLINE_LF 2 /* \n newline seen */
-#define NEWLINE_CRLF 4 /* \r\n newline seen */
-
-/* ===================================================================== */
-/* Structure definitions. */
-
-typedef struct {
- PyObject_HEAD
- FILE *rawfp;
-
- char* f_buf; /* Allocated readahead buffer */
- char* f_bufend; /* Points after last occupied position */
- char* f_bufptr; /* Current buffer position */
-
- BZFILE *fp;
- int mode;
- Py_off_t pos;
- Py_off_t size;
-#ifdef WITH_THREAD
- PyThread_type_lock lock;
-#endif
-} BZ2FileObject;
-
-typedef struct {
- PyObject_HEAD
- bz_stream bzs;
- int running;
-#ifdef WITH_THREAD
- PyThread_type_lock lock;
-#endif
-} BZ2CompObject;
-
-typedef struct {
- PyObject_HEAD
- bz_stream bzs;
- int running;
- PyObject *unused_data;
-#ifdef WITH_THREAD
- PyThread_type_lock lock;
-#endif
-} BZ2DecompObject;
-
-/* ===================================================================== */
-/* Utility functions. */
-
-/* Refuse regular I/O if there's data in the iteration-buffer.
- * Mixing them would cause data to arrive out of order, as the read*
- * methods don't use the iteration buffer. */
-static int
-check_iterbuffered(BZ2FileObject *f)
-{
- if (f->f_buf != NULL &&
- (f->f_bufend - f->f_bufptr) > 0 &&
- f->f_buf[0] != '\0') {
- PyErr_SetString(PyExc_ValueError,
- "Mixing iteration and read methods would lose data");
- return -1;
- }
- return 0;
-}
-
-static int
-Util_CatchBZ2Error(int bzerror)
-{
- int ret = 0;
- switch(bzerror) {
- case BZ_OK:
- case BZ_STREAM_END:
- break;
-
-#ifdef BZ_CONFIG_ERROR
- case BZ_CONFIG_ERROR:
- PyErr_SetString(PyExc_SystemError,
- "the bz2 library was not compiled "
- "correctly");
- ret = 1;
- break;
-#endif
-
- case BZ_PARAM_ERROR:
- PyErr_SetString(PyExc_ValueError,
- "the bz2 library has received wrong "
- "parameters");
- ret = 1;
- break;
-
- case BZ_MEM_ERROR:
- PyErr_NoMemory();
- ret = 1;
- break;
-
- case BZ_DATA_ERROR:
- case BZ_DATA_ERROR_MAGIC:
- PyErr_SetString(PyExc_IOError, "invalid data stream");
- ret = 1;
- break;
-
- case BZ_IO_ERROR:
- PyErr_SetString(PyExc_IOError, "unknown IO error");
- ret = 1;
- break;
-
- case BZ_UNEXPECTED_EOF:
- PyErr_SetString(PyExc_EOFError,
- "compressed file ended before the "
- "logical end-of-stream was detected");
- ret = 1;
- break;
-
- case BZ_SEQUENCE_ERROR:
- PyErr_SetString(PyExc_RuntimeError,
- "wrong sequence of bz2 library "
- "commands used");
- ret = 1;
- break;
- }
- return ret;
-}
-
-#if BUFSIZ < 8192
-#define SMALLCHUNK 8192
-#else
-#define SMALLCHUNK BUFSIZ
-#endif
-
-/* This is a hacked version of Python's fileobject.c:new_buffersize(). */
-static size_t
-Util_NewBufferSize(size_t currentsize)
-{
- /* Expand the buffer by an amount proportional to the current size,
- giving us amortized linear-time behavior. Use a less-than-double
- growth factor to avoid excessive allocation. */
- return currentsize + (currentsize >> 3) + 6;
-}
-
-/* This is a hacked version of Python's fileobject.c:get_line(). */
-static PyObject *
-Util_GetLine(BZ2FileObject *f, int n)
-{
- char c;
- char *buf, *end;
- size_t total_v_size; /* total # of slots in buffer */
- size_t used_v_size; /* # used slots in buffer */
- size_t increment; /* amount to increment the buffer */
- PyObject *v;
- int bzerror;
- int bytes_read;
-
- total_v_size = n > 0 ? n : 100;
- v = PyBytes_FromStringAndSize((char *)NULL, total_v_size);
- if (v == NULL)
- return NULL;
-
- buf = BUF(v);
- end = buf + total_v_size;
-
- for (;;) {
- Py_BEGIN_ALLOW_THREADS
- do {
- bytes_read = BZ2_bzRead(&bzerror, f->fp, &c, 1);
- f->pos++;
- if (bytes_read == 0)
- break;
- *buf++ = c;
- } while (bzerror == BZ_OK && c != '\n' && buf != end);
- Py_END_ALLOW_THREADS
- if (bzerror == BZ_STREAM_END) {
- f->size = f->pos;
- f->mode = MODE_READ_EOF;
- break;
- } else if (bzerror != BZ_OK) {
- Util_CatchBZ2Error(bzerror);
- Py_DECREF(v);
- return NULL;
- }
- if (c == '\n')
- break;
- /* Must be because buf == end */
- if (n > 0)
- break;
- used_v_size = total_v_size;
- increment = total_v_size >> 2; /* mild exponential growth */
- total_v_size += increment;
- if (total_v_size > INT_MAX) {
- PyErr_SetString(PyExc_OverflowError,
- "line is longer than a Python string can hold");
- Py_DECREF(v);
- return NULL;
- }
- if (_PyBytes_Resize(&v, total_v_size) < 0) {
- return NULL;
- }
- buf = BUF(v) + used_v_size;
- end = BUF(v) + total_v_size;
- }
-
- used_v_size = buf - BUF(v);
- if (used_v_size != total_v_size) {
- if (_PyBytes_Resize(&v, used_v_size) < 0) {
- v = NULL;
- }
- }
- return v;
-}
-
-/* This is a hacked version of Python's fileobject.c:drop_readahead(). */
-static void
-Util_DropReadAhead(BZ2FileObject *f)
-{
- if (f->f_buf != NULL) {
- PyMem_Free(f->f_buf);
- f->f_buf = NULL;
- }
-}
-
-/* This is a hacked version of Python's fileobject.c:readahead(). */
-static int
-Util_ReadAhead(BZ2FileObject *f, int bufsize)
-{
- int chunksize;
- int bzerror;
-
- if (f->f_buf != NULL) {
- if((f->f_bufend - f->f_bufptr) >= 1)
- return 0;
- else
- Util_DropReadAhead(f);
- }
- if (f->mode == MODE_READ_EOF) {
- f->f_bufptr = f->f_buf;
- f->f_bufend = f->f_buf;
- return 0;
- }
- if ((f->f_buf = PyMem_Malloc(bufsize)) == NULL) {
- PyErr_NoMemory();
- return -1;
- }
- Py_BEGIN_ALLOW_THREADS
- chunksize = BZ2_bzRead(&bzerror, f->fp, f->f_buf, bufsize);
- Py_END_ALLOW_THREADS
- f->pos += chunksize;
- if (bzerror == BZ_STREAM_END) {
- f->size = f->pos;
- f->mode = MODE_READ_EOF;
- } else if (bzerror != BZ_OK) {
- Util_CatchBZ2Error(bzerror);
- Util_DropReadAhead(f);
- return -1;
- }
- f->f_bufptr = f->f_buf;
- f->f_bufend = f->f_buf + chunksize;
- return 0;
-}
-
-/* This is a hacked version of Python's
- * fileobject.c:readahead_get_line_skip(). */
-static PyBytesObject *
-Util_ReadAheadGetLineSkip(BZ2FileObject *f, int skip, int bufsize)
-{
- PyBytesObject* s;
- char *bufptr;
- char *buf;
- int len;
-
- if (f->f_buf == NULL)
- if (Util_ReadAhead(f, bufsize) < 0)
- return NULL;
-
- len = f->f_bufend - f->f_bufptr;
- if (len == 0)
- return (PyBytesObject *)
- PyBytes_FromStringAndSize(NULL, skip);
- bufptr = memchr(f->f_bufptr, '\n', len);
- if (bufptr != NULL) {
- bufptr++; /* Count the '\n' */
- len = bufptr - f->f_bufptr;
- s = (PyBytesObject *)
- PyBytes_FromStringAndSize(NULL, skip+len);
- if (s == NULL)
- return NULL;
- memcpy(PyBytes_AS_STRING(s)+skip, f->f_bufptr, len);
- f->f_bufptr = bufptr;
- if (bufptr == f->f_bufend)
- Util_DropReadAhead(f);
- } else {
- bufptr = f->f_bufptr;
- buf = f->f_buf;
- f->f_buf = NULL; /* Force new readahead buffer */
- s = Util_ReadAheadGetLineSkip(f, skip+len,
- bufsize + (bufsize>>2));
- if (s == NULL) {
- PyMem_Free(buf);
- return NULL;
- }
- memcpy(PyBytes_AS_STRING(s)+skip, bufptr, len);
- PyMem_Free(buf);
- }
- return s;
-}
-
-/* ===================================================================== */
-/* Methods of BZ2File. */
-
-PyDoc_STRVAR(BZ2File_read__doc__,
-"read([size]) -> string\n\
-\n\
-Read at most size uncompressed bytes, returned as a string. If the size\n\
-argument is negative or omitted, read until EOF is reached.\n\
-");
-
-/* This is a hacked version of Python's fileobject.c:file_read(). */
-static PyObject *
-BZ2File_read(BZ2FileObject *self, PyObject *args)
-{
- long bytesrequested = -1;
- size_t bytesread, buffersize, chunksize;
- int bzerror;
- PyObject *ret = NULL;
-
- if (!PyArg_ParseTuple(args, "|l:read", &bytesrequested))
- return NULL;
-
- ACQUIRE_LOCK(self);
- switch (self->mode) {
- case MODE_READ:
- break;
- case MODE_READ_EOF:
- ret = PyBytes_FromStringAndSize("", 0);
- goto cleanup;
- case MODE_CLOSED:
- PyErr_SetString(PyExc_ValueError,
- "I/O operation on closed file");
- goto cleanup;
- default:
- PyErr_SetString(PyExc_IOError,
- "file is not ready for reading");
- goto cleanup;
- }
-
- /* refuse to mix with f.next() */
- if (check_iterbuffered(self))
- goto cleanup;
-
- if (bytesrequested < 0)
- buffersize = Util_NewBufferSize((size_t)0);
- else
- buffersize = bytesrequested;
- if (buffersize > INT_MAX) {
- PyErr_SetString(PyExc_OverflowError,
- "requested number of bytes is "
- "more than a Python string can hold");
- goto cleanup;
- }
- ret = PyBytes_FromStringAndSize((char *)NULL, buffersize);
- if (ret == NULL || buffersize == 0)
- goto cleanup;
- bytesread = 0;
-
- for (;;) {
- Py_BEGIN_ALLOW_THREADS
- chunksize = BZ2_bzRead(&bzerror, self->fp,
- BUF(ret)+bytesread,
- buffersize-bytesread);
- self->pos += chunksize;
- Py_END_ALLOW_THREADS
- bytesread += chunksize;
- if (bzerror == BZ_STREAM_END) {
- self->size = self->pos;
- self->mode = MODE_READ_EOF;
- break;
- } else if (bzerror != BZ_OK) {
- Util_CatchBZ2Error(bzerror);
- Py_DECREF(ret);
- ret = NULL;
- goto cleanup;
- }
- if (bytesrequested < 0) {
- buffersize = Util_NewBufferSize(buffersize);
- if (_PyBytes_Resize(&ret, buffersize) < 0) {
- ret = NULL;
- goto cleanup;
- }
- } else {
- break;
- }
- }
- if (bytesread != buffersize) {
- if (_PyBytes_Resize(&ret, bytesread) < 0) {
- ret = NULL;
- }
- }
-
-cleanup:
- RELEASE_LOCK(self);
- return ret;
-}
-
-PyDoc_STRVAR(BZ2File_readline__doc__,
-"readline([size]) -> string\n\
-\n\
-Return the next line from the file, as a string, retaining newline.\n\
-A non-negative size argument will limit the maximum number of bytes to\n\
-return (an incomplete line may be returned then). Return an empty\n\
-string at EOF.\n\
-");
-
-static PyObject *
-BZ2File_readline(BZ2FileObject *self, PyObject *args)
-{
- PyObject *ret = NULL;
- int sizehint = -1;
-
- if (!PyArg_ParseTuple(args, "|i:readline", &sizehint))
- return NULL;
-
- ACQUIRE_LOCK(self);
- switch (self->mode) {
- case MODE_READ:
- break;
- case MODE_READ_EOF:
- ret = PyBytes_FromStringAndSize("", 0);
- goto cleanup;
- case MODE_CLOSED:
- PyErr_SetString(PyExc_ValueError,
- "I/O operation on closed file");
- goto cleanup;
- default:
- PyErr_SetString(PyExc_IOError,
- "file is not ready for reading");
- goto cleanup;
- }
-
- /* refuse to mix with f.next() */
- if (check_iterbuffered(self))
- goto cleanup;
-
- if (sizehint == 0)
- ret = PyBytes_FromStringAndSize("", 0);
- else
- ret = Util_GetLine(self, (sizehint < 0) ? 0 : sizehint);
-
-cleanup:
- RELEASE_LOCK(self);
- return ret;
-}
-
-PyDoc_STRVAR(BZ2File_readlines__doc__,
-"readlines([size]) -> list\n\
-\n\
-Call readline() repeatedly and return a list of lines read.\n\
-The optional size argument, if given, is an approximate bound on the\n\
-total number of bytes in the lines returned.\n\
-");
-
-/* This is a hacked version of Python's fileobject.c:file_readlines(). */
-static PyObject *
-BZ2File_readlines(BZ2FileObject *self, PyObject *args)
-{
- long sizehint = 0;
- PyObject *list = NULL;
- PyObject *line;
- char small_buffer[SMALLCHUNK];
- char *buffer = small_buffer;
- size_t buffersize = SMALLCHUNK;
- PyObject *big_buffer = NULL;
- size_t nfilled = 0;
- size_t nread;
- size_t totalread = 0;
- char *p, *q, *end;
- int err;
- int shortread = 0;
- int bzerror;
-
- if (!PyArg_ParseTuple(args, "|l:readlines", &sizehint))
- return NULL;
-
- ACQUIRE_LOCK(self);
- switch (self->mode) {
- case MODE_READ:
- break;
- case MODE_READ_EOF:
- list = PyList_New(0);
- goto cleanup;
- case MODE_CLOSED:
- PyErr_SetString(PyExc_ValueError,
- "I/O operation on closed file");
- goto cleanup;
- default:
- PyErr_SetString(PyExc_IOError,
- "file is not ready for reading");
- goto cleanup;
- }
-
- /* refuse to mix with f.next() */
- if (check_iterbuffered(self))
- goto cleanup;
-
- if ((list = PyList_New(0)) == NULL)
- goto cleanup;
-
- for (;;) {
- Py_BEGIN_ALLOW_THREADS
- nread = BZ2_bzRead(&bzerror, self->fp,
- buffer+nfilled, buffersize-nfilled);
- self->pos += nread;
- Py_END_ALLOW_THREADS
- if (bzerror == BZ_STREAM_END) {
- self->size = self->pos;
- self->mode = MODE_READ_EOF;
- if (nread == 0) {
- sizehint = 0;
- break;
- }
- shortread = 1;
- } else if (bzerror != BZ_OK) {
- Util_CatchBZ2Error(bzerror);
- error:
- Py_DECREF(list);
- list = NULL;
- goto cleanup;
- }
- totalread += nread;
- p = memchr(buffer+nfilled, '\n', nread);
- if (!shortread && p == NULL) {
- /* Need a larger buffer to fit this line */
- nfilled += nread;
- buffersize *= 2;
- if (buffersize > INT_MAX) {
- PyErr_SetString(PyExc_OverflowError,
- "line is longer than a Python string can hold");
- goto error;
- }
- if (big_buffer == NULL) {
- /* Create the big buffer */
- big_buffer = PyBytes_FromStringAndSize(
- NULL, buffersize);
- if (big_buffer == NULL)
- goto error;
- buffer = PyBytes_AS_STRING(big_buffer);
- memcpy(buffer, small_buffer, nfilled);
- }
- else {
- /* Grow the big buffer */
- if (_PyBytes_Resize(&big_buffer, buffersize) < 0){
- big_buffer = NULL;
- goto error;
- }
- buffer = PyBytes_AS_STRING(big_buffer);
- }
- continue;
- }
- end = buffer+nfilled+nread;
- q = buffer;
- while (p != NULL) {
- /* Process complete lines */
- p++;
- line = PyBytes_FromStringAndSize(q, p-q);
- if (line == NULL)
- goto error;
- err = PyList_Append(list, line);
- Py_DECREF(line);
- if (err != 0)
- goto error;
- q = p;
- p = memchr(q, '\n', end-q);
- }
- /* Move the remaining incomplete line to the start */
- nfilled = end-q;
- memmove(buffer, q, nfilled);
- if (sizehint > 0)
- if (totalread >= (size_t)sizehint)
- break;
- if (shortread) {
- sizehint = 0;
- break;
- }
- }
- if (nfilled != 0) {
- /* Partial last line */
- line = PyBytes_FromStringAndSize(buffer, nfilled);
- if (line == NULL)
- goto error;
- if (sizehint > 0) {
- /* Need to complete the last line */
- PyObject *rest = Util_GetLine(self, 0);
- if (rest == NULL) {
- Py_DECREF(line);
- goto error;
- }
- PyBytes_Concat(&line, rest);
- Py_DECREF(rest);
- if (line == NULL)
- goto error;
- }
- err = PyList_Append(list, line);
- Py_DECREF(line);
- if (err != 0)
- goto error;
- }
-
- cleanup:
- RELEASE_LOCK(self);
- if (big_buffer) {
- Py_DECREF(big_buffer);
- }
- return list;
-}
-
-PyDoc_STRVAR(BZ2File_write__doc__,
-"write(data) -> None\n\
-\n\
-Write the 'data' string to file. Note that due to buffering, close() may\n\
-be needed before the file on disk reflects the data written.\n\
-");
-
-/* This is a hacked version of Python's fileobject.c:file_write(). */
-static PyObject *
-BZ2File_write(BZ2FileObject *self, PyObject *args)
-{
- PyObject *ret = NULL;
- Py_buffer pbuf;
- char *buf;
- int len;
- int bzerror;
-
- if (!PyArg_ParseTuple(args, "y*:write", &pbuf))
- return NULL;
- buf = pbuf.buf;
- len = pbuf.len;
-
- ACQUIRE_LOCK(self);
- switch (self->mode) {
- case MODE_WRITE:
- break;
-
- case MODE_CLOSED:
- PyErr_SetString(PyExc_ValueError,
- "I/O operation on closed file");
- goto cleanup;
-
- default:
- PyErr_SetString(PyExc_IOError,
- "file is not ready for writing");
- goto cleanup;
- }
-
- Py_BEGIN_ALLOW_THREADS
- BZ2_bzWrite (&bzerror, self->fp, buf, len);
- self->pos += len;
- Py_END_ALLOW_THREADS
-
- if (bzerror != BZ_OK) {
- Util_CatchBZ2Error(bzerror);
- goto cleanup;
- }
-
- Py_INCREF(Py_None);
- ret = Py_None;
-
-cleanup:
- PyBuffer_Release(&pbuf);
- RELEASE_LOCK(self);
- return ret;
-}
-
-PyDoc_STRVAR(BZ2File_writelines__doc__,
-"writelines(sequence_of_strings) -> None\n\
-\n\
-Write the sequence of strings to the file. Note that newlines are not\n\
-added. The sequence can be any iterable object producing strings. This is\n\
-equivalent to calling write() for each string.\n\
-");
-
-/* This is a hacked version of Python's fileobject.c:file_writelines(). */
-static PyObject *
-BZ2File_writelines(BZ2FileObject *self, PyObject *seq)
-{
-#define CHUNKSIZE 1000
- PyObject *list = NULL;
- PyObject *iter = NULL;
- PyObject *ret = NULL;
- PyObject *line;
- int i, j, index, len, islist;
- int bzerror;
-
- ACQUIRE_LOCK(self);
- switch (self->mode) {
- case MODE_WRITE:
- break;
-
- case MODE_CLOSED:
- PyErr_SetString(PyExc_ValueError,
- "I/O operation on closed file");
- goto error;
-
- default:
- PyErr_SetString(PyExc_IOError,
- "file is not ready for writing");
- goto error;
- }
-
- islist = PyList_Check(seq);
- if (!islist) {
- iter = PyObject_GetIter(seq);
- if (iter == NULL) {
- PyErr_SetString(PyExc_TypeError,
- "writelines() requires an iterable argument");
- goto error;
- }
- list = PyList_New(CHUNKSIZE);
- if (list == NULL)
- goto error;
- }
-
- /* Strategy: slurp CHUNKSIZE lines into a private list,
- checking that they are all strings, then write that list
- without holding the interpreter lock, then come back for more. */
- for (index = 0; ; index += CHUNKSIZE) {
- if (islist) {
- Py_XDECREF(list);
- list = PyList_GetSlice(seq, index, index+CHUNKSIZE);
- if (list == NULL)
- goto error;
- j = PyList_GET_SIZE(list);
- }
- else {
- for (j = 0; j < CHUNKSIZE; j++) {
- line = PyIter_Next(iter);
- if (line == NULL) {
- if (PyErr_Occurred())
- goto error;
- break;
- }
- PyList_SetItem(list, j, line);
- }
- }
- if (j == 0)
- break;
-
- /* Check that all entries are indeed byte strings. If not,
- apply the same rules as for file.write() and
- convert the rets to strings. This is slow, but
- seems to be the only way since all conversion APIs
- could potentially execute Python code. */
- for (i = 0; i < j; i++) {
- PyObject *v = PyList_GET_ITEM(list, i);
- if (!PyBytes_Check(v)) {
- const char *buffer;
- Py_ssize_t len;
- if (PyObject_AsCharBuffer(v, &buffer, &len)) {
- PyErr_SetString(PyExc_TypeError,
- "writelines() "
- "argument must be "
- "a sequence of "
- "bytes objects");
- goto error;
- }
- line = PyBytes_FromStringAndSize(buffer,
- len);
- if (line == NULL)
- goto error;
- Py_DECREF(v);
- PyList_SET_ITEM(list, i, line);
- }
- }
-
- /* Since we are releasing the global lock, the
- following code may *not* execute Python code. */
- Py_BEGIN_ALLOW_THREADS
- for (i = 0; i < j; i++) {
- line = PyList_GET_ITEM(list, i);
- len = PyBytes_GET_SIZE(line);
- BZ2_bzWrite (&bzerror, self->fp,
- PyBytes_AS_STRING(line), len);
- if (bzerror != BZ_OK) {
- Py_BLOCK_THREADS
- Util_CatchBZ2Error(bzerror);
- goto error;
- }
- }
- Py_END_ALLOW_THREADS
-
- if (j < CHUNKSIZE)
- break;
- }
-
- Py_INCREF(Py_None);
- ret = Py_None;
-
- error:
- RELEASE_LOCK(self);
- Py_XDECREF(list);
- Py_XDECREF(iter);
- return ret;
-#undef CHUNKSIZE
-}
-
-PyDoc_STRVAR(BZ2File_seek__doc__,
-"seek(offset [, whence]) -> None\n\
-\n\
-Move to new file position. Argument offset is a byte count. Optional\n\
-argument whence defaults to 0 (offset from start of file, offset\n\
-should be >= 0); other values are 1 (move relative to current position,\n\
-positive or negative), and 2 (move relative to end of file, usually\n\
-negative, although many platforms allow seeking beyond the end of a file).\n\
-\n\
-Note that seeking of bz2 files is emulated, and depending on the parameters\n\
-the operation may be extremely slow.\n\
-");
-
-static PyObject *
-BZ2File_seek(BZ2FileObject *self, PyObject *args)
-{
- int where = 0;
- PyObject *offobj;
- Py_off_t offset;
- char small_buffer[SMALLCHUNK];
- char *buffer = small_buffer;
- size_t buffersize = SMALLCHUNK;
- Py_off_t bytesread = 0;
- size_t readsize;
- int chunksize;
- int bzerror;
- PyObject *ret = NULL;
-
- if (!PyArg_ParseTuple(args, "O|i:seek", &offobj, &where))
- return NULL;
-#if !defined(HAVE_LARGEFILE_SUPPORT)
- offset = PyLong_AsLong(offobj);
-#else
- offset = PyLong_Check(offobj) ?
- PyLong_AsLongLong(offobj) : PyLong_AsLong(offobj);
-#endif
- if (PyErr_Occurred())
- return NULL;
-
- ACQUIRE_LOCK(self);
- Util_DropReadAhead(self);
- switch (self->mode) {
- case MODE_READ:
- case MODE_READ_EOF:
- break;
-
- case MODE_CLOSED:
- PyErr_SetString(PyExc_ValueError,
- "I/O operation on closed file");
- goto cleanup;
-
- default:
- PyErr_SetString(PyExc_IOError,
- "seek works only while reading");
- goto cleanup;
- }
-
- if (where == 2) {
- if (self->size == -1) {
- assert(self->mode != MODE_READ_EOF);
- for (;;) {
- Py_BEGIN_ALLOW_THREADS
- chunksize = BZ2_bzRead(&bzerror, self->fp,
- buffer, buffersize);
- self->pos += chunksize;
- Py_END_ALLOW_THREADS
-
- bytesread += chunksize;
- if (bzerror == BZ_STREAM_END) {
- break;
- } else if (bzerror != BZ_OK) {
- Util_CatchBZ2Error(bzerror);
- goto cleanup;
- }
- }
- self->mode = MODE_READ_EOF;
- self->size = self->pos;
- bytesread = 0;
- }
- offset = self->size + offset;
- } else if (where == 1) {
- offset = self->pos + offset;
- }
-
- /* Before getting here, offset must be the absolute position the file
- * pointer should be set to. */
-
- if (offset >= self->pos) {
- /* we can move forward */
- offset -= self->pos;
- } else {
- /* we cannot move back, so rewind the stream */
- BZ2_bzReadClose(&bzerror, self->fp);
- if (bzerror != BZ_OK) {
- Util_CatchBZ2Error(bzerror);
- goto cleanup;
- }
- rewind(self->rawfp);
- self->pos = 0;
- self->fp = BZ2_bzReadOpen(&bzerror, self->rawfp,
- 0, 0, NULL, 0);
- if (bzerror != BZ_OK) {
- Util_CatchBZ2Error(bzerror);
- goto cleanup;
- }
- self->mode = MODE_READ;
- }
-
- if (offset <= 0 || self->mode == MODE_READ_EOF)
- goto exit;
-
- /* Before getting here, offset must be set to the number of bytes
- * to walk forward. */
- for (;;) {
- if (offset-bytesread > buffersize)
- readsize = buffersize;
- else
- /* offset might be wider that readsize, but the result
- * of the subtraction is bound by buffersize (see the
- * condition above). buffersize is 8192. */
- readsize = (size_t)(offset-bytesread);
- Py_BEGIN_ALLOW_THREADS
- chunksize = BZ2_bzRead(&bzerror, self->fp, buffer, readsize);
- self->pos += chunksize;
- Py_END_ALLOW_THREADS
- bytesread += chunksize;
- if (bzerror == BZ_STREAM_END) {
- self->size = self->pos;
- self->mode = MODE_READ_EOF;
- break;
- } else if (bzerror != BZ_OK) {
- Util_CatchBZ2Error(bzerror);
- goto cleanup;
- }
- if (bytesread == offset)
- break;
- }
-
-exit:
- Py_INCREF(Py_None);
- ret = Py_None;
-
-cleanup:
- RELEASE_LOCK(self);
- return ret;
-}
-
-PyDoc_STRVAR(BZ2File_tell__doc__,
-"tell() -> int\n\
-\n\
-Return the current file position, an integer (may be a long integer).\n\
-");
-
-static PyObject *
-BZ2File_tell(BZ2FileObject *self, PyObject *args)
-{
- PyObject *ret = NULL;
-
- if (self->mode == MODE_CLOSED) {
- PyErr_SetString(PyExc_ValueError,
- "I/O operation on closed file");
- goto cleanup;
- }
-
-#if !defined(HAVE_LARGEFILE_SUPPORT)
- ret = PyLong_FromLong(self->pos);
-#else
- ret = PyLong_FromLongLong(self->pos);
-#endif
-
-cleanup:
- return ret;
-}
-
-PyDoc_STRVAR(BZ2File_close__doc__,
-"close() -> None or (perhaps) an integer\n\
-\n\
-Close the file. Sets data attribute .closed to true. A closed file\n\
-cannot be used for further I/O operations. close() may be called more\n\
-than once without error.\n\
-");
-
-static PyObject *
-BZ2File_close(BZ2FileObject *self)
-{
- PyObject *ret = NULL;
- int bzerror = BZ_OK;
-
- if (self->mode == MODE_CLOSED) {
- Py_RETURN_NONE;
- }
-
- ACQUIRE_LOCK(self);
- switch (self->mode) {
- case MODE_READ:
- case MODE_READ_EOF:
- BZ2_bzReadClose(&bzerror, self->fp);
- break;
- case MODE_WRITE:
- BZ2_bzWriteClose(&bzerror, self->fp,
- 0, NULL, NULL);
- break;
- }
- self->mode = MODE_CLOSED;
- fclose(self->rawfp);
- self->rawfp = NULL;
- if (bzerror == BZ_OK) {
- Py_INCREF(Py_None);
- ret = Py_None;
- }
- else {
- Util_CatchBZ2Error(bzerror);
- }
-
- RELEASE_LOCK(self);
- return ret;
-}
-
-PyDoc_STRVAR(BZ2File_enter_doc,
-"__enter__() -> self.");
-
-static PyObject *
-BZ2File_enter(BZ2FileObject *self)
-{
- if (self->mode == MODE_CLOSED) {
- PyErr_SetString(PyExc_ValueError,
- "I/O operation on closed file");
- return NULL;
- }
- Py_INCREF(self);
- return (PyObject *) self;
-}
-
-PyDoc_STRVAR(BZ2File_exit_doc,
-"__exit__(*excinfo) -> None. Closes the file.");
-
-static PyObject *
-BZ2File_exit(BZ2FileObject *self, PyObject *args)
-{
- PyObject *ret = PyObject_CallMethod((PyObject *) self, "close", NULL);
- if (!ret)
- /* If error occurred, pass through */
- return NULL;
- Py_DECREF(ret);
- Py_RETURN_NONE;
-}
-
-
-static PyObject *BZ2File_getiter(BZ2FileObject *self);
-
-static PyMethodDef BZ2File_methods[] = {
- {"read", (PyCFunction)BZ2File_read, METH_VARARGS, BZ2File_read__doc__},
- {"readline", (PyCFunction)BZ2File_readline, METH_VARARGS, BZ2File_readline__doc__},
- {"readlines", (PyCFunction)BZ2File_readlines, METH_VARARGS, BZ2File_readlines__doc__},
- {"write", (PyCFunction)BZ2File_write, METH_VARARGS, BZ2File_write__doc__},
- {"writelines", (PyCFunction)BZ2File_writelines, METH_O, BZ2File_writelines__doc__},
- {"seek", (PyCFunction)BZ2File_seek, METH_VARARGS, BZ2File_seek__doc__},
- {"tell", (PyCFunction)BZ2File_tell, METH_NOARGS, BZ2File_tell__doc__},
- {"close", (PyCFunction)BZ2File_close, METH_NOARGS, BZ2File_close__doc__},
- {"__enter__", (PyCFunction)BZ2File_enter, METH_NOARGS, BZ2File_enter_doc},
- {"__exit__", (PyCFunction)BZ2File_exit, METH_VARARGS, BZ2File_exit_doc},
- {NULL, NULL} /* sentinel */
-};
-
-
-/* ===================================================================== */
-/* Getters and setters of BZ2File. */
-
-static PyObject *
-BZ2File_get_closed(BZ2FileObject *self, void *closure)
-{
- return PyLong_FromLong(self->mode == MODE_CLOSED);
-}
-
-static PyGetSetDef BZ2File_getset[] = {
- {"closed", (getter)BZ2File_get_closed, NULL,
- "True if the file is closed"},
- {NULL} /* Sentinel */
-};
-
-
-/* ===================================================================== */
-/* Slot definitions for BZ2File_Type. */
-
-static int
-BZ2File_init(BZ2FileObject *self, PyObject *args, PyObject *kwargs)
-{
- static char *kwlist[] = {"filename", "mode", "buffering",
- "compresslevel", 0};
- PyObject *name_obj = NULL;
- char *name;
- char *mode = "r";
- int buffering = -1;
- int compresslevel = 9;
- int bzerror;
- int mode_char = 0;
-
- self->size = -1;
-
- if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&|sii:BZ2File",
- kwlist, PyUnicode_FSConverter, &name_obj,
- &mode, &buffering,
- &compresslevel))
- return -1;
-
- name = PyBytes_AsString(name_obj);
- if (compresslevel < 1 || compresslevel > 9) {
- PyErr_SetString(PyExc_ValueError,
- "compresslevel must be between 1 and 9");
- Py_DECREF(name_obj);
- return -1;
- }
-
- for (;;) {
- int error = 0;
- switch (*mode) {
- case 'r':
- case 'w':
- if (mode_char)
- error = 1;
- mode_char = *mode;
- break;
-
- case 'b':
- break;
-
- default:
- error = 1;
- break;
- }
- if (error) {
- PyErr_Format(PyExc_ValueError,
- "invalid mode char %c", *mode);
- Py_DECREF(name_obj);
- return -1;
- }
- mode++;
- if (*mode == '\0')
- break;
- }
-
- if (mode_char == 0) {
- mode_char = 'r';
- }
-
- mode = (mode_char == 'r') ? "rb" : "wb";
-
- self->rawfp = fopen(name, mode);
- Py_DECREF(name_obj);
- if (self->rawfp == NULL) {
- PyErr_SetFromErrno(PyExc_IOError);
- return -1;
- }
- /* XXX Ignore buffering */
-
- /* From now on, we have stuff to dealloc, so jump to error label
- * instead of returning */
-
-#ifdef WITH_THREAD
- self->lock = PyThread_allocate_lock();
- if (!self->lock) {
- PyErr_SetString(PyExc_MemoryError, "unable to allocate lock");
- goto error;
- }
-#endif
-
- if (mode_char == 'r')
- self->fp = BZ2_bzReadOpen(&bzerror, self->rawfp,
- 0, 0, NULL, 0);
- else
- self->fp = BZ2_bzWriteOpen(&bzerror, self->rawfp,
- compresslevel, 0, 0);
-
- if (bzerror != BZ_OK) {
- Util_CatchBZ2Error(bzerror);
- goto error;
- }
-
- self->mode = (mode_char == 'r') ? MODE_READ : MODE_WRITE;
-
- return 0;
-
-error:
- fclose(self->rawfp);
- self->rawfp = NULL;
-#ifdef WITH_THREAD
- if (self->lock) {
- PyThread_free_lock(self->lock);
- self->lock = NULL;
- }
-#endif
- return -1;
-}
-
-static void
-BZ2File_dealloc(BZ2FileObject *self)
-{
- int bzerror;
-#ifdef WITH_THREAD
- if (self->lock)
- PyThread_free_lock(self->lock);
-#endif
- switch (self->mode) {
- case MODE_READ:
- case MODE_READ_EOF:
- BZ2_bzReadClose(&bzerror, self->fp);
- break;
- case MODE_WRITE:
- BZ2_bzWriteClose(&bzerror, self->fp,
- 0, NULL, NULL);
- break;
- }
- Util_DropReadAhead(self);
- if (self->rawfp != NULL)
- fclose(self->rawfp);
- Py_TYPE(self)->tp_free((PyObject *)self);
-}
-
-/* This is a hacked version of Python's fileobject.c:file_getiter(). */
-static PyObject *
-BZ2File_getiter(BZ2FileObject *self)
-{
- if (self->mode == MODE_CLOSED) {
- PyErr_SetString(PyExc_ValueError,
- "I/O operation on closed file");
- return NULL;
- }
- Py_INCREF((PyObject*)self);
- return (PyObject *)self;
-}
-
-/* This is a hacked version of Python's fileobject.c:file_iternext(). */
-#define READAHEAD_BUFSIZE 8192
-static PyObject *
-BZ2File_iternext(BZ2FileObject *self)
-{
- PyBytesObject* ret;
- ACQUIRE_LOCK(self);
- if (self->mode == MODE_CLOSED) {
- RELEASE_LOCK(self);
- PyErr_SetString(PyExc_ValueError,
- "I/O operation on closed file");
- return NULL;
- }
- ret = Util_ReadAheadGetLineSkip(self, 0, READAHEAD_BUFSIZE);
- RELEASE_LOCK(self);
- if (ret == NULL || PyBytes_GET_SIZE(ret) == 0) {
- Py_XDECREF(ret);
- return NULL;
- }
- return (PyObject *)ret;
-}
-
-/* ===================================================================== */
-/* BZ2File_Type definition. */
-
-PyDoc_VAR(BZ2File__doc__) =
-PyDoc_STR(
-"BZ2File(name [, mode='r', buffering=0, compresslevel=9]) -> file object\n\
-\n\
-Open a bz2 file. The mode can be 'r' or 'w', for reading (default) or\n\
-writing. When opened for writing, the file will be created if it doesn't\n\
-exist, and truncated otherwise. If the buffering argument is given, 0 means\n\
-unbuffered, and larger numbers specify the buffer size. If compresslevel\n\
-is given, must be a number between 1 and 9.\n\
-Data read is always returned in bytes; data written ought to be bytes.\n\
-");
-
-static PyTypeObject BZ2File_Type = {
- PyVarObject_HEAD_INIT(NULL, 0)
- "bz2.BZ2File", /*tp_name*/
- sizeof(BZ2FileObject), /*tp_basicsize*/
- 0, /*tp_itemsize*/
- (destructor)BZ2File_dealloc, /*tp_dealloc*/
- 0, /*tp_print*/
- 0, /*tp_getattr*/
- 0, /*tp_setattr*/
- 0, /*tp_reserved*/
- 0, /*tp_repr*/
- 0, /*tp_as_number*/
- 0, /*tp_as_sequence*/
- 0, /*tp_as_mapping*/
- 0, /*tp_hash*/
- 0, /*tp_call*/
- 0, /*tp_str*/
- PyObject_GenericGetAttr,/*tp_getattro*/
- PyObject_GenericSetAttr,/*tp_setattro*/
- 0, /*tp_as_buffer*/
- Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE, /*tp_flags*/
- BZ2File__doc__, /*tp_doc*/
- 0, /*tp_traverse*/
- 0, /*tp_clear*/
- 0, /*tp_richcompare*/
- 0, /*tp_weaklistoffset*/
- (getiterfunc)BZ2File_getiter, /*tp_iter*/
- (iternextfunc)BZ2File_iternext, /*tp_iternext*/
- BZ2File_methods, /*tp_methods*/
- 0, /*tp_members*/
- BZ2File_getset, /*tp_getset*/
- 0, /*tp_base*/
- 0, /*tp_dict*/
- 0, /*tp_descr_get*/
- 0, /*tp_descr_set*/
- 0, /*tp_dictoffset*/
- (initproc)BZ2File_init, /*tp_init*/
- PyType_GenericAlloc, /*tp_alloc*/
- PyType_GenericNew, /*tp_new*/
- PyObject_Free, /*tp_free*/
- 0, /*tp_is_gc*/
-};
-
-
-/* ===================================================================== */
-/* Methods of BZ2Comp. */
-
-PyDoc_STRVAR(BZ2Comp_compress__doc__,
-"compress(data) -> string\n\
-\n\
-Provide more data to the compressor object. It will return chunks of\n\
-compressed data whenever possible. When you've finished providing data\n\
-to compress, call the flush() method to finish the compression process,\n\
-and return what is left in the internal buffers.\n\
-");
-
-static PyObject *
-BZ2Comp_compress(BZ2CompObject *self, PyObject *args)
-{
- Py_buffer pdata;
- char *data;
- int datasize;
- int bufsize = SMALLCHUNK;
- PY_LONG_LONG totalout;
- PyObject *ret = NULL;
- bz_stream *bzs = &self->bzs;
- int bzerror;
-
- if (!PyArg_ParseTuple(args, "y*:compress", &pdata))
- return NULL;
- data = pdata.buf;
- datasize = pdata.len;
-
- if (datasize == 0) {
- PyBuffer_Release(&pdata);
- return PyBytes_FromStringAndSize("", 0);
- }
-
- ACQUIRE_LOCK(self);
- if (!self->running) {
- PyErr_SetString(PyExc_ValueError,
- "this object was already flushed");
- goto error;
- }
-
- ret = PyBytes_FromStringAndSize(NULL, bufsize);
- if (!ret)
- goto error;
-
- bzs->next_in = data;
- bzs->avail_in = datasize;
- bzs->next_out = BUF(ret);
- bzs->avail_out = bufsize;
-
- totalout = BZS_TOTAL_OUT(bzs);
-
- for (;;) {
- Py_BEGIN_ALLOW_THREADS
- bzerror = BZ2_bzCompress(bzs, BZ_RUN);
- Py_END_ALLOW_THREADS
- if (bzerror != BZ_RUN_OK) {
- Util_CatchBZ2Error(bzerror);
- goto error;
- }
- if (bzs->avail_in == 0)
- break; /* no more input data */
- if (bzs->avail_out == 0) {
- bufsize = Util_NewBufferSize(bufsize);
- if (_PyBytes_Resize(&ret, bufsize) < 0) {
- BZ2_bzCompressEnd(bzs);
- goto error;
- }
- bzs->next_out = BUF(ret) + (BZS_TOTAL_OUT(bzs)
- - totalout);
- bzs->avail_out = bufsize - (bzs->next_out - BUF(ret));
- }
- }
-
- if (_PyBytes_Resize(&ret,
- (Py_ssize_t)(BZS_TOTAL_OUT(bzs) - totalout)) < 0)
- goto error;
-
- RELEASE_LOCK(self);
- PyBuffer_Release(&pdata);
- return ret;
-
-error:
- RELEASE_LOCK(self);
- PyBuffer_Release(&pdata);
- Py_XDECREF(ret);
- return NULL;
-}
-
-PyDoc_STRVAR(BZ2Comp_flush__doc__,
-"flush() -> string\n\
-\n\
-Finish the compression process and return what is left in internal buffers.\n\
-You must not use the compressor object after calling this method.\n\
-");
-
-static PyObject *
-BZ2Comp_flush(BZ2CompObject *self)
-{
- int bufsize = SMALLCHUNK;
- PyObject *ret = NULL;
- bz_stream *bzs = &self->bzs;
- PY_LONG_LONG totalout;
- int bzerror;
-
- ACQUIRE_LOCK(self);
- if (!self->running) {
- PyErr_SetString(PyExc_ValueError, "object was already "
- "flushed");
- goto error;
- }
- self->running = 0;
-
- ret = PyBytes_FromStringAndSize(NULL, bufsize);
- if (!ret)
- goto error;
-
- bzs->next_out = BUF(ret);
- bzs->avail_out = bufsize;
-
- totalout = BZS_TOTAL_OUT(bzs);
-
- for (;;) {
- Py_BEGIN_ALLOW_THREADS
- bzerror = BZ2_bzCompress(bzs, BZ_FINISH);
- Py_END_ALLOW_THREADS
- if (bzerror == BZ_STREAM_END) {
- break;
- } else if (bzerror != BZ_FINISH_OK) {
- Util_CatchBZ2Error(bzerror);
- goto error;
- }
- if (bzs->avail_out == 0) {
- bufsize = Util_NewBufferSize(bufsize);
- if (_PyBytes_Resize(&ret, bufsize) < 0)
- goto error;
- bzs->next_out = BUF(ret);
- bzs->next_out = BUF(ret) + (BZS_TOTAL_OUT(bzs)
- - totalout);
- bzs->avail_out = bufsize - (bzs->next_out - BUF(ret));
- }
- }
-
- if (bzs->avail_out != 0) {
- if (_PyBytes_Resize(&ret,
- (Py_ssize_t)(BZS_TOTAL_OUT(bzs) - totalout)) < 0)
- goto error;
- }
-
- RELEASE_LOCK(self);
- return ret;
-
-error:
- RELEASE_LOCK(self);
- Py_XDECREF(ret);
- return NULL;
-}
-
-static PyMethodDef BZ2Comp_methods[] = {
- {"compress", (PyCFunction)BZ2Comp_compress, METH_VARARGS,
- BZ2Comp_compress__doc__},
- {"flush", (PyCFunction)BZ2Comp_flush, METH_NOARGS,
- BZ2Comp_flush__doc__},
- {NULL, NULL} /* sentinel */
-};
-
-
-/* ===================================================================== */
-/* Slot definitions for BZ2Comp_Type. */
-
-static int
-BZ2Comp_init(BZ2CompObject *self, PyObject *args, PyObject *kwargs)
-{
- int compresslevel = 9;
- int bzerror;
- static char *kwlist[] = {"compresslevel", 0};
-
- if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|i:BZ2Compressor",
- kwlist, &compresslevel))
- return -1;
-
- if (compresslevel < 1 || compresslevel > 9) {
- PyErr_SetString(PyExc_ValueError,
- "compresslevel must be between 1 and 9");
- goto error;
- }
-
-#ifdef WITH_THREAD
- self->lock = PyThread_allocate_lock();
- if (!self->lock) {
- PyErr_SetString(PyExc_MemoryError, "unable to allocate lock");
- goto error;
- }
-#endif
-
- memset(&self->bzs, 0, sizeof(bz_stream));
- bzerror = BZ2_bzCompressInit(&self->bzs, compresslevel, 0, 0);
- if (bzerror != BZ_OK) {
- Util_CatchBZ2Error(bzerror);
- goto error;
- }
-
- self->running = 1;
-
- return 0;
-error:
-#ifdef WITH_THREAD
- if (self->lock) {
- PyThread_free_lock(self->lock);
- self->lock = NULL;
- }
-#endif
- return -1;
-}
-
-static void
-BZ2Comp_dealloc(BZ2CompObject *self)
-{
-#ifdef WITH_THREAD
- if (self->lock)
- PyThread_free_lock(self->lock);
-#endif
- BZ2_bzCompressEnd(&self->bzs);
- Py_TYPE(self)->tp_free((PyObject *)self);
-}
-
-
-/* ===================================================================== */
-/* BZ2Comp_Type definition. */
-
-PyDoc_STRVAR(BZ2Comp__doc__,
-"BZ2Compressor([compresslevel=9]) -> compressor object\n\
-\n\
-Create a new compressor object. This object may be used to compress\n\
-data sequentially. If you want to compress data in one shot, use the\n\
-compress() function instead. The compresslevel parameter, if given,\n\
-must be a number between 1 and 9.\n\
-");
-
-static PyTypeObject BZ2Comp_Type = {
- PyVarObject_HEAD_INIT(NULL, 0)
- "bz2.BZ2Compressor", /*tp_name*/
- sizeof(BZ2CompObject), /*tp_basicsize*/
- 0, /*tp_itemsize*/
- (destructor)BZ2Comp_dealloc, /*tp_dealloc*/
- 0, /*tp_print*/
- 0, /*tp_getattr*/
- 0, /*tp_setattr*/
- 0, /*tp_reserved*/
- 0, /*tp_repr*/
- 0, /*tp_as_number*/
- 0, /*tp_as_sequence*/
- 0, /*tp_as_mapping*/
- 0, /*tp_hash*/
- 0, /*tp_call*/
- 0, /*tp_str*/
- PyObject_GenericGetAttr,/*tp_getattro*/
- PyObject_GenericSetAttr,/*tp_setattro*/
- 0, /*tp_as_buffer*/
- Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE, /*tp_flags*/
- BZ2Comp__doc__, /*tp_doc*/
- 0, /*tp_traverse*/
- 0, /*tp_clear*/
- 0, /*tp_richcompare*/
- 0, /*tp_weaklistoffset*/
- 0, /*tp_iter*/
- 0, /*tp_iternext*/
- BZ2Comp_methods, /*tp_methods*/
- 0, /*tp_members*/
- 0, /*tp_getset*/
- 0, /*tp_base*/
- 0, /*tp_dict*/
- 0, /*tp_descr_get*/
- 0, /*tp_descr_set*/
- 0, /*tp_dictoffset*/
- (initproc)BZ2Comp_init, /*tp_init*/
- PyType_GenericAlloc, /*tp_alloc*/
- PyType_GenericNew, /*tp_new*/
- PyObject_Free, /*tp_free*/
- 0, /*tp_is_gc*/
-};
-
-
-/* ===================================================================== */
-/* Members of BZ2Decomp. */
-
-#undef OFF
-#define OFF(x) offsetof(BZ2DecompObject, x)
-
-static PyMemberDef BZ2Decomp_members[] = {
- {"unused_data", T_OBJECT, OFF(unused_data), READONLY},
- {NULL} /* Sentinel */
-};
-
-
-/* ===================================================================== */
-/* Methods of BZ2Decomp. */
-
-PyDoc_STRVAR(BZ2Decomp_decompress__doc__,
-"decompress(data) -> string\n\
-\n\
-Provide more data to the decompressor object. It will return chunks\n\
-of decompressed data whenever possible. If you try to decompress data\n\
-after the end of stream is found, EOFError will be raised. If any data\n\
-was found after the end of stream, it'll be ignored and saved in\n\
-unused_data attribute.\n\
-");
-
-static PyObject *
-BZ2Decomp_decompress(BZ2DecompObject *self, PyObject *args)
-{
- Py_buffer pdata;
- char *data;
- int datasize;
- int bufsize = SMALLCHUNK;
- PY_LONG_LONG totalout;
- PyObject *ret = NULL;
- bz_stream *bzs = &self->bzs;
- int bzerror;
-
- if (!PyArg_ParseTuple(args, "y*:decompress", &pdata))
- return NULL;
- data = pdata.buf;
- datasize = pdata.len;
-
- ACQUIRE_LOCK(self);
- if (!self->running) {
- PyErr_SetString(PyExc_EOFError, "end of stream was "
- "already found");
- goto error;
- }
-
- ret = PyBytes_FromStringAndSize(NULL, bufsize);
- if (!ret)
- goto error;
-
- bzs->next_in = data;
- bzs->avail_in = datasize;
- bzs->next_out = BUF(ret);
- bzs->avail_out = bufsize;
-
- totalout = BZS_TOTAL_OUT(bzs);
-
- for (;;) {
- Py_BEGIN_ALLOW_THREADS
- bzerror = BZ2_bzDecompress(bzs);
- Py_END_ALLOW_THREADS
- if (bzerror == BZ_STREAM_END) {
- if (bzs->avail_in != 0) {
- Py_DECREF(self->unused_data);
- self->unused_data =
- PyBytes_FromStringAndSize(bzs->next_in,
- bzs->avail_in);
- }
- self->running = 0;
- break;
- }
- if (bzerror != BZ_OK) {
- Util_CatchBZ2Error(bzerror);
- goto error;
- }
- if (bzs->avail_in == 0)
- break; /* no more input data */
- if (bzs->avail_out == 0) {
- bufsize = Util_NewBufferSize(bufsize);
- if (_PyBytes_Resize(&ret, bufsize) < 0) {
- BZ2_bzDecompressEnd(bzs);
- goto error;
- }
- bzs->next_out = BUF(ret);
- bzs->next_out = BUF(ret) + (BZS_TOTAL_OUT(bzs)
- - totalout);
- bzs->avail_out = bufsize - (bzs->next_out - BUF(ret));
- }
- }
-
- if (bzs->avail_out != 0) {
- if (_PyBytes_Resize(&ret,
- (Py_ssize_t)(BZS_TOTAL_OUT(bzs) - totalout)) < 0)
- goto error;
- }
-
- RELEASE_LOCK(self);
- PyBuffer_Release(&pdata);
- return ret;
-
-error:
- RELEASE_LOCK(self);
- PyBuffer_Release(&pdata);
- Py_XDECREF(ret);
- return NULL;
-}
-
-static PyMethodDef BZ2Decomp_methods[] = {
- {"decompress", (PyCFunction)BZ2Decomp_decompress, METH_VARARGS, BZ2Decomp_decompress__doc__},
- {NULL, NULL} /* sentinel */
-};
-
-
-/* ===================================================================== */
-/* Slot definitions for BZ2Decomp_Type. */
-
-static int
-BZ2Decomp_init(BZ2DecompObject *self, PyObject *args, PyObject *kwargs)
-{
- int bzerror;
-
- if (!PyArg_ParseTuple(args, ":BZ2Decompressor"))
- return -1;
-
-#ifdef WITH_THREAD
- self->lock = PyThread_allocate_lock();
- if (!self->lock) {
- PyErr_SetString(PyExc_MemoryError, "unable to allocate lock");
- goto error;
- }
-#endif
-
- self->unused_data = PyBytes_FromStringAndSize("", 0);
- if (!self->unused_data)
- goto error;
-
- memset(&self->bzs, 0, sizeof(bz_stream));
- bzerror = BZ2_bzDecompressInit(&self->bzs, 0, 0);
- if (bzerror != BZ_OK) {
- Util_CatchBZ2Error(bzerror);
- goto error;
- }
-
- self->running = 1;
-
- return 0;
-
-error:
-#ifdef WITH_THREAD
- if (self->lock) {
- PyThread_free_lock(self->lock);
- self->lock = NULL;
- }
-#endif
- Py_CLEAR(self->unused_data);
- return -1;
-}
-
-static void
-BZ2Decomp_dealloc(BZ2DecompObject *self)
-{
-#ifdef WITH_THREAD
- if (self->lock)
- PyThread_free_lock(self->lock);
-#endif
- Py_XDECREF(self->unused_data);
- BZ2_bzDecompressEnd(&self->bzs);
- Py_TYPE(self)->tp_free((PyObject *)self);
-}
-
-
-/* ===================================================================== */
-/* BZ2Decomp_Type definition. */
-
-PyDoc_STRVAR(BZ2Decomp__doc__,
-"BZ2Decompressor() -> decompressor object\n\
-\n\
-Create a new decompressor object. This object may be used to decompress\n\
-data sequentially. If you want to decompress data in one shot, use the\n\
-decompress() function instead.\n\
-");
-
-static PyTypeObject BZ2Decomp_Type = {
- PyVarObject_HEAD_INIT(NULL, 0)
- "bz2.BZ2Decompressor", /*tp_name*/
- sizeof(BZ2DecompObject), /*tp_basicsize*/
- 0, /*tp_itemsize*/
- (destructor)BZ2Decomp_dealloc, /*tp_dealloc*/
- 0, /*tp_print*/
- 0, /*tp_getattr*/
- 0, /*tp_setattr*/
- 0, /*tp_reserved*/
- 0, /*tp_repr*/
- 0, /*tp_as_number*/
- 0, /*tp_as_sequence*/
- 0, /*tp_as_mapping*/
- 0, /*tp_hash*/
- 0, /*tp_call*/
- 0, /*tp_str*/
- PyObject_GenericGetAttr,/*tp_getattro*/
- PyObject_GenericSetAttr,/*tp_setattro*/
- 0, /*tp_as_buffer*/
- Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE, /*tp_flags*/
- BZ2Decomp__doc__, /*tp_doc*/
- 0, /*tp_traverse*/
- 0, /*tp_clear*/
- 0, /*tp_richcompare*/
- 0, /*tp_weaklistoffset*/
- 0, /*tp_iter*/
- 0, /*tp_iternext*/
- BZ2Decomp_methods, /*tp_methods*/
- BZ2Decomp_members, /*tp_members*/
- 0, /*tp_getset*/
- 0, /*tp_base*/
- 0, /*tp_dict*/
- 0, /*tp_descr_get*/
- 0, /*tp_descr_set*/
- 0, /*tp_dictoffset*/
- (initproc)BZ2Decomp_init, /*tp_init*/
- PyType_GenericAlloc, /*tp_alloc*/
- PyType_GenericNew, /*tp_new*/
- PyObject_Free, /*tp_free*/
- 0, /*tp_is_gc*/
-};
-
-
-/* ===================================================================== */
-/* Module functions. */
-
-PyDoc_STRVAR(bz2_compress__doc__,
-"compress(data [, compresslevel=9]) -> string\n\
-\n\
-Compress data in one shot. If you want to compress data sequentially,\n\
-use an instance of BZ2Compressor instead. The compresslevel parameter, if\n\
-given, must be a number between 1 and 9.\n\
-");
-
-static PyObject *
-bz2_compress(PyObject *self, PyObject *args, PyObject *kwargs)
-{
- int compresslevel=9;
- Py_buffer pdata;
- char *data;
- int datasize;
- int bufsize;
- PyObject *ret = NULL;
- bz_stream _bzs;
- bz_stream *bzs = &_bzs;
- int bzerror;
- static char *kwlist[] = {"data", "compresslevel", 0};
-
- if (!PyArg_ParseTupleAndKeywords(args, kwargs, "y*|i",
- kwlist, &pdata,
- &compresslevel))
- return NULL;
- data = pdata.buf;
- datasize = pdata.len;
-
- if (compresslevel < 1 || compresslevel > 9) {
- PyErr_SetString(PyExc_ValueError,
- "compresslevel must be between 1 and 9");
- PyBuffer_Release(&pdata);
- return NULL;
- }
-
- /* Conforming to bz2 manual, this is large enough to fit compressed
- * data in one shot. We will check it later anyway. */
- bufsize = datasize + (datasize/100+1) + 600;
-
- ret = PyBytes_FromStringAndSize(NULL, bufsize);
- if (!ret) {
- PyBuffer_Release(&pdata);
- return NULL;
- }
-
- memset(bzs, 0, sizeof(bz_stream));
-
- bzs->next_in = data;
- bzs->avail_in = datasize;
- bzs->next_out = BUF(ret);
- bzs->avail_out = bufsize;
-
- bzerror = BZ2_bzCompressInit(bzs, compresslevel, 0, 0);
- if (bzerror != BZ_OK) {
- Util_CatchBZ2Error(bzerror);
- PyBuffer_Release(&pdata);
- Py_DECREF(ret);
- return NULL;
- }
-
- for (;;) {
- Py_BEGIN_ALLOW_THREADS
- bzerror = BZ2_bzCompress(bzs, BZ_FINISH);
- Py_END_ALLOW_THREADS
- if (bzerror == BZ_STREAM_END) {
- break;
- } else if (bzerror != BZ_FINISH_OK) {
- BZ2_bzCompressEnd(bzs);
- Util_CatchBZ2Error(bzerror);
- PyBuffer_Release(&pdata);
- Py_DECREF(ret);
- return NULL;
- }
- if (bzs->avail_out == 0) {
- bufsize = Util_NewBufferSize(bufsize);
- if (_PyBytes_Resize(&ret, bufsize) < 0) {
- BZ2_bzCompressEnd(bzs);
- PyBuffer_Release(&pdata);
- return NULL;
- }
- bzs->next_out = BUF(ret) + BZS_TOTAL_OUT(bzs);
- bzs->avail_out = bufsize - (bzs->next_out - BUF(ret));
- }
- }
-
- if (bzs->avail_out != 0) {
- if (_PyBytes_Resize(&ret, (Py_ssize_t)BZS_TOTAL_OUT(bzs)) < 0) {
- ret = NULL;
- }
- }
- BZ2_bzCompressEnd(bzs);
-
- PyBuffer_Release(&pdata);
- return ret;
-}
-
-PyDoc_STRVAR(bz2_decompress__doc__,
-"decompress(data) -> decompressed data\n\
-\n\
-Decompress data in one shot. If you want to decompress data sequentially,\n\
-use an instance of BZ2Decompressor instead.\n\
-");
-
-static PyObject *
-bz2_decompress(PyObject *self, PyObject *args)
-{
- Py_buffer pdata;
- char *data;
- int datasize;
- int bufsize = SMALLCHUNK;
- PyObject *ret;
- bz_stream _bzs;
- bz_stream *bzs = &_bzs;
- int bzerror;
-
- if (!PyArg_ParseTuple(args, "y*:decompress", &pdata))
- return NULL;
- data = pdata.buf;
- datasize = pdata.len;
-
- if (datasize == 0) {
- PyBuffer_Release(&pdata);
- return PyBytes_FromStringAndSize("", 0);
- }
-
- ret = PyBytes_FromStringAndSize(NULL, bufsize);
- if (!ret) {
- PyBuffer_Release(&pdata);
- return NULL;
- }
-
- memset(bzs, 0, sizeof(bz_stream));
-
- bzs->next_in = data;
- bzs->avail_in = datasize;
- bzs->next_out = BUF(ret);
- bzs->avail_out = bufsize;
-
- bzerror = BZ2_bzDecompressInit(bzs, 0, 0);
- if (bzerror != BZ_OK) {
- Util_CatchBZ2Error(bzerror);
- Py_DECREF(ret);
- PyBuffer_Release(&pdata);
- return NULL;
- }
-
- for (;;) {
- Py_BEGIN_ALLOW_THREADS
- bzerror = BZ2_bzDecompress(bzs);
- Py_END_ALLOW_THREADS
- if (bzerror == BZ_STREAM_END) {
- break;
- } else if (bzerror != BZ_OK) {
- BZ2_bzDecompressEnd(bzs);
- Util_CatchBZ2Error(bzerror);
- PyBuffer_Release(&pdata);
- Py_DECREF(ret);
- return NULL;
- }
- if (bzs->avail_in == 0) {
- BZ2_bzDecompressEnd(bzs);
- PyErr_SetString(PyExc_ValueError,
- "couldn't find end of stream");
- PyBuffer_Release(&pdata);
- Py_DECREF(ret);
- return NULL;
- }
- if (bzs->avail_out == 0) {
- bufsize = Util_NewBufferSize(bufsize);
- if (_PyBytes_Resize(&ret, bufsize) < 0) {
- BZ2_bzDecompressEnd(bzs);
- PyBuffer_Release(&pdata);
- return NULL;
- }
- bzs->next_out = BUF(ret) + BZS_TOTAL_OUT(bzs);
- bzs->avail_out = bufsize - (bzs->next_out - BUF(ret));
- }
- }
-
- if (bzs->avail_out != 0) {
- if (_PyBytes_Resize(&ret, (Py_ssize_t)BZS_TOTAL_OUT(bzs)) < 0) {
- ret = NULL;
- }
- }
- BZ2_bzDecompressEnd(bzs);
- PyBuffer_Release(&pdata);
-
- return ret;
-}
-
-static PyMethodDef bz2_methods[] = {
- {"compress", (PyCFunction) bz2_compress, METH_VARARGS|METH_KEYWORDS,
- bz2_compress__doc__},
- {"decompress", (PyCFunction) bz2_decompress, METH_VARARGS,
- bz2_decompress__doc__},
- {NULL, NULL} /* sentinel */
-};
-
-/* ===================================================================== */
-/* Initialization function. */
-
-PyDoc_STRVAR(bz2__doc__,
-"The python bz2 module provides a comprehensive interface for\n\
-the bz2 compression library. It implements a complete file\n\
-interface, one shot (de)compression functions, and types for\n\
-sequential (de)compression.\n\
-");
-
-
-static struct PyModuleDef bz2module = {
- PyModuleDef_HEAD_INIT,
- "bz2",
- bz2__doc__,
- -1,
- bz2_methods,
- NULL,
- NULL,
- NULL,
- NULL
-};
-
-PyMODINIT_FUNC
-PyInit_bz2(void)
-{
- PyObject *m;
-
- if (PyType_Ready(&BZ2File_Type) < 0)
- return NULL;
- if (PyType_Ready(&BZ2Comp_Type) < 0)
- return NULL;
- if (PyType_Ready(&BZ2Decomp_Type) < 0)
- return NULL;
-
- m = PyModule_Create(&bz2module);
- if (m == NULL)
- return NULL;
-
- PyModule_AddObject(m, "__author__", PyUnicode_FromString(__author__));
-
- Py_INCREF(&BZ2File_Type);
- PyModule_AddObject(m, "BZ2File", (PyObject *)&BZ2File_Type);
-
- Py_INCREF(&BZ2Comp_Type);
- PyModule_AddObject(m, "BZ2Compressor", (PyObject *)&BZ2Comp_Type);
-
- Py_INCREF(&BZ2Decomp_Type);
- PyModule_AddObject(m, "BZ2Decompressor", (PyObject *)&BZ2Decomp_Type);
- return m;
-}
diff --git a/Modules/cjkcodecs/_codecs_cn.c b/Modules/cjkcodecs/_codecs_cn.c
index ab4e659..9e9e96c 100644
--- a/Modules/cjkcodecs/_codecs_cn.c
+++ b/Modules/cjkcodecs/_codecs_cn.c
@@ -85,7 +85,7 @@ DECODER(gb2312)
TRYMAP_DEC(gb2312, **outbuf, c ^ 0x80, IN2 ^ 0x80) {
NEXT(2, 1)
}
- else return 2;
+ else return 1;
}
return 0;
@@ -141,7 +141,7 @@ DECODER(gbk)
REQUIRE_INBUF(2)
GBK_DECODE(c, IN2, **outbuf)
- else return 2;
+ else return 1;
NEXT(2, 1)
}
@@ -267,7 +267,7 @@ DECODER(gb18030)
c3 = IN3;
c4 = IN4;
if (c < 0x81 || c3 < 0x81 || c4 < 0x30 || c4 > 0x39)
- return 4;
+ return 1;
c -= 0x81; c2 -= 0x30;
c3 -= 0x81; c4 -= 0x30;
@@ -292,12 +292,12 @@ DECODER(gb18030)
continue;
}
}
- return 4;
+ return 1;
}
GBK_DECODE(c, c2, **outbuf)
else TRYMAP_DEC(gb18030ext, **outbuf, c, c2);
- else return 2;
+ else return 1;
NEXT(2, 1)
}
@@ -400,7 +400,7 @@ DECODER(hz)
else if (c2 == '\n')
; /* line-continuation */
else
- return 2;
+ return 1;
NEXT(2, 0);
continue;
}
@@ -419,7 +419,7 @@ DECODER(hz)
NEXT(2, 1)
}
else
- return 2;
+ return 1;
}
}
diff --git a/Modules/cjkcodecs/_codecs_hk.c b/Modules/cjkcodecs/_codecs_hk.c
index 558a42f..d3ad04b 100644
--- a/Modules/cjkcodecs/_codecs_hk.c
+++ b/Modules/cjkcodecs/_codecs_hk.c
@@ -161,7 +161,7 @@ DECODER(big5hkscs)
case 0x8864: WRITE2(0x00ca, 0x030c); break;
case 0x88a3: WRITE2(0x00ea, 0x0304); break;
case 0x88a5: WRITE2(0x00ea, 0x030c); break;
- default: return 2;
+ default: return 1;
}
NEXT(2, 2) /* all decoded codepoints are pairs, above. */
diff --git a/Modules/cjkcodecs/_codecs_iso2022.c b/Modules/cjkcodecs/_codecs_iso2022.c
index 25c1a36..cbc1542 100644
--- a/Modules/cjkcodecs/_codecs_iso2022.c
+++ b/Modules/cjkcodecs/_codecs_iso2022.c
@@ -123,7 +123,7 @@ struct iso2022_config {
CODEC_INIT(iso2022)
{
- const struct iso2022_designation *desig = CONFIG_DESIGNATIONS;
+ const struct iso2022_designation *desig;
for (desig = CONFIG_DESIGNATIONS; desig->mark; desig++)
if (desig->initializer != NULL && desig->initializer() != 0)
return -1;
diff --git a/Modules/cjkcodecs/_codecs_jp.c b/Modules/cjkcodecs/_codecs_jp.c
index a05e01b..a500696 100644
--- a/Modules/cjkcodecs/_codecs_jp.c
+++ b/Modules/cjkcodecs/_codecs_jp.c
@@ -112,7 +112,7 @@ DECODER(cp932)
TRYMAP_DEC(cp932ext, **outbuf, c, c2);
else if ((c >= 0x81 && c <= 0x9f) || (c >= 0xe0 && c <= 0xea)){
if (c2 < 0x40 || (c2 > 0x7e && c2 < 0x80) || c2 > 0xfc)
- return 2;
+ return 1;
c = (c < 0xe0 ? c - 0x81 : c - 0xc1);
c2 = (c2 < 0x80 ? c2 - 0x40 : c2 - 0x41);
@@ -120,7 +120,7 @@ DECODER(cp932)
c2 = (c2 < 0x5e ? c2 : c2 - 0x5e) + 0x21;
TRYMAP_DEC(jisx0208, **outbuf, c, c2);
- else return 2;
+ else return 1;
}
else if (c >= 0xf0 && c <= 0xf9) {
if ((c2 >= 0x40 && c2 <= 0x7e) ||
@@ -128,10 +128,10 @@ DECODER(cp932)
OUT1(0xe000 + 188 * (c - 0xf0) +
(c2 < 0x80 ? c2 - 0x40 : c2 - 0x41))
else
- return 2;
+ return 1;
}
else
- return 2;
+ return 1;
NEXT(2, 1)
}
@@ -256,7 +256,7 @@ DECODER(euc_jis_2004)
NEXT(2, 1)
}
else
- return 2;
+ return 1;
}
else if (c == 0x8f) {
unsigned char c2, c3;
@@ -274,7 +274,7 @@ DECODER(euc_jis_2004)
continue;
}
else TRYMAP_DEC(jisx0212, **outbuf, c2, c3) ;
- else return 3;
+ else return 1;
NEXT(3, 1)
}
else {
@@ -300,7 +300,7 @@ DECODER(euc_jis_2004)
NEXT(2, 2)
continue;
}
- else return 2;
+ else return 1;
NEXT(2, 1)
}
}
@@ -388,7 +388,7 @@ DECODER(euc_jp)
NEXT(2, 1)
}
else
- return 2;
+ return 1;
}
else if (c == 0x8f) {
unsigned char c2, c3;
@@ -401,7 +401,7 @@ DECODER(euc_jp)
NEXT(3, 1)
}
else
- return 3;
+ return 1;
}
else {
unsigned char c2;
@@ -417,7 +417,7 @@ DECODER(euc_jp)
#endif
TRYMAP_DEC(jisx0208, **outbuf,
c ^ 0x80, c2 ^ 0x80) ;
- else return 2;
+ else return 1;
NEXT(2, 1)
}
}
@@ -502,7 +502,7 @@ DECODER(shift_jis)
REQUIRE_INBUF(2)
c2 = IN2;
if (c2 < 0x40 || (c2 > 0x7e && c2 < 0x80) || c2 > 0xfc)
- return 2;
+ return 1;
c1 = (c < 0xe0 ? c - 0x81 : c - 0xc1);
c2 = (c2 < 0x80 ? c2 - 0x40 : c2 - 0x41);
@@ -522,10 +522,10 @@ DECODER(shift_jis)
continue;
}
else
- return 2;
+ return 1;
}
else
- return 2;
+ return 1;
NEXT(1, 1) /* JIS X 0201 */
}
@@ -645,7 +645,7 @@ DECODER(shift_jis_2004)
REQUIRE_INBUF(2)
c2 = IN2;
if (c2 < 0x40 || (c2 > 0x7e && c2 < 0x80) || c2 > 0xfc)
- return 2;
+ return 1;
c1 = (c < 0xe0 ? c - 0x81 : c - 0xc1);
c2 = (c2 < 0x80 ? c2 - 0x40 : c2 - 0x41);
@@ -671,7 +671,7 @@ DECODER(shift_jis_2004)
NEXT_OUT(2)
}
else
- return 2;
+ return 1;
NEXT_IN(2)
}
else { /* Plane 2 */
@@ -689,13 +689,13 @@ DECODER(shift_jis_2004)
continue;
}
else
- return 2;
+ return 1;
NEXT(2, 1)
}
continue;
}
else
- return 2;
+ return 1;
NEXT(1, 1) /* JIS X 0201 */
}
diff --git a/Modules/cjkcodecs/_codecs_kr.c b/Modules/cjkcodecs/_codecs_kr.c
index 9272e36..f5697dd 100644
--- a/Modules/cjkcodecs/_codecs_kr.c
+++ b/Modules/cjkcodecs/_codecs_kr.c
@@ -123,7 +123,7 @@ DECODER(euc_kr)
if ((*inbuf)[2] != EUCKR_JAMO_FIRSTBYTE ||
(*inbuf)[4] != EUCKR_JAMO_FIRSTBYTE ||
(*inbuf)[6] != EUCKR_JAMO_FIRSTBYTE)
- return 8;
+ return 1;
c = (*inbuf)[3];
if (0xa1 <= c && c <= 0xbe)
@@ -143,7 +143,7 @@ DECODER(euc_kr)
jong = NONE;
if (cho == NONE || jung == NONE || jong == NONE)
- return 8;
+ return 1;
OUT1(0xac00 + cho*588 + jung*28 + jong);
NEXT(8, 1)
@@ -152,7 +152,7 @@ DECODER(euc_kr)
NEXT(2, 1)
}
else
- return 2;
+ return 1;
}
return 0;
@@ -208,7 +208,7 @@ DECODER(cp949)
REQUIRE_INBUF(2)
TRYMAP_DEC(ksx1001, **outbuf, c ^ 0x80, IN2 ^ 0x80);
else TRYMAP_DEC(cp949ext, **outbuf, c, IN2);
- else return 2;
+ else return 1;
NEXT(2, 1)
}
@@ -375,7 +375,7 @@ DECODER(johab)
i_jong = johabidx_jongseong[c_jong];
if (i_cho == NONE || i_jung == NONE || i_jong == NONE)
- return 2;
+ return 1;
/* we don't use U+1100 hangul jamo yet. */
if (i_cho == FILL) {
@@ -391,7 +391,7 @@ DECODER(johab)
OUT1(0x3100 |
johabjamo_jungseong[c_jung])
else
- return 2;
+ return 1;
}
} else {
if (i_jung == FILL) {
@@ -399,7 +399,7 @@ DECODER(johab)
OUT1(0x3100 |
johabjamo_choseong[c_cho])
else
- return 2;
+ return 1;
}
else
OUT1(0xac00 +
@@ -414,7 +414,7 @@ DECODER(johab)
c2 < 0x31 || (c2 >= 0x80 && c2 < 0x91) ||
(c2 & 0x7f) == 0x7f ||
(c == 0xda && (c2 >= 0xa1 && c2 <= 0xd3)))
- return 2;
+ return 1;
else {
unsigned char t1, t2;
@@ -425,7 +425,7 @@ DECODER(johab)
t2 = (t2 < 0x5e ? t2 : t2 - 0x5e) + 0x21;
TRYMAP_DEC(ksx1001, **outbuf, t1, t2);
- else return 2;
+ else return 1;
NEXT(2, 1)
}
}
diff --git a/Modules/cjkcodecs/_codecs_tw.c b/Modules/cjkcodecs/_codecs_tw.c
index 38cf723..916298d 100644
--- a/Modules/cjkcodecs/_codecs_tw.c
+++ b/Modules/cjkcodecs/_codecs_tw.c
@@ -55,7 +55,7 @@ DECODER(big5)
TRYMAP_DEC(big5, **outbuf, c, IN2) {
NEXT(2, 1)
}
- else return 2;
+ else return 1;
}
return 0;
@@ -109,7 +109,7 @@ DECODER(cp950)
TRYMAP_DEC(cp950ext, **outbuf, c, IN2);
else TRYMAP_DEC(big5, **outbuf, c, IN2);
- else return 2;
+ else return 1;
NEXT(2, 1)
}
diff --git a/Modules/cjkcodecs/multibytecodec.c b/Modules/cjkcodecs/multibytecodec.c
index 7b04f020..abad251 100644
--- a/Modules/cjkcodecs/multibytecodec.c
+++ b/Modules/cjkcodecs/multibytecodec.c
@@ -443,10 +443,12 @@ multibytecodec_decerror(MultibyteCodec *codec,
goto errorexit;
}
+ if (PyUnicode_AsUnicode(retuni) == NULL)
+ goto errorexit;
retunisize = PyUnicode_GET_SIZE(retuni);
if (retunisize > 0) {
REQUIRE_DECODEBUFFER(buf, retunisize);
- memcpy((char *)buf->outbuf, PyUnicode_AS_DATA(retuni),
+ memcpy((char *)buf->outbuf, PyUnicode_AS_UNICODE(retuni),
retunisize * Py_UNICODE_SIZE);
buf->outbuf += retunisize;
}
@@ -483,6 +485,7 @@ multibytecodec_encode(MultibyteCodec *codec,
return PyBytes_FromStringAndSize(NULL, 0);
buf.excobj = NULL;
+ buf.outobj = NULL;
buf.inbuf = buf.inbuf_top = *data;
buf.inbuf_end = buf.inbuf_top + datalen;
@@ -573,8 +576,11 @@ MultibyteCodec_Encode(MultibyteCodecObject *self,
}
}
- data = PyUnicode_AS_UNICODE(arg);
- datalen = PyUnicode_GET_SIZE(arg);
+ data = PyUnicode_AsUnicodeAndSize(arg, &datalen);
+ if (data == NULL) {
+ Py_XDECREF(ucvt);
+ return NULL;
+ }
errorcb = internal_error_callback(errors);
if (errorcb == NULL) {
@@ -627,7 +633,7 @@ MultibyteCodec_Decode(MultibyteCodecObject *self,
if (datalen == 0) {
PyBuffer_Release(&pdata);
ERROR_DECREF(errorcb);
- return make_tuple(PyUnicode_FromUnicode(NULL, 0), 0);
+ return make_tuple(PyUnicode_New(0, 0), 0);
}
buf.excobj = NULL;
@@ -637,6 +643,8 @@ MultibyteCodec_Decode(MultibyteCodecObject *self,
if (buf.outobj == NULL)
goto errorexit;
buf.outbuf = PyUnicode_AS_UNICODE(buf.outobj);
+ if (buf.outbuf == NULL)
+ goto errorexit;
buf.outbuf_end = buf.outbuf + PyUnicode_GET_SIZE(buf.outobj);
if (self->codec->decinit != NULL &&
@@ -742,6 +750,7 @@ encoder_encode_stateful(MultibyteStatefulEncoderContext *ctx,
PyObject *ucvt, *r = NULL;
Py_UNICODE *inbuf, *inbuf_end, *inbuf_tmp = NULL;
Py_ssize_t datalen, origpending;
+ wchar_t *data;
if (PyUnicode_Check(unistr))
ucvt = NULL;
@@ -757,7 +766,9 @@ encoder_encode_stateful(MultibyteStatefulEncoderContext *ctx,
}
}
- datalen = PyUnicode_GET_SIZE(unistr);
+ data = PyUnicode_AsUnicodeAndSize(unistr, &datalen);
+ if (data == NULL)
+ goto errorexit;
origpending = ctx->pendingsize;
if (origpending > 0) {
@@ -848,7 +859,9 @@ decoder_prepare_buffer(MultibyteDecodeBuffer *buf, const char *data,
buf->outobj = PyUnicode_FromUnicode(NULL, size);
if (buf->outobj == NULL)
return -1;
- buf->outbuf = PyUnicode_AS_UNICODE(buf->outobj);
+ buf->outbuf = PyUnicode_AsUnicode(buf->outobj);
+ if (buf->outbuf == NULL)
+ return -1;
buf->outbuf_end = buf->outbuf +
PyUnicode_GET_SIZE(buf->outobj);
}
@@ -900,11 +913,17 @@ mbiencoder_encode(MultibyteIncrementalEncoderObject *self,
static PyObject *
mbiencoder_reset(MultibyteIncrementalEncoderObject *self)
{
- if (self->codec->decreset != NULL &&
- self->codec->decreset(&self->state, self->codec->config) != 0)
- return NULL;
+ /* Longest output: 4 bytes (b'\x0F\x1F(B') with ISO 2022 */
+ unsigned char buffer[4], *outbuf;
+ Py_ssize_t r;
+ if (self->codec->encreset != NULL) {
+ outbuf = buffer;
+ r = self->codec->encreset(&self->state, self->codec->config,
+ &outbuf, sizeof(buffer));
+ if (r != 0)
+ return NULL;
+ }
self->pendingsize = 0;
-
Py_RETURN_NONE;
}
@@ -1246,7 +1265,7 @@ mbstreamreader_iread(MultibyteStreamReaderObject *self,
Py_ssize_t rsize, finalsize = 0;
if (sizehint == 0)
- return PyUnicode_FromUnicode(NULL, 0);
+ return PyUnicode_New(0, 0);
buf.outobj = buf.excobj = NULL;
cres = NULL;
@@ -1572,12 +1591,13 @@ mbstreamwriter_iwrite(MultibyteStreamWriterObject *self,
PyObject *unistr)
{
PyObject *str, *wr;
+ _Py_IDENTIFIER(write);
str = encoder_encode_stateful(STATEFUL_ECTX(self), unistr, 0);
if (str == NULL)
return -1;
- wr = PyObject_CallMethod(self->stream, "write", "O", str);
+ wr = _PyObject_CallMethodId(self->stream, &PyId_write, "O", str);
Py_DECREF(str);
if (wr == NULL)
return -1;
@@ -1643,7 +1663,9 @@ mbstreamwriter_reset(MultibyteStreamWriterObject *self)
assert(PyBytes_Check(pwrt));
if (PyBytes_Size(pwrt) > 0) {
PyObject *wr;
- wr = PyObject_CallMethod(self->stream, "write", "O", pwrt);
+ _Py_IDENTIFIER(write);
+
+ wr = _PyObject_CallMethodId(self->stream, &PyId_write, "O", pwrt);
if (wr == NULL) {
Py_DECREF(pwrt);
return NULL;
diff --git a/Modules/errnomodule.c b/Modules/errnomodule.c
index 86720af..86b0a01 100644
--- a/Modules/errnomodule.c
+++ b/Modules/errnomodule.c
@@ -84,6 +84,8 @@ PyInit_errno(void)
* The names and comments are borrowed from linux/include/errno.h,
* which should be pretty all-inclusive. However, the Solaris specific
* names and comments are borrowed from sys/errno.h in Solaris.
+ * MacOSX specific names and comments are borrowed from sys/errno.h in
+ * MacOSX.
*/
#ifdef ENODEV
@@ -848,6 +850,59 @@ PyInit_errno(void)
inscode(d, ds, de, "ENOTACTIVE", ENOTACTIVE, "Facility is not active");
#endif
+ /* MacOSX specific errnos */
+#ifdef EAUTH
+ inscode(d, ds, de, "EAUTH", EAUTH, "Authentication error");
+#endif
+#ifdef EBADARCH
+ inscode(d, ds, de, "EBADARCH", EBADARCH, "Bad CPU type in executable");
+#endif
+#ifdef EBADEXEC
+ inscode(d, ds, de, "EBADEXEC", EBADEXEC, "Bad executable (or shared library)");
+#endif
+#ifdef EBADMACHO
+ inscode(d, ds, de, "EBADMACHO", EBADMACHO, "Malformed Mach-o file");
+#endif
+#ifdef EBADRPC
+ inscode(d, ds, de, "EBADRPC", EBADRPC, "RPC struct is bad");
+#endif
+#ifdef EDEVERR
+ inscode(d, ds, de, "EDEVERR", EDEVERR, "Device error");
+#endif
+#ifdef EFTYPE
+ inscode(d, ds, de, "EFTYPE", EFTYPE, "Inappropriate file type or format");
+#endif
+#ifdef ENEEDAUTH
+ inscode(d, ds, de, "ENEEDAUTH", ENEEDAUTH, "Need authenticator");
+#endif
+#ifdef ENOATTR
+ inscode(d, ds, de, "ENOATTR", ENOATTR, "Attribute not found");
+#endif
+#ifdef ENOPOLICY
+ inscode(d, ds, de, "ENOPOLICY", ENOPOLICY, "Policy not found");
+#endif
+#ifdef EPROCLIM
+ inscode(d, ds, de, "EPROCLIM", EPROCLIM, "Too many processes");
+#endif
+#ifdef EPROCUNAVAIL
+ inscode(d, ds, de, "EPROCUNAVAIL", EPROCUNAVAIL, "Bad procedure for program");
+#endif
+#ifdef EPROGMISMATCH
+ inscode(d, ds, de, "EPROGMISMATCH", EPROGMISMATCH, "Program version wrong");
+#endif
+#ifdef EPROGUNAVAIL
+ inscode(d, ds, de, "EPROGUNAVAIL", EPROGUNAVAIL, "RPC prog. not avail");
+#endif
+#ifdef EPWROFF
+ inscode(d, ds, de, "EPWROFF", EPWROFF, "Device power is off");
+#endif
+#ifdef ERPCMISMATCH
+ inscode(d, ds, de, "ERPCMISMATCH", ERPCMISMATCH, "RPC version wrong");
+#endif
+#ifdef ESHLIBVERS
+ inscode(d, ds, de, "ESHLIBVERS", ESHLIBVERS, "Shared library version mismatch");
+#endif
+
Py_DECREF(de);
return m;
}
diff --git a/Modules/faulthandler.c b/Modules/faulthandler.c
new file mode 100644
index 0000000..51c66bd
--- /dev/null
+++ b/Modules/faulthandler.c
@@ -0,0 +1,1329 @@
+#include "Python.h"
+#include "pythread.h"
+#include <signal.h>
+#include <object.h>
+#include <frameobject.h>
+#include <signal.h>
+#if defined(HAVE_PTHREAD_SIGMASK) && !defined(HAVE_BROKEN_PTHREAD_SIGMASK)
+#include <pthread.h>
+#endif
+
+/* Allocate at maximum 100 MB of the stack to raise the stack overflow */
+#define STACK_OVERFLOW_MAX_SIZE (100*1024*1024)
+
+#ifdef WITH_THREAD
+# define FAULTHANDLER_LATER
+# define FAULTHANDLER_WATCHDOG
+#endif
+
+#ifndef MS_WINDOWS
+ /* register() is useless on Windows, because only SIGSEGV, SIGABRT and
+ SIGILL can be handled by the process, and these signals can only be used
+ with enable(), not using register() */
+# define FAULTHANDLER_USER
+#endif
+
+#define PUTS(fd, str) write(fd, str, strlen(str))
+
+#ifdef HAVE_SIGACTION
+typedef struct sigaction _Py_sighandler_t;
+#else
+typedef PyOS_sighandler_t _Py_sighandler_t;
+#endif
+
+typedef struct {
+ int signum;
+ int enabled;
+ const char* name;
+ _Py_sighandler_t previous;
+ int all_threads;
+} fault_handler_t;
+
+static struct {
+ int enabled;
+ PyObject *file;
+ int fd;
+ int all_threads;
+ PyInterpreterState *interp;
+} fatal_error = {0, NULL, -1, 0};
+
+#ifdef FAULTHANDLER_LATER
+static struct {
+ PyObject *file;
+ int fd;
+ PY_TIMEOUT_T timeout_us; /* timeout in microseconds */
+ int repeat;
+ PyInterpreterState *interp;
+ int exit;
+ char *header;
+ size_t header_len;
+ /* The main thread always holds this lock. It is only released when
+ faulthandler_thread() is interrupted before this thread exits, or at
+ Python exit. */
+ PyThread_type_lock cancel_event;
+ /* released by child thread when joined */
+ PyThread_type_lock running;
+} thread;
+#endif
+
+#ifdef FAULTHANDLER_WATCHDOG
+static struct {
+ int rfd;
+ int wfd;
+ PY_TIMEOUT_T period_us; /* period in microseconds */
+ /* The main thread always holds this lock. It is only released when
+ faulthandler_watchdog() is interrupted before this thread exits, or at
+ Python exit. */
+ PyThread_type_lock cancel_event;
+ /* released by child thread when joined */
+ PyThread_type_lock running;
+} watchdog;
+#endif
+
+#ifdef FAULTHANDLER_USER
+typedef struct {
+ int enabled;
+ PyObject *file;
+ int fd;
+ int all_threads;
+ int chain;
+ _Py_sighandler_t previous;
+ PyInterpreterState *interp;
+} user_signal_t;
+
+static user_signal_t *user_signals;
+
+/* the following macros come from Python: Modules/signalmodule.c */
+#if defined(PYOS_OS2) && !defined(PYCC_GCC)
+#define NSIG 12
+#endif
+#ifndef NSIG
+# if defined(_NSIG)
+# define NSIG _NSIG /* For BSD/SysV */
+# elif defined(_SIGMAX)
+# define NSIG (_SIGMAX + 1) /* For QNX */
+# elif defined(SIGMAX)
+# define NSIG (SIGMAX + 1) /* For djgpp */
+# else
+# define NSIG 64 /* Use a reasonable default value */
+# endif
+#endif
+
+static void faulthandler_user(int signum);
+#endif /* FAULTHANDLER_USER */
+
+
+static fault_handler_t faulthandler_handlers[] = {
+#ifdef SIGBUS
+ {SIGBUS, 0, "Bus error", },
+#endif
+#ifdef SIGILL
+ {SIGILL, 0, "Illegal instruction", },
+#endif
+ {SIGFPE, 0, "Floating point exception", },
+ {SIGABRT, 0, "Aborted", },
+ /* define SIGSEGV at the end to make it the default choice if searching the
+ handler fails in faulthandler_fatal_error() */
+ {SIGSEGV, 0, "Segmentation fault", }
+};
+static const unsigned char faulthandler_nsignals = \
+ Py_ARRAY_LENGTH(faulthandler_handlers);
+
+#ifdef HAVE_SIGALTSTACK
+static stack_t stack;
+#endif
+
+
+/* Get the file descriptor of a file by calling its fileno() method and then
+ call its flush() method.
+
+ If file is NULL or Py_None, use sys.stderr as the new file.
+
+ On success, return the new file and write the file descriptor into *p_fd.
+ On error, return NULL. */
+
+static PyObject*
+faulthandler_get_fileno(PyObject *file, int *p_fd)
+{
+ PyObject *result;
+ _Py_IDENTIFIER(fileno);
+ _Py_IDENTIFIER(flush);
+ long fd_long;
+ int fd;
+
+ if (file == NULL || file == Py_None) {
+ file = PySys_GetObject("stderr");
+ if (file == NULL) {
+ PyErr_SetString(PyExc_RuntimeError, "unable to get sys.stderr");
+ return NULL;
+ }
+ }
+
+ result = _PyObject_CallMethodId(file, &PyId_fileno, "");
+ if (result == NULL)
+ return NULL;
+
+ fd = -1;
+ if (PyLong_Check(result)) {
+ fd_long = PyLong_AsLong(result);
+ if (0 <= fd_long && fd_long < INT_MAX)
+ fd = (int)fd_long;
+ }
+ Py_DECREF(result);
+
+ if (fd == -1) {
+ PyErr_SetString(PyExc_RuntimeError,
+ "file.fileno() is not a valid file descriptor");
+ return NULL;
+ }
+
+ result = _PyObject_CallMethodId(file, &PyId_flush, "");
+ if (result != NULL)
+ Py_DECREF(result);
+ else {
+ /* ignore flush() error */
+ PyErr_Clear();
+ }
+ *p_fd = fd;
+ return file;
+}
+
+/* Get the state of the current thread: only call this function if the current
+ thread holds the GIL. Raise an exception on error. */
+static PyThreadState*
+get_thread_state(void)
+{
+ PyThreadState *tstate = PyThreadState_Get();
+ if (tstate == NULL) {
+ PyErr_SetString(PyExc_RuntimeError,
+ "unable to get the current thread state");
+ return NULL;
+ }
+ return tstate;
+}
+
+static PyObject*
+faulthandler_dump_traceback_py(PyObject *self,
+ PyObject *args, PyObject *kwargs)
+{
+ static char *kwlist[] = {"file", "all_threads", NULL};
+ PyObject *file = NULL;
+ int all_threads = 1;
+ PyThreadState *tstate;
+ const char *errmsg;
+ int fd;
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+ "|Oi:dump_traceback", kwlist,
+ &file, &all_threads))
+ return NULL;
+
+ file = faulthandler_get_fileno(file, &fd);
+ if (file == NULL)
+ return NULL;
+
+ tstate = get_thread_state();
+ if (tstate == NULL)
+ return NULL;
+
+ if (all_threads) {
+ errmsg = _Py_DumpTracebackThreads(fd, tstate->interp, tstate);
+ if (errmsg != NULL) {
+ PyErr_SetString(PyExc_RuntimeError, errmsg);
+ return NULL;
+ }
+ }
+ else {
+ _Py_DumpTraceback(fd, tstate);
+ }
+ Py_RETURN_NONE;
+}
+
+
+/* Handler for SIGSEGV, SIGFPE, SIGABRT, SIGBUS and SIGILL signals.
+
+ Display the current Python traceback, restore the previous handler and call
+ the previous handler.
+
+ On Windows, don't explicitly call the previous handler, because the Windows
+ signal handler would not be called (for an unknown reason). The execution of
+ the program continues at faulthandler_fatal_error() exit, but the same
+ instruction will raise the same fault (signal), and so the previous handler
+ will be called.
+
+ This function is signal-safe and should only call signal-safe functions. */
+
+static void
+faulthandler_fatal_error(int signum)
+{
+ const int fd = fatal_error.fd;
+ unsigned int i;
+ fault_handler_t *handler = NULL;
+ PyThreadState *tstate;
+ int save_errno = errno;
+
+ if (!fatal_error.enabled)
+ return;
+
+ for (i=0; i < faulthandler_nsignals; i++) {
+ handler = &faulthandler_handlers[i];
+ if (handler->signum == signum)
+ break;
+ }
+ if (handler == NULL) {
+ /* faulthandler_nsignals == 0 (unlikely) */
+ return;
+ }
+
+ /* restore the previous handler */
+#ifdef HAVE_SIGACTION
+ (void)sigaction(signum, &handler->previous, NULL);
+#else
+ (void)signal(signum, handler->previous);
+#endif
+ handler->enabled = 0;
+
+ PUTS(fd, "Fatal Python error: ");
+ PUTS(fd, handler->name);
+ PUTS(fd, "\n\n");
+
+#ifdef WITH_THREAD
+ /* SIGSEGV, SIGFPE, SIGABRT, SIGBUS and SIGILL are synchronous signals and
+ are thus delivered to the thread that caused the fault. Get the Python
+ thread state of the current thread.
+
+ PyThreadState_Get() doesn't give the state of the thread that caused the
+ fault if the thread released the GIL, and so this function cannot be
+ used. Read the thread local storage (TLS) instead: call
+ PyGILState_GetThisThreadState(). */
+ tstate = PyGILState_GetThisThreadState();
+#else
+ tstate = PyThreadState_Get();
+#endif
+
+ if (fatal_error.all_threads)
+ _Py_DumpTracebackThreads(fd, fatal_error.interp, tstate);
+ else {
+ if (tstate != NULL)
+ _Py_DumpTraceback(fd, tstate);
+ }
+
+ errno = save_errno;
+#ifdef MS_WINDOWS
+ if (signum == SIGSEGV) {
+ /* don't explicitly call the previous handler for SIGSEGV in this signal
+ handler, because the Windows signal handler would not be called */
+ return;
+ }
+#endif
+ /* call the previous signal handler: it is called immediatly if we use
+ sigaction() thanks to SA_NODEFER flag, otherwise it is deferred */
+ raise(signum);
+}
+
+/* Install the handler for fatal signals, faulthandler_fatal_error(). */
+
+static PyObject*
+faulthandler_enable(PyObject *self, PyObject *args, PyObject *kwargs)
+{
+ static char *kwlist[] = {"file", "all_threads", NULL};
+ PyObject *file = NULL;
+ int all_threads = 1;
+ unsigned int i;
+ fault_handler_t *handler;
+#ifdef HAVE_SIGACTION
+ struct sigaction action;
+#endif
+ int err;
+ int fd;
+ PyThreadState *tstate;
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+ "|Oi:enable", kwlist, &file, &all_threads))
+ return NULL;
+
+ file = faulthandler_get_fileno(file, &fd);
+ if (file == NULL)
+ return NULL;
+
+ tstate = get_thread_state();
+ if (tstate == NULL)
+ return NULL;
+
+ Py_XDECREF(fatal_error.file);
+ Py_INCREF(file);
+ fatal_error.file = file;
+ fatal_error.fd = fd;
+ fatal_error.all_threads = all_threads;
+ fatal_error.interp = tstate->interp;
+
+ if (!fatal_error.enabled) {
+ fatal_error.enabled = 1;
+
+ for (i=0; i < faulthandler_nsignals; i++) {
+ handler = &faulthandler_handlers[i];
+#ifdef HAVE_SIGACTION
+ action.sa_handler = faulthandler_fatal_error;
+ sigemptyset(&action.sa_mask);
+ /* Do not prevent the signal from being received from within
+ its own signal handler */
+ action.sa_flags = SA_NODEFER;
+#ifdef HAVE_SIGALTSTACK
+ if (stack.ss_sp != NULL) {
+ /* Call the signal handler on an alternate signal stack
+ provided by sigaltstack() */
+ action.sa_flags |= SA_ONSTACK;
+ }
+#endif
+ err = sigaction(handler->signum, &action, &handler->previous);
+#else
+ handler->previous = signal(handler->signum,
+ faulthandler_fatal_error);
+ err = (handler->previous == SIG_ERR);
+#endif
+ if (err) {
+ PyErr_SetFromErrno(PyExc_RuntimeError);
+ return NULL;
+ }
+ handler->enabled = 1;
+ }
+ }
+ Py_RETURN_NONE;
+}
+
+static void
+faulthandler_disable(void)
+{
+ unsigned int i;
+ fault_handler_t *handler;
+
+ if (fatal_error.enabled) {
+ fatal_error.enabled = 0;
+ for (i=0; i < faulthandler_nsignals; i++) {
+ handler = &faulthandler_handlers[i];
+ if (!handler->enabled)
+ continue;
+#ifdef HAVE_SIGACTION
+ (void)sigaction(handler->signum, &handler->previous, NULL);
+#else
+ (void)signal(handler->signum, handler->previous);
+#endif
+ handler->enabled = 0;
+ }
+ }
+
+ Py_CLEAR(fatal_error.file);
+}
+
+static PyObject*
+faulthandler_disable_py(PyObject *self)
+{
+ if (!fatal_error.enabled) {
+ Py_INCREF(Py_False);
+ return Py_False;
+ }
+ faulthandler_disable();
+ Py_INCREF(Py_True);
+ return Py_True;
+}
+
+static PyObject*
+faulthandler_is_enabled(PyObject *self)
+{
+ return PyBool_FromLong(fatal_error.enabled);
+}
+
+#ifdef FAULTHANDLER_LATER
+
+static void
+faulthandler_thread(void *unused)
+{
+ PyLockStatus st;
+ const char* errmsg;
+ PyThreadState *current;
+ int ok;
+#if defined(HAVE_PTHREAD_SIGMASK) && !defined(HAVE_BROKEN_PTHREAD_SIGMASK)
+ sigset_t set;
+
+ /* we don't want to receive any signal */
+ sigfillset(&set);
+ pthread_sigmask(SIG_SETMASK, &set, NULL);
+#endif
+
+ do {
+ st = PyThread_acquire_lock_timed(thread.cancel_event,
+ thread.timeout_us, 0);
+ if (st == PY_LOCK_ACQUIRED) {
+ PyThread_release_lock(thread.cancel_event);
+ break;
+ }
+ /* Timeout => dump traceback */
+ assert(st == PY_LOCK_FAILURE);
+
+ /* get the thread holding the GIL, NULL if no thread hold the GIL */
+ current = _Py_atomic_load_relaxed(&_PyThreadState_Current);
+
+ write(thread.fd, thread.header, thread.header_len);
+
+ errmsg = _Py_DumpTracebackThreads(thread.fd, thread.interp, current);
+ ok = (errmsg == NULL);
+
+ if (thread.exit)
+ _exit(1);
+ } while (ok && thread.repeat);
+
+ /* The only way out */
+ PyThread_release_lock(thread.running);
+}
+
+static void
+cancel_dump_tracebacks_later(void)
+{
+ /* Notify cancellation */
+ PyThread_release_lock(thread.cancel_event);
+
+ /* Wait for thread to join */
+ PyThread_acquire_lock(thread.running, 1);
+ PyThread_release_lock(thread.running);
+
+ /* The main thread should always hold the cancel_event lock */
+ PyThread_acquire_lock(thread.cancel_event, 1);
+
+ Py_CLEAR(thread.file);
+ if (thread.header) {
+ free(thread.header);
+ thread.header = NULL;
+ }
+}
+
+static char*
+format_timeout(double timeout)
+{
+ unsigned long us, sec, min, hour;
+ double intpart, fracpart;
+ char buffer[100];
+
+ fracpart = modf(timeout, &intpart);
+ sec = (unsigned long)intpart;
+ us = (unsigned long)(fracpart * 1e6);
+ min = sec / 60;
+ sec %= 60;
+ hour = min / 60;
+ min %= 60;
+
+ if (us != 0)
+ PyOS_snprintf(buffer, sizeof(buffer),
+ "Timeout (%lu:%02lu:%02lu.%06lu)!\n",
+ hour, min, sec, us);
+ else
+ PyOS_snprintf(buffer, sizeof(buffer),
+ "Timeout (%lu:%02lu:%02lu)!\n",
+ hour, min, sec);
+
+ return strdup(buffer);
+}
+
+static PyObject*
+faulthandler_dump_tracebacks_later(PyObject *self,
+ PyObject *args, PyObject *kwargs)
+{
+ static char *kwlist[] = {"timeout", "repeat", "file", "exit", NULL};
+ double timeout;
+ PY_TIMEOUT_T timeout_us;
+ int repeat = 0;
+ PyObject *file = NULL;
+ int fd;
+ int exit = 0;
+ PyThreadState *tstate;
+ char *header;
+ size_t header_len;
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+ "d|iOi:dump_tracebacks_later", kwlist,
+ &timeout, &repeat, &file, &exit))
+ return NULL;
+ if ((timeout * 1e6) >= (double) PY_TIMEOUT_MAX) {
+ PyErr_SetString(PyExc_OverflowError, "timeout value is too large");
+ return NULL;
+ }
+ timeout_us = (PY_TIMEOUT_T)(timeout * 1e6);
+ if (timeout_us <= 0) {
+ PyErr_SetString(PyExc_ValueError, "timeout must be greater than 0");
+ return NULL;
+ }
+
+ tstate = get_thread_state();
+ if (tstate == NULL)
+ return NULL;
+
+ file = faulthandler_get_fileno(file, &fd);
+ if (file == NULL)
+ return NULL;
+
+ /* format the timeout */
+ header = format_timeout(timeout);
+ if (header == NULL)
+ return PyErr_NoMemory();
+ header_len = strlen(header);
+
+ /* Cancel previous thread, if running */
+ cancel_dump_tracebacks_later();
+
+ Py_XDECREF(thread.file);
+ Py_INCREF(file);
+ thread.file = file;
+ thread.fd = fd;
+ thread.timeout_us = timeout_us;
+ thread.repeat = repeat;
+ thread.interp = tstate->interp;
+ thread.exit = exit;
+ thread.header = header;
+ thread.header_len = header_len;
+
+ /* Arm these locks to serve as events when released */
+ PyThread_acquire_lock(thread.running, 1);
+
+ if (PyThread_start_new_thread(faulthandler_thread, NULL) == -1) {
+ PyThread_release_lock(thread.running);
+ Py_CLEAR(thread.file);
+ free(header);
+ thread.header = NULL;
+ PyErr_SetString(PyExc_RuntimeError,
+ "unable to start watchdog thread");
+ return NULL;
+ }
+
+ Py_RETURN_NONE;
+}
+
+static PyObject*
+faulthandler_cancel_dump_tracebacks_later_py(PyObject *self)
+{
+ cancel_dump_tracebacks_later();
+ Py_RETURN_NONE;
+}
+#endif /* FAULTHANDLER_LATER */
+
+#ifdef FAULTHANDLER_WATCHDOG
+
+static void
+file_watchdog(void *unused)
+{
+ PyLockStatus st;
+ PY_TIMEOUT_T timeout;
+
+#define MAXDATA 1024
+ char buf1[MAXDATA], buf2[MAXDATA];
+ char *data = buf1, *old_data = buf2;
+ Py_ssize_t data_len, old_data_len = -1;
+
+#if defined(HAVE_PTHREAD_SIGMASK) && !defined(HAVE_BROKEN_PTHREAD_SIGMASK)
+ sigset_t set;
+
+ /* we don't want to receive any signal */
+ sigfillset(&set);
+ pthread_sigmask(SIG_SETMASK, &set, NULL);
+#endif
+
+ /* On first pass, feed file contents immediately */
+ timeout = 0;
+ do {
+ st = PyThread_acquire_lock_timed(watchdog.cancel_event,
+ timeout, 0);
+ timeout = watchdog.period_us;
+ if (st == PY_LOCK_ACQUIRED) {
+ PyThread_release_lock(watchdog.cancel_event);
+ break;
+ }
+ /* Timeout => read and write data */
+ assert(st == PY_LOCK_FAILURE);
+
+ if (lseek(watchdog.rfd, 0, SEEK_SET) < 0) {
+ break;
+ }
+ data_len = read(watchdog.rfd, data, MAXDATA);
+ if (data_len < 0) {
+ break;
+ }
+ if (data_len != old_data_len || memcmp(data, old_data, data_len)) {
+ char *tdata;
+ Py_ssize_t tlen;
+ /* Contents changed, feed them to wfd */
+ long x = (long) data_len;
+ /* We can't do anything if the consumer is too slow, just bail out */
+ if (write(watchdog.wfd, (void *) &x, sizeof(x)) < sizeof(x))
+ break;
+ if (write(watchdog.wfd, data, data_len) < data_len)
+ break;
+ tdata = data;
+ data = old_data;
+ old_data = tdata;
+ tlen = data_len;
+ data_len = old_data_len;
+ old_data_len = tlen;
+ }
+ } while (1);
+
+ close(watchdog.rfd);
+ close(watchdog.wfd);
+
+ /* The only way out */
+ PyThread_release_lock(watchdog.running);
+#undef MAXDATA
+}
+
+static void
+cancel_file_watchdog(void)
+{
+ /* Notify cancellation */
+ PyThread_release_lock(watchdog.cancel_event);
+
+ /* Wait for thread to join */
+ PyThread_acquire_lock(watchdog.running, 1);
+ PyThread_release_lock(watchdog.running);
+
+ /* The main thread should always hold the cancel_event lock */
+ PyThread_acquire_lock(watchdog.cancel_event, 1);
+}
+
+static PyObject*
+faulthandler_file_watchdog(PyObject *self,
+ PyObject *args, PyObject *kwargs)
+{
+ static char *kwlist[] = {"rfd", "wfd", "period", NULL};
+ double period;
+ PY_TIMEOUT_T period_us;
+ int rfd, wfd;
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+ "iid:_file_watchdog", kwlist,
+ &rfd, &wfd, &period))
+ return NULL;
+ if ((period * 1e6) >= (double) PY_TIMEOUT_MAX) {
+ PyErr_SetString(PyExc_OverflowError, "period value is too large");
+ return NULL;
+ }
+ period_us = (PY_TIMEOUT_T)(period * 1e6);
+ if (period_us <= 0) {
+ PyErr_SetString(PyExc_ValueError, "period must be greater than 0");
+ return NULL;
+ }
+
+ /* Cancel previous thread, if running */
+ cancel_file_watchdog();
+
+ watchdog.rfd = rfd;
+ watchdog.wfd = wfd;
+ watchdog.period_us = period_us;
+
+ /* Arm these locks to serve as events when released */
+ PyThread_acquire_lock(watchdog.running, 1);
+
+ if (PyThread_start_new_thread(file_watchdog, NULL) == -1) {
+ PyThread_release_lock(watchdog.running);
+ PyErr_SetString(PyExc_RuntimeError,
+ "unable to start file watchdog thread");
+ return NULL;
+ }
+
+ Py_RETURN_NONE;
+}
+
+static PyObject*
+faulthandler_cancel_file_watchdog(PyObject *self)
+{
+ cancel_file_watchdog();
+ Py_RETURN_NONE;
+}
+#endif /* FAULTHANDLER_WATCHDOG */
+
+#ifdef FAULTHANDLER_USER
+static int
+faulthandler_register(int signum, int chain, _Py_sighandler_t *p_previous)
+{
+#ifdef HAVE_SIGACTION
+ struct sigaction action;
+ action.sa_handler = faulthandler_user;
+ sigemptyset(&action.sa_mask);
+ /* if the signal is received while the kernel is executing a system
+ call, try to restart the system call instead of interrupting it and
+ return EINTR. */
+ action.sa_flags = SA_RESTART;
+ if (chain) {
+ /* do not prevent the signal from being received from within its
+ own signal handler */
+ action.sa_flags = SA_NODEFER;
+ }
+#ifdef HAVE_SIGALTSTACK
+ if (stack.ss_sp != NULL) {
+ /* Call the signal handler on an alternate signal stack
+ provided by sigaltstack() */
+ action.sa_flags |= SA_ONSTACK;
+ }
+#endif
+ return sigaction(signum, &action, p_previous);
+#else
+ _Py_sighandler_t previous;
+ previous = signal(signum, faulthandler_user);
+ if (p_previous != NULL)
+ *p_previous = previous;
+ return (previous == SIG_ERR);
+#endif
+}
+
+/* Handler of user signals (e.g. SIGUSR1).
+
+ Dump the traceback of the current thread, or of all threads if
+ thread.all_threads is true.
+
+ This function is signal safe and should only call signal safe functions. */
+
+static void
+faulthandler_user(int signum)
+{
+ user_signal_t *user;
+ PyThreadState *tstate;
+ int save_errno = errno;
+
+ user = &user_signals[signum];
+ if (!user->enabled)
+ return;
+
+#ifdef WITH_THREAD
+ /* PyThreadState_Get() doesn't give the state of the current thread if
+ the thread doesn't hold the GIL. Read the thread local storage (TLS)
+ instead: call PyGILState_GetThisThreadState(). */
+ tstate = PyGILState_GetThisThreadState();
+#else
+ tstate = PyThreadState_Get();
+#endif
+
+ if (user->all_threads)
+ _Py_DumpTracebackThreads(user->fd, user->interp, tstate);
+ else {
+ if (tstate == NULL)
+ return;
+ _Py_DumpTraceback(user->fd, tstate);
+ }
+#ifdef HAVE_SIGACTION
+ if (user->chain) {
+ (void)sigaction(signum, &user->previous, NULL);
+ /* call the previous signal handler */
+ raise(signum);
+ (void)faulthandler_register(signum, user->chain, NULL);
+ }
+#else
+ if (user->chain) {
+ /* call the previous signal handler */
+ user->previous(signum);
+ }
+#endif
+ errno = save_errno;
+}
+
+static int
+check_signum(int signum)
+{
+ unsigned int i;
+
+ for (i=0; i < faulthandler_nsignals; i++) {
+ if (faulthandler_handlers[i].signum == signum) {
+ PyErr_Format(PyExc_RuntimeError,
+ "signal %i cannot be registered, "
+ "use enable() instead",
+ signum);
+ return 0;
+ }
+ }
+ if (signum < 1 || NSIG <= signum) {
+ PyErr_SetString(PyExc_ValueError, "signal number out of range");
+ return 0;
+ }
+ return 1;
+}
+
+static PyObject*
+faulthandler_register_py(PyObject *self,
+ PyObject *args, PyObject *kwargs)
+{
+ static char *kwlist[] = {"signum", "file", "all_threads", "chain", NULL};
+ int signum;
+ PyObject *file = NULL;
+ int all_threads = 1;
+ int chain = 0;
+ int fd;
+ user_signal_t *user;
+ _Py_sighandler_t previous;
+ PyThreadState *tstate;
+ int err;
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+ "i|Oii:register", kwlist,
+ &signum, &file, &all_threads, &chain))
+ return NULL;
+
+ if (!check_signum(signum))
+ return NULL;
+
+ tstate = get_thread_state();
+ if (tstate == NULL)
+ return NULL;
+
+ file = faulthandler_get_fileno(file, &fd);
+ if (file == NULL)
+ return NULL;
+
+ if (user_signals == NULL) {
+ user_signals = calloc(NSIG, sizeof(user_signal_t));
+ if (user_signals == NULL)
+ return PyErr_NoMemory();
+ }
+ user = &user_signals[signum];
+
+ if (!user->enabled) {
+ err = faulthandler_register(signum, chain, &previous);
+ if (err) {
+ PyErr_SetFromErrno(PyExc_OSError);
+ return NULL;
+ }
+ }
+
+ Py_XDECREF(user->file);
+ Py_INCREF(file);
+ user->file = file;
+ user->fd = fd;
+ user->all_threads = all_threads;
+ user->chain = chain;
+ user->previous = previous;
+ user->interp = tstate->interp;
+ user->enabled = 1;
+
+ Py_RETURN_NONE;
+}
+
+static int
+faulthandler_unregister(user_signal_t *user, int signum)
+{
+ if (!user->enabled)
+ return 0;
+ user->enabled = 0;
+#ifdef HAVE_SIGACTION
+ (void)sigaction(signum, &user->previous, NULL);
+#else
+ (void)signal(signum, user->previous);
+#endif
+ Py_CLEAR(user->file);
+ user->fd = -1;
+ return 1;
+}
+
+static PyObject*
+faulthandler_unregister_py(PyObject *self, PyObject *args)
+{
+ int signum;
+ user_signal_t *user;
+ int change;
+
+ if (!PyArg_ParseTuple(args, "i:unregister", &signum))
+ return NULL;
+
+ if (!check_signum(signum))
+ return NULL;
+
+ if (user_signals == NULL)
+ Py_RETURN_FALSE;
+
+ user = &user_signals[signum];
+ change = faulthandler_unregister(user, signum);
+ return PyBool_FromLong(change);
+}
+#endif /* FAULTHANDLER_USER */
+
+
+static PyObject *
+faulthandler_read_null(PyObject *self, PyObject *args)
+{
+ int *x = NULL, y;
+ int release_gil = 0;
+ if (!PyArg_ParseTuple(args, "|i:_read_null", &release_gil))
+ return NULL;
+ if (release_gil) {
+ Py_BEGIN_ALLOW_THREADS
+ y = *x;
+ Py_END_ALLOW_THREADS
+ } else
+ y = *x;
+ return PyLong_FromLong(y);
+
+}
+
+static PyObject *
+faulthandler_sigsegv(PyObject *self, PyObject *args)
+{
+#if defined(MS_WINDOWS)
+ /* For SIGSEGV, faulthandler_fatal_error() restores the previous signal
+ handler and then gives back the execution flow to the program (without
+ explicitly calling the previous error handler). In a normal case, the
+ SIGSEGV was raised by the kernel because of a fault, and so if the
+ program retries to execute the same instruction, the fault will be
+ raised again.
+
+ Here the fault is simulated by a fake SIGSEGV signal raised by the
+ application. We have to raise SIGSEGV at lease twice: once for
+ faulthandler_fatal_error(), and one more time for the previous signal
+ handler. */
+ while(1)
+ raise(SIGSEGV);
+#else
+ raise(SIGSEGV);
+#endif
+ Py_RETURN_NONE;
+}
+
+static PyObject *
+faulthandler_sigfpe(PyObject *self, PyObject *args)
+{
+ /* Do an integer division by zero: raise a SIGFPE on Intel CPU, but not on
+ PowerPC. Use volatile to disable compile-time optimizations. */
+ volatile int x = 1, y = 0, z;
+ z = x / y;
+ /* If the division by zero didn't raise a SIGFPE (e.g. on PowerPC),
+ raise it manually. */
+ raise(SIGFPE);
+ /* This line is never reached, but we pretend to make something with z
+ to silence a compiler warning. */
+ return PyLong_FromLong(z);
+}
+
+static PyObject *
+faulthandler_sigabrt(PyObject *self, PyObject *args)
+{
+#ifdef _MSC_VER
+ /* Visual Studio: configure abort() to not display an error message nor
+ open a popup asking to report the fault. */
+ _set_abort_behavior(0, _WRITE_ABORT_MSG | _CALL_REPORTFAULT);
+#endif
+ abort();
+ Py_RETURN_NONE;
+}
+
+#ifdef SIGBUS
+static PyObject *
+faulthandler_sigbus(PyObject *self, PyObject *args)
+{
+ raise(SIGBUS);
+ Py_RETURN_NONE;
+}
+#endif
+
+#ifdef SIGILL
+static PyObject *
+faulthandler_sigill(PyObject *self, PyObject *args)
+{
+ raise(SIGILL);
+ Py_RETURN_NONE;
+}
+#endif
+
+static PyObject *
+faulthandler_fatal_error_py(PyObject *self, PyObject *args)
+{
+ char *message;
+ if (!PyArg_ParseTuple(args, "y:fatal_error", &message))
+ return NULL;
+ Py_FatalError(message);
+ Py_RETURN_NONE;
+}
+
+#if defined(HAVE_SIGALTSTACK) && defined(HAVE_SIGACTION)
+static void*
+stack_overflow(void *min_sp, void *max_sp, size_t *depth)
+{
+ /* allocate 4096 bytes on the stack at each call */
+ unsigned char buffer[4096];
+ void *sp = &buffer;
+ *depth += 1;
+ if (sp < min_sp || max_sp < sp)
+ return sp;
+ buffer[0] = 1;
+ buffer[4095] = 0;
+ return stack_overflow(min_sp, max_sp, depth);
+}
+
+static PyObject *
+faulthandler_stack_overflow(PyObject *self)
+{
+ size_t depth, size;
+ char *sp = (char *)&depth, *stop;
+
+ depth = 0;
+ stop = stack_overflow(sp - STACK_OVERFLOW_MAX_SIZE,
+ sp + STACK_OVERFLOW_MAX_SIZE,
+ &depth);
+ if (sp < stop)
+ size = stop - sp;
+ else
+ size = sp - stop;
+ PyErr_Format(PyExc_RuntimeError,
+ "unable to raise a stack overflow (allocated %zu bytes "
+ "on the stack, %zu recursive calls)",
+ size, depth);
+ return NULL;
+}
+#endif
+
+
+static int
+faulthandler_traverse(PyObject *module, visitproc visit, void *arg)
+{
+#ifdef FAULTHANDLER_USER
+ unsigned int signum;
+#endif
+
+#ifdef FAULTHANDLER_LATER
+ Py_VISIT(thread.file);
+#endif
+#ifdef FAULTHANDLER_USER
+ if (user_signals != NULL) {
+ for (signum=0; signum < NSIG; signum++)
+ Py_VISIT(user_signals[signum].file);
+ }
+#endif
+ Py_VISIT(fatal_error.file);
+ return 0;
+}
+
+PyDoc_STRVAR(module_doc,
+"faulthandler module.");
+
+static PyMethodDef module_methods[] = {
+ {"enable",
+ (PyCFunction)faulthandler_enable, METH_VARARGS|METH_KEYWORDS,
+ PyDoc_STR("enable(file=sys.stderr, all_threads=True): "
+ "enable the fault handler")},
+ {"disable", (PyCFunction)faulthandler_disable_py, METH_NOARGS,
+ PyDoc_STR("disable(): disable the fault handler")},
+ {"is_enabled", (PyCFunction)faulthandler_is_enabled, METH_NOARGS,
+ PyDoc_STR("is_enabled()->bool: check if the handler is enabled")},
+ {"dump_traceback",
+ (PyCFunction)faulthandler_dump_traceback_py, METH_VARARGS|METH_KEYWORDS,
+ PyDoc_STR("dump_traceback(file=sys.stderr, all_threads=True): "
+ "dump the traceback of the current thread, or of all threads "
+ "if all_threads is True, into file")},
+#ifdef FAULTHANDLER_LATER
+ {"dump_tracebacks_later",
+ (PyCFunction)faulthandler_dump_tracebacks_later, METH_VARARGS|METH_KEYWORDS,
+ PyDoc_STR("dump_tracebacks_later(timeout, repeat=False, file=sys.stderrn, exit=False):\n"
+ "dump the traceback of all threads in timeout seconds,\n"
+ "or each timeout seconds if repeat is True. If exit is True, "
+ "call _exit(1) which is not safe.")},
+ {"cancel_dump_tracebacks_later",
+ (PyCFunction)faulthandler_cancel_dump_tracebacks_later_py, METH_NOARGS,
+ PyDoc_STR("cancel_dump_tracebacks_later():\ncancel the previous call "
+ "to dump_tracebacks_later().")},
+#endif
+
+#ifdef FAULTHANDLER_WATCHDOG
+ {"_file_watchdog",
+ (PyCFunction)faulthandler_file_watchdog, METH_VARARGS|METH_KEYWORDS,
+ PyDoc_STR("_file_watchdog(rfd, wfd, period):\n"
+ "feed the contents of 'rfd' to 'wfd', if changed,\n"
+ "every 'period seconds'.")},
+ {"_cancel_file_watchdog",
+ (PyCFunction)faulthandler_cancel_file_watchdog, METH_NOARGS,
+ PyDoc_STR("_cancel_file_watchdog():\ncancel the previous call "
+ "to _file_watchdog().")},
+#endif
+
+#ifdef FAULTHANDLER_USER
+ {"register",
+ (PyCFunction)faulthandler_register_py, METH_VARARGS|METH_KEYWORDS,
+ PyDoc_STR("register(signum, file=sys.stderr, all_threads=True, chain=False): "
+ "register an handler for the signal 'signum': dump the "
+ "traceback of the current thread, or of all threads if "
+ "all_threads is True, into file")},
+ {"unregister",
+ faulthandler_unregister_py, METH_VARARGS|METH_KEYWORDS,
+ PyDoc_STR("unregister(signum): unregister the handler of the signal "
+ "'signum' registered by register()")},
+#endif
+
+ {"_read_null", faulthandler_read_null, METH_VARARGS,
+ PyDoc_STR("_read_null(release_gil=False): read from NULL, raise "
+ "a SIGSEGV or SIGBUS signal depending on the platform")},
+ {"_sigsegv", faulthandler_sigsegv, METH_VARARGS,
+ PyDoc_STR("_sigsegv(): raise a SIGSEGV signal")},
+ {"_sigabrt", faulthandler_sigabrt, METH_VARARGS,
+ PyDoc_STR("_sigabrt(): raise a SIGABRT signal")},
+ {"_sigfpe", (PyCFunction)faulthandler_sigfpe, METH_NOARGS,
+ PyDoc_STR("_sigfpe(): raise a SIGFPE signal")},
+#ifdef SIGBUS
+ {"_sigbus", (PyCFunction)faulthandler_sigbus, METH_NOARGS,
+ PyDoc_STR("_sigbus(): raise a SIGBUS signal")},
+#endif
+#ifdef SIGILL
+ {"_sigill", (PyCFunction)faulthandler_sigill, METH_NOARGS,
+ PyDoc_STR("_sigill(): raise a SIGILL signal")},
+#endif
+ {"_fatal_error", faulthandler_fatal_error_py, METH_VARARGS,
+ PyDoc_STR("_fatal_error(message): call Py_FatalError(message)")},
+#if defined(HAVE_SIGALTSTACK) && defined(HAVE_SIGACTION)
+ {"_stack_overflow", (PyCFunction)faulthandler_stack_overflow, METH_NOARGS,
+ PyDoc_STR("_stack_overflow(): recursive call to raise a stack overflow")},
+#endif
+ {NULL, NULL} /* sentinel */
+};
+
+static struct PyModuleDef module_def = {
+ PyModuleDef_HEAD_INIT,
+ "faulthandler",
+ module_doc,
+ 0, /* non-negative size to be able to unload the module */
+ module_methods,
+ NULL,
+ faulthandler_traverse,
+ NULL,
+ NULL
+};
+
+PyMODINIT_FUNC
+PyInit_faulthandler(void)
+{
+ return PyModule_Create(&module_def);
+}
+
+/* Call faulthandler.enable() if the PYTHONFAULTHANDLER environment variable
+ is defined, or if sys._xoptions has a 'faulthandler' key. */
+
+static int
+faulthandler_env_options(void)
+{
+ PyObject *xoptions, *key, *module, *res;
+ _Py_IDENTIFIER(enable);
+
+ if (!Py_GETENV("PYTHONFAULTHANDLER")) {
+ int has_key;
+
+ xoptions = PySys_GetXOptions();
+ if (xoptions == NULL)
+ return -1;
+
+ key = PyUnicode_FromString("faulthandler");
+ if (key == NULL)
+ return -1;
+
+ has_key = PyDict_Contains(xoptions, key);
+ Py_DECREF(key);
+ if (!has_key)
+ return 0;
+ }
+
+ module = PyImport_ImportModule("faulthandler");
+ if (module == NULL) {
+ return -1;
+ }
+ res = _PyObject_CallMethodId(module, &PyId_enable, "");
+ Py_DECREF(module);
+ if (res == NULL)
+ return -1;
+ Py_DECREF(res);
+ return 0;
+}
+
+int _PyFaulthandler_Init(void)
+{
+#ifdef HAVE_SIGALTSTACK
+ int err;
+
+ /* Try to allocate an alternate stack for faulthandler() signal handler to
+ * be able to allocate memory on the stack, even on a stack overflow. If it
+ * fails, ignore the error. */
+ stack.ss_flags = 0;
+ stack.ss_size = SIGSTKSZ;
+ stack.ss_sp = PyMem_Malloc(stack.ss_size);
+ if (stack.ss_sp != NULL) {
+ err = sigaltstack(&stack, NULL);
+ if (err) {
+ PyMem_Free(stack.ss_sp);
+ stack.ss_sp = NULL;
+ }
+ }
+#endif
+#ifdef FAULTHANDLER_LATER
+ thread.file = NULL;
+ thread.cancel_event = PyThread_allocate_lock();
+ thread.running = PyThread_allocate_lock();
+ if (!thread.cancel_event || !thread.running) {
+ PyErr_SetString(PyExc_RuntimeError,
+ "could not allocate locks for faulthandler");
+ return -1;
+ }
+ PyThread_acquire_lock(thread.cancel_event, 1);
+#endif
+#ifdef FAULTHANDLER_WATCHDOG
+ watchdog.cancel_event = PyThread_allocate_lock();
+ watchdog.running = PyThread_allocate_lock();
+ if (!watchdog.cancel_event || !watchdog.running) {
+ PyErr_SetString(PyExc_RuntimeError,
+ "could not allocate locks for faulthandler");
+ return -1;
+ }
+ PyThread_acquire_lock(watchdog.cancel_event, 1);
+#endif
+
+ return faulthandler_env_options();
+}
+
+void _PyFaulthandler_Fini(void)
+{
+#ifdef FAULTHANDLER_USER
+ unsigned int signum;
+#endif
+
+#ifdef FAULTHANDLER_LATER
+ /* later */
+ cancel_dump_tracebacks_later();
+ if (thread.cancel_event) {
+ PyThread_release_lock(thread.cancel_event);
+ PyThread_free_lock(thread.cancel_event);
+ thread.cancel_event = NULL;
+ }
+ if (thread.running) {
+ PyThread_free_lock(thread.running);
+ thread.running = NULL;
+ }
+#endif
+
+#ifdef FAULTHANDLER_WATCHDOG
+ /* file watchdog */
+ cancel_file_watchdog();
+ if (watchdog.cancel_event) {
+ PyThread_release_lock(watchdog.cancel_event);
+ PyThread_free_lock(watchdog.cancel_event);
+ watchdog.cancel_event = NULL;
+ }
+ if (watchdog.running) {
+ PyThread_free_lock(watchdog.running);
+ watchdog.running = NULL;
+ }
+#endif
+
+#ifdef FAULTHANDLER_USER
+ /* user */
+ if (user_signals != NULL) {
+ for (signum=0; signum < NSIG; signum++)
+ faulthandler_unregister(&user_signals[signum], signum);
+ free(user_signals);
+ user_signals = NULL;
+ }
+#endif
+
+ /* fatal */
+ faulthandler_disable();
+#ifdef HAVE_SIGALTSTACK
+ if (stack.ss_sp != NULL) {
+ PyMem_Free(stack.ss_sp);
+ stack.ss_sp = NULL;
+ }
+#endif
+}
diff --git a/Modules/fcntlmodule.c b/Modules/fcntlmodule.c
index bfc5985..6b7e3fc 100644
--- a/Modules/fcntlmodule.c
+++ b/Modules/fcntlmodule.c
@@ -540,10 +540,13 @@ all_ins(PyObject* d)
if (ins(d, "F_SHLCK", (long)F_SHLCK)) return -1;
#endif
-/* OS X (and maybe others) let you tell the storage device to flush to physical media */
+/* OS X specifics */
#ifdef F_FULLFSYNC
if (ins(d, "F_FULLFSYNC", (long)F_FULLFSYNC)) return -1;
#endif
+#ifdef F_NOCACHE
+ if (ins(d, "F_NOCACHE", (long)F_NOCACHE)) return -1;
+#endif
/* For F_{GET|SET}FL */
#ifdef FD_CLOEXEC
diff --git a/Modules/fpectlmodule.c b/Modules/fpectlmodule.c
index 1bb51cf..6af2f82 100644
--- a/Modules/fpectlmodule.c
+++ b/Modules/fpectlmodule.c
@@ -174,17 +174,6 @@ static void fpe_reset(Sigfunc *handler)
fp_enable(TRP_INVALID | TRP_DIV_BY_ZERO | TRP_OVERFLOW);
PyOS_setsig(SIGFPE, handler);
-/*-- DEC ALPHA OSF --------------------------------------------------------*/
-#elif defined(__alpha) && defined(__osf__)
- /* References: exception_intro, ieee man pages */
- /* cc -c -I/usr/local/python/include fpectlmodule.c */
- /* ld -shared -o fpectlmodule.so fpectlmodule.o */
-#include <machine/fpu.h>
- unsigned long fp_control =
- IEEE_TRAP_ENABLE_INV | IEEE_TRAP_ENABLE_DZE | IEEE_TRAP_ENABLE_OVF;
- ieee_set_fp_control(fp_control);
- PyOS_setsig(SIGFPE, handler);
-
/*-- DEC ALPHA LINUX ------------------------------------------------------*/
#elif defined(__alpha) && defined(linux)
#include <asm/fpu.h>
diff --git a/Modules/gc_weakref.txt b/Modules/gc_weakref.txt
index d7be6c3..2f18402 100644
--- a/Modules/gc_weakref.txt
+++ b/Modules/gc_weakref.txt
@@ -15,8 +15,8 @@ have been called before resurrection). At best (and this has been an
historically common bug), tp_clear empties an instance's __dict__, and
"impossible" AttributeErrors result. At worst, tp_clear leaves behind an
insane object at the C level, and segfaults result (historically, most
-often by setting a new-style class's mro pointer to NULL, after which
-attribute lookups performed by the class can segfault).
+often by setting a class's mro pointer to NULL, after which attribute
+lookups performed by the class can segfault).
OTOH, it's OK to run Python-level code that can't access unreachable
objects, and sometimes that's necessary. The chief example is the callback
@@ -119,7 +119,7 @@ isn't easy to stumble into by accident while Python is running, and, indeed,
it took quite a while to dream up failing test cases. Zope3 saw segfaults
during shutdown, during the second call of gc in Py_Finalize, after most
modules had been torn down. That creates many trash cycles (esp. those
-involving new-style classes), making the problem much more likely. Once you
+involving classes), making the problem much more likely. Once you
know what's required to provoke the problem, though, it's easy to create
tests that segfault before shutdown.
diff --git a/Modules/gcmodule.c b/Modules/gcmodule.c
index 10a4ed7..1876e93 100644
--- a/Modules/gcmodule.c
+++ b/Modules/gcmodule.c
@@ -680,8 +680,8 @@ handle_weakrefs(PyGC_Head *unreachable, PyGC_Head *old)
static void
debug_cycle(char *msg, PyObject *op)
{
- PySys_WriteStderr("gc: %.100s <%.100s %p>\n",
- msg, Py_TYPE(op)->tp_name, op);
+ PySys_FormatStderr("gc: %s <%s %p>\n",
+ msg, Py_TYPE(op)->tp_name, op);
}
/* Handle uncollectable garbage (cycles with finalizers, and stuff reachable
@@ -762,6 +762,9 @@ clear_freelists(void)
(void)PyTuple_ClearFreeList();
(void)PyUnicode_ClearFreeList();
(void)PyFloat_ClearFreeList();
+ (void)PyList_ClearFreeList();
+ (void)PyDict_ClearFreeList();
+ (void)PySet_ClearFreeList();
}
static double
@@ -769,7 +772,9 @@ get_time(void)
{
double result = 0;
if (tmod != NULL) {
- PyObject *f = PyObject_CallMethod(tmod, "time", NULL);
+ _Py_IDENTIFIER(time);
+
+ PyObject *f = _PyObject_CallMethodId(tmod, &PyId_time, NULL);
if (f == NULL) {
PyErr_Clear();
}
diff --git a/Modules/getbuildinfo.c b/Modules/getbuildinfo.c
index 7069b6e..0971a64 100644
--- a/Modules/getbuildinfo.c
+++ b/Modules/getbuildinfo.c
@@ -20,14 +20,6 @@
#endif
#endif
-/* on unix, SVNVERSION is passed on the command line.
- * on Windows, the string is interpolated using
- * subwcrev.exe
- */
-#ifndef SVNVERSION
-#define SVNVERSION "$WCRANGE$$WCMODS?M:$"
-#endif
-
/* XXX Only unix build process has been tested */
#ifndef HGVERSION
#define HGVERSION ""
@@ -57,16 +49,6 @@ Py_GetBuildInfo(void)
}
const char *
-_Py_svnversion(void)
-{
- /* the following string can be modified by subwcrev.exe */
- static const char svnversion[] = SVNVERSION;
- if (svnversion[0] != '$')
- return svnversion; /* it was interpolated, or passed on command line */
- return "Unversioned directory";
-}
-
-const char *
_Py_hgversion(void)
{
return HGVERSION;
diff --git a/Modules/getpath.c b/Modules/getpath.c
index b7f9573..7090879 100644
--- a/Modules/getpath.c
+++ b/Modules/getpath.c
@@ -406,7 +406,7 @@ calculate_path(void)
static wchar_t delimiter[2] = {DELIM, '\0'};
static wchar_t separator[2] = {SEP, '\0'};
char *_rtpypath = Py_GETENV("PYTHONPATH"); /* XXX use wide version on Windows */
- wchar_t rtpypath[MAXPATHLEN+1];
+ wchar_t *rtpypath = NULL;
wchar_t *home = Py_GetPythonHome();
char *_path = getenv("PATH");
wchar_t *path_buffer = NULL;
@@ -606,12 +606,12 @@ calculate_path(void)
bufsz = 0;
if (_rtpypath) {
- size_t s = mbstowcs(rtpypath, _rtpypath, sizeof(rtpypath)/sizeof(wchar_t));
- if (s == (size_t)-1 || s >=sizeof(rtpypath))
- /* XXX deal with errors more gracefully */
+ size_t rtpypath_len;
+ rtpypath = _Py_char2wchar(_rtpypath, &rtpypath_len);
+ if (rtpypath != NULL)
+ bufsz += rtpypath_len + 1;
+ else
_rtpypath = NULL;
- if (_rtpypath)
- bufsz += wcslen(rtpypath) + 1;
}
defpath = _pythonpath;
@@ -645,7 +645,7 @@ calculate_path(void)
}
else {
/* Run-time value of $PYTHONPATH goes first */
- if (_rtpypath) {
+ if (rtpypath) {
wcscpy(buf, rtpypath);
wcscat(buf, delimiter);
}
@@ -719,6 +719,8 @@ calculate_path(void)
PyMem_Free(_pythonpath);
PyMem_Free(_prefix);
PyMem_Free(_exec_prefix);
+ if (rtpypath != NULL)
+ PyMem_Free(rtpypath);
}
diff --git a/Modules/itertoolsmodule.c b/Modules/itertoolsmodule.c
index 8b6fa85..15b0c17 100644
--- a/Modules/itertoolsmodule.c
+++ b/Modules/itertoolsmodule.c
@@ -626,6 +626,7 @@ tee(PyObject *self, PyObject *args)
{
Py_ssize_t i, n=2;
PyObject *it, *iterable, *copyable, *result;
+ _Py_IDENTIFIER(__copy__);
if (!PyArg_ParseTuple(args, "O|n", &iterable, &n))
return NULL;
@@ -643,7 +644,7 @@ tee(PyObject *self, PyObject *args)
Py_DECREF(result);
return NULL;
}
- if (!PyObject_HasAttrString(it, "__copy__")) {
+ if (!_PyObject_HasAttrId(it, &PyId___copy__)) {
copyable = tee_fromiterable(it);
Py_DECREF(it);
if (copyable == NULL) {
@@ -654,7 +655,8 @@ tee(PyObject *self, PyObject *args)
copyable = it;
PyTuple_SET_ITEM(result, 0, copyable);
for (i=1 ; i<n ; i++) {
- copyable = PyObject_CallMethod(copyable, "__copy__", NULL);
+
+ copyable = _PyObject_CallMethodId(copyable, &PyId___copy__, NULL);
if (copyable == NULL) {
Py_DECREF(result);
return NULL;
@@ -2592,6 +2594,7 @@ typedef struct {
PyObject_HEAD
PyObject *total;
PyObject *it;
+ PyObject *binop;
} accumulateobject;
static PyTypeObject accumulate_type;
@@ -2599,12 +2602,14 @@ static PyTypeObject accumulate_type;
static PyObject *
accumulate_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
{
- static char *kwargs[] = {"iterable", NULL};
+ static char *kwargs[] = {"iterable", "func", NULL};
PyObject *iterable;
PyObject *it;
+ PyObject *binop = NULL;
accumulateobject *lz;
- if (!PyArg_ParseTupleAndKeywords(args, kwds, "O:accumulate", kwargs, &iterable))
+ if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|O:accumulate",
+ kwargs, &iterable, &binop))
return NULL;
/* Get iterator. */
@@ -2619,6 +2624,8 @@ accumulate_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
return NULL;
}
+ Py_XINCREF(binop);
+ lz->binop = binop;
lz->total = NULL;
lz->it = it;
return (PyObject *)lz;
@@ -2628,6 +2635,7 @@ static void
accumulate_dealloc(accumulateobject *lz)
{
PyObject_GC_UnTrack(lz);
+ Py_XDECREF(lz->binop);
Py_XDECREF(lz->total);
Py_XDECREF(lz->it);
Py_TYPE(lz)->tp_free(lz);
@@ -2636,6 +2644,7 @@ accumulate_dealloc(accumulateobject *lz)
static int
accumulate_traverse(accumulateobject *lz, visitproc visit, void *arg)
{
+ Py_VISIT(lz->binop);
Py_VISIT(lz->it);
Py_VISIT(lz->total);
return 0;
@@ -2655,8 +2664,11 @@ accumulate_next(accumulateobject *lz)
lz->total = val;
return lz->total;
}
-
- newtotal = PyNumber_Add(lz->total, val);
+
+ if (lz->binop == NULL)
+ newtotal = PyNumber_Add(lz->total, val);
+ else
+ newtotal = PyObject_CallFunctionObjArgs(lz->binop, lz->total, val, NULL);
Py_DECREF(val);
if (newtotal == NULL)
return NULL;
@@ -2670,9 +2682,9 @@ accumulate_next(accumulateobject *lz)
}
PyDoc_STRVAR(accumulate_doc,
-"accumulate(iterable) --> accumulate object\n\
+"accumulate(iterable[, func]) --> accumulate object\n\
\n\
-Return series of accumulated sums.");
+Return series of accumulated sums (or other binary function results).");
static PyTypeObject accumulate_type = {
PyVarObject_HEAD_INIT(NULL, 0)
@@ -3633,7 +3645,7 @@ cycle(p) --> p0, p1, ... plast, p0, p1, ...\n\
repeat(elem [,n]) --> elem, elem, elem, ... endlessly or up to n times\n\
\n\
Iterators terminating on the shortest input sequence:\n\
-accumulate(p, start=0) --> p0, p0+p1, p0+p1+p2\n\
+accumulate(p[, func]) --> p0, p0+p1, p0+p1+p2\n\
chain(p, q, ...) --> p0, p1, ... plast, q0, q1, ... \n\
compress(data, selectors) --> (d[0] if s[0]), (d[1] if s[1]), ...\n\
dropwhile(pred, seq) --> seq[n], seq[n+1], starting when pred fails\n\
diff --git a/Modules/main.c b/Modules/main.c
index 5a985a5..d8c5172 100644
--- a/Modules/main.c
+++ b/Modules/main.c
@@ -6,6 +6,7 @@
#include <locale.h>
#ifdef __VMS
+#error "PEP 11: VMS is now unsupported, code will be removed in Python 3.4"
#include <unixlib.h>
#endif
@@ -100,6 +101,7 @@ static char *usage_5 =
" The default module search path uses %s.\n"
"PYTHONCASEOK : ignore case in 'import' statements (Windows).\n"
"PYTHONIOENCODING: Encoding[:errors] used for stdin/stdout/stderr.\n"
+"PYTHONFAULTHANDLER: dump the Python traceback on fatal errors.\n"
;
static int
@@ -493,16 +495,13 @@ Py_Main(int argc, wchar_t **argv)
/* Use utf-8 on Mac OS X */
unicode = PyUnicode_FromString(p);
#else
- wchar_t *wchar;
- size_t len;
- wchar = _Py_char2wchar(p, &len);
- if (wchar == NULL)
- continue;
- unicode = PyUnicode_FromWideChar(wchar, len);
- PyMem_Free(wchar);
+ unicode = PyUnicode_DecodeLocale(p, "surrogateescape");
#endif
- if (unicode == NULL)
+ if (unicode == NULL) {
+ /* ignore errors */
+ PyErr_Clear();
continue;
+ }
PySys_AddWarnOptionUnicode(unicode);
Py_DECREF(unicode);
}
@@ -577,7 +576,6 @@ Py_Main(int argc, wchar_t **argv)
if ((p = Py_GETENV("PYTHONEXECUTABLE")) && *p != '\0') {
wchar_t* buffer;
size_t len = strlen(p);
- size_t r;
buffer = malloc(len * sizeof(wchar_t));
if (buffer == NULL) {
@@ -585,7 +583,7 @@ Py_Main(int argc, wchar_t **argv)
"not enough memory to copy PYTHONEXECUTABLE");
}
- r = mbstowcs(buffer, p, len);
+ mbstowcs(buffer, p, len);
Py_SetProgramName(buffer);
/* buffer is now handed off - do not free */
} else {
diff --git a/Modules/mathmodule.c b/Modules/mathmodule.c
index 29c32a3..c4cc46e 100644
--- a/Modules/mathmodule.c
+++ b/Modules/mathmodule.c
@@ -55,11 +55,6 @@ raised for division by zero and mod by zero.
#include "Python.h"
#include "_math.h"
-#ifdef _OSF_SOURCE
-/* OSF1 5.1 doesn't make this available with XOPEN_SOURCE_EXTENDED defined */
-extern double copysign(double, double);
-#endif
-
/*
sin(pi*x), giving accurate results for all finite x (especially x
integral or close to an integer). This is here for use in the
@@ -244,7 +239,8 @@ m_tgamma(double x)
}
if (x == 0.0) {
errno = EDOM;
- return 1.0/x; /* tgamma(+-0.0) = +-inf, divide-by-zero */
+ /* tgamma(+-0.0) = +-inf, divide-by-zero */
+ return copysign(Py_HUGE_VAL, x);
}
/* integer arguments */
@@ -582,6 +578,61 @@ m_log(double x)
}
}
+/*
+ log2: log to base 2.
+
+ Uses an algorithm that should:
+
+ (a) produce exact results for powers of 2, and
+ (b) give a monotonic log2 (for positive finite floats),
+ assuming that the system log is monotonic.
+*/
+
+static double
+m_log2(double x)
+{
+ if (!Py_IS_FINITE(x)) {
+ if (Py_IS_NAN(x))
+ return x; /* log2(nan) = nan */
+ else if (x > 0.0)
+ return x; /* log2(+inf) = +inf */
+ else {
+ errno = EDOM;
+ return Py_NAN; /* log2(-inf) = nan, invalid-operation */
+ }
+ }
+
+ if (x > 0.0) {
+#ifdef HAVE_LOG2
+ return log2(x);
+#else
+ double m;
+ int e;
+ m = frexp(x, &e);
+ /* We want log2(m * 2**e) == log(m) / log(2) + e. Care is needed when
+ * x is just greater than 1.0: in that case e is 1, log(m) is negative,
+ * and we get significant cancellation error from the addition of
+ * log(m) / log(2) to e. The slight rewrite of the expression below
+ * avoids this problem.
+ */
+ if (x >= 1.0) {
+ return log(2.0 * m) / log(2.0) + (e - 1);
+ }
+ else {
+ return log(m) / log(2.0) + e;
+ }
+#endif
+ }
+ else if (x == 0.0) {
+ errno = EDOM;
+ return -Py_HUGE_VAL; /* log2(0) = -inf, divide-by-zero */
+ }
+ else {
+ errno = EDOM;
+ return Py_NAN; /* log2(-inf) = nan, invalid-operation */
+ }
+}
+
static double
m_log10(double x)
{
@@ -1384,7 +1435,7 @@ math_factorial(PyObject *self, PyObject *arg)
}
/* use lookup table if x is small */
- if (x < (long)(sizeof(SmallFactorials)/sizeof(SmallFactorials[0])))
+ if (x < (long)Py_ARRAY_LENGTH(SmallFactorials))
return PyLong_FromUnsignedLong(SmallFactorials[x]);
/* else express in the form odd_part * 2**two_valuation, and compute as
@@ -1628,6 +1679,15 @@ Return the logarithm of x to the given base.\n\
If the base not specified, returns the natural logarithm (base e) of x.");
static PyObject *
+math_log2(PyObject *self, PyObject *arg)
+{
+ return loghelper(arg, m_log2, "log2");
+}
+
+PyDoc_STRVAR(math_log2_doc,
+"log2(x)\n\nReturn the base 2 logarithm of x.");
+
+static PyObject *
math_log10(PyObject *self, PyObject *arg)
{
return loghelper(arg, m_log10, "log10");
@@ -1899,6 +1959,7 @@ static PyMethodDef math_methods[] = {
{"log", math_log, METH_VARARGS, math_log_doc},
{"log1p", math_log1p, METH_O, math_log1p_doc},
{"log10", math_log10, METH_O, math_log10_doc},
+ {"log2", math_log2, METH_O, math_log2_doc},
{"modf", math_modf, METH_O, math_modf_doc},
{"pow", math_pow, METH_VARARGS, math_pow_doc},
{"radians", math_radians, METH_O, math_radians_doc},
diff --git a/Modules/md5module.c b/Modules/md5module.c
index 208930d..86f602e 100644
--- a/Modules/md5module.c
+++ b/Modules/md5module.c
@@ -243,7 +243,7 @@ void md5_process(struct md5_state *md5,
in += MD5_BLOCKSIZE;
inlen -= MD5_BLOCKSIZE;
} else {
- n = MIN(inlen, (MD5_BLOCKSIZE - md5->curlen));
+ n = MIN(inlen, (Py_ssize_t)(MD5_BLOCKSIZE - md5->curlen));
memcpy(md5->buf + md5->curlen, in, (size_t)n);
md5->curlen += n;
in += n;
@@ -376,7 +376,7 @@ MD5_hexdigest(MD5object *self, PyObject *unused)
unsigned char digest[MD5_DIGESTSIZE];
struct md5_state temp;
PyObject *retval;
- Py_UNICODE *hex_digest;
+ Py_UCS1 *hex_digest;
int i, j;
/* Get the raw (binary) digest value */
@@ -384,24 +384,18 @@ MD5_hexdigest(MD5object *self, PyObject *unused)
md5_done(&temp, digest);
/* Create a new string */
- retval = PyUnicode_FromStringAndSize(NULL, MD5_DIGESTSIZE * 2);
+ retval = PyUnicode_New(MD5_DIGESTSIZE * 2, 127);
if (!retval)
return NULL;
- hex_digest = PyUnicode_AS_UNICODE(retval);
- if (!hex_digest) {
- Py_DECREF(retval);
- return NULL;
- }
+ hex_digest = PyUnicode_1BYTE_DATA(retval);
/* Make hex version of the digest */
for(i=j=0; i<MD5_DIGESTSIZE; i++) {
- char c;
+ unsigned char c;
c = (digest[i] >> 4) & 0xf;
- c = (c>9) ? c+'a'-10 : c + '0';
- hex_digest[j++] = c;
+ hex_digest[j++] = Py_hexdigits[c];
c = (digest[i] & 0xf);
- c = (c>9) ? c+'a'-10 : c + '0';
- hex_digest[j++] = c;
+ hex_digest[j++] = Py_hexdigits[c];
}
return retval;
}
diff --git a/Modules/mmapmodule.c b/Modules/mmapmodule.c
index da9283b..cf0b687 100644
--- a/Modules/mmapmodule.c
+++ b/Modules/mmapmodule.c
@@ -78,8 +78,6 @@ my_getpagesize(void)
# define MAP_ANONYMOUS MAP_ANON
#endif
-static PyObject *mmap_module_error;
-
typedef enum
{
ACCESS_DEFAULT,
@@ -240,15 +238,37 @@ mmap_read_line_method(mmap_object *self,
return result;
}
+/* Basically the "n" format code with the ability to turn None into -1. */
+static int
+mmap_convert_ssize_t(PyObject *obj, void *result) {
+ Py_ssize_t limit;
+ if (obj == Py_None) {
+ limit = -1;
+ }
+ else if (PyNumber_Check(obj)) {
+ limit = PyNumber_AsSsize_t(obj, PyExc_OverflowError);
+ if (limit == -1 && PyErr_Occurred())
+ return 0;
+ }
+ else {
+ PyErr_Format(PyExc_TypeError,
+ "integer argument expected, got '%.200s'",
+ Py_TYPE(obj)->tp_name);
+ return 0;
+ }
+ *((Py_ssize_t *)result) = limit;
+ return 1;
+}
+
static PyObject *
mmap_read_method(mmap_object *self,
PyObject *args)
{
- Py_ssize_t num_bytes, n;
+ Py_ssize_t num_bytes = -1, n;
PyObject *result;
CHECK_VALID(NULL);
- if (!PyArg_ParseTuple(args, "n:read", &num_bytes))
+ if (!PyArg_ParseTuple(args, "|O&:read", mmap_convert_ssize_t, &num_bytes))
return(NULL);
/* silently 'adjust' out-of-range requests */
@@ -437,7 +457,7 @@ mmap_size_method(mmap_object *self,
{
struct stat buf;
if (-1 == fstat(self->fd, &buf)) {
- PyErr_SetFromErrno(mmap_module_error);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
#ifdef HAVE_LARGEFILE_SUPPORT
@@ -527,7 +547,7 @@ mmap_resize_method(mmap_object *self,
void *newmap;
if (ftruncate(self->fd, self->offset + new_size) == -1) {
- PyErr_SetFromErrno(mmap_module_error);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
@@ -542,7 +562,7 @@ mmap_resize_method(mmap_object *self,
#endif
if (newmap == (void *)-1)
{
- PyErr_SetFromErrno(mmap_module_error);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
self->data = newmap;
@@ -583,7 +603,7 @@ mmap_flush_method(mmap_object *self, PyObject *args)
/* XXX semantics of return value? */
/* XXX flags for msync? */
if (-1 == msync(self->data + offset, size, MS_SYNC)) {
- PyErr_SetFromErrno(mmap_module_error);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
return PyLong_FromLong(0);
@@ -645,9 +665,9 @@ mmap_move_method(mmap_object *self, PyObject *args)
return NULL;
} else {
/* bounds check the values */
- if (cnt < 0 || (cnt + dest) < cnt || (cnt + src) < cnt ||
- src < 0 || src > self->size || (src + cnt) > self->size ||
- dest < 0 || dest > self->size || (dest + cnt) > self->size) {
+ if ((cnt + dest) < cnt || (cnt + src) < cnt ||
+ src > self->size || (src + cnt) > self->size ||
+ dest > self->size || (dest + cnt) > self->size) {
PyErr_SetString(PyExc_ValueError,
"source, destination, or count out of range");
return NULL;
@@ -680,7 +700,9 @@ mmap__enter__method(mmap_object *self, PyObject *args)
static PyObject *
mmap__exit__method(PyObject *self, PyObject *args)
{
- return PyObject_CallMethod(self, "close", NULL);
+ _Py_IDENTIFIER(close);
+
+ return _PyObject_CallMethodId(self, &PyId_close, NULL);
}
static struct PyMethodDef mmap_object_methods[] = {
@@ -1181,7 +1203,7 @@ new_mmap_object(PyTypeObject *type, PyObject *args, PyObject *kwdict)
fd = devzero = open("/dev/zero", O_RDWR);
if (devzero == -1) {
Py_DECREF(m_obj);
- PyErr_SetFromErrno(mmap_module_error);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
#endif
@@ -1189,7 +1211,7 @@ new_mmap_object(PyTypeObject *type, PyObject *args, PyObject *kwdict)
m_obj->fd = dup(fd);
if (m_obj->fd == -1) {
Py_DECREF(m_obj);
- PyErr_SetFromErrno(mmap_module_error);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
}
@@ -1205,7 +1227,7 @@ new_mmap_object(PyTypeObject *type, PyObject *args, PyObject *kwdict)
if (m_obj->data == (char *)-1) {
m_obj->data = NULL;
Py_DECREF(m_obj);
- PyErr_SetFromErrno(mmap_module_error);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
m_obj->access = (access_mode)access;
@@ -1286,12 +1308,12 @@ new_mmap_object(PyTypeObject *type, PyObject *args, PyObject *kwdict)
if (fileno != -1 && fileno != 0) {
/* Ensure that fileno is within the CRT's valid range */
if (_PyVerify_fd(fileno) == 0) {
- PyErr_SetFromErrno(mmap_module_error);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
fh = (HANDLE)_get_osfhandle(fileno);
if (fh==(HANDLE)-1) {
- PyErr_SetFromErrno(mmap_module_error);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
/* Win9x appears to need us seeked to zero */
@@ -1445,11 +1467,7 @@ PyInit_mmap(void)
dict = PyModule_GetDict(module);
if (!dict)
return NULL;
- mmap_module_error = PyErr_NewException("mmap.error",
- PyExc_EnvironmentError , NULL);
- if (mmap_module_error == NULL)
- return NULL;
- PyDict_SetItemString(dict, "error", mmap_module_error);
+ PyDict_SetItemString(dict, "error", PyExc_OSError);
PyDict_SetItemString(dict, "mmap", (PyObject*) &mmap_object_type);
#ifdef PROT_EXEC
setint(dict, "PROT_EXEC", PROT_EXEC);
diff --git a/Modules/nismodule.c b/Modules/nismodule.c
index a81ca8c..0af495f 100644
--- a/Modules/nismodule.c
+++ b/Modules/nismodule.c
@@ -411,7 +411,7 @@ nis_maps (PyObject *self, PyObject *args, PyObject *kwdict)
return NULL;
if ((list = PyList_New(0)) == NULL)
return NULL;
- for (maps = maps; maps; maps = maps->next) {
+ for (; maps; maps = maps->next) {
PyObject *str = PyUnicode_FromString(maps->map);
if (!str || PyList_Append(list, str) < 0)
{
diff --git a/Modules/operator.c b/Modules/operator.c
index 866ec3a..2f47573 100644
--- a/Modules/operator.c
+++ b/Modules/operator.c
@@ -402,7 +402,8 @@ attrgetter_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
for (idx = 0; idx < nattrs; ++idx) {
PyObject *item = PyTuple_GET_ITEM(args, idx);
Py_ssize_t item_len;
- Py_UNICODE *item_buffer;
+ void *data;
+ unsigned int kind;
int dot_count;
if (!PyUnicode_Check(item)) {
@@ -411,13 +412,18 @@ attrgetter_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
Py_DECREF(attr);
return NULL;
}
- item_len = PyUnicode_GET_SIZE(item);
- item_buffer = PyUnicode_AS_UNICODE(item);
+ if (PyUnicode_READY(item)) {
+ Py_DECREF(attr);
+ return NULL;
+ }
+ item_len = PyUnicode_GET_LENGTH(item);
+ kind = PyUnicode_KIND(item);
+ data = PyUnicode_DATA(item);
/* check whethere the string is dotted */
dot_count = 0;
for (char_idx = 0; char_idx < item_len; ++char_idx) {
- if (item_buffer[char_idx] == (Py_UNICODE)'.')
+ if (PyUnicode_READ(kind, data, char_idx) == '.')
++dot_count;
}
@@ -438,12 +444,12 @@ attrgetter_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
}
for (; dot_count > 0; --dot_count) {
- while (item_buffer[unibuff_till] != (Py_UNICODE)'.') {
+ while (PyUnicode_READ(kind, data, unibuff_till) != '.') {
++unibuff_till;
}
- attr_chain_item = PyUnicode_FromUnicode(
- item_buffer + unibuff_from,
- unibuff_till - unibuff_from);
+ attr_chain_item = PyUnicode_Substring(item,
+ unibuff_from,
+ unibuff_till);
if (attr_chain_item == NULL) {
Py_DECREF(attr_chain);
Py_DECREF(attr);
@@ -456,9 +462,8 @@ attrgetter_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
}
/* now add the last dotless name */
- attr_chain_item = PyUnicode_FromUnicode(
- item_buffer + unibuff_from,
- item_len - unibuff_from);
+ attr_chain_item = PyUnicode_Substring(item,
+ unibuff_from, item_len);
if (attr_chain_item == NULL) {
Py_DECREF(attr_chain);
Py_DECREF(attr);
diff --git a/Modules/ossaudiodev.c b/Modules/ossaudiodev.c
index b38ce52..a17a647 100644
--- a/Modules/ossaudiodev.c
+++ b/Modules/ossaudiodev.c
@@ -214,6 +214,21 @@ oss_mixer_dealloc(oss_mixer_t *self)
* Helper functions
*/
+/* Check if a given file descriptor is valid (i.e. hasn't been closed).
+ * If true, return 1. Otherwise, raise ValueError and return 0.
+ */
+static int _is_fd_valid(int fd)
+{
+ /* the FD is set to -1 in oss_close()/oss_mixer_close() */
+ if (fd >= 0) {
+ return 1;
+ } else {
+ PyErr_SetString(PyExc_ValueError,
+ "Operation on closed OSS device.");
+ return 0;
+ }
+}
+
/* _do_ioctl_1() is a private helper function used for the OSS ioctls --
SNDCTL_DSP_{SETFMT,CHANNELS,SPEED} -- that that are called from C
like this:
@@ -301,6 +316,9 @@ _do_ioctl_0(int fd, PyObject *args, char *fname, int cmd)
static PyObject *
oss_nonblock(oss_audio_t *self, PyObject *unused)
{
+ if (!_is_fd_valid(self->fd))
+ return NULL;
+
/* Hmmm: it doesn't appear to be possible to return to blocking
mode once we're in non-blocking mode! */
if (ioctl(self->fd, SNDCTL_DSP_NONBLOCK, NULL) == -1)
@@ -312,6 +330,9 @@ oss_nonblock(oss_audio_t *self, PyObject *unused)
static PyObject *
oss_setfmt(oss_audio_t *self, PyObject *args)
{
+ if (!_is_fd_valid(self->fd))
+ return NULL;
+
return _do_ioctl_1(self->fd, args, "setfmt", SNDCTL_DSP_SETFMT);
}
@@ -319,6 +340,10 @@ static PyObject *
oss_getfmts(oss_audio_t *self, PyObject *unused)
{
int mask;
+
+ if (!_is_fd_valid(self->fd))
+ return NULL;
+
if (ioctl(self->fd, SNDCTL_DSP_GETFMTS, &mask) == -1)
return PyErr_SetFromErrno(PyExc_IOError);
return PyLong_FromLong(mask);
@@ -327,30 +352,45 @@ oss_getfmts(oss_audio_t *self, PyObject *unused)
static PyObject *
oss_channels(oss_audio_t *self, PyObject *args)
{
+ if (!_is_fd_valid(self->fd))
+ return NULL;
+
return _do_ioctl_1(self->fd, args, "channels", SNDCTL_DSP_CHANNELS);
}
static PyObject *
oss_speed(oss_audio_t *self, PyObject *args)
{
+ if (!_is_fd_valid(self->fd))
+ return NULL;
+
return _do_ioctl_1(self->fd, args, "speed", SNDCTL_DSP_SPEED);
}
static PyObject *
oss_sync(oss_audio_t *self, PyObject *args)
{
+ if (!_is_fd_valid(self->fd))
+ return NULL;
+
return _do_ioctl_0(self->fd, args, "sync", SNDCTL_DSP_SYNC);
}
static PyObject *
oss_reset(oss_audio_t *self, PyObject *args)
{
+ if (!_is_fd_valid(self->fd))
+ return NULL;
+
return _do_ioctl_0(self->fd, args, "reset", SNDCTL_DSP_RESET);
}
static PyObject *
oss_post(oss_audio_t *self, PyObject *args)
{
+ if (!_is_fd_valid(self->fd))
+ return NULL;
+
return _do_ioctl_0(self->fd, args, "post", SNDCTL_DSP_POST);
}
@@ -365,6 +405,9 @@ oss_read(oss_audio_t *self, PyObject *args)
char *cp;
PyObject *rv;
+ if (!_is_fd_valid(self->fd))
+ return NULL;
+
if (!PyArg_ParseTuple(args, "i:read", &size))
return NULL;
rv = PyBytes_FromStringAndSize(NULL, size);
@@ -392,6 +435,9 @@ oss_write(oss_audio_t *self, PyObject *args)
char *cp;
int rv, size;
+ if (!_is_fd_valid(self->fd))
+ return NULL;
+
if (!PyArg_ParseTuple(args, "y#:write", &cp, &size)) {
return NULL;
}
@@ -423,6 +469,9 @@ oss_writeall(oss_audio_t *self, PyObject *args)
mode, the behaviour of write() and writeall() from Python is
indistinguishable. */
+ if (!_is_fd_valid(self->fd))
+ return NULL;
+
if (!PyArg_ParseTuple(args, "y#:write", &cp, &size))
return NULL;
@@ -482,10 +531,12 @@ oss_self(PyObject *self, PyObject *unused)
return self;
}
-static PyObject *
+static PyObject *
oss_exit(PyObject *self, PyObject *unused)
{
- PyObject *ret = PyObject_CallMethod(self, "close", NULL);
+ _Py_IDENTIFIER(close);
+
+ PyObject *ret = _PyObject_CallMethodId(self, &PyId_close, NULL);
if (!ret)
return NULL;
Py_DECREF(ret);
@@ -495,6 +546,9 @@ oss_exit(PyObject *self, PyObject *unused)
static PyObject *
oss_fileno(oss_audio_t *self, PyObject *unused)
{
+ if (!_is_fd_valid(self->fd))
+ return NULL;
+
return PyLong_FromLong(self->fd);
}
@@ -509,6 +563,9 @@ oss_setparameters(oss_audio_t *self, PyObject *args)
int fmt, channels, rate;
PyObject * rv; /* return tuple (fmt, channels, rate) */
+ if (!_is_fd_valid(self->fd))
+ return NULL;
+
if (!PyArg_ParseTuple(args, "iii|i:setparameters",
&wanted_fmt, &wanted_channels, &wanted_rate,
&strict))
@@ -599,6 +656,9 @@ oss_bufsize(oss_audio_t *self, PyObject *unused)
audio_buf_info ai;
int nchannels=0, ssize=0;
+ if (!_is_fd_valid(self->fd))
+ return NULL;
+
if (_ssize(self, &nchannels, &ssize) < 0 || !nchannels || !ssize) {
PyErr_SetFromErrno(PyExc_IOError);
return NULL;
@@ -618,6 +678,9 @@ oss_obufcount(oss_audio_t *self, PyObject *unused)
audio_buf_info ai;
int nchannels=0, ssize=0;
+ if (!_is_fd_valid(self->fd))
+ return NULL;
+
if (_ssize(self, &nchannels, &ssize) < 0 || !nchannels || !ssize) {
PyErr_SetFromErrno(PyExc_IOError);
return NULL;
@@ -638,6 +701,9 @@ oss_obuffree(oss_audio_t *self, PyObject *unused)
audio_buf_info ai;
int nchannels=0, ssize=0;
+ if (!_is_fd_valid(self->fd))
+ return NULL;
+
if (_ssize(self, &nchannels, &ssize) < 0 || !nchannels || !ssize) {
PyErr_SetFromErrno(PyExc_IOError);
return NULL;
@@ -655,6 +721,9 @@ oss_getptr(oss_audio_t *self, PyObject *unused)
count_info info;
int req;
+ if (!_is_fd_valid(self->fd))
+ return NULL;
+
if (self->mode == O_RDONLY)
req = SNDCTL_DSP_GETIPTR;
else
@@ -685,6 +754,9 @@ oss_mixer_close(oss_mixer_t *self, PyObject *unused)
static PyObject *
oss_mixer_fileno(oss_mixer_t *self, PyObject *unused)
{
+ if (!_is_fd_valid(self->fd))
+ return NULL;
+
return PyLong_FromLong(self->fd);
}
@@ -693,6 +765,9 @@ oss_mixer_fileno(oss_mixer_t *self, PyObject *unused)
static PyObject *
oss_mixer_controls(oss_mixer_t *self, PyObject *args)
{
+ if (!_is_fd_valid(self->fd))
+ return NULL;
+
return _do_ioctl_1_internal(self->fd, args, "controls",
SOUND_MIXER_READ_DEVMASK);
}
@@ -700,6 +775,9 @@ oss_mixer_controls(oss_mixer_t *self, PyObject *args)
static PyObject *
oss_mixer_stereocontrols(oss_mixer_t *self, PyObject *args)
{
+ if (!_is_fd_valid(self->fd))
+ return NULL;
+
return _do_ioctl_1_internal(self->fd, args, "stereocontrols",
SOUND_MIXER_READ_STEREODEVS);
}
@@ -707,6 +785,9 @@ oss_mixer_stereocontrols(oss_mixer_t *self, PyObject *args)
static PyObject *
oss_mixer_reccontrols(oss_mixer_t *self, PyObject *args)
{
+ if (!_is_fd_valid(self->fd))
+ return NULL;
+
return _do_ioctl_1_internal(self->fd, args, "reccontrols",
SOUND_MIXER_READ_RECMASK);
}
@@ -716,6 +797,9 @@ oss_mixer_get(oss_mixer_t *self, PyObject *args)
{
int channel, volume;
+ if (!_is_fd_valid(self->fd))
+ return NULL;
+
/* Can't use _do_ioctl_1 because of encoded arg thingy. */
if (!PyArg_ParseTuple(args, "i:get", &channel))
return NULL;
@@ -736,6 +820,9 @@ oss_mixer_set(oss_mixer_t *self, PyObject *args)
{
int channel, volume, leftVol, rightVol;
+ if (!_is_fd_valid(self->fd))
+ return NULL;
+
/* Can't use _do_ioctl_1 because of encoded arg thingy. */
if (!PyArg_ParseTuple(args, "i(ii):set", &channel, &leftVol, &rightVol))
return NULL;
@@ -761,6 +848,9 @@ oss_mixer_set(oss_mixer_t *self, PyObject *args)
static PyObject *
oss_mixer_get_recsrc(oss_mixer_t *self, PyObject *args)
{
+ if (!_is_fd_valid(self->fd))
+ return NULL;
+
return _do_ioctl_1_internal(self->fd, args, "get_recsrc",
SOUND_MIXER_READ_RECSRC);
}
@@ -768,6 +858,9 @@ oss_mixer_get_recsrc(oss_mixer_t *self, PyObject *args)
static PyObject *
oss_mixer_set_recsrc(oss_mixer_t *self, PyObject *args)
{
+ if (!_is_fd_valid(self->fd))
+ return NULL;
+
return _do_ioctl_1(self->fd, args, "set_recsrc",
SOUND_MIXER_WRITE_RECSRC);
}
@@ -971,8 +1064,8 @@ build_namelists (PyObject *module)
int num_controls;
int i;
- num_controls = sizeof(control_labels) / sizeof(control_labels[0]);
- assert(num_controls == sizeof(control_names) / sizeof(control_names[0]));
+ num_controls = Py_ARRAY_LENGTH(control_labels);
+ assert(num_controls == Py_ARRAY_LENGTH(control_names));
labels = PyList_New(num_controls);
names = PyList_New(num_controls);
diff --git a/Modules/parsermodule.c b/Modules/parsermodule.c
index 3cdf135..2f2e045 100644
--- a/Modules/parsermodule.c
+++ b/Modules/parsermodule.c
@@ -581,8 +581,10 @@ parser_do_parse(PyObject *args, PyObject *kw, char *argspec, int type)
if (res)
((PyST_Object *)res)->st_flags.cf_flags = flags & PyCF_MASK;
}
- else
+ else {
PyParser_SetError(&err);
+ }
+ PyParser_ClearError(&err);
}
return (res);
}
@@ -3239,10 +3241,13 @@ PyInit_parser(void)
copyreg = PyImport_ImportModuleNoBlock("copyreg");
if (copyreg != NULL) {
PyObject *func, *pickler;
+ _Py_IDENTIFIER(pickle);
+ _Py_IDENTIFIER(sequence2st);
+ _Py_IDENTIFIER(_pickler);
- func = PyObject_GetAttrString(copyreg, "pickle");
- pickle_constructor = PyObject_GetAttrString(module, "sequence2st");
- pickler = PyObject_GetAttrString(module, "_pickler");
+ func = _PyObject_GetAttrId(copyreg, &PyId_pickle);
+ pickle_constructor = _PyObject_GetAttrId(module, &PyId_sequence2st);
+ pickler = _PyObject_GetAttrId(module, &PyId__pickler);
Py_XINCREF(pickle_constructor);
if ((func != NULL) && (pickle_constructor != NULL)
&& (pickler != NULL)) {
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index 673877a..ea3665d 100644
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -28,6 +28,7 @@
#include "Python.h"
#if defined(__VMS)
+# error "PEP 11: VMS is now unsupported, code will be removed in Python 3.4"
# include <unixio.h>
#endif /* defined(__VMS) */
@@ -43,6 +44,7 @@ corresponding Unix manual entries for more information on calls.");
#if defined(PYOS_OS2)
+#error "PEP 11: OS/2 is now unsupported, code will be removed in Python 3.4"
#define INCL_DOS
#define INCL_DOSERRORS
#define INCL_DOSPROCESS
@@ -57,6 +59,10 @@ corresponding Unix manual entries for more information on calls.");
#include "osdefs.h"
#endif
+#ifdef HAVE_SYS_UIO_H
+#include <sys/uio.h>
+#endif
+
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif /* HAVE_SYS_TYPES_H */
@@ -93,6 +99,32 @@ corresponding Unix manual entries for more information on calls.");
#include <langinfo.h>
#endif
+#ifdef HAVE_SYS_SENDFILE_H
+#include <sys/sendfile.h>
+#endif
+
+#ifdef HAVE_SCHED_H
+#include <sched.h>
+#endif
+
+#if defined(HAVE_SYS_XATTR_H) && defined(__GLIBC__)
+#define USE_XATTRS
+#endif
+
+#ifdef USE_XATTRS
+#include <sys/xattr.h>
+#endif
+
+#if defined(__FreeBSD__) || defined(__DragonFly__) || defined(__APPLE__)
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#endif
+
+#ifdef HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
/* Various compilers have only certain posix functions */
/* XXX Gosh I wish these were all moved into pyconfig.h */
#if defined(PYCC_VACPP) && defined(PYOS_OS2)
@@ -347,6 +379,22 @@ static int win32_can_symlink = 0;
#endif
#endif
+/* A helper used by a number of POSIX-only functions */
+#ifndef MS_WINDOWS
+static int
+_parse_off_t(PyObject* arg, void* addr)
+{
+#if !defined(HAVE_LARGEFILE_SUPPORT)
+ *((off_t*)addr) = PyLong_AsLong(arg);
+#else
+ *((off_t*)addr) = PyLong_AsLongLong(arg);
+#endif
+ if (PyErr_Occurred())
+ return 0;
+ return 1;
+}
+#endif
+
#if defined _MSC_VER && _MSC_VER >= 1400
/* Microsoft CRT in VS2005 and higher will verify that a filehandle is
* valid and throw an assertion if it isn't.
@@ -498,6 +546,34 @@ win32_get_reparse_tag(HANDLE reparse_point_handle, ULONG *reparse_tag)
return TRUE;
}
+
+static int
+win32_warn_bytes_api()
+{
+ return PyErr_WarnEx(PyExc_DeprecationWarning,
+ "The Windows bytes API has been deprecated, "
+ "use Unicode filenames instead",
+ 1);
+}
+
+static PyObject*
+win32_decode_filename(PyObject *obj)
+{
+ PyObject *unicode;
+ if (PyUnicode_Check(obj)) {
+ if (PyUnicode_READY(obj))
+ return NULL;
+ Py_INCREF(obj);
+ return obj;
+ }
+ if (!PyUnicode_FSDecoder(obj, &unicode))
+ return NULL;
+ if (win32_warn_bytes_api()) {
+ Py_DECREF(unicode);
+ return NULL;
+ }
+ return unicode;
+}
#endif /* MS_WINDOWS */
/* Return a dictionary corresponding to the POSIX environment table */
@@ -653,7 +729,7 @@ win32_error(char* function, const char* filename)
}
static PyObject *
-win32_error_unicode(char* function, Py_UNICODE* filename)
+win32_error_unicode(char* function, wchar_t* filename)
{
/* XXX - see win32_error for comments on 'function' */
errno = GetLastError();
@@ -663,21 +739,18 @@ win32_error_unicode(char* function, Py_UNICODE* filename)
return PyErr_SetFromWindowsErr(errno);
}
-static int
-convert_to_unicode(PyObject **param)
-{
- if (PyUnicode_CheckExact(*param))
- Py_INCREF(*param);
- else if (PyUnicode_Check(*param))
- /* For a Unicode subtype that's not a Unicode object,
- return a true Unicode object with the same data. */
- *param = PyUnicode_FromUnicode(PyUnicode_AS_UNICODE(*param),
- PyUnicode_GET_SIZE(*param));
+static PyObject *
+win32_error_object(char* function, PyObject* filename)
+{
+ /* XXX - see win32_error for comments on 'function' */
+ errno = GetLastError();
+ if (filename)
+ return PyErr_SetExcFromWindowsErrWithFilenameObject(
+ PyExc_WindowsError,
+ errno,
+ filename);
else
- *param = PyUnicode_FromEncodedObject(*param,
- Py_FileSystemDefaultEncoding,
- "strict");
- return (*param) != NULL;
+ return PyErr_SetFromWindowsErr(errno);
}
#endif /* MS_WINDOWS */
@@ -834,22 +907,28 @@ win32_1str(PyObject* args, char* func,
char* wformat, BOOL (__stdcall *funcW)(LPWSTR))
{
PyObject *uni;
- char *ansi;
+ const char *ansi;
BOOL result;
- if (!PyArg_ParseTuple(args, wformat, &uni))
- PyErr_Clear();
- else {
+ if (PyArg_ParseTuple(args, wformat, &uni))
+ {
+ wchar_t *wstr = PyUnicode_AsUnicode(uni);
+ if (wstr == NULL)
+ return NULL;
Py_BEGIN_ALLOW_THREADS
- result = funcW(PyUnicode_AsUnicode(uni));
+ result = funcW(wstr);
Py_END_ALLOW_THREADS
if (!result)
- return win32_error_unicode(func, PyUnicode_AsUnicode(uni));
+ return win32_error_object(func, uni);
Py_INCREF(Py_None);
return Py_None;
}
+ PyErr_Clear();
+
if (!PyArg_ParseTuple(args, format, &ansi))
return NULL;
+ if (win32_warn_bytes_api())
+ return NULL;
Py_BEGIN_ALLOW_THREADS
result = funcA(ansi);
Py_END_ALLOW_THREADS
@@ -1064,14 +1143,15 @@ attributes_from_dir_w(LPCWSTR pszFile, BY_HANDLE_FILE_INFORMATION *info, ULONG *
/* Grab GetFinalPathNameByHandle dynamically from kernel32 */
static int has_GetFinalPathNameByHandle = 0;
-static DWORD (CALLBACK *Py_GetFinalPathNameByHandleA)(HANDLE, LPSTR, DWORD,
- DWORD);
static DWORD (CALLBACK *Py_GetFinalPathNameByHandleW)(HANDLE, LPWSTR, DWORD,
DWORD);
static int
check_GetFinalPathNameByHandle()
{
HINSTANCE hKernel32;
+ DWORD (CALLBACK *Py_GetFinalPathNameByHandleA)(HANDLE, LPSTR, DWORD,
+ DWORD);
+
/* only recheck */
if (!has_GetFinalPathNameByHandle)
{
@@ -1544,9 +1624,39 @@ static PyStructSequence_Desc statvfs_result_desc = {
10
};
+#if defined(HAVE_WAITID) && !defined(__APPLE__)
+PyDoc_STRVAR(waitid_result__doc__,
+"waitid_result: Result from waitid.\n\n\
+This object may be accessed either as a tuple of\n\
+ (si_pid, si_uid, si_signo, si_status, si_code),\n\
+or via the attributes si_pid, si_uid, and so on.\n\
+\n\
+See os.waitid for more information.");
+
+static PyStructSequence_Field waitid_result_fields[] = {
+ {"si_pid", },
+ {"si_uid", },
+ {"si_signo", },
+ {"si_status", },
+ {"si_code", },
+ {0}
+};
+
+static PyStructSequence_Desc waitid_result_desc = {
+ "waitid_result", /* name */
+ waitid_result__doc__, /* doc */
+ waitid_result_fields,
+ 5
+};
+static PyTypeObject WaitidResultType;
+#endif
+
static int initialized;
static PyTypeObject StatResultType;
static PyTypeObject StatVFSResultType;
+#if defined(HAVE_SCHED_SETPARAM) || defined(HAVE_SCHED_SETSCHEDULER)
+static PyTypeObject SchedParamType;
+#endif
static newfunc structseq_new;
static PyObject *
@@ -1727,7 +1837,7 @@ posix_do_stat(PyObject *self, PyObject *args,
int (*statfunc)(const char *, STRUCT_STAT *),
#endif
char *wformat,
- int (*wstatfunc)(const Py_UNICODE *, STRUCT_STAT *))
+ int (*wstatfunc)(const wchar_t *, STRUCT_STAT *))
{
STRUCT_STAT st;
PyObject *opath;
@@ -1736,18 +1846,18 @@ posix_do_stat(PyObject *self, PyObject *args,
PyObject *result;
#ifdef MS_WINDOWS
- PyUnicodeObject *po;
+ PyObject *po;
if (PyArg_ParseTuple(args, wformat, &po)) {
- Py_UNICODE *wpath = PyUnicode_AS_UNICODE(po);
+ wchar_t *wpath = PyUnicode_AsUnicode(po);
+ if (wpath == NULL)
+ return NULL;
Py_BEGIN_ALLOW_THREADS
- /* PyUnicode_AS_UNICODE result OK without
- thread lock as it is a simple dereference. */
res = wstatfunc(wpath, &st);
Py_END_ALLOW_THREADS
if (res != 0)
- return win32_error_unicode("stat", wpath);
+ return win32_error_object("stat", po);
return _pystat_fromstructstat(&st);
}
/* Drop the argument parsing error as narrow strings
@@ -1758,6 +1868,12 @@ posix_do_stat(PyObject *self, PyObject *args,
if (!PyArg_ParseTuple(args, format,
PyUnicode_FSConverter, &opath))
return NULL;
+#ifdef MS_WINDOWS
+ if (win32_warn_bytes_api()) {
+ Py_DECREF(opath);
+ return NULL;
+ }
+#endif
path = PyBytes_AsString(opath);
Py_BEGIN_ALLOW_THREADS
res = (*statfunc)(path, &st);
@@ -1790,32 +1906,31 @@ existence, or the inclusive-OR of R_OK, W_OK, and X_OK.");
static PyObject *
posix_access(PyObject *self, PyObject *args)
{
- PyObject *opath;
- char *path;
+ const char *path;
int mode;
#ifdef MS_WINDOWS
DWORD attr;
- PyUnicodeObject *po;
+ PyObject *po;
if (PyArg_ParseTuple(args, "Ui:access", &po, &mode)) {
+ wchar_t* wpath = PyUnicode_AsUnicode(po);
+ if (wpath == NULL)
+ return NULL;
Py_BEGIN_ALLOW_THREADS
- /* PyUnicode_AS_UNICODE OK without thread lock as
- it is a simple dereference. */
- attr = GetFileAttributesW(PyUnicode_AS_UNICODE(po));
+ attr = GetFileAttributesW(wpath);
Py_END_ALLOW_THREADS
goto finish;
}
/* Drop the argument parsing error as narrow strings
are also valid. */
PyErr_Clear();
- if (!PyArg_ParseTuple(args, "O&i:access",
- PyUnicode_FSConverter, &opath, &mode))
+ if (!PyArg_ParseTuple(args, "yi:access", &path, &mode))
+ return NULL;
+ if (win32_warn_bytes_api())
return NULL;
- path = PyBytes_AsString(opath);
Py_BEGIN_ALLOW_THREADS
attr = GetFileAttributesA(path);
Py_END_ALLOW_THREADS
- Py_DECREF(opath);
finish:
if (attr == 0xFFFFFFFF)
/* File does not exist, or cannot read attributes */
@@ -1827,6 +1942,7 @@ finish:
|| !(attr & FILE_ATTRIBUTE_READONLY)
|| (attr & FILE_ATTRIBUTE_DIRECTORY));
#else
+ PyObject *opath;
int res;
if (!PyArg_ParseTuple(args, "O&i:access",
PyUnicode_FSConverter, &opath, &mode))
@@ -1946,28 +2062,30 @@ static PyObject *
posix_chmod(PyObject *self, PyObject *args)
{
PyObject *opath = NULL;
- char *path = NULL;
+ const char *path = NULL;
int i;
int res;
#ifdef MS_WINDOWS
DWORD attr;
- PyUnicodeObject *po;
+ PyObject *po;
if (PyArg_ParseTuple(args, "Ui|:chmod", &po, &i)) {
+ wchar_t *wpath = PyUnicode_AsUnicode(po);
+ if (wpath == NULL)
+ return NULL;
Py_BEGIN_ALLOW_THREADS
- attr = GetFileAttributesW(PyUnicode_AS_UNICODE(po));
+ attr = GetFileAttributesW(wpath);
if (attr != 0xFFFFFFFF) {
if (i & _S_IWRITE)
attr &= ~FILE_ATTRIBUTE_READONLY;
else
attr |= FILE_ATTRIBUTE_READONLY;
- res = SetFileAttributesW(PyUnicode_AS_UNICODE(po), attr);
+ res = SetFileAttributesW(wpath, attr);
}
else
res = 0;
Py_END_ALLOW_THREADS
if (!res)
- return win32_error_unicode("chmod",
- PyUnicode_AS_UNICODE(po));
+ return win32_error_object("chmod", po);
Py_INCREF(Py_None);
return Py_None;
}
@@ -1975,10 +2093,10 @@ posix_chmod(PyObject *self, PyObject *args)
are also valid. */
PyErr_Clear();
- if (!PyArg_ParseTuple(args, "O&i:chmod", PyUnicode_FSConverter,
- &opath, &i))
+ if (!PyArg_ParseTuple(args, "yi:chmod", &path, &i))
+ return NULL;
+ if (win32_warn_bytes_api())
return NULL;
- path = PyBytes_AsString(opath);
Py_BEGIN_ALLOW_THREADS
attr = GetFileAttributesA(path);
if (attr != 0xFFFFFFFF) {
@@ -1993,10 +2111,8 @@ posix_chmod(PyObject *self, PyObject *args)
Py_END_ALLOW_THREADS
if (!res) {
win32_error("chmod", path);
- Py_DECREF(opath);
return NULL;
}
- Py_DECREF(opath);
Py_INCREF(Py_None);
return Py_None;
#else /* MS_WINDOWS */
@@ -2143,6 +2259,21 @@ posix_fsync(PyObject *self, PyObject *fdobj)
}
#endif /* HAVE_FSYNC */
+#ifdef HAVE_SYNC
+PyDoc_STRVAR(posix_sync__doc__,
+"sync()\n\n\
+Force write of everything to disk.");
+
+static PyObject *
+posix_sync(PyObject *self, PyObject *noargs)
+{
+ Py_BEGIN_ALLOW_THREADS
+ sync();
+ Py_END_ALLOW_THREADS
+ Py_RETURN_NONE;
+}
+#endif
+
#ifdef HAVE_FDATASYNC
#ifdef __hpux
@@ -2279,6 +2410,9 @@ posix_getcwd(int use_bytes)
if (wbuf2 != wbuf) free(wbuf2);
return resobj;
}
+
+ if (win32_warn_bytes_api())
+ return NULL;
#endif
Py_BEGIN_ALLOW_THREADS
@@ -2337,43 +2471,56 @@ Create a hard link to a file.");
static PyObject *
win32_link(PyObject *self, PyObject *args)
{
- PyObject *osrc, *odst;
- char *src, *dst;
- BOOL rslt;
+ PyObject *src, *dst;
+ BOOL ok;
+
+ if (PyArg_ParseTuple(args, "UU:link", &src, &dst))
+ {
+ wchar_t *wsrc, *wdst;
+
+ wsrc = PyUnicode_AsUnicode(src);
+ if (wsrc == NULL)
+ goto error;
+ wdst = PyUnicode_AsUnicode(dst);
+ if (wdst == NULL)
+ goto error;
- PyUnicodeObject *usrc, *udst;
- if (PyArg_ParseTuple(args, "UU:link", &usrc, &udst)) {
Py_BEGIN_ALLOW_THREADS
- rslt = CreateHardLinkW(PyUnicode_AS_UNICODE(udst),
- PyUnicode_AS_UNICODE(usrc), NULL);
+ ok = CreateHardLinkW(wdst, wsrc, NULL);
Py_END_ALLOW_THREADS
- if (rslt == 0)
+ if (!ok)
return win32_error("link", NULL);
-
Py_RETURN_NONE;
}
+ else {
+ PyErr_Clear();
+ if (!PyArg_ParseTuple(args, "O&O&:link",
+ PyUnicode_FSConverter, &src,
+ PyUnicode_FSConverter, &dst))
+ return NULL;
- /* Narrow strings also valid. */
- PyErr_Clear();
-
- if (!PyArg_ParseTuple(args, "O&O&:link", PyUnicode_FSConverter, &osrc,
- PyUnicode_FSConverter, &odst))
- return NULL;
+ if (win32_warn_bytes_api())
+ goto error;
- src = PyBytes_AsString(osrc);
- dst = PyBytes_AsString(odst);
+ Py_BEGIN_ALLOW_THREADS
+ ok = CreateHardLinkA(PyBytes_AS_STRING(dst),
+ PyBytes_AS_STRING(src),
+ NULL);
+ Py_END_ALLOW_THREADS
- Py_BEGIN_ALLOW_THREADS
- rslt = CreateHardLinkA(dst, src, NULL);
- Py_END_ALLOW_THREADS
+ Py_XDECREF(src);
+ Py_XDECREF(dst);
- Py_DECREF(osrc);
- Py_DECREF(odst);
- if (rslt == 0)
- return win32_error("link", NULL);
+ if (!ok)
+ return win32_error("link", NULL);
+ Py_RETURN_NONE;
- Py_RETURN_NONE;
+ error:
+ Py_XDECREF(src);
+ Py_XDECREF(dst);
+ return NULL;
+ }
}
#endif /* MS_WINDOWS */
@@ -2398,7 +2545,8 @@ posix_listdir(PyObject *self, PyObject *args)
HANDLE hFindFile;
BOOL result;
WIN32_FIND_DATA FileData;
- PyObject *opath;
+ const char *path;
+ Py_ssize_t pathlen;
char namebuf[MAX_PATH+5]; /* Overallocate for \\*.*\0 */
char *bufptr = namebuf;
Py_ssize_t len = sizeof(namebuf)-5; /* only claim to have space for MAX_PATH */
@@ -2406,14 +2554,15 @@ posix_listdir(PyObject *self, PyObject *args)
PyObject *po = NULL;
if (PyArg_ParseTuple(args, "|U:listdir", &po)) {
WIN32_FIND_DATAW wFileData;
- Py_UNICODE *wnamebuf, *po_wchars;
+ wchar_t *wnamebuf, *po_wchars;
if (po == NULL) { /* Default arg: "." */
po_wchars = L".";
len = 1;
} else {
- po_wchars = PyUnicode_AS_UNICODE(po);
- len = PyUnicode_GET_SIZE(po);
+ po_wchars = PyUnicode_AsUnicodeAndSize(po, &len);
+ if (po_wchars == NULL)
+ return NULL;
}
/* Overallocate for \\*.*\0 */
wnamebuf = malloc((len + 5) * sizeof(wchar_t));
@@ -2423,7 +2572,7 @@ posix_listdir(PyObject *self, PyObject *args)
}
wcscpy(wnamebuf, po_wchars);
if (len > 0) {
- Py_UNICODE wch = wnamebuf[len-1];
+ wchar_t wch = wnamebuf[len-1];
if (wch != L'/' && wch != L'\\' && wch != L':')
wnamebuf[len++] = L'\\';
wcscpy(wnamebuf + len, L"*.*");
@@ -2450,7 +2599,7 @@ posix_listdir(PyObject *self, PyObject *args)
/* Skip over . and .. */
if (wcscmp(wFileData.cFileName, L".") != 0 &&
wcscmp(wFileData.cFileName, L"..") != 0) {
- v = PyUnicode_FromUnicode(wFileData.cFileName, wcslen(wFileData.cFileName));
+ v = PyUnicode_FromWideChar(wFileData.cFileName, wcslen(wFileData.cFileName));
if (v == NULL) {
Py_DECREF(d);
d = NULL;
@@ -2491,17 +2640,16 @@ posix_listdir(PyObject *self, PyObject *args)
are also valid. */
PyErr_Clear();
- if (!PyArg_ParseTuple(args, "O&:listdir",
- PyUnicode_FSConverter, &opath))
+ if (!PyArg_ParseTuple(args, "y#:listdir", &path, &pathlen))
+ return NULL;
+ if (win32_warn_bytes_api())
return NULL;
- if (PyBytes_GET_SIZE(opath)+1 > MAX_PATH) {
+ if (pathlen+1 > MAX_PATH) {
PyErr_SetString(PyExc_ValueError, "path too long");
- Py_DECREF(opath);
return NULL;
}
- strcpy(namebuf, PyBytes_AsString(opath));
- len = PyObject_Size(opath);
- Py_DECREF(opath);
+ strcpy(namebuf, path);
+ len = pathlen;
if (len > 0) {
char ch = namebuf[len-1];
if (ch != SEP && ch != ALTSEP && ch != ':')
@@ -2718,36 +2866,110 @@ posix_listdir(PyObject *self, PyObject *args)
#endif /* which OS */
} /* end of posix_listdir */
+#ifdef HAVE_FDOPENDIR
+PyDoc_STRVAR(posix_fdlistdir__doc__,
+"fdlistdir(fd) -> list_of_strings\n\n\
+Like listdir(), but uses a file descriptor instead.\n\
+After succesful execution of this function, fd will be closed.");
+
+static PyObject *
+posix_fdlistdir(PyObject *self, PyObject *args)
+{
+ PyObject *d, *v;
+ DIR *dirp;
+ struct dirent *ep;
+ int fd;
+
+ errno = 0;
+ if (!PyArg_ParseTuple(args, "i:fdlistdir", &fd))
+ return NULL;
+ Py_BEGIN_ALLOW_THREADS
+ dirp = fdopendir(fd);
+ Py_END_ALLOW_THREADS
+ if (dirp == NULL) {
+ close(fd);
+ return posix_error();
+ }
+ if ((d = PyList_New(0)) == NULL) {
+ Py_BEGIN_ALLOW_THREADS
+ closedir(dirp);
+ Py_END_ALLOW_THREADS
+ return NULL;
+ }
+ for (;;) {
+ errno = 0;
+ Py_BEGIN_ALLOW_THREADS
+ ep = readdir(dirp);
+ Py_END_ALLOW_THREADS
+ if (ep == NULL) {
+ if (errno == 0) {
+ break;
+ } else {
+ Py_BEGIN_ALLOW_THREADS
+ closedir(dirp);
+ Py_END_ALLOW_THREADS
+ Py_DECREF(d);
+ return posix_error();
+ }
+ }
+ if (ep->d_name[0] == '.' &&
+ (NAMLEN(ep) == 1 ||
+ (ep->d_name[1] == '.' && NAMLEN(ep) == 2)))
+ continue;
+ v = PyUnicode_DecodeFSDefaultAndSize(ep->d_name, NAMLEN(ep));
+ if (v == NULL) {
+ Py_CLEAR(d);
+ break;
+ }
+ if (PyList_Append(d, v) != 0) {
+ Py_DECREF(v);
+ Py_CLEAR(d);
+ break;
+ }
+ Py_DECREF(v);
+ }
+ Py_BEGIN_ALLOW_THREADS
+ closedir(dirp);
+ Py_END_ALLOW_THREADS
+
+ return d;
+}
+#endif
+
#ifdef MS_WINDOWS
/* A helper function for abspath on win32 */
static PyObject *
posix__getfullpathname(PyObject *self, PyObject *args)
{
- PyObject *opath;
- char *path;
+ const char *path;
char outbuf[MAX_PATH*2];
char *temp;
-#ifdef MS_WINDOWS
- PyUnicodeObject *po;
- if (PyArg_ParseTuple(args, "U|:_getfullpathname", &po)) {
- Py_UNICODE *wpath = PyUnicode_AS_UNICODE(po);
- Py_UNICODE woutbuf[MAX_PATH*2], *woutbufp = woutbuf;
- Py_UNICODE *wtemp;
+ PyObject *po;
+
+ if (PyArg_ParseTuple(args, "U|:_getfullpathname", &po))
+ {
+ wchar_t *wpath;
+ wchar_t woutbuf[MAX_PATH*2], *woutbufp = woutbuf;
+ wchar_t *wtemp;
DWORD result;
PyObject *v;
+
+ wpath = PyUnicode_AsUnicode(po);
+ if (wpath == NULL)
+ return NULL;
result = GetFullPathNameW(wpath,
- sizeof(woutbuf)/sizeof(woutbuf[0]),
+ Py_ARRAY_LENGTH(woutbuf),
woutbuf, &wtemp);
- if (result > sizeof(woutbuf)/sizeof(woutbuf[0])) {
- woutbufp = malloc(result * sizeof(Py_UNICODE));
+ if (result > Py_ARRAY_LENGTH(woutbuf)) {
+ woutbufp = malloc(result * sizeof(wchar_t));
if (!woutbufp)
return PyErr_NoMemory();
result = GetFullPathNameW(wpath, result, woutbufp, &wtemp);
}
if (result)
- v = PyUnicode_FromUnicode(woutbufp, wcslen(woutbufp));
+ v = PyUnicode_FromWideChar(woutbufp, wcslen(woutbufp));
else
- v = win32_error_unicode("GetFullPathNameW", wpath);
+ v = win32_error_object("GetFullPathNameW", po);
if (woutbufp != woutbuf)
free(woutbufp);
return v;
@@ -2756,18 +2978,16 @@ posix__getfullpathname(PyObject *self, PyObject *args)
are also valid. */
PyErr_Clear();
-#endif
- if (!PyArg_ParseTuple (args, "O&:_getfullpathname",
- PyUnicode_FSConverter, &opath))
+ if (!PyArg_ParseTuple (args, "y:_getfullpathname",
+ &path))
return NULL;
- path = PyBytes_AsString(opath);
- if (!GetFullPathName(path, sizeof(outbuf)/sizeof(outbuf[0]),
+ if (win32_warn_bytes_api())
+ return NULL;
+ if (!GetFullPathName(path, Py_ARRAY_LENGTH(outbuf),
outbuf, &temp)) {
win32_error("GetFullPathName", path);
- Py_DECREF(opath);
return NULL;
}
- Py_DECREF(opath);
if (PyUnicode_Check(PyTuple_GetItem(args, 0))) {
return PyUnicode_Decode(outbuf, strlen(outbuf),
Py_FileSystemDefaultEncoding, NULL);
@@ -2785,12 +3005,14 @@ posix__getfinalpathname(PyObject *self, PyObject *args)
int buf_size;
wchar_t *target_path;
int result_length;
- PyObject *result;
+ PyObject *po, *result;
wchar_t *path;
- if (!PyArg_ParseTuple(args, "u|:_getfinalpathname", &path)) {
+ if (!PyArg_ParseTuple(args, "U|:_getfinalpathname", &po))
+ return NULL;
+ path = PyUnicode_AsUnicode(po);
+ if (path == NULL)
return NULL;
- }
if(!check_GetFinalPathNameByHandle()) {
/* If the OS doesn't have GetFinalPathNameByHandle, return a
@@ -2809,18 +3031,15 @@ posix__getfinalpathname(PyObject *self, PyObject *args)
FILE_FLAG_BACKUP_SEMANTICS,
NULL);
- if(hFile == INVALID_HANDLE_VALUE) {
- return win32_error_unicode("GetFinalPathNamyByHandle", path);
- return PyErr_Format(PyExc_RuntimeError,
- "Could not get a handle to file.");
- }
+ if(hFile == INVALID_HANDLE_VALUE)
+ return win32_error_object("CreateFileW", po);
/* We have a good handle to the target, use it to determine the
target path name. */
buf_size = Py_GetFinalPathNameByHandleW(hFile, 0, 0, VOLUME_NAME_NT);
if(!buf_size)
- return win32_error_unicode("GetFinalPathNameByHandle", path);
+ return win32_error_object("GetFinalPathNameByHandle", po);
target_path = (wchar_t *)malloc((buf_size+1)*sizeof(wchar_t));
if(!target_path)
@@ -2829,13 +3048,13 @@ posix__getfinalpathname(PyObject *self, PyObject *args)
result_length = Py_GetFinalPathNameByHandleW(hFile, target_path,
buf_size, VOLUME_NAME_DOS);
if(!result_length)
- return win32_error_unicode("GetFinalPathNamyByHandle", path);
+ return win32_error_object("GetFinalPathNamyByHandle", po);
if(!CloseHandle(hFile))
- return win32_error_unicode("GetFinalPathNameByHandle", path);
+ return win32_error_object("CloseHandle", po);
target_path[result_length] = 0;
- result = PyUnicode_FromUnicode(target_path, result_length);
+ result = PyUnicode_FromWideChar(target_path, result_length);
free(target_path);
return result;
@@ -2872,13 +3091,14 @@ PyDoc_STRVAR(posix__isdir__doc__,
static PyObject *
posix__isdir(PyObject *self, PyObject *args)
{
- PyObject *opath;
- char *path;
- PyUnicodeObject *po;
+ const char *path;
+ PyObject *po;
DWORD attributes;
if (PyArg_ParseTuple(args, "U|:_isdir", &po)) {
- Py_UNICODE *wpath = PyUnicode_AS_UNICODE(po);
+ wchar_t *wpath = PyUnicode_AsUnicode(po);
+ if (wpath == NULL)
+ return NULL;
attributes = GetFileAttributesW(wpath);
if (attributes == INVALID_FILE_ATTRIBUTES)
@@ -2889,11 +3109,10 @@ posix__isdir(PyObject *self, PyObject *args)
are also valid. */
PyErr_Clear();
- if (!PyArg_ParseTuple(args, "O&:_isdir",
- PyUnicode_FSConverter, &opath))
+ if (!PyArg_ParseTuple(args, "y:_isdir", &path))
+ return NULL;
+ if (win32_warn_bytes_api())
return NULL;
-
- path = PyBytes_AsString(opath);
attributes = GetFileAttributesA(path);
if (attributes == INVALID_FILE_ATTRIBUTES)
Py_RETURN_FALSE;
@@ -2914,44 +3133,43 @@ static PyObject *
posix_mkdir(PyObject *self, PyObject *args)
{
int res;
- PyObject *opath;
- char *path;
+ const char *path;
int mode = 0777;
#ifdef MS_WINDOWS
- PyUnicodeObject *po;
- if (PyArg_ParseTuple(args, "U|i:mkdir", &po, &mode)) {
+ PyObject *po;
+ if (PyArg_ParseTuple(args, "U|i:mkdir", &po, &mode))
+ {
+ wchar_t *wpath = PyUnicode_AsUnicode(po);
+ if (wpath == NULL)
+ return NULL;
+
Py_BEGIN_ALLOW_THREADS
- /* PyUnicode_AS_UNICODE OK without thread lock as
- it is a simple dereference. */
- res = CreateDirectoryW(PyUnicode_AS_UNICODE(po), NULL);
+ res = CreateDirectoryW(wpath, NULL);
Py_END_ALLOW_THREADS
if (!res)
- return win32_error_unicode("mkdir", PyUnicode_AS_UNICODE(po));
+ return win32_error_object("mkdir", po);
Py_INCREF(Py_None);
return Py_None;
}
/* Drop the argument parsing error as narrow strings
are also valid. */
PyErr_Clear();
- if (!PyArg_ParseTuple(args, "O&|i:mkdir",
- PyUnicode_FSConverter, &opath, &mode))
+ if (!PyArg_ParseTuple(args, "y|i:mkdir", &path, &mode))
+ return NULL;
+ if (win32_warn_bytes_api())
return NULL;
- path = PyBytes_AsString(opath);
Py_BEGIN_ALLOW_THREADS
- /* PyUnicode_AS_UNICODE OK without thread lock as
- it is a simple dereference. */
res = CreateDirectoryA(path, NULL);
Py_END_ALLOW_THREADS
if (!res) {
win32_error("mkdir", path);
- Py_DECREF(opath);
return NULL;
}
- Py_DECREF(opath);
Py_INCREF(Py_None);
return Py_None;
#else
+ PyObject *opath;
if (!PyArg_ParseTuple(args, "O&|i:mkdir",
PyUnicode_FSConverter, &opath, &mode))
@@ -3015,6 +3233,48 @@ posix_nice(PyObject *self, PyObject *args)
}
#endif /* HAVE_NICE */
+
+#ifdef HAVE_GETPRIORITY
+PyDoc_STRVAR(posix_getpriority__doc__,
+"getpriority(which, who) -> current_priority\n\n\
+Get program scheduling priority.");
+
+static PyObject *
+posix_getpriority(PyObject *self, PyObject *args)
+{
+ int which, who, retval;
+
+ if (!PyArg_ParseTuple(args, "ii", &which, &who))
+ return NULL;
+ errno = 0;
+ retval = getpriority(which, who);
+ if (errno != 0)
+ return posix_error();
+ return PyLong_FromLong((long)retval);
+}
+#endif /* HAVE_GETPRIORITY */
+
+
+#ifdef HAVE_SETPRIORITY
+PyDoc_STRVAR(posix_setpriority__doc__,
+"setpriority(which, who, prio) -> None\n\n\
+Set program scheduling priority.");
+
+static PyObject *
+posix_setpriority(PyObject *self, PyObject *args)
+{
+ int which, who, prio, retval;
+
+ if (!PyArg_ParseTuple(args, "iii", &which, &who, &prio))
+ return NULL;
+ retval = setpriority(which, who, prio);
+ if (retval == -1)
+ return posix_error();
+ Py_RETURN_NONE;
+}
+#endif /* HAVE_SETPRIORITY */
+
+
PyDoc_STRVAR(posix_rename__doc__,
"rename(old, new)\n\n\
Rename a file or directory.");
@@ -3023,38 +3283,54 @@ static PyObject *
posix_rename(PyObject *self, PyObject *args)
{
#ifdef MS_WINDOWS
- PyObject *o1, *o2;
- char *p1, *p2;
+ PyObject *src, *dst;
BOOL result;
- if (!PyArg_ParseTuple(args, "OO:rename", &o1, &o2))
- goto error;
- if (!convert_to_unicode(&o1))
- goto error;
- if (!convert_to_unicode(&o2)) {
- Py_DECREF(o1);
- goto error;
+ if (PyArg_ParseTuple(args, "UU:rename", &src, &dst))
+ {
+ wchar_t *wsrc, *wdst;
+
+ wsrc = PyUnicode_AsUnicode(src);
+ if (wsrc == NULL)
+ return NULL;
+ wdst = PyUnicode_AsUnicode(dst);
+ if (wdst == NULL)
+ return NULL;
+ Py_BEGIN_ALLOW_THREADS
+ result = MoveFileW(wsrc, wdst);
+ Py_END_ALLOW_THREADS
+ if (!result)
+ return win32_error("rename", NULL);
+ Py_INCREF(Py_None);
+ return Py_None;
}
- Py_BEGIN_ALLOW_THREADS
- result = MoveFileW(PyUnicode_AsUnicode(o1),
- PyUnicode_AsUnicode(o2));
- Py_END_ALLOW_THREADS
- Py_DECREF(o1);
- Py_DECREF(o2);
- if (!result)
- return win32_error("rename", NULL);
- Py_INCREF(Py_None);
- return Py_None;
+ else {
+ PyErr_Clear();
+ if (!PyArg_ParseTuple(args, "O&O&:rename",
+ PyUnicode_FSConverter, &src,
+ PyUnicode_FSConverter, &dst))
+ return NULL;
+
+ if (win32_warn_bytes_api())
+ goto error;
+
+ Py_BEGIN_ALLOW_THREADS
+ result = MoveFileA(PyBytes_AS_STRING(src),
+ PyBytes_AS_STRING(dst));
+ Py_END_ALLOW_THREADS
+
+ Py_XDECREF(src);
+ Py_XDECREF(dst);
+
+ if (!result)
+ return win32_error("rename", NULL);
+ Py_INCREF(Py_None);
+ return Py_None;
+
error:
- PyErr_Clear();
- if (!PyArg_ParseTuple(args, "ss:rename", &p1, &p2))
+ Py_XDECREF(src);
+ Py_XDECREF(dst);
return NULL;
- Py_BEGIN_ALLOW_THREADS
- result = MoveFileA(p1, p2);
- Py_END_ALLOW_THREADS
- if (!result)
- return win32_error("rename", NULL);
- Py_INCREF(Py_None);
- return Py_None;
+ }
#else
return posix_2str(args, "O&O&:rename", rename);
#endif
@@ -3223,6 +3499,30 @@ posix_uname(PyObject *self, PyObject *noargs)
}
#endif /* HAVE_UNAME */
+
+/*
+ * Classic POSIX utime functions supported microseconds (1m/sec).
+ * Newer POSIX functions support nanoseconds (1 billion per sec).
+ * posixmodule now uses the new functions where possible.
+ * This improves accuracy in many situations, for example shutil.copy2().
+ *
+ * The implementation isn't currently sophisticated enough to handle
+ * a platform where HAVE_UTIMENSAT is true but HAVE_FUTIMENS is false.
+ * Specifically, posix_futimes() would break.
+ *
+ * Supporting such a platform wouldn't be impossible; you'd need two
+ * extract_time() functions, or make its precision a parameter.
+ * Since such a platform seems unlikely we haven't bothered.
+ */
+#if defined(HAVE_UTIMENSAT)
+#define EXTRACT_TIME_PRECISION (1e9)
+#if !defined(HAVE_FUTIMENS)
+#error You HAVE_UTIMENSAT but not HAVE_FUTIMENS... please see accompanying comment.
+#endif
+#else
+#define EXTRACT_TIME_PRECISION (1e6)
+#endif
+
static int
extract_time(PyObject *t, time_t* sec, long* usec)
{
@@ -3241,7 +3541,8 @@ extract_time(PyObject *t, time_t* sec, long* usec)
if (intval == -1 && PyErr_Occurred())
return -1;
*sec = intval;
- *usec = (long)((tval - intval) * 1e6); /* can't exceed 1000000 */
+
+ *usec = (long)((tval - intval) * EXTRACT_TIME_PRECISION);
if (*usec < 0)
/* If rounding gave us a negative number,
truncate. */
@@ -3261,45 +3562,47 @@ extract_time(PyObject *t, time_t* sec, long* usec)
}
PyDoc_STRVAR(posix_utime__doc__,
-"utime(path, (atime, mtime))\n\
-utime(path, None)\n\n\
-Set the access and modified time of the file to the given values. If the\n\
-second form is used, set the access and modified times to the current time.");
+"utime(path[, (atime, mtime)])\n\
+Set the access and modified time of the file to the given values.\n\
+If no second argument is used, set the access and modified times to\n\
+the current time.");
static PyObject *
posix_utime(PyObject *self, PyObject *args)
{
#ifdef MS_WINDOWS
- PyObject *arg;
- PyUnicodeObject *obwpath;
+ PyObject *arg = Py_None;
+ PyObject *obwpath;
wchar_t *wpath = NULL;
- PyObject *oapath;
- char *apath;
+ const char *apath;
HANDLE hFile;
time_t atimesec, mtimesec;
long ausec, musec;
FILETIME atime, mtime;
PyObject *result = NULL;
- if (PyArg_ParseTuple(args, "UO|:utime", &obwpath, &arg)) {
- wpath = PyUnicode_AS_UNICODE(obwpath);
+ if (PyArg_ParseTuple(args, "U|O:utime", &obwpath, &arg)) {
+ wpath = PyUnicode_AsUnicode(obwpath);
+ if (wpath == NULL)
+ return NULL;
Py_BEGIN_ALLOW_THREADS
hFile = CreateFileW(wpath, FILE_WRITE_ATTRIBUTES, 0,
NULL, OPEN_EXISTING,
FILE_FLAG_BACKUP_SEMANTICS, NULL);
Py_END_ALLOW_THREADS
if (hFile == INVALID_HANDLE_VALUE)
- return win32_error_unicode("utime", wpath);
- } else
+ return win32_error_object("utime", obwpath);
+ }
+ else {
/* Drop the argument parsing error as narrow strings
are also valid. */
PyErr_Clear();
- if (!wpath) {
- if (!PyArg_ParseTuple(args, "O&O:utime",
- PyUnicode_FSConverter, &oapath, &arg))
+ if (!PyArg_ParseTuple(args, "y|O:utime", &apath, &arg))
return NULL;
- apath = PyBytes_AsString(oapath);
+ if (win32_warn_bytes_api())
+ return NULL;
+
Py_BEGIN_ALLOW_THREADS
hFile = CreateFileA(apath, FILE_WRITE_ATTRIBUTES, 0,
NULL, OPEN_EXISTING,
@@ -3307,10 +3610,8 @@ posix_utime(PyObject *self, PyObject *args)
Py_END_ALLOW_THREADS
if (hFile == INVALID_HANDLE_VALUE) {
win32_error("utime", apath);
- Py_DECREF(oapath);
return NULL;
}
- Py_DECREF(oapath);
}
if (arg == Py_None) {
@@ -3357,27 +3658,9 @@ done:
time_t atime, mtime;
long ausec, musec;
int res;
- PyObject* arg;
+ PyObject* arg = Py_None;
-#if defined(HAVE_UTIMES)
- struct timeval buf[2];
-#define ATIME buf[0].tv_sec
-#define MTIME buf[1].tv_sec
-#elif defined(HAVE_UTIME_H)
-/* XXX should define struct utimbuf instead, above */
- struct utimbuf buf;
-#define ATIME buf.actime
-#define MTIME buf.modtime
-#define UTIME_ARG &buf
-#else /* HAVE_UTIMES */
- time_t buf[2];
-#define ATIME buf[0]
-#define MTIME buf[1]
-#define UTIME_ARG buf
-#endif /* HAVE_UTIMES */
-
-
- if (!PyArg_ParseTuple(args, "O&O:utime",
+ if (!PyArg_ParseTuple(args, "O&|O:utime",
PyUnicode_FSConverter, &opath, &arg))
return NULL;
path = PyBytes_AsString(opath);
@@ -3404,19 +3687,37 @@ done:
Py_DECREF(opath);
return NULL;
}
- ATIME = atime;
- MTIME = mtime;
-#ifdef HAVE_UTIMES
+
+ Py_BEGIN_ALLOW_THREADS
+ {
+#ifdef HAVE_UTIMENSAT
+ struct timespec buf[2];
+ buf[0].tv_sec = atime;
+ buf[0].tv_nsec = ausec;
+ buf[1].tv_sec = mtime;
+ buf[1].tv_nsec = musec;
+ res = utimensat(AT_FDCWD, path, buf, 0);
+#elif defined(HAVE_UTIMES)
+ struct timeval buf[2];
+ buf[0].tv_sec = atime;
buf[0].tv_usec = ausec;
+ buf[1].tv_sec = mtime;
buf[1].tv_usec = musec;
- Py_BEGIN_ALLOW_THREADS
res = utimes(path, buf);
- Py_END_ALLOW_THREADS
+#elif defined(HAVE_UTIME_H)
+ /* XXX should define struct utimbuf instead, above */
+ struct utimbuf buf;
+ buf.actime = atime;
+ buf.modtime = mtime;
+ res = utime(path, &buf);
#else
- Py_BEGIN_ALLOW_THREADS
- res = utime(path, UTIME_ARG);
+ time_t buf[2];
+ buf[0] = atime;
+ buf[1] = mtime;
+ res = utime(path, buf);
+#endif
+ }
Py_END_ALLOW_THREADS
-#endif /* HAVE_UTIMES */
}
if (res < 0) {
return posix_error_with_allocated_filename(opath);
@@ -3424,12 +3725,198 @@ done:
Py_DECREF(opath);
Py_INCREF(Py_None);
return Py_None;
-#undef UTIME_ARG
-#undef ATIME
-#undef MTIME
+#undef UTIME_EXTRACT
#endif /* MS_WINDOWS */
}
+#ifdef HAVE_FUTIMES
+PyDoc_STRVAR(posix_futimes__doc__,
+"futimes(fd[, (atime, mtime)])\n\
+Set the access and modified time of the file specified by the file\n\
+descriptor fd to the given values. If no second argument is used, set the\n\
+access and modified times to the current time.");
+
+static PyObject *
+posix_futimes(PyObject *self, PyObject *args)
+{
+ int res, fd;
+ PyObject* arg = Py_None;
+ time_t atime, mtime;
+ long ausec, musec;
+
+ if (!PyArg_ParseTuple(args, "i|O:futimes", &fd, &arg))
+ return NULL;
+
+ if (arg == Py_None) {
+ /* optional time values not given */
+ Py_BEGIN_ALLOW_THREADS
+ res = futimes(fd, NULL);
+ Py_END_ALLOW_THREADS
+ }
+ else if (!PyTuple_Check(arg) || PyTuple_Size(arg) != 2) {
+ PyErr_SetString(PyExc_TypeError,
+ "futimes() arg 2 must be a tuple (atime, mtime)");
+ return NULL;
+ }
+ else {
+ if (extract_time(PyTuple_GET_ITEM(arg, 0),
+ &atime, &ausec) == -1) {
+ return NULL;
+ }
+ if (extract_time(PyTuple_GET_ITEM(arg, 1),
+ &mtime, &musec) == -1) {
+ return NULL;
+ }
+ Py_BEGIN_ALLOW_THREADS
+ {
+#ifdef HAVE_FUTIMENS
+ struct timespec buf[2];
+ buf[0].tv_sec = atime;
+ buf[0].tv_nsec = ausec;
+ buf[1].tv_sec = mtime;
+ buf[1].tv_nsec = musec;
+ res = futimens(fd, buf);
+#else
+ struct timeval buf[2];
+ buf[0].tv_sec = atime;
+ buf[0].tv_usec = ausec;
+ buf[1].tv_sec = mtime;
+ buf[1].tv_usec = musec;
+ res = futimes(fd, buf);
+#endif
+ }
+ Py_END_ALLOW_THREADS
+ }
+ if (res < 0)
+ return posix_error();
+ Py_RETURN_NONE;
+}
+#endif
+
+#ifdef HAVE_LUTIMES
+PyDoc_STRVAR(posix_lutimes__doc__,
+"lutimes(path[, (atime, mtime)])\n\
+Like utime(), but if path is a symbolic link, it is not dereferenced.");
+
+static PyObject *
+posix_lutimes(PyObject *self, PyObject *args)
+{
+ PyObject *opath;
+ PyObject *arg = Py_None;
+ const char *path;
+ int res;
+ time_t atime, mtime;
+ long ausec, musec;
+
+ if (!PyArg_ParseTuple(args, "O&|O:lutimes",
+ PyUnicode_FSConverter, &opath, &arg))
+ return NULL;
+ path = PyBytes_AsString(opath);
+ if (arg == Py_None) {
+ /* optional time values not given */
+ Py_BEGIN_ALLOW_THREADS
+ res = lutimes(path, NULL);
+ Py_END_ALLOW_THREADS
+ }
+ else if (!PyTuple_Check(arg) || PyTuple_Size(arg) != 2) {
+ PyErr_SetString(PyExc_TypeError,
+ "lutimes() arg 2 must be a tuple (atime, mtime)");
+ Py_DECREF(opath);
+ return NULL;
+ }
+ else {
+ if (extract_time(PyTuple_GET_ITEM(arg, 0),
+ &atime, &ausec) == -1) {
+ Py_DECREF(opath);
+ return NULL;
+ }
+ if (extract_time(PyTuple_GET_ITEM(arg, 1),
+ &mtime, &musec) == -1) {
+ Py_DECREF(opath);
+ return NULL;
+ }
+ Py_BEGIN_ALLOW_THREADS
+ {
+#ifdef HAVE_UTIMENSAT
+ struct timespec buf[2];
+ buf[0].tv_sec = atime;
+ buf[0].tv_nsec = ausec;
+ buf[1].tv_sec = mtime;
+ buf[1].tv_nsec = musec;
+ res = utimensat(AT_FDCWD, path, buf, AT_SYMLINK_NOFOLLOW);
+#else
+ struct timeval buf[2];
+ buf[0].tv_sec = atime;
+ buf[0].tv_usec = ausec;
+ buf[1].tv_sec = mtime;
+ buf[1].tv_usec = musec;
+ res = lutimes(path, buf);
+#endif
+ }
+ Py_END_ALLOW_THREADS
+ }
+ Py_DECREF(opath);
+ if (res < 0)
+ return posix_error();
+ Py_RETURN_NONE;
+}
+#endif
+
+#ifdef HAVE_FUTIMENS
+PyDoc_STRVAR(posix_futimens__doc__,
+"futimens(fd[, (atime_sec, atime_nsec), (mtime_sec, mtime_nsec)])\n\
+Updates the timestamps of a file specified by the file descriptor fd, with\n\
+nanosecond precision.\n\
+If no second argument is given, set atime and mtime to the current time.\n\
+If *_nsec is specified as UTIME_NOW, the timestamp is updated to the\n\
+current time.\n\
+If *_nsec is specified as UTIME_OMIT, the timestamp is not updated.");
+
+static PyObject *
+posix_futimens(PyObject *self, PyObject *args)
+{
+ int res, fd;
+ PyObject *atime = Py_None;
+ PyObject *mtime = Py_None;
+ struct timespec buf[2];
+
+ if (!PyArg_ParseTuple(args, "i|OO:futimens",
+ &fd, &atime, &mtime))
+ return NULL;
+ if (atime == Py_None && mtime == Py_None) {
+ /* optional time values not given */
+ Py_BEGIN_ALLOW_THREADS
+ res = futimens(fd, NULL);
+ Py_END_ALLOW_THREADS
+ }
+ else if (!PyTuple_Check(atime) || PyTuple_Size(atime) != 2) {
+ PyErr_SetString(PyExc_TypeError,
+ "futimens() arg 2 must be a tuple (atime_sec, atime_nsec)");
+ return NULL;
+ }
+ else if (!PyTuple_Check(mtime) || PyTuple_Size(mtime) != 2) {
+ PyErr_SetString(PyExc_TypeError,
+ "futimens() arg 3 must be a tuple (mtime_sec, mtime_nsec)");
+ return NULL;
+ }
+ else {
+ if (!PyArg_ParseTuple(atime, "ll:futimens",
+ &(buf[0].tv_sec), &(buf[0].tv_nsec))) {
+ return NULL;
+ }
+ if (!PyArg_ParseTuple(mtime, "ll:futimens",
+ &(buf[1].tv_sec), &(buf[1].tv_nsec))) {
+ return NULL;
+ }
+ Py_BEGIN_ALLOW_THREADS
+ res = futimens(fd, buf);
+ Py_END_ALLOW_THREADS
+ }
+ if (res < 0)
+ return posix_error();
+ Py_RETURN_NONE;
+}
+#endif
/* Process operations */
@@ -3474,79 +3961,7 @@ int fsconvert_strdup(PyObject *o, char**out)
}
#endif
-
-#ifdef HAVE_EXECV
-PyDoc_STRVAR(posix_execv__doc__,
-"execv(path, args)\n\n\
-Execute an executable path with arguments, replacing current process.\n\
-\n\
- path: path of executable file\n\
- args: tuple or list of strings");
-
-static PyObject *
-posix_execv(PyObject *self, PyObject *args)
-{
- PyObject *opath;
- char *path;
- PyObject *argv;
- char **argvlist;
- Py_ssize_t i, argc;
- PyObject *(*getitem)(PyObject *, Py_ssize_t);
-
- /* execv has two arguments: (path, argv), where
- argv is a list or tuple of strings. */
-
- if (!PyArg_ParseTuple(args, "O&O:execv",
- PyUnicode_FSConverter,
- &opath, &argv))
- return NULL;
- path = PyBytes_AsString(opath);
- if (PyList_Check(argv)) {
- argc = PyList_Size(argv);
- getitem = PyList_GetItem;
- }
- else if (PyTuple_Check(argv)) {
- argc = PyTuple_Size(argv);
- getitem = PyTuple_GetItem;
- }
- else {
- PyErr_SetString(PyExc_TypeError, "execv() arg 2 must be a tuple or list");
- Py_DECREF(opath);
- return NULL;
- }
- if (argc < 1) {
- PyErr_SetString(PyExc_ValueError, "execv() arg 2 must not be empty");
- Py_DECREF(opath);
- return NULL;
- }
-
- argvlist = PyMem_NEW(char *, argc+1);
- if (argvlist == NULL) {
- Py_DECREF(opath);
- return PyErr_NoMemory();
- }
- for (i = 0; i < argc; i++) {
- if (!fsconvert_strdup((*getitem)(argv, i),
- &argvlist[i])) {
- free_string_array(argvlist, i);
- PyErr_SetString(PyExc_TypeError,
- "execv() arg 2 must contain only strings");
- Py_DECREF(opath);
- return NULL;
-
- }
- }
- argvlist[argc] = NULL;
-
- execv(path, argvlist);
-
- /* If we get here it's definitely an error */
-
- free_string_array(argvlist, argc);
- Py_DECREF(opath);
- return posix_error();
-}
-
+#if defined(HAVE_EXECV) || defined (HAVE_FEXECVE)
static char**
parse_envlist(PyObject* env, Py_ssize_t *envc_ptr)
{
@@ -3628,6 +4043,87 @@ error:
return NULL;
}
+static char**
+parse_arglist(PyObject* argv, Py_ssize_t *argc)
+{
+ int i;
+ char **argvlist = PyMem_NEW(char *, *argc+1);
+ if (argvlist == NULL) {
+ PyErr_NoMemory();
+ return NULL;
+ }
+ for (i = 0; i < *argc; i++) {
+ PyObject* item = PySequence_ITEM(argv, i);
+ if (item == NULL)
+ goto fail;
+ if (!fsconvert_strdup(item, &argvlist[i])) {
+ Py_DECREF(item);
+ goto fail;
+ }
+ Py_DECREF(item);
+ }
+ argvlist[*argc] = NULL;
+ return argvlist;
+fail:
+ *argc = i;
+ free_string_array(argvlist, *argc);
+ return NULL;
+}
+#endif
+
+#ifdef HAVE_EXECV
+PyDoc_STRVAR(posix_execv__doc__,
+"execv(path, args)\n\n\
+Execute an executable path with arguments, replacing current process.\n\
+\n\
+ path: path of executable file\n\
+ args: tuple or list of strings");
+
+static PyObject *
+posix_execv(PyObject *self, PyObject *args)
+{
+ PyObject *opath;
+ char *path;
+ PyObject *argv;
+ char **argvlist;
+ Py_ssize_t argc;
+
+ /* execv has two arguments: (path, argv), where
+ argv is a list or tuple of strings. */
+
+ if (!PyArg_ParseTuple(args, "O&O:execv",
+ PyUnicode_FSConverter,
+ &opath, &argv))
+ return NULL;
+ path = PyBytes_AsString(opath);
+ if (!PyList_Check(argv) && !PyTuple_Check(argv)) {
+ PyErr_SetString(PyExc_TypeError,
+ "execv() arg 2 must be a tuple or list");
+ Py_DECREF(opath);
+ return NULL;
+ }
+ argc = PySequence_Size(argv);
+ if (argc < 1) {
+ PyErr_SetString(PyExc_ValueError, "execv() arg 2 must not be empty");
+ Py_DECREF(opath);
+ return NULL;
+ }
+
+ argvlist = parse_arglist(argv, &argc);
+ if (argvlist == NULL) {
+ Py_DECREF(opath);
+ return NULL;
+ }
+
+ execv(path, argvlist);
+
+ /* If we get here it's definitely an error */
+
+ free_string_array(argvlist, argc);
+ Py_DECREF(opath);
+ return posix_error();
+}
+
PyDoc_STRVAR(posix_execve__doc__,
"execve(path, args, env)\n\n\
Execute a path with arguments and environment, replacing current process.\n\
@@ -3644,9 +4140,7 @@ posix_execve(PyObject *self, PyObject *args)
PyObject *argv, *env;
char **argvlist;
char **envlist;
- Py_ssize_t i, argc, envc;
- PyObject *(*getitem)(PyObject *, Py_ssize_t);
- Py_ssize_t lastarg = 0;
+ Py_ssize_t argc, envc;
/* execve has three arguments: (path, argv, env), where
argv is a list or tuple of strings and env is a dictionary
@@ -3657,40 +4151,22 @@ posix_execve(PyObject *self, PyObject *args)
&opath, &argv, &env))
return NULL;
path = PyBytes_AsString(opath);
- if (PyList_Check(argv)) {
- argc = PyList_Size(argv);
- getitem = PyList_GetItem;
- }
- else if (PyTuple_Check(argv)) {
- argc = PyTuple_Size(argv);
- getitem = PyTuple_GetItem;
- }
- else {
+ if (!PyList_Check(argv) && !PyTuple_Check(argv)) {
PyErr_SetString(PyExc_TypeError,
"execve() arg 2 must be a tuple or list");
goto fail_0;
}
+ argc = PySequence_Size(argv);
if (!PyMapping_Check(env)) {
PyErr_SetString(PyExc_TypeError,
"execve() arg 3 must be a mapping object");
goto fail_0;
}
- argvlist = PyMem_NEW(char *, argc+1);
+ argvlist = parse_arglist(argv, &argc);
if (argvlist == NULL) {
- PyErr_NoMemory();
goto fail_0;
}
- for (i = 0; i < argc; i++) {
- if (!fsconvert_strdup((*getitem)(argv, i),
- &argvlist[i]))
- {
- lastarg = i;
- goto fail_1;
- }
- }
- lastarg = argc;
- argvlist[argc] = NULL;
envlist = parse_envlist(env, &envc);
if (envlist == NULL)
@@ -3706,13 +4182,69 @@ posix_execve(PyObject *self, PyObject *args)
PyMem_DEL(envlist[envc]);
PyMem_DEL(envlist);
fail_1:
- free_string_array(argvlist, lastarg);
+ free_string_array(argvlist, argc);
fail_0:
Py_DECREF(opath);
return NULL;
}
#endif /* HAVE_EXECV */
+#ifdef HAVE_FEXECVE
+PyDoc_STRVAR(posix_fexecve__doc__,
+"fexecve(fd, args, env)\n\n\
+Execute the program specified by a file descriptor with arguments and\n\
+environment, replacing the current process.\n\
+\n\
+ fd: file descriptor of executable\n\
+ args: tuple or list of arguments\n\
+ env: dictionary of strings mapping to strings");
+
+static PyObject *
+posix_fexecve(PyObject *self, PyObject *args)
+{
+ int fd;
+ PyObject *argv, *env;
+ char **argvlist;
+ char **envlist;
+ Py_ssize_t argc, envc;
+
+ if (!PyArg_ParseTuple(args, "iOO:fexecve",
+ &fd, &argv, &env))
+ return NULL;
+ if (!PyList_Check(argv) && !PyTuple_Check(argv)) {
+ PyErr_SetString(PyExc_TypeError,
+ "fexecve() arg 2 must be a tuple or list");
+ return NULL;
+ }
+ argc = PySequence_Size(argv);
+ if (!PyMapping_Check(env)) {
+ PyErr_SetString(PyExc_TypeError,
+ "fexecve() arg 3 must be a mapping object");
+ return NULL;
+ }
+
+ argvlist = parse_arglist(argv, &argc);
+ if (argvlist == NULL)
+ return NULL;
+
+ envlist = parse_envlist(env, &envc);
+ if (envlist == NULL)
+ goto fail;
+
+ fexecve(fd, argvlist, envlist);
+
+ /* If we get here it's definitely an error */
+
+ (void) posix_error();
+
+ while (--envc >= 0)
+ PyMem_DEL(envlist[envc]);
+ PyMem_DEL(envlist);
+ fail:
+ free_string_array(argvlist, argc);
+ return NULL;
+}
+#endif /* HAVE_FEXECVE */
#ifdef HAVE_SPAWNV
PyDoc_STRVAR(posix_spawnv__doc__,
@@ -4153,6 +4685,574 @@ posix_fork(PyObject *self, PyObject *noargs)
}
#endif
+#ifdef HAVE_SCHED_H
+
+#ifdef HAVE_SCHED_GET_PRIORITY_MAX
+
+PyDoc_STRVAR(posix_sched_get_priority_max__doc__,
+"sched_get_priority_max(policy)\n\n\
+Get the maximum scheduling priority for *policy*.");
+
+static PyObject *
+posix_sched_get_priority_max(PyObject *self, PyObject *args)
+{
+ int policy, max;
+
+ if (!PyArg_ParseTuple(args, "i:sched_get_priority_max", &policy))
+ return NULL;
+ max = sched_get_priority_max(policy);
+ if (max < 0)
+ return posix_error();
+ return PyLong_FromLong(max);
+}
+
+PyDoc_STRVAR(posix_sched_get_priority_min__doc__,
+"sched_get_priority_min(policy)\n\n\
+Get the minimum scheduling priority for *policy*.");
+
+static PyObject *
+posix_sched_get_priority_min(PyObject *self, PyObject *args)
+{
+ int policy, min;
+
+ if (!PyArg_ParseTuple(args, "i:sched_get_priority_min", &policy))
+ return NULL;
+ min = sched_get_priority_min(policy);
+ if (min < 0)
+ return posix_error();
+ return PyLong_FromLong(min);
+}
+
+#endif /* HAVE_SCHED_GET_PRIORITY_MAX */
+
+#ifdef HAVE_SCHED_SETSCHEDULER
+
+PyDoc_STRVAR(posix_sched_getscheduler__doc__,
+"sched_getscheduler(pid)\n\n\
+Get the scheduling policy for the process with a PID of *pid*.\n\
+Passing a PID of 0 returns the scheduling policy for the calling process.");
+
+static PyObject *
+posix_sched_getscheduler(PyObject *self, PyObject *args)
+{
+ pid_t pid;
+ int policy;
+
+ if (!PyArg_ParseTuple(args, _Py_PARSE_PID ":sched_getscheduler", &pid))
+ return NULL;
+ policy = sched_getscheduler(pid);
+ if (policy < 0)
+ return posix_error();
+ return PyLong_FromLong(policy);
+}
+
+#endif
+
+#if defined(HAVE_SCHED_SETSCHEDULER) || defined(HAVE_SCHED_SETPARAM)
+
+static PyObject *
+sched_param_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
+{
+ PyObject *res, *priority;
+ static char *kwlist[] = {"sched_priority", NULL};
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:sched_param", kwlist, &priority))
+ return NULL;
+ res = PyStructSequence_New(type);
+ if (!res)
+ return NULL;
+ Py_INCREF(priority);
+ PyStructSequence_SET_ITEM(res, 0, priority);
+ return res;
+}
+
+PyDoc_STRVAR(sched_param__doc__,
+"sched_param(sched_priority): A scheduling parameter.\n\n\
+Current has only one field: sched_priority");
+
+static PyStructSequence_Field sched_param_fields[] = {
+ {"sched_priority", "the scheduling priority"},
+ {0}
+};
+
+static PyStructSequence_Desc sched_param_desc = {
+ "sched_param", /* name */
+ sched_param__doc__, /* doc */
+ sched_param_fields,
+ 1
+};
+
+static int
+convert_sched_param(PyObject *param, struct sched_param *res)
+{
+ long priority;
+
+ if (Py_TYPE(param) != &SchedParamType) {
+ PyErr_SetString(PyExc_TypeError, "must have a sched_param object");
+ return 0;
+ }
+ priority = PyLong_AsLong(PyStructSequence_GET_ITEM(param, 0));
+ if (priority == -1 && PyErr_Occurred())
+ return 0;
+ if (priority > INT_MAX || priority < INT_MIN) {
+ PyErr_SetString(PyExc_OverflowError, "sched_priority out of range");
+ return 0;
+ }
+ res->sched_priority = Py_SAFE_DOWNCAST(priority, long, int);
+ return 1;
+}
+
+#endif
+
+#ifdef HAVE_SCHED_SETSCHEDULER
+
+PyDoc_STRVAR(posix_sched_setscheduler__doc__,
+"sched_setscheduler(pid, policy, param)\n\n\
+Set the scheduling policy, *policy*, for *pid*.\n\
+If *pid* is 0, the calling process is changed.\n\
+*param* is an instance of sched_param.");
+
+static PyObject *
+posix_sched_setscheduler(PyObject *self, PyObject *args)
+{
+ pid_t pid;
+ int policy;
+ struct sched_param param;
+
+ if (!PyArg_ParseTuple(args, _Py_PARSE_PID "iO&:sched_setscheduler",
+ &pid, &policy, &convert_sched_param, &param))
+ return NULL;
+
+ /*
+ ** sched_setscheduler() returns 0 in Linux, but the previous
+ ** scheduling policy under Solaris/Illumos, and others.
+ ** On error, -1 is returned in all Operating Systems.
+ */
+ if (sched_setscheduler(pid, policy, &param) == -1)
+ return posix_error();
+ Py_RETURN_NONE;
+}
+
+#endif
+
+#ifdef HAVE_SCHED_SETPARAM
+
+PyDoc_STRVAR(posix_sched_getparam__doc__,
+"sched_getparam(pid) -> sched_param\n\n\
+Returns scheduling parameters for the process with *pid* as an instance of the\n\
+sched_param class. A PID of 0 means the calling process.");
+
+static PyObject *
+posix_sched_getparam(PyObject *self, PyObject *args)
+{
+ pid_t pid;
+ struct sched_param param;
+ PyObject *res, *priority;
+
+ if (!PyArg_ParseTuple(args, _Py_PARSE_PID ":sched_getparam", &pid))
+ return NULL;
+ if (sched_getparam(pid, &param))
+ return posix_error();
+ res = PyStructSequence_New(&SchedParamType);
+ if (!res)
+ return NULL;
+ priority = PyLong_FromLong(param.sched_priority);
+ if (!priority) {
+ Py_DECREF(res);
+ return NULL;
+ }
+ PyStructSequence_SET_ITEM(res, 0, priority);
+ return res;
+}
+
+PyDoc_STRVAR(posix_sched_setparam__doc__,
+"sched_setparam(pid, param)\n\n\
+Set scheduling parameters for a process with PID *pid*.\n\
+A PID of 0 means the calling process.");
+
+static PyObject *
+posix_sched_setparam(PyObject *self, PyObject *args)
+{
+ pid_t pid;
+ struct sched_param param;
+
+ if (!PyArg_ParseTuple(args, _Py_PARSE_PID "O&:sched_setparam",
+ &pid, &convert_sched_param, &param))
+ return NULL;
+ if (sched_setparam(pid, &param))
+ return posix_error();
+ Py_RETURN_NONE;
+}
+
+#endif
+
+#ifdef HAVE_SCHED_RR_GET_INTERVAL
+
+PyDoc_STRVAR(posix_sched_rr_get_interval__doc__,
+"sched_rr_get_interval(pid) -> float\n\n\
+Return the round-robin quantum for the process with PID *pid* in seconds.");
+
+static PyObject *
+posix_sched_rr_get_interval(PyObject *self, PyObject *args)
+{
+ pid_t pid;
+ struct timespec interval;
+
+ if (!PyArg_ParseTuple(args, _Py_PARSE_PID ":sched_rr_get_interval", &pid))
+ return NULL;
+ if (sched_rr_get_interval(pid, &interval))
+ return posix_error();
+ return PyFloat_FromDouble((double)interval.tv_sec + 1e-9*interval.tv_nsec);
+}
+
+#endif
+
+PyDoc_STRVAR(posix_sched_yield__doc__,
+"sched_yield()\n\n\
+Voluntarily relinquish the CPU.");
+
+static PyObject *
+posix_sched_yield(PyObject *self, PyObject *noargs)
+{
+ if (sched_yield())
+ return posix_error();
+ Py_RETURN_NONE;
+}
+
+#ifdef HAVE_SCHED_SETAFFINITY
+
+typedef struct {
+ PyObject_HEAD;
+ Py_ssize_t size;
+ int ncpus;
+ cpu_set_t *set;
+} Py_cpu_set;
+
+static PyTypeObject cpu_set_type;
+
+static void
+cpu_set_dealloc(Py_cpu_set *set)
+{
+ assert(set->set);
+ CPU_FREE(set->set);
+ Py_TYPE(set)->tp_free(set);
+}
+
+static Py_cpu_set *
+make_new_cpu_set(PyTypeObject *type, Py_ssize_t size)
+{
+ Py_cpu_set *set;
+
+ if (size < 0) {
+ PyErr_SetString(PyExc_ValueError, "negative size");
+ return NULL;
+ }
+ set = (Py_cpu_set *)type->tp_alloc(type, 0);
+ if (!set)
+ return NULL;
+ set->ncpus = size;
+ set->size = CPU_ALLOC_SIZE(size);
+ set->set = CPU_ALLOC(size);
+ if (!set->set) {
+ type->tp_free(set);
+ PyErr_NoMemory();
+ return NULL;
+ }
+ CPU_ZERO_S(set->size, set->set);
+ return set;
+}
+
+static PyObject *
+cpu_set_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
+{
+ int size;
+
+ if (!_PyArg_NoKeywords("cpu_set()", kwargs) ||
+ !PyArg_ParseTuple(args, "i:cpu_set", &size))
+ return NULL;
+ return (PyObject *)make_new_cpu_set(type, size);
+}
+
+static PyObject *
+cpu_set_repr(Py_cpu_set *set)
+{
+ return PyUnicode_FromFormat("<cpu_set with %li entries>", set->ncpus);
+}
+
+static Py_ssize_t
+cpu_set_len(Py_cpu_set *set)
+{
+ return set->ncpus;
+}
+
+static int
+_get_cpu(Py_cpu_set *set, const char *requester, PyObject *args)
+{
+ int cpu;
+ if (!PyArg_ParseTuple(args, requester, &cpu))
+ return -1;
+ if (cpu < 0) {
+ PyErr_SetString(PyExc_ValueError, "cpu < 0 not valid");
+ return -1;
+ }
+ if (cpu >= set->ncpus) {
+ PyErr_SetString(PyExc_ValueError, "cpu too large for set");
+ return -1;
+ }
+ return cpu;
+}
+
+PyDoc_STRVAR(cpu_set_set_doc,
+"cpu_set.set(i)\n\n\
+Add CPU *i* to the set.");
+
+static PyObject *
+cpu_set_set(Py_cpu_set *set, PyObject *args)
+{
+ int cpu = _get_cpu(set, "i|set", args);
+ if (cpu == -1)
+ return NULL;
+ CPU_SET_S(cpu, set->size, set->set);
+ Py_RETURN_NONE;
+}
+
+PyDoc_STRVAR(cpu_set_count_doc,
+"cpu_set.count() -> int\n\n\
+Return the number of CPUs active in the set.");
+
+static PyObject *
+cpu_set_count(Py_cpu_set *set, PyObject *noargs)
+{
+ return PyLong_FromLong(CPU_COUNT_S(set->size, set->set));
+}
+
+PyDoc_STRVAR(cpu_set_clear_doc,
+"cpu_set.clear(i)\n\n\
+Remove CPU *i* from the set.");
+
+static PyObject *
+cpu_set_clear(Py_cpu_set *set, PyObject *args)
+{
+ int cpu = _get_cpu(set, "i|clear", args);
+ if (cpu == -1)
+ return NULL;
+ CPU_CLR_S(cpu, set->size, set->set);
+ Py_RETURN_NONE;
+}
+
+PyDoc_STRVAR(cpu_set_isset_doc,
+"cpu_set.isset(i) -> bool\n\n\
+Test if CPU *i* is in the set.");
+
+static PyObject *
+cpu_set_isset(Py_cpu_set *set, PyObject *args)
+{
+ int cpu = _get_cpu(set, "i|isset", args);
+ if (cpu == -1)
+ return NULL;
+ if (CPU_ISSET_S(cpu, set->size, set->set))
+ Py_RETURN_TRUE;
+ Py_RETURN_FALSE;
+}
+
+PyDoc_STRVAR(cpu_set_zero_doc,
+"cpu_set.zero()\n\n\
+Clear the cpu_set.");
+
+static PyObject *
+cpu_set_zero(Py_cpu_set *set, PyObject *noargs)
+{
+ CPU_ZERO_S(set->size, set->set);
+ Py_RETURN_NONE;
+}
+
+static PyObject *
+cpu_set_richcompare(Py_cpu_set *set, Py_cpu_set *other, int op)
+{
+ int eq;
+
+ if ((op != Py_EQ && op != Py_NE) || Py_TYPE(other) != &cpu_set_type)
+ Py_RETURN_NOTIMPLEMENTED;
+
+ eq = set->ncpus == other->ncpus && CPU_EQUAL_S(set->size, set->set, other->set);
+ if ((op == Py_EQ) ? eq : !eq)
+ Py_RETURN_TRUE;
+ else
+ Py_RETURN_FALSE;
+}
+
+#define CPU_SET_BINOP(name, op) \
+ static PyObject * \
+ do_cpu_set_##name(Py_cpu_set *left, Py_cpu_set *right, Py_cpu_set *res) { \
+ if (res) { \
+ Py_INCREF(res); \
+ } \
+ else { \
+ res = make_new_cpu_set(&cpu_set_type, left->ncpus); \
+ if (!res) \
+ return NULL; \
+ } \
+ if (Py_TYPE(right) != &cpu_set_type || left->ncpus != right->ncpus) { \
+ Py_DECREF(res); \
+ Py_RETURN_NOTIMPLEMENTED; \
+ } \
+ assert(left->size == right->size && right->size == res->size); \
+ op(res->size, res->set, left->set, right->set); \
+ return (PyObject *)res; \
+ } \
+ static PyObject * \
+ cpu_set_##name(Py_cpu_set *left, Py_cpu_set *right) { \
+ return do_cpu_set_##name(left, right, NULL); \
+ } \
+ static PyObject * \
+ cpu_set_i##name(Py_cpu_set *left, Py_cpu_set *right) { \
+ return do_cpu_set_##name(left, right, left); \
+ } \
+
+CPU_SET_BINOP(and, CPU_AND_S)
+CPU_SET_BINOP(or, CPU_OR_S)
+CPU_SET_BINOP(xor, CPU_XOR_S)
+#undef CPU_SET_BINOP
+
+PyDoc_STRVAR(cpu_set_doc,
+"cpu_set(size)\n\n\
+Create an empty mask of CPUs.");
+
+static PyNumberMethods cpu_set_as_number = {
+ 0, /*nb_add*/
+ 0, /*nb_subtract*/
+ 0, /*nb_multiply*/
+ 0, /*nb_remainder*/
+ 0, /*nb_divmod*/
+ 0, /*nb_power*/
+ 0, /*nb_negative*/
+ 0, /*nb_positive*/
+ 0, /*nb_absolute*/
+ 0, /*nb_bool*/
+ 0, /*nb_invert*/
+ 0, /*nb_lshift*/
+ 0, /*nb_rshift*/
+ (binaryfunc)cpu_set_and, /*nb_and*/
+ (binaryfunc)cpu_set_xor, /*nb_xor*/
+ (binaryfunc)cpu_set_or, /*nb_or*/
+ 0, /*nb_int*/
+ 0, /*nb_reserved*/
+ 0, /*nb_float*/
+ 0, /*nb_inplace_add*/
+ 0, /*nb_inplace_subtract*/
+ 0, /*nb_inplace_multiply*/
+ 0, /*nb_inplace_remainder*/
+ 0, /*nb_inplace_power*/
+ 0, /*nb_inplace_lshift*/
+ 0, /*nb_inplace_rshift*/
+ (binaryfunc)cpu_set_iand, /*nb_inplace_and*/
+ (binaryfunc)cpu_set_ixor, /*nb_inplace_xor*/
+ (binaryfunc)cpu_set_ior, /*nb_inplace_or*/
+};
+
+static PySequenceMethods cpu_set_as_sequence = {
+ (lenfunc)cpu_set_len, /* sq_length */
+};
+
+static PyMethodDef cpu_set_methods[] = {
+ {"clear", (PyCFunction)cpu_set_clear, METH_VARARGS, cpu_set_clear_doc},
+ {"count", (PyCFunction)cpu_set_count, METH_NOARGS, cpu_set_count_doc},
+ {"isset", (PyCFunction)cpu_set_isset, METH_VARARGS, cpu_set_isset_doc},
+ {"set", (PyCFunction)cpu_set_set, METH_VARARGS, cpu_set_set_doc},
+ {"zero", (PyCFunction)cpu_set_zero, METH_NOARGS, cpu_set_zero_doc},
+ {NULL, NULL} /* sentinel */
+};
+
+static PyTypeObject cpu_set_type = {
+ PyVarObject_HEAD_INIT(&PyType_Type, 0)
+ "posix.cpu_set", /* tp_name */
+ sizeof(Py_cpu_set), /* tp_basicsize */
+ 0, /* tp_itemsize */
+ /* methods */
+ (destructor)cpu_set_dealloc, /* tp_dealloc */
+ 0, /* tp_print */
+ 0, /* tp_getattr */
+ 0, /* tp_setattr */
+ 0, /* tp_reserved */
+ (reprfunc)cpu_set_repr, /* tp_repr */
+ &cpu_set_as_number, /* tp_as_number */
+ &cpu_set_as_sequence, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ PyObject_HashNotImplemented, /* tp_hash */
+ 0, /* tp_call */
+ 0, /* tp_str */
+ PyObject_GenericGetAttr, /* tp_getattro */
+ 0, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ Py_TPFLAGS_DEFAULT, /* tp_flags */
+ cpu_set_doc, /* tp_doc */
+ 0, /* tp_traverse */
+ 0, /* tp_clear */
+ (richcmpfunc)cpu_set_richcompare, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+ 0, /* tp_iter */
+ 0, /* tp_iternext */
+ cpu_set_methods, /* tp_methods */
+ 0, /* tp_members */
+ 0, /* tp_getset */
+ 0, /* tp_base */
+ 0, /* tp_dict */
+ 0, /* tp_descr_get */
+ 0, /* tp_descr_set */
+ 0, /* tp_dictoffset */
+ 0, /* tp_init */
+ PyType_GenericAlloc, /* tp_alloc */
+ cpu_set_new, /* tp_new */
+ PyObject_Del, /* tp_free */
+};
+
+PyDoc_STRVAR(posix_sched_setaffinity__doc__,
+"sched_setaffinity(pid, cpu_set)\n\n\
+Set the affinity of the process with PID *pid* to *cpu_set*.");
+
+static PyObject *
+posix_sched_setaffinity(PyObject *self, PyObject *args)
+{
+ pid_t pid;
+ Py_cpu_set *cpu_set;
+
+ if (!PyArg_ParseTuple(args, _Py_PARSE_PID "O!:sched_setaffinity",
+ &pid, &cpu_set_type, &cpu_set))
+ return NULL;
+ if (sched_setaffinity(pid, cpu_set->size, cpu_set->set))
+ return posix_error();
+ Py_RETURN_NONE;
+}
+
+PyDoc_STRVAR(posix_sched_getaffinity__doc__,
+"sched_getaffinity(pid, ncpus) -> cpu_set\n\n\
+Return the affinity of the process with PID *pid*.\n\
+The returned cpu_set will be of size *ncpus*.");
+
+static PyObject *
+posix_sched_getaffinity(PyObject *self, PyObject *args)
+{
+ pid_t pid;
+ int ncpus;
+ Py_cpu_set *res;
+
+ if (!PyArg_ParseTuple(args, _Py_PARSE_PID "i:sched_getaffinity",
+ &pid, &ncpus))
+ return NULL;
+ res = make_new_cpu_set(&cpu_set_type, ncpus);
+ if (!res)
+ return NULL;
+ if (sched_getaffinity(pid, res->size, res->set)) {
+ Py_DECREF(res);
+ return posix_error();
+ }
+ return (PyObject *)res;
+}
+
+#endif /* HAVE_SCHED_SETAFFINITY */
+
+#endif /* HAVE_SCHED_H */
+
/* AIX uses /dev/ptc but is otherwise the same as /dev/ptmx */
/* IRIX has both /dev/ptc and /dev/ptmx, use ptmx */
#if defined(HAVE_DEV_PTC) && !defined(HAVE_DEV_PTMX)
@@ -4279,6 +5379,7 @@ posix_forkpty(PyObject *self, PyObject *noargs)
}
#endif
+
#ifdef HAVE_GETEGID
PyDoc_STRVAR(posix_getegid__doc__,
"getegid() -> egid\n\n\
@@ -4328,6 +5429,70 @@ posix_getpid(PyObject *self, PyObject *noargs)
return PyLong_FromPid(getpid());
}
+#ifdef HAVE_GETGROUPLIST
+PyDoc_STRVAR(posix_getgrouplist__doc__,
+"getgrouplist(user, group) -> list of groups to which a user belongs\n\n\
+Returns a list of groups to which a user belongs.\n\n\
+ user: username to lookup\n\
+ group: base group id of the user");
+
+static PyObject *
+posix_getgrouplist(PyObject *self, PyObject *args)
+{
+#ifdef NGROUPS_MAX
+#define MAX_GROUPS NGROUPS_MAX
+#else
+ /* defined to be 16 on Solaris7, so this should be a small number */
+#define MAX_GROUPS 64
+#endif
+
+ const char *user;
+ int i, ngroups;
+ PyObject *list;
+#ifdef __APPLE__
+ int *groups, basegid;
+#else
+ gid_t *groups, basegid;
+#endif
+ ngroups = MAX_GROUPS;
+
+ if (!PyArg_ParseTuple(args, "si", &user, &basegid))
+ return NULL;
+
+#ifdef __APPLE__
+ groups = PyMem_Malloc(ngroups * sizeof(int));
+#else
+ groups = PyMem_Malloc(ngroups * sizeof(gid_t));
+#endif
+ if (groups == NULL)
+ return PyErr_NoMemory();
+
+ if (getgrouplist(user, basegid, groups, &ngroups) == -1) {
+ PyMem_Del(groups);
+ return posix_error();
+ }
+
+ list = PyList_New(ngroups);
+ if (list == NULL) {
+ PyMem_Del(groups);
+ return NULL;
+ }
+
+ for (i = 0; i < ngroups; i++) {
+ PyObject *o = PyLong_FromUnsignedLong((unsigned long)groups[i]);
+ if (o == NULL) {
+ Py_DECREF(list);
+ PyMem_Del(groups);
+ return NULL;
+ }
+ PyList_SET_ITEM(list, i, o);
+ }
+
+ PyMem_Del(groups);
+
+ return list;
+}
+#endif
#ifdef HAVE_GETGROUPS
PyDoc_STRVAR(posix_getgroups__doc__,
@@ -4565,7 +5730,7 @@ posix_getlogin(PyObject *self, PyObject *noargs)
PyObject *result = NULL;
#ifdef MS_WINDOWS
wchar_t user_name[UNLEN + 1];
- DWORD num_chars = sizeof(user_name)/sizeof(user_name[0]);
+ DWORD num_chars = Py_ARRAY_LENGTH(user_name);
if (GetUserNameW(user_name, &num_chars)) {
/* num_chars is the number of unicode chars plus null terminator */
@@ -4965,6 +6130,7 @@ wait_helper(pid_t pid, int status, struct rusage *ru)
{
PyObject *result;
static PyObject *struct_rusage;
+ _Py_IDENTIFIER(struct_rusage);
if (pid == -1)
return posix_error();
@@ -4973,7 +6139,7 @@ wait_helper(pid_t pid, int status, struct rusage *ru)
PyObject *m = PyImport_ImportModuleNoBlock("resource");
if (m == NULL)
return NULL;
- struct_rusage = PyObject_GetAttrString(m, "struct_rusage");
+ struct_rusage = _PyObject_GetAttrId(m, &PyId_struct_rusage);
Py_DECREF(m);
if (struct_rusage == NULL)
return NULL;
@@ -5069,6 +6235,55 @@ posix_wait4(PyObject *self, PyObject *args)
}
#endif /* HAVE_WAIT4 */
+#if defined(HAVE_WAITID) && !defined(__APPLE__)
+PyDoc_STRVAR(posix_waitid__doc__,
+"waitid(idtype, id, options) -> waitid_result\n\n\
+Wait for the completion of one or more child processes.\n\n\
+idtype can be P_PID, P_PGID or P_ALL.\n\
+id specifies the pid to wait on.\n\
+options is constructed from the ORing of one or more of WEXITED, WSTOPPED\n\
+or WCONTINUED and additionally may be ORed with WNOHANG or WNOWAIT.\n\
+Returns either waitid_result or None if WNOHANG is specified and there are\n\
+no children in a waitable state.");
+
+static PyObject *
+posix_waitid(PyObject *self, PyObject *args)
+{
+ PyObject *result;
+ idtype_t idtype;
+ id_t id;
+ int options, res;
+ siginfo_t si;
+ si.si_pid = 0;
+ if (!PyArg_ParseTuple(args, "i" _Py_PARSE_PID "i:waitid", &idtype, &id, &options))
+ return NULL;
+ Py_BEGIN_ALLOW_THREADS
+ res = waitid(idtype, id, &si, options);
+ Py_END_ALLOW_THREADS
+ if (res == -1)
+ return posix_error();
+
+ if (si.si_pid == 0)
+ Py_RETURN_NONE;
+
+ result = PyStructSequence_New(&WaitidResultType);
+ if (!result)
+ return NULL;
+
+ PyStructSequence_SET_ITEM(result, 0, PyLong_FromPid(si.si_pid));
+ PyStructSequence_SET_ITEM(result, 1, PyLong_FromPid(si.si_uid));
+ PyStructSequence_SET_ITEM(result, 2, PyLong_FromLong((long)(si.si_signo)));
+ PyStructSequence_SET_ITEM(result, 3, PyLong_FromLong((long)(si.si_status)));
+ PyStructSequence_SET_ITEM(result, 4, PyLong_FromLong((long)(si.si_code)));
+ if (PyErr_Occurred()) {
+ Py_DECREF(result);
+ return NULL;
+ }
+
+ return result;
+}
+#endif
+
#ifdef HAVE_WAITPID
PyDoc_STRVAR(posix_waitpid__doc__,
"waitpid(pid, options) -> (pid, status)\n\n\
@@ -5232,7 +6447,7 @@ win_readlink(PyObject *self, PyObject *args)
wchar_t *path;
DWORD n_bytes_returned;
DWORD io_result;
- PyObject *result;
+ PyObject *po, *result;
HANDLE reparse_point_handle;
char target_buffer[MAXIMUM_REPARSE_DATA_BUFFER_SIZE];
@@ -5240,8 +6455,11 @@ win_readlink(PyObject *self, PyObject *args)
wchar_t *print_name;
if (!PyArg_ParseTuple(args,
- "u:readlink",
- &path))
+ "U:readlink",
+ &po))
+ return NULL;
+ path = PyUnicode_AsUnicode(po);
+ if (path == NULL)
return NULL;
/* First get a handle to the reparse point */
@@ -5257,9 +6475,7 @@ win_readlink(PyObject *self, PyObject *args)
Py_END_ALLOW_THREADS
if (reparse_point_handle==INVALID_HANDLE_VALUE)
- {
- return win32_error_unicode("readlink", path);
- }
+ return win32_error_object("readlink", po);
Py_BEGIN_ALLOW_THREADS
/* New call DeviceIoControl to read the reparse point */
@@ -5275,9 +6491,7 @@ win_readlink(PyObject *self, PyObject *args)
Py_END_ALLOW_THREADS
if (io_result==0)
- {
- return win32_error_unicode("readlink", path);
- }
+ return win32_error_object("readlink", po);
if (rdb->ReparseTag != IO_REPARSE_TAG_SYMLINK)
{
@@ -5327,7 +6541,9 @@ static PyObject *
win_symlink(PyObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = {"src", "dest", "target_is_directory", NULL};
- PyObject *src, *dest;
+ PyObject *osrc, *odest;
+ PyObject *usrc = NULL, *udest = NULL;
+ wchar_t *wsrc, *wdest;
int target_is_directory = 0;
DWORD res;
WIN32_FILE_ATTRIBUTE_DATA src_info;
@@ -5338,23 +6554,32 @@ win_symlink(PyObject *self, PyObject *args, PyObject *kwargs)
return PyErr_Format(PyExc_NotImplementedError,
"CreateSymbolicLinkW not found");
}
- if (!PyArg_ParseTupleAndKeywords(args, kwargs, "OO|i:symlink",
- kwlist, &src, &dest, &target_is_directory))
+ if (!PyArg_ParseTupleAndKeywords(
+ args, kwargs, "OO|i:symlink", kwlist,
+ &osrc, &odest, &target_is_directory))
return NULL;
+ usrc = win32_decode_filename(osrc);
+ if (!usrc)
+ return NULL;
+ udest = win32_decode_filename(odest);
+ if (!udest)
+ goto error;
+
if (win32_can_symlink == 0)
return PyErr_Format(PyExc_OSError, "symbolic link privilege not held");
- if (!convert_to_unicode(&src)) { return NULL; }
- if (!convert_to_unicode(&dest)) {
- Py_DECREF(src);
- return NULL;
- }
+ wsrc = PyUnicode_AsUnicode(usrc);
+ if (wsrc == NULL)
+ goto error;
+ wdest = PyUnicode_AsUnicode(udest);
+ if (wsrc == NULL)
+ goto error;
/* if src is a directory, ensure target_is_directory==1 */
if(
GetFileAttributesExW(
- PyUnicode_AsUnicode(src), GetFileExInfoStandard, &src_info
+ wsrc, GetFileExInfoStandard, &src_info
))
{
target_is_directory = target_is_directory ||
@@ -5362,20 +6587,21 @@ win_symlink(PyObject *self, PyObject *args, PyObject *kwargs)
}
Py_BEGIN_ALLOW_THREADS
- res = Py_CreateSymbolicLinkW(
- PyUnicode_AsUnicode(dest),
- PyUnicode_AsUnicode(src),
- target_is_directory);
+ res = Py_CreateSymbolicLinkW(wdest, wsrc, target_is_directory);
Py_END_ALLOW_THREADS
- Py_DECREF(src);
- Py_DECREF(dest);
+
+ Py_DECREF(usrc);
+ Py_DECREF(udest);
if (!res)
- {
- return win32_error_unicode("symlink", PyUnicode_AsUnicode(src));
- }
+ return win32_error_object("symlink", osrc);
Py_INCREF(Py_None);
return Py_None;
+
+error:
+ Py_XDECREF(usrc);
+ Py_XDECREF(udest);
+ return NULL;
}
#endif /* defined(HAVE_SYMLINK) && defined(MS_WINDOWS) */
@@ -5570,12 +6796,14 @@ posix_open(PyObject *self, PyObject *args)
int fd;
#ifdef MS_WINDOWS
- PyUnicodeObject *po;
+ PyObject *po;
if (PyArg_ParseTuple(args, "Ui|i:open", &po, &flag, &mode)) {
+ wchar_t *wpath = PyUnicode_AsUnicode(po);
+ if (wpath == NULL)
+ return NULL;
+
Py_BEGIN_ALLOW_THREADS
- /* PyUnicode_AS_UNICODE OK without thread
- lock as it is a simple dereference. */
- fd = _wopen(PyUnicode_AS_UNICODE(po), flag, mode);
+ fd = _wopen(wpath, flag, mode);
Py_END_ALLOW_THREADS
if (fd < 0)
return posix_error();
@@ -5590,6 +6818,12 @@ posix_open(PyObject *self, PyObject *args)
PyUnicode_FSConverter, &ofile,
&flag, &mode))
return NULL;
+#ifdef MS_WINDOWS
+ if (win32_warn_bytes_api()) {
+ Py_DECREF(ofile);
+ return NULL;
+ }
+#endif
file = PyBytes_AsString(ofile);
Py_BEGIN_ALLOW_THREADS
fd = open(file, flag, mode);
@@ -5654,9 +6888,7 @@ posix_dup(PyObject *self, PyObject *args)
return NULL;
if (!_PyVerify_fd(fd))
return posix_error();
- Py_BEGIN_ALLOW_THREADS
fd = dup(fd);
- Py_END_ALLOW_THREADS
if (fd < 0)
return posix_error();
return PyLong_FromLong((long)fd);
@@ -5675,15 +6907,42 @@ posix_dup2(PyObject *self, PyObject *args)
return NULL;
if (!_PyVerify_fd_dup2(fd, fd2))
return posix_error();
- Py_BEGIN_ALLOW_THREADS
res = dup2(fd, fd2);
- Py_END_ALLOW_THREADS
if (res < 0)
return posix_error();
Py_INCREF(Py_None);
return Py_None;
}
+#ifdef HAVE_LOCKF
+PyDoc_STRVAR(posix_lockf__doc__,
+"lockf(fd, cmd, len)\n\n\
+Apply, test or remove a POSIX lock on an open file descriptor.\n\n\
+fd is an open file descriptor.\n\
+cmd specifies the command to use - one of F_LOCK, F_TLOCK, F_ULOCK or\n\
+F_TEST.\n\
+len specifies the section of the file to lock.");
+
+static PyObject *
+posix_lockf(PyObject *self, PyObject *args)
+{
+ int fd, cmd, res;
+ off_t len;
+ if (!PyArg_ParseTuple(args, "iiO&:lockf",
+ &fd, &cmd, _parse_off_t, &len))
+ return NULL;
+
+ Py_BEGIN_ALLOW_THREADS
+ res = lockf(fd, cmd, len);
+ Py_END_ALLOW_THREADS
+
+ if (res < 0)
+ return posix_error();
+
+ Py_RETURN_NONE;
+}
+#endif
+
PyDoc_STRVAR(posix_lseek__doc__,
"lseek(fd, pos, how) -> newpos\n\n\
@@ -5714,8 +6973,7 @@ posix_lseek(PyObject *self, PyObject *args)
#if !defined(HAVE_LARGEFILE_SUPPORT)
pos = PyLong_AsLong(posobj);
#else
- pos = PyLong_Check(posobj) ?
- PyLong_AsLongLong(posobj) : PyLong_AsLong(posobj);
+ pos = PyLong_AsLongLong(posobj);
#endif
if (PyErr_Occurred())
return NULL;
@@ -5775,6 +7033,140 @@ posix_read(PyObject *self, PyObject *args)
return buffer;
}
+#if (defined(HAVE_SENDFILE) && (defined(__FreeBSD__) || defined(__DragonFly__) \
+ || defined(__APPLE__))) || defined(HAVE_READV) || defined(HAVE_WRITEV)
+static Py_ssize_t
+iov_setup(struct iovec **iov, Py_buffer **buf, PyObject *seq, int cnt, int type)
+{
+ int i, j;
+ Py_ssize_t blen, total = 0;
+
+ *iov = PyMem_New(struct iovec, cnt);
+ if (*iov == NULL) {
+ PyErr_NoMemory();
+ return total;
+ }
+
+ *buf = PyMem_New(Py_buffer, cnt);
+ if (*buf == NULL) {
+ PyMem_Del(*iov);
+ PyErr_NoMemory();
+ return total;
+ }
+
+ for (i = 0; i < cnt; i++) {
+ PyObject *item = PySequence_GetItem(seq, i);
+ if (item == NULL)
+ goto fail;
+ if (PyObject_GetBuffer(item, &(*buf)[i], type) == -1) {
+ Py_DECREF(item);
+ goto fail;
+ }
+ Py_DECREF(item);
+ (*iov)[i].iov_base = (*buf)[i].buf;
+ blen = (*buf)[i].len;
+ (*iov)[i].iov_len = blen;
+ total += blen;
+ }
+ return total;
+
+fail:
+ PyMem_Del(*iov);
+ for (j = 0; j < i; j++) {
+ PyBuffer_Release(&(*buf)[j]);
+ }
+ PyMem_Del(*buf);
+ return 0;
+}
+
+static void
+iov_cleanup(struct iovec *iov, Py_buffer *buf, int cnt)
+{
+ int i;
+ PyMem_Del(iov);
+ for (i = 0; i < cnt; i++) {
+ PyBuffer_Release(&buf[i]);
+ }
+ PyMem_Del(buf);
+}
+#endif
+
+#ifdef HAVE_READV
+PyDoc_STRVAR(posix_readv__doc__,
+"readv(fd, buffers) -> bytesread\n\n\
+Read from a file descriptor into a number of writable buffers. buffers\n\
+is an arbitrary sequence of writable buffers.\n\
+Returns the total number of bytes read.");
+
+static PyObject *
+posix_readv(PyObject *self, PyObject *args)
+{
+ int fd, cnt;
+ Py_ssize_t n;
+ PyObject *seq;
+ struct iovec *iov;
+ Py_buffer *buf;
+
+ if (!PyArg_ParseTuple(args, "iO:readv", &fd, &seq))
+ return NULL;
+ if (!PySequence_Check(seq)) {
+ PyErr_SetString(PyExc_TypeError,
+ "readv() arg 2 must be a sequence");
+ return NULL;
+ }
+ cnt = PySequence_Size(seq);
+
+ if (!iov_setup(&iov, &buf, seq, cnt, PyBUF_WRITABLE))
+ return NULL;
+
+ Py_BEGIN_ALLOW_THREADS
+ n = readv(fd, iov, cnt);
+ Py_END_ALLOW_THREADS
+
+ iov_cleanup(iov, buf, cnt);
+ return PyLong_FromSsize_t(n);
+}
+#endif
+
+#ifdef HAVE_PREAD
+PyDoc_STRVAR(posix_pread__doc__,
+"pread(fd, buffersize, offset) -> string\n\n\
+Read from a file descriptor, fd, at a position of offset. It will read up\n\
+to buffersize number of bytes. The file offset remains unchanged.");
+
+static PyObject *
+posix_pread(PyObject *self, PyObject *args)
+{
+ int fd, size;
+ off_t offset;
+ Py_ssize_t n;
+ PyObject *buffer;
+ if (!PyArg_ParseTuple(args, "iiO&:pread", &fd, &size, _parse_off_t, &offset))
+ return NULL;
+
+ if (size < 0) {
+ errno = EINVAL;
+ return posix_error();
+ }
+ buffer = PyBytes_FromStringAndSize((char *)NULL, size);
+ if (buffer == NULL)
+ return NULL;
+ if (!_PyVerify_fd(fd)) {
+ Py_DECREF(buffer);
+ return posix_error();
+ }
+ Py_BEGIN_ALLOW_THREADS
+ n = pread(fd, PyBytes_AS_STRING(buffer), size, offset);
+ Py_END_ALLOW_THREADS
+ if (n < 0) {
+ Py_DECREF(buffer);
+ return posix_error();
+ }
+ if (n != size)
+ _PyBytes_Resize(&buffer, n);
+ return buffer;
+}
+#endif
PyDoc_STRVAR(posix_write__doc__,
"write(fd, string) -> byteswritten\n\n\
@@ -5809,6 +7201,144 @@ posix_write(PyObject *self, PyObject *args)
return PyLong_FromSsize_t(size);
}
+#ifdef HAVE_SENDFILE
+PyDoc_STRVAR(posix_sendfile__doc__,
+"sendfile(out, in, offset, nbytes) -> byteswritten\n\
+sendfile(out, in, offset, nbytes, headers=None, trailers=None, flags=0)\n\
+ -> byteswritten\n\
+Copy nbytes bytes from file descriptor in to file descriptor out.");
+
+static PyObject *
+posix_sendfile(PyObject *self, PyObject *args, PyObject *kwdict)
+{
+ int in, out;
+ Py_ssize_t ret;
+ off_t offset;
+
+#if defined(__FreeBSD__) || defined(__DragonFly__) || defined(__APPLE__)
+#ifndef __APPLE__
+ Py_ssize_t len;
+#endif
+ PyObject *headers = NULL, *trailers = NULL;
+ Py_buffer *hbuf, *tbuf;
+ off_t sbytes;
+ struct sf_hdtr sf;
+ int flags = 0;
+ sf.headers = NULL;
+ sf.trailers = NULL;
+ static char *keywords[] = {"out", "in",
+ "offset", "count",
+ "headers", "trailers", "flags", NULL};
+
+#ifdef __APPLE__
+ if (!PyArg_ParseTupleAndKeywords(args, kwdict, "iiO&O&|OOi:sendfile",
+ keywords, &out, &in, _parse_off_t, &offset, _parse_off_t, &sbytes,
+#else
+ if (!PyArg_ParseTupleAndKeywords(args, kwdict, "iiO&n|OOi:sendfile",
+ keywords, &out, &in, _parse_off_t, &offset, &len,
+#endif
+ &headers, &trailers, &flags))
+ return NULL;
+ if (headers != NULL) {
+ if (!PySequence_Check(headers)) {
+ PyErr_SetString(PyExc_TypeError,
+ "sendfile() headers must be a sequence or None");
+ return NULL;
+ } else {
+ Py_ssize_t i = 0; /* Avoid uninitialized warning */
+ sf.hdr_cnt = PySequence_Size(headers);
+ if (sf.hdr_cnt > 0 &&
+ !(i = iov_setup(&(sf.headers), &hbuf,
+ headers, sf.hdr_cnt, PyBUF_SIMPLE)))
+ return NULL;
+#ifdef __APPLE__
+ sbytes += i;
+#endif
+ }
+ }
+ if (trailers != NULL) {
+ if (!PySequence_Check(trailers)) {
+ PyErr_SetString(PyExc_TypeError,
+ "sendfile() trailers must be a sequence or None");
+ return NULL;
+ } else {
+ Py_ssize_t i = 0; /* Avoid uninitialized warning */
+ sf.trl_cnt = PySequence_Size(trailers);
+ if (sf.trl_cnt > 0 &&
+ !(i = iov_setup(&(sf.trailers), &tbuf,
+ trailers, sf.trl_cnt, PyBUF_SIMPLE)))
+ return NULL;
+#ifdef __APPLE__
+ sbytes += i;
+#endif
+ }
+ }
+
+ Py_BEGIN_ALLOW_THREADS
+#ifdef __APPLE__
+ ret = sendfile(in, out, offset, &sbytes, &sf, flags);
+#else
+ ret = sendfile(in, out, offset, len, &sf, &sbytes, flags);
+#endif
+ Py_END_ALLOW_THREADS
+
+ if (sf.headers != NULL)
+ iov_cleanup(sf.headers, hbuf, sf.hdr_cnt);
+ if (sf.trailers != NULL)
+ iov_cleanup(sf.trailers, tbuf, sf.trl_cnt);
+
+ if (ret < 0) {
+ if ((errno == EAGAIN) || (errno == EBUSY)) {
+ if (sbytes != 0) {
+ // some data has been sent
+ goto done;
+ }
+ else {
+ // no data has been sent; upper application is supposed
+ // to retry on EAGAIN or EBUSY
+ return posix_error();
+ }
+ }
+ return posix_error();
+ }
+ goto done;
+
+done:
+ #if !defined(HAVE_LARGEFILE_SUPPORT)
+ return Py_BuildValue("l", sbytes);
+ #else
+ return Py_BuildValue("L", sbytes);
+ #endif
+
+#else
+ Py_ssize_t count;
+ PyObject *offobj;
+ static char *keywords[] = {"out", "in",
+ "offset", "count", NULL};
+ if (!PyArg_ParseTupleAndKeywords(args, kwdict, "iiOn:sendfile",
+ keywords, &out, &in, &offobj, &count))
+ return NULL;
+#ifdef linux
+ if (offobj == Py_None) {
+ Py_BEGIN_ALLOW_THREADS
+ ret = sendfile(out, in, NULL, count);
+ Py_END_ALLOW_THREADS
+ if (ret < 0)
+ return posix_error();
+ return Py_BuildValue("n", ret);
+ }
+#endif
+ if (!_parse_off_t(offobj, &offset))
+ return NULL;
+ Py_BEGIN_ALLOW_THREADS
+ ret = sendfile(out, in, &offset, count);
+ Py_END_ALLOW_THREADS
+ if (ret < 0)
+ return posix_error();
+ return Py_BuildValue("n", ret);
+#endif
+}
+#endif
PyDoc_STRVAR(posix_fstat__doc__,
"fstat(fd) -> stat result\n\n\
@@ -5870,9 +7400,7 @@ posix_pipe(PyObject *self, PyObject *noargs)
HFILE read, write;
APIRET rc;
- Py_BEGIN_ALLOW_THREADS
rc = DosCreatePipe( &read, &write, 4096);
- Py_END_ALLOW_THREADS
if (rc != NO_ERROR)
return os2_error(rc);
@@ -5881,9 +7409,7 @@ posix_pipe(PyObject *self, PyObject *noargs)
#if !defined(MS_WINDOWS)
int fds[2];
int res;
- Py_BEGIN_ALLOW_THREADS
res = pipe(fds);
- Py_END_ALLOW_THREADS
if (res != 0)
return posix_error();
return Py_BuildValue("(ii)", fds[0], fds[1]);
@@ -5891,9 +7417,7 @@ posix_pipe(PyObject *self, PyObject *noargs)
HANDLE read, write;
int read_fd, write_fd;
BOOL ok;
- Py_BEGIN_ALLOW_THREADS
ok = CreatePipe(&read, &write, NULL, 0);
- Py_END_ALLOW_THREADS
if (!ok)
return win32_error("CreatePipe", NULL);
read_fd = _open_osfhandle((Py_intptr_t)read, 0);
@@ -5904,6 +7428,99 @@ posix_pipe(PyObject *self, PyObject *noargs)
}
#endif /* HAVE_PIPE */
+#ifdef HAVE_PIPE2
+PyDoc_STRVAR(posix_pipe2__doc__,
+"pipe2(flags) -> (read_end, write_end)\n\n\
+Create a pipe with flags set atomically.\n\
+flags can be constructed by ORing together one or more of these values:\n\
+O_NONBLOCK, O_CLOEXEC.\n\
+");
+
+static PyObject *
+posix_pipe2(PyObject *self, PyObject *arg)
+{
+ int flags;
+ int fds[2];
+ int res;
+
+ flags = PyLong_AsLong(arg);
+ if (flags == -1 && PyErr_Occurred())
+ return NULL;
+
+ res = pipe2(fds, flags);
+ if (res != 0)
+ return posix_error();
+ return Py_BuildValue("(ii)", fds[0], fds[1]);
+}
+#endif /* HAVE_PIPE2 */
+
+#ifdef HAVE_WRITEV
+PyDoc_STRVAR(posix_writev__doc__,
+"writev(fd, buffers) -> byteswritten\n\n\
+Write the contents of buffers to a file descriptor, where buffers is an\n\
+arbitrary sequence of buffers.\n\
+Returns the total bytes written.");
+
+static PyObject *
+posix_writev(PyObject *self, PyObject *args)
+{
+ int fd, cnt;
+ Py_ssize_t res;
+ PyObject *seq;
+ struct iovec *iov;
+ Py_buffer *buf;
+ if (!PyArg_ParseTuple(args, "iO:writev", &fd, &seq))
+ return NULL;
+ if (!PySequence_Check(seq)) {
+ PyErr_SetString(PyExc_TypeError,
+ "writev() arg 2 must be a sequence");
+ return NULL;
+ }
+ cnt = PySequence_Size(seq);
+
+ if (!iov_setup(&iov, &buf, seq, cnt, PyBUF_SIMPLE)) {
+ return NULL;
+ }
+
+ Py_BEGIN_ALLOW_THREADS
+ res = writev(fd, iov, cnt);
+ Py_END_ALLOW_THREADS
+
+ iov_cleanup(iov, buf, cnt);
+ return PyLong_FromSsize_t(res);
+}
+#endif
+
+#ifdef HAVE_PWRITE
+PyDoc_STRVAR(posix_pwrite__doc__,
+"pwrite(fd, string, offset) -> byteswritten\n\n\
+Write string to a file descriptor, fd, from offset, leaving the file\n\
+offset unchanged.");
+
+static PyObject *
+posix_pwrite(PyObject *self, PyObject *args)
+{
+ Py_buffer pbuf;
+ int fd;
+ off_t offset;
+ Py_ssize_t size;
+
+ if (!PyArg_ParseTuple(args, "iy*O&:pwrite", &fd, &pbuf, _parse_off_t, &offset))
+ return NULL;
+
+ if (!_PyVerify_fd(fd)) {
+ PyBuffer_Release(&pbuf);
+ return posix_error();
+ }
+ Py_BEGIN_ALLOW_THREADS
+ size = pwrite(fd, pbuf.buf, (size_t)pbuf.len, offset);
+ Py_END_ALLOW_THREADS
+ PyBuffer_Release(&pbuf);
+ if (size < 0)
+ return posix_error();
+ return PyLong_FromSsize_t(size);
+}
+#endif
#ifdef HAVE_MKFIFO
PyDoc_STRVAR(posix_mkfifo__doc__,
@@ -6020,18 +7637,8 @@ posix_ftruncate(PyObject *self, PyObject *args)
int fd;
off_t length;
int res;
- PyObject *lenobj;
-
- if (!PyArg_ParseTuple(args, "iO:ftruncate", &fd, &lenobj))
- return NULL;
-#if !defined(HAVE_LARGEFILE_SUPPORT)
- length = PyLong_AsLong(lenobj);
-#else
- length = PyLong_Check(lenobj) ?
- PyLong_AsLongLong(lenobj) : PyLong_AsLong(lenobj);
-#endif
- if (PyErr_Occurred())
+ if (!PyArg_ParseTuple(args, "iO&:ftruncate", &fd, _parse_off_t, &length))
return NULL;
Py_BEGIN_ALLOW_THREADS
@@ -6044,6 +7651,93 @@ posix_ftruncate(PyObject *self, PyObject *args)
}
#endif
+#ifdef HAVE_TRUNCATE
+PyDoc_STRVAR(posix_truncate__doc__,
+"truncate(path, length)\n\n\
+Truncate the file given by path to length bytes.");
+
+static PyObject *
+posix_truncate(PyObject *self, PyObject *args)
+{
+ PyObject *opath;
+ const char *path;
+ off_t length;
+ int res;
+
+ if (!PyArg_ParseTuple(args, "O&O&:truncate",
+ PyUnicode_FSConverter, &opath, _parse_off_t, &length))
+ return NULL;
+ path = PyBytes_AsString(opath);
+
+ Py_BEGIN_ALLOW_THREADS
+ res = truncate(path, length);
+ Py_END_ALLOW_THREADS
+ Py_DECREF(opath);
+ if (res < 0)
+ return posix_error();
+ Py_RETURN_NONE;
+}
+#endif
+
+#ifdef HAVE_POSIX_FALLOCATE
+PyDoc_STRVAR(posix_posix_fallocate__doc__,
+"posix_fallocate(fd, offset, len)\n\n\
+Ensures that enough disk space is allocated for the file specified by fd\n\
+starting from offset and continuing for len bytes.");
+
+static PyObject *
+posix_posix_fallocate(PyObject *self, PyObject *args)
+{
+ off_t len, offset;
+ int res, fd;
+
+ if (!PyArg_ParseTuple(args, "iO&O&:posix_fallocate",
+ &fd, _parse_off_t, &offset, _parse_off_t, &len))
+ return NULL;
+
+ Py_BEGIN_ALLOW_THREADS
+ res = posix_fallocate(fd, offset, len);
+ Py_END_ALLOW_THREADS
+ if (res != 0) {
+ errno = res;
+ return posix_error();
+ }
+ Py_RETURN_NONE;
+}
+#endif
+
+#ifdef HAVE_POSIX_FADVISE
+PyDoc_STRVAR(posix_posix_fadvise__doc__,
+"posix_fadvise(fd, offset, len, advice)\n\n\
+Announces an intention to access data in a specific pattern thus allowing\n\
+the kernel to make optimizations.\n\
+The advice applies to the region of the file specified by fd starting at\n\
+offset and continuing for len bytes.\n\
+advice is one of POSIX_FADV_NORMAL, POSIX_FADV_SEQUENTIAL,\n\
+POSIX_FADV_RANDOM, POSIX_FADV_NOREUSE, POSIX_FADV_WILLNEED or\n\
+POSIX_FADV_DONTNEED.");
+
+static PyObject *
+posix_posix_fadvise(PyObject *self, PyObject *args)
+{
+ off_t len, offset;
+ int res, fd, advice;
+
+ if (!PyArg_ParseTuple(args, "iO&O&i:posix_fadvise",
+ &fd, _parse_off_t, &offset, _parse_off_t, &len, &advice))
+ return NULL;
+
+ Py_BEGIN_ALLOW_THREADS
+ res = posix_fadvise(fd, offset, len, advice);
+ Py_END_ALLOW_THREADS
+ if (res != 0) {
+ errno = res;
+ return posix_error();
+ }
+ Py_RETURN_NONE;
+}
+#endif
+
#ifdef HAVE_PUTENV
PyDoc_STRVAR(posix_putenv__doc__,
"putenv(key, value)\n\n\
@@ -6056,23 +7750,40 @@ static PyObject *posix_putenv_garbage;
static PyObject *
posix_putenv(PyObject *self, PyObject *args)
{
+ PyObject *newstr = NULL;
#ifdef MS_WINDOWS
- wchar_t *s1, *s2;
+ PyObject *os1, *os2;
wchar_t *newenv;
+
+ if (!PyArg_ParseTuple(args,
+ "UU:putenv",
+ &os1, &os2))
+ return NULL;
+
+ newstr = PyUnicode_FromFormat("%U=%U", os1, os2);
+ if (newstr == NULL) {
+ PyErr_NoMemory();
+ goto error;
+ }
+ if (_MAX_ENV < PyUnicode_GET_LENGTH(newstr)) {
+ PyErr_Format(PyExc_ValueError,
+ "the environment variable is longer than %u characters",
+ _MAX_ENV);
+ goto error;
+ }
+
+ newenv = PyUnicode_AsUnicode(newstr);
+ if (newenv == NULL)
+ goto error;
+ if (_wputenv(newenv)) {
+ posix_error();
+ goto error;
+ }
#else
PyObject *os1, *os2;
char *s1, *s2;
char *newenv;
-#endif
- PyObject *newstr = NULL;
- size_t len;
-#ifdef MS_WINDOWS
- if (!PyArg_ParseTuple(args,
- "uu:putenv",
- &s1, &s2))
- return NULL;
-#else
if (!PyArg_ParseTuple(args,
"O&O&:putenv",
PyUnicode_FSConverter, &os1,
@@ -6080,58 +7791,14 @@ posix_putenv(PyObject *self, PyObject *args)
return NULL;
s1 = PyBytes_AsString(os1);
s2 = PyBytes_AsString(os2);
-#endif
-
-#if defined(PYOS_OS2)
- if (stricmp(s1, "BEGINLIBPATH") == 0) {
- APIRET rc;
-
- rc = DosSetExtLIBPATH(s2, BEGIN_LIBPATH);
- if (rc != NO_ERROR) {
- os2_error(rc);
- goto error;
- }
- } else if (stricmp(s1, "ENDLIBPATH") == 0) {
- APIRET rc;
-
- rc = DosSetExtLIBPATH(s2, END_LIBPATH);
- if (rc != NO_ERROR) {
- os2_error(rc);
- goto error;
- }
- } else {
-#endif
- /* XXX This can leak memory -- not easy to fix :-( */
- /* len includes space for a trailing \0; the size arg to
- PyBytes_FromStringAndSize does not count that */
-#ifdef MS_WINDOWS
- len = wcslen(s1) + wcslen(s2) + 2;
- if (_MAX_ENV < (len - 1)) {
- PyErr_Format(PyExc_ValueError,
- "the environment variable is longer than %u characters",
- _MAX_ENV);
- goto error;
- }
- newstr = PyUnicode_FromUnicode(NULL, (int)len - 1);
-#else
- len = PyBytes_GET_SIZE(os1) + PyBytes_GET_SIZE(os2) + 2;
- newstr = PyBytes_FromStringAndSize(NULL, (int)len - 1);
-#endif
+ newstr = PyBytes_FromFormat("%s=%s", s1, s2);
if (newstr == NULL) {
PyErr_NoMemory();
goto error;
}
-#ifdef MS_WINDOWS
- newenv = PyUnicode_AsUnicode(newstr);
- _snwprintf(newenv, len, L"%s=%s", s1, s2);
- if (_wputenv(newenv)) {
- posix_error();
- goto error;
- }
-#else
+
newenv = PyBytes_AS_STRING(newstr);
- PyOS_snprintf(newenv, len, "%s=%s", s1, s2);
if (putenv(newenv)) {
posix_error();
goto error;
@@ -6142,13 +7809,7 @@ posix_putenv(PyObject *self, PyObject *args)
* this will cause previous value to be collected. This has to
* happen after the real putenv() call because the old value
* was still accessible until then. */
- if (PyDict_SetItem(posix_putenv_garbage,
-#ifdef MS_WINDOWS
- PyTuple_GET_ITEM(args, 0),
-#else
- os1,
-#endif
- newstr)) {
+ if (PyDict_SetItem(posix_putenv_garbage, os1, newstr)) {
/* really not much we can do; just leak */
PyErr_Clear();
}
@@ -6156,10 +7817,6 @@ posix_putenv(PyObject *self, PyObject *args)
Py_DECREF(newstr);
}
-#if defined(PYOS_OS2)
- }
-#endif
-
#ifndef MS_WINDOWS
Py_DECREF(os1);
Py_DECREF(os2);
@@ -6184,23 +7841,22 @@ Delete an environment variable.");
static PyObject *
posix_unsetenv(PyObject *self, PyObject *args)
{
- PyObject *os1;
- char *s1;
+ PyObject *name;
#ifndef HAVE_BROKEN_UNSETENV
int err;
#endif
if (!PyArg_ParseTuple(args, "O&:unsetenv",
- PyUnicode_FSConverter, &os1))
+
+ PyUnicode_FSConverter, &name))
return NULL;
- s1 = PyBytes_AsString(os1);
#ifdef HAVE_BROKEN_UNSETENV
- unsetenv(s1);
+ unsetenv(PyBytes_AS_STRING(name));
#else
- err = unsetenv(s1);
+ err = unsetenv(PyBytes_AS_STRING(name));
if (err) {
- Py_DECREF(os1);
+ Py_DECREF(name);
return posix_error();
}
#endif
@@ -6210,12 +7866,11 @@ posix_unsetenv(PyObject *self, PyObject *args)
* happen after the real unsetenv() call because the
* old value was still accessible until then.
*/
- if (PyDict_DelItem(posix_putenv_garbage, os1)) {
+ if (PyDict_DelItem(posix_putenv_garbage, name)) {
/* really not much we can do; just leak */
PyErr_Clear();
}
-
- Py_DECREF(os1);
+ Py_DECREF(name);
Py_RETURN_NONE;
}
#endif /* unsetenv */
@@ -6237,7 +7892,7 @@ posix_strerror(PyObject *self, PyObject *args)
"strerror() argument out of range");
return NULL;
}
- return PyUnicode_FromString(message);
+ return PyUnicode_DecodeLocale(message, "surrogateescape");
}
@@ -6474,21 +8129,51 @@ Perform a statvfs system call on the given path.");
static PyObject *
posix_statvfs(PyObject *self, PyObject *args)
{
- char *path;
+ PyObject *path;
int res;
struct statvfs st;
- if (!PyArg_ParseTuple(args, "s:statvfs", &path))
+ if (!PyArg_ParseTuple(args, "O&:statvfs", PyUnicode_FSConverter, &path))
return NULL;
Py_BEGIN_ALLOW_THREADS
- res = statvfs(path, &st);
+ res = statvfs(PyBytes_AS_STRING(path), &st);
Py_END_ALLOW_THREADS
- if (res != 0)
- return posix_error_with_filename(path);
+ if (res != 0) {
+ posix_error_with_filename(PyBytes_AS_STRING(path));
+ Py_DECREF(path);
+ return NULL;
+ }
+ Py_DECREF(path);
return _pystatvfs_fromstructstatvfs(st);
}
#endif /* HAVE_STATVFS */
+#ifdef MS_WINDOWS
+PyDoc_STRVAR(win32__getdiskusage__doc__,
+"_getdiskusage(path) -> (total, free)\n\n\
+Return disk usage statistics about the given path as (total, free) tuple.");
+
+static PyObject *
+win32__getdiskusage(PyObject *self, PyObject *args)
+{
+ BOOL retval;
+ ULARGE_INTEGER _, total, free;
+ const wchar_t *path;
+
+ if (! PyArg_ParseTuple(args, "u", &path))
+ return NULL;
+
+ Py_BEGIN_ALLOW_THREADS
+ retval = GetDiskFreeSpaceExW(path, &_, &total, &free);
+ Py_END_ALLOW_THREADS
+ if (retval == 0)
+ return PyErr_SetFromWindowsErr(0);
+
+ return Py_BuildValue("(LL)", total.QuadPart, free.QuadPart);
+}
+#endif
+
+
/* This is used for fpathconf(), pathconf(), confstr() and sysconf().
* It maps strings representing configuration variable names to
* integer values, allowing those functions to be called with the
@@ -7551,9 +9236,10 @@ win32_startfile(PyObject *self, PyObject *args)
PyObject *ofilepath;
char *filepath;
char *operation = NULL;
+ wchar_t *wpath, *woperation;
HINSTANCE rc;
- PyObject *unipath, *woperation = NULL;
+ PyObject *unipath, *uoperation = NULL;
if (!PyArg_ParseTuple(args, "U|s:startfile",
&unipath, &operation)) {
PyErr_Clear();
@@ -7561,26 +9247,35 @@ win32_startfile(PyObject *self, PyObject *args)
}
if (operation) {
- woperation = PyUnicode_DecodeASCII(operation,
+ uoperation = PyUnicode_DecodeASCII(operation,
strlen(operation), NULL);
- if (!woperation) {
+ if (!uoperation) {
PyErr_Clear();
operation = NULL;
goto normal;
}
}
+ wpath = PyUnicode_AsUnicode(unipath);
+ if (wpath == NULL)
+ goto normal;
+ if (uoperation) {
+ woperation = PyUnicode_AsUnicode(uoperation);
+ if (woperation == NULL)
+ goto normal;
+ }
+ else
+ woperation = NULL;
+
Py_BEGIN_ALLOW_THREADS
- rc = ShellExecuteW((HWND)0, woperation ? PyUnicode_AS_UNICODE(woperation) : 0,
- PyUnicode_AS_UNICODE(unipath),
- NULL, NULL, SW_SHOWNORMAL);
+ rc = ShellExecuteW((HWND)0, woperation, wpath,
+ NULL, NULL, SW_SHOWNORMAL);
Py_END_ALLOW_THREADS
- Py_XDECREF(woperation);
+ Py_XDECREF(uoperation);
if (rc <= (HINSTANCE)32) {
- PyObject *errval = win32_error_unicode("startfile",
- PyUnicode_AS_UNICODE(unipath));
- return errval;
+ win32_error_object("startfile", unipath);
+ return NULL;
}
Py_INCREF(Py_None);
return Py_None;
@@ -7590,6 +9285,10 @@ normal:
PyUnicode_FSConverter, &ofilepath,
&operation))
return NULL;
+ if (win32_warn_bytes_api()) {
+ Py_DECREF(ofilepath);
+ return NULL;
+ }
filepath = PyBytes_AsString(ofilepath);
Py_BEGIN_ALLOW_THREADS
rc = ShellExecute((HWND)0, operation, filepath,
@@ -7710,6 +9409,9 @@ static PyObject *
device_encoding(PyObject *self, PyObject *args)
{
int fd;
+#if defined(MS_WINDOWS) || defined(MS_WIN64)
+ UINT cp;
+#endif
if (!PyArg_ParseTuple(args, "i:device_encoding", &fd))
return NULL;
if (!_PyVerify_fd(fd) || !isatty(fd)) {
@@ -7717,16 +9419,16 @@ device_encoding(PyObject *self, PyObject *args)
return Py_None;
}
#if defined(MS_WINDOWS) || defined(MS_WIN64)
- if (fd == 0) {
- char buf[100];
- sprintf(buf, "cp%d", GetConsoleCP());
- return PyUnicode_FromString(buf);
- }
- if (fd == 1 || fd == 2) {
- char buf[100];
- sprintf(buf, "cp%d", GetConsoleOutputCP());
- return PyUnicode_FromString(buf);
- }
+ if (fd == 0)
+ cp = GetConsoleCP();
+ else if (fd == 1 || fd == 2)
+ cp = GetConsoleOutputCP();
+ else
+ cp = 0;
+ /* GetConsoleCP() and GetConsoleOutputCP() return 0 if the application
+ has no console */
+ if (cp != 0)
+ return PyUnicode_FromFormat("cp%u", (unsigned int)cp);
#elif defined(CODESET)
{
char *codeset = nl_langinfo(CODESET);
@@ -7850,6 +9552,950 @@ posix_getresgid (PyObject *self, PyObject *noargs)
}
#endif
+/* Posix *at family of functions:
+ faccessat, fchmodat, fchownat, fstatat, futimesat,
+ linkat, mkdirat, mknodat, openat, readlinkat, renameat, symlinkat,
+ unlinkat, utimensat, mkfifoat */
+
+#ifdef HAVE_FACCESSAT
+PyDoc_STRVAR(posix_faccessat__doc__,
+"faccessat(dirfd, path, mode, flags=0) -> True if granted, False otherwise\n\n\
+Like access() but if path is relative, it is taken as relative to dirfd.\n\
+flags is optional and can be constructed by ORing together zero or more\n\
+of these values: AT_SYMLINK_NOFOLLOW, AT_EACCESS.\n\
+If path is relative and dirfd is the special value AT_FDCWD, then path\n\
+is interpreted relative to the current working directory.");
+
+static PyObject *
+posix_faccessat(PyObject *self, PyObject *args)
+{
+ PyObject *opath;
+ char *path;
+ int mode;
+ int res;
+ int dirfd, flags = 0;
+ if (!PyArg_ParseTuple(args, "iO&i|i:faccessat",
+ &dirfd, PyUnicode_FSConverter, &opath, &mode, &flags))
+ return NULL;
+ path = PyBytes_AsString(opath);
+ Py_BEGIN_ALLOW_THREADS
+ res = faccessat(dirfd, path, mode, flags);
+ Py_END_ALLOW_THREADS
+ Py_DECREF(opath);
+ return PyBool_FromLong(res == 0);
+}
+#endif
+
+#ifdef HAVE_FCHMODAT
+PyDoc_STRVAR(posix_fchmodat__doc__,
+"fchmodat(dirfd, path, mode, flags=0)\n\n\
+Like chmod() but if path is relative, it is taken as relative to dirfd.\n\
+flags is optional and may be 0 or AT_SYMLINK_NOFOLLOW.\n\
+If path is relative and dirfd is the special value AT_FDCWD, then path\n\
+is interpreted relative to the current working directory.");
+
+static PyObject *
+posix_fchmodat(PyObject *self, PyObject *args)
+{
+ int dirfd, mode, res;
+ int flags = 0;
+ PyObject *opath;
+ char *path;
+
+ if (!PyArg_ParseTuple(args, "iO&i|i:fchmodat",
+ &dirfd, PyUnicode_FSConverter, &opath, &mode, &flags))
+ return NULL;
+
+ path = PyBytes_AsString(opath);
+
+ Py_BEGIN_ALLOW_THREADS
+ res = fchmodat(dirfd, path, mode, flags);
+ Py_END_ALLOW_THREADS
+ Py_DECREF(opath);
+ if (res < 0)
+ return posix_error();
+ Py_RETURN_NONE;
+}
+#endif /* HAVE_FCHMODAT */
+
+#ifdef HAVE_FCHOWNAT
+PyDoc_STRVAR(posix_fchownat__doc__,
+"fchownat(dirfd, path, uid, gid, flags=0)\n\n\
+Like chown() but if path is relative, it is taken as relative to dirfd.\n\
+flags is optional and may be 0 or AT_SYMLINK_NOFOLLOW.\n\
+If path is relative and dirfd is the special value AT_FDCWD, then path\n\
+is interpreted relative to the current working directory.");
+
+static PyObject *
+posix_fchownat(PyObject *self, PyObject *args)
+{
+ PyObject *opath;
+ int dirfd, res;
+ long uid, gid;
+ int flags = 0;
+ char *path;
+
+ if (!PyArg_ParseTuple(args, "iO&ll|i:fchownat",
+ &dirfd, PyUnicode_FSConverter, &opath, &uid, &gid, &flags))
+ return NULL;
+
+ path = PyBytes_AsString(opath);
+
+ Py_BEGIN_ALLOW_THREADS
+ res = fchownat(dirfd, path, (uid_t) uid, (gid_t) gid, flags);
+ Py_END_ALLOW_THREADS
+ Py_DECREF(opath);
+ if (res < 0)
+ return posix_error();
+ Py_RETURN_NONE;
+}
+#endif /* HAVE_FCHOWNAT */
+
+#ifdef HAVE_FSTATAT
+PyDoc_STRVAR(posix_fstatat__doc__,
+"fstatat(dirfd, path, flags=0) -> stat result\n\n\
+Like stat() but if path is relative, it is taken as relative to dirfd.\n\
+flags is optional and may be 0 or AT_SYMLINK_NOFOLLOW.\n\
+If path is relative and dirfd is the special value AT_FDCWD, then path\n\
+is interpreted relative to the current working directory.");
+
+static PyObject *
+posix_fstatat(PyObject *self, PyObject *args)
+{
+ PyObject *opath;
+ char *path;
+ STRUCT_STAT st;
+ int dirfd, res, flags = 0;
+
+ if (!PyArg_ParseTuple(args, "iO&|i:fstatat",
+ &dirfd, PyUnicode_FSConverter, &opath, &flags))
+ return NULL;
+ path = PyBytes_AsString(opath);
+
+ Py_BEGIN_ALLOW_THREADS
+ res = fstatat(dirfd, path, &st, flags);
+ Py_END_ALLOW_THREADS
+ Py_DECREF(opath);
+ if (res != 0)
+ return posix_error();
+
+ return _pystat_fromstructstat(&st);
+}
+#endif
+
+#ifdef HAVE_FUTIMESAT
+PyDoc_STRVAR(posix_futimesat__doc__,
+"futimesat(dirfd, path[, (atime, mtime)])\n\
+Like utime() but if path is relative, it is taken as relative to dirfd.\n\
+If path is relative and dirfd is the special value AT_FDCWD, then path\n\
+is interpreted relative to the current working directory.");
+
+static PyObject *
+posix_futimesat(PyObject *self, PyObject *args)
+{
+ PyObject *opath;
+ char *path;
+ int res, dirfd;
+ PyObject* arg = Py_None;
+ time_t atime, mtime;
+ long ausec, musec;
+
+ if (!PyArg_ParseTuple(args, "iO&|O:futimesat",
+ &dirfd, PyUnicode_FSConverter, &opath, &arg))
+ return NULL;
+ path = PyBytes_AsString(opath);
+ if (arg == Py_None) {
+ /* optional time values not given */
+ Py_BEGIN_ALLOW_THREADS
+ res = futimesat(dirfd, path, NULL);
+ Py_END_ALLOW_THREADS
+ }
+ else if (!PyTuple_Check(arg) || PyTuple_Size(arg) != 2) {
+ PyErr_SetString(PyExc_TypeError,
+ "futimesat() arg 3 must be a tuple (atime, mtime)");
+ Py_DECREF(opath);
+ return NULL;
+ }
+ else {
+ if (extract_time(PyTuple_GET_ITEM(arg, 0),
+ &atime, &ausec) == -1) {
+ Py_DECREF(opath);
+ return NULL;
+ }
+ if (extract_time(PyTuple_GET_ITEM(arg, 1),
+ &mtime, &musec) == -1) {
+ Py_DECREF(opath);
+ return NULL;
+ }
+
+ Py_BEGIN_ALLOW_THREADS
+ {
+#ifdef HAVE_UTIMENSAT
+ struct timespec buf[2];
+ buf[0].tv_sec = atime;
+ buf[0].tv_nsec = ausec;
+ buf[1].tv_sec = mtime;
+ buf[1].tv_nsec = musec;
+ res = utimensat(dirfd, path, buf, 0);
+#else
+ struct timeval buf[2];
+ buf[0].tv_sec = atime;
+ buf[0].tv_usec = ausec;
+ buf[1].tv_sec = mtime;
+ buf[1].tv_usec = musec;
+ res = futimesat(dirfd, path, buf);
+#endif
+ }
+ Py_END_ALLOW_THREADS
+ }
+ Py_DECREF(opath);
+ if (res < 0) {
+ return posix_error();
+ }
+ Py_RETURN_NONE;
+}
+#endif
+
+#ifdef HAVE_LINKAT
+PyDoc_STRVAR(posix_linkat__doc__,
+"linkat(srcfd, srcpath, dstfd, dstpath, flags=0)\n\n\
+Like link() but if srcpath is relative, it is taken as relative to srcfd\n\
+and if dstpath is relative, it is taken as relative to dstfd.\n\
+flags is optional and may be 0 or AT_SYMLINK_FOLLOW.\n\
+If srcpath is relative and srcfd is the special value AT_FDCWD, then\n\
+srcpath is interpreted relative to the current working directory. This\n\
+also applies for dstpath.");
+
+static PyObject *
+posix_linkat(PyObject *self, PyObject *args)
+{
+ PyObject *osrc, *odst;
+ char *src, *dst;
+ int res, srcfd, dstfd;
+ int flags = 0;
+
+ if (!PyArg_ParseTuple(args, "iO&iO&|i:linkat",
+ &srcfd, PyUnicode_FSConverter, &osrc, &dstfd, PyUnicode_FSConverter, &odst, &flags))
+ return NULL;
+ src = PyBytes_AsString(osrc);
+ dst = PyBytes_AsString(odst);
+ Py_BEGIN_ALLOW_THREADS
+ res = linkat(srcfd, src, dstfd, dst, flags);
+ Py_END_ALLOW_THREADS
+ Py_DECREF(osrc);
+ Py_DECREF(odst);
+ if (res < 0)
+ return posix_error();
+ Py_RETURN_NONE;
+}
+#endif /* HAVE_LINKAT */
+
+#ifdef HAVE_MKDIRAT
+PyDoc_STRVAR(posix_mkdirat__doc__,
+"mkdirat(dirfd, path, mode=0o777)\n\n\
+Like mkdir() but if path is relative, it is taken as relative to dirfd.\n\
+If path is relative and dirfd is the special value AT_FDCWD, then path\n\
+is interpreted relative to the current working directory.");
+
+static PyObject *
+posix_mkdirat(PyObject *self, PyObject *args)
+{
+ int res, dirfd;
+ PyObject *opath;
+ char *path;
+ int mode = 0777;
+
+ if (!PyArg_ParseTuple(args, "iO&|i:mkdirat",
+ &dirfd, PyUnicode_FSConverter, &opath, &mode))
+ return NULL;
+ path = PyBytes_AsString(opath);
+ Py_BEGIN_ALLOW_THREADS
+ res = mkdirat(dirfd, path, mode);
+ Py_END_ALLOW_THREADS
+ Py_DECREF(opath);
+ if (res < 0)
+ return posix_error();
+ Py_RETURN_NONE;
+}
+#endif
+
+#if defined(HAVE_MKNODAT) && defined(HAVE_MAKEDEV)
+PyDoc_STRVAR(posix_mknodat__doc__,
+"mknodat(dirfd, path, mode=0o600, device=0)\n\n\
+Like mknod() but if path is relative, it is taken as relative to dirfd.\n\
+If path is relative and dirfd is the special value AT_FDCWD, then path\n\
+is interpreted relative to the current working directory.");
+
+static PyObject *
+posix_mknodat(PyObject *self, PyObject *args)
+{
+ PyObject *opath;
+ char *filename;
+ int mode = 0600;
+ int device = 0;
+ int res, dirfd;
+ if (!PyArg_ParseTuple(args, "iO&|ii:mknodat", &dirfd,
+ PyUnicode_FSConverter, &opath, &mode, &device))
+ return NULL;
+ filename = PyBytes_AS_STRING(opath);
+ Py_BEGIN_ALLOW_THREADS
+ res = mknodat(dirfd, filename, mode, device);
+ Py_END_ALLOW_THREADS
+ Py_DECREF(opath);
+ if (res < 0)
+ return posix_error();
+ Py_RETURN_NONE;
+}
+#endif
+
+#ifdef HAVE_OPENAT
+PyDoc_STRVAR(posix_openat__doc__,
+"openat(dirfd, path, flag, mode=0o777) -> fd\n\n\
+Like open() but if path is relative, it is taken as relative to dirfd.\n\
+If path is relative and dirfd is the special value AT_FDCWD, then path\n\
+is interpreted relative to the current working directory.");
+
+static PyObject *
+posix_openat(PyObject *self, PyObject *args)
+{
+ PyObject *ofile;
+ char *file;
+ int flag, dirfd, fd;
+ int mode = 0777;
+
+ if (!PyArg_ParseTuple(args, "iO&i|i:openat",
+ &dirfd, PyUnicode_FSConverter, &ofile,
+ &flag, &mode))
+ return NULL;
+ file = PyBytes_AsString(ofile);
+ Py_BEGIN_ALLOW_THREADS
+ fd = openat(dirfd, file, flag, mode);
+ Py_END_ALLOW_THREADS
+ Py_DECREF(ofile);
+ if (fd < 0)
+ return posix_error();
+ return PyLong_FromLong((long)fd);
+}
+#endif
+
+#ifdef HAVE_READLINKAT
+PyDoc_STRVAR(posix_readlinkat__doc__,
+"readlinkat(dirfd, path) -> path\n\n\
+Like readlink() but if path is relative, it is taken as relative to dirfd.\n\
+If path is relative and dirfd is the special value AT_FDCWD, then path\n\
+is interpreted relative to the current working directory.");
+
+static PyObject *
+posix_readlinkat(PyObject *self, PyObject *args)
+{
+ PyObject *v, *opath;
+ char buf[MAXPATHLEN];
+ char *path;
+ int n, dirfd;
+ int arg_is_unicode = 0;
+
+ if (!PyArg_ParseTuple(args, "iO&:readlinkat",
+ &dirfd, PyUnicode_FSConverter, &opath))
+ return NULL;
+ path = PyBytes_AsString(opath);
+ v = PySequence_GetItem(args, 1);
+ if (v == NULL) {
+ Py_DECREF(opath);
+ return NULL;
+ }
+
+ if (PyUnicode_Check(v)) {
+ arg_is_unicode = 1;
+ }
+ Py_DECREF(v);
+
+ Py_BEGIN_ALLOW_THREADS
+ n = readlinkat(dirfd, path, buf, (int) sizeof buf);
+ Py_END_ALLOW_THREADS
+ Py_DECREF(opath);
+ if (n < 0)
+ return posix_error();
+
+ if (arg_is_unicode)
+ return PyUnicode_DecodeFSDefaultAndSize(buf, n);
+ else
+ return PyBytes_FromStringAndSize(buf, n);
+}
+#endif /* HAVE_READLINKAT */
+
+#ifdef HAVE_RENAMEAT
+PyDoc_STRVAR(posix_renameat__doc__,
+"renameat(olddirfd, oldpath, newdirfd, newpath)\n\n\
+Like rename() but if oldpath is relative, it is taken as relative to\n\
+olddirfd and if newpath is relative, it is taken as relative to newdirfd.\n\
+If oldpath is relative and olddirfd is the special value AT_FDCWD, then\n\
+oldpath is interpreted relative to the current working directory. This\n\
+also applies for newpath.");
+
+static PyObject *
+posix_renameat(PyObject *self, PyObject *args)
+{
+ int res;
+ PyObject *opathold, *opathnew;
+ char *opath, *npath;
+ int oldfd, newfd;
+
+ if (!PyArg_ParseTuple(args, "iO&iO&:renameat",
+ &oldfd, PyUnicode_FSConverter, &opathold, &newfd, PyUnicode_FSConverter, &opathnew))
+ return NULL;
+ opath = PyBytes_AsString(opathold);
+ npath = PyBytes_AsString(opathnew);
+ Py_BEGIN_ALLOW_THREADS
+ res = renameat(oldfd, opath, newfd, npath);
+ Py_END_ALLOW_THREADS
+ Py_DECREF(opathold);
+ Py_DECREF(opathnew);
+ if (res < 0)
+ return posix_error();
+ Py_RETURN_NONE;
+}
+#endif
+
+#if HAVE_SYMLINKAT
+PyDoc_STRVAR(posix_symlinkat__doc__,
+"symlinkat(src, dstfd, dst)\n\n\
+Like symlink() but if dst is relative, it is taken as relative to dstfd.\n\
+If dst is relative and dstfd is the special value AT_FDCWD, then dst\n\
+is interpreted relative to the current working directory.");
+
+static PyObject *
+posix_symlinkat(PyObject *self, PyObject *args)
+{
+ int res, dstfd;
+ PyObject *osrc, *odst;
+ char *src, *dst;
+
+ if (!PyArg_ParseTuple(args, "O&iO&:symlinkat",
+ PyUnicode_FSConverter, &osrc, &dstfd, PyUnicode_FSConverter, &odst))
+ return NULL;
+ src = PyBytes_AsString(osrc);
+ dst = PyBytes_AsString(odst);
+ Py_BEGIN_ALLOW_THREADS
+ res = symlinkat(src, dstfd, dst);
+ Py_END_ALLOW_THREADS
+ Py_DECREF(osrc);
+ Py_DECREF(odst);
+ if (res < 0)
+ return posix_error();
+ Py_RETURN_NONE;
+}
+#endif /* HAVE_SYMLINKAT */
+
+#ifdef HAVE_UNLINKAT
+PyDoc_STRVAR(posix_unlinkat__doc__,
+"unlinkat(dirfd, path, flags=0)\n\n\
+Like unlink() but if path is relative, it is taken as relative to dirfd.\n\
+flags is optional and may be 0 or AT_REMOVEDIR. If AT_REMOVEDIR is\n\
+specified, unlinkat() behaves like rmdir().\n\
+If path is relative and dirfd is the special value AT_FDCWD, then path\n\
+is interpreted relative to the current working directory.");
+
+static PyObject *
+posix_unlinkat(PyObject *self, PyObject *args)
+{
+ int dirfd, res, flags = 0;
+ PyObject *opath;
+ char *path;
+
+ if (!PyArg_ParseTuple(args, "iO&|i:unlinkat",
+ &dirfd, PyUnicode_FSConverter, &opath, &flags))
+ return NULL;
+ path = PyBytes_AsString(opath);
+ Py_BEGIN_ALLOW_THREADS
+ res = unlinkat(dirfd, path, flags);
+ Py_END_ALLOW_THREADS
+ Py_DECREF(opath);
+ if (res < 0)
+ return posix_error();
+ Py_RETURN_NONE;
+}
+#endif
+
+#ifdef HAVE_UTIMENSAT
+PyDoc_STRVAR(posix_utimensat__doc__,
+"utimensat(dirfd, path[, atime=(atime_sec, atime_nsec),\n\
+ mtime=(mtime_sec, mtime_nsec), flags=0])\n\
+utimensat(dirfd, path, None, None, flags)\n\n\
+Updates the timestamps of a file with nanosecond precision. If path is\n\
+relative, it is taken as relative to dirfd.\n\
+If atime and mtime are both None, which is the default, set atime and\n\
+mtime to the current time.\n\
+flags is optional and may be 0 or AT_SYMLINK_NOFOLLOW.\n\
+If path is relative and dirfd is the special value AT_FDCWD, then path\n\
+is interpreted relative to the current working directory.\n\
+If *_nsec is specified as UTIME_NOW, the timestamp is updated to the\n\
+current time.\n\
+If *_nsec is specified as UTIME_OMIT, the timestamp is not updated.");
+
+static PyObject *
+posix_utimensat(PyObject *self, PyObject *args, PyObject *kwargs)
+{
+ PyObject *opath;
+ char *path;
+ int res, dirfd, flags = 0;
+ PyObject *atime = Py_None;
+ PyObject *mtime = Py_None;
+
+ static char *kwlist[] = {"dirfd", "path", "atime", "mtime", "flags", NULL};
+
+ struct timespec buf[2];
+
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "iO&|OOi:utimensat", kwlist,
+ &dirfd, PyUnicode_FSConverter, &opath, &atime, &mtime, &flags))
+ return NULL;
+ path = PyBytes_AsString(opath);
+ if (atime == Py_None && mtime == Py_None) {
+ /* optional time values not given */
+ Py_BEGIN_ALLOW_THREADS
+ res = utimensat(dirfd, path, NULL, flags);
+ Py_END_ALLOW_THREADS
+ }
+ else if (!PyTuple_Check(atime) || PyTuple_Size(atime) != 2) {
+ PyErr_SetString(PyExc_TypeError,
+ "utimensat() arg 3 must be a tuple (atime_sec, atime_nsec)");
+ Py_DECREF(opath);
+ return NULL;
+ }
+ else if (!PyTuple_Check(mtime) || PyTuple_Size(mtime) != 2) {
+ PyErr_SetString(PyExc_TypeError,
+ "utimensat() arg 4 must be a tuple (mtime_sec, mtime_nsec)");
+ Py_DECREF(opath);
+ return NULL;
+ }
+ else {
+ if (!PyArg_ParseTuple(atime, "ll:utimensat",
+ &(buf[0].tv_sec), &(buf[0].tv_nsec))) {
+ Py_DECREF(opath);
+ return NULL;
+ }
+ if (!PyArg_ParseTuple(mtime, "ll:utimensat",
+ &(buf[1].tv_sec), &(buf[1].tv_nsec))) {
+ Py_DECREF(opath);
+ return NULL;
+ }
+ Py_BEGIN_ALLOW_THREADS
+ res = utimensat(dirfd, path, buf, flags);
+ Py_END_ALLOW_THREADS
+ }
+ Py_DECREF(opath);
+ if (res < 0) {
+ return posix_error();
+ }
+ Py_RETURN_NONE;
+}
+#endif
+
+#ifdef HAVE_MKFIFOAT
+PyDoc_STRVAR(posix_mkfifoat__doc__,
+"mkfifoat(dirfd, path, mode=0o666)\n\n\
+Like mkfifo() but if path is relative, it is taken as relative to dirfd.\n\
+If path is relative and dirfd is the special value AT_FDCWD, then path\n\
+is interpreted relative to the current working directory.");
+
+static PyObject *
+posix_mkfifoat(PyObject *self, PyObject *args)
+{
+ PyObject *opath;
+ char *filename;
+ int mode = 0666;
+ int res, dirfd;
+ if (!PyArg_ParseTuple(args, "iO&|i:mkfifoat",
+ &dirfd, PyUnicode_FSConverter, &opath, &mode))
+ return NULL;
+ filename = PyBytes_AS_STRING(opath);
+ Py_BEGIN_ALLOW_THREADS
+ res = mkfifoat(dirfd, filename, mode);
+ Py_END_ALLOW_THREADS
+ Py_DECREF(opath);
+ if (res < 0)
+ return posix_error();
+ Py_RETURN_NONE;
+}
+#endif
+
+#ifdef USE_XATTRS
+
+static int
+try_getxattr(const char *path, const char *name,
+ ssize_t (*get)(const char *, const char *, void *, size_t),
+ Py_ssize_t buf_size, PyObject **res)
+{
+ PyObject *value;
+ Py_ssize_t len;
+
+ assert(buf_size <= XATTR_SIZE_MAX);
+ value = PyBytes_FromStringAndSize(NULL, buf_size);
+ if (!value)
+ return 0;
+ Py_BEGIN_ALLOW_THREADS;
+ len = get(path, name, PyBytes_AS_STRING(value), buf_size);
+ Py_END_ALLOW_THREADS;
+ if (len < 0) {
+ Py_DECREF(value);
+ if (errno == ERANGE) {
+ value = NULL;
+ }
+ else {
+ posix_error();
+ return 0;
+ }
+ }
+ else if (len != buf_size) {
+ /* Can only shrink. */
+ _PyBytes_Resize(&value, len);
+ }
+ *res = value;
+ return 1;
+}
+
+static PyObject *
+getxattr_common(const char *path, PyObject *name_obj,
+ ssize_t (*get)(const char *, const char *, void *, size_t))
+{
+ PyObject *value;
+ const char *name = PyBytes_AS_STRING(name_obj);
+
+ /* Try a small value first. */
+ if (!try_getxattr(path, name, get, 128, &value))
+ return NULL;
+ if (value)
+ return value;
+ /* Now the maximum possible one. */
+ if (!try_getxattr(path, name, get, XATTR_SIZE_MAX, &value))
+ return NULL;
+ assert(value);
+ return value;
+}
+
+PyDoc_STRVAR(posix_getxattr__doc__,
+"getxattr(path, attr) -> value\n\n\
+Return the value of extended attribute *name* on *path*.");
+
+static PyObject *
+posix_getxattr(PyObject *self, PyObject *args)
+{
+ PyObject *path, *res, *name;
+
+ if (!PyArg_ParseTuple(args, "O&O&:getxattr", PyUnicode_FSConverter, &path,
+ PyUnicode_FSConverter, &name))
+ return NULL;
+ res = getxattr_common(PyBytes_AS_STRING(path), name, getxattr);
+ Py_DECREF(path);
+ Py_DECREF(name);
+ return res;
+}
+
+PyDoc_STRVAR(posix_lgetxattr__doc__,
+"lgetxattr(path, attr) -> value\n\n\
+Like getxattr but don't follow symlinks.");
+
+static PyObject *
+posix_lgetxattr(PyObject *self, PyObject *args)
+{
+ PyObject *path, *res, *name;
+
+ if (!PyArg_ParseTuple(args, "O&O&:lgetxattr", PyUnicode_FSConverter, &path,
+ PyUnicode_FSConverter, &name))
+ return NULL;
+ res = getxattr_common(PyBytes_AS_STRING(path), name, lgetxattr);
+ Py_DECREF(path);
+ Py_DECREF(name);
+ return res;
+}
+
+static ssize_t
+wrap_fgetxattr(const char *path, const char *name, void *value, size_t size)
+{
+ /* Hack to share code. */
+ return fgetxattr((int)(Py_uintptr_t)path, name, value, size);
+}
+
+PyDoc_STRVAR(posix_fgetxattr__doc__,
+"fgetxattr(fd, attr) -> value\n\n\
+Like getxattr but operate on a fd instead of a path.");
+
+static PyObject *
+posix_fgetxattr(PyObject *self, PyObject *args)
+{
+ PyObject *res, *name;
+ int fd;
+
+ if (!PyArg_ParseTuple(args, "iO&:fgetxattr", &fd, PyUnicode_FSConverter, &name))
+ return NULL;
+ res = getxattr_common((const char *)(Py_uintptr_t)fd, name, wrap_fgetxattr);
+ Py_DECREF(name);
+ return res;
+}
+
+PyDoc_STRVAR(posix_setxattr__doc__,
+"setxattr(path, attr, value, flags=0)\n\n\
+Set extended attribute *attr* on *path* to *value*.");
+
+static PyObject *
+posix_setxattr(PyObject *self, PyObject *args)
+{
+ PyObject *path, *name;
+ Py_buffer data;
+ int flags = 0, err;
+
+ if (!PyArg_ParseTuple(args, "O&O&y*|i:setxattr", PyUnicode_FSConverter,
+ &path, PyUnicode_FSConverter, &name, &data, &flags))
+ return NULL;
+ Py_BEGIN_ALLOW_THREADS;
+ err = setxattr(PyBytes_AS_STRING(path), PyBytes_AS_STRING(name),
+ data.buf, data.len, flags);
+ Py_END_ALLOW_THREADS;
+ Py_DECREF(path);
+ Py_DECREF(name);
+ PyBuffer_Release(&data);
+ if (err)
+ return posix_error();
+ Py_RETURN_NONE;
+}
+
+PyDoc_STRVAR(posix_lsetxattr__doc__,
+"lsetxattr(path, attr, value, flags=0)\n\n\
+Like setxattr but don't follow symlinks.");
+
+static PyObject *
+posix_lsetxattr(PyObject *self, PyObject *args)
+{
+ PyObject *path, *name;
+ Py_buffer data;
+ int flags = 0, err;
+
+ if (!PyArg_ParseTuple(args, "O&O&y*|i:lsetxattr", PyUnicode_FSConverter,
+ &path, PyUnicode_FSConverter, &name, &data, &flags))
+ return NULL;
+ Py_BEGIN_ALLOW_THREADS;
+ err = lsetxattr(PyBytes_AS_STRING(path), PyBytes_AS_STRING(name),
+ data.buf, data.len, flags);
+ Py_END_ALLOW_THREADS;
+ Py_DECREF(path);
+ Py_DECREF(name);
+ PyBuffer_Release(&data);
+ if (err)
+ return posix_error();
+ Py_RETURN_NONE;
+}
+
+PyDoc_STRVAR(posix_fsetxattr__doc__,
+"fsetxattr(fd, attr, value, flags=0)\n\n\
+Like setxattr but operates on *fd* instead of a path.");
+
+static PyObject *
+posix_fsetxattr(PyObject *self, PyObject *args)
+{
+ Py_buffer data;
+ const char *name;
+ int fd, flags = 0, err;
+
+ if (!PyArg_ParseTuple(args, "iO&y*|i:fsetxattr", &fd, PyUnicode_FSConverter,
+ &name, &data, &flags))
+ return NULL;
+ Py_BEGIN_ALLOW_THREADS;
+ err = fsetxattr(fd, PyBytes_AS_STRING(name), data.buf, data.len, flags);
+ Py_END_ALLOW_THREADS;
+ Py_DECREF(name);
+ PyBuffer_Release(&data);
+ if (err)
+ return posix_error();
+ Py_RETURN_NONE;
+}
+
+PyDoc_STRVAR(posix_removexattr__doc__,
+"removexattr(path, attr)\n\n\
+Remove extended attribute *attr* on *path*.");
+
+static PyObject *
+posix_removexattr(PyObject *self, PyObject *args)
+{
+ PyObject *path, *name;
+ int err;
+
+ if (!PyArg_ParseTuple(args, "O&O&:removexattr", PyUnicode_FSConverter, &path,
+ PyUnicode_FSConverter, &name))
+ return NULL;
+ Py_BEGIN_ALLOW_THREADS;
+ err = removexattr(PyBytes_AS_STRING(path), PyBytes_AS_STRING(name));
+ Py_END_ALLOW_THREADS;
+ Py_DECREF(path);
+ Py_DECREF(name);
+ if (err)
+ return posix_error();
+ Py_RETURN_NONE;
+}
+
+PyDoc_STRVAR(posix_lremovexattr__doc__,
+"lremovexattr(path, attr)\n\n\
+Like removexattr but don't follow symlinks.");
+
+static PyObject *
+posix_lremovexattr(PyObject *self, PyObject *args)
+{
+ PyObject *path, *name;
+ int err;
+
+ if (!PyArg_ParseTuple(args, "O&O&:lremovexattr", PyUnicode_FSConverter, &path,
+ PyUnicode_FSConverter, &name))
+ return NULL;
+ Py_BEGIN_ALLOW_THREADS;
+ err = lremovexattr(PyBytes_AS_STRING(path), PyBytes_AS_STRING(name));
+ Py_END_ALLOW_THREADS;
+ Py_DECREF(path);
+ Py_DECREF(name);
+ if (err)
+ return posix_error();
+ Py_RETURN_NONE;
+}
+
+PyDoc_STRVAR(posix_fremovexattr__doc__,
+"fremovexattr(fd, attr)\n\n\
+Like removexattr but operates on a file descriptor.");
+
+static PyObject *
+posix_fremovexattr(PyObject *self, PyObject *args)
+{
+ PyObject *name;
+ int fd, err;
+
+ if (!PyArg_ParseTuple(args, "iO&:fremovexattr", &fd,
+ PyUnicode_FSConverter, &name))
+ return NULL;
+ Py_BEGIN_ALLOW_THREADS;
+ err = fremovexattr(fd, PyBytes_AS_STRING(name));
+ Py_END_ALLOW_THREADS;
+ Py_DECREF(name);
+ if (err)
+ return posix_error();
+ Py_RETURN_NONE;
+}
+
+static Py_ssize_t
+try_listxattr(const char *path, ssize_t (*list)(const char *, char *, size_t),
+ Py_ssize_t buf_size, char **buf)
+{
+ Py_ssize_t len;
+
+ *buf = PyMem_MALLOC(buf_size);
+ if (!*buf) {
+ PyErr_NoMemory();
+ return -1;
+ }
+ Py_BEGIN_ALLOW_THREADS;
+ len = list(path, *buf, buf_size);
+ Py_END_ALLOW_THREADS;
+ if (len < 0) {
+ PyMem_FREE(*buf);
+ if (errno != ERANGE)
+ posix_error();
+ return -1;
+ }
+ return len;
+}
+
+static PyObject *
+listxattr_common(const char *path, ssize_t (*list)(const char *, char *, size_t))
+{
+ PyObject *res, *attr;
+ Py_ssize_t len, err, start, i;
+ char *buf;
+
+ len = try_listxattr(path, list, 256, &buf);
+ if (len < 0) {
+ if (PyErr_Occurred())
+ return NULL;
+ len = try_listxattr(path, list, XATTR_LIST_MAX, &buf);
+ if (len < 0)
+ return NULL;
+ }
+ res = PyList_New(0);
+ if (!res) {
+ PyMem_FREE(buf);
+ return NULL;
+ }
+ for (start = i = 0; i < len; i++) {
+ if (!buf[i]) {
+ attr = PyUnicode_DecodeFSDefaultAndSize(&buf[start], i - start);
+ if (!attr) {
+ Py_DECREF(res);
+ PyMem_FREE(buf);
+ return NULL;
+ }
+ err = PyList_Append(res, attr);
+ Py_DECREF(attr);
+ if (err) {
+ Py_DECREF(res);
+ PyMem_FREE(buf);
+ return NULL;
+ }
+ start = i + 1;
+ }
+ }
+ PyMem_FREE(buf);
+ return res;
+}
+
+PyDoc_STRVAR(posix_listxattr__doc__,
+"listxattr(path)\n\n\
+Return a list of extended attributes on *path*.");
+
+static PyObject *
+posix_listxattr(PyObject *self, PyObject *args)
+{
+ PyObject *path, *res;
+
+ if (!PyArg_ParseTuple(args, "O&:listxattr", PyUnicode_FSConverter, &path))
+ return NULL;
+ res = listxattr_common(PyBytes_AS_STRING(path), listxattr);
+ Py_DECREF(path);
+ return res;
+}
+
+PyDoc_STRVAR(posix_llistxattr__doc__,
+"llistxattr(path)\n\n\
+Like listxattr but don't follow symlinks..");
+
+static PyObject *
+posix_llistxattr(PyObject *self, PyObject *args)
+{
+ PyObject *path, *res;
+
+ if (!PyArg_ParseTuple(args, "O&:llistxattr", PyUnicode_FSConverter, &path))
+ return NULL;
+ res = listxattr_common(PyBytes_AS_STRING(path), llistxattr);
+ Py_DECREF(path);
+ return res;
+}
+
+static ssize_t
+wrap_flistxattr(const char *path, char *buf, size_t len)
+{
+ /* Hack to share code. */
+ return flistxattr((int)(Py_uintptr_t)path, buf, len);
+}
+
+PyDoc_STRVAR(posix_flistxattr__doc__,
+"flistxattr(path)\n\n\
+Like flistxattr but operates on a file descriptor.");
+
+static PyObject *
+posix_flistxattr(PyObject *self, PyObject *args)
+{
+ long fd;
+
+ if (!PyArg_ParseTuple(args, "i:flistxattr", &fd))
+ return NULL;
+ return listxattr_common((const char *)(Py_uintptr_t)fd, wrap_flistxattr);
+}
+
+#endif /* USE_XATTRS */
+
static PyMethodDef posix_methods[] = {
{"access", posix_access, METH_VARARGS, posix_access__doc__},
#ifdef HAVE_TTYNAME
@@ -7894,11 +10540,20 @@ static PyMethodDef posix_methods[] = {
{"link", posix_link, METH_VARARGS, posix_link__doc__},
#endif /* HAVE_LINK */
{"listdir", posix_listdir, METH_VARARGS, posix_listdir__doc__},
+#ifdef HAVE_FDOPENDIR
+ {"fdlistdir", posix_fdlistdir, METH_VARARGS, posix_fdlistdir__doc__},
+#endif
{"lstat", posix_lstat, METH_VARARGS, posix_lstat__doc__},
{"mkdir", posix_mkdir, METH_VARARGS, posix_mkdir__doc__},
#ifdef HAVE_NICE
{"nice", posix_nice, METH_VARARGS, posix_nice__doc__},
#endif /* HAVE_NICE */
+#ifdef HAVE_GETPRIORITY
+ {"getpriority", posix_getpriority, METH_VARARGS, posix_getpriority__doc__},
+#endif /* HAVE_GETPRIORITY */
+#ifdef HAVE_SETPRIORITY
+ {"setpriority", posix_setpriority, METH_VARARGS, posix_setpriority__doc__},
+#endif /* HAVE_SETPRIORITY */
#ifdef HAVE_READLINK
{"readlink", posix_readlink, METH_VARARGS, posix_readlink__doc__},
#endif /* HAVE_READLINK */
@@ -7926,6 +10581,15 @@ static PyMethodDef posix_methods[] = {
{"unlink", posix_unlink, METH_VARARGS, posix_unlink__doc__},
{"remove", posix_unlink, METH_VARARGS, posix_remove__doc__},
{"utime", posix_utime, METH_VARARGS, posix_utime__doc__},
+#ifdef HAVE_FUTIMES
+ {"futimes", posix_futimes, METH_VARARGS, posix_futimes__doc__},
+#endif
+#ifdef HAVE_LUTIMES
+ {"lutimes", posix_lutimes, METH_VARARGS, posix_lutimes__doc__},
+#endif
+#ifdef HAVE_FUTIMENS
+ {"futimens", posix_futimens, METH_VARARGS, posix_futimens__doc__},
+#endif
#ifdef HAVE_TIMES
{"times", posix_times, METH_NOARGS, posix_times__doc__},
#endif /* HAVE_TIMES */
@@ -7934,6 +10598,9 @@ static PyMethodDef posix_methods[] = {
{"execv", posix_execv, METH_VARARGS, posix_execv__doc__},
{"execve", posix_execve, METH_VARARGS, posix_execve__doc__},
#endif /* HAVE_EXECV */
+#ifdef HAVE_FEXECVE
+ {"fexecve", posix_fexecve, METH_VARARGS, posix_fexecve__doc__},
+#endif
#ifdef HAVE_SPAWNV
{"spawnv", posix_spawnv, METH_VARARGS, posix_spawnv__doc__},
{"spawnve", posix_spawnve, METH_VARARGS, posix_spawnve__doc__},
@@ -7948,6 +10615,32 @@ static PyMethodDef posix_methods[] = {
#ifdef HAVE_FORK
{"fork", posix_fork, METH_NOARGS, posix_fork__doc__},
#endif /* HAVE_FORK */
+#ifdef HAVE_SCHED_H
+#ifdef HAVE_SCHED_GET_PRIORITY_MAX
+ {"sched_get_priority_max", posix_sched_get_priority_max, METH_VARARGS, posix_sched_get_priority_max__doc__},
+ {"sched_get_priority_min", posix_sched_get_priority_min, METH_VARARGS, posix_sched_get_priority_min__doc__},
+#endif
+#ifdef HAVE_SCHED_SETPARAM
+ {"sched_getparam", posix_sched_getparam, METH_VARARGS, posix_sched_getparam__doc__},
+#endif
+#ifdef HAVE_SCHED_SETSCHEDULER
+ {"sched_getscheduler", posix_sched_getscheduler, METH_VARARGS, posix_sched_getscheduler__doc__},
+#endif
+#ifdef HAVE_SCHED_RR_GET_INTERVAL
+ {"sched_rr_get_interval", posix_sched_rr_get_interval, METH_VARARGS, posix_sched_rr_get_interval__doc__},
+#endif
+#ifdef HAVE_SCHED_SETPARAM
+ {"sched_setparam", posix_sched_setparam, METH_VARARGS, posix_sched_setparam__doc__},
+#endif
+#ifdef HAVE_SCHED_SETSCHEDULER
+ {"sched_setscheduler", posix_sched_setscheduler, METH_VARARGS, posix_sched_setscheduler__doc__},
+#endif
+ {"sched_yield", posix_sched_yield, METH_NOARGS, posix_sched_yield__doc__},
+#ifdef HAVE_SCHED_SETAFFINITY
+ {"sched_setaffinity", posix_sched_setaffinity, METH_VARARGS, posix_sched_setaffinity__doc__},
+ {"sched_getaffinity", posix_sched_getaffinity, METH_VARARGS, posix_sched_getaffinity__doc__},
+#endif
+#endif /* HAVE_SCHED_H */
#if defined(HAVE_OPENPTY) || defined(HAVE__GETPTY) || defined(HAVE_DEV_PTMX)
{"openpty", posix_openpty, METH_NOARGS, posix_openpty__doc__},
#endif /* HAVE_OPENPTY || HAVE__GETPTY || HAVE_DEV_PTMX */
@@ -7963,6 +10656,9 @@ static PyMethodDef posix_methods[] = {
#ifdef HAVE_GETGID
{"getgid", posix_getgid, METH_NOARGS, posix_getgid__doc__},
#endif /* HAVE_GETGID */
+#ifdef HAVE_GETGROUPLIST
+ {"getgrouplist", posix_getgrouplist, METH_VARARGS, posix_getgrouplist__doc__},
+#endif
#ifdef HAVE_GETGROUPS
{"getgroups", posix_getgroups, METH_NOARGS, posix_getgroups__doc__},
#endif
@@ -8032,6 +10728,9 @@ static PyMethodDef posix_methods[] = {
#ifdef HAVE_WAIT4
{"wait4", posix_wait4, METH_VARARGS, posix_wait4__doc__},
#endif /* HAVE_WAIT4 */
+#if defined(HAVE_WAITID) && !defined(__APPLE__)
+ {"waitid", posix_waitid, METH_VARARGS, posix_waitid__doc__},
+#endif
#if defined(HAVE_WAITPID) || defined(HAVE_CWAIT)
{"waitpid", posix_waitpid, METH_VARARGS, posix_waitpid__doc__},
#endif /* HAVE_WAITPID */
@@ -8056,14 +10755,36 @@ static PyMethodDef posix_methods[] = {
{"device_encoding", device_encoding, METH_VARARGS, device_encoding__doc__},
{"dup", posix_dup, METH_VARARGS, posix_dup__doc__},
{"dup2", posix_dup2, METH_VARARGS, posix_dup2__doc__},
+#ifdef HAVE_LOCKF
+ {"lockf", posix_lockf, METH_VARARGS, posix_lockf__doc__},
+#endif
{"lseek", posix_lseek, METH_VARARGS, posix_lseek__doc__},
{"read", posix_read, METH_VARARGS, posix_read__doc__},
+#ifdef HAVE_READV
+ {"readv", posix_readv, METH_VARARGS, posix_readv__doc__},
+#endif
+#ifdef HAVE_PREAD
+ {"pread", posix_pread, METH_VARARGS, posix_pread__doc__},
+#endif
{"write", posix_write, METH_VARARGS, posix_write__doc__},
+#ifdef HAVE_WRITEV
+ {"writev", posix_writev, METH_VARARGS, posix_writev__doc__},
+#endif
+#ifdef HAVE_PWRITE
+ {"pwrite", posix_pwrite, METH_VARARGS, posix_pwrite__doc__},
+#endif
+#ifdef HAVE_SENDFILE
+ {"sendfile", (PyCFunction)posix_sendfile, METH_VARARGS | METH_KEYWORDS,
+ posix_sendfile__doc__},
+#endif
{"fstat", posix_fstat, METH_VARARGS, posix_fstat__doc__},
{"isatty", posix_isatty, METH_VARARGS, posix_isatty__doc__},
#ifdef HAVE_PIPE
{"pipe", posix_pipe, METH_NOARGS, posix_pipe__doc__},
#endif
+#ifdef HAVE_PIPE2
+ {"pipe2", posix_pipe2, METH_O, posix_pipe2__doc__},
+#endif
#ifdef HAVE_MKFIFO
{"mkfifo", posix_mkfifo, METH_VARARGS, posix_mkfifo__doc__},
#endif
@@ -8078,6 +10799,15 @@ static PyMethodDef posix_methods[] = {
#ifdef HAVE_FTRUNCATE
{"ftruncate", posix_ftruncate, METH_VARARGS, posix_ftruncate__doc__},
#endif
+#ifdef HAVE_TRUNCATE
+ {"truncate", posix_truncate, METH_VARARGS, posix_truncate__doc__},
+#endif
+#ifdef HAVE_POSIX_FALLOCATE
+ {"posix_fallocate", posix_posix_fallocate, METH_VARARGS, posix_posix_fallocate__doc__},
+#endif
+#ifdef HAVE_POSIX_FADVISE
+ {"posix_fadvise", posix_posix_fadvise, METH_VARARGS, posix_posix_fadvise__doc__},
+#endif
#ifdef HAVE_PUTENV
{"putenv", posix_putenv, METH_VARARGS, posix_putenv__doc__},
#endif
@@ -8091,6 +10821,9 @@ static PyMethodDef posix_methods[] = {
#ifdef HAVE_FSYNC
{"fsync", posix_fsync, METH_O, posix_fsync__doc__},
#endif
+#ifdef HAVE_SYNC
+ {"sync", posix_sync, METH_NOARGS, posix_sync__doc__},
+#endif
#ifdef HAVE_FDATASYNC
{"fdatasync", posix_fdatasync, METH_O, posix_fdatasync__doc__},
#endif
@@ -8144,6 +10877,7 @@ static PyMethodDef posix_methods[] = {
{"_getfinalpathname", posix__getfinalpathname, METH_VARARGS, NULL},
{"_getfileinformation", posix__getfileinformation, METH_VARARGS, NULL},
{"_isdir", posix__isdir, METH_VARARGS, posix__isdir__doc__},
+ {"_getdiskusage", win32__getdiskusage, METH_VARARGS, win32__getdiskusage__doc__},
#endif
#ifdef HAVE_GETLOADAVG
{"getloadavg", posix_getloadavg, METH_NOARGS, posix_getloadavg__doc__},
@@ -8167,6 +10901,68 @@ static PyMethodDef posix_methods[] = {
{"getresgid", posix_getresgid, METH_NOARGS, posix_getresgid__doc__},
#endif
+/* posix *at family of functions */
+#ifdef HAVE_FACCESSAT
+ {"faccessat", posix_faccessat, METH_VARARGS, posix_faccessat__doc__},
+#endif
+#ifdef HAVE_FCHMODAT
+ {"fchmodat", posix_fchmodat, METH_VARARGS, posix_fchmodat__doc__},
+#endif /* HAVE_FCHMODAT */
+#ifdef HAVE_FCHOWNAT
+ {"fchownat", posix_fchownat, METH_VARARGS, posix_fchownat__doc__},
+#endif /* HAVE_FCHOWNAT */
+#ifdef HAVE_FSTATAT
+ {"fstatat", posix_fstatat, METH_VARARGS, posix_fstatat__doc__},
+#endif
+#ifdef HAVE_FUTIMESAT
+ {"futimesat", posix_futimesat, METH_VARARGS, posix_futimesat__doc__},
+#endif
+#ifdef HAVE_LINKAT
+ {"linkat", posix_linkat, METH_VARARGS, posix_linkat__doc__},
+#endif /* HAVE_LINKAT */
+#ifdef HAVE_MKDIRAT
+ {"mkdirat", posix_mkdirat, METH_VARARGS, posix_mkdirat__doc__},
+#endif
+#if defined(HAVE_MKNODAT) && defined(HAVE_MAKEDEV)
+ {"mknodat", posix_mknodat, METH_VARARGS, posix_mknodat__doc__},
+#endif
+#ifdef HAVE_OPENAT
+ {"openat", posix_openat, METH_VARARGS, posix_openat__doc__},
+#endif
+#ifdef HAVE_READLINKAT
+ {"readlinkat", posix_readlinkat, METH_VARARGS, posix_readlinkat__doc__},
+#endif /* HAVE_READLINKAT */
+#ifdef HAVE_RENAMEAT
+ {"renameat", posix_renameat, METH_VARARGS, posix_renameat__doc__},
+#endif
+#if HAVE_SYMLINKAT
+ {"symlinkat", posix_symlinkat, METH_VARARGS, posix_symlinkat__doc__},
+#endif /* HAVE_SYMLINKAT */
+#ifdef HAVE_UNLINKAT
+ {"unlinkat", posix_unlinkat, METH_VARARGS, posix_unlinkat__doc__},
+#endif
+#ifdef HAVE_UTIMENSAT
+ {"utimensat", (PyCFunction)posix_utimensat,
+ METH_VARARGS | METH_KEYWORDS,
+ posix_utimensat__doc__},
+#endif
+#ifdef HAVE_MKFIFOAT
+ {"mkfifoat", posix_mkfifoat, METH_VARARGS, posix_mkfifoat__doc__},
+#endif
+#ifdef USE_XATTRS
+ {"setxattr", posix_setxattr, METH_VARARGS, posix_setxattr__doc__},
+ {"lsetxattr", posix_lsetxattr, METH_VARARGS, posix_lsetxattr__doc__},
+ {"fsetxattr", posix_fsetxattr, METH_VARARGS, posix_fsetxattr__doc__},
+ {"getxattr", posix_getxattr, METH_VARARGS, posix_getxattr__doc__},
+ {"lgetxattr", posix_lgetxattr, METH_VARARGS, posix_lgetxattr__doc__},
+ {"fgetxattr", posix_fgetxattr, METH_VARARGS, posix_fgetxattr__doc__},
+ {"removexattr", posix_removexattr, METH_VARARGS, posix_removexattr__doc__},
+ {"lremovexattr", posix_lremovexattr, METH_VARARGS, posix_lremovexattr__doc__},
+ {"fremovexattr", posix_fremovexattr, METH_VARARGS, posix_fremovexattr__doc__},
+ {"listxattr", posix_listxattr, METH_VARARGS, posix_listxattr__doc__},
+ {"llistxattr", posix_llistxattr, METH_VARARGS, posix_llistxattr__doc__},
+ {"flistxattr", posix_flistxattr, METH_VARARGS, posix_flistxattr__doc__},
+#endif
{NULL, NULL} /* Sentinel */
};
@@ -8343,6 +11139,41 @@ all_ins(PyObject *d)
#ifdef O_EXLOCK
if (ins(d, "O_EXLOCK", (long)O_EXLOCK)) return -1;
#endif
+#ifdef PRIO_PROCESS
+ if (ins(d, "PRIO_PROCESS", (long)PRIO_PROCESS)) return -1;
+#endif
+#ifdef PRIO_PGRP
+ if (ins(d, "PRIO_PGRP", (long)PRIO_PGRP)) return -1;
+#endif
+#ifdef PRIO_USER
+ if (ins(d, "PRIO_USER", (long)PRIO_USER)) return -1;
+#endif
+#ifdef O_CLOEXEC
+ if (ins(d, "O_CLOEXEC", (long)O_CLOEXEC)) return -1;
+#endif
+/* posix - constants for *at functions */
+#ifdef AT_SYMLINK_NOFOLLOW
+ if (ins(d, "AT_SYMLINK_NOFOLLOW", (long)AT_SYMLINK_NOFOLLOW)) return -1;
+#endif
+#ifdef AT_EACCESS
+ if (ins(d, "AT_EACCESS", (long)AT_EACCESS)) return -1;
+#endif
+#ifdef AT_FDCWD
+ if (ins(d, "AT_FDCWD", (long)AT_FDCWD)) return -1;
+#endif
+#ifdef AT_REMOVEDIR
+ if (ins(d, "AT_REMOVEDIR", (long)AT_REMOVEDIR)) return -1;
+#endif
+#ifdef AT_SYMLINK_FOLLOW
+ if (ins(d, "AT_SYMLINK_FOLLOW", (long)AT_SYMLINK_FOLLOW)) return -1;
+#endif
+#ifdef UTIME_NOW
+ if (ins(d, "UTIME_NOW", (long)UTIME_NOW)) return -1;
+#endif
+#ifdef UTIME_OMIT
+ if (ins(d, "UTIME_OMIT", (long)UTIME_OMIT)) return -1;
+#endif
+
/* MS Windows */
#ifdef O_NOINHERIT
@@ -8451,6 +11282,87 @@ all_ins(PyObject *d)
if (ins(d, "ST_NOSUID", (long)ST_NOSUID)) return -1;
#endif /* ST_NOSUID */
+ /* FreeBSD sendfile() constants */
+#ifdef SF_NODISKIO
+ if (ins(d, "SF_NODISKIO", (long)SF_NODISKIO)) return -1;
+#endif
+#ifdef SF_MNOWAIT
+ if (ins(d, "SF_MNOWAIT", (long)SF_MNOWAIT)) return -1;
+#endif
+#ifdef SF_SYNC
+ if (ins(d, "SF_SYNC", (long)SF_SYNC)) return -1;
+#endif
+
+ /* constants for posix_fadvise */
+#ifdef POSIX_FADV_NORMAL
+ if (ins(d, "POSIX_FADV_NORMAL", (long)POSIX_FADV_NORMAL)) return -1;
+#endif
+#ifdef POSIX_FADV_SEQUENTIAL
+ if (ins(d, "POSIX_FADV_SEQUENTIAL", (long)POSIX_FADV_SEQUENTIAL)) return -1;
+#endif
+#ifdef POSIX_FADV_RANDOM
+ if (ins(d, "POSIX_FADV_RANDOM", (long)POSIX_FADV_RANDOM)) return -1;
+#endif
+#ifdef POSIX_FADV_NOREUSE
+ if (ins(d, "POSIX_FADV_NOREUSE", (long)POSIX_FADV_NOREUSE)) return -1;
+#endif
+#ifdef POSIX_FADV_WILLNEED
+ if (ins(d, "POSIX_FADV_WILLNEED", (long)POSIX_FADV_WILLNEED)) return -1;
+#endif
+#ifdef POSIX_FADV_DONTNEED
+ if (ins(d, "POSIX_FADV_DONTNEED", (long)POSIX_FADV_DONTNEED)) return -1;
+#endif
+
+ /* constants for waitid */
+#if defined(HAVE_SYS_WAIT_H) && defined(HAVE_WAITID)
+ if (ins(d, "P_PID", (long)P_PID)) return -1;
+ if (ins(d, "P_PGID", (long)P_PGID)) return -1;
+ if (ins(d, "P_ALL", (long)P_ALL)) return -1;
+#endif
+#ifdef WEXITED
+ if (ins(d, "WEXITED", (long)WEXITED)) return -1;
+#endif
+#ifdef WNOWAIT
+ if (ins(d, "WNOWAIT", (long)WNOWAIT)) return -1;
+#endif
+#ifdef WSTOPPED
+ if (ins(d, "WSTOPPED", (long)WSTOPPED)) return -1;
+#endif
+#ifdef CLD_EXITED
+ if (ins(d, "CLD_EXITED", (long)CLD_EXITED)) return -1;
+#endif
+#ifdef CLD_DUMPED
+ if (ins(d, "CLD_DUMPED", (long)CLD_DUMPED)) return -1;
+#endif
+#ifdef CLD_TRAPPED
+ if (ins(d, "CLD_TRAPPED", (long)CLD_TRAPPED)) return -1;
+#endif
+#ifdef CLD_CONTINUED
+ if (ins(d, "CLD_CONTINUED", (long)CLD_CONTINUED)) return -1;
+#endif
+
+ /* constants for lockf */
+#ifdef F_LOCK
+ if (ins(d, "F_LOCK", (long)F_LOCK)) return -1;
+#endif
+#ifdef F_TLOCK
+ if (ins(d, "F_TLOCK", (long)F_TLOCK)) return -1;
+#endif
+#ifdef F_ULOCK
+ if (ins(d, "F_ULOCK", (long)F_ULOCK)) return -1;
+#endif
+#ifdef F_TEST
+ if (ins(d, "F_TEST", (long)F_TEST)) return -1;
+#endif
+
+ /* constants for futimens */
+#ifdef UTIME_NOW
+ if (ins(d, "UTIME_NOW", (long)UTIME_NOW)) return -1;
+#endif
+#ifdef UTIME_OMIT
+ if (ins(d, "UTIME_OMIT", (long)UTIME_OMIT)) return -1;
+#endif
+
#ifdef HAVE_SPAWNV
#if defined(PYOS_OS2) && defined(PYCC_GCC)
if (ins(d, "P_WAIT", (long)P_WAIT)) return -1;
@@ -8482,6 +11394,64 @@ all_ins(PyObject *d)
#endif
#endif
+#ifdef HAVE_SCHED_H
+ if (ins(d, "SCHED_OTHER", (long)SCHED_OTHER)) return -1;
+ if (ins(d, "SCHED_FIFO", (long)SCHED_FIFO)) return -1;
+ if (ins(d, "SCHED_RR", (long)SCHED_RR)) return -1;
+#ifdef SCHED_SPORADIC
+ if (ins(d, "SCHED_SPORADIC", (long)SCHED_SPORADIC) return -1;
+#endif
+#ifdef SCHED_BATCH
+ if (ins(d, "SCHED_BATCH", (long)SCHED_BATCH)) return -1;
+#endif
+#ifdef SCHED_IDLE
+ if (ins(d, "SCHED_IDLE", (long)SCHED_IDLE)) return -1;
+#endif
+#ifdef SCHED_RESET_ON_FORK
+ if (ins(d, "SCHED_RESET_ON_FORK", (long)SCHED_RESET_ON_FORK)) return -1;
+#endif
+#ifdef SCHED_SYS
+ if (ins(d, "SCHED_SYS", (long)SCHED_SYS)) return -1;
+#endif
+#ifdef SCHED_IA
+ if (ins(d, "SCHED_IA", (long)SCHED_IA)) return -1;
+#endif
+#ifdef SCHED_FSS
+ if (ins(d, "SCHED_FSS", (long)SCHED_FSS)) return -1;
+#endif
+#ifdef SCHED_FX
+ if (ins(d, "SCHED_FX", (long)SCHED_FSS)) return -1;
+#endif
+#endif
+
+#ifdef USE_XATTRS
+ if (ins(d, "XATTR_CREATE", (long)XATTR_CREATE)) return -1;
+ if (ins(d, "XATTR_REPLACE", (long)XATTR_REPLACE)) return -1;
+ if (ins(d, "XATTR_SIZE_MAX", (long)XATTR_SIZE_MAX)) return -1;
+#endif
+
+#ifdef RTLD_LAZY
+ if (PyModule_AddIntMacro(d, RTLD_LAZY)) return -1;
+#endif
+#ifdef RTLD_NOW
+ if (PyModule_AddIntMacro(d, RTLD_NOW)) return -1;
+#endif
+#ifdef RTLD_GLOBAL
+ if (PyModule_AddIntMacro(d, RTLD_GLOBAL)) return -1;
+#endif
+#ifdef RTLD_LOCAL
+ if (PyModule_AddIntMacro(d, RTLD_LOCAL)) return -1;
+#endif
+#ifdef RTLD_NODELETE
+ if (PyModule_AddIntMacro(d, RTLD_NODELETE)) return -1;
+#endif
+#ifdef RTLD_NOLOAD
+ if (PyModule_AddIntMacro(d, RTLD_NOLOAD)) return -1;
+#endif
+#ifdef RTLD_DEEPBIND
+ if (PyModule_AddIntMacro(d, RTLD_DEEPBIND)) return -1;
+#endif
+
#if defined(PYOS_OS2)
if (insertvalues(d)) return -1;
#endif
@@ -8544,12 +11514,24 @@ INITFUNC(void)
Py_INCREF(PyExc_OSError);
PyModule_AddObject(m, "error", PyExc_OSError);
+#ifdef HAVE_SCHED_SETAFFINITY
+ if (PyType_Ready(&cpu_set_type) < 0)
+ return NULL;
+ Py_INCREF(&cpu_set_type);
+ PyModule_AddObject(m, "cpu_set", (PyObject *)&cpu_set_type);
+#endif
+
#ifdef HAVE_PUTENV
if (posix_putenv_garbage == NULL)
posix_putenv_garbage = PyDict_New();
#endif
if (!initialized) {
+#if defined(HAVE_WAITID) && !defined(__APPLE__)
+ waitid_result_desc.name = MODNAME ".waitid_result";
+ PyStructSequence_InitType(&WaitidResultType, &waitid_result_desc);
+#endif
+
stat_result_desc.name = MODNAME ".stat_result";
stat_result_desc.fields[7].name = PyStructSequence_UnnamedField;
stat_result_desc.fields[8].name = PyStructSequence_UnnamedField;
@@ -8569,12 +11551,27 @@ INITFUNC(void)
ticks_per_second = 60; /* magic fallback value; may be bogus */
# endif
#endif
+
+#if defined(HAVE_SCHED_SETPARAM) || defined(HAVE_SCHED_SETSCHEDULER)
+ sched_param_desc.name = MODNAME ".sched_param";
+ PyStructSequence_InitType(&SchedParamType, &sched_param_desc);
+ SchedParamType.tp_new = sched_param_new;
+#endif
}
+#if defined(HAVE_WAITID) && !defined(__APPLE__)
+ Py_INCREF((PyObject*) &WaitidResultType);
+ PyModule_AddObject(m, "waitid_result", (PyObject*) &WaitidResultType);
+#endif
Py_INCREF((PyObject*) &StatResultType);
PyModule_AddObject(m, "stat_result", (PyObject*) &StatResultType);
Py_INCREF((PyObject*) &StatVFSResultType);
PyModule_AddObject(m, "statvfs_result",
(PyObject*) &StatVFSResultType);
+
+#if defined(HAVE_SCHED_SETPARAM) || defined(HAVE_SCHED_SETSCHEDULER)
+ Py_INCREF(&SchedParamType);
+ PyModule_AddObject(m, "sched_param", (PyObject *)&SchedParamType);
+#endif
initialized = 1;
#ifdef __APPLE__
diff --git a/Modules/pyexpat.c b/Modules/pyexpat.c
index 849423f..1bc4ffa 100644
--- a/Modules/pyexpat.c
+++ b/Modules/pyexpat.c
@@ -100,16 +100,17 @@ static PyObject *
set_error(xmlparseobject *self, enum XML_Error code)
{
PyObject *err;
- char buffer[256];
+ PyObject *buffer;
XML_Parser parser = self->itself;
int lineno = XML_GetErrorLineNumber(parser);
int column = XML_GetErrorColumnNumber(parser);
- /* There is no risk of overflowing this buffer, since
- even for 64-bit integers, there is sufficient space. */
- sprintf(buffer, "%.200s: line %i, column %i",
- XML_ErrorString(code), lineno, column);
- err = PyObject_CallFunction(ErrorObject, "s", buffer);
+ buffer = PyUnicode_FromFormat("%s: line %i, column %i",
+ XML_ErrorString(code), lineno, column);
+ if (buffer == NULL)
+ return NULL;
+ err = PyObject_CallFunction(ErrorObject, "O", buffer);
+ Py_DECREF(buffer);
if ( err != NULL
&& set_error_attr(err, "code", code)
&& set_error_attr(err, "offset", column)
@@ -842,9 +843,9 @@ xmlparse_ParseFile(xmlparseobject *self, PyObject *f)
{
int rv = 1;
PyObject *readmethod = NULL;
+ _Py_IDENTIFIER(read);
-
- readmethod = PyObject_GetAttrString(f, "read");
+ readmethod = _PyObject_GetAttrId(f, &PyId_read);
if (readmethod == NULL) {
PyErr_SetString(PyExc_TypeError,
"argument must have 'read' attribute");
@@ -1101,17 +1102,22 @@ PyUnknownEncodingHandler(void *encodingHandlerData,
PyUnicodeObject *_u_string = NULL;
int result = 0;
int i;
+ int kind;
+ void *data;
/* Yes, supports only 8bit encodings */
_u_string = (PyUnicodeObject *)
PyUnicode_Decode(template_buffer, 256, name, "replace");
- if (_u_string == NULL)
+ if (_u_string == NULL || PyUnicode_READY(_u_string) == -1)
return result;
+ kind = PyUnicode_KIND(_u_string);
+ data = PyUnicode_DATA(_u_string);
+
for (i = 0; i < 256; i++) {
/* Stupid to access directly, but fast */
- Py_UNICODE c = _u_string->str[i];
+ Py_UCS4 c = PyUnicode_READ(kind, data, i);
if (c == Py_UNICODE_REPLACEMENT_CHARACTER)
info->map[i] = -1;
else
@@ -1228,11 +1234,13 @@ get_pybool(int istrue)
static PyObject *
xmlparse_getattro(xmlparseobject *self, PyObject *nameobj)
{
- Py_UNICODE *name;
+ Py_UCS4 first_char;
int handlernum = -1;
if (!PyUnicode_Check(nameobj))
goto generic;
+ if (PyUnicode_READY(nameobj))
+ return NULL;
handlernum = handlername2int(nameobj);
@@ -1244,8 +1252,8 @@ xmlparse_getattro(xmlparseobject *self, PyObject *nameobj)
return result;
}
- name = PyUnicode_AS_UNICODE(nameobj);
- if (name[0] == 'E') {
+ first_char = PyUnicode_READ_CHAR(nameobj, 0);
+ if (first_char == 'E') {
if (PyUnicode_CompareWithASCIIString(nameobj, "ErrorCode") == 0)
return PyLong_FromLong((long)
XML_GetErrorCode(self->itself));
@@ -1259,7 +1267,7 @@ xmlparse_getattro(xmlparseobject *self, PyObject *nameobj)
return PyLong_FromLong((long)
XML_GetErrorByteIndex(self->itself));
}
- if (name[0] == 'C') {
+ if (first_char == 'C') {
if (PyUnicode_CompareWithASCIIString(nameobj, "CurrentLineNumber") == 0)
return PyLong_FromLong((long)
XML_GetCurrentLineNumber(self->itself));
@@ -1270,7 +1278,7 @@ xmlparse_getattro(xmlparseobject *self, PyObject *nameobj)
return PyLong_FromLong((long)
XML_GetCurrentByteIndex(self->itself));
}
- if (name[0] == 'b') {
+ if (first_char == 'b') {
if (PyUnicode_CompareWithASCIIString(nameobj, "buffer_size") == 0)
return PyLong_FromLong((long) self->buffer_size);
if (PyUnicode_CompareWithASCIIString(nameobj, "buffer_text") == 0)
@@ -1661,7 +1669,6 @@ MODULE_INITFUNC(void)
PyObject *errors_module;
PyObject *modelmod_name;
PyObject *model_module;
- PyObject *version;
PyObject *sys_modules;
PyObject *tmpnum, *tmpstr;
PyObject *codes_dict;
@@ -1698,10 +1705,6 @@ MODULE_INITFUNC(void)
Py_INCREF(&Xmlparsetype);
PyModule_AddObject(m, "XMLParserType", (PyObject *) &Xmlparsetype);
- version = PyUnicode_FromString(PY_VERSION);
- if (!version)
- return NULL;
- PyModule_AddObject(m, "__version__", version);
PyModule_AddStringConstant(m, "EXPAT_VERSION",
(char *) XML_ExpatVersion());
{
diff --git a/Modules/readline.c b/Modules/readline.c
index 4d54dad..a710652 100644
--- a/Modules/readline.c
+++ b/Modules/readline.c
@@ -235,10 +235,9 @@ set_hook(const char *funcname, PyObject **hook_var, PyObject *args)
Py_XDECREF(tmp);
}
else {
- PyOS_snprintf(buf, sizeof(buf),
- "set_%.50s(func): argument not callable",
- funcname);
- PyErr_SetString(PyExc_TypeError, buf);
+ PyErr_Format(PyExc_TypeError,
+ "set_%.50s(func): argument not callable",
+ funcname);
return NULL;
}
Py_RETURN_NONE;
@@ -892,7 +891,7 @@ setup_readline(void)
#endif
#ifdef __APPLE__
- /* the libedit readline emulation resets key bindings etc
+ /* the libedit readline emulation resets key bindings etc
* when calling rl_initialize. So call it upfront
*/
if (using_libedit_emulation)
@@ -932,11 +931,11 @@ setup_readline(void)
*/
#ifdef __APPLE__
if (using_libedit_emulation)
- rl_read_init_file(NULL);
+ rl_read_init_file(NULL);
else
#endif /* __APPLE__ */
rl_initialize();
-
+
RESTORE_LOCALE(saved_locale)
}
diff --git a/Modules/resource.c b/Modules/resource.c
index 1875e48..1aed497 100644
--- a/Modules/resource.c
+++ b/Modules/resource.c
@@ -18,8 +18,6 @@
#define doubletime(TV) ((double)(TV).tv_sec + (TV).tv_usec * 0.000001)
-static PyObject *ResourceError;
-
PyDoc_STRVAR(struct_rusage__doc__,
"struct_rusage: Result from getrusage.\n\n"
"This object may be accessed either as a tuple of\n"
@@ -73,7 +71,7 @@ resource_getrusage(PyObject *self, PyObject *args)
"invalid who parameter");
return NULL;
}
- PyErr_SetFromErrno(ResourceError);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
@@ -125,7 +123,7 @@ resource_getrlimit(PyObject *self, PyObject *args)
}
if (getrlimit(resource, &rl) == -1) {
- PyErr_SetFromErrno(ResourceError);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
@@ -183,7 +181,7 @@ resource_setrlimit(PyObject *self, PyObject *args)
PyErr_SetString(PyExc_ValueError,
"not allowed to raise maximum limit");
else
- PyErr_SetFromErrno(ResourceError);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
Py_INCREF(Py_None);
@@ -246,12 +244,8 @@ PyInit_resource(void)
return NULL;
/* Add some symbolic constants to the module */
- if (ResourceError == NULL) {
- ResourceError = PyErr_NewException("resource.error",
- NULL, NULL);
- }
- Py_INCREF(ResourceError);
- PyModule_AddObject(m, "error", ResourceError);
+ Py_INCREF(PyExc_OSError);
+ PyModule_AddObject(m, "error", PyExc_OSError);
if (!initialized)
PyStructSequence_InitType(&StructRUsageType,
&struct_rusage_desc);
diff --git a/Modules/selectmodule.c b/Modules/selectmodule.c
index 2452a65..6e3e6cb 100644
--- a/Modules/selectmodule.c
+++ b/Modules/selectmodule.c
@@ -7,6 +7,14 @@
#include "Python.h"
#include <structmember.h>
+#ifdef HAVE_SYS_DEVPOLL_H
+#include <sys/resource.h>
+#include <sys/devpoll.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#endif
+
#ifdef __APPLE__
/* Perform runtime testing for a broken poll on OSX to make it easier
* to use the same binary on multiple releases of the OS.
@@ -54,8 +62,6 @@ extern void bzero(void *, int);
# endif
#endif
-static PyObject *SelectError;
-
/* list of Python objects and their file descriptor */
typedef struct {
PyObject *obj; /* owned reference */
@@ -227,6 +233,11 @@ select_select(PyObject *self, PyObject *args)
"timeout period too long");
return NULL;
}
+ if (timeout < 0) {
+ PyErr_SetString(PyExc_ValueError,
+ "timeout must be non-negative");
+ return NULL;
+ }
seconds = (long)timeout;
timeout = timeout - (double)seconds;
tv.tv_sec = seconds;
@@ -269,11 +280,11 @@ select_select(PyObject *self, PyObject *args)
#ifdef MS_WINDOWS
if (n == SOCKET_ERROR) {
- PyErr_SetExcFromWindowsErr(SelectError, WSAGetLastError());
+ PyErr_SetExcFromWindowsErr(PyExc_OSError, WSAGetLastError());
}
#else
if (n < 0) {
- PyErr_SetFromErrno(SelectError);
+ PyErr_SetFromErrno(PyExc_OSError);
}
#endif
else {
@@ -420,7 +431,7 @@ poll_modify(pollObject *self, PyObject *args)
return NULL;
if (PyDict_GetItem(self->dict, key) == NULL) {
errno = ENOENT;
- PyErr_SetFromErrno(PyExc_IOError);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
value = PyLong_FromLong(events);
@@ -519,7 +530,7 @@ poll_poll(pollObject *self, PyObject *args)
Py_END_ALLOW_THREADS
if (poll_result < 0) {
- PyErr_SetFromErrno(SelectError);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
@@ -645,6 +656,339 @@ static PyTypeObject poll_Type = {
poll_methods, /*tp_methods*/
};
+#ifdef HAVE_SYS_DEVPOLL_H
+typedef struct {
+ PyObject_HEAD
+ int fd_devpoll;
+ int max_n_fds;
+ int n_fds;
+ struct pollfd *fds;
+} devpollObject;
+
+static PyTypeObject devpoll_Type;
+
+static int devpoll_flush(devpollObject *self)
+{
+ int size, n;
+
+ if (!self->n_fds) return 0;
+
+ size = sizeof(struct pollfd)*self->n_fds;
+ self->n_fds = 0;
+
+ Py_BEGIN_ALLOW_THREADS
+ n = write(self->fd_devpoll, self->fds, size);
+ Py_END_ALLOW_THREADS
+
+ if (n == -1 ) {
+ PyErr_SetFromErrno(PyExc_IOError);
+ return -1;
+ }
+ if (n < size) {
+ /*
+ ** Data writed to /dev/poll is a binary data structure. It is not
+ ** clear what to do if a partial write occurred. For now, raise
+ ** an exception and see if we actually found this problem in
+ ** the wild.
+ ** See http://bugs.python.org/issue6397.
+ */
+ PyErr_Format(PyExc_IOError, "failed to write all pollfds. "
+ "Please, report at http://bugs.python.org/. "
+ "Data to report: Size tried: %d, actual size written: %d.",
+ size, n);
+ return -1;
+ }
+ return 0;
+}
+
+static PyObject *
+internal_devpoll_register(devpollObject *self, PyObject *args, int remove)
+{
+ PyObject *o;
+ int fd, events = POLLIN | POLLPRI | POLLOUT;
+
+ if (!PyArg_ParseTuple(args, "O|i:register", &o, &events)) {
+ return NULL;
+ }
+
+ fd = PyObject_AsFileDescriptor(o);
+ if (fd == -1) return NULL;
+
+ if (remove) {
+ self->fds[self->n_fds].fd = fd;
+ self->fds[self->n_fds].events = POLLREMOVE;
+
+ if (++self->n_fds == self->max_n_fds) {
+ if (devpoll_flush(self))
+ return NULL;
+ }
+ }
+
+ self->fds[self->n_fds].fd = fd;
+ self->fds[self->n_fds].events = events;
+
+ if (++self->n_fds == self->max_n_fds) {
+ if (devpoll_flush(self))
+ return NULL;
+ }
+
+ Py_RETURN_NONE;
+}
+
+PyDoc_STRVAR(devpoll_register_doc,
+"register(fd [, eventmask] ) -> None\n\n\
+Register a file descriptor with the polling object.\n\
+fd -- either an integer, or an object with a fileno() method returning an\n\
+ int.\n\
+events -- an optional bitmask describing the type of events to check for");
+
+static PyObject *
+devpoll_register(devpollObject *self, PyObject *args)
+{
+ return internal_devpoll_register(self, args, 0);
+}
+
+PyDoc_STRVAR(devpoll_modify_doc,
+"modify(fd[, eventmask]) -> None\n\n\
+Modify a possible already registered file descriptor.\n\
+fd -- either an integer, or an object with a fileno() method returning an\n\
+ int.\n\
+events -- an optional bitmask describing the type of events to check for");
+
+static PyObject *
+devpoll_modify(devpollObject *self, PyObject *args)
+{
+ return internal_devpoll_register(self, args, 1);
+}
+
+
+PyDoc_STRVAR(devpoll_unregister_doc,
+"unregister(fd) -> None\n\n\
+Remove a file descriptor being tracked by the polling object.");
+
+static PyObject *
+devpoll_unregister(devpollObject *self, PyObject *o)
+{
+ int fd;
+
+ fd = PyObject_AsFileDescriptor( o );
+ if (fd == -1)
+ return NULL;
+
+ self->fds[self->n_fds].fd = fd;
+ self->fds[self->n_fds].events = POLLREMOVE;
+
+ if (++self->n_fds == self->max_n_fds) {
+ if (devpoll_flush(self))
+ return NULL;
+ }
+
+ Py_RETURN_NONE;
+}
+
+PyDoc_STRVAR(devpoll_poll_doc,
+"poll( [timeout] ) -> list of (fd, event) 2-tuples\n\n\
+Polls the set of registered file descriptors, returning a list containing \n\
+any descriptors that have events or errors to report.");
+
+static PyObject *
+devpoll_poll(devpollObject *self, PyObject *args)
+{
+ struct dvpoll dvp;
+ PyObject *result_list = NULL, *tout = NULL;
+ int poll_result, i;
+ long timeout;
+ PyObject *value, *num1, *num2;
+
+ if (!PyArg_UnpackTuple(args, "poll", 0, 1, &tout)) {
+ return NULL;
+ }
+
+ /* Check values for timeout */
+ if (tout == NULL || tout == Py_None)
+ timeout = -1;
+ else if (!PyNumber_Check(tout)) {
+ PyErr_SetString(PyExc_TypeError,
+ "timeout must be an integer or None");
+ return NULL;
+ }
+ else {
+ tout = PyNumber_Long(tout);
+ if (!tout)
+ return NULL;
+ timeout = PyLong_AsLong(tout);
+ Py_DECREF(tout);
+ if (timeout == -1 && PyErr_Occurred())
+ return NULL;
+ }
+
+ if ((timeout < -1) || (timeout > INT_MAX)) {
+ PyErr_SetString(PyExc_OverflowError,
+ "timeout is out of range");
+ return NULL;
+ }
+
+ if (devpoll_flush(self))
+ return NULL;
+
+ dvp.dp_fds = self->fds;
+ dvp.dp_nfds = self->max_n_fds;
+ dvp.dp_timeout = timeout;
+
+ /* call devpoll() */
+ Py_BEGIN_ALLOW_THREADS
+ poll_result = ioctl(self->fd_devpoll, DP_POLL, &dvp);
+ Py_END_ALLOW_THREADS
+
+ if (poll_result < 0) {
+ PyErr_SetFromErrno(PyExc_IOError);
+ return NULL;
+ }
+
+ /* build the result list */
+
+ result_list = PyList_New(poll_result);
+ if (!result_list)
+ return NULL;
+ else {
+ for (i = 0; i < poll_result; i++) {
+ num1 = PyLong_FromLong(self->fds[i].fd);
+ num2 = PyLong_FromLong(self->fds[i].revents);
+ if ((num1 == NULL) || (num2 == NULL)) {
+ Py_XDECREF(num1);
+ Py_XDECREF(num2);
+ goto error;
+ }
+ value = PyTuple_Pack(2, num1, num2);
+ Py_DECREF(num1);
+ Py_DECREF(num2);
+ if (value == NULL)
+ goto error;
+ if ((PyList_SetItem(result_list, i, value)) == -1) {
+ Py_DECREF(value);
+ goto error;
+ }
+ }
+ }
+
+ return result_list;
+
+ error:
+ Py_DECREF(result_list);
+ return NULL;
+}
+
+static PyMethodDef devpoll_methods[] = {
+ {"register", (PyCFunction)devpoll_register,
+ METH_VARARGS, devpoll_register_doc},
+ {"modify", (PyCFunction)devpoll_modify,
+ METH_VARARGS, devpoll_modify_doc},
+ {"unregister", (PyCFunction)devpoll_unregister,
+ METH_O, devpoll_unregister_doc},
+ {"poll", (PyCFunction)devpoll_poll,
+ METH_VARARGS, devpoll_poll_doc},
+ {NULL, NULL} /* sentinel */
+};
+
+static devpollObject *
+newDevPollObject(void)
+{
+ devpollObject *self;
+ int fd_devpoll, limit_result;
+ struct pollfd *fds;
+ struct rlimit limit;
+
+ Py_BEGIN_ALLOW_THREADS
+ /*
+ ** If we try to process more that getrlimit()
+ ** fds, the kernel will give an error, so
+ ** we set the limit here. It is a dynamic
+ ** value, because we can change rlimit() anytime.
+ */
+ limit_result = getrlimit(RLIMIT_NOFILE, &limit);
+ if (limit_result != -1)
+ fd_devpoll = open("/dev/poll", O_RDWR);
+ Py_END_ALLOW_THREADS
+
+ if (limit_result == -1) {
+ PyErr_SetFromErrno(PyExc_OSError);
+ return NULL;
+ }
+ if (fd_devpoll == -1) {
+ PyErr_SetFromErrnoWithFilename(PyExc_IOError, "/dev/poll");
+ return NULL;
+ }
+
+ fds = PyMem_NEW(struct pollfd, limit.rlim_cur);
+ if (fds == NULL) {
+ close(fd_devpoll);
+ PyErr_NoMemory();
+ return NULL;
+ }
+
+ self = PyObject_New(devpollObject, &devpoll_Type);
+ if (self == NULL) {
+ close(fd_devpoll);
+ PyMem_DEL(fds);
+ return NULL;
+ }
+ self->fd_devpoll = fd_devpoll;
+ self->max_n_fds = limit.rlim_cur;
+ self->n_fds = 0;
+ self->fds = fds;
+
+ return self;
+}
+
+static void
+devpoll_dealloc(devpollObject *self)
+{
+ Py_BEGIN_ALLOW_THREADS
+ close(self->fd_devpoll);
+ Py_END_ALLOW_THREADS
+
+ PyMem_DEL(self->fds);
+
+ PyObject_Del(self);
+}
+
+static PyTypeObject devpoll_Type = {
+ /* The ob_type field must be initialized in the module init function
+ * to be portable to Windows without using C++. */
+ PyVarObject_HEAD_INIT(NULL, 0)
+ "select.devpoll", /*tp_name*/
+ sizeof(devpollObject), /*tp_basicsize*/
+ 0, /*tp_itemsize*/
+ /* methods */
+ (destructor)devpoll_dealloc, /*tp_dealloc*/
+ 0, /*tp_print*/
+ 0, /*tp_getattr*/
+ 0, /*tp_setattr*/
+ 0, /*tp_reserved*/
+ 0, /*tp_repr*/
+ 0, /*tp_as_number*/
+ 0, /*tp_as_sequence*/
+ 0, /*tp_as_mapping*/
+ 0, /*tp_hash*/
+ 0, /*tp_call*/
+ 0, /*tp_str*/
+ 0, /*tp_getattro*/
+ 0, /*tp_setattro*/
+ 0, /*tp_as_buffer*/
+ Py_TPFLAGS_DEFAULT, /*tp_flags*/
+ 0, /*tp_doc*/
+ 0, /*tp_traverse*/
+ 0, /*tp_clear*/
+ 0, /*tp_richcompare*/
+ 0, /*tp_weaklistoffset*/
+ 0, /*tp_iter*/
+ 0, /*tp_iternext*/
+ devpoll_methods, /*tp_methods*/
+};
+#endif /* HAVE_SYS_DEVPOLL_H */
+
+
+
PyDoc_STRVAR(poll_doc,
"Returns a polling object, which supports registering and\n\
unregistering file descriptors, and then polling them for I/O events.");
@@ -655,6 +999,19 @@ select_poll(PyObject *self, PyObject *unused)
return (PyObject *)newPollObject();
}
+#ifdef HAVE_SYS_DEVPOLL_H
+PyDoc_STRVAR(devpoll_doc,
+"Returns a polling object, which supports registering and\n\
+unregistering file descriptors, and then polling them for I/O events.");
+
+static PyObject *
+select_devpoll(PyObject *self, PyObject *unused)
+{
+ return (PyObject *)newDevPollObject();
+}
+#endif
+
+
#ifdef __APPLE__
/*
* On some systems poll() sets errno on invalid file descriptors. We test
@@ -730,20 +1087,10 @@ pyepoll_internal_close(pyEpoll_Object *self)
}
static PyObject *
-newPyEpoll_Object(PyTypeObject *type, int sizehint, SOCKET fd)
+newPyEpoll_Object(PyTypeObject *type, int flags, SOCKET fd)
{
pyEpoll_Object *self;
- if (sizehint == -1) {
- sizehint = FD_SETSIZE-1;
- }
- else if (sizehint < 1) {
- PyErr_Format(PyExc_ValueError,
- "sizehint must be greater zero, got %d",
- sizehint);
- return NULL;
- }
-
assert(type != NULL && type->tp_alloc != NULL);
self = (pyEpoll_Object *) type->tp_alloc(type, 0);
if (self == NULL)
@@ -751,7 +1098,7 @@ newPyEpoll_Object(PyTypeObject *type, int sizehint, SOCKET fd)
if (fd == -1) {
Py_BEGIN_ALLOW_THREADS
- self->epfd = epoll_create(sizehint);
+ self->epfd = epoll_create1(flags);
Py_END_ALLOW_THREADS
}
else {
@@ -759,7 +1106,7 @@ newPyEpoll_Object(PyTypeObject *type, int sizehint, SOCKET fd)
}
if (self->epfd < 0) {
Py_DECREF(self);
- PyErr_SetFromErrno(PyExc_IOError);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
return (PyObject *)self;
@@ -769,14 +1116,18 @@ newPyEpoll_Object(PyTypeObject *type, int sizehint, SOCKET fd)
static PyObject *
pyepoll_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
{
- int sizehint = -1;
- static char *kwlist[] = {"sizehint", NULL};
+ int flags = 0, sizehint = 0;
+ static char *kwlist[] = {"sizehint", "flags", NULL};
- if (!PyArg_ParseTupleAndKeywords(args, kwds, "|i:epoll", kwlist,
- &sizehint))
+ if (!PyArg_ParseTupleAndKeywords(args, kwds, "|ii:epoll", kwlist,
+ &sizehint, &flags))
+ return NULL;
+ if (sizehint < 0) {
+ PyErr_SetString(PyExc_ValueError, "negative sizehint");
return NULL;
+ }
- return newPyEpoll_Object(type, sizehint, -1);
+ return newPyEpoll_Object(type, flags, -1);
}
@@ -792,7 +1143,7 @@ pyepoll_close(pyEpoll_Object *self)
{
errno = pyepoll_internal_close(self);
if (errno < 0) {
- PyErr_SetFromErrno(PyExc_IOError);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
Py_RETURN_NONE;
@@ -834,7 +1185,7 @@ pyepoll_fromfd(PyObject *cls, PyObject *args)
if (!PyArg_ParseTuple(args, "i:fromfd", &fd))
return NULL;
- return newPyEpoll_Object((PyTypeObject*)cls, -1, fd);
+ return newPyEpoll_Object((PyTypeObject*)cls, 0, fd);
}
PyDoc_STRVAR(pyepoll_fromfd_doc,
@@ -885,7 +1236,7 @@ pyepoll_internal_ctl(int epfd, int op, PyObject *pfd, unsigned int events)
}
if (result < 0) {
- PyErr_SetFromErrno(PyExc_IOError);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
Py_RETURN_NONE;
@@ -909,7 +1260,7 @@ pyepoll_register(pyEpoll_Object *self, PyObject *args, PyObject *kwds)
PyDoc_STRVAR(pyepoll_register_doc,
"register(fd[, eventmask]) -> None\n\
\n\
-Registers a new fd or raises an IOError if the fd is already registered.\n\
+Registers a new fd or raises an OSError if the fd is already registered.\n\
fd is the target file descriptor of the operation.\n\
events is a bit set composed of the various EPOLL constants; the default\n\
is EPOLL_IN | EPOLL_OUT | EPOLL_PRI.\n\
@@ -1008,7 +1359,7 @@ pyepoll_poll(pyEpoll_Object *self, PyObject *args, PyObject *kwds)
nfds = epoll_wait(self->epfd, evs, maxevents, timeout);
Py_END_ALLOW_THREADS
if (nfds < 0) {
- PyErr_SetFromErrno(PyExc_IOError);
+ PyErr_SetFromErrno(PyExc_OSError);
goto error;
}
@@ -1063,7 +1414,7 @@ static PyGetSetDef pyepoll_getsetlist[] = {
};
PyDoc_STRVAR(pyepoll_doc,
-"select.epoll([sizehint=-1])\n\
+"select.epoll(sizehint=-1, flags=0)\n\
\n\
Returns an epolling object\n\
\n\
@@ -1399,7 +1750,7 @@ newKqueue_Object(PyTypeObject *type, SOCKET fd)
}
if (self->kqfd < 0) {
Py_DECREF(self);
- PyErr_SetFromErrno(PyExc_IOError);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
return (PyObject *)self;
@@ -1431,7 +1782,7 @@ kqueue_queue_close(kqueue_queue_Object *self)
{
errno = kqueue_queue_internal_close(self);
if (errno < 0) {
- PyErr_SetFromErrno(PyExc_IOError);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
Py_RETURN_NONE;
@@ -1712,6 +2063,11 @@ static PyTypeObject kqueue_queue_Type = {
};
#endif /* HAVE_KQUEUE */
+
+
+
+
+
/* ************************************************************************ */
PyDoc_STRVAR(select_doc,
@@ -1743,6 +2099,9 @@ static PyMethodDef select_methods[] = {
#ifdef HAVE_POLL
{"poll", select_poll, METH_NOARGS, poll_doc},
#endif /* HAVE_POLL */
+#ifdef HAVE_SYS_DEVPOLL_H
+ {"devpoll", select_devpoll, METH_NOARGS, devpoll_doc},
+#endif
{0, 0}, /* sentinel */
};
@@ -1765,6 +2124,9 @@ static struct PyModuleDef selectmodule = {
NULL
};
+
+
+
PyMODINIT_FUNC
PyInit_select(void)
{
@@ -1773,9 +2135,8 @@ PyInit_select(void)
if (m == NULL)
return NULL;
- SelectError = PyErr_NewException("select.error", NULL, NULL);
- Py_INCREF(SelectError);
- PyModule_AddObject(m, "error", SelectError);
+ Py_INCREF(PyExc_OSError);
+ PyModule_AddObject(m, "error", PyExc_OSError);
#ifdef PIPE_BUF
#ifdef HAVE_BROKEN_PIPE_BUF
@@ -1822,6 +2183,11 @@ PyInit_select(void)
}
#endif /* HAVE_POLL */
+#ifdef HAVE_SYS_DEVPOLL_H
+ if (PyType_Ready(&devpoll_Type) < 0)
+ return NULL;
+#endif
+
#ifdef HAVE_EPOLL
Py_TYPE(&pyEpoll_Type) = &PyType_Type;
if (PyType_Ready(&pyEpoll_Type) < 0)
@@ -1846,6 +2212,8 @@ PyInit_select(void)
PyModule_AddIntConstant(m, "EPOLLWRNORM", EPOLLWRNORM);
PyModule_AddIntConstant(m, "EPOLLWRBAND", EPOLLWRBAND);
PyModule_AddIntConstant(m, "EPOLLMSG", EPOLLMSG);
+
+ PyModule_AddIntConstant(m, "EPOLL_CLOEXEC", EPOLL_CLOEXEC);
#endif /* HAVE_EPOLL */
#ifdef HAVE_KQUEUE
diff --git a/Modules/sha1module.c b/Modules/sha1module.c
index b25bd44..30e5c50 100644
--- a/Modules/sha1module.c
+++ b/Modules/sha1module.c
@@ -218,7 +218,7 @@ void sha1_process(struct sha1_state *sha1,
in += SHA1_BLOCKSIZE;
inlen -= SHA1_BLOCKSIZE;
} else {
- n = MIN(inlen, (SHA1_BLOCKSIZE - sha1->curlen));
+ n = MIN(inlen, (Py_ssize_t)(SHA1_BLOCKSIZE - sha1->curlen));
memcpy(sha1->buf + sha1->curlen, in, (size_t)n);
sha1->curlen += n;
in += n;
@@ -352,7 +352,7 @@ SHA1_hexdigest(SHA1object *self, PyObject *unused)
unsigned char digest[SHA1_DIGESTSIZE];
struct sha1_state temp;
PyObject *retval;
- Py_UNICODE *hex_digest;
+ Py_UCS1 *hex_digest;
int i, j;
/* Get the raw (binary) digest value */
@@ -360,24 +360,18 @@ SHA1_hexdigest(SHA1object *self, PyObject *unused)
sha1_done(&temp, digest);
/* Create a new string */
- retval = PyUnicode_FromStringAndSize(NULL, SHA1_DIGESTSIZE * 2);
+ retval = PyUnicode_New(SHA1_DIGESTSIZE * 2, 127);
if (!retval)
return NULL;
- hex_digest = PyUnicode_AS_UNICODE(retval);
- if (!hex_digest) {
- Py_DECREF(retval);
- return NULL;
- }
+ hex_digest = PyUnicode_1BYTE_DATA(retval);
/* Make hex version of the digest */
for(i=j=0; i<SHA1_DIGESTSIZE; i++) {
- char c;
+ unsigned char c;
c = (digest[i] >> 4) & 0xf;
- c = (c>9) ? c+'a'-10 : c + '0';
- hex_digest[j++] = c;
+ hex_digest[j++] = Py_hexdigits[c];
c = (digest[i] & 0xf);
- c = (c>9) ? c+'a'-10 : c + '0';
- hex_digest[j++] = c;
+ hex_digest[j++] = Py_hexdigits[c];
}
return retval;
}
diff --git a/Modules/sha256module.c b/Modules/sha256module.c
index 8617210..f1ef329 100644
--- a/Modules/sha256module.c
+++ b/Modules/sha256module.c
@@ -445,7 +445,7 @@ SHA256_hexdigest(SHAobject *self, PyObject *unused)
unsigned char digest[SHA_DIGESTSIZE];
SHAobject temp;
PyObject *retval;
- Py_UNICODE *hex_digest;
+ Py_UCS1 *hex_digest;
int i, j;
/* Get the raw (binary) digest value */
@@ -453,24 +453,18 @@ SHA256_hexdigest(SHAobject *self, PyObject *unused)
sha_final(digest, &temp);
/* Create a new string */
- retval = PyUnicode_FromStringAndSize(NULL, self->digestsize * 2);
+ retval = PyUnicode_New(self->digestsize * 2, 127);
if (!retval)
return NULL;
- hex_digest = PyUnicode_AS_UNICODE(retval);
- if (!hex_digest) {
- Py_DECREF(retval);
- return NULL;
- }
+ hex_digest = PyUnicode_1BYTE_DATA(retval);
/* Make hex version of the digest */
for(i=j=0; i<self->digestsize; i++) {
- char c;
+ unsigned char c;
c = (digest[i] >> 4) & 0xf;
- c = (c>9) ? c+'a'-10 : c + '0';
- hex_digest[j++] = c;
+ hex_digest[j++] = Py_hexdigits[c];
c = (digest[i] & 0xf);
- c = (c>9) ? c+'a'-10 : c + '0';
- hex_digest[j++] = c;
+ hex_digest[j++] = Py_hexdigits[c];
}
return retval;
}
diff --git a/Modules/sha512module.c b/Modules/sha512module.c
index 0faaf5c..4f5a113 100644
--- a/Modules/sha512module.c
+++ b/Modules/sha512module.c
@@ -511,7 +511,7 @@ SHA512_hexdigest(SHAobject *self, PyObject *unused)
unsigned char digest[SHA_DIGESTSIZE];
SHAobject temp;
PyObject *retval;
- Py_UNICODE *hex_digest;
+ Py_UCS1 *hex_digest;
int i, j;
/* Get the raw (binary) digest value */
@@ -519,24 +519,18 @@ SHA512_hexdigest(SHAobject *self, PyObject *unused)
sha512_final(digest, &temp);
/* Create a new string */
- retval = PyUnicode_FromStringAndSize(NULL, self->digestsize * 2);
+ retval = PyUnicode_New(self->digestsize * 2, 127);
if (!retval)
return NULL;
- hex_digest = PyUnicode_AS_UNICODE(retval);
- if (!hex_digest) {
- Py_DECREF(retval);
- return NULL;
- }
+ hex_digest = PyUnicode_1BYTE_DATA(retval);
/* Make hex version of the digest */
for (i=j=0; i<self->digestsize; i++) {
- char c;
+ unsigned char c;
c = (digest[i] >> 4) & 0xf;
- c = (c>9) ? c+'a'-10 : c + '0';
- hex_digest[j++] = c;
+ hex_digest[j++] = Py_hexdigits[c];
c = (digest[i] & 0xf);
- c = (c>9) ? c+'a'-10 : c + '0';
- hex_digest[j++] = c;
+ hex_digest[j++] = Py_hexdigits[c];
}
return retval;
}
diff --git a/Modules/signalmodule.c b/Modules/signalmodule.c
index 87c1c9a..c28f7af 100644
--- a/Modules/signalmodule.c
+++ b/Modules/signalmodule.c
@@ -22,6 +22,14 @@
#include <sys/time.h>
#endif
+#if defined(HAVE_PTHREAD_SIGMASK) && !defined(HAVE_BROKEN_PTHREAD_SIGMASK)
+# define PYPTHREAD_SIGMASK
+#endif
+
+#if defined(PYPTHREAD_SIGMASK) && defined(HAVE_PTHREAD_H)
+# include <pthread.h>
+#endif
+
#ifndef SIG_ERR
#define SIG_ERR ((PyOS_sighandler_t)(-1))
#endif
@@ -101,6 +109,10 @@ static PyObject *IntHandler;
static PyOS_sighandler_t old_siginthandler = SIG_DFL;
+#ifdef MS_WINDOWS
+static HANDLE sigint_event = NULL;
+#endif
+
#ifdef HAVE_GETITIMER
static PyObject *ItimerError;
@@ -168,15 +180,19 @@ checksignals_witharg(void * unused)
static void
trip_signal(int sig_num)
{
+ unsigned char byte;
+
Handlers[sig_num].tripped = 1;
+ if (wakeup_fd != -1) {
+ byte = (unsigned char)sig_num;
+ write(wakeup_fd, &byte, 1);
+ }
if (is_tripped)
return;
/* Set is_tripped after setting .tripped, as it gets
cleared in PyErr_CheckSignals() before .tripped. */
is_tripped = 1;
Py_AddPendingCall(checksignals_witharg, NULL);
- if (wakeup_fd != -1)
- write(wakeup_fd, "\0", 1);
}
static void
@@ -217,6 +233,11 @@ signal_handler(int sig_num)
/* Issue #10311: asynchronously executing signal handlers should not
mutate errno under the feet of unsuspecting C code. */
errno = save_errno;
+
+#ifdef MS_WINDOWS
+ if (sig_num == SIGINT)
+ SetEvent(sigint_event);
+#endif
}
@@ -313,7 +334,7 @@ signal_signal(PyObject *self, PyObject *args)
else
func = signal_handler;
if (PyOS_setsig(sig_num, func) == SIG_ERR) {
- PyErr_SetFromErrno(PyExc_RuntimeError);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
old_handler = Handlers[sig_num].func;
@@ -382,7 +403,7 @@ signal_siginterrupt(PyObject *self, PyObject *args)
return NULL;
}
if (siginterrupt(sig_num, flag)<0) {
- PyErr_SetFromErrno(PyExc_RuntimeError);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
@@ -495,6 +516,346 @@ PyDoc_STRVAR(getitimer_doc,
Returns current value of given itimer.");
#endif
+#if defined(PYPTHREAD_SIGMASK) || defined(HAVE_SIGWAIT) || \
+ defined(HAVE_SIGWAITINFO) || defined(HAVE_SIGTIMEDWAIT)
+/* Convert an iterable to a sigset.
+ Return 0 on success, return -1 and raise an exception on error. */
+
+static int
+iterable_to_sigset(PyObject *iterable, sigset_t *mask)
+{
+ int result = -1;
+ PyObject *iterator, *item;
+ long signum;
+ int err;
+
+ sigemptyset(mask);
+
+ iterator = PyObject_GetIter(iterable);
+ if (iterator == NULL)
+ goto error;
+
+ while (1)
+ {
+ item = PyIter_Next(iterator);
+ if (item == NULL) {
+ if (PyErr_Occurred())
+ goto error;
+ else
+ break;
+ }
+
+ signum = PyLong_AsLong(item);
+ Py_DECREF(item);
+ if (signum == -1 && PyErr_Occurred())
+ goto error;
+ if (0 < signum && signum < NSIG)
+ err = sigaddset(mask, (int)signum);
+ else
+ err = 1;
+ if (err) {
+ PyErr_Format(PyExc_ValueError,
+ "signal number %ld out of range", signum);
+ goto error;
+ }
+ }
+ result = 0;
+
+error:
+ Py_XDECREF(iterator);
+ return result;
+}
+#endif
+
+#if defined(PYPTHREAD_SIGMASK) || defined(HAVE_SIGPENDING)
+static PyObject*
+sigset_to_set(sigset_t mask)
+{
+ PyObject *signum, *result;
+ int sig;
+
+ result = PySet_New(0);
+ if (result == NULL)
+ return NULL;
+
+ for (sig = 1; sig < NSIG; sig++) {
+ if (sigismember(&mask, sig) != 1)
+ continue;
+
+ /* Handle the case where it is a member by adding the signal to
+ the result list. Ignore the other cases because they mean the
+ signal isn't a member of the mask or the signal was invalid,
+ and an invalid signal must have been our fault in constructing
+ the loop boundaries. */
+ signum = PyLong_FromLong(sig);
+ if (signum == NULL) {
+ Py_DECREF(result);
+ return NULL;
+ }
+ if (PySet_Add(result, signum) == -1) {
+ Py_DECREF(signum);
+ Py_DECREF(result);
+ return NULL;
+ }
+ Py_DECREF(signum);
+ }
+ return result;
+}
+#endif
+
+#ifdef PYPTHREAD_SIGMASK
+static PyObject *
+signal_pthread_sigmask(PyObject *self, PyObject *args)
+{
+ int how;
+ PyObject *signals;
+ sigset_t mask, previous;
+ int err;
+
+ if (!PyArg_ParseTuple(args, "iO:pthread_sigmask", &how, &signals))
+ return NULL;
+
+ if (iterable_to_sigset(signals, &mask))
+ return NULL;
+
+ err = pthread_sigmask(how, &mask, &previous);
+ if (err != 0) {
+ errno = err;
+ PyErr_SetFromErrno(PyExc_OSError);
+ return NULL;
+ }
+
+ /* if signals was unblocked, signal handlers have been called */
+ if (PyErr_CheckSignals())
+ return NULL;
+
+ return sigset_to_set(previous);
+}
+
+PyDoc_STRVAR(signal_pthread_sigmask_doc,
+"pthread_sigmask(how, mask) -> old mask\n\
+\n\
+Fetch and/or change the signal mask of the calling thread.");
+#endif /* #ifdef PYPTHREAD_SIGMASK */
+
+
+#ifdef HAVE_SIGPENDING
+static PyObject *
+signal_sigpending(PyObject *self)
+{
+ int err;
+ sigset_t mask;
+ err = sigpending(&mask);
+ if (err)
+ return PyErr_SetFromErrno(PyExc_OSError);
+ return sigset_to_set(mask);
+}
+
+PyDoc_STRVAR(signal_sigpending_doc,
+"sigpending() -> list\n\
+\n\
+Examine pending signals.");
+#endif /* #ifdef HAVE_SIGPENDING */
+
+
+#ifdef HAVE_SIGWAIT
+static PyObject *
+signal_sigwait(PyObject *self, PyObject *args)
+{
+ PyObject *signals;
+ sigset_t set;
+ int err, signum;
+
+ if (!PyArg_ParseTuple(args, "O:sigwait", &signals))
+ return NULL;
+
+ if (iterable_to_sigset(signals, &set))
+ return NULL;
+
+ Py_BEGIN_ALLOW_THREADS
+ err = sigwait(&set, &signum);
+ Py_END_ALLOW_THREADS
+ if (err) {
+ errno = err;
+ return PyErr_SetFromErrno(PyExc_OSError);
+ }
+
+ return PyLong_FromLong(signum);
+}
+
+PyDoc_STRVAR(signal_sigwait_doc,
+"sigwait(sigset) -> signum\n\
+\n\
+Wait a signal.");
+#endif /* #ifdef HAVE_SIGPENDING */
+
+#if defined(HAVE_SIGWAITINFO) || defined(HAVE_SIGTIMEDWAIT)
+static int initialized;
+static PyStructSequence_Field struct_siginfo_fields[] = {
+ {"si_signo", "signal number"},
+ {"si_code", "signal code"},
+ {"si_errno", "errno associated with this signal"},
+ {"si_pid", "sending process ID"},
+ {"si_uid", "real user ID of sending process"},
+ {"si_status", "exit value or signal"},
+ {"si_band", "band event for SIGPOLL"},
+ {0}
+};
+
+PyDoc_STRVAR(struct_siginfo__doc__,
+"struct_siginfo: Result from sigwaitinfo or sigtimedwait.\n\n\
+This object may be accessed either as a tuple of\n\
+(si_signo, si_code, si_errno, si_pid, si_uid, si_status, si_band),\n\
+or via the attributes si_signo, si_code, and so on.");
+
+static PyStructSequence_Desc struct_siginfo_desc = {
+ "signal.struct_siginfo", /* name */
+ struct_siginfo__doc__, /* doc */
+ struct_siginfo_fields, /* fields */
+ 7 /* n_in_sequence */
+};
+
+static PyTypeObject SiginfoType;
+
+static PyObject *
+fill_siginfo(siginfo_t *si)
+{
+ PyObject *result = PyStructSequence_New(&SiginfoType);
+ if (!result)
+ return NULL;
+
+ PyStructSequence_SET_ITEM(result, 0, PyLong_FromLong((long)(si->si_signo)));
+ PyStructSequence_SET_ITEM(result, 1, PyLong_FromLong((long)(si->si_code)));
+ PyStructSequence_SET_ITEM(result, 2, PyLong_FromLong((long)(si->si_errno)));
+ PyStructSequence_SET_ITEM(result, 3, PyLong_FromPid(si->si_pid));
+ PyStructSequence_SET_ITEM(result, 4, PyLong_FromLong((long)(si->si_uid)));
+ PyStructSequence_SET_ITEM(result, 5,
+ PyLong_FromLong((long)(si->si_status)));
+ PyStructSequence_SET_ITEM(result, 6, PyLong_FromLong(si->si_band));
+ if (PyErr_Occurred()) {
+ Py_DECREF(result);
+ return NULL;
+ }
+
+ return result;
+}
+#endif
+
+#ifdef HAVE_SIGWAITINFO
+static PyObject *
+signal_sigwaitinfo(PyObject *self, PyObject *args)
+{
+ PyObject *signals;
+ sigset_t set;
+ siginfo_t si;
+ int err;
+
+ if (!PyArg_ParseTuple(args, "O:sigwaitinfo", &signals))
+ return NULL;
+
+ if (iterable_to_sigset(signals, &set))
+ return NULL;
+
+ Py_BEGIN_ALLOW_THREADS
+ err = sigwaitinfo(&set, &si);
+ Py_END_ALLOW_THREADS
+ if (err == -1)
+ return PyErr_SetFromErrno(PyExc_OSError);
+
+ return fill_siginfo(&si);
+}
+
+PyDoc_STRVAR(signal_sigwaitinfo_doc,
+"sigwaitinfo(sigset) -> struct_siginfo\n\
+\n\
+Wait synchronously for a signal until one of the signals in *sigset* is\n\
+delivered.\n\
+Returns a struct_siginfo containing information about the signal.");
+#endif /* #ifdef HAVE_SIGWAITINFO */
+
+#ifdef HAVE_SIGTIMEDWAIT
+static PyObject *
+signal_sigtimedwait(PyObject *self, PyObject *args)
+{
+ PyObject *signals, *timeout;
+ struct timespec buf;
+ sigset_t set;
+ siginfo_t si;
+ int err;
+
+ if (!PyArg_ParseTuple(args, "OO:sigtimedwait", &signals, &timeout))
+ return NULL;
+
+ if (!PyTuple_Check(timeout) || PyTuple_Size(timeout) != 2) {
+ PyErr_SetString(PyExc_TypeError,
+ "sigtimedwait() arg 2 must be a tuple "
+ "(timeout_sec, timeout_nsec)");
+ return NULL;
+ } else if (!PyArg_ParseTuple(timeout, "ll:sigtimedwait",
+ &(buf.tv_sec), &(buf.tv_nsec)))
+ return NULL;
+
+ if (buf.tv_sec < 0 || buf.tv_nsec < 0) {
+ PyErr_SetString(PyExc_ValueError, "timeout must be non-negative");
+ return NULL;
+ }
+
+ if (iterable_to_sigset(signals, &set))
+ return NULL;
+
+ Py_BEGIN_ALLOW_THREADS
+ err = sigtimedwait(&set, &si, &buf);
+ Py_END_ALLOW_THREADS
+ if (err == -1) {
+ if (errno == EAGAIN)
+ Py_RETURN_NONE;
+ else
+ return PyErr_SetFromErrno(PyExc_OSError);
+ }
+
+ return fill_siginfo(&si);
+}
+
+PyDoc_STRVAR(signal_sigtimedwait_doc,
+"sigtimedwait(sigset, (timeout_sec, timeout_nsec)) -> struct_siginfo\n\
+\n\
+Like sigwaitinfo(), but with a timeout specified as a tuple of (seconds,\n\
+nanoseconds).");
+#endif /* #ifdef HAVE_SIGTIMEDWAIT */
+
+
+#if defined(HAVE_PTHREAD_KILL) && defined(WITH_THREAD)
+static PyObject *
+signal_pthread_kill(PyObject *self, PyObject *args)
+{
+ long tid;
+ int signum;
+ int err;
+
+ if (!PyArg_ParseTuple(args, "li:pthread_kill", &tid, &signum))
+ return NULL;
+
+ err = pthread_kill((pthread_t)tid, signum);
+ if (err != 0) {
+ errno = err;
+ PyErr_SetFromErrno(PyExc_OSError);
+ return NULL;
+ }
+
+ /* the signal may have been send to the current thread */
+ if (PyErr_CheckSignals())
+ return NULL;
+
+ Py_RETURN_NONE;
+}
+
+PyDoc_STRVAR(signal_pthread_kill_doc,
+"pthread_kill(thread_id, signum)\n\
+\n\
+Send a signal to a thread.");
+#endif /* #if defined(HAVE_PTHREAD_KILL) && defined(WITH_THREAD) */
+
+
/* List of functions defined in the module */
static PyMethodDef signal_methods[] = {
@@ -515,10 +876,34 @@ static PyMethodDef signal_methods[] = {
#endif
#ifdef HAVE_PAUSE
{"pause", (PyCFunction)signal_pause,
- METH_NOARGS,pause_doc},
+ METH_NOARGS, pause_doc},
#endif
{"default_int_handler", signal_default_int_handler,
METH_VARARGS, default_int_handler_doc},
+#if defined(HAVE_PTHREAD_KILL) && defined(WITH_THREAD)
+ {"pthread_kill", (PyCFunction)signal_pthread_kill,
+ METH_VARARGS, signal_pthread_kill_doc},
+#endif
+#ifdef PYPTHREAD_SIGMASK
+ {"pthread_sigmask", (PyCFunction)signal_pthread_sigmask,
+ METH_VARARGS, signal_pthread_sigmask_doc},
+#endif
+#ifdef HAVE_SIGPENDING
+ {"sigpending", (PyCFunction)signal_sigpending,
+ METH_NOARGS, signal_sigpending_doc},
+#endif
+#ifdef HAVE_SIGWAIT
+ {"sigwait", (PyCFunction)signal_sigwait,
+ METH_VARARGS, signal_sigwait_doc},
+#endif
+#ifdef HAVE_SIGWAITINFO
+ {"sigwaitinfo", (PyCFunction)signal_sigwaitinfo,
+ METH_VARARGS, signal_sigwaitinfo_doc},
+#endif
+#ifdef HAVE_SIGTIMEDWAIT
+ {"sigtimedwait", (PyCFunction)signal_sigtimedwait,
+ METH_VARARGS, signal_sigtimedwait_doc},
+#endif
{NULL, NULL} /* sentinel */
};
@@ -587,6 +972,15 @@ PyInit_signal(void)
if (m == NULL)
return NULL;
+#if defined(HAVE_SIGWAITINFO) || defined(HAVE_SIGTIMEDWAIT)
+ if (!initialized)
+ PyStructSequence_InitType(&SiginfoType, &struct_siginfo_desc);
+
+ Py_INCREF((PyObject*) &SiginfoType);
+ PyModule_AddObject(m, "struct_siginfo", (PyObject*) &SiginfoType);
+ initialized = 1;
+#endif
+
/* Add some symbolic constants to the module */
d = PyModule_GetDict(m);
@@ -603,6 +997,19 @@ PyInit_signal(void)
goto finally;
Py_DECREF(x);
+#ifdef SIG_BLOCK
+ if (PyModule_AddIntMacro(m, SIG_BLOCK))
+ goto finally;
+#endif
+#ifdef SIG_UNBLOCK
+ if (PyModule_AddIntMacro(m, SIG_UNBLOCK))
+ goto finally;
+#endif
+#ifdef SIG_SETMASK
+ if (PyModule_AddIntMacro(m, SIG_SETMASK))
+ goto finally;
+#endif
+
x = IntHandler = PyDict_GetItemString(d, "default_int_handler");
if (!x)
goto finally;
@@ -855,6 +1262,11 @@ PyInit_signal(void)
Py_DECREF(x);
#endif
+#ifdef MS_WINDOWS
+ /* Create manual-reset event, initially unset */
+ sigint_event = CreateEvent(NULL, TRUE, FALSE, FALSE);
+#endif
+
if (PyErr_Occurred()) {
Py_DECREF(m);
m = NULL;
@@ -999,3 +1411,25 @@ PyOS_AfterFork(void)
PyThread_ReInitTLS();
#endif
}
+
+int
+_PyOS_IsMainThread(void)
+{
+#ifdef WITH_THREAD
+ return PyThread_get_thread_ident() == main_thread;
+#else
+ return 1;
+#endif
+}
+
+#ifdef MS_WINDOWS
+void *_PyOS_SigintEvent(void)
+{
+ /* Returns a manual-reset event which gets tripped whenever
+ SIGINT is received.
+
+ Python.h does not include windows.h so we do cannot use HANDLE
+ as the return type of this function. We use void* instead. */
+ return sigint_event;
+}
+#endif
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
index d3e5c75..04ef0dc 100644
--- a/Modules/socketmodule.c
+++ b/Modules/socketmodule.c
@@ -42,6 +42,9 @@ Module interface:
- socket.inet_ntoa(packed IP) -> IP address string
- socket.getdefaulttimeout() -> None | float
- socket.setdefaulttimeout(None | float)
+- socket.if_nameindex() -> list of tuples (if_index, if_name)
+- socket.if_nametoindex(name) -> corresponding interface index
+- socket.if_indextoname(index) -> corresponding interface name
- an Internet socket address is a pair (hostname, port)
where hostname can be anything recognized by gethostbyname()
(including the dd.dd.dd.dd notation) and port is in host byte order
@@ -133,6 +136,9 @@ setblocking(0 | 1) -- set or clear the blocking I/O flag\n\
setsockopt(level, optname, value) -- set socket options\n\
settimeout(None | float) -- set or clear the timeout\n\
shutdown(how) -- shut down traffic in one or both directions\n\
+if_nameindex() -- return all network interface indices and names\n\
+if_nametoindex(name) -- return the corresponding interface index\n\
+if_indextoname(index) -- return the corresponding interface name\n\
\n\
[*] not available on all platforms!");
@@ -150,12 +156,16 @@ shutdown(how) -- shut down traffic in one or both directions\n\
# undef HAVE_GETHOSTBYNAME_R_6_ARG
#endif
+#if defined(__OpenBSD__)
+# include <sys/uio.h>
+#endif
+
#ifndef WITH_THREAD
# undef HAVE_GETHOSTBYNAME_R
#endif
#ifdef HAVE_GETHOSTBYNAME_R
-# if defined(_AIX) || defined(__osf__)
+# if defined(_AIX)
# define HAVE_GETHOSTBYNAME_R_3_ARG
# elif defined(__sun) || defined(__sgi)
# define HAVE_GETHOSTBYNAME_R_5_ARG
@@ -250,6 +260,14 @@ shutdown(how) -- shut down traffic in one or both directions\n\
#include <sys/types.h>
#endif
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+
+#ifdef HAVE_NET_IF_H
+#include <net/if.h>
+#endif
+
/* Generic socket object definitions and includes */
#define PySocket_BUILDING_SOCKET
#include "socketmodule.h"
@@ -260,6 +278,7 @@ shutdown(how) -- shut down traffic in one or both directions\n\
/* Non-MS WINDOWS includes */
# include <netdb.h>
+# include <unistd.h>
/* Headers needed for inet_ntoa() and inet_addr() */
# if defined(PYOS_OS2) && defined(PYCC_VACPP)
@@ -417,7 +436,8 @@ dup_socket(SOCKET handle)
#define SEGMENT_SIZE (32 * 1024 -1)
#endif
-#define SAS2SA(x) ((struct sockaddr *)(x))
+/* Convert "sock_addr_t *" to "struct sockaddr *". */
+#define SAS2SA(x) (&((x)->sa))
/*
* Constants for getnameinfo()
@@ -438,7 +458,6 @@ dup_socket(SOCKET handle)
/* Global variable holding the exception type for errors detected
by this module (but not argument type or memory errors, etc.). */
-static PyObject *socket_error;
static PyObject *socket_herror;
static PyObject *socket_gaierror;
static PyObject *socket_timeout;
@@ -455,6 +474,17 @@ static PyTypeObject sock_type;
#include <sys/poll.h>
#endif
+/* Largest value to try to store in a socklen_t (used when handling
+ ancillary data). POSIX requires socklen_t to hold at least
+ (2**31)-1 and recommends against storing larger values, but
+ socklen_t was originally int in the BSD interface, so to be on the
+ safe side we use the smaller of (2**31)-1 and INT_MAX. */
+#if INT_MAX > 0x7fffffff
+#define SOCKLEN_T_LIMIT 0x7fffffff
+#else
+#define SOCKLEN_T_LIMIT INT_MAX
+#endif
+
#ifdef HAVE_POLL
/* Instead of select(), we'll use poll() since poll() works on any fd. */
#define IS_SELECTABLE(s) 1
@@ -468,7 +498,7 @@ static PyTypeObject sock_type;
static PyObject*
select_error(void)
{
- PyErr_SetString(socket_error, "unable to select on socket");
+ PyErr_SetString(PyExc_OSError, "unable to select on socket");
return NULL;
}
@@ -495,7 +525,7 @@ set_error(void)
recognizes the error codes used by both GetLastError() and
WSAGetLastError */
if (err_no)
- return PyErr_SetExcFromWindowsErr(socket_error, err_no);
+ return PyErr_SetExcFromWindowsErr(PyExc_OSError, err_no);
#endif
#if defined(PYOS_OS2) && !defined(PYCC_GCC)
@@ -526,7 +556,7 @@ set_error(void)
}
v = Py_BuildValue("(is)", myerrorcode, outbuf);
if (v != NULL) {
- PyErr_SetObject(socket_error, v);
+ PyErr_SetObject(PyExc_OSError, v);
Py_DECREF(v);
}
return NULL;
@@ -534,7 +564,7 @@ set_error(void)
}
#endif
- return PyErr_SetFromErrno(socket_error);
+ return PyErr_SetFromErrno(PyExc_OSError);
}
@@ -853,13 +883,13 @@ setipaddr(char *name, struct sockaddr *addr_ret, size_t addr_ret_size, int af)
#endif
default:
freeaddrinfo(res);
- PyErr_SetString(socket_error,
+ PyErr_SetString(PyExc_OSError,
"unsupported address family");
return -1;
}
if (res->ai_next) {
freeaddrinfo(res);
- PyErr_SetString(socket_error,
+ PyErr_SetString(PyExc_OSError,
"wildcard resolved to multiple address");
return -1;
}
@@ -872,7 +902,7 @@ setipaddr(char *name, struct sockaddr *addr_ret, size_t addr_ret_size, int af)
if (name[0] == '<' && strcmp(name, "<broadcast>") == 0) {
struct sockaddr_in *sin;
if (af != AF_INET && af != AF_UNSPEC) {
- PyErr_SetString(socket_error,
+ PyErr_SetString(PyExc_OSError,
"address family mismatched");
return -1;
}
@@ -930,7 +960,7 @@ setipaddr(char *name, struct sockaddr *addr_ret, size_t addr_ret_size, int af)
return 16;
#endif
default:
- PyErr_SetString(socket_error, "unknown address family");
+ PyErr_SetString(PyExc_OSError, "unknown address family");
return -1;
}
}
@@ -979,7 +1009,7 @@ setbdaddr(char *name, bdaddr_t *bdaddr)
bdaddr->b[5] = b5;
return 6;
} else {
- PyErr_SetString(socket_error, "bad bluetooth address");
+ PyErr_SetString(PyExc_OSError, "bad bluetooth address");
return -1;
}
}
@@ -1044,7 +1074,7 @@ makesockaddr(SOCKET_T sockfd, struct sockaddr *addr, size_t addrlen, int proto)
#endif /* linux */
{
/* regular NULL-terminated string */
- return PyUnicode_FromString(a->sun_path);
+ return PyUnicode_DecodeFSDefault(a->sun_path);
}
}
#endif /* AF_UNIX */
@@ -1190,6 +1220,25 @@ makesockaddr(SOCKET_T sockfd, struct sockaddr *addr, size_t addrlen, int proto)
}
#endif
+#ifdef AF_CAN
+ case AF_CAN:
+ {
+ struct sockaddr_can *a = (struct sockaddr_can *)addr;
+ char *ifname = "";
+ struct ifreq ifr;
+ /* need to look up interface name given index */
+ if (a->can_ifindex) {
+ ifr.ifr_ifindex = a->can_ifindex;
+ if (ioctl(sockfd, SIOCGIFNAME, &ifr) == 0)
+ ifname = ifr.ifr_name;
+ }
+
+ return Py_BuildValue("O&h", PyUnicode_DecodeFSDefault,
+ ifname,
+ a->can_family);
+ }
+#endif
+
/* More cases here... */
default:
@@ -1221,17 +1270,27 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args,
struct sockaddr_un* addr;
char *path;
int len;
- if (!PyArg_Parse(args, "s#", &path, &len))
- return 0;
+ int retval = 0;
+
+ /* PEP 383. Not using PyUnicode_FSConverter since we need to
+ allow embedded nulls on Linux. */
+ if (PyUnicode_Check(args)) {
+ if ((args = PyUnicode_EncodeFSDefault(args)) == NULL)
+ return 0;
+ }
+ else
+ Py_INCREF(args);
+ if (!PyArg_Parse(args, "y#", &path, &len))
+ goto unix_out;
addr = (struct sockaddr_un*)addr_ret;
#ifdef linux
if (len > 0 && path[0] == 0) {
/* Linux abstract namespace extension */
if (len > sizeof addr->sun_path) {
- PyErr_SetString(socket_error,
+ PyErr_SetString(PyExc_OSError,
"AF_UNIX path too long");
- return 0;
+ goto unix_out;
}
}
else
@@ -1239,9 +1298,9 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args,
{
/* regular NULL-terminated string */
if (len >= sizeof addr->sun_path) {
- PyErr_SetString(socket_error,
+ PyErr_SetString(PyExc_OSError,
"AF_UNIX path too long");
- return 0;
+ goto unix_out;
}
addr->sun_path[len] = 0;
}
@@ -1252,7 +1311,10 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args,
#else
*len_ret = len + offsetof(struct sockaddr_un, sun_path);
#endif
- return 1;
+ retval = 1;
+ unix_out:
+ Py_DECREF(args);
+ return retval;
}
#endif /* AF_UNIX */
@@ -1280,6 +1342,11 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args,
}
#endif
+#ifdef AF_RDS
+ case AF_RDS:
+ /* RDS sockets use sockaddr_in: fall-through */
+#endif
+
case AF_INET:
{
struct sockaddr_in* addr;
@@ -1369,7 +1436,7 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args,
_BT_L2_MEMB(addr, family) = AF_BLUETOOTH;
if (!PyArg_ParseTuple(args, "si", &straddr,
&_BT_L2_MEMB(addr, psm))) {
- PyErr_SetString(socket_error, "getsockaddrarg: "
+ PyErr_SetString(PyExc_OSError, "getsockaddrarg: "
"wrong format");
return 0;
}
@@ -1388,7 +1455,7 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args,
_BT_RC_MEMB(addr, family) = AF_BLUETOOTH;
if (!PyArg_ParseTuple(args, "si", &straddr,
&_BT_RC_MEMB(addr, channel))) {
- PyErr_SetString(socket_error, "getsockaddrarg: "
+ PyErr_SetString(PyExc_OSError, "getsockaddrarg: "
"wrong format");
return 0;
}
@@ -1406,7 +1473,7 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args,
_BT_HCI_MEMB(addr, family) = AF_BLUETOOTH;
if (straddr == NULL) {
- PyErr_SetString(socket_error, "getsockaddrarg: "
+ PyErr_SetString(PyExc_OSError, "getsockaddrarg: "
"wrong format");
return 0;
}
@@ -1415,7 +1482,7 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args,
#else
_BT_HCI_MEMB(addr, family) = AF_BLUETOOTH;
if (!PyArg_ParseTuple(args, "i", &_BT_HCI_MEMB(addr, dev))) {
- PyErr_SetString(socket_error, "getsockaddrarg: "
+ PyErr_SetString(PyExc_OSError, "getsockaddrarg: "
"wrong format");
return 0;
}
@@ -1432,7 +1499,7 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args,
addr = (struct sockaddr_sco *)addr_ret;
_BT_SCO_MEMB(addr, family) = AF_BLUETOOTH;
if (!PyBytes_Check(args)) {
- PyErr_SetString(socket_error, "getsockaddrarg: "
+ PyErr_SetString(PyExc_OSError, "getsockaddrarg: "
"wrong format");
return 0;
}
@@ -1445,7 +1512,7 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args,
}
#endif
default:
- PyErr_SetString(socket_error, "getsockaddrarg: unknown Bluetooth protocol");
+ PyErr_SetString(PyExc_OSError, "getsockaddrarg: unknown Bluetooth protocol");
return 0;
}
}
@@ -1557,10 +1624,57 @@ getsockaddrarg(PySocketSockObject *s, PyObject *args,
}
#endif
+#ifdef AF_CAN
+ case AF_CAN:
+ switch (s->sock_proto) {
+ case CAN_RAW:
+ {
+ struct sockaddr_can *addr;
+ PyObject *interfaceName;
+ struct ifreq ifr;
+ addr = (struct sockaddr_can *)addr_ret;
+ Py_ssize_t len;
+
+ if (!PyArg_ParseTuple(args, "O&", PyUnicode_FSConverter,
+ &interfaceName))
+ return 0;
+
+ len = PyBytes_GET_SIZE(interfaceName);
+
+ if (len == 0) {
+ ifr.ifr_ifindex = 0;
+ } else if (len < sizeof(ifr.ifr_name)) {
+ strcpy(ifr.ifr_name, PyBytes_AS_STRING(interfaceName));
+ if (ioctl(s->sock_fd, SIOCGIFINDEX, &ifr) < 0) {
+ s->errorhandler();
+ Py_DECREF(interfaceName);
+ return 0;
+ }
+ } else {
+ PyErr_SetString(PyExc_OSError,
+ "AF_CAN interface name too long");
+ Py_DECREF(interfaceName);
+ return 0;
+ }
+
+ addr->can_family = AF_CAN;
+ addr->can_ifindex = ifr.ifr_ifindex;
+
+ *len_ret = sizeof(*addr);
+ Py_DECREF(interfaceName);
+ return 1;
+ }
+ default:
+ PyErr_SetString(PyExc_OSError,
+ "getsockaddrarg: unsupported CAN protocol");
+ return 0;
+ }
+#endif
+
/* More cases here... */
default:
- PyErr_SetString(socket_error, "getsockaddrarg: bad family");
+ PyErr_SetString(PyExc_OSError, "getsockaddrarg: bad family");
return 0;
}
@@ -1591,6 +1705,11 @@ getsockaddrlen(PySocketSockObject *s, socklen_t *len_ret)
}
#endif
+#ifdef AF_RDS
+ case AF_RDS:
+ /* RDS sockets use sockaddr_in: fall-through */
+#endif
+
case AF_INET:
{
*len_ret = sizeof (struct sockaddr_in);
@@ -1626,7 +1745,7 @@ getsockaddrlen(PySocketSockObject *s, socklen_t *len_ret)
return 1;
#endif
default:
- PyErr_SetString(socket_error, "getsockaddrlen: "
+ PyErr_SetString(PyExc_OSError, "getsockaddrlen: "
"unknown BT protocol");
return 0;
@@ -1650,14 +1769,134 @@ getsockaddrlen(PySocketSockObject *s, socklen_t *len_ret)
}
#endif
+#ifdef AF_CAN
+ case AF_CAN:
+ {
+ *len_ret = sizeof (struct sockaddr_can);
+ return 1;
+ }
+#endif
+
/* More cases here... */
default:
- PyErr_SetString(socket_error, "getsockaddrlen: bad family");
+ PyErr_SetString(PyExc_OSError, "getsockaddrlen: bad family");
+ return 0;
+
+ }
+}
+
+
+/* Support functions for the sendmsg() and recvmsg[_into]() methods.
+ Currently, these methods are only compiled if the RFC 2292/3542
+ CMSG_LEN() macro is available. Older systems seem to have used
+ sizeof(struct cmsghdr) + (length) where CMSG_LEN() is used now, so
+ it may be possible to define CMSG_LEN() that way if it's not
+ provided. Some architectures might need extra padding after the
+ cmsghdr, however, and CMSG_LEN() would have to take account of
+ this. */
+#ifdef CMSG_LEN
+/* If length is in range, set *result to CMSG_LEN(length) and return
+ true; otherwise, return false. */
+static int
+get_CMSG_LEN(size_t length, size_t *result)
+{
+ size_t tmp;
+
+ if (length > (SOCKLEN_T_LIMIT - CMSG_LEN(0)))
+ return 0;
+ tmp = CMSG_LEN(length);
+ if (tmp > SOCKLEN_T_LIMIT || tmp < length)
+ return 0;
+ *result = tmp;
+ return 1;
+}
+
+#ifdef CMSG_SPACE
+/* If length is in range, set *result to CMSG_SPACE(length) and return
+ true; otherwise, return false. */
+static int
+get_CMSG_SPACE(size_t length, size_t *result)
+{
+ size_t tmp;
+
+ /* Use CMSG_SPACE(1) here in order to take account of the padding
+ necessary before *and* after the data. */
+ if (length > (SOCKLEN_T_LIMIT - CMSG_SPACE(1)))
+ return 0;
+ tmp = CMSG_SPACE(length);
+ if (tmp > SOCKLEN_T_LIMIT || tmp < length)
+ return 0;
+ *result = tmp;
+ return 1;
+}
+#endif
+
+/* Return true iff msg->msg_controllen is valid, cmsgh is a valid
+ pointer in msg->msg_control with at least "space" bytes after it,
+ and its cmsg_len member inside the buffer. */
+static int
+cmsg_min_space(struct msghdr *msg, struct cmsghdr *cmsgh, size_t space)
+{
+ size_t cmsg_offset;
+ static const size_t cmsg_len_end = (offsetof(struct cmsghdr, cmsg_len) +
+ sizeof(cmsgh->cmsg_len));
+
+ /* Note that POSIX allows msg_controllen to be of signed type. */
+ if (cmsgh == NULL || msg->msg_control == NULL || msg->msg_controllen < 0)
+ return 0;
+ if (space < cmsg_len_end)
+ space = cmsg_len_end;
+ cmsg_offset = (char *)cmsgh - (char *)msg->msg_control;
+ return (cmsg_offset <= (size_t)-1 - space &&
+ cmsg_offset + space <= msg->msg_controllen);
+}
+
+/* If pointer CMSG_DATA(cmsgh) is in buffer msg->msg_control, set
+ *space to number of bytes following it in the buffer and return
+ true; otherwise, return false. Assumes cmsgh, msg->msg_control and
+ msg->msg_controllen are valid. */
+static int
+get_cmsg_data_space(struct msghdr *msg, struct cmsghdr *cmsgh, size_t *space)
+{
+ size_t data_offset;
+ char *data_ptr;
+
+ if ((data_ptr = (char *)CMSG_DATA(cmsgh)) == NULL)
return 0;
+ data_offset = data_ptr - (char *)msg->msg_control;
+ if (data_offset > msg->msg_controllen)
+ return 0;
+ *space = msg->msg_controllen - data_offset;
+ return 1;
+}
+
+/* If cmsgh is invalid or not contained in the buffer pointed to by
+ msg->msg_control, return -1. If cmsgh is valid and its associated
+ data is entirely contained in the buffer, set *data_len to the
+ length of the associated data and return 0. If only part of the
+ associated data is contained in the buffer but cmsgh is otherwise
+ valid, set *data_len to the length contained in the buffer and
+ return 1. */
+static int
+get_cmsg_data_len(struct msghdr *msg, struct cmsghdr *cmsgh, size_t *data_len)
+{
+ size_t space, cmsg_data_len;
+ if (!cmsg_min_space(msg, cmsgh, CMSG_LEN(0)) ||
+ cmsgh->cmsg_len < CMSG_LEN(0))
+ return -1;
+ cmsg_data_len = cmsgh->cmsg_len - CMSG_LEN(0);
+ if (!get_cmsg_data_space(msg, cmsgh, &space))
+ return -1;
+ if (space >= cmsg_data_len) {
+ *data_len = cmsg_data_len;
+ return 0;
}
+ *data_len = space;
+ return 1;
}
+#endif /* CMSG_LEN */
/* s._accept() -> (fd, address) */
@@ -1882,7 +2121,7 @@ sock_getsockopt(PySocketSockObject *s, PyObject *args)
#else
if (buflen <= 0 || buflen > 1024) {
#endif
- PyErr_SetString(socket_error,
+ PyErr_SetString(PyExc_OSError,
"getsockopt buflen out of range");
return NULL;
}
@@ -2613,6 +2852,331 @@ PyDoc_STRVAR(recvfrom_into_doc,
Like recv_into(buffer[, nbytes[, flags]]) but also return the sender's address info.");
+/* The sendmsg() and recvmsg[_into]() methods require a working
+ CMSG_LEN(). See the comment near get_CMSG_LEN(). */
+#ifdef CMSG_LEN
+/*
+ * Call recvmsg() with the supplied iovec structures, flags, and
+ * ancillary data buffer size (controllen). Returns the tuple return
+ * value for recvmsg() or recvmsg_into(), with the first item provided
+ * by the supplied makeval() function. makeval() will be called with
+ * the length read and makeval_data as arguments, and must return a
+ * new reference (which will be decrefed if there is a subsequent
+ * error). On error, closes any file descriptors received via
+ * SCM_RIGHTS.
+ */
+static PyObject *
+sock_recvmsg_guts(PySocketSockObject *s, struct iovec *iov, int iovlen,
+ int flags, Py_ssize_t controllen,
+ PyObject *(*makeval)(ssize_t, void *), void *makeval_data)
+{
+ ssize_t bytes_received = -1;
+ int timeout;
+ sock_addr_t addrbuf;
+ socklen_t addrbuflen;
+ struct msghdr msg = {0};
+ PyObject *cmsg_list = NULL, *retval = NULL;
+ void *controlbuf = NULL;
+ struct cmsghdr *cmsgh;
+ size_t cmsgdatalen = 0;
+ int cmsg_status;
+
+ /* XXX: POSIX says that msg_name and msg_namelen "shall be
+ ignored" when the socket is connected (Linux fills them in
+ anyway for AF_UNIX sockets at least). Normally msg_namelen
+ seems to be set to 0 if there's no address, but try to
+ initialize msg_name to something that won't be mistaken for a
+ real address if that doesn't happen. */
+ if (!getsockaddrlen(s, &addrbuflen))
+ return NULL;
+ memset(&addrbuf, 0, addrbuflen);
+ SAS2SA(&addrbuf)->sa_family = AF_UNSPEC;
+
+ if (controllen < 0 || controllen > SOCKLEN_T_LIMIT) {
+ PyErr_SetString(PyExc_ValueError,
+ "invalid ancillary data buffer length");
+ return NULL;
+ }
+ if (controllen > 0 && (controlbuf = PyMem_Malloc(controllen)) == NULL)
+ return PyErr_NoMemory();
+
+ /* Make the system call. */
+ if (!IS_SELECTABLE(s)) {
+ select_error();
+ goto finally;
+ }
+
+ BEGIN_SELECT_LOOP(s)
+ Py_BEGIN_ALLOW_THREADS;
+ msg.msg_name = SAS2SA(&addrbuf);
+ msg.msg_namelen = addrbuflen;
+ msg.msg_iov = iov;
+ msg.msg_iovlen = iovlen;
+ msg.msg_control = controlbuf;
+ msg.msg_controllen = controllen;
+ timeout = internal_select_ex(s, 0, interval);
+ if (!timeout)
+ bytes_received = recvmsg(s->sock_fd, &msg, flags);
+ Py_END_ALLOW_THREADS;
+ if (timeout == 1) {
+ PyErr_SetString(socket_timeout, "timed out");
+ goto finally;
+ }
+ END_SELECT_LOOP(s)
+
+ if (bytes_received < 0) {
+ s->errorhandler();
+ goto finally;
+ }
+
+ /* Make list of (level, type, data) tuples from control messages. */
+ if ((cmsg_list = PyList_New(0)) == NULL)
+ goto err_closefds;
+ /* Check for empty ancillary data as old CMSG_FIRSTHDR()
+ implementations didn't do so. */
+ for (cmsgh = ((msg.msg_controllen > 0) ? CMSG_FIRSTHDR(&msg) : NULL);
+ cmsgh != NULL; cmsgh = CMSG_NXTHDR(&msg, cmsgh)) {
+ PyObject *bytes, *tuple;
+ int tmp;
+
+ cmsg_status = get_cmsg_data_len(&msg, cmsgh, &cmsgdatalen);
+ if (cmsg_status != 0) {
+ if (PyErr_WarnEx(PyExc_RuntimeWarning,
+ "received malformed or improperly-truncated "
+ "ancillary data", 1) == -1)
+ goto err_closefds;
+ }
+ if (cmsg_status < 0)
+ break;
+ if (cmsgdatalen > PY_SSIZE_T_MAX) {
+ PyErr_SetString(PyExc_OSError, "control message too long");
+ goto err_closefds;
+ }
+
+ bytes = PyBytes_FromStringAndSize((char *)CMSG_DATA(cmsgh),
+ cmsgdatalen);
+ tuple = Py_BuildValue("iiN", (int)cmsgh->cmsg_level,
+ (int)cmsgh->cmsg_type, bytes);
+ if (tuple == NULL)
+ goto err_closefds;
+ tmp = PyList_Append(cmsg_list, tuple);
+ Py_DECREF(tuple);
+ if (tmp != 0)
+ goto err_closefds;
+
+ if (cmsg_status != 0)
+ break;
+ }
+
+ retval = Py_BuildValue("NOiN",
+ (*makeval)(bytes_received, makeval_data),
+ cmsg_list,
+ (int)msg.msg_flags,
+ makesockaddr(s->sock_fd, SAS2SA(&addrbuf),
+ ((msg.msg_namelen > addrbuflen) ?
+ addrbuflen : msg.msg_namelen),
+ s->sock_proto));
+ if (retval == NULL)
+ goto err_closefds;
+
+finally:
+ Py_XDECREF(cmsg_list);
+ PyMem_Free(controlbuf);
+ return retval;
+
+err_closefds:
+#ifdef SCM_RIGHTS
+ /* Close all descriptors coming from SCM_RIGHTS, so they don't leak. */
+ for (cmsgh = ((msg.msg_controllen > 0) ? CMSG_FIRSTHDR(&msg) : NULL);
+ cmsgh != NULL; cmsgh = CMSG_NXTHDR(&msg, cmsgh)) {
+ cmsg_status = get_cmsg_data_len(&msg, cmsgh, &cmsgdatalen);
+ if (cmsg_status < 0)
+ break;
+ if (cmsgh->cmsg_level == SOL_SOCKET &&
+ cmsgh->cmsg_type == SCM_RIGHTS) {
+ size_t numfds;
+ int *fdp;
+
+ numfds = cmsgdatalen / sizeof(int);
+ fdp = (int *)CMSG_DATA(cmsgh);
+ while (numfds-- > 0)
+ close(*fdp++);
+ }
+ if (cmsg_status != 0)
+ break;
+ }
+#endif /* SCM_RIGHTS */
+ goto finally;
+}
+
+
+static PyObject *
+makeval_recvmsg(ssize_t received, void *data)
+{
+ PyObject **buf = data;
+
+ if (received < PyBytes_GET_SIZE(*buf))
+ _PyBytes_Resize(buf, received);
+ Py_XINCREF(*buf);
+ return *buf;
+}
+
+/* s.recvmsg(bufsize[, ancbufsize[, flags]]) method */
+
+static PyObject *
+sock_recvmsg(PySocketSockObject *s, PyObject *args)
+{
+ Py_ssize_t bufsize, ancbufsize = 0;
+ int flags = 0;
+ struct iovec iov;
+ PyObject *buf = NULL, *retval = NULL;
+
+ if (!PyArg_ParseTuple(args, "n|ni:recvmsg", &bufsize, &ancbufsize, &flags))
+ return NULL;
+
+ if (bufsize < 0) {
+ PyErr_SetString(PyExc_ValueError, "negative buffer size in recvmsg()");
+ return NULL;
+ }
+ if ((buf = PyBytes_FromStringAndSize(NULL, bufsize)) == NULL)
+ return NULL;
+ iov.iov_base = PyBytes_AS_STRING(buf);
+ iov.iov_len = bufsize;
+
+ /* Note that we're passing a pointer to *our pointer* to the bytes
+ object here (&buf); makeval_recvmsg() may incref the object, or
+ deallocate it and set our pointer to NULL. */
+ retval = sock_recvmsg_guts(s, &iov, 1, flags, ancbufsize,
+ &makeval_recvmsg, &buf);
+ Py_XDECREF(buf);
+ return retval;
+}
+
+PyDoc_STRVAR(recvmsg_doc,
+"recvmsg(bufsize[, ancbufsize[, flags]]) -> (data, ancdata, msg_flags, address)\n\
+\n\
+Receive normal data (up to bufsize bytes) and ancillary data from the\n\
+socket. The ancbufsize argument sets the size in bytes of the\n\
+internal buffer used to receive the ancillary data; it defaults to 0,\n\
+meaning that no ancillary data will be received. Appropriate buffer\n\
+sizes for ancillary data can be calculated using CMSG_SPACE() or\n\
+CMSG_LEN(), and items which do not fit into the buffer might be\n\
+truncated or discarded. The flags argument defaults to 0 and has the\n\
+same meaning as for recv().\n\
+\n\
+The return value is a 4-tuple: (data, ancdata, msg_flags, address).\n\
+The data item is a bytes object holding the non-ancillary data\n\
+received. The ancdata item is a list of zero or more tuples\n\
+(cmsg_level, cmsg_type, cmsg_data) representing the ancillary data\n\
+(control messages) received: cmsg_level and cmsg_type are integers\n\
+specifying the protocol level and protocol-specific type respectively,\n\
+and cmsg_data is a bytes object holding the associated data. The\n\
+msg_flags item is the bitwise OR of various flags indicating\n\
+conditions on the received message; see your system documentation for\n\
+details. If the receiving socket is unconnected, address is the\n\
+address of the sending socket, if available; otherwise, its value is\n\
+unspecified.\n\
+\n\
+If recvmsg() raises an exception after the system call returns, it\n\
+will first attempt to close any file descriptors received via the\n\
+SCM_RIGHTS mechanism.");
+
+
+static PyObject *
+makeval_recvmsg_into(ssize_t received, void *data)
+{
+ return PyLong_FromSsize_t(received);
+}
+
+/* s.recvmsg_into(buffers[, ancbufsize[, flags]]) method */
+
+static PyObject *
+sock_recvmsg_into(PySocketSockObject *s, PyObject *args)
+{
+ Py_ssize_t ancbufsize = 0;
+ int flags = 0;
+ struct iovec *iovs = NULL;
+ Py_ssize_t i, nitems, nbufs = 0;
+ Py_buffer *bufs = NULL;
+ PyObject *buffers_arg, *fast, *retval = NULL;
+
+ if (!PyArg_ParseTuple(args, "O|ni:recvmsg_into",
+ &buffers_arg, &ancbufsize, &flags))
+ return NULL;
+
+ if ((fast = PySequence_Fast(buffers_arg,
+ "recvmsg_into() argument 1 must be an "
+ "iterable")) == NULL)
+ return NULL;
+ nitems = PySequence_Fast_GET_SIZE(fast);
+ if (nitems > INT_MAX) {
+ PyErr_SetString(PyExc_OSError, "recvmsg_into() argument 1 is too long");
+ goto finally;
+ }
+
+ /* Fill in an iovec for each item, and save the Py_buffer
+ structs to release afterwards. */
+ if (nitems > 0 && ((iovs = PyMem_New(struct iovec, nitems)) == NULL ||
+ (bufs = PyMem_New(Py_buffer, nitems)) == NULL)) {
+ PyErr_NoMemory();
+ goto finally;
+ }
+ for (; nbufs < nitems; nbufs++) {
+ if (!PyArg_Parse(PySequence_Fast_GET_ITEM(fast, nbufs),
+ "w*;recvmsg_into() argument 1 must be an iterable "
+ "of single-segment read-write buffers",
+ &bufs[nbufs]))
+ goto finally;
+ iovs[nbufs].iov_base = bufs[nbufs].buf;
+ iovs[nbufs].iov_len = bufs[nbufs].len;
+ }
+
+ retval = sock_recvmsg_guts(s, iovs, nitems, flags, ancbufsize,
+ &makeval_recvmsg_into, NULL);
+finally:
+ for (i = 0; i < nbufs; i++)
+ PyBuffer_Release(&bufs[i]);
+ PyMem_Free(bufs);
+ PyMem_Free(iovs);
+ Py_DECREF(fast);
+ return retval;
+}
+
+PyDoc_STRVAR(recvmsg_into_doc,
+"recvmsg_into(buffers[, ancbufsize[, flags]]) -> (nbytes, ancdata, msg_flags, address)\n\
+\n\
+Receive normal data and ancillary data from the socket, scattering the\n\
+non-ancillary data into a series of buffers. The buffers argument\n\
+must be an iterable of objects that export writable buffers\n\
+(e.g. bytearray objects); these will be filled with successive chunks\n\
+of the non-ancillary data until it has all been written or there are\n\
+no more buffers. The ancbufsize argument sets the size in bytes of\n\
+the internal buffer used to receive the ancillary data; it defaults to\n\
+0, meaning that no ancillary data will be received. Appropriate\n\
+buffer sizes for ancillary data can be calculated using CMSG_SPACE()\n\
+or CMSG_LEN(), and items which do not fit into the buffer might be\n\
+truncated or discarded. The flags argument defaults to 0 and has the\n\
+same meaning as for recv().\n\
+\n\
+The return value is a 4-tuple: (nbytes, ancdata, msg_flags, address).\n\
+The nbytes item is the total number of bytes of non-ancillary data\n\
+written into the buffers. The ancdata item is a list of zero or more\n\
+tuples (cmsg_level, cmsg_type, cmsg_data) representing the ancillary\n\
+data (control messages) received: cmsg_level and cmsg_type are\n\
+integers specifying the protocol level and protocol-specific type\n\
+respectively, and cmsg_data is a bytes object holding the associated\n\
+data. The msg_flags item is the bitwise OR of various flags\n\
+indicating conditions on the received message; see your system\n\
+documentation for details. If the receiving socket is unconnected,\n\
+address is the address of the sending socket, if available; otherwise,\n\
+its value is unspecified.\n\
+\n\
+If recvmsg_into() raises an exception after the system call returns,\n\
+it will first attempt to close any file descriptors received via the\n\
+SCM_RIGHTS mechanism.");
+#endif /* CMSG_LEN */
+
+
/* s.send(data [,flags]) method */
static PyObject *
@@ -2764,6 +3328,7 @@ sock_sendto(PySocketSockObject *s, PyObject *args)
PyErr_Format(PyExc_TypeError,
"sendto() takes 2 or 3 arguments (%d given)",
arglen);
+ return NULL;
}
if (PyErr_Occurred())
return NULL;
@@ -2807,6 +3372,234 @@ Like send(data, flags) but allows specifying the destination address.\n\
For IP sockets, the address is a pair (hostaddr, port).");
+/* The sendmsg() and recvmsg[_into]() methods require a working
+ CMSG_LEN(). See the comment near get_CMSG_LEN(). */
+#ifdef CMSG_LEN
+/* s.sendmsg(buffers[, ancdata[, flags[, address]]]) method */
+
+static PyObject *
+sock_sendmsg(PySocketSockObject *s, PyObject *args)
+{
+ Py_ssize_t i, ndataparts, ndatabufs = 0, ncmsgs, ncmsgbufs = 0;
+ Py_buffer *databufs = NULL;
+ struct iovec *iovs = NULL;
+ sock_addr_t addrbuf;
+ struct msghdr msg = {0};
+ struct cmsginfo {
+ int level;
+ int type;
+ Py_buffer data;
+ } *cmsgs = NULL;
+ void *controlbuf = NULL;
+ size_t controllen, controllen_last;
+ ssize_t bytes_sent = -1;
+ int addrlen, timeout, flags = 0;
+ PyObject *data_arg, *cmsg_arg = NULL, *addr_arg = NULL, *data_fast = NULL,
+ *cmsg_fast = NULL, *retval = NULL;
+
+ if (!PyArg_ParseTuple(args, "O|OiO:sendmsg",
+ &data_arg, &cmsg_arg, &flags, &addr_arg))
+ return NULL;
+
+ /* Parse destination address. */
+ if (addr_arg != NULL && addr_arg != Py_None) {
+ if (!getsockaddrarg(s, addr_arg, SAS2SA(&addrbuf), &addrlen))
+ goto finally;
+ msg.msg_name = &addrbuf;
+ msg.msg_namelen = addrlen;
+ }
+
+ /* Fill in an iovec for each message part, and save the Py_buffer
+ structs to release afterwards. */
+ if ((data_fast = PySequence_Fast(data_arg,
+ "sendmsg() argument 1 must be an "
+ "iterable")) == NULL)
+ goto finally;
+ ndataparts = PySequence_Fast_GET_SIZE(data_fast);
+ if (ndataparts > INT_MAX) {
+ PyErr_SetString(PyExc_OSError, "sendmsg() argument 1 is too long");
+ goto finally;
+ }
+ msg.msg_iovlen = ndataparts;
+ if (ndataparts > 0 &&
+ ((msg.msg_iov = iovs = PyMem_New(struct iovec, ndataparts)) == NULL ||
+ (databufs = PyMem_New(Py_buffer, ndataparts)) == NULL)) {
+ PyErr_NoMemory();
+ goto finally;
+ }
+ for (; ndatabufs < ndataparts; ndatabufs++) {
+ if (!PyArg_Parse(PySequence_Fast_GET_ITEM(data_fast, ndatabufs),
+ "y*;sendmsg() argument 1 must be an iterable of "
+ "buffer-compatible objects",
+ &databufs[ndatabufs]))
+ goto finally;
+ iovs[ndatabufs].iov_base = databufs[ndatabufs].buf;
+ iovs[ndatabufs].iov_len = databufs[ndatabufs].len;
+ }
+
+ if (cmsg_arg == NULL)
+ ncmsgs = 0;
+ else {
+ if ((cmsg_fast = PySequence_Fast(cmsg_arg,
+ "sendmsg() argument 2 must be an "
+ "iterable")) == NULL)
+ goto finally;
+ ncmsgs = PySequence_Fast_GET_SIZE(cmsg_fast);
+ }
+
+#ifndef CMSG_SPACE
+ if (ncmsgs > 1) {
+ PyErr_SetString(PyExc_OSError,
+ "sending multiple control messages is not supported "
+ "on this system");
+ goto finally;
+ }
+#endif
+ /* Save level, type and Py_buffer for each control message,
+ and calculate total size. */
+ if (ncmsgs > 0 && (cmsgs = PyMem_New(struct cmsginfo, ncmsgs)) == NULL) {
+ PyErr_NoMemory();
+ goto finally;
+ }
+ controllen = controllen_last = 0;
+ while (ncmsgbufs < ncmsgs) {
+ size_t bufsize, space;
+
+ if (!PyArg_Parse(PySequence_Fast_GET_ITEM(cmsg_fast, ncmsgbufs),
+ "(iiy*):[sendmsg() ancillary data items]",
+ &cmsgs[ncmsgbufs].level,
+ &cmsgs[ncmsgbufs].type,
+ &cmsgs[ncmsgbufs].data))
+ goto finally;
+ bufsize = cmsgs[ncmsgbufs++].data.len;
+
+#ifdef CMSG_SPACE
+ if (!get_CMSG_SPACE(bufsize, &space)) {
+#else
+ if (!get_CMSG_LEN(bufsize, &space)) {
+#endif
+ PyErr_SetString(PyExc_OSError, "ancillary data item too large");
+ goto finally;
+ }
+ controllen += space;
+ if (controllen > SOCKLEN_T_LIMIT || controllen < controllen_last) {
+ PyErr_SetString(PyExc_OSError, "too much ancillary data");
+ goto finally;
+ }
+ controllen_last = controllen;
+ }
+
+ /* Construct ancillary data block from control message info. */
+ if (ncmsgbufs > 0) {
+ struct cmsghdr *cmsgh = NULL;
+
+ if ((msg.msg_control = controlbuf =
+ PyMem_Malloc(controllen)) == NULL) {
+ PyErr_NoMemory();
+ goto finally;
+ }
+ msg.msg_controllen = controllen;
+
+ /* Need to zero out the buffer as a workaround for glibc's
+ CMSG_NXTHDR() implementation. After getting the pointer to
+ the next header, it checks its (uninitialized) cmsg_len
+ member to see if the "message" fits in the buffer, and
+ returns NULL if it doesn't. Zero-filling the buffer
+ ensures that that doesn't happen. */
+ memset(controlbuf, 0, controllen);
+
+ for (i = 0; i < ncmsgbufs; i++) {
+ size_t msg_len, data_len = cmsgs[i].data.len;
+ int enough_space = 0;
+
+ cmsgh = (i == 0) ? CMSG_FIRSTHDR(&msg) : CMSG_NXTHDR(&msg, cmsgh);
+ if (cmsgh == NULL) {
+ PyErr_Format(PyExc_RuntimeError,
+ "unexpected NULL result from %s()",
+ (i == 0) ? "CMSG_FIRSTHDR" : "CMSG_NXTHDR");
+ goto finally;
+ }
+ if (!get_CMSG_LEN(data_len, &msg_len)) {
+ PyErr_SetString(PyExc_RuntimeError,
+ "item size out of range for CMSG_LEN()");
+ goto finally;
+ }
+ if (cmsg_min_space(&msg, cmsgh, msg_len)) {
+ size_t space;
+
+ cmsgh->cmsg_len = msg_len;
+ if (get_cmsg_data_space(&msg, cmsgh, &space))
+ enough_space = (space >= data_len);
+ }
+ if (!enough_space) {
+ PyErr_SetString(PyExc_RuntimeError,
+ "ancillary data does not fit in calculated "
+ "space");
+ goto finally;
+ }
+ cmsgh->cmsg_level = cmsgs[i].level;
+ cmsgh->cmsg_type = cmsgs[i].type;
+ memcpy(CMSG_DATA(cmsgh), cmsgs[i].data.buf, data_len);
+ }
+ }
+
+ /* Make the system call. */
+ if (!IS_SELECTABLE(s)) {
+ select_error();
+ goto finally;
+ }
+
+ BEGIN_SELECT_LOOP(s)
+ Py_BEGIN_ALLOW_THREADS;
+ timeout = internal_select_ex(s, 1, interval);
+ if (!timeout)
+ bytes_sent = sendmsg(s->sock_fd, &msg, flags);
+ Py_END_ALLOW_THREADS;
+ if (timeout == 1) {
+ PyErr_SetString(socket_timeout, "timed out");
+ goto finally;
+ }
+ END_SELECT_LOOP(s)
+
+ if (bytes_sent < 0) {
+ s->errorhandler();
+ goto finally;
+ }
+ retval = PyLong_FromSsize_t(bytes_sent);
+
+finally:
+ PyMem_Free(controlbuf);
+ for (i = 0; i < ncmsgbufs; i++)
+ PyBuffer_Release(&cmsgs[i].data);
+ PyMem_Free(cmsgs);
+ Py_XDECREF(cmsg_fast);
+ for (i = 0; i < ndatabufs; i++)
+ PyBuffer_Release(&databufs[i]);
+ PyMem_Free(databufs);
+ PyMem_Free(iovs);
+ Py_XDECREF(data_fast);
+ return retval;
+}
+
+PyDoc_STRVAR(sendmsg_doc,
+"sendmsg(buffers[, ancdata[, flags[, address]]]) -> count\n\
+\n\
+Send normal and ancillary data to the socket, gathering the\n\
+non-ancillary data from a series of buffers and concatenating it into\n\
+a single message. The buffers argument specifies the non-ancillary\n\
+data as an iterable of buffer-compatible objects (e.g. bytes objects).\n\
+The ancdata argument specifies the ancillary data (control messages)\n\
+as an iterable of zero or more tuples (cmsg_level, cmsg_type,\n\
+cmsg_data), where cmsg_level and cmsg_type are integers specifying the\n\
+protocol level and protocol-specific type respectively, and cmsg_data\n\
+is a buffer-compatible object holding the associated data. The flags\n\
+argument defaults to 0 and has the same meaning as for send(). If\n\
+address is supplied and not None, it sets a destination address for\n\
+the message. The return value is the number of bytes of non-ancillary\n\
+data sent.");
+#endif /* CMSG_LEN */
+
+
/* s.shutdown(how) method */
static PyObject *
@@ -2933,6 +3726,14 @@ static PyMethodDef sock_methods[] = {
setsockopt_doc},
{"shutdown", (PyCFunction)sock_shutdown, METH_O,
shutdown_doc},
+#ifdef CMSG_LEN
+ {"recvmsg", (PyCFunction)sock_recvmsg, METH_VARARGS,
+ recvmsg_doc},
+ {"recvmsg_into", (PyCFunction)sock_recvmsg_into, METH_VARARGS,
+ recvmsg_into_doc,},
+ {"sendmsg", (PyCFunction)sock_sendmsg, METH_VARARGS,
+ sendmsg_doc},
+#endif
{NULL, NULL} /* sentinel */
};
@@ -3108,25 +3909,35 @@ socket_gethostname(PyObject *self, PyObject *unused)
version of the hostname, whereas we need a Unicode string.
Otherwise, gethostname apparently also returns the DNS name. */
wchar_t buf[MAX_COMPUTERNAME_LENGTH + 1];
- DWORD size = sizeof(buf) / sizeof(wchar_t);
+ DWORD size = Py_ARRAY_LENGTH(buf);
+ wchar_t *name;
PyObject *result;
- if (!GetComputerNameExW(ComputerNamePhysicalDnsHostname, buf, &size)) {
- if (GetLastError() == ERROR_MORE_DATA) {
- /* MSDN says this may occur "because DNS allows longer names */
- if (size == 0) /* XXX: I'm not sure how to handle this */
- return PyUnicode_FromUnicode(NULL, 0);
- result = PyUnicode_FromUnicode(NULL, size - 1);
- if (!result)
- return NULL;
- if (GetComputerNameExW(ComputerNamePhysicalDnsHostname,
- PyUnicode_AS_UNICODE(result),
- &size))
- return result;
- Py_DECREF(result);
- }
- return PyErr_SetExcFromWindowsErr(PyExc_WindowsError, GetLastError());
+
+ if (GetComputerNameExW(ComputerNamePhysicalDnsHostname, buf, &size))
+ return PyUnicode_FromWideChar(buf, size);
+
+ if (GetLastError() != ERROR_MORE_DATA)
+ return PyErr_SetFromWindowsErr(0);
+
+ if (size == 0)
+ return PyUnicode_New(0, 0);
+
+ /* MSDN says ERROR_MORE_DATA may occur because DNS allows longer
+ names */
+ name = PyMem_Malloc(size * sizeof(wchar_t));
+ if (!name)
+ return NULL;
+ if (!GetComputerNameExW(ComputerNamePhysicalDnsHostname,
+ name,
+ &size))
+ {
+ PyMem_Free(name);
+ return PyErr_SetFromWindowsErr(0);
}
- return PyUnicode_FromUnicode(buf, size);
+
+ result = PyUnicode_FromWideChar(name, size);
+ PyMem_Free(name);
+ return result;
#else
char buf[1024];
int res;
@@ -3145,6 +3956,37 @@ PyDoc_STRVAR(gethostname_doc,
\n\
Return the current host name.");
+#ifdef HAVE_SETHOSTNAME
+PyDoc_STRVAR(sethostname_doc,
+"sethostname(name)\n\n\
+Sets the hostname to name.");
+
+static PyObject *
+socket_sethostname(PyObject *self, PyObject *args)
+{
+ PyObject *hnobj;
+ Py_buffer buf;
+ int res, flag = 0;
+
+ if (!PyArg_ParseTuple(args, "S:sethostname", &hnobj)) {
+ PyErr_Clear();
+ if (!PyArg_ParseTuple(args, "O&:sethostname",
+ PyUnicode_FSConverter, &hnobj))
+ return NULL;
+ flag = 1;
+ }
+ res = PyObject_GetBuffer(hnobj, &buf, PyBUF_SIMPLE);
+ if (!res) {
+ res = sethostname(buf.buf, buf.len);
+ PyBuffer_Release(&buf);
+ }
+ if (flag)
+ Py_DECREF(hnobj);
+ if (res)
+ return set_error();
+ Py_RETURN_NONE;
+}
+#endif
/* Python interface to gethostbyname(name). */
@@ -3191,9 +4033,8 @@ gethost_common(struct hostent *h, struct sockaddr *addr, int alen, int af)
if (h->h_addrtype != af) {
/* Let's get real error message to return */
- PyErr_SetString(socket_error,
- (char *)strerror(EAFNOSUPPORT));
-
+ errno = EAFNOSUPPORT;
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
@@ -3276,7 +4117,7 @@ gethost_common(struct hostent *h, struct sockaddr *addr, int alen, int af)
#endif
default: /* can't happen */
- PyErr_SetString(socket_error,
+ PyErr_SetString(PyExc_OSError,
"unsupported address family");
return NULL;
}
@@ -3308,11 +4149,7 @@ socket_gethostbyname_ex(PyObject *self, PyObject *args)
{
char *name;
struct hostent *h;
-#ifdef ENABLE_IPV6
- struct sockaddr_storage addr;
-#else
- struct sockaddr_in addr;
-#endif
+ sock_addr_t addr;
struct sockaddr *sa;
PyObject *ret = NULL;
#ifdef HAVE_GETHOSTBYNAME_R
@@ -3331,7 +4168,7 @@ socket_gethostbyname_ex(PyObject *self, PyObject *args)
if (!PyArg_ParseTuple(args, "et:gethostbyname_ex", "idna", &name))
return NULL;
- if (setipaddr(name, (struct sockaddr *)&addr, sizeof(addr), AF_INET) < 0)
+ if (setipaddr(name, SAS2SA(&addr), sizeof(addr), AF_INET) < 0)
goto finally;
Py_BEGIN_ALLOW_THREADS
#ifdef HAVE_GETHOSTBYNAME_R
@@ -3356,8 +4193,8 @@ socket_gethostbyname_ex(PyObject *self, PyObject *args)
addr.ss_family.
Therefore, we cast the sockaddr_storage into sockaddr to
access sa_family. */
- sa = (struct sockaddr*)&addr;
- ret = gethost_common(h, (struct sockaddr *)&addr, sizeof(addr),
+ sa = SAS2SA(&addr);
+ ret = gethost_common(h, SAS2SA(&addr), sizeof(addr),
sa->sa_family);
#ifdef USE_GETHOSTBYNAME_LOCK
PyThread_release_lock(netdb_lock);
@@ -3380,12 +4217,8 @@ for a host. The host argument is a string giving a host name or IP number.");
static PyObject *
socket_gethostbyaddr(PyObject *self, PyObject *args)
{
-#ifdef ENABLE_IPV6
- struct sockaddr_storage addr;
-#else
- struct sockaddr_in addr;
-#endif
- struct sockaddr *sa = (struct sockaddr *)&addr;
+ sock_addr_t addr;
+ struct sockaddr *sa = SAS2SA(&addr);
char *ip_num;
struct hostent *h;
PyObject *ret = NULL;
@@ -3417,7 +4250,7 @@ socket_gethostbyaddr(PyObject *self, PyObject *args)
goto finally;
af = sa->sa_family;
ap = NULL;
- al = 0;
+ /* al = 0; */
switch (af) {
case AF_INET:
ap = (char *)&((struct sockaddr_in *)sa)->sin_addr;
@@ -3430,7 +4263,7 @@ socket_gethostbyaddr(PyObject *self, PyObject *args)
break;
#endif
default:
- PyErr_SetString(socket_error, "unsupported address family");
+ PyErr_SetString(PyExc_OSError, "unsupported address family");
goto finally;
}
Py_BEGIN_ALLOW_THREADS
@@ -3454,7 +4287,7 @@ socket_gethostbyaddr(PyObject *self, PyObject *args)
h = gethostbyaddr(ap, al, af);
#endif /* HAVE_GETHOSTBYNAME_R */
Py_END_ALLOW_THREADS
- ret = gethost_common(h, (struct sockaddr *)&addr, sizeof(addr), af);
+ ret = gethost_common(h, SAS2SA(&addr), sizeof(addr), af);
#ifdef USE_GETHOSTBYNAME_LOCK
PyThread_release_lock(netdb_lock);
#endif
@@ -3486,7 +4319,7 @@ socket_getservbyname(PyObject *self, PyObject *args)
sp = getservbyname(name, proto);
Py_END_ALLOW_THREADS
if (sp == NULL) {
- PyErr_SetString(socket_error, "service/proto not found");
+ PyErr_SetString(PyExc_OSError, "service/proto not found");
return NULL;
}
return PyLong_FromLong((long) ntohs(sp->s_port));
@@ -3523,7 +4356,7 @@ socket_getservbyport(PyObject *self, PyObject *args)
sp = getservbyport(htons((short)port), proto);
Py_END_ALLOW_THREADS
if (sp == NULL) {
- PyErr_SetString(socket_error, "port/proto not found");
+ PyErr_SetString(PyExc_OSError, "port/proto not found");
return NULL;
}
return PyUnicode_FromString(sp->s_name);
@@ -3552,7 +4385,7 @@ socket_getprotobyname(PyObject *self, PyObject *args)
sp = getprotobyname(name);
Py_END_ALLOW_THREADS
if (sp == NULL) {
- PyErr_SetString(socket_error, "protocol not found");
+ PyErr_SetString(PyExc_OSError, "protocol not found");
return NULL;
}
return PyLong_FromLong((long) sp->p_proto);
@@ -3807,7 +4640,7 @@ socket_inet_aton(PyObject *self, PyObject *args)
return PyBytes_FromStringAndSize((char *)(&buf),
sizeof(buf));
- PyErr_SetString(socket_error,
+ PyErr_SetString(PyExc_OSError,
"illegal IP address string passed to inet_aton");
return NULL;
@@ -3828,7 +4661,7 @@ socket_inet_aton(PyObject *self, PyObject *args)
packed_addr = inet_addr(ip_addr);
if (packed_addr == INADDR_NONE) { /* invalid address */
- PyErr_SetString(socket_error,
+ PyErr_SetString(PyExc_OSError,
"illegal IP address string passed to inet_aton");
return NULL;
}
@@ -3860,7 +4693,7 @@ socket_inet_ntoa(PyObject *self, PyObject *args)
}
if (addr_len != sizeof(packed_addr)) {
- PyErr_SetString(socket_error,
+ PyErr_SetString(PyExc_OSError,
"packed IP wrong length for inet_ntoa");
return NULL;
}
@@ -3895,7 +4728,7 @@ socket_inet_pton(PyObject *self, PyObject *args)
#if !defined(ENABLE_IPV6) && defined(AF_INET6)
if(af == AF_INET6) {
- PyErr_SetString(socket_error,
+ PyErr_SetString(PyExc_OSError,
"can't use AF_INET6, IPv6 is disabled");
return NULL;
}
@@ -3903,10 +4736,10 @@ socket_inet_pton(PyObject *self, PyObject *args)
retval = inet_pton(af, ip, packed);
if (retval < 0) {
- PyErr_SetFromErrno(socket_error);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
} else if (retval == 0) {
- PyErr_SetString(socket_error,
+ PyErr_SetString(PyExc_OSError,
"illegal IP address string passed to inet_pton");
return NULL;
} else if (af == AF_INET) {
@@ -3918,7 +4751,7 @@ socket_inet_pton(PyObject *self, PyObject *args)
sizeof(struct in6_addr));
#endif
} else {
- PyErr_SetString(socket_error, "unknown address family");
+ PyErr_SetString(PyExc_OSError, "unknown address family");
return NULL;
}
}
@@ -3970,7 +4803,7 @@ socket_inet_ntop(PyObject *self, PyObject *args)
retval = inet_ntop(af, packed, ip, sizeof(ip));
if (!retval) {
- PyErr_SetFromErrno(socket_error);
+ PyErr_SetFromErrno(PyExc_OSError);
return NULL;
} else {
return PyUnicode_FromString(retval);
@@ -3989,7 +4822,7 @@ socket_inet_ntop(PyObject *self, PyObject *args)
static PyObject *
socket_getaddrinfo(PyObject *self, PyObject *args, PyObject* kwargs)
{
- static char* kwnames[] = {"host", "port", "family", "type", "proto",
+ static char* kwnames[] = {"host", "port", "family", "type", "proto",
"flags", 0};
struct addrinfo hints, *res;
struct addrinfo *res0 = NULL;
@@ -4004,7 +4837,7 @@ socket_getaddrinfo(PyObject *self, PyObject *args, PyObject* kwargs)
family = socktype = protocol = flags = 0;
family = AF_UNSPEC;
- if (!PyArg_ParseTupleAndKeywords(args, kwargs, "OO|iiii:getaddrinfo",
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "OO|iiii:getaddrinfo",
kwnames, &hobj, &pobj, &family, &socktype,
&protocol, &flags)) {
return NULL;
@@ -4012,7 +4845,9 @@ socket_getaddrinfo(PyObject *self, PyObject *args, PyObject* kwargs)
if (hobj == Py_None) {
hptr = NULL;
} else if (PyUnicode_Check(hobj)) {
- idna = PyObject_CallMethod(hobj, "encode", "s", "idna");
+ _Py_IDENTIFIER(encode);
+
+ idna = _PyObject_CallMethodId(hobj, &PyId_encode, "s", "idna");
if (!idna)
return NULL;
assert(PyBytes_Check(idna));
@@ -4039,7 +4874,7 @@ socket_getaddrinfo(PyObject *self, PyObject *args, PyObject* kwargs)
} else if (pobj == Py_None) {
pptr = (char *)NULL;
} else {
- PyErr_SetString(socket_error, "Int or String expected");
+ PyErr_SetString(PyExc_OSError, "Int or String expected");
goto err;
}
memset(&hints, 0, sizeof(hints));
@@ -4136,7 +4971,7 @@ socket_getnameinfo(PyObject *self, PyObject *args)
goto fail;
}
if (res->ai_next) {
- PyErr_SetString(socket_error,
+ PyErr_SetString(PyExc_OSError,
"sockaddr resolved to multiple addresses");
goto fail;
}
@@ -4144,7 +4979,7 @@ socket_getnameinfo(PyObject *self, PyObject *args)
case AF_INET:
{
if (PyTuple_GET_SIZE(sa) != 2) {
- PyErr_SetString(socket_error,
+ PyErr_SetString(PyExc_OSError,
"IPv4 sockaddr must be 2 tuple");
goto fail;
}
@@ -4231,6 +5066,163 @@ Set the default timeout in seconds (float) for new socket objects.\n\
A value of None indicates that new socket objects have no timeout.\n\
When the socket module is first imported, the default is None.");
+#ifdef HAVE_IF_NAMEINDEX
+/* Python API for getting interface indices and names */
+
+static PyObject *
+socket_if_nameindex(PyObject *self, PyObject *arg)
+{
+ PyObject *list;
+ int i;
+ struct if_nameindex *ni;
+
+ ni = if_nameindex();
+ if (ni == NULL) {
+ PyErr_SetFromErrno(PyExc_OSError);
+ return NULL;
+ }
+
+ list = PyList_New(0);
+ if (list == NULL) {
+ if_freenameindex(ni);
+ return NULL;
+ }
+
+ for (i = 0; ni[i].if_index != 0 && i < INT_MAX; i++) {
+ PyObject *ni_tuple = Py_BuildValue("IO&",
+ ni[i].if_index, PyUnicode_DecodeFSDefault, ni[i].if_name);
+
+ if (ni_tuple == NULL || PyList_Append(list, ni_tuple) == -1) {
+ Py_XDECREF(ni_tuple);
+ Py_DECREF(list);
+ if_freenameindex(ni);
+ return NULL;
+ }
+ Py_DECREF(ni_tuple);
+ }
+
+ if_freenameindex(ni);
+ return list;
+}
+
+PyDoc_STRVAR(if_nameindex_doc,
+"if_nameindex()\n\
+\n\
+Returns a list of network interface information (index, name) tuples.");
+
+static PyObject *
+socket_if_nametoindex(PyObject *self, PyObject *args)
+{
+ PyObject *oname;
+ unsigned long index;
+
+ if (!PyArg_ParseTuple(args, "O&:if_nametoindex",
+ PyUnicode_FSConverter, &oname))
+ return NULL;
+
+ index = if_nametoindex(PyBytes_AS_STRING(oname));
+ Py_DECREF(oname);
+ if (index == 0) {
+ /* if_nametoindex() doesn't set errno */
+ PyErr_SetString(PyExc_OSError, "no interface with this name");
+ return NULL;
+ }
+
+ return PyLong_FromUnsignedLong(index);
+}
+
+PyDoc_STRVAR(if_nametoindex_doc,
+"if_nametoindex(if_name)\n\
+\n\
+Returns the interface index corresponding to the interface name if_name.");
+
+static PyObject *
+socket_if_indextoname(PyObject *self, PyObject *arg)
+{
+ unsigned long index;
+ char name[IF_NAMESIZE + 1];
+
+ index = PyLong_AsUnsignedLong(arg);
+ if (index == (unsigned long) -1)
+ return NULL;
+
+ if (if_indextoname(index, name) == NULL) {
+ PyErr_SetFromErrno(PyExc_OSError);
+ return NULL;
+ }
+
+ return PyUnicode_DecodeFSDefault(name);
+}
+
+PyDoc_STRVAR(if_indextoname_doc,
+"if_indextoname(if_index)\n\
+\n\
+Returns the interface name corresponding to the interface index if_index.");
+
+#endif /* HAVE_IF_NAMEINDEX */
+
+
+#ifdef CMSG_LEN
+/* Python interface to CMSG_LEN(length). */
+
+static PyObject *
+socket_CMSG_LEN(PyObject *self, PyObject *args)
+{
+ Py_ssize_t length;
+ size_t result;
+
+ if (!PyArg_ParseTuple(args, "n:CMSG_LEN", &length))
+ return NULL;
+ if (length < 0 || !get_CMSG_LEN(length, &result)) {
+ PyErr_Format(PyExc_OverflowError, "CMSG_LEN() argument out of range");
+ return NULL;
+ }
+ return PyLong_FromSize_t(result);
+}
+
+PyDoc_STRVAR(CMSG_LEN_doc,
+"CMSG_LEN(length) -> control message length\n\
+\n\
+Return the total length, without trailing padding, of an ancillary\n\
+data item with associated data of the given length. This value can\n\
+often be used as the buffer size for recvmsg() to receive a single\n\
+item of ancillary data, but RFC 3542 requires portable applications to\n\
+use CMSG_SPACE() and thus include space for padding, even when the\n\
+item will be the last in the buffer. Raises OverflowError if length\n\
+is outside the permissible range of values.");
+
+
+#ifdef CMSG_SPACE
+/* Python interface to CMSG_SPACE(length). */
+
+static PyObject *
+socket_CMSG_SPACE(PyObject *self, PyObject *args)
+{
+ Py_ssize_t length;
+ size_t result;
+
+ if (!PyArg_ParseTuple(args, "n:CMSG_SPACE", &length))
+ return NULL;
+ if (length < 0 || !get_CMSG_SPACE(length, &result)) {
+ PyErr_SetString(PyExc_OverflowError,
+ "CMSG_SPACE() argument out of range");
+ return NULL;
+ }
+ return PyLong_FromSize_t(result);
+}
+
+PyDoc_STRVAR(CMSG_SPACE_doc,
+"CMSG_SPACE(length) -> buffer size\n\
+\n\
+Return the buffer size needed for recvmsg() to receive an ancillary\n\
+data item with associated data of the given length, along with any\n\
+trailing padding. The buffer space needed to receive multiple items\n\
+is the sum of the CMSG_SPACE() values for their associated data\n\
+lengths. Raises OverflowError if length is outside the permissible\n\
+range of values.");
+#endif /* CMSG_SPACE */
+#endif /* CMSG_LEN */
+
/* List of functions exported by this module. */
@@ -4243,6 +5235,10 @@ static PyMethodDef socket_methods[] = {
METH_VARARGS, gethostbyaddr_doc},
{"gethostname", socket_gethostname,
METH_NOARGS, gethostname_doc},
+#ifdef HAVE_SETHOSTNAME
+ {"sethostname", socket_sethostname,
+ METH_VARARGS, sethostname_doc},
+#endif
{"getservbyname", socket_getservbyname,
METH_VARARGS, getservbyname_doc},
{"getservbyport", socket_getservbyport,
@@ -4283,6 +5279,22 @@ static PyMethodDef socket_methods[] = {
METH_NOARGS, getdefaulttimeout_doc},
{"setdefaulttimeout", socket_setdefaulttimeout,
METH_O, setdefaulttimeout_doc},
+#ifdef HAVE_IF_NAMEINDEX
+ {"if_nameindex", socket_if_nameindex,
+ METH_NOARGS, if_nameindex_doc},
+ {"if_nametoindex", socket_if_nametoindex,
+ METH_VARARGS, if_nametoindex_doc},
+ {"if_indextoname", socket_if_indextoname,
+ METH_O, if_indextoname_doc},
+#endif
+#ifdef CMSG_LEN
+ {"CMSG_LEN", socket_CMSG_LEN,
+ METH_VARARGS, CMSG_LEN_doc},
+#ifdef CMSG_SPACE
+ {"CMSG_SPACE", socket_CMSG_SPACE,
+ METH_VARARGS, CMSG_SPACE_doc},
+#endif
+#endif
{NULL, NULL} /* Sentinel */
};
@@ -4415,27 +5427,24 @@ PyInit__socket(void)
if (m == NULL)
return NULL;
- socket_error = PyErr_NewException("socket.error",
- PyExc_IOError, NULL);
- if (socket_error == NULL)
- return NULL;
- PySocketModuleAPI.error = socket_error;
- Py_INCREF(socket_error);
- PyModule_AddObject(m, "error", socket_error);
+ Py_INCREF(PyExc_OSError);
+ PySocketModuleAPI.error = PyExc_OSError;
+ Py_INCREF(PyExc_OSError);
+ PyModule_AddObject(m, "error", PyExc_OSError);
socket_herror = PyErr_NewException("socket.herror",
- socket_error, NULL);
+ PyExc_OSError, NULL);
if (socket_herror == NULL)
return NULL;
Py_INCREF(socket_herror);
PyModule_AddObject(m, "herror", socket_herror);
- socket_gaierror = PyErr_NewException("socket.gaierror", socket_error,
+ socket_gaierror = PyErr_NewException("socket.gaierror", PyExc_OSError,
NULL);
if (socket_gaierror == NULL)
return NULL;
Py_INCREF(socket_gaierror);
PyModule_AddObject(m, "gaierror", socket_gaierror);
socket_timeout = PyErr_NewException("socket.timeout",
- socket_error, NULL);
+ PyExc_OSError, NULL);
if (socket_timeout == NULL)
return NULL;
PySocketModuleAPI.timeout_error = socket_timeout;
@@ -4621,6 +5630,23 @@ PyInit__socket(void)
PyModule_AddStringConstant(m, "BDADDR_LOCAL", "00:00:00:FF:FF:FF");
#endif
+#ifdef AF_CAN
+ /* Controller Area Network */
+ PyModule_AddIntConstant(m, "AF_CAN", AF_CAN);
+#endif
+#ifdef PF_CAN
+ /* Controller Area Network */
+ PyModule_AddIntConstant(m, "PF_CAN", PF_CAN);
+#endif
+
+/* Reliable Datagram Sockets */
+#ifdef AF_RDS
+ PyModule_AddIntConstant(m, "AF_RDS", AF_RDS);
+#endif
+#ifdef PF_RDS
+ PyModule_AddIntConstant(m, "PF_RDS", PF_RDS);
+#endif
+
#ifdef AF_PACKET
PyModule_AddIntMacro(m, AF_PACKET);
#endif
@@ -4770,6 +5796,18 @@ PyInit__socket(void)
#ifdef SO_SETFIB
PyModule_AddIntConstant(m, "SO_SETFIB", SO_SETFIB);
#endif
+#ifdef SO_PASSCRED
+ PyModule_AddIntConstant(m, "SO_PASSCRED", SO_PASSCRED);
+#endif
+#ifdef SO_PEERCRED
+ PyModule_AddIntConstant(m, "SO_PEERCRED", SO_PEERCRED);
+#endif
+#ifdef LOCAL_PEERCRED
+ PyModule_AddIntConstant(m, "LOCAL_PEERCRED", LOCAL_PEERCRED);
+#endif
+#ifdef SO_BINDTODEVICE
+ PyModule_AddIntMacro(m, SO_BINDTODEVICE);
+#endif
/* Maximum number of connections for "listen" */
#ifdef SOMAXCONN
@@ -4778,6 +5816,17 @@ PyInit__socket(void)
PyModule_AddIntConstant(m, "SOMAXCONN", 5); /* Common value */
#endif
+ /* Ancilliary message types */
+#ifdef SCM_RIGHTS
+ PyModule_AddIntConstant(m, "SCM_RIGHTS", SCM_RIGHTS);
+#endif
+#ifdef SCM_CREDENTIALS
+ PyModule_AddIntConstant(m, "SCM_CREDENTIALS", SCM_CREDENTIALS);
+#endif
+#ifdef SCM_CREDS
+ PyModule_AddIntConstant(m, "SCM_CREDS", SCM_CREDS);
+#endif
+
/* Flags for send, recv */
#ifdef MSG_OOB
PyModule_AddIntConstant(m, "MSG_OOB", MSG_OOB);
@@ -4809,6 +5858,33 @@ PyInit__socket(void)
#ifdef MSG_ETAG
PyModule_AddIntConstant(m, "MSG_ETAG", MSG_ETAG);
#endif
+#ifdef MSG_NOSIGNAL
+ PyModule_AddIntConstant(m, "MSG_NOSIGNAL", MSG_NOSIGNAL);
+#endif
+#ifdef MSG_NOTIFICATION
+ PyModule_AddIntConstant(m, "MSG_NOTIFICATION", MSG_NOTIFICATION);
+#endif
+#ifdef MSG_CMSG_CLOEXEC
+ PyModule_AddIntConstant(m, "MSG_CMSG_CLOEXEC", MSG_CMSG_CLOEXEC);
+#endif
+#ifdef MSG_ERRQUEUE
+ PyModule_AddIntConstant(m, "MSG_ERRQUEUE", MSG_ERRQUEUE);
+#endif
+#ifdef MSG_CONFIRM
+ PyModule_AddIntConstant(m, "MSG_CONFIRM", MSG_CONFIRM);
+#endif
+#ifdef MSG_MORE
+ PyModule_AddIntConstant(m, "MSG_MORE", MSG_MORE);
+#endif
+#ifdef MSG_EOF
+ PyModule_AddIntConstant(m, "MSG_EOF", MSG_EOF);
+#endif
+#ifdef MSG_BCAST
+ PyModule_AddIntConstant(m, "MSG_BCAST", MSG_BCAST);
+#endif
+#ifdef MSG_MCAST
+ PyModule_AddIntConstant(m, "MSG_MCAST", MSG_MCAST);
+#endif
/* Protocol level and numbers, usable for [gs]etsockopt */
#ifdef SOL_SOCKET
@@ -4844,6 +5920,49 @@ PyInit__socket(void)
#else
PyModule_AddIntConstant(m, "SOL_UDP", 17);
#endif
+#ifdef SOL_CAN_BASE
+ PyModule_AddIntConstant(m, "SOL_CAN_BASE", SOL_CAN_BASE);
+#endif
+#ifdef SOL_CAN_RAW
+ PyModule_AddIntConstant(m, "SOL_CAN_RAW", SOL_CAN_RAW);
+ PyModule_AddIntConstant(m, "CAN_RAW", CAN_RAW);
+#endif
+#ifdef HAVE_LINUX_CAN_H
+ PyModule_AddIntConstant(m, "CAN_EFF_FLAG", CAN_EFF_FLAG);
+ PyModule_AddIntConstant(m, "CAN_RTR_FLAG", CAN_RTR_FLAG);
+ PyModule_AddIntConstant(m, "CAN_ERR_FLAG", CAN_ERR_FLAG);
+
+ PyModule_AddIntConstant(m, "CAN_SFF_MASK", CAN_SFF_MASK);
+ PyModule_AddIntConstant(m, "CAN_EFF_MASK", CAN_EFF_MASK);
+ PyModule_AddIntConstant(m, "CAN_ERR_MASK", CAN_ERR_MASK);
+#endif
+#ifdef HAVE_LINUX_CAN_RAW_H
+ PyModule_AddIntConstant(m, "CAN_RAW_FILTER", CAN_RAW_FILTER);
+ PyModule_AddIntConstant(m, "CAN_RAW_ERR_FILTER", CAN_RAW_ERR_FILTER);
+ PyModule_AddIntConstant(m, "CAN_RAW_LOOPBACK", CAN_RAW_LOOPBACK);
+ PyModule_AddIntConstant(m, "CAN_RAW_RECV_OWN_MSGS", CAN_RAW_RECV_OWN_MSGS);
+#endif
+#ifdef SOL_RDS
+ PyModule_AddIntConstant(m, "SOL_RDS", SOL_RDS);
+#endif
+#ifdef RDS_CANCEL_SENT_TO
+ PyModule_AddIntConstant(m, "RDS_CANCEL_SENT_TO", RDS_CANCEL_SENT_TO);
+#endif
+#ifdef RDS_GET_MR
+ PyModule_AddIntConstant(m, "RDS_GET_MR", RDS_GET_MR);
+#endif
+#ifdef RDS_FREE_MR
+ PyModule_AddIntConstant(m, "RDS_FREE_MR", RDS_FREE_MR);
+#endif
+#ifdef RDS_RECVERR
+ PyModule_AddIntConstant(m, "RDS_RECVERR", RDS_RECVERR);
+#endif
+#ifdef RDS_CONG_MONITOR
+ PyModule_AddIntConstant(m, "RDS_CONG_MONITOR", RDS_CONG_MONITOR);
+#endif
+#ifdef RDS_GET_MR_FOR_DEST
+ PyModule_AddIntConstant(m, "RDS_GET_MR_FOR_DEST", RDS_GET_MR_FOR_DEST);
+#endif
#ifdef IPPROTO_IP
PyModule_AddIntConstant(m, "IPPROTO_IP", IPPROTO_IP);
#else
@@ -4948,6 +6067,9 @@ PyInit__socket(void)
#ifdef IPPROTO_VRRP
PyModule_AddIntConstant(m, "IPPROTO_VRRP", IPPROTO_VRRP);
#endif
+#ifdef IPPROTO_SCTP
+ PyModule_AddIntConstant(m, "IPPROTO_SCTP", IPPROTO_SCTP);
+#endif
#ifdef IPPROTO_BIP
PyModule_AddIntConstant(m, "IPPROTO_BIP", IPPROTO_BIP);
#endif
@@ -5063,6 +6185,9 @@ PyInit__socket(void)
#ifdef IP_MAX_MEMBERSHIPS
PyModule_AddIntConstant(m, "IP_MAX_MEMBERSHIPS", IP_MAX_MEMBERSHIPS);
#endif
+#ifdef IP_TRANSPARENT
+ PyModule_AddIntConstant(m, "IP_TRANSPARENT", IP_TRANSPARENT);
+#endif
/* IPv6 [gs]etsockopt options, defined in RFC2553 */
#ifdef IPV6_JOIN_GROUP
@@ -5193,6 +6318,44 @@ PyInit__socket(void)
PyModule_AddIntConstant(m, "IPX_TYPE", IPX_TYPE);
#endif
+/* Reliable Datagram Sockets */
+#ifdef RDS_CMSG_RDMA_ARGS
+ PyModule_AddIntConstant(m, "RDS_CMSG_RDMA_ARGS", RDS_CMSG_RDMA_ARGS);
+#endif
+#ifdef RDS_CMSG_RDMA_DEST
+ PyModule_AddIntConstant(m, "RDS_CMSG_RDMA_DEST", RDS_CMSG_RDMA_DEST);
+#endif
+#ifdef RDS_CMSG_RDMA_MAP
+ PyModule_AddIntConstant(m, "RDS_CMSG_RDMA_MAP", RDS_CMSG_RDMA_MAP);
+#endif
+#ifdef RDS_CMSG_RDMA_STATUS
+ PyModule_AddIntConstant(m, "RDS_CMSG_RDMA_STATUS", RDS_CMSG_RDMA_STATUS);
+#endif
+#ifdef RDS_CMSG_RDMA_UPDATE
+ PyModule_AddIntConstant(m, "RDS_CMSG_RDMA_UPDATE", RDS_CMSG_RDMA_UPDATE);
+#endif
+#ifdef RDS_RDMA_READWRITE
+ PyModule_AddIntConstant(m, "RDS_RDMA_READWRITE", RDS_RDMA_READWRITE);
+#endif
+#ifdef RDS_RDMA_FENCE
+ PyModule_AddIntConstant(m, "RDS_RDMA_FENCE", RDS_RDMA_FENCE);
+#endif
+#ifdef RDS_RDMA_INVALIDATE
+ PyModule_AddIntConstant(m, "RDS_RDMA_INVALIDATE", RDS_RDMA_INVALIDATE);
+#endif
+#ifdef RDS_RDMA_USE_ONCE
+ PyModule_AddIntConstant(m, "RDS_RDMA_USE_ONCE", RDS_RDMA_USE_ONCE);
+#endif
+#ifdef RDS_RDMA_DONTWAIT
+ PyModule_AddIntConstant(m, "RDS_RDMA_DONTWAIT", RDS_RDMA_DONTWAIT);
+#endif
+#ifdef RDS_RDMA_NOTIFY_ME
+ PyModule_AddIntConstant(m, "RDS_RDMA_NOTIFY_ME", RDS_RDMA_NOTIFY_ME);
+#endif
+#ifdef RDS_RDMA_SILENT
+ PyModule_AddIntConstant(m, "RDS_RDMA_SILENT", RDS_RDMA_SILENT);
+#endif
+
/* get{addr,name}info parameters */
#ifdef EAI_ADDRFAMILY
PyModule_AddIntConstant(m, "EAI_ADDRFAMILY", EAI_ADDRFAMILY);
@@ -5319,7 +6482,7 @@ PyInit__socket(void)
DWORD codes[] = {SIO_RCVALL, SIO_KEEPALIVE_VALS};
const char *names[] = {"SIO_RCVALL", "SIO_KEEPALIVE_VALS"};
int i;
- for(i = 0; i<sizeof(codes)/sizeof(*codes); ++i) {
+ for(i = 0; i<Py_ARRAY_LENGTH(codes); ++i) {
PyObject *tmp;
tmp = PyLong_FromUnsignedLong(codes[i]);
if (tmp == NULL)
diff --git a/Modules/socketmodule.h b/Modules/socketmodule.h
index f064795..59d4cb1 100644
--- a/Modules/socketmodule.h
+++ b/Modules/socketmodule.h
@@ -59,9 +59,12 @@ typedef int socklen_t;
#include <bluetooth.h>
#endif
+#ifdef HAVE_NET_IF_H
+# include <net/if.h>
+#endif
+
#ifdef HAVE_NETPACKET_PACKET_H
# include <sys/ioctl.h>
-# include <net/if.h>
# include <netpacket/packet.h>
#endif
@@ -69,6 +72,14 @@ typedef int socklen_t;
# include <linux/tipc.h>
#endif
+#ifdef HAVE_LINUX_CAN_H
+#include <linux/can.h>
+#endif
+
+#ifdef HAVE_LINUX_CAN_RAW_H
+#include <linux/can/raw.h>
+#endif
+
#ifndef Py__SOCKET_H
#define Py__SOCKET_H
#ifdef __cplusplus
@@ -104,6 +115,7 @@ typedef int SOCKET_T;
/* Socket address */
typedef union sock_addr {
struct sockaddr_in in;
+ struct sockaddr sa;
#ifdef AF_UNIX
struct sockaddr_un un;
#endif
@@ -123,6 +135,9 @@ typedef union sock_addr {
#ifdef HAVE_NETPACKET_PACKET_H
struct sockaddr_ll ll;
#endif
+#ifdef HAVE_LINUX_CAN_H
+ struct sockaddr_can can;
+#endif
} sock_addr_t;
/* The object holding a socket. It holds some extra information,
diff --git a/Modules/sre.h b/Modules/sre.h
index 518c11d..0d91f25 100644
--- a/Modules/sre.h
+++ b/Modules/sre.h
@@ -30,7 +30,8 @@ typedef struct {
PyObject* pattern; /* pattern source (or None) */
int flags; /* flags used when compiling pattern source */
PyObject *weakreflist; /* List of weak references */
- int charsize; /* pattern charsize (or -1) */
+ int logical_charsize; /* pattern charsize (or -1) */
+ int charsize;
/* pattern code */
Py_ssize_t codesize;
SRE_CODE code[1];
@@ -71,6 +72,7 @@ typedef struct {
PyObject* string;
Py_ssize_t pos, endpos;
/* character size */
+ int logical_charsize; /* kind of thing: 1 - bytes, 2/4 - unicode */
int charsize;
/* registers */
Py_ssize_t lastindex;
diff --git a/Modules/syslogmodule.c b/Modules/syslogmodule.c
index 5b86963..c7a2487 100644
--- a/Modules/syslogmodule.c
+++ b/Modules/syslogmodule.c
@@ -70,7 +70,7 @@ syslog_get_argv(void)
Py_ssize_t argv_len, scriptlen;
PyObject *scriptobj;
- Py_UNICODE *atslash, *atstart;
+ Py_ssize_t slash;
PyObject *argv = PySys_GetObject("argv");
if (argv == NULL) {
@@ -90,16 +90,16 @@ syslog_get_argv(void)
if (!PyUnicode_Check(scriptobj)) {
return(NULL);
}
- scriptlen = PyUnicode_GET_SIZE(scriptobj);
+ scriptlen = PyUnicode_GET_LENGTH(scriptobj);
if (scriptlen == 0) {
return(NULL);
}
- atstart = PyUnicode_AS_UNICODE(scriptobj);
- atslash = Py_UNICODE_strrchr(atstart, SEP);
- if (atslash) {
- return(PyUnicode_FromUnicode(atslash + 1,
- scriptlen - (atslash - atstart) - 1));
+ slash = PyUnicode_FindChar(scriptobj, SEP, 0, scriptlen, -1);
+ if (slash == -2)
+ return NULL;
+ if (slash != -1) {
+ return PyUnicode_Substring(scriptobj, slash, scriptlen);
} else {
Py_INCREF(scriptobj);
return(scriptobj);
diff --git a/Modules/termios.c b/Modules/termios.c
index edeb6f5..b78d33e 100644
--- a/Modules/termios.c
+++ b/Modules/termios.c
@@ -9,11 +9,6 @@
#endif
#include <termios.h>
-#ifdef __osf__
-/* On OSF, sys/ioctl.h requires that struct termio already be defined,
- * so this needs to be included first on that platform. */
-#include <termio.h>
-#endif
#include <sys/ioctl.h>
/* HP-UX requires that this be included to pick up MDCD, MCTS, MDSR,
diff --git a/Modules/testcapi_long.h b/Modules/testcapi_long.h
index fa94fd6..6bddad7 100644
--- a/Modules/testcapi_long.h
+++ b/Modules/testcapi_long.h
@@ -33,8 +33,7 @@ TESTNAME(PyObject *error(const char*))
unsigned TYPENAME uin, uout;
/* For 0, 1, 2 use base; for 3, 4, 5 use -base */
- uin = j < 3 ? base
- : (unsigned TYPENAME)(-(TYPENAME)base);
+ uin = j < 3 ? base : 0U - base;
/* For 0 & 3, subtract 1.
* For 1 & 4, leave alone.
@@ -177,6 +176,32 @@ TESTNAME(PyObject *error(const char*))
Py_DECREF(one);
}
+ /* Test F_PY_TO_{S,U} on non-pylong input. This should raise a TypeError. */
+ {
+ TYPENAME out;
+ unsigned TYPENAME uout;
+
+ Py_INCREF(Py_None);
+
+ out = F_PY_TO_S(Py_None);
+ if (out != (TYPENAME)-1 || !PyErr_Occurred())
+ return error("PyLong_AsXXX(None) didn't complain");
+ if (!PyErr_ExceptionMatches(PyExc_TypeError))
+ return error("PyLong_AsXXX(None) raised "
+ "something other than TypeError");
+ PyErr_Clear();
+
+ uout = F_PY_TO_U(Py_None);
+ if (uout != (unsigned TYPENAME)-1 || !PyErr_Occurred())
+ return error("PyLong_AsXXX(None) didn't complain");
+ if (!PyErr_ExceptionMatches(PyExc_TypeError))
+ return error("PyLong_AsXXX(None) raised "
+ "something other than TypeError");
+ PyErr_Clear();
+
+ Py_DECREF(Py_None);
+ }
+
Py_INCREF(Py_None);
return Py_None;
}
diff --git a/Modules/timemodule.c b/Modules/timemodule.c
index 3ab6e9b..89a41ce 100644
--- a/Modules/timemodule.c
+++ b/Modules/timemodule.c
@@ -21,19 +21,6 @@
#include <windows.h>
#include "pythread.h"
-/* helper to allow us to interrupt sleep() on Windows*/
-static HANDLE hInterruptEvent = NULL;
-static BOOL WINAPI PyCtrlHandler(DWORD dwCtrlType)
-{
- SetEvent(hInterruptEvent);
- /* allow other default handlers to be called.
- Default Python handler will setup the
- KeyboardInterrupt exception.
- */
- return FALSE;
-}
-static long main_thread;
-
#if defined(__BORLANDC__)
/* These overrides not needed for Win32 */
#define timezone _timezone
@@ -43,11 +30,6 @@ static long main_thread;
#endif /* MS_WINDOWS */
#endif /* !__WATCOMC__ || __QNX__ */
-#if defined(MS_WINDOWS) && !defined(__BORLANDC__)
-/* Win32 has better clock replacement; we have our own version below. */
-#undef HAVE_CLOCK
-#endif /* MS_WINDOWS && !defined(__BORLANDC__) */
-
#if defined(PYOS_OS2)
#define INCL_DOS
#define INCL_ERRORS
@@ -62,9 +44,6 @@ static long main_thread;
static int floatsleep(double);
static double floattime(void);
-/* For Y2K check */
-static PyObject *moddict;
-
static PyObject *
time_time(PyObject *self, PyObject *unused)
{
@@ -83,25 +62,9 @@ PyDoc_STRVAR(time_doc,
Return the current time in seconds since the Epoch.\n\
Fractions of a second may be present if the system clock provides them.");
-#ifdef HAVE_CLOCK
-
-#ifndef CLOCKS_PER_SEC
-#ifdef CLK_TCK
-#define CLOCKS_PER_SEC CLK_TCK
-#else
-#define CLOCKS_PER_SEC 1000000
-#endif
-#endif
-
-static PyObject *
-time_clock(PyObject *self, PyObject *unused)
-{
- return PyFloat_FromDouble(((double)clock()) / CLOCKS_PER_SEC);
-}
-#endif /* HAVE_CLOCK */
-
#if defined(MS_WINDOWS) && !defined(__BORLANDC__)
-/* Due to Mark Hammond and Tim Peters */
+/* Win32 has better clock replacement; we have our own version, due to Mark
+ Hammond and Tim Peters */
static PyObject *
time_clock(PyObject *self, PyObject *unused)
{
@@ -126,8 +89,23 @@ time_clock(PyObject *self, PyObject *unused)
return PyFloat_FromDouble(diff / divisor);
}
-#define HAVE_CLOCK /* So it gets included in the methods */
-#endif /* MS_WINDOWS && !defined(__BORLANDC__) */
+#elif defined(HAVE_CLOCK)
+
+#ifndef CLOCKS_PER_SEC
+#ifdef CLK_TCK
+#define CLOCKS_PER_SEC CLK_TCK
+#else
+#define CLOCKS_PER_SEC 1000000
+#endif
+#endif
+
+static PyObject *
+time_clock(PyObject *self, PyObject *unused)
+{
+ return PyFloat_FromDouble(((double)clock()) / CLOCKS_PER_SEC);
+}
+#endif /* HAVE_CLOCK */
+
#ifdef HAVE_CLOCK
PyDoc_STRVAR(clock_doc,
@@ -138,12 +116,65 @@ the first call to clock(). This has as much precision as the system\n\
records.");
#endif
+#ifdef HAVE_CLOCK_GETTIME
+static PyObject *
+time_clock_gettime(PyObject *self, PyObject *args)
+{
+ int ret;
+ clockid_t clk_id;
+ struct timespec tp;
+
+ if (!PyArg_ParseTuple(args, "i:clock_gettime", &clk_id))
+ return NULL;
+
+ ret = clock_gettime((clockid_t)clk_id, &tp);
+ if (ret != 0)
+ PyErr_SetFromErrno(PyExc_IOError);
+
+ return PyFloat_FromDouble(tp.tv_sec + tp.tv_nsec * 1e-9);
+}
+
+PyDoc_STRVAR(clock_gettime_doc,
+"clock_gettime(clk_id) -> floating point number\n\
+\n\
+Return the time of the specified clock clk_id.");
+#endif
+
+#ifdef HAVE_CLOCK_GETRES
+static PyObject *
+time_clock_getres(PyObject *self, PyObject *args)
+{
+ int ret;
+ clockid_t clk_id;
+ struct timespec tp;
+
+ if (!PyArg_ParseTuple(args, "i:clock_getres", &clk_id))
+ return NULL;
+
+ ret = clock_getres((clockid_t)clk_id, &tp);
+ if (ret != 0)
+ PyErr_SetFromErrno(PyExc_IOError);
+
+ return PyFloat_FromDouble(tp.tv_sec + tp.tv_nsec * 1e-9);
+}
+
+PyDoc_STRVAR(clock_getres_doc,
+"clock_getres(clk_id) -> floating point number\n\
+\n\
+Return the resolution (precision) of the specified clock clk_id.");
+#endif
+
static PyObject *
time_sleep(PyObject *self, PyObject *args)
{
double secs;
if (!PyArg_ParseTuple(args, "d:sleep", &secs))
return NULL;
+ if (secs < 0) {
+ PyErr_SetString(PyExc_ValueError,
+ "sleep length must be non-negative");
+ return NULL;
+ }
if (floatsleep(secs) != 0)
return NULL;
Py_INCREF(Py_None);
@@ -307,49 +338,6 @@ gettmarg(PyObject *args, struct tm *p)
&p->tm_hour, &p->tm_min, &p->tm_sec,
&p->tm_wday, &p->tm_yday, &p->tm_isdst))
return 0;
-
- /* If year is specified with less than 4 digits, its interpretation
- * depends on the accept2dyear value.
- *
- * If accept2dyear is true (default), a backward compatibility behavior is
- * invoked as follows:
- *
- * - for 2-digit year, century is guessed according to POSIX rules for
- * %y strptime format: 21st century for y < 69, 20th century
- * otherwise. A deprecation warning is issued when century
- * information is guessed in this way.
- *
- * - for 3-digit or negative year, a ValueError exception is raised.
- *
- * If accept2dyear is false (set by the program or as a result of a
- * non-empty value assigned to PYTHONY2K environment variable) all year
- * values are interpreted as given.
- */
- if (y < 1000) {
- PyObject *accept = PyDict_GetItemString(moddict,
- "accept2dyear");
- if (accept != NULL) {
- int acceptval = PyObject_IsTrue(accept);
- if (acceptval == -1)
- return 0;
- if (acceptval) {
- if (0 <= y && y < 69)
- y += 2000;
- else if (69 <= y && y < 100)
- y += 1900;
- else {
- PyErr_SetString(PyExc_ValueError,
- "year out of range");
- return 0;
- }
- if (PyErr_WarnEx(PyExc_DeprecationWarning,
- "Century info guessed for a 2-digit year.", 1) != 0)
- return 0;
- }
- }
- else
- return 0;
- }
p->tm_year = y - 1900;
p->tm_mon--;
p->tm_wday = (p->tm_wday + 1) % 7;
@@ -498,7 +486,7 @@ time_strftime(PyObject *self, PyObject *args)
fmt = format;
#else
/* Convert the unicode string to an ascii one */
- format = PyUnicode_EncodeFSDefault(format_arg);
+ format = PyUnicode_EncodeLocale(format_arg, "surrogateescape");
if (format == NULL)
return NULL;
fmt = PyBytes_AS_STRING(format);
@@ -548,7 +536,8 @@ time_strftime(PyObject *self, PyObject *args)
#ifdef HAVE_WCSFTIME
ret = PyUnicode_FromWideChar(outbuf, buflen);
#else
- ret = PyUnicode_DecodeFSDefaultAndSize(outbuf, buflen);
+ ret = PyUnicode_DecodeLocaleAndSize(outbuf, buflen,
+ "surrogateescape");
#endif
PyMem_Free(outbuf);
break;
@@ -586,11 +575,12 @@ time_strptime(PyObject *self, PyObject *args)
{
PyObject *strptime_module = PyImport_ImportModuleNoBlock("_strptime");
PyObject *strptime_result;
+ _Py_IDENTIFIER(_strptime_time);
if (!strptime_module)
return NULL;
- strptime_result = PyObject_CallMethod(strptime_module,
- "_strptime_time", "O", args);
+ strptime_result = _PyObject_CallMethodId(strptime_module,
+ &PyId__strptime_time, "O", args);
Py_DECREF(strptime_module);
return strptime_result;
}
@@ -607,31 +597,20 @@ _asctime(struct tm *timeptr)
{
/* Inspired by Open Group reference implementation available at
* http://pubs.opengroup.org/onlinepubs/009695399/functions/asctime.html */
- static char wday_name[7][3] = {
+ static char wday_name[7][4] = {
"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
};
- static char mon_name[12][3] = {
+ static char mon_name[12][4] = {
"Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
};
- char buf[20]; /* 'Sun Sep 16 01:03:52\0' */
- int n;
-
- n = PyOS_snprintf(buf, sizeof(buf), "%.3s %.3s%3d %.2d:%.2d:%.2d",
- wday_name[timeptr->tm_wday],
- mon_name[timeptr->tm_mon],
- timeptr->tm_mday, timeptr->tm_hour,
- timeptr->tm_min, timeptr->tm_sec);
- /* XXX: since the fields used by snprintf above are validated in checktm,
- * the following condition should never trigger. We keep the check because
- * historically fixed size buffer used in asctime was the source of
- * crashes. */
- if (n + 1 != sizeof(buf)) {
- PyErr_SetString(PyExc_ValueError, "unconvertible time");
- return NULL;
- }
-
- return PyUnicode_FromFormat("%s %d", buf, 1900 + timeptr->tm_year);
+ return PyUnicode_FromFormat(
+ "%s %s%3d %.2d:%.2d:%.2d %d",
+ wday_name[timeptr->tm_wday],
+ mon_name[timeptr->tm_mon],
+ timeptr->tm_mday, timeptr->tm_hour,
+ timeptr->tm_min, timeptr->tm_sec,
+ 1900 + timeptr->tm_year);
}
static PyObject *
@@ -790,8 +769,8 @@ PyInit_timezone(PyObject *m) {
#endif /* PYOS_OS2 */
#endif
PyModule_AddIntConstant(m, "daylight", daylight);
- otz0 = PyUnicode_DecodeFSDefaultAndSize(tzname[0], strlen(tzname[0]));
- otz1 = PyUnicode_DecodeFSDefaultAndSize(tzname[1], strlen(tzname[1]));
+ otz0 = PyUnicode_DecodeLocale(tzname[0], "surrogateescape");
+ otz1 = PyUnicode_DecodeLocale(tzname[1], "surrogateescape");
PyModule_AddObject(m, "tzname", Py_BuildValue("(NN)", otz0, otz1));
#else /* !HAVE_TZNAME || __GLIBC__ || __CYGWIN__*/
#ifdef HAVE_STRUCT_TM_TM_ZONE
@@ -842,14 +821,38 @@ PyInit_timezone(PyObject *m) {
Py_BuildValue("(zz)", _tzname[0], _tzname[1]));
#endif /* __CYGWIN__ */
#endif /* !HAVE_TZNAME || __GLIBC__ || __CYGWIN__*/
+
+#if defined(HAVE_CLOCK_GETTIME) || defined(HAVE_CLOCK_GETRES)
+#ifdef CLOCK_REALTIME
+ PyModule_AddIntMacro(m, CLOCK_REALTIME);
+#endif
+#ifdef CLOCK_MONOTONIC
+ PyModule_AddIntMacro(m, CLOCK_MONOTONIC);
+#endif
+#ifdef CLOCK_MONOTONIC_RAW
+ PyModule_AddIntMacro(m, CLOCK_MONOTONIC_RAW);
+#endif
+#ifdef CLOCK_PROCESS_CPUTIME_ID
+ PyModule_AddIntMacro(m, CLOCK_PROCESS_CPUTIME_ID);
+#endif
+#ifdef CLOCK_THREAD_CPUTIME_ID
+ PyModule_AddIntMacro(m, CLOCK_THREAD_CPUTIME_ID);
+#endif
+#endif /* HAVE_CLOCK_GETTIME */
}
static PyMethodDef time_methods[] = {
{"time", time_time, METH_NOARGS, time_doc},
-#ifdef HAVE_CLOCK
+#if (defined(MS_WINDOWS) && !defined(__BORLANDC__)) || defined(HAVE_CLOCK)
{"clock", time_clock, METH_NOARGS, clock_doc},
#endif
+#ifdef HAVE_CLOCK_GETTIME
+ {"clock_gettime", time_clock_gettime, METH_VARARGS, clock_gettime_doc},
+#endif
+#ifdef HAVE_CLOCK_GETRES
+ {"clock_getres", time_clock_getres, METH_VARARGS, clock_getres_doc},
+#endif
{"sleep", time_sleep, METH_VARARGS, sleep_doc},
{"gmtime", time_gmtime, METH_VARARGS, gmtime_doc},
{"localtime", time_localtime, METH_VARARGS, localtime_doc},
@@ -880,7 +883,7 @@ The actual value can be retrieved by calling gmtime(0).\n\
\n\
The other representation is a tuple of 9 integers giving local time.\n\
The tuple items are:\n\
- year (four digits, e.g. 1998)\n\
+ year (including century, e.g. 1998)\n\
month (1-12)\n\
day (1-31)\n\
hours (0-23)\n\
@@ -932,30 +935,13 @@ PyMODINIT_FUNC
PyInit_time(void)
{
PyObject *m;
- char *p;
m = PyModule_Create(&timemodule);
if (m == NULL)
return NULL;
- /* Accept 2-digit dates unless PYTHONY2K is set and non-empty */
- p = Py_GETENV("PYTHONY2K");
- PyModule_AddIntConstant(m, "accept2dyear", (long) (!p || !*p));
- /* Squirrel away the module's dictionary for the y2k check */
- moddict = PyModule_GetDict(m);
- Py_INCREF(moddict);
-
/* Set, or reset, module variables like time.timezone */
PyInit_timezone(m);
-#ifdef MS_WINDOWS
- /* Helper to allow interrupts for Windows.
- If Ctrl+C event delivered while not sleeping
- it will be ignored.
- */
- main_thread = PyThread_get_thread_ident();
- hInterruptEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
- SetConsoleCtrlHandler( PyCtrlHandler, TRUE);
-#endif /* MS_WINDOWS */
if (!initialized) {
PyStructSequence_InitType(&StructTimeType,
&struct_time_type_desc);
@@ -986,23 +972,28 @@ floatsleep(double secs)
#if defined(HAVE_SELECT) && !defined(__EMX__)
struct timeval t;
double frac;
+ int err;
+
frac = fmod(secs, 1.0);
secs = floor(secs);
t.tv_sec = (long)secs;
t.tv_usec = (long)(frac*1000000.0);
Py_BEGIN_ALLOW_THREADS
- if (select(0, (fd_set *)0, (fd_set *)0, (fd_set *)0, &t) != 0) {
+ err = select(0, (fd_set *)0, (fd_set *)0, (fd_set *)0, &t);
+ Py_END_ALLOW_THREADS
+ if (err != 0) {
#ifdef EINTR
- if (errno != EINTR) {
-#else
- if (1) {
+ if (errno == EINTR) {
+ if (PyErr_CheckSignals())
+ return -1;
+ }
+ else
#endif
- Py_BLOCK_THREADS
+ {
PyErr_SetFromErrno(PyExc_IOError);
return -1;
}
}
- Py_END_ALLOW_THREADS
#elif defined(__WATCOMC__) && !defined(__QNX__)
/* XXX Can't interrupt this sleep */
Py_BEGIN_ALLOW_THREADS
@@ -1023,18 +1014,14 @@ floatsleep(double secs)
* by Guido, only the main thread can be interrupted.
*/
ul_millis = (unsigned long)millisecs;
- if (ul_millis == 0 ||
- main_thread != PyThread_get_thread_ident())
+ if (ul_millis == 0 || !_PyOS_IsMainThread())
Sleep(ul_millis);
else {
DWORD rc;
+ HANDLE hInterruptEvent = _PyOS_SigintEvent();
ResetEvent(hInterruptEvent);
rc = WaitForSingleObject(hInterruptEvent, ul_millis);
if (rc == WAIT_OBJECT_0) {
- /* Yield to make sure real Python signal
- * handler called.
- */
- Sleep(1);
Py_BLOCK_THREADS
errno = EINTR;
PyErr_SetFromErrno(PyExc_IOError);
diff --git a/Modules/unicodedata.c b/Modules/unicodedata.c
index 53e48df..66422d9 100644
--- a/Modules/unicodedata.c
+++ b/Modules/unicodedata.c
@@ -93,16 +93,13 @@ new_previous_version(const char*name, const change_record* (*getrecord)(Py_UCS4)
static Py_UCS4 getuchar(PyUnicodeObject *obj)
{
- Py_UNICODE *v = PyUnicode_AS_UNICODE(obj);
-
- if (PyUnicode_GET_SIZE(obj) == 1)
- return *v;
-#ifndef Py_UNICODE_WIDE
- else if ((PyUnicode_GET_SIZE(obj) == 2) &&
- (0xD800 <= v[0] && v[0] <= 0xDBFF) &&
- (0xDC00 <= v[1] && v[1] <= 0xDFFF))
- return (((v[0] & 0x3FF)<<10) | (v[1] & 0x3FF)) + 0x10000;
-#endif
+ if (PyUnicode_READY(obj))
+ return (Py_UCS4)-1;
+ if (PyUnicode_GET_LENGTH(obj) == 1) {
+ if (PyUnicode_READY(obj))
+ return (Py_UCS4)-1;
+ return PyUnicode_READ_CHAR(obj, 0);
+ }
PyErr_SetString(PyExc_TypeError,
"need a single Unicode character as parameter");
return (Py_UCS4)-1;
@@ -443,7 +440,7 @@ unicodedata_decomposition(PyObject *self, PyObject *args)
from Tools/unicode/makeunicodedata.py, it should not be possible
to overflow decomp_prefix. */
prefix_index = decomp_data[index] & 255;
- assert(prefix_index < (sizeof(decomp_prefix)/sizeof(*decomp_prefix)));
+ assert(prefix_index < Py_ARRAY_LENGTH(decomp_prefix));
/* copy prefix */
i = strlen(decomp_prefix[prefix_index]);
@@ -498,36 +495,44 @@ static PyObject*
nfd_nfkd(PyObject *self, PyObject *input, int k)
{
PyObject *result;
- Py_UNICODE *i, *end, *o;
+ Py_UCS4 *output;
+ Py_ssize_t i, o, osize;
+ int kind;
+ void *data;
/* Longest decomposition in Unicode 3.2: U+FDFA */
- Py_UNICODE stack[20];
+ Py_UCS4 stack[20];
Py_ssize_t space, isize;
int index, prefix, count, stackptr;
unsigned char prev, cur;
stackptr = 0;
- isize = PyUnicode_GET_SIZE(input);
+ isize = PyUnicode_GET_LENGTH(input);
/* Overallocate atmost 10 characters. */
space = (isize > 10 ? 10 : isize) + isize;
- result = PyUnicode_FromUnicode(NULL, space);
- if (!result)
+ osize = space;
+ output = PyMem_Malloc(space * sizeof(Py_UCS4));
+ if (!output) {
+ PyErr_NoMemory();
return NULL;
- i = PyUnicode_AS_UNICODE(input);
- end = i + isize;
- o = PyUnicode_AS_UNICODE(result);
+ }
+ i = o = 0;
+ kind = PyUnicode_KIND(input);
+ data = PyUnicode_DATA(input);
- while (i < end) {
- stack[stackptr++] = *i++;
+ while (i < isize) {
+ stack[stackptr++] = PyUnicode_READ(kind, data, i++);
while(stackptr) {
- Py_UNICODE code = stack[--stackptr];
+ Py_UCS4 code = stack[--stackptr];
/* Hangul Decomposition adds three characters in
a single step, so we need atleast that much room. */
if (space < 3) {
- Py_ssize_t newsize = PyUnicode_GET_SIZE(result) + 10;
+ osize += 10;
space += 10;
- if (PyUnicode_Resize(&result, newsize) == -1)
+ output = PyMem_Realloc(output, osize*sizeof(Py_UCS4));
+ if (output == NULL) {
+ PyErr_NoMemory();
return NULL;
- o = PyUnicode_AS_UNICODE(result) + newsize - space;
+ }
}
/* Hangul Decomposition. */
if (SBase <= code && code < (SBase+SCount)) {
@@ -535,11 +540,11 @@ nfd_nfkd(PyObject *self, PyObject *input, int k)
int L = LBase + SIndex / NCount;
int V = VBase + (SIndex % NCount) / TCount;
int T = TBase + SIndex % TCount;
- *o++ = L;
- *o++ = V;
+ output[o++] = L;
+ output[o++] = V;
space -= 2;
if (T != TBase) {
- *o++ = T;
+ output[o++] = T;
space --;
}
continue;
@@ -559,7 +564,7 @@ nfd_nfkd(PyObject *self, PyObject *input, int k)
/* Copy character if it is not decomposable, or has a
compatibility decomposition, but we do NFD. */
if (!count || (prefix && !k)) {
- *o++ = code;
+ output[o++] = code;
space--;
continue;
}
@@ -572,15 +577,20 @@ nfd_nfkd(PyObject *self, PyObject *input, int k)
}
}
- /* Drop overallocation. Cannot fail. */
- PyUnicode_Resize(&result, PyUnicode_GET_SIZE(result) - space);
+ result = PyUnicode_FromKindAndData(PyUnicode_4BYTE_KIND,
+ output, o);
+ PyMem_Free(output);
+ if (!result)
+ return NULL;
+ /* result is guaranteed to be ready, as it is compact. */
+ kind = PyUnicode_KIND(result);
+ data = PyUnicode_DATA(result);
/* Sort canonically. */
- i = PyUnicode_AS_UNICODE(result);
- prev = _getrecord_ex(*i)->combining;
- end = i + PyUnicode_GET_SIZE(result);
- for (i++; i < end; i++) {
- cur = _getrecord_ex(*i)->combining;
+ i = 0;
+ prev = _getrecord_ex(PyUnicode_READ(kind, data, i))->combining;
+ for (i++; i < PyUnicode_GET_LENGTH(result); i++) {
+ cur = _getrecord_ex(PyUnicode_READ(kind, data, i))->combining;
if (prev == 0 || cur == 0 || prev <= cur) {
prev = cur;
continue;
@@ -588,31 +598,32 @@ nfd_nfkd(PyObject *self, PyObject *input, int k)
/* Non-canonical order. Need to switch *i with previous. */
o = i - 1;
while (1) {
- Py_UNICODE tmp = o[1];
- o[1] = o[0];
- o[0] = tmp;
+ Py_UCS4 tmp = PyUnicode_READ(kind, data, o+1);
+ PyUnicode_WRITE(kind, data, o+1,
+ PyUnicode_READ(kind, data, o));
+ PyUnicode_WRITE(kind, data, o, tmp);
o--;
- if (o < PyUnicode_AS_UNICODE(result))
+ if (o < 0)
break;
- prev = _getrecord_ex(*o)->combining;
+ prev = _getrecord_ex(PyUnicode_READ(kind, data, o))->combining;
if (prev == 0 || prev <= cur)
break;
}
- prev = _getrecord_ex(*i)->combining;
+ prev = _getrecord_ex(PyUnicode_READ(kind, data, i))->combining;
}
return result;
}
static int
-find_nfc_index(PyObject *self, struct reindex* nfc, Py_UNICODE code)
+find_nfc_index(PyObject *self, struct reindex* nfc, Py_UCS4 code)
{
- int index;
+ unsigned int index;
for (index = 0; nfc[index].start; index++) {
- int start = nfc[index].start;
+ unsigned int start = nfc[index].start;
if (code < start)
return -1;
if (code <= start + nfc[index].count) {
- int delta = code - start;
+ unsigned int delta = code - start;
return nfc[index].index + delta;
}
}
@@ -623,27 +634,36 @@ static PyObject*
nfc_nfkc(PyObject *self, PyObject *input, int k)
{
PyObject *result;
- Py_UNICODE *i, *i1, *o, *end;
+ int kind;
+ void *data;
+ Py_UCS4 *output;
+ Py_ssize_t i, i1, o, len;
int f,l,index,index1,comb;
- Py_UNICODE code;
- Py_UNICODE *skipped[20];
+ Py_UCS4 code;
+ Py_ssize_t skipped[20];
int cskipped = 0;
result = nfd_nfkd(self, input, k);
if (!result)
return NULL;
-
- /* We are going to modify result in-place.
- If nfd_nfkd is changed to sometimes return the input,
- this code needs to be reviewed. */
- assert(result != input);
-
- i = PyUnicode_AS_UNICODE(result);
- end = i + PyUnicode_GET_SIZE(result);
- o = PyUnicode_AS_UNICODE(result);
+ /* result will be "ready". */
+ kind = PyUnicode_KIND(result);
+ data = PyUnicode_DATA(result);
+ len = PyUnicode_GET_LENGTH(result);
+
+ /* We allocate a buffer for the output.
+ If we find that we made no changes, we still return
+ the NFD result. */
+ output = PyMem_Malloc(len * sizeof(Py_UCS4));
+ if (!output) {
+ PyErr_NoMemory();
+ Py_DECREF(result);
+ return 0;
+ }
+ i = o = 0;
again:
- while (i < end) {
+ while (i < len) {
for (index = 0; index < cskipped; index++) {
if (skipped[index] == i) {
/* *i character is skipped.
@@ -656,33 +676,41 @@ nfc_nfkc(PyObject *self, PyObject *input, int k)
}
/* Hangul Composition. We don't need to check for <LV,T>
pairs, since we always have decomposed data. */
- if (LBase <= *i && *i < (LBase+LCount) &&
- i + 1 < end &&
- VBase <= i[1] && i[1] <= (VBase+VCount)) {
+ code = PyUnicode_READ(kind, data, i);
+ if (LBase <= code && code < (LBase+LCount) &&
+ i + 1 < len &&
+ VBase <= PyUnicode_READ(kind, data, i+1) &&
+ PyUnicode_READ(kind, data, i+1) <= (VBase+VCount)) {
int LIndex, VIndex;
- LIndex = i[0] - LBase;
- VIndex = i[1] - VBase;
+ LIndex = code - LBase;
+ VIndex = PyUnicode_READ(kind, data, i+1) - VBase;
code = SBase + (LIndex*VCount+VIndex)*TCount;
i+=2;
- if (i < end &&
- TBase <= *i && *i <= (TBase+TCount)) {
- code += *i-TBase;
+ if (i < len &&
+ TBase <= PyUnicode_READ(kind, data, i) &&
+ PyUnicode_READ(kind, data, i) <= (TBase+TCount)) {
+ code += PyUnicode_READ(kind, data, i)-TBase;
i++;
}
- *o++ = code;
+ output[o++] = code;
continue;
}
- f = find_nfc_index(self, nfc_first, *i);
+ /* code is still input[i] here */
+ f = find_nfc_index(self, nfc_first, code);
if (f == -1) {
- *o++ = *i++;
+ output[o++] = code;
+ i++;
continue;
}
/* Find next unblocked character. */
i1 = i+1;
comb = 0;
- while (i1 < end) {
- int comb1 = _getrecord_ex(*i1)->combining;
+ /* output base character for now; might be updated later. */
+ output[o] = PyUnicode_READ(kind, data, i);
+ while (i1 < len) {
+ Py_UCS4 code1 = PyUnicode_READ(kind, data, i1);
+ int comb1 = _getrecord_ex(code1)->combining;
if (comb) {
if (comb1 == 0)
break;
@@ -692,8 +720,8 @@ nfc_nfkc(PyObject *self, PyObject *input, int k)
continue;
}
}
- l = find_nfc_index(self, nfc_last, *i1);
- /* *i1 cannot be combined with *i. If *i1
+ l = find_nfc_index(self, nfc_last, code1);
+ /* i1 cannot be combined with i. If i1
is a starter, we don't need to look further.
Otherwise, record the combining class. */
if (l == -1) {
@@ -712,19 +740,28 @@ nfc_nfkc(PyObject *self, PyObject *input, int k)
goto not_combinable;
/* Replace the original character. */
- *i = code;
+ output[o] = code;
/* Mark the second character unused. */
assert(cskipped < 20);
skipped[cskipped++] = i1;
i1++;
- f = find_nfc_index(self, nfc_first, *i);
+ f = find_nfc_index(self, nfc_first, output[o]);
if (f == -1)
break;
}
- *o++ = *i++;
+ /* Output character was already written.
+ Just advance the indices. */
+ o++; i++;
}
- if (o != end)
- PyUnicode_Resize(&result, o - PyUnicode_AS_UNICODE(result));
+ if (o == len) {
+ /* No changes. Return original string. */
+ PyMem_Free(output);
+ return result;
+ }
+ Py_DECREF(result);
+ result = PyUnicode_FromKindAndData(PyUnicode_4BYTE_KIND,
+ output, o);
+ PyMem_Free(output);
return result;
}
@@ -732,7 +769,9 @@ nfc_nfkc(PyObject *self, PyObject *input, int k)
static int
is_normalized(PyObject *self, PyObject *input, int nfc, int k)
{
- Py_UNICODE *i, *end;
+ Py_ssize_t i, len;
+ int kind;
+ void *data;
unsigned char prev_combining = 0, quickcheck_mask;
/* An older version of the database is requested, quickchecks must be
@@ -744,10 +783,13 @@ is_normalized(PyObject *self, PyObject *input, int nfc, int k)
as described in http://unicode.org/reports/tr15/#Annex8. */
quickcheck_mask = 3 << ((nfc ? 4 : 0) + (k ? 2 : 0));
- i = PyUnicode_AS_UNICODE(input);
- end = i + PyUnicode_GET_SIZE(input);
- while (i < end) {
- const _PyUnicode_DatabaseRecord *record = _getrecord_ex(*i++);
+ i = 0;
+ kind = PyUnicode_KIND(input);
+ data = PyUnicode_DATA(input);
+ len = PyUnicode_GET_LENGTH(input);
+ while (i < len) {
+ Py_UCS4 ch = PyUnicode_READ(kind, data, i++);
+ const _PyUnicode_DatabaseRecord *record = _getrecord_ex(ch);
unsigned char combining = record->combining;
unsigned char quickcheck = record->normalization_quick_check;
@@ -776,7 +818,10 @@ unicodedata_normalize(PyObject *self, PyObject *args)
&form, &PyUnicode_Type, &input))
return NULL;
- if (PyUnicode_GetSize(input) == 0) {
+ if (PyUnicode_READY(input) == -1)
+ return NULL;
+
+ if (PyUnicode_GET_LENGTH(input) == 0) {
/* Special case empty input strings, since resizing
them later would cause internal errors. */
Py_INCREF(input);
@@ -882,9 +927,19 @@ is_unified_ideograph(Py_UCS4 code)
(0x2B740 <= code && code <= 0x2B81D); /* CJK Ideograph Extension D */
}
+/* macros used to determine if the given codepoint is in the PUA range that
+ * we are using to store aliases and named sequences */
+#define IS_ALIAS(cp) ((cp >= aliases_start) && (cp < aliases_end))
+#define IS_NAMED_SEQ(cp) ((cp >= named_sequences_start) && \
+ (cp < named_sequences_end))
+
static int
-_getucname(PyObject *self, Py_UCS4 code, char* buffer, int buflen)
+_getucname(PyObject *self, Py_UCS4 code, char* buffer, int buflen,
+ int with_alias_and_seq)
{
+ /* Find the name associated with the given codepoint.
+ * If with_alias_and_seq is 1, check for names in the Private Use Area 15
+ * that we are using for aliases and named sequences. */
int offset;
int i;
int word;
@@ -893,8 +948,16 @@ _getucname(PyObject *self, Py_UCS4 code, char* buffer, int buflen)
if (code >= 0x110000)
return 0;
+ /* XXX should we just skip all the codepoints in the PUAs here? */
+ if (!with_alias_and_seq && (IS_ALIAS(code) || IS_NAMED_SEQ(code)))
+ return 0;
+
if (self && UCD_Check(self)) {
- const change_record *old = get_old_record(self, code);
+ /* in 3.2.0 there are no aliases and named sequences */
+ const change_record *old;
+ if (IS_ALIAS(code) || IS_NAMED_SEQ(code))
+ return 0;
+ old = get_old_record(self, code);
if (old->category_changed == 0) {
/* unassigned */
return 0;
@@ -978,7 +1041,7 @@ _cmpname(PyObject *self, int code, const char* name, int namelen)
/* check if code corresponds to the given name */
int i;
char buffer[NAME_MAXLEN];
- if (!_getucname(self, code, buffer, sizeof(buffer)))
+ if (!_getucname(self, code, buffer, sizeof(buffer), 1))
return 0;
for (i = 0; i < namelen; i++) {
if (Py_TOUPPER(Py_CHARMASK(name[i])) != buffer[i])
@@ -994,7 +1057,7 @@ find_syllable(const char *str, int *len, int *pos, int count, int column)
*len = -1;
for (i = 0; i < count; i++) {
char *s = hangul_syllables[i][column];
- len1 = strlen(s);
+ len1 = Py_SAFE_DOWNCAST(strlen(s), size_t, int);
if (len1 <= *len)
continue;
if (strncmp(str, s, len1) == 0) {
@@ -1008,8 +1071,28 @@ find_syllable(const char *str, int *len, int *pos, int count, int column)
}
static int
-_getcode(PyObject* self, const char* name, int namelen, Py_UCS4* code)
+_check_alias_and_seq(unsigned int cp, Py_UCS4* code, int with_named_seq)
+{
+ /* check if named sequences are allowed */
+ if (!with_named_seq && IS_NAMED_SEQ(cp))
+ return 0;
+ /* if the codepoint is in the PUA range that we use for aliases,
+ * convert it to obtain the right codepoint */
+ if (IS_ALIAS(cp))
+ *code = name_aliases[cp-aliases_start];
+ else
+ *code = cp;
+ return 1;
+}
+
+static int
+_getcode(PyObject* self, const char* name, int namelen, Py_UCS4* code,
+ int with_named_seq)
{
+ /* Return the codepoint associated with the given name.
+ * Named aliases are resolved too (unless self != NULL (i.e. we are using
+ * 3.2.0)). If with_named_seq is 1, returns the PUA codepoint that we are
+ * using for the named sequence, and the caller must then convert it. */
unsigned int h, v;
unsigned int mask = code_size-1;
unsigned int i, incr;
@@ -1065,10 +1148,8 @@ _getcode(PyObject* self, const char* name, int namelen, Py_UCS4* code)
v = code_hash[i];
if (!v)
return 0;
- if (_cmpname(self, v, name, namelen)) {
- *code = v;
- return 1;
- }
+ if (_cmpname(self, v, name, namelen))
+ return _check_alias_and_seq(v, code, with_named_seq);
incr = (h ^ (h >> 3)) & mask;
if (!incr)
incr = mask;
@@ -1077,10 +1158,8 @@ _getcode(PyObject* self, const char* name, int namelen, Py_UCS4* code)
v = code_hash[i];
if (!v)
return 0;
- if (_cmpname(self, v, name, namelen)) {
- *code = v;
- return 1;
- }
+ if (_cmpname(self, v, name, namelen))
+ return _check_alias_and_seq(v, code, with_named_seq);
incr = incr << 1;
if (incr > mask)
incr = incr ^ code_poly;
@@ -1118,7 +1197,7 @@ unicodedata_name(PyObject* self, PyObject* args)
if (c == (Py_UCS4)-1)
return NULL;
- if (!_getucname(self, c, name, sizeof(name))) {
+ if (!_getucname(self, c, name, sizeof(name), 0)) {
if (defobj == NULL) {
PyErr_SetString(PyExc_ValueError, "no such name");
return NULL;
@@ -1143,28 +1222,26 @@ static PyObject *
unicodedata_lookup(PyObject* self, PyObject* args)
{
Py_UCS4 code;
- Py_UNICODE str[2];
char* name;
int namelen;
+ unsigned int index;
if (!PyArg_ParseTuple(args, "s#:lookup", &name, &namelen))
return NULL;
- if (!_getcode(self, name, namelen, &code)) {
- PyErr_Format(PyExc_KeyError, "undefined character name '%s'",
- name);
+ if (!_getcode(self, name, namelen, &code, 1)) {
+ PyErr_Format(PyExc_KeyError, "undefined character name '%s'", name);
return NULL;
}
-
-#ifndef Py_UNICODE_WIDE
- if (code >= 0x10000) {
- str[0] = 0xd800 + ((code - 0x10000) >> 10);
- str[1] = 0xdc00 + ((code - 0x10000) & 0x3ff);
- return PyUnicode_FromUnicode(str, 2);
+ // check if code is in the PUA range that we use for named sequences
+ // and convert it
+ if (IS_NAMED_SEQ(code)) {
+ index = code-named_sequences_start;
+ return PyUnicode_FromKindAndData(PyUnicode_2BYTE_KIND,
+ named_sequences[index].seq,
+ named_sequences[index].seqlen);
}
-#endif
- str[0] = (Py_UNICODE) code;
- return PyUnicode_FromUnicode(str, 1);
+ return PyUnicode_FromOrdinal(code);
}
/* XXX Add doc strings. */
diff --git a/Modules/unicodename_db.h b/Modules/unicodename_db.h
index 8830560..74d7cc7 100644
--- a/Modules/unicodename_db.h
+++ b/Modules/unicodename_db.h
@@ -4,257 +4,258 @@
/* lexicon */
static unsigned char lexicon[] = {
- 76, 69, 84, 84, 69, 210, 87, 73, 84, 200, 83, 77, 65, 76, 204, 83, 89,
- 76, 76, 65, 66, 76, 197, 83, 73, 71, 206, 67, 65, 80, 73, 84, 65, 204,
+ 76, 69, 84, 84, 69, 210, 87, 73, 84, 200, 83, 89, 76, 76, 65, 66, 76,
+ 197, 83, 77, 65, 76, 204, 83, 73, 71, 206, 67, 65, 80, 73, 84, 65, 204,
76, 65, 84, 73, 206, 89, 201, 67, 74, 203, 69, 71, 89, 80, 84, 73, 65,
206, 72, 73, 69, 82, 79, 71, 76, 89, 80, 200, 65, 82, 65, 66, 73, 195,
67, 79, 77, 80, 65, 84, 73, 66, 73, 76, 73, 84, 217, 77, 65, 84, 72, 69,
77, 65, 84, 73, 67, 65, 204, 67, 85, 78, 69, 73, 70, 79, 82, 205, 83, 89,
77, 66, 79, 204, 70, 79, 82, 77, 128, 67, 65, 78, 65, 68, 73, 65, 206,
83, 89, 76, 76, 65, 66, 73, 67, 211, 66, 65, 77, 85, 205, 68, 73, 71, 73,
- 212, 66, 79, 76, 196, 72, 65, 78, 71, 85, 204, 65, 78, 196, 71, 82, 69,
+ 212, 65, 78, 196, 66, 79, 76, 196, 72, 65, 78, 71, 85, 204, 71, 82, 69,
69, 203, 76, 73, 71, 65, 84, 85, 82, 197, 77, 85, 83, 73, 67, 65, 204,
69, 84, 72, 73, 79, 80, 73, 195, 84, 73, 77, 69, 211, 86, 79, 87, 69,
204, 70, 79, 210, 73, 84, 65, 76, 73, 195, 67, 89, 82, 73, 76, 76, 73,
195, 82, 65, 68, 73, 67, 65, 204, 83, 65, 78, 83, 45, 83, 69, 82, 73,
- 198, 67, 73, 82, 67, 76, 69, 196, 67, 79, 77, 66, 73, 78, 73, 78, 199,
- 84, 65, 201, 86, 65, 201, 70, 73, 78, 65, 204, 83, 81, 85, 65, 82, 197,
- 76, 69, 70, 212, 86, 65, 82, 73, 65, 84, 73, 79, 206, 66, 82, 65, 73, 76,
- 76, 197, 80, 65, 84, 84, 69, 82, 206, 82, 73, 71, 72, 212, 66, 89, 90,
- 65, 78, 84, 73, 78, 197, 73, 83, 79, 76, 65, 84, 69, 196, 65, 66, 79, 86,
- 69, 128, 78, 85, 77, 66, 69, 210, 68, 79, 85, 66, 76, 197, 83, 73, 71,
- 78, 128, 194, 66, 69, 76, 79, 87, 128, 75, 65, 84, 65, 75, 65, 78, 193,
- 75, 65, 78, 71, 88, 201, 76, 73, 78, 69, 65, 210, 77, 79, 68, 73, 70, 73,
- 69, 210, 84, 73, 66, 69, 84, 65, 206, 65, 128, 68, 79, 212, 77, 69, 69,
- 205, 77, 89, 65, 78, 77, 65, 210, 79, 198, 67, 65, 82, 82, 73, 69, 210,
- 87, 72, 73, 84, 197, 65, 82, 82, 79, 87, 128, 85, 128, 73, 78, 73, 84,
- 73, 65, 204, 86, 69, 82, 84, 73, 67, 65, 204, 73, 128, 89, 69, 200, 79,
- 128, 65, 82, 82, 79, 215, 77, 65, 82, 75, 128, 65, 66, 79, 86, 197, 67,
- 79, 80, 84, 73, 195, 80, 72, 65, 83, 69, 45, 197, 77, 79, 78, 71, 79, 76,
- 73, 65, 206, 68, 69, 86, 65, 78, 65, 71, 65, 82, 201, 66, 76, 65, 67,
- 203, 75, 72, 77, 69, 210, 84, 73, 76, 197, 80, 65, 82, 69, 78, 84, 72,
- 69, 83, 73, 90, 69, 196, 83, 89, 77, 66, 79, 76, 128, 84, 72, 65, 205,
- 74, 79, 78, 71, 83, 69, 79, 78, 199, 83, 84, 82, 79, 75, 69, 128, 83, 81,
- 85, 65, 82, 69, 196, 66, 79, 216, 72, 69, 66, 82, 69, 215, 80, 76, 85,
- 211, 82, 73, 71, 72, 84, 87, 65, 82, 68, 211, 68, 82, 65, 87, 73, 78, 71,
- 211, 67, 72, 79, 83, 69, 79, 78, 199, 72, 65, 76, 70, 87, 73, 68, 84,
- 200, 66, 65, 76, 73, 78, 69, 83, 197, 71, 69, 79, 82, 71, 73, 65, 206,
- 72, 79, 79, 75, 128, 73, 68, 69, 79, 71, 82, 65, 205, 80, 72, 65, 83, 69,
- 45, 196, 65, 76, 67, 72, 69, 77, 73, 67, 65, 204, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 73, 195, 65, 76, 69, 198, 72, 69, 65, 86, 217, 84, 79, 128,
- 84, 87, 79, 128, 79, 86, 69, 210, 213, 66, 82, 65, 72, 77, 201, 83, 67,
- 82, 73, 80, 212, 85, 208, 76, 79, 215, 79, 78, 69, 128, 84, 87, 207, 68,
+ 198, 84, 65, 77, 73, 204, 67, 73, 82, 67, 76, 69, 196, 67, 79, 77, 66,
+ 73, 78, 73, 78, 199, 84, 65, 201, 86, 65, 201, 70, 73, 78, 65, 204, 83,
+ 81, 85, 65, 82, 197, 76, 69, 70, 212, 86, 65, 82, 73, 65, 84, 73, 79,
+ 206, 66, 82, 65, 73, 76, 76, 197, 80, 65, 84, 84, 69, 82, 206, 82, 73,
+ 71, 72, 212, 66, 89, 90, 65, 78, 84, 73, 78, 197, 73, 83, 79, 76, 65, 84,
+ 69, 196, 65, 66, 79, 86, 69, 128, 78, 85, 77, 66, 69, 210, 68, 79, 85,
+ 66, 76, 197, 83, 73, 71, 78, 128, 66, 69, 76, 79, 87, 128, 75, 65, 84,
+ 65, 75, 65, 78, 193, 194, 75, 65, 78, 71, 88, 201, 77, 79, 68, 73, 70,
+ 73, 69, 210, 76, 73, 78, 69, 65, 210, 84, 73, 66, 69, 84, 65, 206, 68,
+ 79, 212, 65, 128, 77, 69, 69, 205, 77, 89, 65, 78, 77, 65, 210, 86, 69,
+ 82, 84, 73, 67, 65, 204, 75, 72, 77, 69, 210, 79, 198, 87, 72, 73, 84,
+ 197, 67, 65, 82, 82, 73, 69, 210, 65, 82, 82, 79, 87, 128, 85, 128, 73,
+ 78, 73, 84, 73, 65, 204, 65, 66, 79, 86, 197, 73, 128, 89, 69, 200, 79,
+ 128, 77, 65, 82, 75, 128, 65, 82, 82, 79, 215, 67, 79, 80, 84, 73, 195,
+ 80, 72, 65, 83, 69, 45, 197, 77, 79, 78, 71, 79, 76, 73, 65, 206, 68, 69,
+ 86, 65, 78, 65, 71, 65, 82, 201, 66, 76, 65, 67, 203, 84, 73, 76, 197,
+ 80, 65, 82, 69, 78, 84, 72, 69, 83, 73, 90, 69, 196, 83, 89, 77, 66, 79,
+ 76, 128, 84, 72, 65, 205, 74, 79, 78, 71, 83, 69, 79, 78, 199, 83, 84,
+ 82, 79, 75, 69, 128, 83, 81, 85, 65, 82, 69, 196, 66, 79, 216, 72, 69,
+ 66, 82, 69, 215, 80, 76, 85, 211, 82, 73, 71, 72, 84, 87, 65, 82, 68,
+ 211, 68, 82, 65, 87, 73, 78, 71, 211, 67, 72, 79, 83, 69, 79, 78, 199,
+ 71, 69, 79, 82, 71, 73, 65, 206, 72, 65, 76, 70, 87, 73, 68, 84, 200, 66,
+ 65, 76, 73, 78, 69, 83, 197, 72, 79, 79, 75, 128, 213, 73, 68, 69, 79,
+ 71, 82, 65, 205, 80, 72, 65, 83, 69, 45, 196, 65, 76, 67, 72, 69, 77, 73,
+ 67, 65, 204, 73, 68, 69, 79, 71, 82, 65, 80, 72, 73, 195, 65, 76, 69,
+ 198, 84, 79, 128, 72, 69, 65, 86, 217, 84, 87, 79, 128, 79, 86, 69, 210,
+ 66, 82, 65, 72, 77, 201, 83, 67, 82, 73, 80, 212, 85, 208, 76, 79, 215,
+ 79, 78, 69, 128, 84, 87, 207, 67, 79, 78, 83, 79, 78, 65, 78, 212, 68,
79, 87, 206, 70, 85, 76, 76, 87, 73, 68, 84, 200, 72, 65, 200, 79, 78,
- 197, 69, 81, 85, 65, 204, 72, 73, 71, 200, 66, 82, 65, 67, 75, 69, 84,
- 128, 84, 65, 199, 68, 79, 77, 73, 78, 207, 78, 85, 77, 69, 82, 73, 195,
+ 197, 66, 82, 65, 67, 75, 69, 84, 128, 69, 81, 85, 65, 204, 72, 73, 71,
+ 200, 84, 65, 199, 68, 79, 77, 73, 78, 207, 78, 85, 77, 69, 82, 73, 195,
70, 82, 65, 75, 84, 85, 210, 77, 65, 76, 65, 89, 65, 76, 65, 205, 80, 72,
- 65, 83, 69, 45, 195, 76, 69, 70, 84, 87, 65, 82, 68, 211, 84, 72, 82, 69,
- 197, 66, 65, 82, 128, 74, 85, 78, 71, 83, 69, 79, 78, 199, 71, 76, 65,
- 71, 79, 76, 73, 84, 73, 195, 67, 72, 65, 82, 65, 67, 84, 69, 210, 77, 69,
- 68, 73, 65, 204, 84, 69, 76, 85, 71, 213, 66, 69, 78, 71, 65, 76, 201,
- 65, 82, 77, 69, 78, 73, 65, 206, 72, 73, 82, 65, 71, 65, 78, 193, 73, 68,
- 69, 79, 71, 82, 65, 80, 200, 74, 65, 86, 65, 78, 69, 83, 197, 74, 69, 69,
- 205, 78, 69, 71, 65, 84, 73, 86, 197, 79, 82, 73, 89, 193, 87, 69, 83,
- 84, 45, 67, 82, 69, 197, 72, 65, 76, 198, 77, 65, 82, 203, 80, 72, 65,
- 83, 69, 45, 193, 84, 72, 65, 201, 75, 65, 78, 78, 65, 68, 193, 78, 69,
- 215, 67, 72, 69, 82, 79, 75, 69, 197, 72, 65, 128, 84, 79, 78, 197, 86,
- 79, 67, 65, 76, 73, 195, 67, 72, 65, 205, 70, 79, 85, 82, 128, 71, 85,
- 74, 65, 82, 65, 84, 201, 76, 85, 197, 84, 72, 82, 69, 69, 128, 82, 85,
- 78, 73, 195, 83, 65, 85, 82, 65, 83, 72, 84, 82, 193, 84, 69, 84, 82, 65,
- 71, 82, 65, 205, 68, 69, 83, 69, 82, 69, 212, 83, 73, 78, 72, 65, 76,
- 193, 71, 85, 82, 77, 85, 75, 72, 201, 78, 79, 84, 65, 84, 73, 79, 206,
- 83, 89, 82, 73, 65, 195, 68, 79, 84, 211, 76, 73, 71, 72, 212, 84, 65,
- 77, 73, 204, 65, 67, 85, 84, 69, 128, 70, 73, 86, 69, 128, 75, 65, 128,
- 76, 69, 80, 67, 72, 193, 76, 79, 78, 199, 84, 85, 82, 75, 73, 195, 89,
- 65, 128, 68, 79, 85, 66, 76, 69, 45, 83, 84, 82, 85, 67, 203, 77, 65,
+ 65, 83, 69, 45, 195, 66, 65, 82, 128, 76, 69, 70, 84, 87, 65, 82, 68,
+ 211, 72, 73, 82, 65, 71, 65, 78, 193, 84, 72, 82, 69, 197, 65, 67, 85,
+ 84, 69, 128, 74, 85, 78, 71, 83, 69, 79, 78, 199, 71, 76, 65, 71, 79, 76,
+ 73, 84, 73, 195, 66, 69, 78, 71, 65, 76, 201, 67, 72, 65, 82, 65, 67, 84,
+ 69, 210, 77, 69, 68, 73, 65, 204, 84, 69, 76, 85, 71, 213, 65, 82, 77,
+ 69, 78, 73, 65, 206, 73, 68, 69, 79, 71, 82, 65, 80, 200, 74, 65, 86, 65,
+ 78, 69, 83, 197, 74, 69, 69, 205, 78, 69, 71, 65, 84, 73, 86, 197, 79,
+ 82, 73, 89, 193, 87, 69, 83, 84, 45, 67, 82, 69, 197, 77, 65, 82, 203,
+ 72, 65, 76, 198, 75, 65, 78, 78, 65, 68, 193, 80, 72, 65, 83, 69, 45,
+ 193, 84, 72, 65, 201, 84, 79, 78, 197, 72, 65, 128, 78, 69, 215, 67, 72,
+ 69, 82, 79, 75, 69, 197, 86, 79, 67, 65, 76, 73, 195, 67, 72, 65, 205,
+ 70, 79, 85, 82, 128, 71, 85, 74, 65, 82, 65, 84, 201, 76, 85, 197, 84,
+ 72, 82, 69, 69, 128, 82, 85, 78, 73, 195, 83, 65, 85, 82, 65, 83, 72, 84,
+ 82, 193, 84, 69, 84, 82, 65, 71, 82, 65, 205, 68, 69, 83, 69, 82, 69,
+ 212, 83, 73, 78, 72, 65, 76, 193, 84, 73, 76, 68, 69, 128, 71, 85, 82,
+ 77, 85, 75, 72, 201, 78, 79, 84, 65, 84, 73, 79, 206, 83, 89, 82, 73, 65,
+ 195, 68, 79, 84, 211, 76, 73, 71, 72, 212, 75, 65, 128, 70, 73, 86, 69,
+ 128, 76, 69, 80, 67, 72, 193, 76, 79, 78, 199, 84, 85, 82, 75, 73, 195,
+ 89, 65, 128, 68, 79, 85, 66, 76, 69, 45, 83, 84, 82, 85, 67, 203, 77, 65,
128, 83, 73, 88, 128, 86, 73, 69, 212, 72, 65, 77, 90, 193, 80, 65, 128,
- 65, 80, 204, 69, 73, 71, 72, 84, 128, 70, 85, 78, 67, 84, 73, 79, 78, 65,
- 204, 83, 128, 83, 69, 86, 69, 78, 128, 72, 79, 82, 73, 90, 79, 78, 84,
- 65, 204, 78, 73, 78, 69, 128, 84, 69, 76, 69, 71, 82, 65, 80, 200, 66,
- 79, 80, 79, 77, 79, 70, 207, 82, 65, 128, 78, 65, 128, 66, 65, 82, 194,
- 68, 65, 83, 73, 193, 75, 65, 73, 84, 72, 201, 76, 73, 77, 66, 213, 77,
- 65, 75, 83, 85, 82, 193, 84, 207, 90, 90, 89, 88, 128, 90, 90, 89, 84,
- 128, 90, 90, 89, 82, 88, 128, 90, 90, 89, 82, 128, 90, 90, 89, 80, 128,
- 90, 90, 89, 128, 90, 90, 85, 88, 128, 90, 90, 85, 82, 88, 128, 90, 90,
- 85, 82, 128, 90, 90, 85, 80, 128, 90, 90, 85, 128, 90, 90, 79, 88, 128,
- 90, 90, 79, 80, 128, 90, 90, 79, 128, 90, 90, 73, 88, 128, 90, 90, 73,
- 84, 128, 90, 90, 73, 80, 128, 90, 90, 73, 69, 88, 128, 90, 90, 73, 69,
- 84, 128, 90, 90, 73, 69, 80, 128, 90, 90, 73, 69, 128, 90, 90, 73, 128,
- 90, 90, 69, 88, 128, 90, 90, 69, 80, 128, 90, 90, 69, 69, 128, 90, 90,
- 69, 128, 90, 90, 65, 88, 128, 90, 90, 65, 84, 128, 90, 90, 65, 80, 128,
- 90, 90, 65, 65, 128, 90, 90, 65, 128, 90, 89, 71, 79, 83, 128, 90, 87,
- 65, 82, 65, 75, 65, 89, 128, 90, 87, 65, 128, 90, 85, 84, 128, 90, 85,
- 79, 88, 128, 90, 85, 79, 80, 128, 90, 85, 79, 128, 90, 85, 77, 128, 90,
- 85, 66, 85, 82, 128, 90, 85, 53, 128, 90, 85, 181, 90, 82, 65, 128, 90,
- 81, 65, 80, 72, 193, 90, 79, 84, 128, 90, 79, 79, 128, 90, 79, 65, 128,
- 90, 76, 65, 77, 193, 90, 76, 65, 128, 90, 76, 193, 90, 74, 69, 128, 90,
- 73, 90, 50, 128, 90, 73, 81, 65, 65, 128, 90, 73, 78, 79, 82, 128, 90,
- 73, 76, 68, 69, 128, 90, 73, 71, 90, 65, 199, 90, 73, 71, 128, 90, 73,
- 68, 193, 90, 73, 66, 128, 90, 73, 194, 90, 73, 51, 128, 90, 201, 90, 72,
- 89, 88, 128, 90, 72, 89, 84, 128, 90, 72, 89, 82, 88, 128, 90, 72, 89,
- 82, 128, 90, 72, 89, 80, 128, 90, 72, 89, 128, 90, 72, 87, 69, 128, 90,
- 72, 87, 65, 128, 90, 72, 85, 88, 128, 90, 72, 85, 84, 128, 90, 72, 85,
- 82, 88, 128, 90, 72, 85, 82, 128, 90, 72, 85, 80, 128, 90, 72, 85, 79,
- 88, 128, 90, 72, 85, 79, 80, 128, 90, 72, 85, 79, 128, 90, 72, 85, 128,
- 90, 72, 79, 88, 128, 90, 72, 79, 84, 128, 90, 72, 79, 80, 128, 90, 72,
- 79, 79, 128, 90, 72, 79, 128, 90, 72, 73, 86, 69, 84, 69, 128, 90, 72,
- 73, 128, 90, 72, 69, 88, 128, 90, 72, 69, 84, 128, 90, 72, 69, 80, 128,
- 90, 72, 69, 69, 128, 90, 72, 69, 128, 90, 72, 197, 90, 72, 65, 88, 128,
- 90, 72, 65, 84, 128, 90, 72, 65, 82, 128, 90, 72, 65, 80, 128, 90, 72,
- 65, 73, 78, 128, 90, 72, 65, 65, 128, 90, 72, 65, 128, 90, 72, 128, 90,
- 69, 84, 65, 128, 90, 69, 82, 79, 128, 90, 69, 82, 207, 90, 69, 78, 128,
- 90, 69, 77, 76, 89, 65, 128, 90, 69, 77, 76, 74, 65, 128, 90, 69, 50,
- 128, 90, 197, 90, 65, 89, 78, 128, 90, 65, 89, 73, 78, 128, 90, 65, 89,
- 73, 206, 90, 65, 86, 73, 89, 65, 78, 73, 128, 90, 65, 84, 65, 128, 90,
- 65, 82, 81, 65, 128, 90, 65, 81, 69, 198, 90, 65, 77, 88, 128, 90, 65,
- 204, 90, 65, 73, 78, 128, 90, 65, 73, 206, 90, 65, 73, 128, 90, 65, 72,
- 128, 90, 65, 200, 90, 65, 71, 128, 90, 65, 69, 70, 128, 90, 48, 49, 54,
- 72, 128, 90, 48, 49, 54, 71, 128, 90, 48, 49, 54, 70, 128, 90, 48, 49,
- 54, 69, 128, 90, 48, 49, 54, 68, 128, 90, 48, 49, 54, 67, 128, 90, 48,
- 49, 54, 66, 128, 90, 48, 49, 54, 65, 128, 90, 48, 49, 54, 128, 90, 48,
- 49, 53, 73, 128, 90, 48, 49, 53, 72, 128, 90, 48, 49, 53, 71, 128, 90,
- 48, 49, 53, 70, 128, 90, 48, 49, 53, 69, 128, 90, 48, 49, 53, 68, 128,
- 90, 48, 49, 53, 67, 128, 90, 48, 49, 53, 66, 128, 90, 48, 49, 53, 65,
- 128, 90, 48, 49, 53, 128, 90, 48, 49, 52, 128, 90, 48, 49, 51, 128, 90,
- 48, 49, 50, 128, 90, 48, 49, 49, 128, 90, 48, 49, 48, 128, 90, 48, 48,
- 57, 128, 90, 48, 48, 56, 128, 90, 48, 48, 55, 128, 90, 48, 48, 54, 128,
- 90, 48, 48, 53, 65, 128, 90, 48, 48, 53, 128, 90, 48, 48, 52, 65, 128,
- 90, 48, 48, 52, 128, 90, 48, 48, 51, 66, 128, 90, 48, 48, 51, 65, 128,
- 90, 48, 48, 51, 128, 90, 48, 48, 50, 68, 128, 90, 48, 48, 50, 67, 128,
- 90, 48, 48, 50, 66, 128, 90, 48, 48, 50, 65, 128, 90, 48, 48, 50, 128,
- 90, 48, 48, 49, 128, 90, 128, 218, 89, 89, 88, 128, 89, 89, 84, 128, 89,
- 89, 82, 88, 128, 89, 89, 82, 128, 89, 89, 80, 128, 89, 89, 69, 128, 89,
- 89, 65, 128, 89, 89, 128, 89, 87, 79, 79, 128, 89, 87, 79, 128, 89, 87,
- 73, 73, 128, 89, 87, 73, 128, 89, 87, 69, 128, 89, 87, 65, 65, 128, 89,
- 87, 65, 128, 89, 86, 128, 89, 85, 88, 128, 89, 85, 87, 79, 81, 128, 89,
- 85, 85, 75, 65, 76, 69, 65, 80, 73, 78, 84, 85, 128, 89, 85, 84, 128, 89,
- 85, 83, 128, 89, 85, 211, 89, 85, 82, 88, 128, 89, 85, 82, 128, 89, 85,
- 81, 128, 89, 85, 209, 89, 85, 80, 128, 89, 85, 79, 88, 128, 89, 85, 79,
- 84, 128, 89, 85, 79, 80, 128, 89, 85, 79, 77, 128, 89, 85, 79, 128, 89,
- 85, 78, 128, 89, 85, 77, 128, 89, 85, 69, 81, 128, 89, 85, 69, 128, 89,
- 85, 68, 72, 128, 89, 85, 68, 200, 89, 85, 65, 78, 128, 89, 85, 65, 69,
- 78, 128, 89, 85, 45, 89, 69, 79, 128, 89, 85, 45, 89, 69, 128, 89, 85,
- 45, 85, 128, 89, 85, 45, 79, 128, 89, 85, 45, 73, 128, 89, 85, 45, 69,
- 79, 128, 89, 85, 45, 69, 128, 89, 85, 45, 65, 69, 128, 89, 85, 45, 65,
- 128, 89, 85, 128, 89, 213, 89, 80, 83, 73, 76, 73, 128, 89, 80, 79, 82,
- 82, 79, 73, 128, 89, 80, 79, 75, 82, 73, 83, 73, 83, 128, 89, 80, 79, 75,
- 82, 73, 83, 73, 211, 89, 80, 79, 71, 69, 71, 82, 65, 77, 77, 69, 78, 73,
- 128, 89, 79, 89, 128, 89, 79, 88, 128, 89, 79, 85, 84, 72, 70, 85, 76,
- 78, 69, 83, 83, 128, 89, 79, 85, 84, 72, 70, 85, 204, 89, 79, 84, 128,
- 89, 79, 82, 73, 128, 89, 79, 81, 128, 89, 79, 209, 89, 79, 80, 128, 89,
- 79, 79, 128, 89, 79, 77, 79, 128, 89, 79, 71, 72, 128, 89, 79, 68, 72,
- 128, 89, 79, 68, 128, 89, 79, 196, 89, 79, 65, 128, 89, 79, 45, 89, 69,
- 79, 128, 89, 79, 45, 89, 65, 69, 128, 89, 79, 45, 89, 65, 128, 89, 79,
- 45, 79, 128, 89, 79, 45, 73, 128, 89, 79, 45, 69, 79, 128, 89, 79, 45,
- 65, 69, 128, 89, 79, 45, 65, 128, 89, 79, 128, 89, 207, 89, 73, 90, 69,
- 84, 128, 89, 73, 88, 128, 89, 73, 87, 78, 128, 89, 73, 84, 128, 89, 73,
- 80, 128, 89, 73, 78, 71, 128, 89, 73, 73, 128, 89, 73, 199, 89, 73, 69,
- 88, 128, 89, 73, 69, 84, 128, 89, 73, 69, 80, 128, 89, 73, 69, 69, 128,
- 89, 73, 69, 128, 89, 73, 68, 68, 73, 83, 200, 89, 73, 45, 85, 128, 89,
- 73, 128, 89, 70, 69, 83, 73, 83, 128, 89, 70, 69, 83, 73, 211, 89, 70,
- 69, 206, 89, 69, 89, 128, 89, 69, 87, 128, 89, 69, 85, 88, 128, 89, 69,
- 85, 82, 65, 69, 128, 89, 69, 85, 81, 128, 89, 69, 85, 77, 128, 89, 69,
- 85, 65, 69, 84, 128, 89, 69, 85, 65, 69, 128, 89, 69, 84, 73, 86, 128,
- 89, 69, 83, 84, 85, 128, 89, 69, 83, 73, 69, 85, 78, 71, 45, 83, 73, 79,
- 83, 128, 89, 69, 83, 73, 69, 85, 78, 71, 45, 80, 65, 78, 83, 73, 79, 83,
- 128, 89, 69, 83, 73, 69, 85, 78, 71, 45, 77, 73, 69, 85, 77, 128, 89, 69,
- 83, 73, 69, 85, 78, 71, 45, 72, 73, 69, 85, 72, 128, 89, 69, 83, 73, 69,
- 85, 78, 71, 128, 89, 69, 82, 85, 128, 89, 69, 82, 213, 89, 69, 82, 73,
- 128, 89, 69, 82, 65, 200, 89, 69, 82, 128, 89, 69, 79, 82, 73, 78, 72,
- 73, 69, 85, 72, 128, 89, 69, 79, 45, 89, 65, 128, 89, 69, 79, 45, 85,
- 128, 89, 69, 79, 45, 79, 128, 89, 69, 78, 73, 83, 69, 201, 89, 69, 78,
- 65, 80, 128, 89, 69, 78, 128, 89, 69, 206, 89, 69, 76, 76, 79, 87, 128,
- 89, 69, 76, 76, 79, 215, 89, 69, 72, 128, 89, 69, 69, 128, 89, 69, 65,
- 210, 89, 69, 65, 128, 89, 65, 90, 90, 128, 89, 65, 90, 72, 128, 89, 65,
- 90, 128, 89, 65, 89, 65, 78, 78, 65, 128, 89, 65, 89, 128, 89, 65, 87,
- 128, 89, 65, 86, 128, 89, 65, 84, 84, 128, 89, 65, 84, 73, 128, 89, 65,
- 84, 72, 128, 89, 65, 84, 128, 89, 65, 83, 83, 128, 89, 65, 83, 72, 128,
- 89, 65, 83, 128, 89, 65, 82, 82, 128, 89, 65, 82, 128, 89, 65, 210, 89,
- 65, 81, 128, 89, 65, 80, 128, 89, 65, 78, 71, 128, 89, 65, 78, 199, 89,
- 65, 78, 128, 89, 65, 77, 79, 75, 128, 89, 65, 77, 65, 75, 75, 65, 78,
- 128, 89, 65, 77, 128, 89, 65, 76, 128, 89, 65, 75, 72, 72, 128, 89, 65,
- 75, 72, 128, 89, 65, 75, 65, 83, 72, 128, 89, 65, 75, 128, 89, 65, 74,
- 85, 82, 86, 69, 68, 73, 195, 89, 65, 74, 128, 89, 65, 72, 72, 128, 89,
- 65, 72, 128, 89, 65, 71, 78, 128, 89, 65, 71, 72, 72, 128, 89, 65, 71,
- 72, 128, 89, 65, 71, 128, 89, 65, 70, 213, 89, 65, 70, 128, 89, 65, 69,
- 77, 77, 65, 69, 128, 89, 65, 68, 72, 128, 89, 65, 68, 68, 72, 128, 89,
- 65, 68, 68, 128, 89, 65, 68, 128, 89, 65, 67, 72, 128, 89, 65, 66, 72,
- 128, 89, 65, 66, 128, 89, 65, 65, 82, 85, 128, 89, 65, 65, 73, 128, 89,
- 65, 65, 68, 79, 128, 89, 65, 65, 128, 89, 65, 45, 89, 79, 128, 89, 65,
- 45, 85, 128, 89, 65, 45, 79, 128, 89, 48, 48, 56, 128, 89, 48, 48, 55,
- 128, 89, 48, 48, 54, 128, 89, 48, 48, 53, 128, 89, 48, 48, 52, 128, 89,
- 48, 48, 51, 128, 89, 48, 48, 50, 128, 89, 48, 48, 49, 65, 128, 89, 48,
- 48, 49, 128, 89, 45, 67, 82, 69, 197, 88, 89, 88, 128, 88, 89, 85, 128,
- 88, 89, 84, 128, 88, 89, 82, 88, 128, 88, 89, 82, 128, 88, 89, 80, 128,
- 88, 89, 79, 128, 88, 89, 73, 128, 88, 89, 69, 69, 128, 88, 89, 69, 128,
- 88, 89, 65, 65, 128, 88, 89, 65, 128, 88, 89, 128, 88, 87, 73, 128, 88,
- 87, 69, 69, 128, 88, 87, 69, 128, 88, 87, 65, 65, 128, 88, 87, 65, 128,
- 88, 86, 69, 128, 88, 86, 65, 128, 88, 85, 79, 88, 128, 88, 85, 79, 128,
- 88, 85, 128, 88, 83, 72, 65, 65, 89, 65, 84, 72, 73, 89, 65, 128, 88, 79,
- 88, 128, 88, 79, 84, 128, 88, 79, 82, 128, 88, 79, 80, 128, 88, 79, 65,
- 128, 88, 79, 128, 88, 73, 88, 128, 88, 73, 84, 128, 88, 73, 82, 79, 206,
- 88, 73, 80, 128, 88, 73, 69, 88, 128, 88, 73, 69, 84, 128, 88, 73, 69,
- 80, 128, 88, 73, 69, 128, 88, 73, 128, 88, 71, 128, 88, 69, 83, 84, 69,
- 211, 88, 69, 72, 128, 88, 69, 69, 128, 88, 69, 128, 88, 65, 78, 128, 88,
- 65, 65, 128, 88, 65, 128, 88, 48, 48, 56, 65, 128, 88, 48, 48, 56, 128,
- 88, 48, 48, 55, 128, 88, 48, 48, 54, 65, 128, 88, 48, 48, 54, 128, 88,
- 48, 48, 53, 128, 88, 48, 48, 52, 66, 128, 88, 48, 48, 52, 65, 128, 88,
- 48, 48, 52, 128, 88, 48, 48, 51, 128, 88, 48, 48, 50, 128, 88, 48, 48,
- 49, 128, 87, 90, 128, 87, 89, 78, 78, 128, 87, 89, 78, 206, 87, 86, 128,
- 87, 85, 80, 128, 87, 85, 79, 88, 128, 87, 85, 79, 80, 128, 87, 85, 79,
- 128, 87, 85, 78, 74, 207, 87, 85, 78, 128, 87, 85, 76, 85, 128, 87, 85,
- 76, 213, 87, 85, 69, 128, 87, 85, 65, 69, 84, 128, 87, 85, 65, 69, 78,
- 128, 87, 85, 128, 87, 82, 217, 87, 82, 79, 78, 71, 128, 87, 82, 73, 84,
- 73, 78, 199, 87, 82, 69, 78, 67, 72, 128, 87, 82, 69, 65, 84, 200, 87,
- 82, 65, 80, 80, 69, 196, 87, 82, 65, 80, 128, 87, 79, 88, 128, 87, 79,
- 82, 75, 69, 82, 128, 87, 79, 82, 75, 128, 87, 79, 82, 203, 87, 79, 82,
- 68, 83, 80, 65, 67, 69, 128, 87, 79, 82, 196, 87, 79, 80, 128, 87, 79,
- 79, 78, 128, 87, 79, 79, 76, 128, 87, 79, 79, 68, 83, 45, 67, 82, 69,
- 197, 87, 79, 79, 68, 128, 87, 79, 78, 128, 87, 79, 206, 87, 79, 77, 69,
- 78, 211, 87, 79, 77, 69, 206, 87, 79, 77, 65, 78, 211, 87, 79, 77, 65,
- 78, 128, 87, 79, 77, 65, 206, 87, 79, 76, 79, 83, 79, 128, 87, 79, 76,
- 198, 87, 79, 69, 128, 87, 79, 65, 128, 87, 73, 84, 72, 79, 85, 212, 87,
- 73, 78, 84, 69, 82, 128, 87, 73, 78, 75, 73, 78, 199, 87, 73, 78, 74, 65,
- 128, 87, 73, 78, 71, 83, 128, 87, 73, 78, 69, 128, 87, 73, 78, 197, 87,
- 73, 78, 68, 85, 128, 87, 73, 78, 68, 128, 87, 73, 78, 196, 87, 73, 78,
- 128, 87, 73, 71, 78, 89, 65, 78, 128, 87, 73, 71, 71, 76, 217, 87, 73,
- 68, 69, 45, 72, 69, 65, 68, 69, 196, 87, 73, 68, 197, 87, 73, 65, 78, 71,
- 87, 65, 65, 75, 128, 87, 73, 65, 78, 71, 128, 87, 72, 79, 76, 197, 87,
- 72, 73, 84, 69, 45, 70, 69, 65, 84, 72, 69, 82, 69, 196, 87, 72, 73, 84,
- 69, 128, 87, 72, 69, 69, 76, 69, 196, 87, 72, 69, 69, 76, 67, 72, 65, 73,
- 210, 87, 72, 69, 69, 76, 128, 87, 72, 69, 69, 204, 87, 72, 69, 65, 84,
- 128, 87, 72, 65, 76, 69, 128, 87, 71, 128, 87, 69, 88, 128, 87, 69, 85,
- 88, 128, 87, 69, 83, 84, 69, 82, 206, 87, 69, 83, 84, 128, 87, 69, 83,
- 212, 87, 69, 80, 128, 87, 69, 79, 128, 87, 69, 78, 128, 87, 69, 76, 76,
- 128, 87, 69, 73, 71, 72, 212, 87, 69, 69, 78, 128, 87, 69, 68, 71, 69,
- 45, 84, 65, 73, 76, 69, 196, 87, 69, 68, 68, 73, 78, 71, 128, 87, 69, 65,
- 82, 217, 87, 69, 65, 80, 79, 78, 128, 87, 67, 128, 87, 66, 128, 87, 65,
- 89, 128, 87, 65, 217, 87, 65, 88, 73, 78, 199, 87, 65, 88, 128, 87, 65,
- 87, 45, 65, 89, 73, 78, 45, 82, 69, 83, 72, 128, 87, 65, 87, 128, 87, 65,
- 215, 87, 65, 86, 217, 87, 65, 86, 73, 78, 199, 87, 65, 86, 69, 83, 128,
- 87, 65, 86, 69, 128, 87, 65, 86, 197, 87, 65, 85, 128, 87, 65, 84, 84,
- 79, 128, 87, 65, 84, 69, 82, 77, 69, 76, 79, 78, 128, 87, 65, 84, 69, 82,
- 128, 87, 65, 84, 69, 210, 87, 65, 84, 67, 72, 128, 87, 65, 84, 128, 87,
- 65, 83, 84, 73, 78, 71, 128, 87, 65, 83, 83, 65, 76, 76, 65, 77, 128, 87,
- 65, 83, 76, 65, 128, 87, 65, 83, 76, 193, 87, 65, 83, 65, 76, 76, 65, 77,
- 128, 87, 65, 83, 65, 76, 76, 65, 205, 87, 65, 82, 78, 73, 78, 199, 87,
- 65, 80, 128, 87, 65, 78, 73, 78, 199, 87, 65, 78, 71, 75, 85, 79, 81,
- 128, 87, 65, 78, 68, 69, 82, 69, 82, 128, 87, 65, 78, 128, 87, 65, 76,
- 76, 128, 87, 65, 76, 75, 128, 87, 65, 76, 203, 87, 65, 73, 84, 73, 78,
- 71, 128, 87, 65, 73, 128, 87, 65, 69, 78, 128, 87, 65, 69, 128, 87, 65,
- 65, 86, 85, 128, 87, 48, 50, 53, 128, 87, 48, 50, 52, 65, 128, 87, 48,
- 50, 52, 128, 87, 48, 50, 51, 128, 87, 48, 50, 50, 128, 87, 48, 50, 49,
- 128, 87, 48, 50, 48, 128, 87, 48, 49, 57, 128, 87, 48, 49, 56, 65, 128,
- 87, 48, 49, 56, 128, 87, 48, 49, 55, 65, 128, 87, 48, 49, 55, 128, 87,
- 48, 49, 54, 128, 87, 48, 49, 53, 128, 87, 48, 49, 52, 65, 128, 87, 48,
- 49, 52, 128, 87, 48, 49, 51, 128, 87, 48, 49, 50, 128, 87, 48, 49, 49,
- 128, 87, 48, 49, 48, 65, 128, 87, 48, 49, 48, 128, 87, 48, 48, 57, 65,
- 128, 87, 48, 48, 57, 128, 87, 48, 48, 56, 128, 87, 48, 48, 55, 128, 87,
- 48, 48, 54, 128, 87, 48, 48, 53, 128, 87, 48, 48, 52, 128, 87, 48, 48,
- 51, 65, 128, 87, 48, 48, 51, 128, 87, 48, 48, 50, 128, 87, 48, 48, 49,
- 128, 86, 90, 77, 69, 84, 128, 86, 89, 88, 128, 86, 89, 84, 128, 86, 89,
- 82, 88, 128, 86, 89, 82, 128, 86, 89, 80, 128, 86, 89, 128, 86, 87, 65,
- 128, 86, 85, 88, 128, 86, 85, 84, 128, 86, 85, 82, 88, 128, 86, 85, 82,
+ 83, 128, 65, 80, 204, 69, 73, 71, 72, 84, 128, 70, 85, 78, 67, 84, 73,
+ 79, 78, 65, 204, 83, 69, 86, 69, 78, 128, 72, 79, 82, 73, 90, 79, 78, 84,
+ 65, 204, 76, 65, 207, 78, 73, 78, 69, 128, 84, 69, 76, 69, 71, 82, 65,
+ 80, 200, 66, 79, 80, 79, 77, 79, 70, 207, 78, 65, 128, 82, 65, 128, 71,
+ 82, 65, 86, 69, 128, 79, 80, 69, 206, 86, 128, 90, 90, 89, 88, 128, 90,
+ 90, 89, 84, 128, 90, 90, 89, 82, 88, 128, 90, 90, 89, 82, 128, 90, 90,
+ 89, 80, 128, 90, 90, 89, 128, 90, 90, 85, 88, 128, 90, 90, 85, 82, 88,
+ 128, 90, 90, 85, 82, 128, 90, 90, 85, 80, 128, 90, 90, 85, 128, 90, 90,
+ 79, 88, 128, 90, 90, 79, 80, 128, 90, 90, 79, 128, 90, 90, 73, 88, 128,
+ 90, 90, 73, 84, 128, 90, 90, 73, 80, 128, 90, 90, 73, 69, 88, 128, 90,
+ 90, 73, 69, 84, 128, 90, 90, 73, 69, 80, 128, 90, 90, 73, 69, 128, 90,
+ 90, 73, 128, 90, 90, 69, 88, 128, 90, 90, 69, 80, 128, 90, 90, 69, 69,
+ 128, 90, 90, 69, 128, 90, 90, 65, 88, 128, 90, 90, 65, 84, 128, 90, 90,
+ 65, 80, 128, 90, 90, 65, 65, 128, 90, 90, 65, 128, 90, 89, 71, 79, 83,
+ 128, 90, 87, 65, 82, 65, 75, 65, 89, 128, 90, 87, 65, 128, 90, 85, 84,
+ 128, 90, 85, 79, 88, 128, 90, 85, 79, 80, 128, 90, 85, 79, 128, 90, 85,
+ 77, 128, 90, 85, 66, 85, 82, 128, 90, 85, 53, 128, 90, 85, 181, 90, 82,
+ 65, 128, 90, 81, 65, 80, 72, 193, 90, 79, 84, 128, 90, 79, 79, 128, 90,
+ 79, 65, 128, 90, 76, 65, 77, 193, 90, 76, 65, 128, 90, 76, 193, 90, 74,
+ 69, 128, 90, 73, 90, 50, 128, 90, 73, 81, 65, 65, 128, 90, 73, 78, 79,
+ 82, 128, 90, 73, 76, 68, 69, 128, 90, 73, 71, 90, 65, 199, 90, 73, 71,
+ 128, 90, 73, 68, 193, 90, 73, 66, 128, 90, 73, 194, 90, 73, 51, 128, 90,
+ 201, 90, 72, 89, 88, 128, 90, 72, 89, 84, 128, 90, 72, 89, 82, 88, 128,
+ 90, 72, 89, 82, 128, 90, 72, 89, 80, 128, 90, 72, 89, 128, 90, 72, 87,
+ 69, 128, 90, 72, 87, 65, 128, 90, 72, 85, 88, 128, 90, 72, 85, 84, 128,
+ 90, 72, 85, 82, 88, 128, 90, 72, 85, 82, 128, 90, 72, 85, 80, 128, 90,
+ 72, 85, 79, 88, 128, 90, 72, 85, 79, 80, 128, 90, 72, 85, 79, 128, 90,
+ 72, 85, 128, 90, 72, 79, 88, 128, 90, 72, 79, 84, 128, 90, 72, 79, 80,
+ 128, 90, 72, 79, 79, 128, 90, 72, 79, 128, 90, 72, 73, 86, 69, 84, 69,
+ 128, 90, 72, 73, 128, 90, 72, 69, 88, 128, 90, 72, 69, 84, 128, 90, 72,
+ 69, 80, 128, 90, 72, 69, 69, 128, 90, 72, 69, 128, 90, 72, 197, 90, 72,
+ 65, 88, 128, 90, 72, 65, 84, 128, 90, 72, 65, 82, 128, 90, 72, 65, 80,
+ 128, 90, 72, 65, 73, 78, 128, 90, 72, 65, 65, 128, 90, 72, 65, 128, 90,
+ 72, 128, 90, 69, 84, 65, 128, 90, 69, 82, 79, 128, 90, 69, 82, 207, 90,
+ 69, 78, 128, 90, 69, 77, 76, 89, 65, 128, 90, 69, 77, 76, 74, 65, 128,
+ 90, 69, 50, 128, 90, 197, 90, 65, 89, 78, 128, 90, 65, 89, 73, 78, 128,
+ 90, 65, 89, 73, 206, 90, 65, 86, 73, 89, 65, 78, 73, 128, 90, 65, 84, 65,
+ 128, 90, 65, 82, 81, 65, 128, 90, 65, 81, 69, 198, 90, 65, 77, 88, 128,
+ 90, 65, 204, 90, 65, 73, 78, 128, 90, 65, 73, 206, 90, 65, 73, 128, 90,
+ 65, 72, 128, 90, 65, 200, 90, 65, 71, 128, 90, 65, 69, 70, 128, 90, 48,
+ 49, 54, 72, 128, 90, 48, 49, 54, 71, 128, 90, 48, 49, 54, 70, 128, 90,
+ 48, 49, 54, 69, 128, 90, 48, 49, 54, 68, 128, 90, 48, 49, 54, 67, 128,
+ 90, 48, 49, 54, 66, 128, 90, 48, 49, 54, 65, 128, 90, 48, 49, 54, 128,
+ 90, 48, 49, 53, 73, 128, 90, 48, 49, 53, 72, 128, 90, 48, 49, 53, 71,
+ 128, 90, 48, 49, 53, 70, 128, 90, 48, 49, 53, 69, 128, 90, 48, 49, 53,
+ 68, 128, 90, 48, 49, 53, 67, 128, 90, 48, 49, 53, 66, 128, 90, 48, 49,
+ 53, 65, 128, 90, 48, 49, 53, 128, 90, 48, 49, 52, 128, 90, 48, 49, 51,
+ 128, 90, 48, 49, 50, 128, 90, 48, 49, 49, 128, 90, 48, 49, 48, 128, 90,
+ 48, 48, 57, 128, 90, 48, 48, 56, 128, 90, 48, 48, 55, 128, 90, 48, 48,
+ 54, 128, 90, 48, 48, 53, 65, 128, 90, 48, 48, 53, 128, 90, 48, 48, 52,
+ 65, 128, 90, 48, 48, 52, 128, 90, 48, 48, 51, 66, 128, 90, 48, 48, 51,
+ 65, 128, 90, 48, 48, 51, 128, 90, 48, 48, 50, 68, 128, 90, 48, 48, 50,
+ 67, 128, 90, 48, 48, 50, 66, 128, 90, 48, 48, 50, 65, 128, 90, 48, 48,
+ 50, 128, 90, 48, 48, 49, 128, 90, 128, 218, 89, 89, 88, 128, 89, 89, 84,
+ 128, 89, 89, 82, 88, 128, 89, 89, 82, 128, 89, 89, 80, 128, 89, 89, 69,
+ 128, 89, 89, 65, 128, 89, 89, 128, 89, 87, 79, 79, 128, 89, 87, 79, 128,
+ 89, 87, 73, 73, 128, 89, 87, 73, 128, 89, 87, 69, 128, 89, 87, 65, 65,
+ 128, 89, 87, 65, 128, 89, 86, 128, 89, 85, 88, 128, 89, 85, 87, 79, 81,
+ 128, 89, 85, 85, 75, 65, 76, 69, 65, 80, 73, 78, 84, 85, 128, 89, 85, 85,
+ 128, 89, 85, 84, 128, 89, 85, 83, 128, 89, 85, 211, 89, 85, 82, 88, 128,
+ 89, 85, 82, 128, 89, 85, 81, 128, 89, 85, 209, 89, 85, 80, 128, 89, 85,
+ 79, 88, 128, 89, 85, 79, 84, 128, 89, 85, 79, 80, 128, 89, 85, 79, 77,
+ 128, 89, 85, 79, 128, 89, 85, 78, 128, 89, 85, 77, 128, 89, 85, 69, 81,
+ 128, 89, 85, 69, 128, 89, 85, 68, 72, 128, 89, 85, 68, 200, 89, 85, 65,
+ 78, 128, 89, 85, 65, 69, 78, 128, 89, 85, 45, 89, 69, 79, 128, 89, 85,
+ 45, 89, 69, 128, 89, 85, 45, 85, 128, 89, 85, 45, 79, 128, 89, 85, 45,
+ 73, 128, 89, 85, 45, 69, 79, 128, 89, 85, 45, 69, 128, 89, 85, 45, 65,
+ 69, 128, 89, 85, 45, 65, 128, 89, 85, 128, 89, 213, 89, 80, 83, 73, 76,
+ 73, 128, 89, 80, 79, 82, 82, 79, 73, 128, 89, 80, 79, 75, 82, 73, 83, 73,
+ 83, 128, 89, 80, 79, 75, 82, 73, 83, 73, 211, 89, 80, 79, 71, 69, 71, 82,
+ 65, 77, 77, 69, 78, 73, 128, 89, 79, 89, 128, 89, 79, 88, 128, 89, 79,
+ 85, 84, 72, 70, 85, 76, 78, 69, 83, 83, 128, 89, 79, 85, 84, 72, 70, 85,
+ 204, 89, 79, 84, 128, 89, 79, 82, 73, 128, 89, 79, 81, 128, 89, 79, 209,
+ 89, 79, 80, 128, 89, 79, 79, 128, 89, 79, 77, 79, 128, 89, 79, 71, 72,
+ 128, 89, 79, 68, 72, 128, 89, 79, 68, 128, 89, 79, 196, 89, 79, 65, 128,
+ 89, 79, 45, 89, 69, 79, 128, 89, 79, 45, 89, 65, 69, 128, 89, 79, 45, 89,
+ 65, 128, 89, 79, 45, 79, 128, 89, 79, 45, 73, 128, 89, 79, 45, 69, 79,
+ 128, 89, 79, 45, 65, 69, 128, 89, 79, 45, 65, 128, 89, 79, 128, 89, 207,
+ 89, 73, 90, 69, 84, 128, 89, 73, 88, 128, 89, 73, 87, 78, 128, 89, 73,
+ 84, 128, 89, 73, 80, 128, 89, 73, 78, 71, 128, 89, 73, 73, 128, 89, 73,
+ 199, 89, 73, 69, 88, 128, 89, 73, 69, 84, 128, 89, 73, 69, 80, 128, 89,
+ 73, 69, 69, 128, 89, 73, 69, 128, 89, 73, 68, 68, 73, 83, 200, 89, 73,
+ 45, 85, 128, 89, 73, 128, 89, 70, 69, 83, 73, 83, 128, 89, 70, 69, 83,
+ 73, 211, 89, 70, 69, 206, 89, 69, 89, 128, 89, 69, 87, 128, 89, 69, 85,
+ 88, 128, 89, 69, 85, 82, 65, 69, 128, 89, 69, 85, 81, 128, 89, 69, 85,
+ 77, 128, 89, 69, 85, 65, 69, 84, 128, 89, 69, 85, 65, 69, 128, 89, 69,
+ 84, 73, 86, 128, 89, 69, 83, 84, 85, 128, 89, 69, 83, 73, 69, 85, 78, 71,
+ 45, 83, 73, 79, 83, 128, 89, 69, 83, 73, 69, 85, 78, 71, 45, 80, 65, 78,
+ 83, 73, 79, 83, 128, 89, 69, 83, 73, 69, 85, 78, 71, 45, 77, 73, 69, 85,
+ 77, 128, 89, 69, 83, 73, 69, 85, 78, 71, 45, 72, 73, 69, 85, 72, 128, 89,
+ 69, 83, 73, 69, 85, 78, 71, 128, 89, 69, 82, 85, 128, 89, 69, 82, 213,
+ 89, 69, 82, 73, 128, 89, 69, 82, 65, 200, 89, 69, 82, 128, 89, 69, 79,
+ 82, 73, 78, 72, 73, 69, 85, 72, 128, 89, 69, 79, 45, 89, 65, 128, 89, 69,
+ 79, 45, 85, 128, 89, 69, 79, 45, 79, 128, 89, 69, 78, 73, 83, 69, 201,
+ 89, 69, 78, 65, 80, 128, 89, 69, 78, 128, 89, 69, 206, 89, 69, 76, 76,
+ 79, 87, 128, 89, 69, 76, 76, 79, 215, 89, 69, 72, 128, 89, 69, 69, 128,
+ 89, 69, 65, 210, 89, 69, 65, 128, 89, 65, 90, 90, 128, 89, 65, 90, 72,
+ 128, 89, 65, 90, 128, 89, 65, 89, 65, 78, 78, 65, 128, 89, 65, 89, 128,
+ 89, 65, 87, 128, 89, 65, 86, 128, 89, 65, 85, 128, 89, 65, 84, 84, 128,
+ 89, 65, 84, 73, 128, 89, 65, 84, 72, 128, 89, 65, 84, 128, 89, 65, 83,
+ 83, 128, 89, 65, 83, 72, 128, 89, 65, 83, 128, 89, 65, 82, 82, 128, 89,
+ 65, 82, 128, 89, 65, 210, 89, 65, 81, 128, 89, 65, 80, 128, 89, 65, 78,
+ 71, 128, 89, 65, 78, 199, 89, 65, 78, 128, 89, 65, 77, 79, 75, 128, 89,
+ 65, 77, 65, 75, 75, 65, 78, 128, 89, 65, 77, 128, 89, 65, 76, 128, 89,
+ 65, 75, 72, 72, 128, 89, 65, 75, 72, 128, 89, 65, 75, 65, 83, 72, 128,
+ 89, 65, 75, 128, 89, 65, 74, 85, 82, 86, 69, 68, 73, 195, 89, 65, 74,
+ 128, 89, 65, 73, 128, 89, 65, 72, 72, 128, 89, 65, 72, 128, 89, 65, 71,
+ 78, 128, 89, 65, 71, 72, 72, 128, 89, 65, 71, 72, 128, 89, 65, 71, 128,
+ 89, 65, 70, 213, 89, 65, 70, 128, 89, 65, 69, 77, 77, 65, 69, 128, 89,
+ 65, 68, 72, 128, 89, 65, 68, 68, 72, 128, 89, 65, 68, 68, 128, 89, 65,
+ 68, 128, 89, 65, 67, 72, 128, 89, 65, 66, 72, 128, 89, 65, 66, 128, 89,
+ 65, 65, 82, 85, 128, 89, 65, 65, 73, 128, 89, 65, 65, 68, 79, 128, 89,
+ 65, 65, 128, 89, 65, 45, 89, 79, 128, 89, 65, 45, 85, 128, 89, 65, 45,
+ 79, 128, 89, 48, 48, 56, 128, 89, 48, 48, 55, 128, 89, 48, 48, 54, 128,
+ 89, 48, 48, 53, 128, 89, 48, 48, 52, 128, 89, 48, 48, 51, 128, 89, 48,
+ 48, 50, 128, 89, 48, 48, 49, 65, 128, 89, 48, 48, 49, 128, 89, 45, 67,
+ 82, 69, 197, 88, 89, 88, 128, 88, 89, 85, 128, 88, 89, 84, 128, 88, 89,
+ 82, 88, 128, 88, 89, 82, 128, 88, 89, 80, 128, 88, 89, 79, 128, 88, 89,
+ 73, 128, 88, 89, 69, 69, 128, 88, 89, 69, 128, 88, 89, 65, 65, 128, 88,
+ 89, 65, 128, 88, 89, 128, 88, 87, 73, 128, 88, 87, 69, 69, 128, 88, 87,
+ 69, 128, 88, 87, 65, 65, 128, 88, 87, 65, 128, 88, 86, 69, 128, 88, 86,
+ 65, 128, 88, 85, 79, 88, 128, 88, 85, 79, 128, 88, 85, 128, 88, 83, 72,
+ 65, 65, 89, 65, 84, 72, 73, 89, 65, 128, 88, 79, 88, 128, 88, 79, 84,
+ 128, 88, 79, 82, 128, 88, 79, 80, 128, 88, 79, 65, 128, 88, 79, 128, 88,
+ 73, 88, 128, 88, 73, 84, 128, 88, 73, 82, 79, 206, 88, 73, 80, 128, 88,
+ 73, 69, 88, 128, 88, 73, 69, 84, 128, 88, 73, 69, 80, 128, 88, 73, 69,
+ 128, 88, 73, 128, 88, 71, 128, 88, 69, 83, 84, 69, 211, 88, 69, 72, 128,
+ 88, 69, 69, 128, 88, 69, 128, 88, 65, 78, 128, 88, 65, 65, 128, 88, 65,
+ 128, 88, 48, 48, 56, 65, 128, 88, 48, 48, 56, 128, 88, 48, 48, 55, 128,
+ 88, 48, 48, 54, 65, 128, 88, 48, 48, 54, 128, 88, 48, 48, 53, 128, 88,
+ 48, 48, 52, 66, 128, 88, 48, 48, 52, 65, 128, 88, 48, 48, 52, 128, 88,
+ 48, 48, 51, 128, 88, 48, 48, 50, 128, 88, 48, 48, 49, 128, 87, 90, 128,
+ 87, 89, 78, 78, 128, 87, 89, 78, 206, 87, 86, 128, 87, 85, 80, 128, 87,
+ 85, 79, 88, 128, 87, 85, 79, 80, 128, 87, 85, 79, 128, 87, 85, 78, 74,
+ 207, 87, 85, 78, 128, 87, 85, 76, 85, 128, 87, 85, 76, 213, 87, 85, 69,
+ 128, 87, 85, 65, 69, 84, 128, 87, 85, 65, 69, 78, 128, 87, 85, 128, 87,
+ 82, 217, 87, 82, 79, 78, 71, 128, 87, 82, 73, 84, 73, 78, 199, 87, 82,
+ 69, 78, 67, 72, 128, 87, 82, 69, 65, 84, 200, 87, 82, 65, 80, 80, 69,
+ 196, 87, 82, 65, 80, 128, 87, 79, 88, 128, 87, 79, 82, 75, 69, 82, 128,
+ 87, 79, 82, 75, 128, 87, 79, 82, 203, 87, 79, 82, 68, 83, 80, 65, 67, 69,
+ 128, 87, 79, 82, 196, 87, 79, 80, 128, 87, 79, 79, 78, 128, 87, 79, 79,
+ 76, 128, 87, 79, 79, 68, 83, 45, 67, 82, 69, 197, 87, 79, 79, 68, 128,
+ 87, 79, 78, 128, 87, 79, 206, 87, 79, 77, 69, 78, 211, 87, 79, 77, 69,
+ 206, 87, 79, 77, 65, 78, 211, 87, 79, 77, 65, 78, 128, 87, 79, 77, 65,
+ 206, 87, 79, 76, 79, 83, 79, 128, 87, 79, 76, 198, 87, 79, 69, 128, 87,
+ 79, 65, 128, 87, 73, 84, 72, 79, 85, 212, 87, 73, 78, 84, 69, 82, 128,
+ 87, 73, 78, 75, 73, 78, 199, 87, 73, 78, 74, 65, 128, 87, 73, 78, 71, 83,
+ 128, 87, 73, 78, 69, 128, 87, 73, 78, 197, 87, 73, 78, 68, 85, 128, 87,
+ 73, 78, 68, 128, 87, 73, 78, 196, 87, 73, 78, 128, 87, 73, 71, 78, 89,
+ 65, 78, 128, 87, 73, 71, 71, 76, 217, 87, 73, 68, 69, 45, 72, 69, 65, 68,
+ 69, 196, 87, 73, 68, 197, 87, 73, 65, 78, 71, 87, 65, 65, 75, 128, 87,
+ 73, 65, 78, 71, 128, 87, 72, 79, 76, 197, 87, 72, 73, 84, 69, 45, 70, 69,
+ 65, 84, 72, 69, 82, 69, 196, 87, 72, 73, 84, 69, 128, 87, 72, 69, 69, 76,
+ 69, 196, 87, 72, 69, 69, 76, 67, 72, 65, 73, 210, 87, 72, 69, 69, 76,
+ 128, 87, 72, 69, 69, 204, 87, 72, 69, 65, 84, 128, 87, 72, 65, 76, 69,
+ 128, 87, 71, 128, 87, 69, 88, 128, 87, 69, 85, 88, 128, 87, 69, 83, 84,
+ 69, 82, 206, 87, 69, 83, 84, 128, 87, 69, 83, 212, 87, 69, 80, 128, 87,
+ 69, 79, 128, 87, 69, 78, 128, 87, 69, 76, 76, 128, 87, 69, 73, 71, 72,
+ 212, 87, 69, 69, 78, 128, 87, 69, 68, 71, 69, 45, 84, 65, 73, 76, 69,
+ 196, 87, 69, 68, 68, 73, 78, 71, 128, 87, 69, 65, 82, 217, 87, 69, 65,
+ 80, 79, 78, 128, 87, 67, 128, 87, 66, 128, 87, 65, 89, 128, 87, 65, 217,
+ 87, 65, 88, 73, 78, 199, 87, 65, 88, 128, 87, 65, 87, 45, 65, 89, 73, 78,
+ 45, 82, 69, 83, 72, 128, 87, 65, 87, 128, 87, 65, 215, 87, 65, 86, 217,
+ 87, 65, 86, 73, 78, 199, 87, 65, 86, 69, 83, 128, 87, 65, 86, 69, 128,
+ 87, 65, 86, 197, 87, 65, 85, 128, 87, 65, 84, 84, 79, 128, 87, 65, 84,
+ 69, 82, 77, 69, 76, 79, 78, 128, 87, 65, 84, 69, 82, 128, 87, 65, 84, 69,
+ 210, 87, 65, 84, 67, 72, 128, 87, 65, 84, 128, 87, 65, 83, 84, 73, 78,
+ 71, 128, 87, 65, 83, 83, 65, 76, 76, 65, 77, 128, 87, 65, 83, 76, 65,
+ 128, 87, 65, 83, 76, 193, 87, 65, 83, 65, 76, 76, 65, 77, 128, 87, 65,
+ 83, 65, 76, 76, 65, 205, 87, 65, 82, 78, 73, 78, 199, 87, 65, 80, 128,
+ 87, 65, 78, 73, 78, 199, 87, 65, 78, 71, 75, 85, 79, 81, 128, 87, 65, 78,
+ 68, 69, 82, 69, 82, 128, 87, 65, 78, 128, 87, 65, 76, 76, 128, 87, 65,
+ 76, 75, 128, 87, 65, 76, 203, 87, 65, 73, 84, 73, 78, 71, 128, 87, 65,
+ 73, 128, 87, 65, 69, 78, 128, 87, 65, 69, 128, 87, 65, 65, 86, 85, 128,
+ 87, 48, 50, 53, 128, 87, 48, 50, 52, 65, 128, 87, 48, 50, 52, 128, 87,
+ 48, 50, 51, 128, 87, 48, 50, 50, 128, 87, 48, 50, 49, 128, 87, 48, 50,
+ 48, 128, 87, 48, 49, 57, 128, 87, 48, 49, 56, 65, 128, 87, 48, 49, 56,
+ 128, 87, 48, 49, 55, 65, 128, 87, 48, 49, 55, 128, 87, 48, 49, 54, 128,
+ 87, 48, 49, 53, 128, 87, 48, 49, 52, 65, 128, 87, 48, 49, 52, 128, 87,
+ 48, 49, 51, 128, 87, 48, 49, 50, 128, 87, 48, 49, 49, 128, 87, 48, 49,
+ 48, 65, 128, 87, 48, 49, 48, 128, 87, 48, 48, 57, 65, 128, 87, 48, 48,
+ 57, 128, 87, 48, 48, 56, 128, 87, 48, 48, 55, 128, 87, 48, 48, 54, 128,
+ 87, 48, 48, 53, 128, 87, 48, 48, 52, 128, 87, 48, 48, 51, 65, 128, 87,
+ 48, 48, 51, 128, 87, 48, 48, 50, 128, 87, 48, 48, 49, 128, 86, 90, 77,
+ 69, 84, 128, 86, 89, 88, 128, 86, 89, 84, 128, 86, 89, 82, 88, 128, 86,
+ 89, 82, 128, 86, 89, 80, 128, 86, 89, 128, 86, 87, 65, 128, 86, 85, 88,
+ 128, 86, 85, 85, 128, 86, 85, 84, 128, 86, 85, 82, 88, 128, 86, 85, 82,
128, 86, 85, 80, 128, 86, 85, 76, 71, 65, 210, 86, 85, 69, 81, 128, 86,
83, 128, 86, 82, 65, 67, 72, 89, 128, 86, 79, 88, 128, 86, 79, 87, 69,
76, 45, 67, 65, 82, 82, 73, 69, 210, 86, 79, 87, 128, 86, 79, 85, 128,
@@ -272,213 +273,216 @@ static unsigned char lexicon[] = {
76, 73, 78, 128, 86, 73, 78, 69, 71, 65, 82, 45, 51, 128, 86, 73, 78, 69,
71, 65, 82, 45, 50, 128, 86, 73, 78, 69, 71, 65, 82, 128, 86, 73, 78, 69,
71, 65, 210, 86, 73, 78, 69, 128, 86, 73, 78, 128, 86, 73, 76, 76, 65,
- 71, 69, 128, 86, 73, 69, 88, 128, 86, 73, 69, 87, 73, 78, 199, 86, 73,
- 69, 87, 68, 65, 84, 193, 86, 73, 69, 84, 128, 86, 73, 69, 80, 128, 86,
- 73, 69, 128, 86, 73, 68, 69, 79, 67, 65, 83, 83, 69, 84, 84, 69, 128, 86,
- 73, 68, 69, 207, 86, 73, 68, 65, 128, 86, 73, 67, 84, 79, 82, 217, 86,
- 73, 66, 82, 65, 84, 73, 79, 206, 86, 73, 128, 86, 69, 88, 128, 86, 69,
- 87, 128, 86, 69, 215, 86, 69, 85, 88, 128, 86, 69, 85, 77, 128, 86, 69,
- 85, 65, 69, 80, 69, 78, 128, 86, 69, 85, 65, 69, 128, 86, 69, 83, 84, 65,
- 128, 86, 69, 83, 83, 69, 204, 86, 69, 82, 217, 86, 69, 82, 84, 73, 67,
- 65, 76, 76, 89, 128, 86, 69, 82, 84, 73, 67, 65, 76, 76, 217, 86, 69, 82,
- 84, 73, 67, 65, 76, 45, 48, 54, 45, 48, 54, 128, 86, 69, 82, 84, 73, 67,
- 65, 76, 45, 48, 54, 45, 48, 53, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45,
- 48, 54, 45, 48, 52, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 54, 45,
- 48, 51, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 54, 45, 48, 50, 128,
- 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 54, 45, 48, 49, 128, 86, 69, 82,
- 84, 73, 67, 65, 76, 45, 48, 54, 45, 48, 48, 128, 86, 69, 82, 84, 73, 67,
- 65, 76, 45, 48, 53, 45, 48, 54, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45,
- 48, 53, 45, 48, 53, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 53, 45,
- 48, 52, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 53, 45, 48, 51, 128,
- 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 53, 45, 48, 50, 128, 86, 69, 82,
- 84, 73, 67, 65, 76, 45, 48, 53, 45, 48, 49, 128, 86, 69, 82, 84, 73, 67,
- 65, 76, 45, 48, 53, 45, 48, 48, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45,
- 48, 52, 45, 48, 54, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 52, 45,
- 48, 53, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 52, 45, 48, 52, 128,
- 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 52, 45, 48, 51, 128, 86, 69, 82,
- 84, 73, 67, 65, 76, 45, 48, 52, 45, 48, 50, 128, 86, 69, 82, 84, 73, 67,
- 65, 76, 45, 48, 52, 45, 48, 49, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45,
- 48, 52, 45, 48, 48, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 51, 45,
- 48, 54, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 51, 45, 48, 53, 128,
- 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 51, 45, 48, 52, 128, 86, 69, 82,
- 84, 73, 67, 65, 76, 45, 48, 51, 45, 48, 51, 128, 86, 69, 82, 84, 73, 67,
- 65, 76, 45, 48, 51, 45, 48, 50, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45,
- 48, 51, 45, 48, 49, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 51, 45,
- 48, 48, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 50, 45, 48, 54, 128,
- 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 50, 45, 48, 53, 128, 86, 69, 82,
- 84, 73, 67, 65, 76, 45, 48, 50, 45, 48, 52, 128, 86, 69, 82, 84, 73, 67,
- 65, 76, 45, 48, 50, 45, 48, 51, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45,
- 48, 50, 45, 48, 50, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 50, 45,
- 48, 49, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 50, 45, 48, 48, 128,
- 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 49, 45, 48, 54, 128, 86, 69, 82,
- 84, 73, 67, 65, 76, 45, 48, 49, 45, 48, 53, 128, 86, 69, 82, 84, 73, 67,
- 65, 76, 45, 48, 49, 45, 48, 52, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45,
- 48, 49, 45, 48, 51, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 49, 45,
- 48, 50, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 49, 45, 48, 49, 128,
- 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 49, 45, 48, 48, 128, 86, 69, 82,
- 84, 73, 67, 65, 76, 45, 48, 48, 45, 48, 54, 128, 86, 69, 82, 84, 73, 67,
- 65, 76, 45, 48, 48, 45, 48, 53, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45,
- 48, 48, 45, 48, 52, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 48, 45,
- 48, 51, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 48, 45, 48, 50, 128,
- 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 48, 45, 48, 49, 128, 86, 69, 82,
- 84, 73, 67, 65, 76, 45, 48, 48, 45, 48, 48, 128, 86, 69, 82, 84, 73, 67,
- 65, 76, 128, 86, 69, 82, 83, 73, 67, 76, 69, 128, 86, 69, 82, 83, 197,
- 86, 69, 82, 71, 69, 128, 86, 69, 82, 68, 73, 71, 82, 73, 83, 128, 86, 69,
- 80, 128, 86, 69, 78, 68, 128, 86, 69, 73, 76, 128, 86, 69, 72, 73, 67,
- 76, 69, 128, 86, 69, 72, 128, 86, 69, 200, 86, 69, 69, 128, 86, 69, 197,
- 86, 69, 68, 69, 128, 86, 69, 67, 84, 79, 210, 86, 65, 89, 65, 78, 78, 65,
- 128, 86, 65, 88, 128, 86, 65, 86, 128, 86, 65, 214, 86, 65, 84, 72, 89,
- 128, 86, 65, 84, 128, 86, 65, 83, 84, 78, 69, 83, 211, 86, 65, 83, 73,
- 83, 128, 86, 65, 82, 89, 211, 86, 65, 82, 73, 75, 65, 128, 86, 65, 82,
- 73, 65, 78, 212, 86, 65, 82, 73, 65, 128, 86, 65, 82, 73, 193, 86, 65,
- 82, 69, 73, 65, 201, 86, 65, 82, 69, 73, 193, 86, 65, 80, 79, 85, 82, 83,
- 128, 86, 65, 80, 128, 86, 65, 78, 69, 128, 86, 65, 77, 65, 71, 79, 77,
- 85, 75, 72, 65, 128, 86, 65, 77, 65, 71, 79, 77, 85, 75, 72, 193, 86, 65,
- 76, 76, 69, 89, 128, 86, 65, 65, 86, 85, 128, 86, 65, 65, 128, 86, 48,
- 52, 48, 65, 128, 86, 48, 52, 48, 128, 86, 48, 51, 57, 128, 86, 48, 51,
- 56, 128, 86, 48, 51, 55, 65, 128, 86, 48, 51, 55, 128, 86, 48, 51, 54,
- 128, 86, 48, 51, 53, 128, 86, 48, 51, 52, 128, 86, 48, 51, 51, 65, 128,
- 86, 48, 51, 51, 128, 86, 48, 51, 50, 128, 86, 48, 51, 49, 65, 128, 86,
- 48, 51, 49, 128, 86, 48, 51, 48, 65, 128, 86, 48, 51, 48, 128, 86, 48,
- 50, 57, 65, 128, 86, 48, 50, 57, 128, 86, 48, 50, 56, 65, 128, 86, 48,
- 50, 56, 128, 86, 48, 50, 55, 128, 86, 48, 50, 54, 128, 86, 48, 50, 53,
- 128, 86, 48, 50, 52, 128, 86, 48, 50, 51, 65, 128, 86, 48, 50, 51, 128,
- 86, 48, 50, 50, 128, 86, 48, 50, 49, 128, 86, 48, 50, 48, 76, 128, 86,
- 48, 50, 48, 75, 128, 86, 48, 50, 48, 74, 128, 86, 48, 50, 48, 73, 128,
- 86, 48, 50, 48, 72, 128, 86, 48, 50, 48, 71, 128, 86, 48, 50, 48, 70,
- 128, 86, 48, 50, 48, 69, 128, 86, 48, 50, 48, 68, 128, 86, 48, 50, 48,
- 67, 128, 86, 48, 50, 48, 66, 128, 86, 48, 50, 48, 65, 128, 86, 48, 50,
- 48, 128, 86, 48, 49, 57, 128, 86, 48, 49, 56, 128, 86, 48, 49, 55, 128,
- 86, 48, 49, 54, 128, 86, 48, 49, 53, 128, 86, 48, 49, 52, 128, 86, 48,
- 49, 51, 128, 86, 48, 49, 50, 66, 128, 86, 48, 49, 50, 65, 128, 86, 48,
- 49, 50, 128, 86, 48, 49, 49, 67, 128, 86, 48, 49, 49, 66, 128, 86, 48,
- 49, 49, 65, 128, 86, 48, 49, 49, 128, 86, 48, 49, 48, 128, 86, 48, 48,
- 57, 128, 86, 48, 48, 56, 128, 86, 48, 48, 55, 66, 128, 86, 48, 48, 55,
- 65, 128, 86, 48, 48, 55, 128, 86, 48, 48, 54, 128, 86, 48, 48, 53, 128,
- 86, 48, 48, 52, 128, 86, 48, 48, 51, 128, 86, 48, 48, 50, 65, 128, 86,
- 48, 48, 50, 128, 86, 48, 48, 49, 73, 128, 86, 48, 48, 49, 72, 128, 86,
- 48, 48, 49, 71, 128, 86, 48, 48, 49, 70, 128, 86, 48, 48, 49, 69, 128,
- 86, 48, 48, 49, 68, 128, 86, 48, 48, 49, 67, 128, 86, 48, 48, 49, 66,
- 128, 86, 48, 48, 49, 65, 128, 86, 48, 48, 49, 128, 85, 90, 85, 128, 85,
- 90, 51, 128, 85, 90, 179, 85, 89, 65, 78, 78, 65, 128, 85, 89, 128, 85,
- 85, 89, 65, 78, 78, 65, 128, 85, 85, 85, 85, 128, 85, 85, 85, 51, 128,
- 85, 85, 85, 50, 128, 85, 85, 69, 128, 85, 84, 85, 75, 73, 128, 85, 83,
- 83, 85, 51, 128, 85, 83, 83, 85, 128, 85, 83, 72, 88, 128, 85, 83, 72,
- 85, 77, 88, 128, 85, 83, 72, 69, 78, 78, 65, 128, 85, 83, 72, 50, 128,
- 85, 83, 72, 128, 85, 83, 200, 85, 83, 69, 196, 85, 83, 69, 128, 85, 82,
- 85, 218, 85, 82, 85, 83, 128, 85, 82, 85, 68, 65, 128, 85, 82, 85, 68,
- 193, 85, 82, 85, 128, 85, 82, 213, 85, 82, 78, 128, 85, 82, 73, 78, 69,
- 128, 85, 82, 73, 51, 128, 85, 82, 73, 128, 85, 82, 65, 78, 85, 83, 128,
- 85, 82, 65, 128, 85, 82, 52, 128, 85, 82, 50, 128, 85, 82, 178, 85, 80,
- 87, 65, 82, 68, 83, 128, 85, 80, 87, 65, 82, 68, 211, 85, 80, 87, 65, 82,
- 68, 128, 85, 80, 87, 65, 82, 196, 85, 80, 84, 85, 82, 78, 128, 85, 80,
- 83, 73, 76, 79, 78, 128, 85, 80, 83, 73, 76, 79, 206, 85, 80, 82, 73, 71,
- 72, 212, 85, 80, 80, 69, 210, 85, 80, 65, 68, 72, 77, 65, 78, 73, 89, 65,
- 128, 85, 80, 45, 80, 79, 73, 78, 84, 73, 78, 199, 85, 79, 78, 128, 85,
- 78, 78, 128, 85, 78, 77, 65, 82, 82, 73, 69, 196, 85, 78, 75, 78, 79, 87,
- 78, 128, 85, 78, 73, 86, 69, 82, 83, 65, 204, 85, 78, 73, 84, 89, 128,
- 85, 78, 73, 84, 128, 85, 78, 73, 212, 85, 78, 73, 79, 78, 128, 85, 78,
- 73, 79, 206, 85, 78, 73, 70, 73, 69, 196, 85, 78, 68, 207, 85, 78, 68,
- 69, 82, 84, 73, 69, 128, 85, 78, 68, 69, 82, 76, 73, 78, 197, 85, 78, 68,
- 69, 82, 68, 79, 84, 128, 85, 78, 68, 69, 82, 66, 65, 82, 128, 85, 78, 68,
- 69, 210, 85, 78, 67, 73, 193, 85, 78, 65, 83, 80, 73, 82, 65, 84, 69, 68,
- 128, 85, 78, 65, 80, 128, 85, 78, 65, 77, 85, 83, 69, 196, 85, 78, 65,
- 128, 85, 206, 85, 77, 85, 77, 128, 85, 77, 85, 205, 85, 77, 66, 82, 69,
- 76, 76, 65, 128, 85, 77, 66, 82, 69, 76, 76, 193, 85, 77, 66, 73, 78,
- 128, 85, 75, 85, 128, 85, 75, 82, 65, 73, 78, 73, 65, 206, 85, 75, 65,
- 82, 65, 128, 85, 75, 65, 82, 193, 85, 75, 128, 85, 73, 76, 76, 69, 65,
- 78, 78, 128, 85, 73, 71, 72, 85, 210, 85, 71, 65, 82, 73, 84, 73, 195,
- 85, 69, 89, 128, 85, 69, 69, 128, 85, 69, 65, 128, 85, 68, 85, 71, 128,
- 85, 68, 65, 84, 84, 65, 128, 85, 68, 65, 84, 84, 193, 85, 68, 65, 65, 84,
- 128, 85, 68, 128, 85, 196, 85, 67, 128, 85, 66, 85, 70, 73, 76, 73, 128,
- 85, 66, 72, 65, 89, 65, 84, 207, 85, 66, 65, 68, 65, 77, 65, 128, 85, 66,
- 128, 85, 65, 84, 72, 128, 85, 65, 128, 85, 178, 85, 48, 52, 50, 128, 85,
- 48, 52, 49, 128, 85, 48, 52, 48, 128, 85, 48, 51, 57, 128, 85, 48, 51,
- 56, 128, 85, 48, 51, 55, 128, 85, 48, 51, 54, 128, 85, 48, 51, 53, 128,
- 85, 48, 51, 52, 128, 85, 48, 51, 51, 128, 85, 48, 51, 50, 65, 128, 85,
- 48, 51, 50, 128, 85, 48, 51, 49, 128, 85, 48, 51, 48, 128, 85, 48, 50,
- 57, 65, 128, 85, 48, 50, 57, 128, 85, 48, 50, 56, 128, 85, 48, 50, 55,
- 128, 85, 48, 50, 54, 128, 85, 48, 50, 53, 128, 85, 48, 50, 52, 128, 85,
- 48, 50, 51, 65, 128, 85, 48, 50, 51, 128, 85, 48, 50, 50, 128, 85, 48,
- 50, 49, 128, 85, 48, 50, 48, 128, 85, 48, 49, 57, 128, 85, 48, 49, 56,
- 128, 85, 48, 49, 55, 128, 85, 48, 49, 54, 128, 85, 48, 49, 53, 128, 85,
- 48, 49, 52, 128, 85, 48, 49, 51, 128, 85, 48, 49, 50, 128, 85, 48, 49,
- 49, 128, 85, 48, 49, 48, 128, 85, 48, 48, 57, 128, 85, 48, 48, 56, 128,
- 85, 48, 48, 55, 128, 85, 48, 48, 54, 66, 128, 85, 48, 48, 54, 65, 128,
- 85, 48, 48, 54, 128, 85, 48, 48, 53, 128, 85, 48, 48, 52, 128, 85, 48,
- 48, 51, 128, 85, 48, 48, 50, 128, 85, 48, 48, 49, 128, 85, 45, 73, 45,
- 73, 128, 85, 45, 69, 79, 45, 69, 85, 128, 84, 90, 85, 128, 84, 90, 79,
- 65, 128, 84, 90, 79, 128, 84, 90, 73, 210, 84, 90, 73, 128, 84, 90, 69,
- 69, 128, 84, 90, 69, 128, 84, 90, 65, 65, 128, 84, 90, 65, 128, 84, 90,
- 128, 84, 89, 210, 84, 89, 80, 69, 45, 183, 84, 89, 80, 69, 45, 182, 84,
- 89, 80, 69, 45, 181, 84, 89, 80, 69, 45, 180, 84, 89, 80, 69, 45, 179,
- 84, 89, 80, 69, 45, 178, 84, 89, 80, 69, 45, 177, 84, 89, 80, 197, 84,
- 89, 79, 128, 84, 89, 73, 128, 84, 89, 69, 128, 84, 89, 65, 128, 84, 87,
- 79, 79, 128, 84, 87, 79, 45, 87, 65, 217, 84, 87, 79, 45, 84, 72, 73, 82,
- 84, 89, 128, 84, 87, 79, 45, 76, 73, 78, 197, 84, 87, 79, 45, 72, 69, 65,
- 68, 69, 196, 84, 87, 73, 83, 84, 69, 196, 84, 87, 73, 73, 128, 84, 87,
- 73, 128, 84, 87, 69, 78, 84, 89, 45, 84, 87, 79, 128, 84, 87, 69, 78, 84,
- 89, 45, 84, 72, 82, 69, 69, 128, 84, 87, 69, 78, 84, 89, 45, 83, 73, 88,
- 128, 84, 87, 69, 78, 84, 89, 45, 83, 69, 86, 69, 78, 128, 84, 87, 69, 78,
- 84, 89, 45, 79, 78, 69, 128, 84, 87, 69, 78, 84, 89, 45, 78, 73, 78, 69,
- 128, 84, 87, 69, 78, 84, 89, 45, 70, 79, 85, 82, 128, 84, 87, 69, 78, 84,
- 89, 45, 70, 73, 86, 69, 128, 84, 87, 69, 78, 84, 89, 45, 69, 73, 71, 72,
- 84, 200, 84, 87, 69, 78, 84, 89, 45, 69, 73, 71, 72, 84, 128, 84, 87, 69,
- 78, 84, 89, 128, 84, 87, 69, 78, 84, 217, 84, 87, 69, 76, 86, 69, 45, 84,
- 72, 73, 82, 84, 89, 128, 84, 87, 69, 76, 86, 69, 128, 84, 87, 69, 76, 86,
- 197, 84, 87, 69, 128, 84, 87, 65, 65, 128, 84, 87, 65, 128, 84, 86, 82,
- 73, 68, 79, 128, 84, 86, 73, 77, 65, 68, 85, 210, 84, 85, 88, 128, 84,
- 85, 85, 77, 85, 128, 84, 85, 84, 84, 89, 128, 84, 85, 84, 69, 89, 65, 83,
- 65, 84, 128, 84, 85, 84, 128, 84, 85, 82, 88, 128, 84, 85, 82, 85, 128,
- 84, 85, 82, 84, 76, 69, 128, 84, 85, 82, 79, 50, 128, 84, 85, 82, 78, 83,
- 84, 73, 76, 69, 128, 84, 85, 82, 78, 69, 196, 84, 85, 82, 206, 84, 85,
- 82, 66, 65, 78, 128, 84, 85, 82, 128, 84, 85, 80, 128, 84, 85, 79, 88,
- 128, 84, 85, 79, 84, 128, 84, 85, 79, 80, 128, 84, 85, 79, 128, 84, 85,
- 78, 78, 89, 128, 84, 85, 77, 69, 84, 69, 83, 128, 84, 85, 77, 65, 69,
- 128, 84, 85, 77, 128, 84, 85, 76, 73, 80, 128, 84, 85, 75, 87, 69, 78,
- 84, 73, 83, 128, 84, 85, 75, 128, 84, 85, 71, 82, 73, 203, 84, 85, 71,
- 50, 128, 84, 85, 71, 178, 84, 85, 65, 82, 69, 199, 84, 85, 65, 69, 80,
- 128, 84, 85, 65, 69, 128, 84, 213, 84, 84, 85, 68, 68, 65, 71, 128, 84,
- 84, 85, 68, 68, 65, 65, 71, 128, 84, 84, 85, 128, 84, 84, 84, 72, 65,
- 128, 84, 84, 84, 65, 128, 84, 84, 83, 85, 128, 84, 84, 83, 79, 128, 84,
- 84, 83, 73, 128, 84, 84, 83, 69, 69, 128, 84, 84, 83, 69, 128, 84, 84,
- 83, 65, 128, 84, 84, 73, 128, 84, 84, 72, 87, 69, 128, 84, 84, 72, 85,
- 128, 84, 84, 72, 79, 79, 128, 84, 84, 72, 79, 128, 84, 84, 72, 73, 128,
- 84, 84, 72, 69, 69, 128, 84, 84, 72, 69, 128, 84, 84, 72, 65, 65, 128,
- 84, 84, 72, 128, 84, 84, 69, 72, 69, 72, 128, 84, 84, 69, 72, 69, 200,
- 84, 84, 69, 72, 128, 84, 84, 69, 200, 84, 84, 69, 69, 128, 84, 84, 65,
- 89, 65, 78, 78, 65, 128, 84, 84, 65, 65, 128, 84, 84, 50, 128, 84, 83,
- 87, 69, 128, 84, 83, 87, 65, 128, 84, 83, 86, 128, 84, 83, 83, 69, 128,
- 84, 83, 72, 85, 71, 83, 128, 84, 83, 72, 79, 79, 75, 128, 84, 83, 72, 79,
- 79, 203, 84, 83, 72, 69, 83, 128, 84, 83, 72, 69, 71, 128, 84, 83, 72,
- 69, 199, 84, 83, 72, 69, 128, 84, 83, 72, 65, 128, 84, 83, 69, 82, 69,
- 128, 84, 83, 65, 68, 73, 128, 84, 83, 65, 68, 201, 84, 83, 65, 65, 68,
- 73, 89, 128, 84, 83, 65, 65, 128, 84, 83, 193, 84, 82, 89, 66, 76, 73,
- 79, 206, 84, 82, 85, 84, 72, 128, 84, 82, 85, 78, 75, 128, 84, 82, 85,
- 78, 67, 65, 84, 69, 196, 84, 82, 85, 77, 80, 69, 84, 128, 84, 82, 85, 69,
- 128, 84, 82, 85, 67, 75, 128, 84, 82, 79, 80, 73, 67, 65, 204, 84, 82,
- 79, 80, 72, 89, 128, 84, 82, 79, 77, 73, 75, 79, 83, 89, 78, 65, 71, 77,
- 65, 128, 84, 82, 79, 77, 73, 75, 79, 80, 83, 73, 70, 73, 83, 84, 79, 78,
- 128, 84, 82, 79, 77, 73, 75, 79, 80, 65, 82, 65, 75, 65, 76, 69, 83, 77,
- 65, 128, 84, 82, 79, 77, 73, 75, 79, 78, 128, 84, 82, 79, 77, 73, 75, 79,
- 206, 84, 82, 79, 77, 73, 75, 79, 76, 89, 71, 73, 83, 77, 65, 128, 84, 82,
- 79, 76, 76, 69, 89, 66, 85, 83, 128, 84, 82, 79, 75, 85, 84, 65, 83, 84,
- 201, 84, 82, 79, 69, 90, 69, 78, 73, 65, 206, 84, 82, 73, 85, 77, 80, 72,
- 128, 84, 82, 73, 84, 79, 211, 84, 82, 73, 84, 73, 77, 79, 82, 73, 79, 78,
- 128, 84, 82, 73, 83, 73, 77, 79, 85, 128, 84, 82, 73, 83, 69, 77, 69,
- 128, 84, 82, 73, 80, 79, 68, 128, 84, 82, 73, 80, 76, 73, 128, 84, 82,
- 73, 80, 76, 197, 84, 82, 73, 79, 206, 84, 82, 73, 73, 83, 65, 80, 128,
- 84, 82, 73, 71, 82, 65, 77, 77, 79, 211, 84, 82, 73, 71, 82, 65, 205, 84,
- 82, 73, 71, 79, 82, 71, 79, 78, 128, 84, 82, 73, 70, 79, 78, 73, 65, 83,
- 128, 84, 82, 73, 70, 79, 76, 73, 65, 84, 197, 84, 82, 73, 68, 69, 78, 84,
- 128, 84, 82, 73, 68, 69, 78, 212, 84, 82, 73, 67, 79, 76, 79, 78, 128,
- 84, 82, 73, 65, 78, 71, 85, 76, 65, 210, 84, 82, 73, 65, 78, 71, 76, 69,
- 45, 82, 79, 85, 78, 196, 84, 82, 73, 65, 78, 71, 76, 69, 45, 72, 69, 65,
- 68, 69, 196, 84, 82, 73, 65, 78, 71, 76, 69, 128, 84, 82, 73, 65, 78, 71,
- 76, 197, 84, 82, 73, 65, 128, 84, 82, 73, 128, 84, 82, 69, 83, 73, 76,
- 76, 79, 128, 84, 82, 69, 78, 68, 128, 84, 82, 69, 78, 196, 84, 82, 69,
- 77, 79, 76, 79, 45, 51, 128, 84, 82, 69, 77, 79, 76, 79, 45, 50, 128, 84,
- 82, 69, 77, 79, 76, 79, 45, 49, 128, 84, 82, 69, 69, 128, 84, 82, 69,
+ 71, 69, 128, 86, 73, 73, 128, 86, 73, 69, 88, 128, 86, 73, 69, 87, 73,
+ 78, 199, 86, 73, 69, 87, 68, 65, 84, 193, 86, 73, 69, 84, 128, 86, 73,
+ 69, 80, 128, 86, 73, 69, 128, 86, 73, 68, 69, 79, 67, 65, 83, 83, 69, 84,
+ 84, 69, 128, 86, 73, 68, 69, 207, 86, 73, 68, 65, 128, 86, 73, 67, 84,
+ 79, 82, 217, 86, 73, 66, 82, 65, 84, 73, 79, 206, 86, 73, 128, 86, 69,
+ 88, 128, 86, 69, 87, 128, 86, 69, 215, 86, 69, 85, 88, 128, 86, 69, 85,
+ 77, 128, 86, 69, 85, 65, 69, 80, 69, 78, 128, 86, 69, 85, 65, 69, 128,
+ 86, 69, 83, 84, 65, 128, 86, 69, 83, 83, 69, 204, 86, 69, 82, 217, 86,
+ 69, 82, 84, 73, 67, 65, 76, 76, 89, 128, 86, 69, 82, 84, 73, 67, 65, 76,
+ 76, 217, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 54, 45, 48, 54, 128, 86,
+ 69, 82, 84, 73, 67, 65, 76, 45, 48, 54, 45, 48, 53, 128, 86, 69, 82, 84,
+ 73, 67, 65, 76, 45, 48, 54, 45, 48, 52, 128, 86, 69, 82, 84, 73, 67, 65,
+ 76, 45, 48, 54, 45, 48, 51, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48,
+ 54, 45, 48, 50, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 54, 45, 48,
+ 49, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 54, 45, 48, 48, 128, 86,
+ 69, 82, 84, 73, 67, 65, 76, 45, 48, 53, 45, 48, 54, 128, 86, 69, 82, 84,
+ 73, 67, 65, 76, 45, 48, 53, 45, 48, 53, 128, 86, 69, 82, 84, 73, 67, 65,
+ 76, 45, 48, 53, 45, 48, 52, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48,
+ 53, 45, 48, 51, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 53, 45, 48,
+ 50, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 53, 45, 48, 49, 128, 86,
+ 69, 82, 84, 73, 67, 65, 76, 45, 48, 53, 45, 48, 48, 128, 86, 69, 82, 84,
+ 73, 67, 65, 76, 45, 48, 52, 45, 48, 54, 128, 86, 69, 82, 84, 73, 67, 65,
+ 76, 45, 48, 52, 45, 48, 53, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48,
+ 52, 45, 48, 52, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 52, 45, 48,
+ 51, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 52, 45, 48, 50, 128, 86,
+ 69, 82, 84, 73, 67, 65, 76, 45, 48, 52, 45, 48, 49, 128, 86, 69, 82, 84,
+ 73, 67, 65, 76, 45, 48, 52, 45, 48, 48, 128, 86, 69, 82, 84, 73, 67, 65,
+ 76, 45, 48, 51, 45, 48, 54, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48,
+ 51, 45, 48, 53, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 51, 45, 48,
+ 52, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 51, 45, 48, 51, 128, 86,
+ 69, 82, 84, 73, 67, 65, 76, 45, 48, 51, 45, 48, 50, 128, 86, 69, 82, 84,
+ 73, 67, 65, 76, 45, 48, 51, 45, 48, 49, 128, 86, 69, 82, 84, 73, 67, 65,
+ 76, 45, 48, 51, 45, 48, 48, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48,
+ 50, 45, 48, 54, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 50, 45, 48,
+ 53, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 50, 45, 48, 52, 128, 86,
+ 69, 82, 84, 73, 67, 65, 76, 45, 48, 50, 45, 48, 51, 128, 86, 69, 82, 84,
+ 73, 67, 65, 76, 45, 48, 50, 45, 48, 50, 128, 86, 69, 82, 84, 73, 67, 65,
+ 76, 45, 48, 50, 45, 48, 49, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48,
+ 50, 45, 48, 48, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 49, 45, 48,
+ 54, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 49, 45, 48, 53, 128, 86,
+ 69, 82, 84, 73, 67, 65, 76, 45, 48, 49, 45, 48, 52, 128, 86, 69, 82, 84,
+ 73, 67, 65, 76, 45, 48, 49, 45, 48, 51, 128, 86, 69, 82, 84, 73, 67, 65,
+ 76, 45, 48, 49, 45, 48, 50, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48,
+ 49, 45, 48, 49, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 49, 45, 48,
+ 48, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 48, 45, 48, 54, 128, 86,
+ 69, 82, 84, 73, 67, 65, 76, 45, 48, 48, 45, 48, 53, 128, 86, 69, 82, 84,
+ 73, 67, 65, 76, 45, 48, 48, 45, 48, 52, 128, 86, 69, 82, 84, 73, 67, 65,
+ 76, 45, 48, 48, 45, 48, 51, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48,
+ 48, 45, 48, 50, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 48, 45, 48,
+ 49, 128, 86, 69, 82, 84, 73, 67, 65, 76, 45, 48, 48, 45, 48, 48, 128, 86,
+ 69, 82, 84, 73, 67, 65, 76, 128, 86, 69, 82, 83, 73, 67, 76, 69, 128, 86,
+ 69, 82, 83, 197, 86, 69, 82, 71, 69, 128, 86, 69, 82, 68, 73, 71, 82, 73,
+ 83, 128, 86, 69, 80, 128, 86, 69, 78, 68, 128, 86, 69, 73, 76, 128, 86,
+ 69, 72, 73, 67, 76, 69, 128, 86, 69, 72, 128, 86, 69, 200, 86, 69, 69,
+ 128, 86, 69, 197, 86, 69, 68, 69, 128, 86, 69, 67, 84, 79, 210, 86, 65,
+ 89, 65, 78, 78, 65, 128, 86, 65, 88, 128, 86, 65, 86, 128, 86, 65, 214,
+ 86, 65, 85, 128, 86, 65, 84, 72, 89, 128, 86, 65, 84, 128, 86, 65, 83,
+ 84, 78, 69, 83, 211, 86, 65, 83, 73, 83, 128, 86, 65, 82, 89, 211, 86,
+ 65, 82, 73, 75, 65, 128, 86, 65, 82, 73, 65, 78, 212, 86, 65, 82, 73, 65,
+ 128, 86, 65, 82, 73, 193, 86, 65, 82, 69, 73, 65, 201, 86, 65, 82, 69,
+ 73, 193, 86, 65, 80, 79, 85, 82, 83, 128, 86, 65, 80, 128, 86, 65, 78,
+ 69, 128, 86, 65, 77, 65, 71, 79, 77, 85, 75, 72, 65, 128, 86, 65, 77, 65,
+ 71, 79, 77, 85, 75, 72, 193, 86, 65, 76, 76, 69, 89, 128, 86, 65, 73,
+ 128, 86, 65, 65, 86, 85, 128, 86, 65, 65, 128, 86, 48, 52, 48, 65, 128,
+ 86, 48, 52, 48, 128, 86, 48, 51, 57, 128, 86, 48, 51, 56, 128, 86, 48,
+ 51, 55, 65, 128, 86, 48, 51, 55, 128, 86, 48, 51, 54, 128, 86, 48, 51,
+ 53, 128, 86, 48, 51, 52, 128, 86, 48, 51, 51, 65, 128, 86, 48, 51, 51,
+ 128, 86, 48, 51, 50, 128, 86, 48, 51, 49, 65, 128, 86, 48, 51, 49, 128,
+ 86, 48, 51, 48, 65, 128, 86, 48, 51, 48, 128, 86, 48, 50, 57, 65, 128,
+ 86, 48, 50, 57, 128, 86, 48, 50, 56, 65, 128, 86, 48, 50, 56, 128, 86,
+ 48, 50, 55, 128, 86, 48, 50, 54, 128, 86, 48, 50, 53, 128, 86, 48, 50,
+ 52, 128, 86, 48, 50, 51, 65, 128, 86, 48, 50, 51, 128, 86, 48, 50, 50,
+ 128, 86, 48, 50, 49, 128, 86, 48, 50, 48, 76, 128, 86, 48, 50, 48, 75,
+ 128, 86, 48, 50, 48, 74, 128, 86, 48, 50, 48, 73, 128, 86, 48, 50, 48,
+ 72, 128, 86, 48, 50, 48, 71, 128, 86, 48, 50, 48, 70, 128, 86, 48, 50,
+ 48, 69, 128, 86, 48, 50, 48, 68, 128, 86, 48, 50, 48, 67, 128, 86, 48,
+ 50, 48, 66, 128, 86, 48, 50, 48, 65, 128, 86, 48, 50, 48, 128, 86, 48,
+ 49, 57, 128, 86, 48, 49, 56, 128, 86, 48, 49, 55, 128, 86, 48, 49, 54,
+ 128, 86, 48, 49, 53, 128, 86, 48, 49, 52, 128, 86, 48, 49, 51, 128, 86,
+ 48, 49, 50, 66, 128, 86, 48, 49, 50, 65, 128, 86, 48, 49, 50, 128, 86,
+ 48, 49, 49, 67, 128, 86, 48, 49, 49, 66, 128, 86, 48, 49, 49, 65, 128,
+ 86, 48, 49, 49, 128, 86, 48, 49, 48, 128, 86, 48, 48, 57, 128, 86, 48,
+ 48, 56, 128, 86, 48, 48, 55, 66, 128, 86, 48, 48, 55, 65, 128, 86, 48,
+ 48, 55, 128, 86, 48, 48, 54, 128, 86, 48, 48, 53, 128, 86, 48, 48, 52,
+ 128, 86, 48, 48, 51, 128, 86, 48, 48, 50, 65, 128, 86, 48, 48, 50, 128,
+ 86, 48, 48, 49, 73, 128, 86, 48, 48, 49, 72, 128, 86, 48, 48, 49, 71,
+ 128, 86, 48, 48, 49, 70, 128, 86, 48, 48, 49, 69, 128, 86, 48, 48, 49,
+ 68, 128, 86, 48, 48, 49, 67, 128, 86, 48, 48, 49, 66, 128, 86, 48, 48,
+ 49, 65, 128, 86, 48, 48, 49, 128, 85, 90, 85, 128, 85, 90, 51, 128, 85,
+ 90, 179, 85, 89, 65, 78, 78, 65, 128, 85, 89, 128, 85, 85, 89, 65, 78,
+ 78, 65, 128, 85, 85, 85, 85, 128, 85, 85, 85, 51, 128, 85, 85, 85, 50,
+ 128, 85, 85, 69, 128, 85, 84, 85, 75, 73, 128, 85, 83, 83, 85, 51, 128,
+ 85, 83, 83, 85, 128, 85, 83, 72, 88, 128, 85, 83, 72, 85, 77, 88, 128,
+ 85, 83, 72, 69, 78, 78, 65, 128, 85, 83, 72, 50, 128, 85, 83, 72, 128,
+ 85, 83, 200, 85, 83, 69, 196, 85, 83, 69, 128, 85, 82, 85, 218, 85, 82,
+ 85, 83, 128, 85, 82, 85, 68, 65, 128, 85, 82, 85, 68, 193, 85, 82, 85,
+ 128, 85, 82, 213, 85, 82, 78, 128, 85, 82, 73, 78, 69, 128, 85, 82, 73,
+ 51, 128, 85, 82, 73, 128, 85, 82, 65, 78, 85, 83, 128, 85, 82, 65, 128,
+ 85, 82, 52, 128, 85, 82, 50, 128, 85, 82, 178, 85, 80, 87, 65, 82, 68,
+ 83, 128, 85, 80, 87, 65, 82, 68, 211, 85, 80, 87, 65, 82, 68, 128, 85,
+ 80, 87, 65, 82, 196, 85, 80, 84, 85, 82, 78, 128, 85, 80, 83, 73, 76, 79,
+ 78, 128, 85, 80, 83, 73, 76, 79, 206, 85, 80, 82, 73, 71, 72, 212, 85,
+ 80, 80, 69, 210, 85, 80, 65, 68, 72, 77, 65, 78, 73, 89, 65, 128, 85, 80,
+ 45, 80, 79, 73, 78, 84, 73, 78, 199, 85, 79, 78, 128, 85, 78, 78, 128,
+ 85, 78, 77, 65, 82, 82, 73, 69, 196, 85, 78, 75, 78, 79, 87, 78, 128, 85,
+ 78, 73, 86, 69, 82, 83, 65, 204, 85, 78, 73, 84, 89, 128, 85, 78, 73, 84,
+ 128, 85, 78, 73, 212, 85, 78, 73, 79, 78, 128, 85, 78, 73, 79, 206, 85,
+ 78, 73, 70, 73, 69, 196, 85, 78, 68, 207, 85, 78, 68, 69, 82, 84, 73, 69,
+ 128, 85, 78, 68, 69, 82, 76, 73, 78, 197, 85, 78, 68, 69, 82, 68, 79, 84,
+ 128, 85, 78, 68, 69, 82, 66, 65, 82, 128, 85, 78, 68, 69, 210, 85, 78,
+ 67, 73, 193, 85, 78, 65, 83, 80, 73, 82, 65, 84, 69, 68, 128, 85, 78, 65,
+ 80, 128, 85, 78, 65, 77, 85, 83, 69, 196, 85, 78, 65, 128, 85, 206, 85,
+ 77, 85, 77, 128, 85, 77, 85, 205, 85, 77, 66, 82, 69, 76, 76, 65, 128,
+ 85, 77, 66, 82, 69, 76, 76, 193, 85, 77, 66, 73, 78, 128, 85, 75, 85,
+ 128, 85, 75, 82, 65, 73, 78, 73, 65, 206, 85, 75, 65, 82, 65, 128, 85,
+ 75, 65, 82, 193, 85, 75, 128, 85, 73, 76, 76, 69, 65, 78, 78, 128, 85,
+ 73, 71, 72, 85, 210, 85, 71, 65, 82, 73, 84, 73, 195, 85, 69, 89, 128,
+ 85, 69, 69, 128, 85, 69, 65, 128, 85, 68, 85, 71, 128, 85, 68, 65, 84,
+ 84, 65, 128, 85, 68, 65, 84, 84, 193, 85, 68, 65, 65, 84, 128, 85, 68,
+ 128, 85, 196, 85, 67, 128, 85, 66, 85, 70, 73, 76, 73, 128, 85, 66, 72,
+ 65, 89, 65, 84, 207, 85, 66, 65, 68, 65, 77, 65, 128, 85, 66, 128, 85,
+ 65, 84, 72, 128, 85, 65, 128, 85, 178, 85, 48, 52, 50, 128, 85, 48, 52,
+ 49, 128, 85, 48, 52, 48, 128, 85, 48, 51, 57, 128, 85, 48, 51, 56, 128,
+ 85, 48, 51, 55, 128, 85, 48, 51, 54, 128, 85, 48, 51, 53, 128, 85, 48,
+ 51, 52, 128, 85, 48, 51, 51, 128, 85, 48, 51, 50, 65, 128, 85, 48, 51,
+ 50, 128, 85, 48, 51, 49, 128, 85, 48, 51, 48, 128, 85, 48, 50, 57, 65,
+ 128, 85, 48, 50, 57, 128, 85, 48, 50, 56, 128, 85, 48, 50, 55, 128, 85,
+ 48, 50, 54, 128, 85, 48, 50, 53, 128, 85, 48, 50, 52, 128, 85, 48, 50,
+ 51, 65, 128, 85, 48, 50, 51, 128, 85, 48, 50, 50, 128, 85, 48, 50, 49,
+ 128, 85, 48, 50, 48, 128, 85, 48, 49, 57, 128, 85, 48, 49, 56, 128, 85,
+ 48, 49, 55, 128, 85, 48, 49, 54, 128, 85, 48, 49, 53, 128, 85, 48, 49,
+ 52, 128, 85, 48, 49, 51, 128, 85, 48, 49, 50, 128, 85, 48, 49, 49, 128,
+ 85, 48, 49, 48, 128, 85, 48, 48, 57, 128, 85, 48, 48, 56, 128, 85, 48,
+ 48, 55, 128, 85, 48, 48, 54, 66, 128, 85, 48, 48, 54, 65, 128, 85, 48,
+ 48, 54, 128, 85, 48, 48, 53, 128, 85, 48, 48, 52, 128, 85, 48, 48, 51,
+ 128, 85, 48, 48, 50, 128, 85, 48, 48, 49, 128, 85, 45, 73, 45, 73, 128,
+ 85, 45, 69, 79, 45, 69, 85, 128, 85, 45, 66, 82, 74, 71, 85, 128, 84, 90,
+ 85, 128, 84, 90, 79, 65, 128, 84, 90, 79, 128, 84, 90, 73, 210, 84, 90,
+ 73, 128, 84, 90, 69, 69, 128, 84, 90, 69, 128, 84, 90, 65, 65, 128, 84,
+ 90, 65, 128, 84, 90, 128, 84, 89, 210, 84, 89, 80, 69, 45, 183, 84, 89,
+ 80, 69, 45, 182, 84, 89, 80, 69, 45, 181, 84, 89, 80, 69, 45, 180, 84,
+ 89, 80, 69, 45, 179, 84, 89, 80, 69, 45, 178, 84, 89, 80, 69, 45, 177,
+ 84, 89, 80, 197, 84, 89, 79, 128, 84, 89, 73, 128, 84, 89, 69, 128, 84,
+ 89, 65, 128, 84, 87, 79, 79, 128, 84, 87, 79, 45, 87, 65, 217, 84, 87,
+ 79, 45, 84, 72, 73, 82, 84, 89, 128, 84, 87, 79, 45, 76, 73, 78, 197, 84,
+ 87, 79, 45, 72, 69, 65, 68, 69, 196, 84, 87, 73, 83, 84, 69, 196, 84, 87,
+ 73, 73, 128, 84, 87, 73, 128, 84, 87, 69, 78, 84, 89, 45, 84, 87, 79,
+ 128, 84, 87, 69, 78, 84, 89, 45, 84, 72, 82, 69, 69, 128, 84, 87, 69, 78,
+ 84, 89, 45, 83, 73, 88, 128, 84, 87, 69, 78, 84, 89, 45, 83, 69, 86, 69,
+ 78, 128, 84, 87, 69, 78, 84, 89, 45, 79, 78, 69, 128, 84, 87, 69, 78, 84,
+ 89, 45, 78, 73, 78, 69, 128, 84, 87, 69, 78, 84, 89, 45, 70, 79, 85, 82,
+ 128, 84, 87, 69, 78, 84, 89, 45, 70, 73, 86, 69, 128, 84, 87, 69, 78, 84,
+ 89, 45, 69, 73, 71, 72, 84, 200, 84, 87, 69, 78, 84, 89, 45, 69, 73, 71,
+ 72, 84, 128, 84, 87, 69, 78, 84, 89, 128, 84, 87, 69, 78, 84, 217, 84,
+ 87, 69, 76, 86, 69, 45, 84, 72, 73, 82, 84, 89, 128, 84, 87, 69, 76, 86,
+ 69, 128, 84, 87, 69, 76, 86, 197, 84, 87, 69, 128, 84, 87, 65, 65, 128,
+ 84, 87, 65, 128, 84, 86, 82, 73, 68, 79, 128, 84, 86, 73, 77, 65, 68, 85,
+ 210, 84, 85, 88, 128, 84, 85, 85, 77, 85, 128, 84, 85, 85, 128, 84, 85,
+ 84, 84, 89, 128, 84, 85, 84, 69, 89, 65, 83, 65, 84, 128, 84, 85, 84,
+ 128, 84, 85, 82, 88, 128, 84, 85, 82, 85, 128, 84, 85, 82, 84, 76, 69,
+ 128, 84, 85, 82, 79, 50, 128, 84, 85, 82, 78, 83, 84, 73, 76, 69, 128,
+ 84, 85, 82, 78, 69, 196, 84, 85, 82, 206, 84, 85, 82, 66, 65, 78, 128,
+ 84, 85, 82, 128, 84, 85, 80, 128, 84, 85, 79, 88, 128, 84, 85, 79, 84,
+ 128, 84, 85, 79, 80, 128, 84, 85, 79, 128, 84, 85, 78, 78, 89, 128, 84,
+ 85, 77, 69, 84, 69, 83, 128, 84, 85, 77, 65, 69, 128, 84, 85, 77, 128,
+ 84, 85, 76, 73, 80, 128, 84, 85, 75, 87, 69, 78, 84, 73, 83, 128, 84, 85,
+ 75, 128, 84, 85, 71, 82, 73, 203, 84, 85, 71, 50, 128, 84, 85, 71, 178,
+ 84, 85, 65, 82, 69, 199, 84, 85, 65, 69, 80, 128, 84, 85, 65, 69, 128,
+ 84, 213, 84, 84, 85, 85, 128, 84, 84, 85, 68, 68, 65, 71, 128, 84, 84,
+ 85, 68, 68, 65, 65, 71, 128, 84, 84, 85, 128, 84, 84, 84, 72, 65, 128,
+ 84, 84, 84, 65, 128, 84, 84, 83, 85, 128, 84, 84, 83, 79, 128, 84, 84,
+ 83, 73, 128, 84, 84, 83, 69, 69, 128, 84, 84, 83, 69, 128, 84, 84, 83,
+ 65, 128, 84, 84, 79, 79, 128, 84, 84, 73, 73, 128, 84, 84, 73, 128, 84,
+ 84, 72, 87, 69, 128, 84, 84, 72, 85, 128, 84, 84, 72, 79, 79, 128, 84,
+ 84, 72, 79, 128, 84, 84, 72, 73, 128, 84, 84, 72, 69, 69, 128, 84, 84,
+ 72, 69, 128, 84, 84, 72, 65, 65, 128, 84, 84, 72, 128, 84, 84, 69, 72,
+ 69, 72, 128, 84, 84, 69, 72, 69, 200, 84, 84, 69, 72, 128, 84, 84, 69,
+ 200, 84, 84, 69, 69, 128, 84, 84, 65, 89, 65, 78, 78, 65, 128, 84, 84,
+ 65, 85, 128, 84, 84, 65, 73, 128, 84, 84, 65, 65, 128, 84, 84, 50, 128,
+ 84, 83, 87, 69, 128, 84, 83, 87, 65, 128, 84, 83, 86, 128, 84, 83, 83,
+ 69, 128, 84, 83, 72, 85, 71, 83, 128, 84, 83, 72, 79, 79, 75, 128, 84,
+ 83, 72, 79, 79, 203, 84, 83, 72, 69, 83, 128, 84, 83, 72, 69, 71, 128,
+ 84, 83, 72, 69, 199, 84, 83, 72, 69, 128, 84, 83, 72, 65, 128, 84, 83,
+ 69, 82, 69, 128, 84, 83, 65, 68, 73, 128, 84, 83, 65, 68, 201, 84, 83,
+ 65, 65, 68, 73, 89, 128, 84, 83, 65, 65, 128, 84, 83, 193, 84, 82, 89,
+ 66, 76, 73, 79, 206, 84, 82, 85, 84, 72, 128, 84, 82, 85, 78, 75, 128,
+ 84, 82, 85, 78, 67, 65, 84, 69, 196, 84, 82, 85, 77, 80, 69, 84, 128, 84,
+ 82, 85, 69, 128, 84, 82, 85, 67, 75, 128, 84, 82, 79, 80, 73, 67, 65,
+ 204, 84, 82, 79, 80, 72, 89, 128, 84, 82, 79, 77, 73, 75, 79, 83, 89, 78,
+ 65, 71, 77, 65, 128, 84, 82, 79, 77, 73, 75, 79, 80, 83, 73, 70, 73, 83,
+ 84, 79, 78, 128, 84, 82, 79, 77, 73, 75, 79, 80, 65, 82, 65, 75, 65, 76,
+ 69, 83, 77, 65, 128, 84, 82, 79, 77, 73, 75, 79, 78, 128, 84, 82, 79, 77,
+ 73, 75, 79, 206, 84, 82, 79, 77, 73, 75, 79, 76, 89, 71, 73, 83, 77, 65,
+ 128, 84, 82, 79, 76, 76, 69, 89, 66, 85, 83, 128, 84, 82, 79, 75, 85, 84,
+ 65, 83, 84, 201, 84, 82, 79, 69, 90, 69, 78, 73, 65, 206, 84, 82, 73, 85,
+ 77, 80, 72, 128, 84, 82, 73, 84, 79, 211, 84, 82, 73, 84, 73, 77, 79, 82,
+ 73, 79, 78, 128, 84, 82, 73, 83, 73, 77, 79, 85, 128, 84, 82, 73, 83, 69,
+ 77, 69, 128, 84, 82, 73, 80, 79, 68, 128, 84, 82, 73, 80, 76, 73, 128,
+ 84, 82, 73, 80, 76, 197, 84, 82, 73, 79, 206, 84, 82, 73, 73, 83, 65, 80,
+ 128, 84, 82, 73, 71, 82, 65, 77, 77, 79, 211, 84, 82, 73, 71, 82, 65,
+ 205, 84, 82, 73, 71, 79, 82, 71, 79, 78, 128, 84, 82, 73, 70, 79, 78, 73,
+ 65, 83, 128, 84, 82, 73, 70, 79, 76, 73, 65, 84, 197, 84, 82, 73, 68, 69,
+ 78, 84, 128, 84, 82, 73, 68, 69, 78, 212, 84, 82, 73, 67, 79, 76, 79, 78,
+ 128, 84, 82, 73, 65, 78, 71, 85, 76, 65, 210, 84, 82, 73, 65, 78, 71, 76,
+ 69, 45, 82, 79, 85, 78, 196, 84, 82, 73, 65, 78, 71, 76, 69, 45, 72, 69,
+ 65, 68, 69, 196, 84, 82, 73, 65, 78, 71, 76, 69, 128, 84, 82, 73, 65, 78,
+ 71, 76, 197, 84, 82, 73, 65, 128, 84, 82, 73, 128, 84, 82, 69, 83, 73,
+ 76, 76, 79, 128, 84, 82, 69, 78, 68, 128, 84, 82, 69, 78, 196, 84, 82,
+ 69, 77, 79, 76, 79, 45, 51, 128, 84, 82, 69, 77, 79, 76, 79, 45, 50, 128,
+ 84, 82, 69, 77, 79, 76, 79, 45, 49, 128, 84, 82, 69, 69, 128, 84, 82, 69,
197, 84, 82, 69, 65, 68, 73, 78, 71, 128, 84, 82, 65, 89, 128, 84, 82,
65, 80, 69, 90, 73, 85, 77, 128, 84, 82, 65, 78, 83, 86, 69, 82, 83, 65,
204, 84, 82, 65, 78, 83, 80, 79, 83, 73, 84, 73, 79, 206, 84, 82, 65, 78,
@@ -493,57 +497,56 @@ static unsigned char lexicon[] = {
79, 82, 67, 85, 76, 85, 211, 84, 79, 82, 67, 72, 128, 84, 79, 81, 128,
84, 79, 80, 66, 65, 82, 128, 84, 79, 80, 45, 76, 73, 71, 72, 84, 69, 196,
84, 79, 80, 128, 84, 79, 208, 84, 79, 79, 84, 72, 128, 84, 79, 79, 78,
- 128, 84, 79, 79, 128, 84, 79, 78, 79, 83, 128, 84, 79, 78, 71, 85, 69,
- 128, 84, 79, 78, 71, 85, 197, 84, 79, 78, 71, 128, 84, 79, 78, 69, 45,
- 54, 128, 84, 79, 78, 69, 45, 53, 128, 84, 79, 78, 69, 45, 52, 128, 84,
- 79, 78, 69, 45, 51, 128, 84, 79, 78, 69, 45, 50, 128, 84, 79, 78, 69, 45,
- 49, 128, 84, 79, 78, 69, 128, 84, 79, 78, 65, 204, 84, 79, 77, 80, 73,
- 128, 84, 79, 77, 65, 84, 79, 128, 84, 79, 76, 79, 78, 71, 128, 84, 79,
- 75, 89, 207, 84, 79, 73, 76, 69, 84, 128, 84, 79, 71, 69, 84, 72, 69, 82,
- 128, 84, 79, 68, 207, 84, 79, 65, 78, 68, 65, 75, 72, 73, 65, 84, 128,
- 84, 79, 65, 128, 84, 78, 128, 84, 76, 86, 128, 84, 76, 85, 128, 84, 76,
- 79, 128, 84, 76, 73, 128, 84, 76, 72, 87, 69, 128, 84, 76, 72, 85, 128,
- 84, 76, 72, 79, 79, 128, 84, 76, 72, 79, 128, 84, 76, 72, 73, 128, 84,
- 76, 72, 69, 69, 128, 84, 76, 72, 69, 128, 84, 76, 72, 65, 128, 84, 76,
- 69, 69, 128, 84, 76, 65, 128, 84, 74, 69, 128, 84, 73, 88, 128, 84, 73,
- 87, 78, 128, 84, 73, 87, 65, 218, 84, 73, 84, 85, 65, 69, 80, 128, 84,
- 73, 84, 76, 79, 128, 84, 73, 84, 193, 84, 73, 84, 128, 84, 73, 82, 89,
- 65, 75, 128, 84, 73, 82, 84, 193, 84, 73, 82, 79, 78, 73, 65, 206, 84,
- 73, 82, 69, 196, 84, 73, 82, 128, 84, 73, 210, 84, 73, 80, 80, 73, 128,
- 84, 73, 80, 69, 72, 65, 128, 84, 73, 80, 128, 84, 73, 208, 84, 73, 78,
- 89, 128, 84, 73, 78, 217, 84, 73, 78, 78, 69, 128, 84, 73, 78, 67, 84,
- 85, 82, 69, 128, 84, 73, 78, 65, 71, 77, 65, 128, 84, 73, 77, 69, 83,
- 128, 84, 73, 77, 69, 210, 84, 73, 77, 69, 128, 84, 73, 76, 68, 69, 128,
- 84, 73, 76, 68, 197, 84, 73, 76, 128, 84, 73, 204, 84, 73, 75, 69, 85,
- 84, 45, 84, 72, 73, 69, 85, 84, 72, 128, 84, 73, 75, 69, 85, 84, 45, 83,
- 73, 79, 83, 45, 75, 73, 89, 69, 79, 75, 128, 84, 73, 75, 69, 85, 84, 45,
- 83, 73, 79, 83, 128, 84, 73, 75, 69, 85, 84, 45, 82, 73, 69, 85, 76, 128,
- 84, 73, 75, 69, 85, 84, 45, 80, 73, 69, 85, 80, 128, 84, 73, 75, 69, 85,
- 84, 45, 77, 73, 69, 85, 77, 128, 84, 73, 75, 69, 85, 84, 45, 75, 73, 89,
- 69, 79, 75, 128, 84, 73, 75, 69, 85, 84, 45, 67, 73, 69, 85, 67, 128, 84,
- 73, 75, 69, 85, 84, 45, 67, 72, 73, 69, 85, 67, 72, 128, 84, 73, 75, 69,
- 85, 84, 128, 84, 73, 75, 69, 85, 212, 84, 73, 73, 128, 84, 73, 71, 72,
- 84, 76, 89, 45, 67, 76, 79, 83, 69, 196, 84, 73, 71, 72, 212, 84, 73, 71,
- 69, 82, 128, 84, 73, 71, 69, 210, 84, 73, 70, 73, 78, 65, 71, 200, 84,
- 73, 69, 88, 128, 84, 73, 69, 80, 128, 84, 73, 197, 84, 73, 67, 75, 69,
- 84, 128, 84, 73, 67, 75, 128, 84, 73, 67, 203, 84, 73, 65, 82, 65, 128,
- 84, 72, 90, 128, 84, 72, 89, 79, 79, 205, 84, 72, 87, 79, 79, 128, 84,
- 72, 87, 79, 128, 84, 72, 87, 73, 73, 128, 84, 72, 87, 73, 128, 84, 72,
- 87, 69, 69, 128, 84, 72, 87, 65, 65, 128, 84, 72, 87, 65, 128, 84, 72,
- 85, 82, 211, 84, 72, 85, 82, 73, 83, 65, 218, 84, 72, 85, 78, 71, 128,
- 84, 72, 85, 78, 68, 69, 82, 83, 84, 79, 82, 77, 128, 84, 72, 85, 78, 68,
- 69, 82, 128, 84, 72, 85, 78, 68, 69, 210, 84, 72, 85, 77, 66, 211, 84,
- 72, 82, 79, 87, 73, 78, 199, 84, 72, 82, 79, 85, 71, 72, 128, 84, 72, 82,
- 79, 85, 71, 200, 84, 72, 82, 69, 69, 45, 84, 72, 73, 82, 84, 89, 128, 84,
- 72, 82, 69, 69, 45, 80, 69, 82, 45, 69, 205, 84, 72, 82, 69, 69, 45, 76,
- 73, 78, 197, 84, 72, 82, 69, 69, 45, 196, 84, 72, 82, 69, 65, 68, 128,
- 84, 72, 79, 85, 83, 65, 78, 68, 211, 84, 72, 79, 85, 83, 65, 78, 68, 128,
- 84, 72, 79, 85, 83, 65, 78, 196, 84, 72, 79, 85, 71, 72, 212, 84, 72, 79,
- 85, 128, 84, 72, 79, 82, 78, 128, 84, 72, 79, 82, 206, 84, 72, 79, 78,
- 71, 128, 84, 72, 79, 65, 128, 84, 72, 207, 84, 72, 73, 85, 84, 72, 128,
- 84, 72, 73, 84, 65, 128, 84, 72, 73, 82, 84, 89, 45, 83, 69, 67, 79, 78,
- 196, 84, 72, 73, 82, 84, 89, 45, 79, 78, 69, 128, 84, 72, 73, 82, 84,
- 217, 84, 72, 73, 82, 84, 69, 69, 78, 128, 84, 72, 73, 82, 84, 69, 69,
+ 128, 84, 79, 78, 79, 83, 128, 84, 79, 78, 71, 85, 69, 128, 84, 79, 78,
+ 71, 85, 197, 84, 79, 78, 71, 128, 84, 79, 78, 69, 45, 54, 128, 84, 79,
+ 78, 69, 45, 53, 128, 84, 79, 78, 69, 45, 52, 128, 84, 79, 78, 69, 45, 51,
+ 128, 84, 79, 78, 69, 45, 50, 128, 84, 79, 78, 69, 45, 49, 128, 84, 79,
+ 78, 69, 128, 84, 79, 78, 65, 204, 84, 79, 77, 80, 73, 128, 84, 79, 77,
+ 65, 84, 79, 128, 84, 79, 76, 79, 78, 71, 128, 84, 79, 75, 89, 207, 84,
+ 79, 73, 76, 69, 84, 128, 84, 79, 71, 69, 84, 72, 69, 82, 128, 84, 79, 68,
+ 207, 84, 79, 65, 78, 68, 65, 75, 72, 73, 65, 84, 128, 84, 79, 65, 128,
+ 84, 78, 128, 84, 76, 86, 128, 84, 76, 85, 128, 84, 76, 79, 128, 84, 76,
+ 73, 128, 84, 76, 72, 87, 69, 128, 84, 76, 72, 85, 128, 84, 76, 72, 79,
+ 79, 128, 84, 76, 72, 79, 128, 84, 76, 72, 73, 128, 84, 76, 72, 69, 69,
+ 128, 84, 76, 72, 69, 128, 84, 76, 72, 65, 128, 84, 76, 69, 69, 128, 84,
+ 76, 65, 128, 84, 74, 69, 128, 84, 73, 88, 128, 84, 73, 87, 78, 128, 84,
+ 73, 87, 65, 218, 84, 73, 84, 85, 65, 69, 80, 128, 84, 73, 84, 76, 79,
+ 128, 84, 73, 84, 193, 84, 73, 84, 128, 84, 73, 82, 89, 65, 75, 128, 84,
+ 73, 82, 84, 193, 84, 73, 82, 79, 78, 73, 65, 206, 84, 73, 82, 69, 196,
+ 84, 73, 82, 128, 84, 73, 210, 84, 73, 80, 80, 73, 128, 84, 73, 80, 69,
+ 72, 65, 128, 84, 73, 80, 128, 84, 73, 208, 84, 73, 78, 89, 128, 84, 73,
+ 78, 217, 84, 73, 78, 78, 69, 128, 84, 73, 78, 67, 84, 85, 82, 69, 128,
+ 84, 73, 78, 65, 71, 77, 65, 128, 84, 73, 77, 69, 83, 128, 84, 73, 77, 69,
+ 210, 84, 73, 77, 69, 128, 84, 73, 76, 68, 197, 84, 73, 76, 128, 84, 73,
+ 204, 84, 73, 75, 69, 85, 84, 45, 84, 72, 73, 69, 85, 84, 72, 128, 84, 73,
+ 75, 69, 85, 84, 45, 83, 73, 79, 83, 45, 75, 73, 89, 69, 79, 75, 128, 84,
+ 73, 75, 69, 85, 84, 45, 83, 73, 79, 83, 128, 84, 73, 75, 69, 85, 84, 45,
+ 82, 73, 69, 85, 76, 128, 84, 73, 75, 69, 85, 84, 45, 80, 73, 69, 85, 80,
+ 128, 84, 73, 75, 69, 85, 84, 45, 77, 73, 69, 85, 77, 128, 84, 73, 75, 69,
+ 85, 84, 45, 75, 73, 89, 69, 79, 75, 128, 84, 73, 75, 69, 85, 84, 45, 67,
+ 73, 69, 85, 67, 128, 84, 73, 75, 69, 85, 84, 45, 67, 72, 73, 69, 85, 67,
+ 72, 128, 84, 73, 75, 69, 85, 84, 128, 84, 73, 75, 69, 85, 212, 84, 73,
+ 71, 72, 84, 76, 89, 45, 67, 76, 79, 83, 69, 196, 84, 73, 71, 72, 212, 84,
+ 73, 71, 69, 82, 128, 84, 73, 71, 69, 210, 84, 73, 70, 73, 78, 65, 71,
+ 200, 84, 73, 69, 88, 128, 84, 73, 69, 80, 128, 84, 73, 197, 84, 73, 67,
+ 75, 69, 84, 128, 84, 73, 67, 75, 128, 84, 73, 67, 203, 84, 73, 65, 82,
+ 65, 128, 84, 72, 90, 128, 84, 72, 89, 79, 79, 205, 84, 72, 87, 79, 79,
+ 128, 84, 72, 87, 79, 128, 84, 72, 87, 73, 73, 128, 84, 72, 87, 73, 128,
+ 84, 72, 87, 69, 69, 128, 84, 72, 87, 65, 65, 128, 84, 72, 87, 65, 128,
+ 84, 72, 85, 82, 211, 84, 72, 85, 82, 73, 83, 65, 218, 84, 72, 85, 78, 71,
+ 128, 84, 72, 85, 78, 68, 69, 82, 83, 84, 79, 82, 77, 128, 84, 72, 85, 78,
+ 68, 69, 82, 128, 84, 72, 85, 78, 68, 69, 210, 84, 72, 85, 77, 66, 211,
+ 84, 72, 82, 79, 87, 73, 78, 199, 84, 72, 82, 79, 85, 71, 72, 128, 84, 72,
+ 82, 79, 85, 71, 200, 84, 72, 82, 69, 69, 45, 84, 72, 73, 82, 84, 89, 128,
+ 84, 72, 82, 69, 69, 45, 80, 69, 82, 45, 69, 205, 84, 72, 82, 69, 69, 45,
+ 76, 73, 78, 197, 84, 72, 82, 69, 69, 45, 196, 84, 72, 82, 69, 65, 68,
+ 128, 84, 72, 79, 85, 83, 65, 78, 68, 211, 84, 72, 79, 85, 83, 65, 78, 68,
+ 128, 84, 72, 79, 85, 83, 65, 78, 196, 84, 72, 79, 85, 71, 72, 212, 84,
+ 72, 79, 85, 128, 84, 72, 79, 82, 78, 128, 84, 72, 79, 82, 206, 84, 72,
+ 79, 78, 71, 128, 84, 72, 79, 65, 128, 84, 72, 207, 84, 72, 73, 85, 84,
+ 72, 128, 84, 72, 73, 84, 65, 128, 84, 72, 73, 82, 84, 89, 45, 83, 69, 67,
+ 79, 78, 196, 84, 72, 73, 82, 84, 89, 45, 79, 78, 69, 128, 84, 72, 73, 82,
+ 84, 217, 84, 72, 73, 82, 84, 69, 69, 78, 128, 84, 72, 73, 82, 84, 69, 69,
206, 84, 72, 73, 82, 68, 83, 128, 84, 72, 73, 82, 68, 211, 84, 72, 73,
82, 68, 128, 84, 72, 73, 82, 196, 84, 72, 73, 206, 84, 72, 73, 73, 128,
84, 72, 73, 71, 72, 128, 84, 72, 73, 69, 85, 84, 200, 84, 72, 69, 89,
@@ -587,83 +590,83 @@ static unsigned char lexicon[] = {
84, 65, 88, 73, 128, 84, 65, 88, 128, 84, 65, 87, 69, 76, 76, 69, 77, 69,
212, 84, 65, 87, 65, 128, 84, 65, 87, 128, 84, 65, 86, 73, 89, 65, 78,
73, 128, 84, 65, 86, 128, 84, 65, 214, 84, 65, 85, 82, 85, 83, 128, 84,
- 65, 85, 128, 84, 65, 213, 84, 65, 84, 87, 69, 69, 76, 128, 84, 65, 84,
- 87, 69, 69, 204, 84, 65, 84, 84, 79, 79, 69, 196, 84, 65, 84, 128, 84,
- 65, 82, 85, 78, 71, 128, 84, 65, 82, 84, 65, 82, 45, 50, 128, 84, 65, 82,
- 84, 65, 82, 128, 84, 65, 81, 128, 84, 65, 80, 69, 82, 128, 84, 65, 80,
- 197, 84, 65, 80, 128, 84, 65, 79, 128, 84, 65, 78, 78, 69, 196, 84, 65,
- 78, 71, 69, 82, 73, 78, 69, 128, 84, 65, 78, 199, 84, 65, 78, 65, 66, 65,
- 84, 193, 84, 65, 78, 128, 84, 65, 77, 73, 78, 71, 128, 84, 65, 77, 128,
- 84, 65, 76, 76, 128, 84, 65, 76, 204, 84, 65, 76, 73, 78, 71, 128, 84,
- 65, 76, 73, 78, 199, 84, 65, 76, 69, 78, 84, 83, 128, 84, 65, 76, 69, 78,
- 212, 84, 65, 75, 72, 65, 76, 76, 85, 83, 128, 84, 65, 75, 69, 128, 84,
- 65, 75, 52, 128, 84, 65, 75, 128, 84, 65, 73, 83, 89, 79, 85, 128, 84,
- 65, 73, 76, 76, 69, 83, 211, 84, 65, 73, 76, 128, 84, 65, 73, 204, 84,
- 65, 72, 128, 84, 65, 200, 84, 65, 71, 66, 65, 78, 87, 193, 84, 65, 71,
- 65, 76, 79, 199, 84, 65, 71, 128, 84, 65, 69, 206, 84, 65, 67, 75, 128,
- 84, 65, 67, 203, 84, 65, 66, 85, 76, 65, 84, 73, 79, 78, 128, 84, 65, 66,
- 83, 128, 84, 65, 66, 76, 69, 128, 84, 65, 66, 128, 84, 65, 194, 84, 65,
- 65, 83, 72, 65, 69, 128, 84, 65, 65, 81, 128, 84, 65, 65, 77, 128, 84,
- 65, 65, 76, 85, 74, 193, 84, 65, 65, 73, 128, 84, 65, 65, 70, 128, 84,
- 65, 50, 128, 84, 65, 45, 82, 79, 76, 128, 84, 48, 51, 54, 128, 84, 48,
- 51, 53, 128, 84, 48, 51, 52, 128, 84, 48, 51, 51, 65, 128, 84, 48, 51,
- 51, 128, 84, 48, 51, 50, 65, 128, 84, 48, 51, 50, 128, 84, 48, 51, 49,
- 128, 84, 48, 51, 48, 128, 84, 48, 50, 57, 128, 84, 48, 50, 56, 128, 84,
- 48, 50, 55, 128, 84, 48, 50, 54, 128, 84, 48, 50, 53, 128, 84, 48, 50,
- 52, 128, 84, 48, 50, 51, 128, 84, 48, 50, 50, 128, 84, 48, 50, 49, 128,
- 84, 48, 50, 48, 128, 84, 48, 49, 57, 128, 84, 48, 49, 56, 128, 84, 48,
- 49, 55, 128, 84, 48, 49, 54, 65, 128, 84, 48, 49, 54, 128, 84, 48, 49,
- 53, 128, 84, 48, 49, 52, 128, 84, 48, 49, 51, 128, 84, 48, 49, 50, 128,
- 84, 48, 49, 49, 65, 128, 84, 48, 49, 49, 128, 84, 48, 49, 48, 128, 84,
- 48, 48, 57, 65, 128, 84, 48, 48, 57, 128, 84, 48, 48, 56, 65, 128, 84,
- 48, 48, 56, 128, 84, 48, 48, 55, 65, 128, 84, 48, 48, 55, 128, 84, 48,
- 48, 54, 128, 84, 48, 48, 53, 128, 84, 48, 48, 52, 128, 84, 48, 48, 51,
- 65, 128, 84, 48, 48, 51, 128, 84, 48, 48, 50, 128, 84, 48, 48, 49, 128,
- 84, 45, 83, 72, 73, 82, 84, 128, 83, 90, 90, 128, 83, 90, 87, 71, 128,
- 83, 90, 87, 65, 128, 83, 90, 85, 128, 83, 90, 79, 128, 83, 90, 73, 128,
- 83, 90, 69, 69, 128, 83, 90, 69, 128, 83, 90, 65, 65, 128, 83, 90, 65,
- 128, 83, 90, 128, 83, 89, 88, 128, 83, 89, 84, 128, 83, 89, 82, 88, 128,
- 83, 89, 82, 77, 65, 84, 73, 75, 73, 128, 83, 89, 82, 77, 65, 128, 83, 89,
- 82, 73, 78, 71, 69, 128, 83, 89, 82, 128, 83, 89, 80, 128, 83, 89, 79,
- 85, 87, 65, 128, 83, 89, 78, 69, 86, 77, 65, 128, 83, 89, 78, 68, 69, 83,
- 77, 79, 211, 83, 89, 78, 67, 72, 82, 79, 78, 79, 85, 211, 83, 89, 78, 65,
- 71, 77, 193, 83, 89, 78, 65, 70, 73, 128, 83, 89, 77, 77, 69, 84, 82, 89,
- 128, 83, 89, 77, 77, 69, 84, 82, 73, 195, 83, 89, 77, 66, 79, 76, 83,
- 128, 83, 89, 77, 66, 79, 76, 45, 57, 128, 83, 89, 77, 66, 79, 76, 45, 56,
- 128, 83, 89, 77, 66, 79, 76, 45, 55, 128, 83, 89, 77, 66, 79, 76, 45, 54,
- 128, 83, 89, 77, 66, 79, 76, 45, 53, 52, 128, 83, 89, 77, 66, 79, 76, 45,
- 53, 51, 128, 83, 89, 77, 66, 79, 76, 45, 53, 50, 128, 83, 89, 77, 66, 79,
- 76, 45, 53, 49, 128, 83, 89, 77, 66, 79, 76, 45, 53, 48, 128, 83, 89, 77,
- 66, 79, 76, 45, 53, 128, 83, 89, 77, 66, 79, 76, 45, 52, 57, 128, 83, 89,
- 77, 66, 79, 76, 45, 52, 56, 128, 83, 89, 77, 66, 79, 76, 45, 52, 55, 128,
- 83, 89, 77, 66, 79, 76, 45, 52, 53, 128, 83, 89, 77, 66, 79, 76, 45, 52,
- 51, 128, 83, 89, 77, 66, 79, 76, 45, 52, 50, 128, 83, 89, 77, 66, 79, 76,
- 45, 52, 48, 128, 83, 89, 77, 66, 79, 76, 45, 52, 128, 83, 89, 77, 66, 79,
- 76, 45, 51, 57, 128, 83, 89, 77, 66, 79, 76, 45, 51, 56, 128, 83, 89, 77,
- 66, 79, 76, 45, 51, 55, 128, 83, 89, 77, 66, 79, 76, 45, 51, 54, 128, 83,
- 89, 77, 66, 79, 76, 45, 51, 50, 128, 83, 89, 77, 66, 79, 76, 45, 51, 48,
- 128, 83, 89, 77, 66, 79, 76, 45, 51, 128, 83, 89, 77, 66, 79, 76, 45, 50,
- 57, 128, 83, 89, 77, 66, 79, 76, 45, 50, 55, 128, 83, 89, 77, 66, 79, 76,
- 45, 50, 54, 128, 83, 89, 77, 66, 79, 76, 45, 50, 53, 128, 83, 89, 77, 66,
- 79, 76, 45, 50, 52, 128, 83, 89, 77, 66, 79, 76, 45, 50, 51, 128, 83, 89,
- 77, 66, 79, 76, 45, 50, 50, 128, 83, 89, 77, 66, 79, 76, 45, 50, 49, 128,
- 83, 89, 77, 66, 79, 76, 45, 50, 48, 128, 83, 89, 77, 66, 79, 76, 45, 50,
- 128, 83, 89, 77, 66, 79, 76, 45, 49, 57, 128, 83, 89, 77, 66, 79, 76, 45,
- 49, 56, 128, 83, 89, 77, 66, 79, 76, 45, 49, 55, 128, 83, 89, 77, 66, 79,
- 76, 45, 49, 54, 128, 83, 89, 77, 66, 79, 76, 45, 49, 53, 128, 83, 89, 77,
- 66, 79, 76, 45, 49, 52, 128, 83, 89, 77, 66, 79, 76, 45, 49, 51, 128, 83,
- 89, 77, 66, 79, 76, 45, 49, 50, 128, 83, 89, 77, 66, 79, 76, 45, 49, 49,
- 128, 83, 89, 77, 66, 79, 76, 45, 49, 48, 128, 83, 89, 77, 66, 79, 76, 45,
- 49, 128, 83, 89, 76, 79, 84, 201, 83, 89, 65, 128, 83, 89, 128, 83, 87,
- 90, 128, 83, 87, 85, 78, 199, 83, 87, 79, 82, 68, 83, 128, 83, 87, 79,
- 82, 68, 128, 83, 87, 79, 79, 128, 83, 87, 79, 128, 83, 87, 73, 82, 204,
- 83, 87, 73, 77, 77, 73, 78, 71, 128, 83, 87, 73, 77, 77, 69, 82, 128, 83,
- 87, 73, 73, 128, 83, 87, 73, 128, 83, 87, 71, 128, 83, 87, 69, 69, 84,
- 128, 83, 87, 69, 69, 212, 83, 87, 69, 65, 84, 128, 83, 87, 69, 65, 212,
- 83, 87, 65, 83, 200, 83, 87, 65, 80, 80, 73, 78, 71, 128, 83, 87, 65, 65,
- 128, 83, 87, 128, 83, 86, 65, 83, 84, 201, 83, 86, 65, 82, 73, 84, 65,
- 128, 83, 86, 65, 82, 73, 84, 193, 83, 85, 88, 128, 83, 85, 85, 128, 83,
- 85, 84, 128, 83, 85, 83, 80, 69, 78, 83, 73, 79, 206, 83, 85, 83, 72, 73,
+ 65, 213, 84, 65, 84, 87, 69, 69, 76, 128, 84, 65, 84, 87, 69, 69, 204,
+ 84, 65, 84, 84, 79, 79, 69, 196, 84, 65, 84, 128, 84, 65, 82, 85, 78, 71,
+ 128, 84, 65, 82, 84, 65, 82, 45, 50, 128, 84, 65, 82, 84, 65, 82, 128,
+ 84, 65, 81, 128, 84, 65, 80, 69, 82, 128, 84, 65, 80, 197, 84, 65, 80,
+ 128, 84, 65, 79, 128, 84, 65, 78, 78, 69, 196, 84, 65, 78, 71, 69, 82,
+ 73, 78, 69, 128, 84, 65, 78, 199, 84, 65, 78, 65, 66, 65, 84, 193, 84,
+ 65, 78, 128, 84, 65, 77, 73, 78, 71, 128, 84, 65, 77, 128, 84, 65, 76,
+ 76, 128, 84, 65, 76, 204, 84, 65, 76, 73, 78, 71, 128, 84, 65, 76, 73,
+ 78, 199, 84, 65, 76, 69, 78, 84, 83, 128, 84, 65, 76, 69, 78, 212, 84,
+ 65, 75, 72, 65, 76, 76, 85, 83, 128, 84, 65, 75, 69, 128, 84, 65, 75, 52,
+ 128, 84, 65, 75, 128, 84, 65, 73, 83, 89, 79, 85, 128, 84, 65, 73, 76,
+ 76, 69, 83, 211, 84, 65, 73, 76, 128, 84, 65, 73, 204, 84, 65, 72, 128,
+ 84, 65, 200, 84, 65, 71, 66, 65, 78, 87, 193, 84, 65, 71, 65, 76, 79,
+ 199, 84, 65, 71, 128, 84, 65, 69, 206, 84, 65, 67, 75, 128, 84, 65, 67,
+ 203, 84, 65, 66, 85, 76, 65, 84, 73, 79, 78, 128, 84, 65, 66, 83, 128,
+ 84, 65, 66, 76, 69, 128, 84, 65, 66, 128, 84, 65, 194, 84, 65, 65, 83,
+ 72, 65, 69, 128, 84, 65, 65, 81, 128, 84, 65, 65, 77, 128, 84, 65, 65,
+ 76, 85, 74, 193, 84, 65, 65, 73, 128, 84, 65, 65, 70, 128, 84, 65, 50,
+ 128, 84, 65, 45, 82, 79, 76, 128, 84, 48, 51, 54, 128, 84, 48, 51, 53,
+ 128, 84, 48, 51, 52, 128, 84, 48, 51, 51, 65, 128, 84, 48, 51, 51, 128,
+ 84, 48, 51, 50, 65, 128, 84, 48, 51, 50, 128, 84, 48, 51, 49, 128, 84,
+ 48, 51, 48, 128, 84, 48, 50, 57, 128, 84, 48, 50, 56, 128, 84, 48, 50,
+ 55, 128, 84, 48, 50, 54, 128, 84, 48, 50, 53, 128, 84, 48, 50, 52, 128,
+ 84, 48, 50, 51, 128, 84, 48, 50, 50, 128, 84, 48, 50, 49, 128, 84, 48,
+ 50, 48, 128, 84, 48, 49, 57, 128, 84, 48, 49, 56, 128, 84, 48, 49, 55,
+ 128, 84, 48, 49, 54, 65, 128, 84, 48, 49, 54, 128, 84, 48, 49, 53, 128,
+ 84, 48, 49, 52, 128, 84, 48, 49, 51, 128, 84, 48, 49, 50, 128, 84, 48,
+ 49, 49, 65, 128, 84, 48, 49, 49, 128, 84, 48, 49, 48, 128, 84, 48, 48,
+ 57, 65, 128, 84, 48, 48, 57, 128, 84, 48, 48, 56, 65, 128, 84, 48, 48,
+ 56, 128, 84, 48, 48, 55, 65, 128, 84, 48, 48, 55, 128, 84, 48, 48, 54,
+ 128, 84, 48, 48, 53, 128, 84, 48, 48, 52, 128, 84, 48, 48, 51, 65, 128,
+ 84, 48, 48, 51, 128, 84, 48, 48, 50, 128, 84, 48, 48, 49, 128, 84, 45,
+ 83, 72, 73, 82, 84, 128, 83, 90, 90, 128, 83, 90, 87, 71, 128, 83, 90,
+ 87, 65, 128, 83, 90, 85, 128, 83, 90, 79, 128, 83, 90, 73, 128, 83, 90,
+ 69, 69, 128, 83, 90, 69, 128, 83, 90, 65, 65, 128, 83, 90, 65, 128, 83,
+ 90, 128, 83, 89, 88, 128, 83, 89, 84, 128, 83, 89, 82, 88, 128, 83, 89,
+ 82, 77, 65, 84, 73, 75, 73, 128, 83, 89, 82, 77, 65, 128, 83, 89, 82, 73,
+ 78, 71, 69, 128, 83, 89, 82, 128, 83, 89, 80, 128, 83, 89, 79, 85, 87,
+ 65, 128, 83, 89, 78, 69, 86, 77, 65, 128, 83, 89, 78, 68, 69, 83, 77, 79,
+ 211, 83, 89, 78, 67, 72, 82, 79, 78, 79, 85, 211, 83, 89, 78, 65, 71, 77,
+ 193, 83, 89, 78, 65, 70, 73, 128, 83, 89, 77, 77, 69, 84, 82, 89, 128,
+ 83, 89, 77, 77, 69, 84, 82, 73, 195, 83, 89, 77, 66, 79, 76, 83, 128, 83,
+ 89, 77, 66, 79, 76, 45, 57, 128, 83, 89, 77, 66, 79, 76, 45, 56, 128, 83,
+ 89, 77, 66, 79, 76, 45, 55, 128, 83, 89, 77, 66, 79, 76, 45, 54, 128, 83,
+ 89, 77, 66, 79, 76, 45, 53, 52, 128, 83, 89, 77, 66, 79, 76, 45, 53, 51,
+ 128, 83, 89, 77, 66, 79, 76, 45, 53, 50, 128, 83, 89, 77, 66, 79, 76, 45,
+ 53, 49, 128, 83, 89, 77, 66, 79, 76, 45, 53, 48, 128, 83, 89, 77, 66, 79,
+ 76, 45, 53, 128, 83, 89, 77, 66, 79, 76, 45, 52, 57, 128, 83, 89, 77, 66,
+ 79, 76, 45, 52, 56, 128, 83, 89, 77, 66, 79, 76, 45, 52, 55, 128, 83, 89,
+ 77, 66, 79, 76, 45, 52, 53, 128, 83, 89, 77, 66, 79, 76, 45, 52, 51, 128,
+ 83, 89, 77, 66, 79, 76, 45, 52, 50, 128, 83, 89, 77, 66, 79, 76, 45, 52,
+ 48, 128, 83, 89, 77, 66, 79, 76, 45, 52, 128, 83, 89, 77, 66, 79, 76, 45,
+ 51, 57, 128, 83, 89, 77, 66, 79, 76, 45, 51, 56, 128, 83, 89, 77, 66, 79,
+ 76, 45, 51, 55, 128, 83, 89, 77, 66, 79, 76, 45, 51, 54, 128, 83, 89, 77,
+ 66, 79, 76, 45, 51, 50, 128, 83, 89, 77, 66, 79, 76, 45, 51, 48, 128, 83,
+ 89, 77, 66, 79, 76, 45, 51, 128, 83, 89, 77, 66, 79, 76, 45, 50, 57, 128,
+ 83, 89, 77, 66, 79, 76, 45, 50, 55, 128, 83, 89, 77, 66, 79, 76, 45, 50,
+ 54, 128, 83, 89, 77, 66, 79, 76, 45, 50, 53, 128, 83, 89, 77, 66, 79, 76,
+ 45, 50, 52, 128, 83, 89, 77, 66, 79, 76, 45, 50, 51, 128, 83, 89, 77, 66,
+ 79, 76, 45, 50, 50, 128, 83, 89, 77, 66, 79, 76, 45, 50, 49, 128, 83, 89,
+ 77, 66, 79, 76, 45, 50, 48, 128, 83, 89, 77, 66, 79, 76, 45, 50, 128, 83,
+ 89, 77, 66, 79, 76, 45, 49, 57, 128, 83, 89, 77, 66, 79, 76, 45, 49, 56,
+ 128, 83, 89, 77, 66, 79, 76, 45, 49, 55, 128, 83, 89, 77, 66, 79, 76, 45,
+ 49, 54, 128, 83, 89, 77, 66, 79, 76, 45, 49, 53, 128, 83, 89, 77, 66, 79,
+ 76, 45, 49, 52, 128, 83, 89, 77, 66, 79, 76, 45, 49, 51, 128, 83, 89, 77,
+ 66, 79, 76, 45, 49, 50, 128, 83, 89, 77, 66, 79, 76, 45, 49, 49, 128, 83,
+ 89, 77, 66, 79, 76, 45, 49, 48, 128, 83, 89, 77, 66, 79, 76, 45, 49, 128,
+ 83, 89, 76, 79, 84, 201, 83, 89, 65, 128, 83, 89, 128, 83, 87, 90, 128,
+ 83, 87, 85, 78, 199, 83, 87, 79, 82, 68, 83, 128, 83, 87, 79, 82, 68,
+ 128, 83, 87, 79, 79, 128, 83, 87, 79, 128, 83, 87, 73, 82, 204, 83, 87,
+ 73, 77, 77, 73, 78, 71, 128, 83, 87, 73, 77, 77, 69, 82, 128, 83, 87, 73,
+ 73, 128, 83, 87, 73, 128, 83, 87, 71, 128, 83, 87, 69, 69, 84, 128, 83,
+ 87, 69, 69, 212, 83, 87, 69, 65, 84, 128, 83, 87, 69, 65, 212, 83, 87,
+ 65, 83, 200, 83, 87, 65, 80, 80, 73, 78, 71, 128, 83, 87, 65, 65, 128,
+ 83, 87, 128, 83, 86, 65, 83, 84, 201, 83, 86, 65, 82, 73, 84, 65, 128,
+ 83, 86, 65, 82, 73, 84, 193, 83, 85, 88, 128, 83, 85, 85, 128, 83, 85,
+ 84, 128, 83, 85, 83, 80, 69, 78, 83, 73, 79, 206, 83, 85, 83, 72, 73,
128, 83, 85, 82, 88, 128, 83, 85, 82, 82, 79, 85, 78, 68, 128, 83, 85,
82, 82, 79, 85, 78, 196, 83, 85, 82, 70, 69, 82, 128, 83, 85, 82, 70, 65,
67, 197, 83, 85, 82, 69, 128, 83, 85, 82, 65, 78, 71, 128, 83, 85, 82,
@@ -731,162 +734,164 @@ static unsigned char lexicon[] = {
128, 83, 84, 65, 67, 67, 65, 84, 73, 83, 83, 73, 77, 79, 128, 83, 84, 50,
128, 83, 83, 89, 88, 128, 83, 83, 89, 84, 128, 83, 83, 89, 82, 88, 128,
83, 83, 89, 82, 128, 83, 83, 89, 80, 128, 83, 83, 89, 128, 83, 83, 85,
- 88, 128, 83, 83, 85, 84, 128, 83, 83, 85, 80, 128, 83, 83, 79, 88, 128,
- 83, 83, 79, 84, 128, 83, 83, 79, 80, 128, 83, 83, 79, 128, 83, 83, 73,
- 88, 128, 83, 83, 73, 84, 128, 83, 83, 73, 80, 128, 83, 83, 73, 69, 88,
- 128, 83, 83, 73, 69, 80, 128, 83, 83, 73, 69, 128, 83, 83, 73, 128, 83,
- 83, 72, 69, 128, 83, 83, 69, 88, 128, 83, 83, 69, 80, 128, 83, 83, 69,
- 69, 128, 83, 83, 65, 88, 128, 83, 83, 65, 84, 128, 83, 83, 65, 80, 128,
- 83, 83, 65, 78, 71, 89, 69, 79, 82, 73, 78, 72, 73, 69, 85, 72, 128, 83,
- 83, 65, 78, 71, 84, 73, 75, 69, 85, 84, 45, 80, 73, 69, 85, 80, 128, 83,
- 83, 65, 78, 71, 84, 73, 75, 69, 85, 84, 128, 83, 83, 65, 78, 71, 84, 72,
- 73, 69, 85, 84, 72, 128, 83, 83, 65, 78, 71, 83, 73, 79, 83, 45, 84, 73,
- 75, 69, 85, 84, 128, 83, 83, 65, 78, 71, 83, 73, 79, 83, 45, 80, 73, 69,
- 85, 80, 128, 83, 83, 65, 78, 71, 83, 73, 79, 83, 45, 75, 73, 89, 69, 79,
- 75, 128, 83, 83, 65, 78, 71, 83, 73, 79, 83, 128, 83, 83, 65, 78, 71, 82,
- 73, 69, 85, 76, 45, 75, 72, 73, 69, 85, 75, 72, 128, 83, 83, 65, 78, 71,
- 82, 73, 69, 85, 76, 128, 83, 83, 65, 78, 71, 80, 73, 69, 85, 80, 128, 83,
- 83, 65, 78, 71, 78, 73, 69, 85, 78, 128, 83, 83, 65, 78, 71, 77, 73, 69,
- 85, 77, 128, 83, 83, 65, 78, 71, 75, 73, 89, 69, 79, 75, 128, 83, 83, 65,
- 78, 71, 73, 69, 85, 78, 71, 128, 83, 83, 65, 78, 71, 72, 73, 69, 85, 72,
- 128, 83, 83, 65, 78, 71, 67, 73, 69, 85, 67, 45, 72, 73, 69, 85, 72, 128,
- 83, 83, 65, 78, 71, 67, 73, 69, 85, 67, 128, 83, 83, 65, 78, 71, 65, 82,
- 65, 69, 65, 128, 83, 83, 65, 65, 128, 83, 83, 65, 128, 83, 82, 128, 83,
- 81, 85, 73, 83, 200, 83, 81, 85, 73, 82, 82, 69, 204, 83, 81, 85, 73, 71,
- 71, 76, 197, 83, 81, 85, 65, 212, 83, 81, 85, 65, 82, 69, 83, 128, 83,
- 81, 85, 65, 82, 69, 68, 128, 83, 81, 85, 65, 82, 69, 128, 83, 80, 87, 65,
- 128, 83, 80, 85, 78, 71, 211, 83, 80, 82, 79, 85, 84, 128, 83, 80, 82,
- 73, 78, 71, 83, 128, 83, 80, 82, 73, 78, 71, 128, 83, 80, 82, 69, 67, 72,
- 71, 69, 83, 65, 78, 199, 83, 80, 79, 85, 84, 73, 78, 199, 83, 80, 79, 84,
- 128, 83, 80, 79, 79, 78, 128, 83, 80, 76, 73, 84, 84, 73, 78, 199, 83,
- 80, 76, 65, 83, 72, 73, 78, 199, 83, 80, 73, 82, 73, 84, 85, 211, 83, 80,
- 73, 82, 73, 84, 128, 83, 80, 73, 82, 73, 212, 83, 80, 73, 82, 65, 78, 84,
- 128, 83, 80, 73, 82, 65, 76, 128, 83, 80, 73, 82, 65, 204, 83, 80, 73,
- 68, 69, 82, 217, 83, 80, 73, 67, 69, 128, 83, 80, 72, 69, 82, 73, 67, 65,
- 204, 83, 80, 69, 83, 77, 73, 76, 207, 83, 80, 69, 69, 68, 66, 79, 65, 84,
- 128, 83, 80, 69, 69, 67, 72, 128, 83, 80, 69, 69, 67, 200, 83, 80, 69,
- 67, 73, 65, 76, 128, 83, 80, 69, 65, 82, 128, 83, 80, 69, 65, 75, 69, 82,
- 128, 83, 80, 69, 65, 75, 69, 210, 83, 80, 69, 65, 75, 45, 78, 79, 45, 69,
- 86, 73, 204, 83, 80, 65, 84, 72, 73, 128, 83, 80, 65, 82, 75, 76, 73, 78,
- 199, 83, 80, 65, 82, 75, 76, 69, 83, 128, 83, 80, 65, 82, 75, 76, 69, 82,
- 128, 83, 80, 65, 82, 75, 76, 69, 128, 83, 80, 65, 71, 72, 69, 84, 84, 73,
- 128, 83, 80, 65, 68, 69, 83, 128, 83, 80, 65, 68, 197, 83, 80, 65, 67,
- 73, 78, 199, 83, 80, 65, 67, 197, 83, 80, 128, 83, 79, 89, 128, 83, 79,
- 87, 73, 76, 207, 83, 79, 87, 128, 83, 79, 85, 84, 72, 69, 82, 206, 83,
- 79, 85, 84, 72, 45, 83, 76, 65, 86, 69, 217, 83, 79, 85, 84, 200, 83, 79,
- 85, 82, 67, 69, 128, 83, 79, 85, 78, 68, 128, 83, 79, 85, 78, 196, 83,
- 79, 85, 78, 65, 80, 128, 83, 79, 85, 128, 83, 79, 83, 128, 83, 79, 81,
- 128, 83, 79, 79, 206, 83, 79, 79, 128, 83, 79, 78, 74, 65, 77, 128, 83,
- 79, 78, 71, 128, 83, 79, 78, 128, 83, 79, 77, 128, 83, 79, 76, 73, 68,
- 85, 83, 128, 83, 79, 76, 73, 68, 85, 211, 83, 79, 71, 68, 73, 65, 206,
- 83, 79, 70, 84, 87, 65, 82, 69, 45, 70, 85, 78, 67, 84, 73, 79, 206, 83,
- 79, 70, 84, 78, 69, 83, 83, 128, 83, 79, 70, 212, 83, 79, 198, 83, 79,
- 67, 73, 69, 84, 89, 128, 83, 79, 67, 67, 69, 210, 83, 79, 65, 80, 128,
- 83, 79, 65, 128, 83, 207, 83, 78, 79, 87, 77, 65, 78, 128, 83, 78, 79,
- 87, 77, 65, 206, 83, 78, 79, 87, 70, 76, 65, 75, 69, 128, 83, 78, 79, 87,
- 66, 79, 65, 82, 68, 69, 82, 128, 83, 78, 79, 87, 128, 83, 78, 79, 85, 84,
- 128, 83, 78, 79, 85, 212, 83, 78, 65, 208, 83, 78, 65, 75, 69, 128, 83,
- 78, 65, 75, 197, 83, 78, 65, 73, 76, 128, 83, 78, 193, 83, 77, 79, 75,
- 73, 78, 199, 83, 77, 73, 82, 75, 73, 78, 199, 83, 77, 73, 76, 73, 78,
- 199, 83, 77, 73, 76, 69, 128, 83, 77, 69, 65, 82, 128, 83, 77, 65, 83,
- 200, 83, 77, 65, 76, 76, 69, 210, 83, 77, 65, 76, 76, 128, 83, 76, 85,
- 82, 128, 83, 76, 79, 87, 76, 89, 128, 83, 76, 79, 215, 83, 76, 79, 86,
- 79, 128, 83, 76, 79, 212, 83, 76, 79, 80, 73, 78, 199, 83, 76, 79, 80,
- 69, 128, 83, 76, 73, 78, 71, 128, 83, 76, 73, 68, 73, 78, 71, 128, 83,
- 76, 73, 67, 69, 128, 83, 76, 73, 67, 197, 83, 76, 69, 69, 80, 217, 83,
- 76, 69, 69, 80, 73, 78, 199, 83, 76, 65, 86, 79, 78, 73, 195, 83, 76, 65,
- 86, 69, 128, 83, 76, 65, 83, 72, 128, 83, 76, 65, 83, 200, 83, 76, 65,
- 78, 84, 69, 196, 83, 75, 87, 65, 128, 83, 75, 87, 128, 83, 75, 85, 76,
- 76, 128, 83, 75, 85, 76, 204, 83, 75, 76, 73, 82, 79, 206, 83, 75, 73,
- 78, 128, 83, 75, 73, 69, 82, 128, 83, 75, 201, 83, 75, 69, 87, 69, 196,
- 83, 75, 65, 84, 69, 128, 83, 75, 128, 83, 74, 69, 128, 83, 73, 88, 84,
- 89, 45, 70, 79, 85, 82, 84, 200, 83, 73, 88, 84, 89, 128, 83, 73, 88, 84,
- 217, 83, 73, 88, 84, 72, 83, 128, 83, 73, 88, 84, 72, 211, 83, 73, 88,
- 84, 72, 128, 83, 73, 88, 84, 69, 69, 78, 84, 72, 83, 128, 83, 73, 88, 84,
- 69, 69, 78, 84, 72, 128, 83, 73, 88, 84, 69, 69, 78, 84, 200, 83, 73, 88,
- 84, 69, 69, 78, 128, 83, 73, 88, 84, 69, 69, 206, 83, 73, 88, 45, 84, 72,
- 73, 82, 84, 89, 128, 83, 73, 88, 45, 83, 84, 82, 73, 78, 199, 83, 73, 88,
- 45, 80, 69, 82, 45, 69, 205, 83, 73, 88, 45, 76, 73, 78, 197, 83, 73,
- 216, 83, 73, 84, 69, 128, 83, 73, 83, 65, 128, 83, 73, 82, 73, 78, 71,
- 85, 128, 83, 73, 79, 83, 45, 84, 72, 73, 69, 85, 84, 72, 128, 83, 73, 79,
- 83, 45, 83, 83, 65, 78, 71, 83, 73, 79, 83, 128, 83, 73, 79, 83, 45, 82,
- 73, 69, 85, 76, 128, 83, 73, 79, 83, 45, 80, 73, 69, 85, 80, 45, 75, 73,
- 89, 69, 79, 75, 128, 83, 73, 79, 83, 45, 80, 72, 73, 69, 85, 80, 72, 128,
- 83, 73, 79, 83, 45, 80, 65, 78, 83, 73, 79, 83, 128, 83, 73, 79, 83, 45,
- 78, 73, 69, 85, 78, 128, 83, 73, 79, 83, 45, 77, 73, 69, 85, 77, 128, 83,
- 73, 79, 83, 45, 75, 72, 73, 69, 85, 75, 72, 128, 83, 73, 79, 83, 45, 75,
- 65, 80, 89, 69, 79, 85, 78, 80, 73, 69, 85, 80, 128, 83, 73, 79, 83, 45,
- 73, 69, 85, 78, 71, 128, 83, 73, 79, 83, 45, 72, 73, 69, 85, 72, 128, 83,
- 73, 79, 83, 45, 67, 73, 69, 85, 67, 128, 83, 73, 79, 83, 45, 67, 72, 73,
- 69, 85, 67, 72, 128, 83, 73, 79, 211, 83, 73, 78, 75, 73, 78, 71, 128,
- 83, 73, 78, 71, 76, 69, 45, 76, 73, 78, 197, 83, 73, 78, 71, 76, 69, 128,
- 83, 73, 78, 71, 76, 197, 83, 73, 78, 71, 65, 65, 84, 128, 83, 73, 78,
- 197, 83, 73, 78, 68, 72, 201, 83, 73, 206, 83, 73, 77, 80, 76, 73, 70,
- 73, 69, 196, 83, 73, 77, 73, 76, 65, 82, 128, 83, 73, 77, 73, 76, 65,
- 210, 83, 73, 77, 65, 78, 83, 73, 211, 83, 73, 77, 65, 76, 85, 78, 71, 85,
- 206, 83, 73, 77, 65, 128, 83, 73, 76, 86, 69, 82, 128, 83, 73, 76, 75,
- 128, 83, 73, 76, 73, 81, 85, 193, 83, 73, 76, 72, 79, 85, 69, 84, 84, 69,
- 128, 83, 73, 76, 72, 79, 85, 69, 84, 84, 197, 83, 73, 76, 65, 51, 128,
- 83, 73, 75, 73, 128, 83, 73, 75, 50, 128, 83, 73, 75, 178, 83, 73, 73,
- 128, 83, 73, 71, 78, 83, 128, 83, 73, 71, 77, 65, 128, 83, 73, 71, 77,
- 193, 83, 73, 71, 69, 204, 83, 73, 71, 52, 128, 83, 73, 71, 180, 83, 73,
- 71, 128, 83, 73, 69, 69, 128, 83, 73, 68, 69, 87, 65, 89, 211, 83, 73,
- 67, 75, 78, 69, 83, 83, 128, 83, 73, 67, 75, 76, 69, 128, 83, 73, 66,
- 197, 83, 201, 83, 72, 89, 88, 128, 83, 72, 89, 84, 128, 83, 72, 89, 82,
- 88, 128, 83, 72, 89, 82, 128, 83, 72, 89, 80, 128, 83, 72, 89, 69, 128,
- 83, 72, 89, 65, 128, 83, 72, 89, 128, 83, 72, 87, 79, 89, 128, 83, 72,
- 87, 79, 79, 128, 83, 72, 87, 79, 128, 83, 72, 87, 73, 73, 128, 83, 72,
- 87, 73, 128, 83, 72, 87, 69, 128, 83, 72, 87, 65, 65, 128, 83, 72, 87,
- 65, 128, 83, 72, 85, 88, 128, 83, 72, 85, 84, 128, 83, 72, 85, 82, 88,
- 128, 83, 72, 85, 82, 128, 83, 72, 85, 80, 128, 83, 72, 85, 79, 88, 128,
- 83, 72, 85, 79, 80, 128, 83, 72, 85, 79, 128, 83, 72, 85, 77, 128, 83,
- 72, 85, 70, 70, 76, 197, 83, 72, 85, 69, 81, 128, 83, 72, 85, 69, 78, 83,
- 72, 85, 69, 84, 128, 83, 72, 85, 66, 85, 82, 128, 83, 72, 85, 50, 128,
- 83, 72, 85, 178, 83, 72, 85, 128, 83, 72, 213, 83, 72, 84, 65, 80, 73,
- 67, 128, 83, 72, 84, 65, 128, 83, 72, 82, 73, 78, 69, 128, 83, 72, 82,
- 73, 77, 80, 128, 83, 72, 79, 89, 128, 83, 72, 79, 88, 128, 83, 72, 79,
- 87, 69, 82, 128, 83, 72, 79, 85, 76, 68, 69, 82, 69, 196, 83, 72, 79, 84,
- 128, 83, 72, 79, 82, 84, 83, 128, 83, 72, 79, 82, 84, 211, 83, 72, 79,
- 82, 84, 69, 78, 69, 82, 128, 83, 72, 79, 82, 84, 67, 65, 75, 69, 128, 83,
- 72, 79, 82, 84, 45, 84, 87, 73, 71, 45, 89, 82, 128, 83, 72, 79, 82, 84,
- 45, 84, 87, 73, 71, 45, 84, 89, 210, 83, 72, 79, 82, 84, 45, 84, 87, 73,
- 71, 45, 83, 79, 204, 83, 72, 79, 82, 84, 45, 84, 87, 73, 71, 45, 79, 83,
- 211, 83, 72, 79, 82, 84, 45, 84, 87, 73, 71, 45, 78, 65, 85, 196, 83, 72,
- 79, 82, 84, 45, 84, 87, 73, 71, 45, 77, 65, 68, 210, 83, 72, 79, 82, 84,
- 45, 84, 87, 73, 71, 45, 72, 65, 71, 65, 76, 204, 83, 72, 79, 82, 84, 45,
- 84, 87, 73, 71, 45, 66, 74, 65, 82, 75, 65, 206, 83, 72, 79, 82, 84, 45,
- 84, 87, 73, 71, 45, 65, 210, 83, 72, 79, 82, 84, 128, 83, 72, 79, 82,
- 212, 83, 72, 79, 81, 128, 83, 72, 79, 209, 83, 72, 79, 80, 128, 83, 72,
- 79, 79, 84, 73, 78, 199, 83, 72, 79, 79, 84, 128, 83, 72, 79, 79, 128,
- 83, 72, 79, 71, 201, 83, 72, 79, 199, 83, 72, 79, 69, 128, 83, 72, 79,
- 197, 83, 72, 79, 65, 128, 83, 72, 79, 128, 83, 72, 73, 89, 89, 65, 65,
- 76, 65, 65, 128, 83, 72, 73, 84, 65, 128, 83, 72, 73, 84, 193, 83, 72,
- 73, 82, 212, 83, 72, 73, 82, 65, 69, 128, 83, 72, 73, 82, 128, 83, 72,
- 73, 210, 83, 72, 73, 81, 128, 83, 72, 73, 80, 128, 83, 72, 73, 78, 84,
- 207, 83, 72, 73, 78, 73, 71, 128, 83, 72, 73, 78, 68, 193, 83, 72, 73,
- 78, 128, 83, 72, 73, 206, 83, 72, 73, 77, 65, 128, 83, 72, 73, 77, 193,
- 83, 72, 73, 77, 128, 83, 72, 73, 205, 83, 72, 73, 73, 78, 128, 83, 72,
- 73, 73, 128, 83, 72, 73, 70, 212, 83, 72, 73, 69, 76, 68, 128, 83, 72,
- 73, 68, 128, 83, 72, 73, 196, 83, 72, 72, 65, 128, 83, 72, 72, 193, 83,
- 72, 69, 88, 128, 83, 72, 69, 86, 65, 128, 83, 72, 69, 85, 88, 128, 83,
- 72, 69, 85, 79, 81, 128, 83, 72, 69, 85, 65, 69, 81, 84, 85, 128, 83, 72,
- 69, 85, 65, 69, 81, 128, 83, 72, 69, 85, 65, 69, 128, 83, 72, 69, 84,
- 128, 83, 72, 69, 212, 83, 72, 69, 83, 72, 76, 65, 77, 128, 83, 72, 69,
- 83, 72, 73, 71, 128, 83, 72, 69, 83, 72, 73, 199, 83, 72, 69, 83, 72, 50,
- 128, 83, 72, 69, 83, 72, 128, 83, 72, 69, 81, 69, 204, 83, 72, 69, 80,
- 128, 83, 72, 69, 78, 128, 83, 72, 69, 76, 76, 128, 83, 72, 69, 76, 204,
- 83, 72, 69, 76, 70, 128, 83, 72, 69, 73, 128, 83, 72, 69, 71, 57, 128,
- 83, 72, 69, 69, 80, 128, 83, 72, 69, 69, 78, 85, 128, 83, 72, 69, 69, 78,
- 128, 83, 72, 69, 69, 206, 83, 72, 69, 69, 128, 83, 72, 69, 45, 71, 79,
- 65, 84, 128, 83, 72, 197, 83, 72, 67, 72, 65, 128, 83, 72, 65, 89, 128,
- 83, 72, 65, 88, 128, 83, 72, 65, 86, 73, 89, 65, 78, 73, 128, 83, 72, 65,
- 86, 73, 65, 206, 83, 72, 65, 86, 69, 196, 83, 72, 65, 84, 128, 83, 72,
- 65, 82, 85, 128, 83, 72, 65, 82, 213, 83, 72, 65, 82, 80, 128, 83, 72,
- 65, 82, 208, 83, 72, 65, 82, 65, 128, 83, 72, 65, 82, 50, 128, 83, 72,
- 65, 82, 178, 83, 72, 65, 80, 73, 78, 71, 128, 83, 72, 65, 80, 69, 83,
- 128, 83, 72, 65, 80, 197, 83, 72, 65, 80, 128, 83, 72, 65, 78, 71, 128,
- 83, 72, 65, 78, 128, 83, 72, 65, 206, 83, 72, 65, 77, 82, 79, 67, 75,
- 128, 83, 72, 65, 76, 83, 72, 69, 76, 69, 84, 128, 83, 72, 65, 75, 84, 73,
+ 88, 128, 83, 83, 85, 85, 128, 83, 83, 85, 84, 128, 83, 83, 85, 80, 128,
+ 83, 83, 79, 88, 128, 83, 83, 79, 84, 128, 83, 83, 79, 80, 128, 83, 83,
+ 79, 79, 128, 83, 83, 79, 128, 83, 83, 73, 88, 128, 83, 83, 73, 84, 128,
+ 83, 83, 73, 80, 128, 83, 83, 73, 73, 128, 83, 83, 73, 69, 88, 128, 83,
+ 83, 73, 69, 80, 128, 83, 83, 73, 69, 128, 83, 83, 73, 128, 83, 83, 72,
+ 69, 128, 83, 83, 69, 88, 128, 83, 83, 69, 80, 128, 83, 83, 69, 69, 128,
+ 83, 83, 65, 88, 128, 83, 83, 65, 85, 128, 83, 83, 65, 84, 128, 83, 83,
+ 65, 80, 128, 83, 83, 65, 78, 71, 89, 69, 79, 82, 73, 78, 72, 73, 69, 85,
+ 72, 128, 83, 83, 65, 78, 71, 84, 73, 75, 69, 85, 84, 45, 80, 73, 69, 85,
+ 80, 128, 83, 83, 65, 78, 71, 84, 73, 75, 69, 85, 84, 128, 83, 83, 65, 78,
+ 71, 84, 72, 73, 69, 85, 84, 72, 128, 83, 83, 65, 78, 71, 83, 73, 79, 83,
+ 45, 84, 73, 75, 69, 85, 84, 128, 83, 83, 65, 78, 71, 83, 73, 79, 83, 45,
+ 80, 73, 69, 85, 80, 128, 83, 83, 65, 78, 71, 83, 73, 79, 83, 45, 75, 73,
+ 89, 69, 79, 75, 128, 83, 83, 65, 78, 71, 83, 73, 79, 83, 128, 83, 83, 65,
+ 78, 71, 82, 73, 69, 85, 76, 45, 75, 72, 73, 69, 85, 75, 72, 128, 83, 83,
+ 65, 78, 71, 82, 73, 69, 85, 76, 128, 83, 83, 65, 78, 71, 80, 73, 69, 85,
+ 80, 128, 83, 83, 65, 78, 71, 78, 73, 69, 85, 78, 128, 83, 83, 65, 78, 71,
+ 77, 73, 69, 85, 77, 128, 83, 83, 65, 78, 71, 75, 73, 89, 69, 79, 75, 128,
+ 83, 83, 65, 78, 71, 73, 69, 85, 78, 71, 128, 83, 83, 65, 78, 71, 72, 73,
+ 69, 85, 72, 128, 83, 83, 65, 78, 71, 67, 73, 69, 85, 67, 45, 72, 73, 69,
+ 85, 72, 128, 83, 83, 65, 78, 71, 67, 73, 69, 85, 67, 128, 83, 83, 65, 78,
+ 71, 65, 82, 65, 69, 65, 128, 83, 83, 65, 73, 128, 83, 83, 65, 65, 128,
+ 83, 83, 65, 128, 83, 82, 128, 83, 81, 85, 73, 83, 200, 83, 81, 85, 73,
+ 82, 82, 69, 204, 83, 81, 85, 73, 71, 71, 76, 197, 83, 81, 85, 65, 212,
+ 83, 81, 85, 65, 82, 69, 83, 128, 83, 81, 85, 65, 82, 69, 68, 128, 83, 81,
+ 85, 65, 82, 69, 128, 83, 80, 87, 65, 128, 83, 80, 85, 78, 71, 211, 83,
+ 80, 82, 79, 85, 84, 128, 83, 80, 82, 73, 78, 71, 83, 128, 83, 80, 82, 73,
+ 78, 71, 128, 83, 80, 82, 69, 67, 72, 71, 69, 83, 65, 78, 199, 83, 80, 79,
+ 85, 84, 73, 78, 199, 83, 80, 79, 84, 128, 83, 80, 79, 79, 78, 128, 83,
+ 80, 76, 73, 84, 84, 73, 78, 199, 83, 80, 76, 65, 83, 72, 73, 78, 199, 83,
+ 80, 73, 82, 73, 84, 85, 211, 83, 80, 73, 82, 73, 84, 128, 83, 80, 73, 82,
+ 73, 212, 83, 80, 73, 82, 65, 78, 84, 128, 83, 80, 73, 82, 65, 76, 128,
+ 83, 80, 73, 82, 65, 204, 83, 80, 73, 68, 69, 82, 217, 83, 80, 73, 67, 69,
+ 128, 83, 80, 72, 69, 82, 73, 67, 65, 204, 83, 80, 69, 83, 77, 73, 76,
+ 207, 83, 80, 69, 69, 68, 66, 79, 65, 84, 128, 83, 80, 69, 69, 67, 72,
+ 128, 83, 80, 69, 69, 67, 200, 83, 80, 69, 67, 73, 65, 76, 128, 83, 80,
+ 69, 65, 82, 128, 83, 80, 69, 65, 75, 69, 82, 128, 83, 80, 69, 65, 75, 69,
+ 210, 83, 80, 69, 65, 75, 45, 78, 79, 45, 69, 86, 73, 204, 83, 80, 65, 84,
+ 72, 73, 128, 83, 80, 65, 82, 75, 76, 73, 78, 199, 83, 80, 65, 82, 75, 76,
+ 69, 83, 128, 83, 80, 65, 82, 75, 76, 69, 82, 128, 83, 80, 65, 82, 75, 76,
+ 69, 128, 83, 80, 65, 71, 72, 69, 84, 84, 73, 128, 83, 80, 65, 68, 69, 83,
+ 128, 83, 80, 65, 68, 197, 83, 80, 65, 67, 73, 78, 199, 83, 80, 65, 67,
+ 197, 83, 80, 128, 83, 79, 89, 128, 83, 79, 87, 73, 76, 207, 83, 79, 87,
+ 128, 83, 79, 85, 84, 72, 69, 82, 206, 83, 79, 85, 84, 72, 45, 83, 76, 65,
+ 86, 69, 217, 83, 79, 85, 84, 200, 83, 79, 85, 82, 67, 69, 128, 83, 79,
+ 85, 78, 68, 128, 83, 79, 85, 78, 196, 83, 79, 85, 78, 65, 80, 128, 83,
+ 79, 85, 128, 83, 79, 83, 128, 83, 79, 81, 128, 83, 79, 79, 206, 83, 79,
+ 78, 74, 65, 77, 128, 83, 79, 78, 71, 128, 83, 79, 78, 128, 83, 79, 77,
+ 128, 83, 79, 76, 73, 68, 85, 83, 128, 83, 79, 76, 73, 68, 85, 211, 83,
+ 79, 71, 68, 73, 65, 206, 83, 79, 70, 84, 87, 65, 82, 69, 45, 70, 85, 78,
+ 67, 84, 73, 79, 206, 83, 79, 70, 84, 78, 69, 83, 83, 128, 83, 79, 70,
+ 212, 83, 79, 198, 83, 79, 67, 73, 69, 84, 89, 128, 83, 79, 67, 67, 69,
+ 210, 83, 79, 65, 80, 128, 83, 79, 65, 128, 83, 207, 83, 78, 79, 87, 77,
+ 65, 78, 128, 83, 78, 79, 87, 77, 65, 206, 83, 78, 79, 87, 70, 76, 65, 75,
+ 69, 128, 83, 78, 79, 87, 66, 79, 65, 82, 68, 69, 82, 128, 83, 78, 79, 87,
+ 128, 83, 78, 79, 85, 84, 128, 83, 78, 79, 85, 212, 83, 78, 65, 208, 83,
+ 78, 65, 75, 69, 128, 83, 78, 65, 75, 197, 83, 78, 65, 73, 76, 128, 83,
+ 78, 193, 83, 77, 79, 75, 73, 78, 199, 83, 77, 73, 82, 75, 73, 78, 199,
+ 83, 77, 73, 76, 73, 78, 199, 83, 77, 73, 76, 69, 128, 83, 77, 69, 65, 82,
+ 128, 83, 77, 65, 83, 200, 83, 77, 65, 76, 76, 69, 210, 83, 77, 65, 76,
+ 76, 128, 83, 76, 85, 82, 128, 83, 76, 79, 87, 76, 89, 128, 83, 76, 79,
+ 215, 83, 76, 79, 86, 79, 128, 83, 76, 79, 212, 83, 76, 79, 80, 73, 78,
+ 199, 83, 76, 79, 80, 69, 128, 83, 76, 73, 78, 71, 128, 83, 76, 73, 68,
+ 73, 78, 71, 128, 83, 76, 73, 67, 69, 128, 83, 76, 73, 67, 197, 83, 76,
+ 69, 69, 80, 217, 83, 76, 69, 69, 80, 73, 78, 199, 83, 76, 65, 86, 79, 78,
+ 73, 195, 83, 76, 65, 86, 69, 128, 83, 76, 65, 83, 72, 128, 83, 76, 65,
+ 83, 200, 83, 76, 65, 78, 84, 69, 196, 83, 75, 87, 65, 128, 83, 75, 87,
+ 128, 83, 75, 85, 76, 76, 128, 83, 75, 85, 76, 204, 83, 75, 76, 73, 82,
+ 79, 206, 83, 75, 73, 78, 128, 83, 75, 73, 69, 82, 128, 83, 75, 201, 83,
+ 75, 69, 87, 69, 196, 83, 75, 65, 84, 69, 128, 83, 75, 128, 83, 74, 69,
+ 128, 83, 73, 88, 84, 89, 45, 70, 79, 85, 82, 84, 200, 83, 73, 88, 84, 89,
+ 128, 83, 73, 88, 84, 217, 83, 73, 88, 84, 72, 83, 128, 83, 73, 88, 84,
+ 72, 211, 83, 73, 88, 84, 72, 128, 83, 73, 88, 84, 69, 69, 78, 84, 72, 83,
+ 128, 83, 73, 88, 84, 69, 69, 78, 84, 72, 128, 83, 73, 88, 84, 69, 69, 78,
+ 84, 200, 83, 73, 88, 84, 69, 69, 78, 128, 83, 73, 88, 84, 69, 69, 206,
+ 83, 73, 88, 45, 84, 72, 73, 82, 84, 89, 128, 83, 73, 88, 45, 83, 84, 82,
+ 73, 78, 199, 83, 73, 88, 45, 80, 69, 82, 45, 69, 205, 83, 73, 88, 45, 76,
+ 73, 78, 197, 83, 73, 216, 83, 73, 84, 69, 128, 83, 73, 83, 65, 128, 83,
+ 73, 82, 73, 78, 71, 85, 128, 83, 73, 79, 83, 45, 84, 72, 73, 69, 85, 84,
+ 72, 128, 83, 73, 79, 83, 45, 83, 83, 65, 78, 71, 83, 73, 79, 83, 128, 83,
+ 73, 79, 83, 45, 82, 73, 69, 85, 76, 128, 83, 73, 79, 83, 45, 80, 73, 69,
+ 85, 80, 45, 75, 73, 89, 69, 79, 75, 128, 83, 73, 79, 83, 45, 80, 72, 73,
+ 69, 85, 80, 72, 128, 83, 73, 79, 83, 45, 80, 65, 78, 83, 73, 79, 83, 128,
+ 83, 73, 79, 83, 45, 78, 73, 69, 85, 78, 128, 83, 73, 79, 83, 45, 77, 73,
+ 69, 85, 77, 128, 83, 73, 79, 83, 45, 75, 72, 73, 69, 85, 75, 72, 128, 83,
+ 73, 79, 83, 45, 75, 65, 80, 89, 69, 79, 85, 78, 80, 73, 69, 85, 80, 128,
+ 83, 73, 79, 83, 45, 73, 69, 85, 78, 71, 128, 83, 73, 79, 83, 45, 72, 73,
+ 69, 85, 72, 128, 83, 73, 79, 83, 45, 67, 73, 69, 85, 67, 128, 83, 73, 79,
+ 83, 45, 67, 72, 73, 69, 85, 67, 72, 128, 83, 73, 79, 211, 83, 73, 78, 75,
+ 73, 78, 71, 128, 83, 73, 78, 71, 76, 69, 45, 76, 73, 78, 197, 83, 73, 78,
+ 71, 76, 69, 128, 83, 73, 78, 71, 76, 197, 83, 73, 78, 71, 65, 65, 84,
+ 128, 83, 73, 78, 197, 83, 73, 78, 68, 72, 201, 83, 73, 206, 83, 73, 77,
+ 80, 76, 73, 70, 73, 69, 196, 83, 73, 77, 73, 76, 65, 82, 128, 83, 73, 77,
+ 73, 76, 65, 210, 83, 73, 77, 65, 78, 83, 73, 211, 83, 73, 77, 65, 76, 85,
+ 78, 71, 85, 206, 83, 73, 77, 65, 128, 83, 73, 76, 86, 69, 82, 128, 83,
+ 73, 76, 75, 128, 83, 73, 76, 73, 81, 85, 193, 83, 73, 76, 72, 79, 85, 69,
+ 84, 84, 69, 128, 83, 73, 76, 72, 79, 85, 69, 84, 84, 197, 83, 73, 76, 65,
+ 51, 128, 83, 73, 75, 73, 128, 83, 73, 75, 50, 128, 83, 73, 75, 178, 83,
+ 73, 71, 78, 83, 128, 83, 73, 71, 77, 65, 128, 83, 73, 71, 77, 193, 83,
+ 73, 71, 69, 204, 83, 73, 71, 52, 128, 83, 73, 71, 180, 83, 73, 71, 128,
+ 83, 73, 69, 69, 128, 83, 73, 68, 69, 87, 65, 89, 211, 83, 73, 67, 75, 78,
+ 69, 83, 83, 128, 83, 73, 67, 75, 76, 69, 128, 83, 73, 66, 197, 83, 201,
+ 83, 72, 89, 88, 128, 83, 72, 89, 84, 128, 83, 72, 89, 82, 88, 128, 83,
+ 72, 89, 82, 128, 83, 72, 89, 80, 128, 83, 72, 89, 69, 128, 83, 72, 89,
+ 65, 128, 83, 72, 89, 128, 83, 72, 87, 79, 89, 128, 83, 72, 87, 79, 79,
+ 128, 83, 72, 87, 79, 128, 83, 72, 87, 73, 73, 128, 83, 72, 87, 73, 128,
+ 83, 72, 87, 69, 128, 83, 72, 87, 65, 65, 128, 83, 72, 87, 65, 128, 83,
+ 72, 85, 88, 128, 83, 72, 85, 85, 128, 83, 72, 85, 84, 128, 83, 72, 85,
+ 82, 88, 128, 83, 72, 85, 82, 128, 83, 72, 85, 80, 128, 83, 72, 85, 79,
+ 88, 128, 83, 72, 85, 79, 80, 128, 83, 72, 85, 79, 128, 83, 72, 85, 77,
+ 128, 83, 72, 85, 70, 70, 76, 197, 83, 72, 85, 69, 81, 128, 83, 72, 85,
+ 69, 78, 83, 72, 85, 69, 84, 128, 83, 72, 85, 66, 85, 82, 128, 83, 72, 85,
+ 50, 128, 83, 72, 85, 178, 83, 72, 85, 128, 83, 72, 213, 83, 72, 84, 65,
+ 80, 73, 67, 128, 83, 72, 84, 65, 128, 83, 72, 82, 73, 78, 69, 128, 83,
+ 72, 82, 73, 77, 80, 128, 83, 72, 82, 73, 73, 128, 83, 72, 79, 89, 128,
+ 83, 72, 79, 88, 128, 83, 72, 79, 87, 69, 82, 128, 83, 72, 79, 85, 76, 68,
+ 69, 82, 69, 196, 83, 72, 79, 84, 128, 83, 72, 79, 82, 84, 83, 128, 83,
+ 72, 79, 82, 84, 211, 83, 72, 79, 82, 84, 69, 78, 69, 82, 128, 83, 72, 79,
+ 82, 84, 67, 65, 75, 69, 128, 83, 72, 79, 82, 84, 45, 84, 87, 73, 71, 45,
+ 89, 82, 128, 83, 72, 79, 82, 84, 45, 84, 87, 73, 71, 45, 84, 89, 210, 83,
+ 72, 79, 82, 84, 45, 84, 87, 73, 71, 45, 83, 79, 204, 83, 72, 79, 82, 84,
+ 45, 84, 87, 73, 71, 45, 79, 83, 211, 83, 72, 79, 82, 84, 45, 84, 87, 73,
+ 71, 45, 78, 65, 85, 196, 83, 72, 79, 82, 84, 45, 84, 87, 73, 71, 45, 77,
+ 65, 68, 210, 83, 72, 79, 82, 84, 45, 84, 87, 73, 71, 45, 72, 65, 71, 65,
+ 76, 204, 83, 72, 79, 82, 84, 45, 84, 87, 73, 71, 45, 66, 74, 65, 82, 75,
+ 65, 206, 83, 72, 79, 82, 84, 45, 84, 87, 73, 71, 45, 65, 210, 83, 72, 79,
+ 82, 84, 128, 83, 72, 79, 82, 212, 83, 72, 79, 81, 128, 83, 72, 79, 209,
+ 83, 72, 79, 80, 128, 83, 72, 79, 79, 84, 73, 78, 199, 83, 72, 79, 79, 84,
+ 128, 83, 72, 79, 79, 128, 83, 72, 79, 71, 201, 83, 72, 79, 199, 83, 72,
+ 79, 69, 128, 83, 72, 79, 197, 83, 72, 79, 65, 128, 83, 72, 79, 128, 83,
+ 72, 73, 89, 89, 65, 65, 76, 65, 65, 128, 83, 72, 73, 84, 65, 128, 83, 72,
+ 73, 84, 193, 83, 72, 73, 82, 212, 83, 72, 73, 82, 65, 69, 128, 83, 72,
+ 73, 82, 128, 83, 72, 73, 210, 83, 72, 73, 81, 128, 83, 72, 73, 80, 128,
+ 83, 72, 73, 78, 84, 207, 83, 72, 73, 78, 73, 71, 128, 83, 72, 73, 78, 68,
+ 193, 83, 72, 73, 78, 128, 83, 72, 73, 206, 83, 72, 73, 77, 65, 128, 83,
+ 72, 73, 77, 193, 83, 72, 73, 77, 128, 83, 72, 73, 205, 83, 72, 73, 73,
+ 78, 128, 83, 72, 73, 73, 128, 83, 72, 73, 70, 212, 83, 72, 73, 69, 76,
+ 68, 128, 83, 72, 73, 68, 128, 83, 72, 73, 196, 83, 72, 72, 65, 128, 83,
+ 72, 72, 193, 83, 72, 69, 88, 128, 83, 72, 69, 86, 65, 128, 83, 72, 69,
+ 85, 88, 128, 83, 72, 69, 85, 79, 81, 128, 83, 72, 69, 85, 65, 69, 81, 84,
+ 85, 128, 83, 72, 69, 85, 65, 69, 81, 128, 83, 72, 69, 85, 65, 69, 128,
+ 83, 72, 69, 84, 128, 83, 72, 69, 212, 83, 72, 69, 83, 72, 76, 65, 77,
+ 128, 83, 72, 69, 83, 72, 73, 71, 128, 83, 72, 69, 83, 72, 73, 199, 83,
+ 72, 69, 83, 72, 50, 128, 83, 72, 69, 83, 72, 128, 83, 72, 69, 81, 69,
+ 204, 83, 72, 69, 80, 128, 83, 72, 69, 78, 128, 83, 72, 69, 76, 76, 128,
+ 83, 72, 69, 76, 204, 83, 72, 69, 76, 70, 128, 83, 72, 69, 73, 128, 83,
+ 72, 69, 71, 57, 128, 83, 72, 69, 69, 80, 128, 83, 72, 69, 69, 78, 85,
+ 128, 83, 72, 69, 69, 78, 128, 83, 72, 69, 69, 206, 83, 72, 69, 69, 128,
+ 83, 72, 69, 45, 71, 79, 65, 84, 128, 83, 72, 197, 83, 72, 67, 72, 65,
+ 128, 83, 72, 65, 89, 128, 83, 72, 65, 88, 128, 83, 72, 65, 86, 73, 89,
+ 65, 78, 73, 128, 83, 72, 65, 86, 73, 65, 206, 83, 72, 65, 86, 69, 196,
+ 83, 72, 65, 85, 128, 83, 72, 65, 84, 128, 83, 72, 65, 82, 85, 128, 83,
+ 72, 65, 82, 213, 83, 72, 65, 82, 80, 128, 83, 72, 65, 82, 208, 83, 72,
+ 65, 82, 65, 128, 83, 72, 65, 82, 50, 128, 83, 72, 65, 82, 178, 83, 72,
+ 65, 80, 73, 78, 71, 128, 83, 72, 65, 80, 69, 83, 128, 83, 72, 65, 80,
+ 197, 83, 72, 65, 80, 128, 83, 72, 65, 78, 71, 128, 83, 72, 65, 78, 128,
+ 83, 72, 65, 206, 83, 72, 65, 77, 82, 79, 67, 75, 128, 83, 72, 65, 76, 83,
+ 72, 69, 76, 69, 84, 128, 83, 72, 65, 75, 84, 73, 128, 83, 72, 65, 73,
128, 83, 72, 65, 68, 79, 87, 69, 196, 83, 72, 65, 68, 69, 128, 83, 72,
65, 68, 68, 65, 128, 83, 72, 65, 68, 68, 193, 83, 72, 65, 68, 128, 83,
72, 65, 196, 83, 72, 65, 66, 54, 128, 83, 72, 65, 65, 128, 83, 72, 65,
@@ -1156,125 +1161,127 @@ static unsigned char lexicon[] = {
82, 89, 65, 128, 82, 87, 79, 79, 128, 82, 87, 79, 128, 82, 87, 73, 73,
128, 82, 87, 73, 128, 82, 87, 69, 69, 128, 82, 87, 69, 128, 82, 87, 65,
72, 65, 128, 82, 87, 65, 65, 128, 82, 87, 65, 128, 82, 85, 88, 128, 82,
- 85, 85, 66, 85, 82, 85, 128, 82, 85, 84, 128, 82, 85, 83, 73, 128, 82,
- 85, 82, 88, 128, 82, 85, 82, 128, 82, 85, 80, 73, 73, 128, 82, 85, 80,
- 69, 197, 82, 85, 80, 128, 82, 85, 79, 88, 128, 82, 85, 79, 80, 128, 82,
- 85, 79, 128, 82, 85, 78, 79, 85, 84, 128, 82, 85, 78, 78, 73, 78, 199,
- 82, 85, 78, 78, 69, 82, 128, 82, 85, 78, 128, 82, 85, 77, 201, 82, 85,
- 77, 65, 201, 82, 85, 77, 128, 82, 85, 205, 82, 85, 76, 69, 82, 128, 82,
- 85, 76, 69, 45, 68, 69, 76, 65, 89, 69, 68, 128, 82, 85, 76, 69, 128, 82,
- 85, 75, 75, 65, 75, 72, 65, 128, 82, 85, 73, 83, 128, 82, 85, 71, 66,
- 217, 82, 85, 194, 82, 85, 65, 128, 82, 84, 72, 65, 78, 199, 82, 84, 65,
- 71, 83, 128, 82, 84, 65, 71, 211, 82, 82, 89, 88, 128, 82, 82, 89, 84,
- 128, 82, 82, 89, 82, 88, 128, 82, 82, 89, 82, 128, 82, 82, 89, 80, 128,
- 82, 82, 85, 88, 128, 82, 82, 85, 84, 128, 82, 82, 85, 82, 88, 128, 82,
- 82, 85, 82, 128, 82, 82, 85, 80, 128, 82, 82, 85, 79, 88, 128, 82, 82,
- 85, 79, 128, 82, 82, 85, 128, 82, 82, 79, 88, 128, 82, 82, 79, 84, 128,
- 82, 82, 79, 80, 128, 82, 82, 79, 128, 82, 82, 69, 88, 128, 82, 82, 69,
- 84, 128, 82, 82, 69, 80, 128, 82, 82, 69, 72, 128, 82, 82, 69, 200, 82,
- 82, 69, 128, 82, 82, 65, 88, 128, 82, 82, 65, 128, 82, 79, 87, 66, 79,
- 65, 84, 128, 82, 79, 85, 78, 68, 69, 196, 82, 79, 85, 78, 68, 45, 84, 73,
- 80, 80, 69, 196, 82, 79, 84, 85, 78, 68, 65, 128, 82, 79, 84, 65, 84, 69,
- 196, 82, 79, 83, 72, 128, 82, 79, 83, 69, 84, 84, 69, 128, 82, 79, 83,
- 69, 128, 82, 79, 79, 84, 128, 82, 79, 79, 83, 84, 69, 82, 128, 82, 79,
- 79, 75, 128, 82, 79, 79, 70, 128, 82, 79, 79, 128, 82, 79, 77, 65, 206,
- 82, 79, 77, 128, 82, 79, 76, 76, 69, 210, 82, 79, 196, 82, 79, 67, 75,
- 69, 84, 128, 82, 79, 67, 203, 82, 79, 67, 128, 82, 79, 66, 65, 84, 128,
- 82, 79, 65, 83, 84, 69, 196, 82, 79, 65, 82, 128, 82, 79, 65, 128, 82,
- 78, 89, 73, 78, 199, 82, 78, 79, 79, 78, 128, 82, 78, 79, 79, 206, 82,
- 78, 65, 205, 82, 74, 69, 211, 82, 74, 69, 128, 82, 74, 197, 82, 73, 86,
- 69, 82, 128, 82, 73, 84, 85, 65, 76, 128, 82, 73, 84, 84, 79, 82, 85,
- 128, 82, 73, 84, 83, 73, 128, 82, 73, 83, 73, 78, 199, 82, 73, 83, 72,
- 128, 82, 73, 82, 65, 128, 82, 73, 80, 128, 82, 73, 78, 71, 211, 82, 73,
- 78, 70, 79, 82, 90, 65, 78, 68, 79, 128, 82, 73, 206, 82, 73, 77, 71, 66,
- 65, 128, 82, 73, 75, 82, 73, 75, 128, 82, 73, 73, 128, 82, 73, 71, 86,
- 69, 68, 73, 195, 82, 73, 71, 72, 84, 87, 65, 82, 68, 83, 128, 82, 73, 71,
- 72, 84, 72, 65, 78, 196, 82, 73, 71, 72, 84, 45, 84, 79, 45, 76, 69, 70,
- 212, 82, 73, 71, 72, 84, 45, 83, 73, 68, 197, 82, 73, 71, 72, 84, 45, 83,
- 72, 65, 68, 79, 87, 69, 196, 82, 73, 71, 72, 84, 45, 83, 72, 65, 68, 69,
- 196, 82, 73, 71, 72, 84, 45, 80, 79, 73, 78, 84, 73, 78, 199, 82, 73, 71,
- 72, 84, 45, 72, 65, 78, 68, 69, 196, 82, 73, 71, 72, 84, 45, 72, 65, 78,
- 196, 82, 73, 71, 72, 84, 45, 70, 65, 67, 73, 78, 199, 82, 73, 71, 72, 84,
- 128, 82, 73, 69, 85, 76, 45, 89, 69, 83, 73, 69, 85, 78, 71, 128, 82, 73,
- 69, 85, 76, 45, 89, 69, 79, 82, 73, 78, 72, 73, 69, 85, 72, 45, 72, 73,
- 69, 85, 72, 128, 82, 73, 69, 85, 76, 45, 89, 69, 79, 82, 73, 78, 72, 73,
- 69, 85, 72, 128, 82, 73, 69, 85, 76, 45, 84, 73, 75, 69, 85, 84, 45, 72,
- 73, 69, 85, 72, 128, 82, 73, 69, 85, 76, 45, 84, 73, 75, 69, 85, 84, 128,
- 82, 73, 69, 85, 76, 45, 84, 72, 73, 69, 85, 84, 72, 128, 82, 73, 69, 85,
- 76, 45, 83, 83, 65, 78, 71, 84, 73, 75, 69, 85, 84, 128, 82, 73, 69, 85,
- 76, 45, 83, 83, 65, 78, 71, 83, 73, 79, 83, 128, 82, 73, 69, 85, 76, 45,
- 83, 83, 65, 78, 71, 80, 73, 69, 85, 80, 128, 82, 73, 69, 85, 76, 45, 83,
- 83, 65, 78, 71, 75, 73, 89, 69, 79, 75, 128, 82, 73, 69, 85, 76, 45, 83,
- 73, 79, 83, 128, 82, 73, 69, 85, 76, 45, 80, 73, 69, 85, 80, 45, 84, 73,
- 75, 69, 85, 84, 128, 82, 73, 69, 85, 76, 45, 80, 73, 69, 85, 80, 45, 83,
- 73, 79, 83, 128, 82, 73, 69, 85, 76, 45, 80, 73, 69, 85, 80, 45, 80, 72,
- 73, 69, 85, 80, 72, 128, 82, 73, 69, 85, 76, 45, 80, 73, 69, 85, 80, 45,
- 72, 73, 69, 85, 72, 128, 82, 73, 69, 85, 76, 45, 80, 73, 69, 85, 80, 128,
- 82, 73, 69, 85, 76, 45, 80, 72, 73, 69, 85, 80, 72, 128, 82, 73, 69, 85,
- 76, 45, 80, 65, 78, 83, 73, 79, 83, 128, 82, 73, 69, 85, 76, 45, 78, 73,
- 69, 85, 78, 128, 82, 73, 69, 85, 76, 45, 77, 73, 69, 85, 77, 45, 83, 73,
- 79, 83, 128, 82, 73, 69, 85, 76, 45, 77, 73, 69, 85, 77, 45, 75, 73, 89,
- 69, 79, 75, 128, 82, 73, 69, 85, 76, 45, 77, 73, 69, 85, 77, 45, 72, 73,
- 69, 85, 72, 128, 82, 73, 69, 85, 76, 45, 77, 73, 69, 85, 77, 128, 82, 73,
- 69, 85, 76, 45, 75, 73, 89, 69, 79, 75, 45, 83, 73, 79, 83, 128, 82, 73,
- 69, 85, 76, 45, 75, 73, 89, 69, 79, 75, 45, 72, 73, 69, 85, 72, 128, 82,
- 73, 69, 85, 76, 45, 75, 73, 89, 69, 79, 75, 128, 82, 73, 69, 85, 76, 45,
- 75, 65, 80, 89, 69, 79, 85, 78, 80, 73, 69, 85, 80, 128, 82, 73, 69, 85,
- 76, 45, 72, 73, 69, 85, 72, 128, 82, 73, 69, 85, 76, 45, 67, 73, 69, 85,
- 67, 128, 82, 73, 69, 85, 204, 82, 73, 69, 76, 128, 82, 73, 69, 69, 128,
- 82, 73, 67, 69, 77, 128, 82, 73, 67, 69, 128, 82, 73, 67, 197, 82, 73,
- 66, 66, 79, 78, 128, 82, 73, 65, 204, 82, 72, 79, 84, 73, 195, 82, 72,
- 79, 128, 82, 72, 207, 82, 72, 65, 128, 82, 71, 89, 73, 78, 71, 83, 128,
- 82, 71, 89, 65, 78, 128, 82, 71, 89, 193, 82, 69, 86, 79, 76, 86, 73, 78,
- 199, 82, 69, 86, 79, 76, 85, 84, 73, 79, 78, 128, 82, 69, 86, 77, 65,
- 128, 82, 69, 86, 73, 65, 128, 82, 69, 86, 69, 82, 83, 69, 68, 128, 82,
- 69, 86, 69, 82, 83, 69, 196, 82, 69, 86, 69, 82, 83, 197, 82, 69, 85, 88,
- 128, 82, 69, 84, 85, 82, 78, 128, 82, 69, 84, 85, 82, 206, 82, 69, 84,
- 82, 79, 70, 76, 69, 216, 82, 69, 84, 82, 69, 65, 84, 128, 82, 69, 84, 79,
- 82, 84, 128, 82, 69, 83, 85, 80, 73, 78, 85, 83, 128, 82, 69, 83, 84, 82,
- 79, 79, 77, 128, 82, 69, 83, 84, 82, 73, 67, 84, 69, 196, 82, 69, 83, 84,
- 128, 82, 69, 83, 80, 79, 78, 83, 69, 128, 82, 69, 83, 79, 85, 82, 67, 69,
- 128, 82, 69, 83, 79, 76, 85, 84, 73, 79, 78, 128, 82, 69, 83, 73, 83, 84,
- 65, 78, 67, 69, 128, 82, 69, 83, 73, 68, 69, 78, 67, 69, 128, 82, 69, 83,
- 200, 82, 69, 82, 69, 78, 71, 71, 65, 78, 128, 82, 69, 82, 69, 75, 65, 78,
- 128, 82, 69, 80, 82, 69, 83, 69, 78, 84, 128, 82, 69, 80, 76, 65, 67, 69,
- 77, 69, 78, 212, 82, 69, 80, 72, 128, 82, 69, 80, 69, 65, 84, 69, 196,
- 82, 69, 80, 69, 65, 84, 128, 82, 69, 80, 69, 65, 212, 82, 69, 80, 65,
- 128, 82, 69, 80, 193, 82, 69, 78, 84, 79, 71, 69, 78, 128, 82, 69, 78,
- 128, 82, 69, 206, 82, 69, 77, 85, 128, 82, 69, 77, 69, 68, 89, 128, 82,
- 69, 76, 73, 71, 73, 79, 78, 128, 82, 69, 76, 73, 69, 86, 69, 196, 82, 69,
- 76, 69, 65, 83, 69, 128, 82, 69, 76, 65, 84, 73, 79, 78, 65, 204, 82, 69,
- 76, 65, 84, 73, 79, 78, 128, 82, 69, 76, 65, 65, 128, 82, 69, 74, 65, 78,
- 199, 82, 69, 73, 196, 82, 69, 71, 85, 76, 85, 83, 45, 52, 128, 82, 69,
- 71, 85, 76, 85, 83, 45, 51, 128, 82, 69, 71, 85, 76, 85, 83, 45, 50, 128,
- 82, 69, 71, 85, 76, 85, 83, 128, 82, 69, 71, 85, 76, 85, 211, 82, 69, 71,
- 73, 83, 84, 69, 82, 69, 196, 82, 69, 71, 73, 79, 78, 65, 204, 82, 69, 71,
- 73, 65, 45, 50, 128, 82, 69, 71, 73, 65, 128, 82, 69, 70, 69, 82, 69, 78,
- 67, 197, 82, 69, 68, 85, 80, 76, 73, 67, 65, 84, 73, 79, 78, 128, 82, 69,
- 67, 89, 67, 76, 73, 78, 199, 82, 69, 67, 89, 67, 76, 69, 196, 82, 69, 67,
- 84, 73, 76, 73, 78, 69, 65, 210, 82, 69, 67, 84, 65, 78, 71, 85, 76, 65,
- 210, 82, 69, 67, 84, 65, 78, 71, 76, 69, 128, 82, 69, 67, 84, 65, 78, 71,
- 76, 197, 82, 69, 67, 82, 69, 65, 84, 73, 79, 78, 65, 204, 82, 69, 67, 79,
- 82, 68, 73, 78, 199, 82, 69, 67, 79, 82, 68, 69, 82, 128, 82, 69, 67, 79,
- 82, 196, 82, 69, 67, 69, 80, 84, 73, 86, 197, 82, 69, 67, 69, 73, 86, 69,
- 82, 128, 82, 69, 65, 76, 71, 65, 82, 45, 50, 128, 82, 69, 65, 76, 71, 65,
- 82, 128, 82, 69, 65, 72, 77, 85, 75, 128, 82, 69, 65, 67, 72, 128, 82,
- 68, 207, 82, 68, 69, 204, 82, 66, 65, 83, 193, 82, 65, 89, 83, 128, 82,
- 65, 89, 65, 78, 78, 65, 128, 82, 65, 84, 73, 79, 128, 82, 65, 84, 72, 65,
- 128, 82, 65, 84, 72, 193, 82, 65, 84, 65, 128, 82, 65, 84, 128, 82, 65,
- 83, 87, 65, 68, 73, 128, 82, 65, 83, 79, 85, 204, 82, 65, 83, 72, 65,
- 128, 82, 65, 81, 128, 82, 65, 80, 73, 83, 77, 65, 128, 82, 65, 78, 71,
- 197, 82, 65, 78, 65, 128, 82, 65, 78, 128, 82, 65, 77, 211, 82, 65, 77,
- 66, 65, 84, 128, 82, 65, 75, 72, 65, 78, 71, 128, 82, 65, 73, 83, 73, 78,
- 199, 82, 65, 73, 83, 69, 196, 82, 65, 73, 78, 66, 79, 87, 128, 82, 65,
- 73, 76, 87, 65, 89, 128, 82, 65, 73, 76, 87, 65, 217, 82, 65, 73, 76,
- 128, 82, 65, 73, 68, 207, 82, 65, 73, 68, 65, 128, 82, 65, 73, 128, 82,
- 65, 72, 77, 65, 84, 85, 76, 76, 65, 200, 82, 65, 70, 69, 128, 82, 65, 69,
- 77, 128, 82, 65, 68, 73, 79, 65, 67, 84, 73, 86, 197, 82, 65, 68, 73, 79,
- 128, 82, 65, 68, 73, 207, 82, 65, 68, 201, 82, 65, 68, 128, 82, 65, 196,
- 82, 65, 67, 81, 85, 69, 212, 82, 65, 67, 73, 78, 71, 128, 82, 65, 66, 66,
- 73, 84, 128, 82, 65, 66, 66, 73, 212, 82, 65, 66, 128, 82, 65, 65, 73,
- 128, 82, 65, 65, 128, 82, 65, 51, 128, 82, 65, 50, 128, 82, 48, 50, 57,
+ 85, 85, 66, 85, 82, 85, 128, 82, 85, 85, 128, 82, 85, 84, 128, 82, 85,
+ 83, 73, 128, 82, 85, 82, 88, 128, 82, 85, 82, 128, 82, 85, 80, 73, 73,
+ 128, 82, 85, 80, 69, 197, 82, 85, 80, 128, 82, 85, 79, 88, 128, 82, 85,
+ 79, 80, 128, 82, 85, 79, 128, 82, 85, 78, 79, 85, 84, 128, 82, 85, 78,
+ 78, 73, 78, 199, 82, 85, 78, 78, 69, 82, 128, 82, 85, 78, 128, 82, 85,
+ 77, 201, 82, 85, 77, 65, 201, 82, 85, 77, 128, 82, 85, 205, 82, 85, 76,
+ 69, 82, 128, 82, 85, 76, 69, 45, 68, 69, 76, 65, 89, 69, 68, 128, 82, 85,
+ 76, 69, 128, 82, 85, 75, 75, 65, 75, 72, 65, 128, 82, 85, 73, 83, 128,
+ 82, 85, 71, 66, 217, 82, 85, 194, 82, 85, 65, 128, 82, 84, 72, 65, 78,
+ 199, 82, 84, 65, 71, 83, 128, 82, 84, 65, 71, 211, 82, 82, 89, 88, 128,
+ 82, 82, 89, 84, 128, 82, 82, 89, 82, 88, 128, 82, 82, 89, 82, 128, 82,
+ 82, 89, 80, 128, 82, 82, 85, 88, 128, 82, 82, 85, 85, 128, 82, 82, 85,
+ 84, 128, 82, 82, 85, 82, 88, 128, 82, 82, 85, 82, 128, 82, 82, 85, 80,
+ 128, 82, 82, 85, 79, 88, 128, 82, 82, 85, 79, 128, 82, 82, 85, 128, 82,
+ 82, 79, 88, 128, 82, 82, 79, 84, 128, 82, 82, 79, 80, 128, 82, 82, 79,
+ 79, 128, 82, 82, 79, 128, 82, 82, 73, 73, 128, 82, 82, 73, 128, 82, 82,
+ 69, 88, 128, 82, 82, 69, 84, 128, 82, 82, 69, 80, 128, 82, 82, 69, 72,
+ 128, 82, 82, 69, 200, 82, 82, 69, 69, 128, 82, 82, 69, 128, 82, 82, 65,
+ 88, 128, 82, 82, 65, 85, 128, 82, 82, 65, 73, 128, 82, 82, 65, 65, 128,
+ 82, 82, 65, 128, 82, 79, 87, 66, 79, 65, 84, 128, 82, 79, 85, 78, 68, 69,
+ 196, 82, 79, 85, 78, 68, 45, 84, 73, 80, 80, 69, 196, 82, 79, 84, 85, 78,
+ 68, 65, 128, 82, 79, 84, 65, 84, 69, 196, 82, 79, 83, 72, 128, 82, 79,
+ 83, 69, 84, 84, 69, 128, 82, 79, 83, 69, 128, 82, 79, 79, 84, 128, 82,
+ 79, 79, 83, 84, 69, 82, 128, 82, 79, 79, 75, 128, 82, 79, 79, 70, 128,
+ 82, 79, 77, 65, 206, 82, 79, 77, 128, 82, 79, 76, 76, 69, 210, 82, 79,
+ 196, 82, 79, 67, 75, 69, 84, 128, 82, 79, 67, 203, 82, 79, 67, 128, 82,
+ 79, 66, 65, 84, 128, 82, 79, 65, 83, 84, 69, 196, 82, 79, 65, 82, 128,
+ 82, 79, 65, 128, 82, 78, 89, 73, 78, 199, 82, 78, 79, 79, 78, 128, 82,
+ 78, 79, 79, 206, 82, 78, 65, 205, 82, 74, 69, 211, 82, 74, 69, 128, 82,
+ 74, 197, 82, 73, 86, 69, 82, 128, 82, 73, 84, 85, 65, 76, 128, 82, 73,
+ 84, 84, 79, 82, 85, 128, 82, 73, 84, 83, 73, 128, 82, 73, 83, 73, 78,
+ 199, 82, 73, 83, 72, 128, 82, 73, 82, 65, 128, 82, 73, 80, 128, 82, 73,
+ 78, 71, 211, 82, 73, 78, 70, 79, 82, 90, 65, 78, 68, 79, 128, 82, 73,
+ 206, 82, 73, 77, 71, 66, 65, 128, 82, 73, 75, 82, 73, 75, 128, 82, 73,
+ 71, 86, 69, 68, 73, 195, 82, 73, 71, 72, 84, 87, 65, 82, 68, 83, 128, 82,
+ 73, 71, 72, 84, 72, 65, 78, 196, 82, 73, 71, 72, 84, 45, 84, 79, 45, 76,
+ 69, 70, 212, 82, 73, 71, 72, 84, 45, 83, 73, 68, 197, 82, 73, 71, 72, 84,
+ 45, 83, 72, 65, 68, 79, 87, 69, 196, 82, 73, 71, 72, 84, 45, 83, 72, 65,
+ 68, 69, 196, 82, 73, 71, 72, 84, 45, 80, 79, 73, 78, 84, 73, 78, 199, 82,
+ 73, 71, 72, 84, 45, 72, 65, 78, 68, 69, 196, 82, 73, 71, 72, 84, 45, 72,
+ 65, 78, 196, 82, 73, 71, 72, 84, 45, 70, 65, 67, 73, 78, 199, 82, 73, 71,
+ 72, 84, 128, 82, 73, 69, 85, 76, 45, 89, 69, 83, 73, 69, 85, 78, 71, 128,
+ 82, 73, 69, 85, 76, 45, 89, 69, 79, 82, 73, 78, 72, 73, 69, 85, 72, 45,
+ 72, 73, 69, 85, 72, 128, 82, 73, 69, 85, 76, 45, 89, 69, 79, 82, 73, 78,
+ 72, 73, 69, 85, 72, 128, 82, 73, 69, 85, 76, 45, 84, 73, 75, 69, 85, 84,
+ 45, 72, 73, 69, 85, 72, 128, 82, 73, 69, 85, 76, 45, 84, 73, 75, 69, 85,
+ 84, 128, 82, 73, 69, 85, 76, 45, 84, 72, 73, 69, 85, 84, 72, 128, 82, 73,
+ 69, 85, 76, 45, 83, 83, 65, 78, 71, 84, 73, 75, 69, 85, 84, 128, 82, 73,
+ 69, 85, 76, 45, 83, 83, 65, 78, 71, 83, 73, 79, 83, 128, 82, 73, 69, 85,
+ 76, 45, 83, 83, 65, 78, 71, 80, 73, 69, 85, 80, 128, 82, 73, 69, 85, 76,
+ 45, 83, 83, 65, 78, 71, 75, 73, 89, 69, 79, 75, 128, 82, 73, 69, 85, 76,
+ 45, 83, 73, 79, 83, 128, 82, 73, 69, 85, 76, 45, 80, 73, 69, 85, 80, 45,
+ 84, 73, 75, 69, 85, 84, 128, 82, 73, 69, 85, 76, 45, 80, 73, 69, 85, 80,
+ 45, 83, 73, 79, 83, 128, 82, 73, 69, 85, 76, 45, 80, 73, 69, 85, 80, 45,
+ 80, 72, 73, 69, 85, 80, 72, 128, 82, 73, 69, 85, 76, 45, 80, 73, 69, 85,
+ 80, 45, 72, 73, 69, 85, 72, 128, 82, 73, 69, 85, 76, 45, 80, 73, 69, 85,
+ 80, 128, 82, 73, 69, 85, 76, 45, 80, 72, 73, 69, 85, 80, 72, 128, 82, 73,
+ 69, 85, 76, 45, 80, 65, 78, 83, 73, 79, 83, 128, 82, 73, 69, 85, 76, 45,
+ 78, 73, 69, 85, 78, 128, 82, 73, 69, 85, 76, 45, 77, 73, 69, 85, 77, 45,
+ 83, 73, 79, 83, 128, 82, 73, 69, 85, 76, 45, 77, 73, 69, 85, 77, 45, 75,
+ 73, 89, 69, 79, 75, 128, 82, 73, 69, 85, 76, 45, 77, 73, 69, 85, 77, 45,
+ 72, 73, 69, 85, 72, 128, 82, 73, 69, 85, 76, 45, 77, 73, 69, 85, 77, 128,
+ 82, 73, 69, 85, 76, 45, 75, 73, 89, 69, 79, 75, 45, 83, 73, 79, 83, 128,
+ 82, 73, 69, 85, 76, 45, 75, 73, 89, 69, 79, 75, 45, 72, 73, 69, 85, 72,
+ 128, 82, 73, 69, 85, 76, 45, 75, 73, 89, 69, 79, 75, 128, 82, 73, 69, 85,
+ 76, 45, 75, 65, 80, 89, 69, 79, 85, 78, 80, 73, 69, 85, 80, 128, 82, 73,
+ 69, 85, 76, 45, 72, 73, 69, 85, 72, 128, 82, 73, 69, 85, 76, 45, 67, 73,
+ 69, 85, 67, 128, 82, 73, 69, 85, 204, 82, 73, 69, 76, 128, 82, 73, 69,
+ 69, 128, 82, 73, 67, 69, 77, 128, 82, 73, 67, 69, 128, 82, 73, 67, 197,
+ 82, 73, 66, 66, 79, 78, 128, 82, 73, 65, 204, 82, 72, 79, 84, 73, 195,
+ 82, 72, 79, 128, 82, 72, 207, 82, 72, 65, 128, 82, 71, 89, 73, 78, 71,
+ 83, 128, 82, 71, 89, 65, 78, 128, 82, 71, 89, 193, 82, 69, 86, 79, 76,
+ 86, 73, 78, 199, 82, 69, 86, 79, 76, 85, 84, 73, 79, 78, 128, 82, 69, 86,
+ 77, 65, 128, 82, 69, 86, 73, 65, 128, 82, 69, 86, 69, 82, 83, 69, 68,
+ 128, 82, 69, 86, 69, 82, 83, 69, 196, 82, 69, 86, 69, 82, 83, 197, 82,
+ 69, 85, 88, 128, 82, 69, 84, 85, 82, 78, 128, 82, 69, 84, 85, 82, 206,
+ 82, 69, 84, 82, 79, 70, 76, 69, 216, 82, 69, 84, 82, 69, 65, 84, 128, 82,
+ 69, 84, 79, 82, 84, 128, 82, 69, 83, 85, 80, 73, 78, 85, 83, 128, 82, 69,
+ 83, 84, 82, 79, 79, 77, 128, 82, 69, 83, 84, 82, 73, 67, 84, 69, 196, 82,
+ 69, 83, 84, 128, 82, 69, 83, 80, 79, 78, 83, 69, 128, 82, 69, 83, 79, 85,
+ 82, 67, 69, 128, 82, 69, 83, 79, 76, 85, 84, 73, 79, 78, 128, 82, 69, 83,
+ 73, 83, 84, 65, 78, 67, 69, 128, 82, 69, 83, 73, 68, 69, 78, 67, 69, 128,
+ 82, 69, 83, 200, 82, 69, 82, 69, 78, 71, 71, 65, 78, 128, 82, 69, 82, 69,
+ 75, 65, 78, 128, 82, 69, 80, 82, 69, 83, 69, 78, 84, 128, 82, 69, 80, 76,
+ 65, 67, 69, 77, 69, 78, 212, 82, 69, 80, 72, 128, 82, 69, 80, 69, 65, 84,
+ 69, 196, 82, 69, 80, 69, 65, 84, 128, 82, 69, 80, 69, 65, 212, 82, 69,
+ 80, 65, 128, 82, 69, 80, 193, 82, 69, 78, 84, 79, 71, 69, 78, 128, 82,
+ 69, 78, 128, 82, 69, 206, 82, 69, 77, 85, 128, 82, 69, 77, 69, 68, 89,
+ 128, 82, 69, 76, 73, 71, 73, 79, 78, 128, 82, 69, 76, 73, 69, 86, 69,
+ 196, 82, 69, 76, 69, 65, 83, 69, 128, 82, 69, 76, 65, 84, 73, 79, 78, 65,
+ 204, 82, 69, 76, 65, 84, 73, 79, 78, 128, 82, 69, 76, 65, 65, 128, 82,
+ 69, 74, 65, 78, 199, 82, 69, 73, 196, 82, 69, 71, 85, 76, 85, 83, 45, 52,
+ 128, 82, 69, 71, 85, 76, 85, 83, 45, 51, 128, 82, 69, 71, 85, 76, 85, 83,
+ 45, 50, 128, 82, 69, 71, 85, 76, 85, 83, 128, 82, 69, 71, 85, 76, 85,
+ 211, 82, 69, 71, 73, 83, 84, 69, 82, 69, 196, 82, 69, 71, 73, 79, 78, 65,
+ 204, 82, 69, 71, 73, 65, 45, 50, 128, 82, 69, 71, 73, 65, 128, 82, 69,
+ 70, 69, 82, 69, 78, 67, 197, 82, 69, 68, 85, 80, 76, 73, 67, 65, 84, 73,
+ 79, 78, 128, 82, 69, 67, 89, 67, 76, 73, 78, 199, 82, 69, 67, 89, 67, 76,
+ 69, 196, 82, 69, 67, 84, 73, 76, 73, 78, 69, 65, 210, 82, 69, 67, 84, 65,
+ 78, 71, 85, 76, 65, 210, 82, 69, 67, 84, 65, 78, 71, 76, 69, 128, 82, 69,
+ 67, 84, 65, 78, 71, 76, 197, 82, 69, 67, 82, 69, 65, 84, 73, 79, 78, 65,
+ 204, 82, 69, 67, 79, 82, 68, 73, 78, 199, 82, 69, 67, 79, 82, 68, 69, 82,
+ 128, 82, 69, 67, 79, 82, 196, 82, 69, 67, 69, 80, 84, 73, 86, 197, 82,
+ 69, 67, 69, 73, 86, 69, 82, 128, 82, 69, 65, 76, 71, 65, 82, 45, 50, 128,
+ 82, 69, 65, 76, 71, 65, 82, 128, 82, 69, 65, 72, 77, 85, 75, 128, 82, 69,
+ 65, 67, 72, 128, 82, 68, 207, 82, 68, 69, 204, 82, 66, 65, 83, 193, 82,
+ 65, 89, 83, 128, 82, 65, 89, 65, 78, 78, 65, 128, 82, 65, 84, 73, 79,
+ 128, 82, 65, 84, 72, 65, 128, 82, 65, 84, 72, 193, 82, 65, 84, 65, 128,
+ 82, 65, 84, 128, 82, 65, 83, 87, 65, 68, 73, 128, 82, 65, 83, 79, 85,
+ 204, 82, 65, 83, 72, 65, 128, 82, 65, 81, 128, 82, 65, 80, 73, 83, 77,
+ 65, 128, 82, 65, 78, 71, 197, 82, 65, 78, 65, 128, 82, 65, 78, 128, 82,
+ 65, 77, 211, 82, 65, 77, 66, 65, 84, 128, 82, 65, 75, 72, 65, 78, 71,
+ 128, 82, 65, 73, 83, 73, 78, 199, 82, 65, 73, 83, 69, 196, 82, 65, 73,
+ 78, 66, 79, 87, 128, 82, 65, 73, 76, 87, 65, 89, 128, 82, 65, 73, 76, 87,
+ 65, 217, 82, 65, 73, 76, 128, 82, 65, 73, 68, 207, 82, 65, 73, 68, 65,
+ 128, 82, 65, 72, 77, 65, 84, 85, 76, 76, 65, 200, 82, 65, 70, 69, 128,
+ 82, 65, 69, 77, 128, 82, 65, 68, 73, 79, 65, 67, 84, 73, 86, 197, 82, 65,
+ 68, 73, 79, 128, 82, 65, 68, 73, 207, 82, 65, 68, 201, 82, 65, 68, 128,
+ 82, 65, 196, 82, 65, 67, 81, 85, 69, 212, 82, 65, 67, 73, 78, 71, 128,
+ 82, 65, 66, 66, 73, 84, 128, 82, 65, 66, 66, 73, 212, 82, 65, 66, 128,
+ 82, 65, 65, 73, 128, 82, 65, 51, 128, 82, 65, 50, 128, 82, 48, 50, 57,
128, 82, 48, 50, 56, 128, 82, 48, 50, 55, 128, 82, 48, 50, 54, 128, 82,
48, 50, 53, 128, 82, 48, 50, 52, 128, 82, 48, 50, 51, 128, 82, 48, 50,
50, 128, 82, 48, 50, 49, 128, 82, 48, 50, 48, 128, 82, 48, 49, 57, 128,
@@ -1328,129 +1335,129 @@ static unsigned char lexicon[] = {
87, 79, 79, 128, 80, 87, 79, 128, 80, 87, 207, 80, 87, 73, 73, 128, 80,
87, 73, 128, 80, 87, 69, 69, 128, 80, 87, 69, 128, 80, 87, 65, 65, 128,
80, 87, 128, 80, 86, 128, 80, 85, 88, 128, 80, 85, 85, 84, 128, 80, 85,
- 84, 82, 69, 70, 65, 67, 84, 73, 79, 78, 128, 80, 85, 84, 128, 80, 85,
- 212, 80, 85, 83, 72, 80, 73, 78, 128, 80, 85, 83, 72, 80, 73, 75, 65,
- 128, 80, 85, 83, 72, 73, 78, 199, 80, 85, 82, 88, 128, 80, 85, 82, 83,
- 69, 128, 80, 85, 82, 80, 76, 197, 80, 85, 82, 73, 84, 89, 128, 80, 85,
- 82, 73, 70, 89, 128, 80, 85, 82, 128, 80, 85, 81, 128, 80, 85, 80, 128,
- 80, 85, 79, 88, 128, 80, 85, 79, 80, 128, 80, 85, 79, 128, 80, 85, 78,
- 71, 65, 65, 77, 128, 80, 85, 78, 71, 128, 80, 85, 78, 67, 84, 85, 65, 84,
- 73, 79, 78, 128, 80, 85, 78, 67, 84, 85, 65, 84, 73, 79, 206, 80, 85, 77,
- 80, 128, 80, 85, 77, 128, 80, 85, 69, 128, 80, 85, 66, 76, 73, 195, 80,
- 85, 65, 81, 128, 80, 85, 65, 69, 128, 80, 85, 50, 128, 80, 85, 128, 80,
- 84, 72, 65, 72, 193, 80, 84, 69, 128, 80, 83, 73, 76, 201, 80, 83, 73,
- 70, 73, 83, 84, 79, 83, 89, 78, 65, 71, 77, 65, 128, 80, 83, 73, 70, 73,
- 83, 84, 79, 80, 65, 82, 65, 75, 65, 76, 69, 83, 77, 65, 128, 80, 83, 73,
- 70, 73, 83, 84, 79, 206, 80, 83, 73, 70, 73, 83, 84, 79, 76, 89, 71, 73,
- 83, 77, 65, 128, 80, 83, 73, 128, 80, 83, 128, 80, 82, 79, 86, 69, 128,
- 80, 82, 79, 84, 79, 86, 65, 82, 89, 211, 80, 82, 79, 84, 79, 211, 80, 82,
- 79, 83, 71, 69, 71, 82, 65, 77, 77, 69, 78, 73, 128, 80, 82, 79, 80, 79,
- 82, 84, 73, 79, 78, 65, 204, 80, 82, 79, 80, 79, 82, 84, 73, 79, 78, 128,
- 80, 82, 79, 80, 69, 82, 84, 217, 80, 82, 79, 80, 69, 76, 76, 69, 210, 80,
- 82, 79, 79, 70, 128, 80, 82, 79, 76, 79, 78, 71, 69, 196, 80, 82, 79, 76,
- 65, 84, 73, 79, 78, 197, 80, 82, 79, 74, 69, 67, 84, 73, 86, 69, 128, 80,
- 82, 79, 74, 69, 67, 84, 73, 79, 78, 128, 80, 82, 79, 71, 82, 69, 83, 83,
- 128, 80, 82, 79, 70, 79, 85, 78, 68, 128, 80, 82, 79, 68, 85, 67, 84,
- 128, 80, 82, 79, 68, 85, 67, 212, 80, 82, 73, 86, 65, 84, 69, 128, 80,
- 82, 73, 83, 72, 84, 72, 65, 77, 65, 84, 82, 193, 80, 82, 73, 78, 84, 83,
- 128, 80, 82, 73, 78, 84, 128, 80, 82, 73, 78, 212, 80, 82, 73, 78, 67,
- 69, 83, 83, 128, 80, 82, 73, 77, 69, 128, 80, 82, 73, 77, 197, 80, 82,
- 69, 86, 73, 79, 85, 211, 80, 82, 69, 83, 69, 78, 84, 65, 84, 73, 79, 206,
- 80, 82, 69, 83, 67, 82, 73, 80, 84, 73, 79, 206, 80, 82, 69, 80, 79, 78,
- 68, 69, 82, 65, 78, 67, 69, 128, 80, 82, 69, 78, 75, 72, 65, 128, 80, 82,
- 69, 70, 65, 67, 197, 80, 82, 69, 67, 73, 80, 73, 84, 65, 84, 69, 128, 80,
- 82, 69, 67, 69, 68, 73, 78, 199, 80, 82, 69, 67, 69, 68, 69, 83, 128, 80,
- 82, 69, 67, 69, 68, 69, 211, 80, 82, 69, 67, 69, 68, 69, 196, 80, 82, 69,
- 67, 69, 68, 69, 128, 80, 82, 69, 67, 69, 68, 197, 80, 82, 65, 77, 45, 80,
- 73, 73, 128, 80, 82, 65, 77, 45, 80, 73, 201, 80, 82, 65, 77, 45, 77, 85,
- 79, 89, 128, 80, 82, 65, 77, 45, 77, 85, 79, 217, 80, 82, 65, 77, 45, 66,
- 85, 79, 78, 128, 80, 82, 65, 77, 45, 66, 85, 79, 206, 80, 82, 65, 77, 45,
- 66, 69, 73, 128, 80, 82, 65, 77, 45, 66, 69, 201, 80, 82, 65, 77, 128,
- 80, 82, 65, 205, 80, 82, 128, 80, 80, 86, 128, 80, 80, 77, 128, 80, 80,
- 65, 128, 80, 79, 89, 128, 80, 79, 88, 128, 80, 79, 87, 69, 82, 211, 80,
- 79, 87, 69, 82, 128, 80, 79, 87, 68, 69, 82, 69, 196, 80, 79, 87, 68, 69,
- 82, 128, 80, 79, 85, 78, 196, 80, 79, 85, 76, 84, 82, 217, 80, 79, 85,
- 67, 72, 128, 80, 79, 84, 65, 84, 79, 128, 80, 79, 84, 65, 66, 76, 197,
- 80, 79, 212, 80, 79, 83, 84, 80, 79, 83, 73, 84, 73, 79, 206, 80, 79, 83,
- 84, 66, 79, 88, 128, 80, 79, 83, 84, 65, 204, 80, 79, 83, 84, 128, 80,
- 79, 83, 212, 80, 79, 83, 83, 69, 83, 83, 73, 79, 78, 128, 80, 79, 82, 82,
- 69, 67, 84, 85, 83, 128, 80, 79, 82, 82, 69, 67, 84, 85, 211, 80, 79, 80,
- 80, 69, 82, 128, 80, 79, 80, 128, 80, 79, 208, 80, 79, 79, 68, 76, 69,
- 128, 80, 79, 79, 128, 80, 79, 78, 68, 79, 128, 80, 79, 206, 80, 79, 76,
- 73, 83, 72, 128, 80, 79, 76, 73, 67, 197, 80, 79, 76, 201, 80, 79, 76,
- 69, 128, 80, 79, 76, 197, 80, 79, 75, 82, 89, 84, 73, 69, 128, 80, 79,
- 75, 79, 74, 73, 128, 80, 79, 73, 78, 84, 211, 80, 79, 73, 78, 84, 79,
- 128, 80, 79, 73, 78, 84, 69, 82, 128, 80, 79, 73, 78, 84, 69, 196, 80,
- 79, 73, 78, 84, 128, 80, 79, 73, 78, 212, 80, 79, 69, 84, 82, 217, 80,
- 79, 69, 84, 73, 195, 80, 79, 68, 65, 84, 85, 83, 128, 80, 79, 65, 128,
- 80, 79, 128, 80, 207, 80, 78, 69, 85, 77, 65, 84, 65, 128, 80, 76, 85,
- 84, 79, 128, 80, 76, 85, 83, 45, 77, 73, 78, 85, 211, 80, 76, 85, 83,
- 128, 80, 76, 85, 82, 65, 76, 128, 80, 76, 85, 77, 69, 196, 80, 76, 85,
- 77, 128, 80, 76, 85, 75, 128, 80, 76, 85, 71, 128, 80, 76, 79, 87, 128,
- 80, 76, 79, 80, 72, 85, 128, 80, 76, 69, 84, 72, 82, 79, 78, 128, 80, 76,
- 65, 89, 73, 78, 199, 80, 76, 65, 83, 84, 73, 67, 83, 128, 80, 76, 65, 78,
- 69, 128, 80, 76, 65, 78, 197, 80, 76, 65, 78, 67, 203, 80, 76, 65, 75,
- 128, 80, 76, 65, 71, 73, 79, 211, 80, 76, 65, 67, 69, 72, 79, 76, 68, 69,
- 210, 80, 76, 65, 67, 197, 80, 76, 65, 128, 80, 73, 90, 90, 73, 67, 65,
- 84, 79, 128, 80, 73, 90, 90, 65, 128, 80, 73, 88, 128, 80, 73, 87, 82,
- 128, 80, 73, 84, 67, 72, 70, 79, 82, 75, 128, 80, 73, 84, 67, 72, 70, 79,
- 82, 203, 80, 73, 84, 128, 80, 73, 83, 84, 79, 76, 128, 80, 73, 83, 69,
- 76, 69, 72, 128, 80, 73, 83, 67, 69, 83, 128, 80, 73, 82, 73, 71, 128,
- 80, 73, 82, 73, 199, 80, 73, 82, 73, 69, 69, 78, 128, 80, 73, 80, 73, 78,
- 71, 128, 80, 73, 80, 65, 69, 77, 71, 66, 73, 69, 69, 128, 80, 73, 80, 65,
- 69, 77, 66, 65, 128, 80, 73, 80, 128, 80, 73, 78, 87, 72, 69, 69, 204,
- 80, 73, 78, 69, 65, 80, 80, 76, 69, 128, 80, 73, 78, 197, 80, 73, 78, 65,
- 82, 66, 79, 82, 65, 83, 128, 80, 73, 76, 76, 128, 80, 73, 76, 197, 80,
- 73, 76, 67, 82, 79, 215, 80, 73, 75, 85, 82, 85, 128, 80, 73, 75, 79,
- 128, 80, 73, 71, 128, 80, 73, 199, 80, 73, 69, 88, 128, 80, 73, 69, 85,
- 80, 45, 84, 72, 73, 69, 85, 84, 72, 128, 80, 73, 69, 85, 80, 45, 83, 83,
- 65, 78, 71, 83, 73, 79, 83, 128, 80, 73, 69, 85, 80, 45, 83, 73, 79, 83,
- 45, 84, 73, 75, 69, 85, 84, 128, 80, 73, 69, 85, 80, 45, 83, 73, 79, 83,
- 45, 84, 72, 73, 69, 85, 84, 72, 128, 80, 73, 69, 85, 80, 45, 83, 73, 79,
- 83, 45, 80, 73, 69, 85, 80, 128, 80, 73, 69, 85, 80, 45, 83, 73, 79, 83,
- 45, 75, 73, 89, 69, 79, 75, 128, 80, 73, 69, 85, 80, 45, 83, 73, 79, 83,
- 45, 67, 73, 69, 85, 67, 128, 80, 73, 69, 85, 80, 45, 82, 73, 69, 85, 76,
- 45, 80, 72, 73, 69, 85, 80, 72, 128, 80, 73, 69, 85, 80, 45, 82, 73, 69,
- 85, 76, 128, 80, 73, 69, 85, 80, 45, 78, 73, 69, 85, 78, 128, 80, 73, 69,
- 85, 80, 45, 77, 73, 69, 85, 77, 128, 80, 73, 69, 85, 80, 45, 75, 72, 73,
- 69, 85, 75, 72, 128, 80, 73, 69, 85, 80, 45, 67, 73, 69, 85, 67, 128, 80,
- 73, 69, 85, 80, 45, 67, 72, 73, 69, 85, 67, 72, 128, 80, 73, 69, 85, 208,
- 80, 73, 69, 84, 128, 80, 73, 69, 80, 128, 80, 73, 69, 69, 84, 128, 80,
- 73, 69, 69, 81, 128, 80, 73, 69, 67, 69, 128, 80, 73, 69, 128, 80, 73,
- 67, 75, 69, 84, 128, 80, 73, 67, 75, 128, 80, 73, 65, 83, 85, 84, 79, 82,
- 85, 128, 80, 73, 65, 83, 77, 193, 80, 73, 65, 78, 79, 128, 80, 201, 80,
- 72, 87, 65, 128, 80, 72, 85, 84, 72, 65, 79, 128, 80, 72, 85, 210, 80,
- 72, 85, 78, 71, 128, 80, 72, 82, 65, 83, 69, 128, 80, 72, 79, 78, 69, 83,
- 128, 80, 72, 79, 69, 78, 73, 67, 73, 65, 206, 80, 72, 79, 65, 128, 80,
- 72, 79, 128, 80, 72, 207, 80, 72, 78, 65, 69, 203, 80, 72, 73, 78, 84,
- 72, 85, 128, 80, 72, 73, 76, 79, 83, 79, 80, 72, 69, 82, 211, 80, 72, 73,
- 76, 73, 80, 80, 73, 78, 197, 80, 72, 73, 69, 85, 80, 72, 45, 84, 72, 73,
- 69, 85, 84, 72, 128, 80, 72, 73, 69, 85, 80, 72, 45, 83, 73, 79, 83, 128,
- 80, 72, 73, 69, 85, 80, 72, 45, 80, 73, 69, 85, 80, 128, 80, 72, 73, 69,
- 85, 80, 72, 45, 72, 73, 69, 85, 72, 128, 80, 72, 73, 69, 85, 80, 200, 80,
- 72, 73, 128, 80, 72, 201, 80, 72, 69, 69, 128, 80, 72, 69, 128, 80, 72,
- 65, 83, 69, 45, 198, 80, 72, 65, 83, 69, 45, 194, 80, 72, 65, 82, 89, 78,
- 71, 69, 65, 204, 80, 72, 65, 82, 128, 80, 72, 65, 78, 128, 80, 72, 65,
- 77, 128, 80, 72, 65, 73, 83, 84, 79, 211, 80, 72, 65, 71, 83, 45, 80,
- 193, 80, 72, 65, 65, 82, 75, 65, 65, 128, 80, 72, 65, 65, 128, 80, 72,
- 65, 128, 80, 71, 128, 80, 70, 128, 80, 69, 85, 88, 128, 80, 69, 85, 84,
- 65, 69, 128, 80, 69, 85, 84, 128, 80, 69, 84, 65, 83, 84, 79, 75, 79, 85,
- 70, 73, 83, 77, 65, 128, 80, 69, 84, 65, 83, 84, 73, 128, 80, 69, 84, 65,
- 83, 77, 65, 128, 80, 69, 84, 65, 76, 76, 69, 196, 80, 69, 83, 79, 128,
- 80, 69, 83, 207, 80, 69, 83, 72, 50, 128, 80, 69, 83, 69, 84, 193, 80,
- 69, 211, 80, 69, 82, 84, 72, 207, 80, 69, 82, 83, 80, 69, 67, 84, 73, 86,
- 69, 128, 80, 69, 82, 83, 79, 78, 65, 204, 80, 69, 82, 83, 79, 78, 128,
- 80, 69, 82, 83, 79, 206, 80, 69, 82, 83, 73, 65, 206, 80, 69, 82, 83, 69,
- 86, 69, 82, 73, 78, 199, 80, 69, 82, 80, 69, 78, 68, 73, 67, 85, 76, 65,
- 82, 128, 80, 69, 82, 80, 69, 78, 68, 73, 67, 85, 76, 65, 210, 80, 69, 82,
- 77, 65, 78, 69, 78, 212, 80, 69, 82, 73, 83, 80, 79, 77, 69, 78, 73, 128,
- 80, 69, 82, 73, 83, 80, 79, 77, 69, 78, 201, 80, 69, 82, 70, 79, 82, 77,
- 73, 78, 199, 80, 69, 82, 70, 69, 67, 84, 85, 205, 80, 69, 82, 70, 69, 67,
- 84, 65, 128, 80, 69, 82, 70, 69, 67, 84, 193, 80, 69, 82, 67, 85, 83, 83,
- 73, 86, 69, 128, 80, 69, 82, 67, 69, 78, 212, 80, 69, 80, 69, 84, 128,
- 80, 69, 80, 69, 212, 80, 69, 79, 82, 84, 200, 80, 69, 79, 80, 76, 69,
- 128, 80, 69, 78, 84, 65, 83, 69, 77, 69, 128, 80, 69, 78, 84, 65, 71, 82,
- 65, 77, 128, 80, 69, 78, 84, 65, 71, 79, 78, 128, 80, 69, 78, 83, 85,
+ 85, 128, 80, 85, 84, 82, 69, 70, 65, 67, 84, 73, 79, 78, 128, 80, 85, 84,
+ 128, 80, 85, 212, 80, 85, 83, 72, 80, 73, 78, 128, 80, 85, 83, 72, 80,
+ 73, 75, 65, 128, 80, 85, 83, 72, 73, 78, 199, 80, 85, 82, 88, 128, 80,
+ 85, 82, 83, 69, 128, 80, 85, 82, 80, 76, 197, 80, 85, 82, 73, 84, 89,
+ 128, 80, 85, 82, 73, 70, 89, 128, 80, 85, 82, 128, 80, 85, 81, 128, 80,
+ 85, 80, 128, 80, 85, 79, 88, 128, 80, 85, 79, 80, 128, 80, 85, 79, 128,
+ 80, 85, 78, 71, 65, 65, 77, 128, 80, 85, 78, 71, 128, 80, 85, 78, 67, 84,
+ 85, 65, 84, 73, 79, 78, 128, 80, 85, 78, 67, 84, 85, 65, 84, 73, 79, 206,
+ 80, 85, 77, 80, 128, 80, 85, 77, 128, 80, 85, 69, 128, 80, 85, 66, 76,
+ 73, 195, 80, 85, 65, 81, 128, 80, 85, 65, 69, 128, 80, 85, 50, 128, 80,
+ 85, 128, 80, 84, 72, 65, 72, 193, 80, 84, 69, 128, 80, 83, 73, 76, 201,
+ 80, 83, 73, 70, 73, 83, 84, 79, 83, 89, 78, 65, 71, 77, 65, 128, 80, 83,
+ 73, 70, 73, 83, 84, 79, 80, 65, 82, 65, 75, 65, 76, 69, 83, 77, 65, 128,
+ 80, 83, 73, 70, 73, 83, 84, 79, 206, 80, 83, 73, 70, 73, 83, 84, 79, 76,
+ 89, 71, 73, 83, 77, 65, 128, 80, 83, 73, 128, 80, 83, 128, 80, 82, 79,
+ 86, 69, 128, 80, 82, 79, 84, 79, 86, 65, 82, 89, 211, 80, 82, 79, 84, 79,
+ 211, 80, 82, 79, 83, 71, 69, 71, 82, 65, 77, 77, 69, 78, 73, 128, 80, 82,
+ 79, 80, 79, 82, 84, 73, 79, 78, 65, 204, 80, 82, 79, 80, 79, 82, 84, 73,
+ 79, 78, 128, 80, 82, 79, 80, 69, 82, 84, 217, 80, 82, 79, 80, 69, 76, 76,
+ 69, 210, 80, 82, 79, 79, 70, 128, 80, 82, 79, 76, 79, 78, 71, 69, 196,
+ 80, 82, 79, 76, 65, 84, 73, 79, 78, 197, 80, 82, 79, 74, 69, 67, 84, 73,
+ 86, 69, 128, 80, 82, 79, 74, 69, 67, 84, 73, 79, 78, 128, 80, 82, 79, 71,
+ 82, 69, 83, 83, 128, 80, 82, 79, 70, 79, 85, 78, 68, 128, 80, 82, 79, 68,
+ 85, 67, 84, 128, 80, 82, 79, 68, 85, 67, 212, 80, 82, 73, 86, 65, 84, 69,
+ 128, 80, 82, 73, 83, 72, 84, 72, 65, 77, 65, 84, 82, 193, 80, 82, 73, 78,
+ 84, 83, 128, 80, 82, 73, 78, 84, 128, 80, 82, 73, 78, 212, 80, 82, 73,
+ 78, 67, 69, 83, 83, 128, 80, 82, 73, 77, 69, 128, 80, 82, 73, 77, 197,
+ 80, 82, 69, 86, 73, 79, 85, 211, 80, 82, 69, 83, 69, 78, 84, 65, 84, 73,
+ 79, 206, 80, 82, 69, 83, 67, 82, 73, 80, 84, 73, 79, 206, 80, 82, 69, 80,
+ 79, 78, 68, 69, 82, 65, 78, 67, 69, 128, 80, 82, 69, 78, 75, 72, 65, 128,
+ 80, 82, 69, 70, 65, 67, 197, 80, 82, 69, 67, 73, 80, 73, 84, 65, 84, 69,
+ 128, 80, 82, 69, 67, 69, 68, 73, 78, 199, 80, 82, 69, 67, 69, 68, 69, 83,
+ 128, 80, 82, 69, 67, 69, 68, 69, 211, 80, 82, 69, 67, 69, 68, 69, 196,
+ 80, 82, 69, 67, 69, 68, 69, 128, 80, 82, 69, 67, 69, 68, 197, 80, 82, 65,
+ 77, 45, 80, 73, 73, 128, 80, 82, 65, 77, 45, 80, 73, 201, 80, 82, 65, 77,
+ 45, 77, 85, 79, 89, 128, 80, 82, 65, 77, 45, 77, 85, 79, 217, 80, 82, 65,
+ 77, 45, 66, 85, 79, 78, 128, 80, 82, 65, 77, 45, 66, 85, 79, 206, 80, 82,
+ 65, 77, 45, 66, 69, 73, 128, 80, 82, 65, 77, 45, 66, 69, 201, 80, 82, 65,
+ 77, 128, 80, 82, 65, 205, 80, 82, 128, 80, 80, 86, 128, 80, 80, 77, 128,
+ 80, 80, 65, 128, 80, 79, 89, 128, 80, 79, 88, 128, 80, 79, 87, 69, 82,
+ 211, 80, 79, 87, 69, 82, 128, 80, 79, 87, 68, 69, 82, 69, 196, 80, 79,
+ 87, 68, 69, 82, 128, 80, 79, 85, 78, 196, 80, 79, 85, 76, 84, 82, 217,
+ 80, 79, 85, 67, 72, 128, 80, 79, 84, 65, 84, 79, 128, 80, 79, 84, 65, 66,
+ 76, 197, 80, 79, 212, 80, 79, 83, 84, 80, 79, 83, 73, 84, 73, 79, 206,
+ 80, 79, 83, 84, 66, 79, 88, 128, 80, 79, 83, 84, 65, 204, 80, 79, 83, 84,
+ 128, 80, 79, 83, 212, 80, 79, 83, 83, 69, 83, 83, 73, 79, 78, 128, 80,
+ 79, 82, 82, 69, 67, 84, 85, 83, 128, 80, 79, 82, 82, 69, 67, 84, 85, 211,
+ 80, 79, 80, 80, 69, 82, 128, 80, 79, 80, 128, 80, 79, 208, 80, 79, 79,
+ 68, 76, 69, 128, 80, 79, 79, 128, 80, 79, 78, 68, 79, 128, 80, 79, 206,
+ 80, 79, 76, 73, 83, 72, 128, 80, 79, 76, 73, 67, 197, 80, 79, 76, 201,
+ 80, 79, 76, 69, 128, 80, 79, 76, 197, 80, 79, 75, 82, 89, 84, 73, 69,
+ 128, 80, 79, 75, 79, 74, 73, 128, 80, 79, 73, 78, 84, 211, 80, 79, 73,
+ 78, 84, 79, 128, 80, 79, 73, 78, 84, 69, 82, 128, 80, 79, 73, 78, 84, 69,
+ 196, 80, 79, 73, 78, 84, 128, 80, 79, 73, 78, 212, 80, 79, 69, 84, 82,
+ 217, 80, 79, 69, 84, 73, 195, 80, 79, 68, 65, 84, 85, 83, 128, 80, 79,
+ 65, 128, 80, 79, 128, 80, 207, 80, 78, 69, 85, 77, 65, 84, 65, 128, 80,
+ 76, 85, 84, 79, 128, 80, 76, 85, 83, 45, 77, 73, 78, 85, 211, 80, 76, 85,
+ 83, 128, 80, 76, 85, 82, 65, 76, 128, 80, 76, 85, 77, 69, 196, 80, 76,
+ 85, 77, 128, 80, 76, 85, 75, 128, 80, 76, 85, 71, 128, 80, 76, 79, 87,
+ 128, 80, 76, 79, 80, 72, 85, 128, 80, 76, 69, 84, 72, 82, 79, 78, 128,
+ 80, 76, 65, 89, 73, 78, 199, 80, 76, 65, 83, 84, 73, 67, 83, 128, 80, 76,
+ 65, 78, 69, 128, 80, 76, 65, 78, 197, 80, 76, 65, 78, 67, 203, 80, 76,
+ 65, 75, 128, 80, 76, 65, 71, 73, 79, 211, 80, 76, 65, 67, 69, 72, 79, 76,
+ 68, 69, 210, 80, 76, 65, 67, 197, 80, 76, 65, 128, 80, 73, 90, 90, 73,
+ 67, 65, 84, 79, 128, 80, 73, 90, 90, 65, 128, 80, 73, 88, 128, 80, 73,
+ 87, 82, 128, 80, 73, 84, 67, 72, 70, 79, 82, 75, 128, 80, 73, 84, 67, 72,
+ 70, 79, 82, 203, 80, 73, 84, 128, 80, 73, 83, 84, 79, 76, 128, 80, 73,
+ 83, 69, 76, 69, 72, 128, 80, 73, 83, 67, 69, 83, 128, 80, 73, 82, 73, 71,
+ 128, 80, 73, 82, 73, 199, 80, 73, 82, 73, 69, 69, 78, 128, 80, 73, 80,
+ 73, 78, 71, 128, 80, 73, 80, 65, 69, 77, 71, 66, 73, 69, 69, 128, 80, 73,
+ 80, 65, 69, 77, 66, 65, 128, 80, 73, 80, 128, 80, 73, 78, 87, 72, 69, 69,
+ 204, 80, 73, 78, 69, 65, 80, 80, 76, 69, 128, 80, 73, 78, 197, 80, 73,
+ 78, 65, 82, 66, 79, 82, 65, 83, 128, 80, 73, 76, 76, 128, 80, 73, 76,
+ 197, 80, 73, 76, 67, 82, 79, 215, 80, 73, 75, 85, 82, 85, 128, 80, 73,
+ 75, 79, 128, 80, 73, 71, 128, 80, 73, 199, 80, 73, 69, 88, 128, 80, 73,
+ 69, 85, 80, 45, 84, 72, 73, 69, 85, 84, 72, 128, 80, 73, 69, 85, 80, 45,
+ 83, 83, 65, 78, 71, 83, 73, 79, 83, 128, 80, 73, 69, 85, 80, 45, 83, 73,
+ 79, 83, 45, 84, 73, 75, 69, 85, 84, 128, 80, 73, 69, 85, 80, 45, 83, 73,
+ 79, 83, 45, 84, 72, 73, 69, 85, 84, 72, 128, 80, 73, 69, 85, 80, 45, 83,
+ 73, 79, 83, 45, 80, 73, 69, 85, 80, 128, 80, 73, 69, 85, 80, 45, 83, 73,
+ 79, 83, 45, 75, 73, 89, 69, 79, 75, 128, 80, 73, 69, 85, 80, 45, 83, 73,
+ 79, 83, 45, 67, 73, 69, 85, 67, 128, 80, 73, 69, 85, 80, 45, 82, 73, 69,
+ 85, 76, 45, 80, 72, 73, 69, 85, 80, 72, 128, 80, 73, 69, 85, 80, 45, 82,
+ 73, 69, 85, 76, 128, 80, 73, 69, 85, 80, 45, 78, 73, 69, 85, 78, 128, 80,
+ 73, 69, 85, 80, 45, 77, 73, 69, 85, 77, 128, 80, 73, 69, 85, 80, 45, 75,
+ 72, 73, 69, 85, 75, 72, 128, 80, 73, 69, 85, 80, 45, 67, 73, 69, 85, 67,
+ 128, 80, 73, 69, 85, 80, 45, 67, 72, 73, 69, 85, 67, 72, 128, 80, 73, 69,
+ 85, 208, 80, 73, 69, 84, 128, 80, 73, 69, 80, 128, 80, 73, 69, 69, 84,
+ 128, 80, 73, 69, 69, 81, 128, 80, 73, 69, 67, 69, 128, 80, 73, 69, 128,
+ 80, 73, 67, 75, 69, 84, 128, 80, 73, 67, 75, 128, 80, 73, 65, 83, 85, 84,
+ 79, 82, 85, 128, 80, 73, 65, 83, 77, 193, 80, 73, 65, 78, 79, 128, 80,
+ 201, 80, 72, 87, 65, 128, 80, 72, 85, 84, 72, 65, 79, 128, 80, 72, 85,
+ 210, 80, 72, 85, 78, 71, 128, 80, 72, 82, 65, 83, 69, 128, 80, 72, 79,
+ 78, 69, 83, 128, 80, 72, 79, 69, 78, 73, 67, 73, 65, 206, 80, 72, 79, 65,
+ 128, 80, 72, 79, 128, 80, 72, 207, 80, 72, 78, 65, 69, 203, 80, 72, 73,
+ 78, 84, 72, 85, 128, 80, 72, 73, 76, 79, 83, 79, 80, 72, 69, 82, 211, 80,
+ 72, 73, 76, 73, 80, 80, 73, 78, 197, 80, 72, 73, 69, 85, 80, 72, 45, 84,
+ 72, 73, 69, 85, 84, 72, 128, 80, 72, 73, 69, 85, 80, 72, 45, 83, 73, 79,
+ 83, 128, 80, 72, 73, 69, 85, 80, 72, 45, 80, 73, 69, 85, 80, 128, 80, 72,
+ 73, 69, 85, 80, 72, 45, 72, 73, 69, 85, 72, 128, 80, 72, 73, 69, 85, 80,
+ 200, 80, 72, 73, 128, 80, 72, 201, 80, 72, 69, 69, 128, 80, 72, 69, 128,
+ 80, 72, 65, 83, 69, 45, 198, 80, 72, 65, 83, 69, 45, 194, 80, 72, 65, 82,
+ 89, 78, 71, 69, 65, 204, 80, 72, 65, 82, 128, 80, 72, 65, 78, 128, 80,
+ 72, 65, 77, 128, 80, 72, 65, 73, 83, 84, 79, 211, 80, 72, 65, 71, 83, 45,
+ 80, 193, 80, 72, 65, 65, 82, 75, 65, 65, 128, 80, 72, 65, 65, 128, 80,
+ 72, 65, 128, 80, 71, 128, 80, 70, 128, 80, 69, 85, 88, 128, 80, 69, 85,
+ 84, 65, 69, 128, 80, 69, 85, 84, 128, 80, 69, 84, 65, 83, 84, 79, 75, 79,
+ 85, 70, 73, 83, 77, 65, 128, 80, 69, 84, 65, 83, 84, 73, 128, 80, 69, 84,
+ 65, 83, 77, 65, 128, 80, 69, 84, 65, 76, 76, 69, 196, 80, 69, 83, 79,
+ 128, 80, 69, 83, 207, 80, 69, 83, 72, 50, 128, 80, 69, 83, 69, 84, 193,
+ 80, 69, 211, 80, 69, 82, 84, 72, 207, 80, 69, 82, 83, 80, 69, 67, 84, 73,
+ 86, 69, 128, 80, 69, 82, 83, 79, 78, 65, 204, 80, 69, 82, 83, 79, 78,
+ 128, 80, 69, 82, 83, 79, 206, 80, 69, 82, 83, 73, 65, 206, 80, 69, 82,
+ 83, 69, 86, 69, 82, 73, 78, 199, 80, 69, 82, 80, 69, 78, 68, 73, 67, 85,
+ 76, 65, 82, 128, 80, 69, 82, 80, 69, 78, 68, 73, 67, 85, 76, 65, 210, 80,
+ 69, 82, 77, 65, 78, 69, 78, 212, 80, 69, 82, 73, 83, 80, 79, 77, 69, 78,
+ 73, 128, 80, 69, 82, 73, 83, 80, 79, 77, 69, 78, 201, 80, 69, 82, 70, 79,
+ 82, 77, 73, 78, 199, 80, 69, 82, 70, 69, 67, 84, 85, 205, 80, 69, 82, 70,
+ 69, 67, 84, 65, 128, 80, 69, 82, 70, 69, 67, 84, 193, 80, 69, 82, 67, 85,
+ 83, 83, 73, 86, 69, 128, 80, 69, 82, 67, 69, 78, 212, 80, 69, 80, 69, 84,
+ 128, 80, 69, 80, 69, 212, 80, 69, 79, 82, 84, 200, 80, 69, 79, 80, 76,
+ 69, 128, 80, 69, 78, 84, 65, 83, 69, 77, 69, 128, 80, 69, 78, 84, 65, 71,
+ 82, 65, 77, 128, 80, 69, 78, 84, 65, 71, 79, 78, 128, 80, 69, 78, 83, 85,
128, 80, 69, 78, 83, 73, 86, 197, 80, 69, 78, 78, 217, 80, 69, 78, 73,
72, 73, 128, 80, 69, 78, 71, 85, 73, 78, 128, 80, 69, 78, 71, 75, 65, 76,
128, 80, 69, 78, 69, 84, 82, 65, 84, 73, 79, 78, 128, 80, 69, 78, 67, 73,
@@ -1464,84 +1471,84 @@ static unsigned char lexicon[] = {
69, 65, 67, 69, 128, 80, 69, 65, 67, 197, 80, 68, 128, 80, 67, 128, 80,
65, 90, 69, 82, 128, 80, 65, 89, 69, 82, 79, 75, 128, 80, 65, 89, 65, 78,
78, 65, 128, 80, 65, 89, 128, 80, 65, 88, 128, 80, 65, 87, 78, 128, 80,
- 65, 215, 80, 65, 86, 73, 89, 65, 78, 73, 128, 80, 65, 84, 84, 69, 82, 78,
- 128, 80, 65, 84, 72, 65, 77, 65, 83, 65, 84, 128, 80, 65, 84, 200, 80,
- 65, 84, 65, 75, 128, 80, 65, 84, 65, 72, 128, 80, 65, 84, 128, 80, 65,
- 83, 85, 81, 128, 80, 65, 83, 83, 80, 79, 82, 212, 80, 65, 83, 83, 73, 86,
- 69, 45, 80, 85, 76, 76, 45, 85, 80, 45, 79, 85, 84, 80, 85, 212, 80, 65,
- 83, 83, 73, 86, 69, 45, 80, 85, 76, 76, 45, 68, 79, 87, 78, 45, 79, 85,
- 84, 80, 85, 212, 80, 65, 83, 72, 84, 65, 128, 80, 65, 83, 72, 65, 69,
- 128, 80, 65, 83, 69, 81, 128, 80, 65, 82, 85, 77, 128, 80, 65, 82, 84,
- 217, 80, 65, 82, 84, 78, 69, 82, 83, 72, 73, 208, 80, 65, 82, 84, 73, 65,
- 76, 76, 89, 45, 82, 69, 67, 89, 67, 76, 69, 196, 80, 65, 82, 84, 73, 65,
- 204, 80, 65, 82, 84, 72, 73, 65, 206, 80, 65, 82, 212, 80, 65, 82, 73,
- 67, 72, 79, 78, 128, 80, 65, 82, 69, 83, 84, 73, 71, 77, 69, 78, 79, 206,
- 80, 65, 82, 69, 82, 69, 78, 128, 80, 65, 82, 69, 78, 84, 72, 69, 83, 73,
- 83, 128, 80, 65, 82, 69, 78, 84, 72, 69, 83, 73, 211, 80, 65, 82, 65, 80,
- 72, 82, 65, 83, 197, 80, 65, 82, 65, 76, 76, 69, 76, 79, 71, 82, 65, 77,
- 128, 80, 65, 82, 65, 76, 76, 69, 76, 128, 80, 65, 82, 65, 76, 76, 69,
- 204, 80, 65, 82, 65, 75, 76, 73, 84, 73, 75, 73, 128, 80, 65, 82, 65, 75,
- 76, 73, 84, 73, 75, 201, 80, 65, 82, 65, 75, 65, 76, 69, 83, 77, 193, 80,
- 65, 82, 65, 71, 82, 65, 80, 72, 79, 83, 128, 80, 65, 82, 65, 71, 82, 65,
- 80, 72, 128, 80, 65, 82, 65, 71, 82, 65, 80, 200, 80, 65, 82, 65, 128,
- 80, 65, 82, 128, 80, 65, 80, 89, 82, 85, 83, 128, 80, 65, 80, 69, 82, 67,
- 76, 73, 80, 128, 80, 65, 80, 69, 210, 80, 65, 80, 128, 80, 65, 208, 80,
- 65, 207, 80, 65, 78, 89, 85, 75, 85, 128, 80, 65, 78, 89, 73, 75, 85,
- 128, 80, 65, 78, 89, 69, 67, 69, 75, 128, 80, 65, 78, 89, 65, 78, 71, 71,
- 65, 128, 80, 65, 78, 89, 65, 75, 82, 65, 128, 80, 65, 78, 84, 73, 128,
- 80, 65, 78, 83, 73, 79, 83, 45, 80, 73, 69, 85, 80, 128, 80, 65, 78, 83,
- 73, 79, 83, 45, 75, 65, 80, 89, 69, 79, 85, 78, 80, 73, 69, 85, 80, 128,
- 80, 65, 78, 79, 78, 71, 79, 78, 65, 78, 128, 80, 65, 78, 79, 76, 79, 78,
- 71, 128, 80, 65, 78, 71, 87, 73, 83, 65, 68, 128, 80, 65, 78, 71, 82, 65,
- 78, 71, 75, 69, 80, 128, 80, 65, 78, 71, 79, 76, 65, 84, 128, 80, 65, 78,
- 71, 76, 65, 89, 65, 82, 128, 80, 65, 78, 71, 75, 79, 78, 128, 80, 65, 78,
- 71, 75, 65, 84, 128, 80, 65, 78, 71, 72, 85, 76, 85, 128, 80, 65, 78, 71,
- 128, 80, 65, 78, 69, 85, 76, 69, 85, 78, 71, 128, 80, 65, 78, 68, 193,
- 80, 65, 78, 65, 69, 76, 65, 69, 78, 71, 128, 80, 65, 78, 128, 80, 65, 77,
- 85, 78, 71, 75, 65, 72, 128, 80, 65, 77, 85, 68, 80, 79, 68, 128, 80, 65,
- 77, 83, 72, 65, 69, 128, 80, 65, 77, 80, 72, 89, 76, 73, 65, 206, 80, 65,
- 77, 73, 78, 71, 75, 65, 76, 128, 80, 65, 77, 69, 80, 69, 84, 128, 80, 65,
- 77, 69, 78, 69, 78, 71, 128, 80, 65, 77, 65, 68, 65, 128, 80, 65, 77, 65,
- 65, 69, 72, 128, 80, 65, 76, 85, 84, 65, 128, 80, 65, 76, 79, 67, 72, 75,
- 65, 128, 80, 65, 76, 205, 80, 65, 76, 76, 65, 87, 65, 128, 80, 65, 76,
- 76, 65, 83, 128, 80, 65, 76, 69, 84, 84, 69, 128, 80, 65, 76, 65, 85, 78,
- 199, 80, 65, 76, 65, 84, 65, 76, 73, 90, 69, 196, 80, 65, 76, 65, 84, 65,
- 76, 73, 90, 65, 84, 73, 79, 78, 128, 80, 65, 76, 65, 84, 65, 204, 80, 65,
- 75, 80, 65, 203, 80, 65, 73, 89, 65, 78, 78, 79, 73, 128, 80, 65, 73, 82,
- 84, 72, 82, 65, 128, 80, 65, 73, 82, 69, 196, 80, 65, 72, 76, 65, 86,
- 201, 80, 65, 71, 69, 82, 128, 80, 65, 71, 197, 80, 65, 68, 77, 193, 80,
- 65, 68, 193, 80, 65, 68, 128, 80, 65, 67, 75, 73, 78, 71, 128, 80, 65,
- 67, 75, 65, 71, 69, 128, 80, 65, 65, 84, 85, 128, 80, 65, 65, 83, 69, 78,
- 84, 79, 128, 80, 65, 65, 82, 65, 69, 128, 80, 65, 65, 77, 128, 80, 65,
- 65, 73, 128, 80, 65, 65, 45, 80, 73, 76, 76, 65, 128, 80, 65, 65, 128,
- 80, 50, 128, 80, 48, 49, 49, 128, 80, 48, 49, 48, 128, 80, 48, 48, 57,
- 128, 80, 48, 48, 56, 128, 80, 48, 48, 55, 128, 80, 48, 48, 54, 128, 80,
- 48, 48, 53, 128, 80, 48, 48, 52, 128, 80, 48, 48, 51, 65, 128, 80, 48,
- 48, 51, 128, 80, 48, 48, 50, 128, 80, 48, 48, 49, 65, 128, 80, 48, 48,
- 49, 128, 79, 89, 82, 65, 78, 73, 83, 77, 193, 79, 89, 65, 78, 78, 65,
- 128, 79, 88, 73, 65, 128, 79, 88, 73, 193, 79, 88, 69, 73, 65, 201, 79,
- 88, 69, 73, 193, 79, 86, 69, 82, 82, 73, 68, 69, 128, 79, 86, 69, 82, 76,
- 79, 78, 199, 79, 86, 69, 82, 76, 73, 78, 69, 128, 79, 86, 69, 82, 76, 65,
- 89, 128, 79, 86, 69, 82, 76, 65, 80, 80, 73, 78, 199, 79, 86, 69, 82, 76,
- 65, 73, 68, 128, 79, 86, 69, 82, 66, 65, 82, 128, 79, 86, 65, 204, 79,
- 86, 128, 79, 85, 84, 76, 73, 78, 69, 196, 79, 85, 84, 76, 73, 78, 69,
- 128, 79, 85, 84, 69, 210, 79, 85, 84, 66, 79, 216, 79, 85, 78, 75, 73,
- 193, 79, 85, 78, 67, 69, 128, 79, 85, 78, 67, 197, 79, 84, 85, 128, 79,
- 84, 84, 65, 86, 193, 79, 84, 84, 128, 79, 84, 72, 65, 76, 65, 206, 79,
- 84, 72, 65, 76, 128, 79, 83, 77, 65, 78, 89, 193, 79, 82, 84, 72, 79, 71,
- 79, 78, 65, 204, 79, 82, 84, 72, 79, 68, 79, 216, 79, 82, 78, 65, 84,
- 197, 79, 82, 78, 65, 77, 69, 78, 84, 128, 79, 82, 78, 65, 77, 69, 78,
- 212, 79, 82, 75, 72, 79, 206, 79, 82, 73, 71, 73, 78, 65, 204, 79, 82,
- 73, 71, 73, 78, 128, 79, 82, 69, 45, 50, 128, 79, 82, 68, 73, 78, 65,
- 204, 79, 82, 67, 72, 73, 68, 128, 79, 82, 65, 78, 71, 197, 79, 80, 84,
- 73, 79, 206, 79, 80, 84, 73, 67, 65, 204, 79, 80, 80, 82, 69, 83, 83, 73,
- 79, 78, 128, 79, 80, 80, 79, 83, 73, 84, 73, 79, 78, 128, 79, 80, 80, 79,
- 83, 73, 78, 199, 79, 80, 80, 79, 83, 69, 128, 79, 80, 72, 73, 85, 67, 72,
- 85, 83, 128, 79, 80, 69, 82, 65, 84, 79, 82, 128, 79, 80, 69, 82, 65, 84,
- 79, 210, 79, 80, 69, 78, 73, 78, 199, 79, 80, 69, 78, 45, 80, 128, 79,
- 80, 69, 78, 45, 79, 85, 84, 76, 73, 78, 69, 196, 79, 80, 69, 78, 45, 72,
- 69, 65, 68, 69, 196, 79, 80, 69, 78, 45, 67, 73, 82, 67, 85, 73, 84, 45,
- 79, 85, 84, 80, 85, 212, 79, 80, 69, 206, 79, 79, 90, 69, 128, 79, 79,
+ 65, 215, 80, 65, 86, 73, 89, 65, 78, 73, 128, 80, 65, 85, 128, 80, 65,
+ 84, 84, 69, 82, 78, 128, 80, 65, 84, 72, 65, 77, 65, 83, 65, 84, 128, 80,
+ 65, 84, 200, 80, 65, 84, 65, 75, 128, 80, 65, 84, 65, 72, 128, 80, 65,
+ 84, 128, 80, 65, 83, 85, 81, 128, 80, 65, 83, 83, 80, 79, 82, 212, 80,
+ 65, 83, 83, 73, 86, 69, 45, 80, 85, 76, 76, 45, 85, 80, 45, 79, 85, 84,
+ 80, 85, 212, 80, 65, 83, 83, 73, 86, 69, 45, 80, 85, 76, 76, 45, 68, 79,
+ 87, 78, 45, 79, 85, 84, 80, 85, 212, 80, 65, 83, 72, 84, 65, 128, 80, 65,
+ 83, 72, 65, 69, 128, 80, 65, 83, 69, 81, 128, 80, 65, 82, 85, 77, 128,
+ 80, 65, 82, 84, 217, 80, 65, 82, 84, 78, 69, 82, 83, 72, 73, 208, 80, 65,
+ 82, 84, 73, 65, 76, 76, 89, 45, 82, 69, 67, 89, 67, 76, 69, 196, 80, 65,
+ 82, 84, 73, 65, 204, 80, 65, 82, 84, 72, 73, 65, 206, 80, 65, 82, 212,
+ 80, 65, 82, 73, 67, 72, 79, 78, 128, 80, 65, 82, 69, 83, 84, 73, 71, 77,
+ 69, 78, 79, 206, 80, 65, 82, 69, 82, 69, 78, 128, 80, 65, 82, 69, 78, 84,
+ 72, 69, 83, 73, 83, 128, 80, 65, 82, 69, 78, 84, 72, 69, 83, 73, 211, 80,
+ 65, 82, 65, 80, 72, 82, 65, 83, 197, 80, 65, 82, 65, 76, 76, 69, 76, 79,
+ 71, 82, 65, 77, 128, 80, 65, 82, 65, 76, 76, 69, 76, 128, 80, 65, 82, 65,
+ 76, 76, 69, 204, 80, 65, 82, 65, 75, 76, 73, 84, 73, 75, 73, 128, 80, 65,
+ 82, 65, 75, 76, 73, 84, 73, 75, 201, 80, 65, 82, 65, 75, 65, 76, 69, 83,
+ 77, 193, 80, 65, 82, 65, 71, 82, 65, 80, 72, 79, 83, 128, 80, 65, 82, 65,
+ 71, 82, 65, 80, 72, 128, 80, 65, 82, 65, 71, 82, 65, 80, 200, 80, 65, 82,
+ 65, 128, 80, 65, 82, 128, 80, 65, 80, 89, 82, 85, 83, 128, 80, 65, 80,
+ 69, 82, 67, 76, 73, 80, 128, 80, 65, 80, 69, 210, 80, 65, 80, 128, 80,
+ 65, 208, 80, 65, 207, 80, 65, 78, 89, 85, 75, 85, 128, 80, 65, 78, 89,
+ 73, 75, 85, 128, 80, 65, 78, 89, 69, 67, 69, 75, 128, 80, 65, 78, 89, 65,
+ 78, 71, 71, 65, 128, 80, 65, 78, 89, 65, 75, 82, 65, 128, 80, 65, 78, 84,
+ 73, 128, 80, 65, 78, 83, 73, 79, 83, 45, 80, 73, 69, 85, 80, 128, 80, 65,
+ 78, 83, 73, 79, 83, 45, 75, 65, 80, 89, 69, 79, 85, 78, 80, 73, 69, 85,
+ 80, 128, 80, 65, 78, 79, 78, 71, 79, 78, 65, 78, 128, 80, 65, 78, 79, 76,
+ 79, 78, 71, 128, 80, 65, 78, 71, 87, 73, 83, 65, 68, 128, 80, 65, 78, 71,
+ 82, 65, 78, 71, 75, 69, 80, 128, 80, 65, 78, 71, 79, 76, 65, 84, 128, 80,
+ 65, 78, 71, 76, 65, 89, 65, 82, 128, 80, 65, 78, 71, 75, 79, 78, 128, 80,
+ 65, 78, 71, 75, 65, 84, 128, 80, 65, 78, 71, 72, 85, 76, 85, 128, 80, 65,
+ 78, 71, 128, 80, 65, 78, 69, 85, 76, 69, 85, 78, 71, 128, 80, 65, 78, 68,
+ 193, 80, 65, 78, 65, 69, 76, 65, 69, 78, 71, 128, 80, 65, 78, 128, 80,
+ 65, 77, 85, 78, 71, 75, 65, 72, 128, 80, 65, 77, 85, 68, 80, 79, 68, 128,
+ 80, 65, 77, 83, 72, 65, 69, 128, 80, 65, 77, 80, 72, 89, 76, 73, 65, 206,
+ 80, 65, 77, 73, 78, 71, 75, 65, 76, 128, 80, 65, 77, 69, 80, 69, 84, 128,
+ 80, 65, 77, 69, 78, 69, 78, 71, 128, 80, 65, 77, 65, 68, 65, 128, 80, 65,
+ 77, 65, 65, 69, 72, 128, 80, 65, 76, 85, 84, 65, 128, 80, 65, 76, 79, 67,
+ 72, 75, 65, 128, 80, 65, 76, 205, 80, 65, 76, 76, 65, 87, 65, 128, 80,
+ 65, 76, 76, 65, 83, 128, 80, 65, 76, 69, 84, 84, 69, 128, 80, 65, 76, 65,
+ 85, 78, 199, 80, 65, 76, 65, 84, 65, 76, 73, 90, 69, 196, 80, 65, 76, 65,
+ 84, 65, 76, 73, 90, 65, 84, 73, 79, 78, 128, 80, 65, 76, 65, 84, 65, 204,
+ 80, 65, 75, 80, 65, 203, 80, 65, 73, 89, 65, 78, 78, 79, 73, 128, 80, 65,
+ 73, 82, 84, 72, 82, 65, 128, 80, 65, 73, 82, 69, 196, 80, 65, 73, 128,
+ 80, 65, 72, 76, 65, 86, 201, 80, 65, 71, 69, 82, 128, 80, 65, 71, 197,
+ 80, 65, 68, 77, 193, 80, 65, 68, 193, 80, 65, 68, 128, 80, 65, 67, 75,
+ 73, 78, 71, 128, 80, 65, 67, 75, 65, 71, 69, 128, 80, 65, 65, 84, 85,
+ 128, 80, 65, 65, 83, 69, 78, 84, 79, 128, 80, 65, 65, 82, 65, 69, 128,
+ 80, 65, 65, 77, 128, 80, 65, 65, 73, 128, 80, 65, 65, 45, 80, 73, 76, 76,
+ 65, 128, 80, 65, 65, 128, 80, 50, 128, 80, 48, 49, 49, 128, 80, 48, 49,
+ 48, 128, 80, 48, 48, 57, 128, 80, 48, 48, 56, 128, 80, 48, 48, 55, 128,
+ 80, 48, 48, 54, 128, 80, 48, 48, 53, 128, 80, 48, 48, 52, 128, 80, 48,
+ 48, 51, 65, 128, 80, 48, 48, 51, 128, 80, 48, 48, 50, 128, 80, 48, 48,
+ 49, 65, 128, 80, 48, 48, 49, 128, 79, 89, 82, 65, 78, 73, 83, 77, 193,
+ 79, 89, 65, 78, 78, 65, 128, 79, 88, 73, 65, 128, 79, 88, 73, 193, 79,
+ 88, 69, 73, 65, 201, 79, 88, 69, 73, 193, 79, 86, 69, 82, 82, 73, 68, 69,
+ 128, 79, 86, 69, 82, 76, 79, 78, 199, 79, 86, 69, 82, 76, 73, 78, 69,
+ 128, 79, 86, 69, 82, 76, 65, 89, 128, 79, 86, 69, 82, 76, 65, 80, 80, 73,
+ 78, 199, 79, 86, 69, 82, 76, 65, 73, 68, 128, 79, 86, 69, 82, 66, 65, 82,
+ 128, 79, 86, 65, 204, 79, 86, 128, 79, 85, 84, 76, 73, 78, 69, 196, 79,
+ 85, 84, 76, 73, 78, 69, 128, 79, 85, 84, 69, 210, 79, 85, 84, 66, 79,
+ 216, 79, 85, 78, 75, 73, 193, 79, 85, 78, 67, 69, 128, 79, 85, 78, 67,
+ 197, 79, 84, 85, 128, 79, 84, 84, 65, 86, 193, 79, 84, 84, 128, 79, 84,
+ 72, 65, 76, 65, 206, 79, 84, 72, 65, 76, 128, 79, 83, 77, 65, 78, 89,
+ 193, 79, 82, 84, 72, 79, 71, 79, 78, 65, 204, 79, 82, 84, 72, 79, 68, 79,
+ 216, 79, 82, 78, 65, 84, 197, 79, 82, 78, 65, 77, 69, 78, 84, 128, 79,
+ 82, 78, 65, 77, 69, 78, 212, 79, 82, 75, 72, 79, 206, 79, 82, 73, 71, 73,
+ 78, 65, 204, 79, 82, 73, 71, 73, 78, 128, 79, 82, 69, 45, 50, 128, 79,
+ 82, 68, 73, 78, 65, 204, 79, 82, 67, 72, 73, 68, 128, 79, 82, 65, 78, 71,
+ 197, 79, 80, 84, 73, 79, 206, 79, 80, 84, 73, 67, 65, 204, 79, 80, 80,
+ 82, 69, 83, 83, 73, 79, 78, 128, 79, 80, 80, 79, 83, 73, 84, 73, 79, 78,
+ 128, 79, 80, 80, 79, 83, 73, 78, 199, 79, 80, 80, 79, 83, 69, 128, 79,
+ 80, 72, 73, 85, 67, 72, 85, 83, 128, 79, 80, 69, 82, 65, 84, 79, 82, 128,
+ 79, 80, 69, 82, 65, 84, 79, 210, 79, 80, 69, 78, 73, 78, 199, 79, 80, 69,
+ 78, 45, 80, 128, 79, 80, 69, 78, 45, 79, 85, 84, 76, 73, 78, 69, 196, 79,
+ 80, 69, 78, 45, 72, 69, 65, 68, 69, 196, 79, 80, 69, 78, 45, 67, 73, 82,
+ 67, 85, 73, 84, 45, 79, 85, 84, 80, 85, 212, 79, 79, 90, 69, 128, 79, 79,
89, 65, 78, 78, 65, 128, 79, 79, 85, 128, 79, 79, 77, 85, 128, 79, 79,
69, 128, 79, 79, 66, 79, 79, 70, 73, 76, 73, 128, 79, 78, 85, 128, 79,
78, 83, 85, 128, 79, 78, 78, 128, 79, 78, 75, 65, 82, 128, 79, 78, 69,
@@ -1598,317 +1605,324 @@ static unsigned char lexicon[] = {
69, 88, 128, 78, 90, 69, 85, 77, 128, 78, 90, 69, 128, 78, 90, 65, 88,
128, 78, 90, 65, 84, 128, 78, 90, 65, 81, 128, 78, 90, 65, 80, 128, 78,
90, 65, 128, 78, 90, 193, 78, 89, 87, 65, 128, 78, 89, 85, 88, 128, 78,
- 89, 85, 84, 128, 78, 89, 85, 80, 128, 78, 89, 85, 79, 88, 128, 78, 89,
- 85, 79, 80, 128, 78, 89, 85, 79, 128, 78, 89, 85, 69, 128, 78, 89, 85,
- 128, 78, 89, 79, 88, 128, 78, 89, 79, 84, 128, 78, 89, 79, 80, 128, 78,
- 89, 79, 79, 128, 78, 89, 79, 65, 128, 78, 89, 79, 128, 78, 89, 74, 65,
- 128, 78, 89, 73, 88, 128, 78, 89, 73, 84, 128, 78, 89, 73, 212, 78, 89,
- 73, 211, 78, 89, 73, 210, 78, 89, 73, 80, 128, 78, 89, 73, 78, 45, 68,
- 79, 128, 78, 89, 73, 69, 88, 128, 78, 89, 73, 69, 84, 128, 78, 89, 73,
- 69, 80, 128, 78, 89, 73, 69, 128, 78, 89, 73, 128, 78, 89, 201, 78, 89,
- 69, 84, 128, 78, 89, 69, 212, 78, 89, 69, 72, 128, 78, 89, 69, 200, 78,
- 89, 69, 69, 128, 78, 89, 69, 128, 78, 89, 196, 78, 89, 67, 65, 128, 78,
- 89, 65, 69, 77, 65, 69, 128, 78, 89, 65, 65, 128, 78, 87, 79, 79, 128,
- 78, 87, 79, 128, 78, 87, 73, 73, 128, 78, 87, 73, 128, 78, 87, 69, 128,
- 78, 87, 65, 65, 128, 78, 87, 65, 128, 78, 87, 128, 78, 86, 128, 78, 85,
- 88, 128, 78, 85, 85, 78, 128, 78, 85, 84, 73, 76, 76, 85, 128, 78, 85,
- 84, 128, 78, 85, 212, 78, 85, 82, 88, 128, 78, 85, 82, 128, 78, 85, 80,
- 128, 78, 85, 79, 88, 128, 78, 85, 79, 80, 128, 78, 85, 79, 128, 78, 85,
- 78, 85, 90, 128, 78, 85, 78, 85, 218, 78, 85, 78, 71, 128, 78, 85, 78,
- 65, 86, 85, 212, 78, 85, 78, 65, 86, 73, 203, 78, 85, 78, 128, 78, 85,
- 206, 78, 85, 77, 69, 82, 207, 78, 85, 77, 69, 82, 65, 84, 79, 210, 78,
- 85, 77, 69, 82, 65, 204, 78, 85, 77, 66, 69, 82, 83, 128, 78, 85, 77, 66,
- 69, 82, 128, 78, 85, 77, 128, 78, 85, 76, 76, 128, 78, 85, 76, 204, 78,
- 85, 75, 84, 65, 128, 78, 85, 69, 78, 71, 128, 78, 85, 69, 128, 78, 85,
- 66, 73, 65, 206, 78, 85, 65, 69, 128, 78, 85, 49, 49, 128, 78, 85, 48,
- 50, 50, 65, 128, 78, 85, 48, 50, 50, 128, 78, 85, 48, 50, 49, 128, 78,
- 85, 48, 50, 48, 128, 78, 85, 48, 49, 57, 128, 78, 85, 48, 49, 56, 65,
- 128, 78, 85, 48, 49, 56, 128, 78, 85, 48, 49, 55, 128, 78, 85, 48, 49,
- 54, 128, 78, 85, 48, 49, 53, 128, 78, 85, 48, 49, 52, 128, 78, 85, 48,
- 49, 51, 128, 78, 85, 48, 49, 50, 128, 78, 85, 48, 49, 49, 65, 128, 78,
- 85, 48, 49, 49, 128, 78, 85, 48, 49, 48, 65, 128, 78, 85, 48, 49, 48,
- 128, 78, 85, 48, 48, 57, 128, 78, 85, 48, 48, 56, 128, 78, 85, 48, 48,
- 55, 128, 78, 85, 48, 48, 54, 128, 78, 85, 48, 48, 53, 128, 78, 85, 48,
- 48, 52, 128, 78, 85, 48, 48, 51, 128, 78, 85, 48, 48, 50, 128, 78, 85,
- 48, 48, 49, 128, 78, 84, 85, 85, 128, 78, 84, 85, 77, 128, 78, 84, 213,
- 78, 84, 79, 81, 80, 69, 78, 128, 78, 84, 73, 69, 197, 78, 84, 69, 85, 78,
- 71, 66, 65, 128, 78, 84, 69, 85, 77, 128, 78, 84, 69, 78, 128, 78, 84,
- 69, 69, 128, 78, 84, 65, 80, 128, 78, 84, 65, 208, 78, 84, 65, 65, 128,
- 78, 83, 85, 79, 212, 78, 83, 85, 78, 128, 78, 83, 85, 77, 128, 78, 83,
- 79, 77, 128, 78, 83, 73, 69, 69, 84, 128, 78, 83, 73, 69, 69, 80, 128,
- 78, 83, 73, 69, 69, 128, 78, 83, 72, 85, 84, 128, 78, 83, 72, 85, 212,
- 78, 83, 72, 85, 79, 80, 128, 78, 83, 72, 85, 69, 128, 78, 83, 72, 73, 69,
- 69, 128, 78, 83, 72, 69, 69, 128, 78, 83, 72, 65, 81, 128, 78, 83, 72,
- 65, 128, 78, 83, 69, 85, 65, 69, 78, 128, 78, 83, 69, 78, 128, 78, 83,
- 65, 128, 78, 82, 89, 88, 128, 78, 82, 89, 84, 128, 78, 82, 89, 82, 88,
- 128, 78, 82, 89, 82, 128, 78, 82, 89, 80, 128, 78, 82, 89, 128, 78, 82,
- 85, 88, 128, 78, 82, 85, 84, 128, 78, 82, 85, 82, 88, 128, 78, 82, 85,
- 82, 128, 78, 82, 85, 80, 128, 78, 82, 85, 128, 78, 82, 79, 88, 128, 78,
- 82, 79, 80, 128, 78, 82, 79, 128, 78, 82, 69, 88, 128, 78, 82, 69, 84,
- 128, 78, 82, 69, 80, 128, 78, 82, 69, 128, 78, 82, 65, 88, 128, 78, 82,
- 65, 84, 128, 78, 82, 65, 80, 128, 78, 82, 65, 128, 78, 79, 89, 128, 78,
- 79, 88, 128, 78, 79, 86, 69, 77, 66, 69, 82, 128, 78, 79, 84, 84, 79,
- 128, 78, 79, 84, 69, 83, 128, 78, 79, 84, 69, 72, 69, 65, 68, 128, 78,
- 79, 84, 69, 72, 69, 65, 196, 78, 79, 84, 69, 66, 79, 79, 75, 128, 78, 79,
- 84, 69, 66, 79, 79, 203, 78, 79, 84, 69, 128, 78, 79, 84, 197, 78, 79,
- 84, 67, 72, 69, 196, 78, 79, 84, 67, 72, 128, 78, 79, 84, 128, 78, 79,
- 212, 78, 79, 83, 69, 128, 78, 79, 82, 84, 72, 87, 69, 83, 212, 78, 79,
- 82, 84, 72, 69, 82, 206, 78, 79, 82, 84, 200, 78, 79, 82, 77, 65, 204,
- 78, 79, 210, 78, 79, 80, 128, 78, 79, 79, 78, 85, 128, 78, 79, 79, 128,
- 78, 79, 78, 70, 79, 82, 75, 73, 78, 71, 128, 78, 79, 78, 45, 80, 79, 84,
- 65, 66, 76, 197, 78, 79, 78, 45, 74, 79, 73, 78, 69, 82, 128, 78, 79, 78,
- 45, 66, 82, 69, 65, 75, 73, 78, 199, 78, 79, 77, 73, 78, 65, 204, 78, 79,
- 75, 72, 85, 75, 128, 78, 79, 68, 69, 128, 78, 79, 65, 128, 78, 79, 45,
- 66, 82, 69, 65, 203, 78, 78, 79, 128, 78, 78, 78, 65, 128, 78, 78, 71,
- 79, 79, 128, 78, 78, 71, 79, 128, 78, 78, 71, 73, 73, 128, 78, 78, 71,
- 73, 128, 78, 78, 71, 65, 65, 128, 78, 78, 71, 65, 128, 78, 78, 71, 128,
- 78, 77, 128, 78, 76, 48, 50, 48, 128, 78, 76, 48, 49, 57, 128, 78, 76,
- 48, 49, 56, 128, 78, 76, 48, 49, 55, 65, 128, 78, 76, 48, 49, 55, 128,
- 78, 76, 48, 49, 54, 128, 78, 76, 48, 49, 53, 128, 78, 76, 48, 49, 52,
- 128, 78, 76, 48, 49, 51, 128, 78, 76, 48, 49, 50, 128, 78, 76, 48, 49,
- 49, 128, 78, 76, 48, 49, 48, 128, 78, 76, 48, 48, 57, 128, 78, 76, 48,
- 48, 56, 128, 78, 76, 48, 48, 55, 128, 78, 76, 48, 48, 54, 128, 78, 76,
- 48, 48, 53, 65, 128, 78, 76, 48, 48, 53, 128, 78, 76, 48, 48, 52, 128,
- 78, 76, 48, 48, 51, 128, 78, 76, 48, 48, 50, 128, 78, 76, 48, 48, 49,
- 128, 78, 75, 79, 77, 128, 78, 75, 207, 78, 75, 73, 78, 68, 73, 128, 78,
- 75, 65, 65, 82, 65, 69, 128, 78, 74, 89, 88, 128, 78, 74, 89, 84, 128,
- 78, 74, 89, 82, 88, 128, 78, 74, 89, 82, 128, 78, 74, 89, 80, 128, 78,
- 74, 89, 128, 78, 74, 85, 88, 128, 78, 74, 85, 82, 88, 128, 78, 74, 85,
- 82, 128, 78, 74, 85, 81, 65, 128, 78, 74, 85, 80, 128, 78, 74, 85, 79,
- 88, 128, 78, 74, 85, 79, 128, 78, 74, 85, 69, 81, 128, 78, 74, 85, 65,
- 69, 128, 78, 74, 85, 128, 78, 74, 79, 88, 128, 78, 74, 79, 84, 128, 78,
- 74, 79, 80, 128, 78, 74, 79, 79, 128, 78, 74, 79, 128, 78, 74, 73, 88,
- 128, 78, 74, 73, 84, 128, 78, 74, 73, 80, 128, 78, 74, 73, 69, 88, 128,
- 78, 74, 73, 69, 84, 128, 78, 74, 73, 69, 80, 128, 78, 74, 73, 69, 69,
- 128, 78, 74, 73, 69, 128, 78, 74, 73, 128, 78, 74, 201, 78, 74, 69, 85,
- 88, 128, 78, 74, 69, 85, 84, 128, 78, 74, 69, 85, 65, 69, 78, 65, 128,
- 78, 74, 69, 85, 65, 69, 77, 128, 78, 74, 69, 69, 69, 69, 128, 78, 74, 69,
- 69, 128, 78, 74, 69, 197, 78, 74, 69, 128, 78, 74, 65, 81, 128, 78, 74,
- 65, 80, 128, 78, 74, 65, 69, 77, 76, 73, 128, 78, 74, 65, 69, 77, 128,
- 78, 74, 65, 65, 128, 78, 74, 128, 78, 73, 88, 128, 78, 73, 84, 82, 69,
- 128, 78, 73, 83, 65, 71, 128, 78, 73, 82, 85, 71, 85, 128, 78, 73, 80,
- 128, 78, 73, 78, 84, 72, 128, 78, 73, 78, 69, 84, 89, 128, 78, 73, 78,
- 69, 84, 217, 78, 73, 78, 69, 84, 69, 69, 78, 128, 78, 73, 78, 69, 84, 69,
- 69, 206, 78, 73, 78, 69, 45, 84, 72, 73, 82, 84, 89, 128, 78, 73, 78,
- 197, 78, 73, 78, 68, 65, 50, 128, 78, 73, 78, 68, 65, 178, 78, 73, 77,
- 128, 78, 73, 205, 78, 73, 75, 72, 65, 72, 73, 84, 128, 78, 73, 75, 65,
- 72, 73, 84, 128, 78, 73, 75, 65, 128, 78, 73, 73, 128, 78, 73, 72, 83,
- 72, 86, 65, 83, 65, 128, 78, 73, 71, 73, 68, 65, 77, 73, 78, 128, 78, 73,
- 71, 73, 68, 65, 69, 83, 72, 128, 78, 73, 71, 72, 84, 128, 78, 73, 71, 72,
- 212, 78, 73, 71, 71, 65, 72, 73, 84, 65, 128, 78, 73, 69, 88, 128, 78,
- 73, 69, 85, 78, 45, 84, 73, 75, 69, 85, 84, 128, 78, 73, 69, 85, 78, 45,
- 84, 72, 73, 69, 85, 84, 72, 128, 78, 73, 69, 85, 78, 45, 83, 73, 79, 83,
- 128, 78, 73, 69, 85, 78, 45, 82, 73, 69, 85, 76, 128, 78, 73, 69, 85, 78,
- 45, 80, 73, 69, 85, 80, 128, 78, 73, 69, 85, 78, 45, 80, 65, 78, 83, 73,
- 79, 83, 128, 78, 73, 69, 85, 78, 45, 75, 73, 89, 69, 79, 75, 128, 78, 73,
- 69, 85, 78, 45, 72, 73, 69, 85, 72, 128, 78, 73, 69, 85, 78, 45, 67, 73,
- 69, 85, 67, 128, 78, 73, 69, 85, 78, 45, 67, 72, 73, 69, 85, 67, 72, 128,
- 78, 73, 69, 85, 206, 78, 73, 69, 80, 128, 78, 73, 69, 128, 78, 73, 66,
- 128, 78, 73, 65, 128, 78, 73, 50, 128, 78, 72, 85, 69, 128, 78, 72, 74,
- 65, 128, 78, 72, 65, 128, 78, 72, 128, 78, 71, 89, 69, 128, 78, 71, 86,
- 69, 128, 78, 71, 85, 79, 88, 128, 78, 71, 85, 79, 84, 128, 78, 71, 85,
- 79, 128, 78, 71, 85, 65, 69, 84, 128, 78, 71, 85, 65, 69, 128, 78, 71,
- 79, 88, 128, 78, 71, 79, 85, 128, 78, 71, 79, 213, 78, 71, 79, 84, 128,
- 78, 71, 79, 81, 128, 78, 71, 79, 80, 128, 78, 71, 79, 78, 128, 78, 71,
- 79, 77, 128, 78, 71, 79, 69, 72, 128, 78, 71, 79, 69, 200, 78, 71, 207,
- 78, 71, 75, 89, 69, 69, 128, 78, 71, 75, 87, 65, 69, 78, 128, 78, 71, 75,
- 85, 80, 128, 78, 71, 75, 85, 78, 128, 78, 71, 75, 85, 77, 128, 78, 71,
- 75, 85, 69, 78, 90, 69, 85, 77, 128, 78, 71, 75, 85, 197, 78, 71, 75, 73,
- 78, 68, 201, 78, 71, 75, 73, 69, 69, 128, 78, 71, 75, 69, 85, 88, 128,
- 78, 71, 75, 69, 85, 82, 73, 128, 78, 71, 75, 69, 85, 65, 69, 81, 128, 78,
- 71, 75, 69, 85, 65, 69, 77, 128, 78, 71, 75, 65, 81, 128, 78, 71, 75, 65,
- 80, 128, 78, 71, 75, 65, 65, 77, 73, 128, 78, 71, 75, 65, 128, 78, 71,
- 73, 69, 88, 128, 78, 71, 73, 69, 80, 128, 78, 71, 73, 69, 128, 78, 71,
- 71, 87, 65, 69, 78, 128, 78, 71, 71, 85, 82, 65, 69, 128, 78, 71, 71, 85,
- 80, 128, 78, 71, 71, 85, 79, 81, 128, 78, 71, 71, 85, 79, 209, 78, 71,
- 71, 85, 79, 78, 128, 78, 71, 71, 85, 79, 77, 128, 78, 71, 71, 85, 77,
- 128, 78, 71, 71, 85, 69, 69, 84, 128, 78, 71, 71, 85, 65, 69, 83, 72, 65,
- 197, 78, 71, 71, 85, 65, 69, 206, 78, 71, 71, 85, 128, 78, 71, 71, 79,
- 79, 128, 78, 71, 71, 79, 128, 78, 71, 71, 73, 128, 78, 71, 71, 69, 85,
- 88, 128, 78, 71, 71, 69, 85, 65, 69, 84, 128, 78, 71, 71, 69, 85, 65, 69,
- 128, 78, 71, 71, 69, 213, 78, 71, 71, 69, 78, 128, 78, 71, 71, 69, 69,
- 84, 128, 78, 71, 71, 69, 69, 69, 69, 128, 78, 71, 71, 69, 69, 128, 78,
- 71, 71, 69, 128, 78, 71, 71, 65, 80, 128, 78, 71, 71, 65, 65, 77, 65, 69,
- 128, 78, 71, 71, 65, 65, 77, 128, 78, 71, 71, 128, 78, 71, 69, 88, 128,
- 78, 71, 69, 85, 82, 69, 85, 84, 128, 78, 71, 69, 80, 128, 78, 71, 69, 78,
- 128, 78, 71, 69, 65, 68, 65, 76, 128, 78, 71, 65, 88, 128, 78, 71, 65,
- 84, 128, 78, 71, 65, 211, 78, 71, 65, 81, 128, 78, 71, 65, 80, 128, 78,
- 71, 65, 78, 71, 85, 128, 78, 71, 65, 78, 128, 78, 71, 65, 73, 128, 78,
- 71, 65, 65, 73, 128, 78, 71, 193, 78, 70, 128, 78, 69, 88, 212, 78, 69,
- 88, 128, 78, 69, 87, 83, 80, 65, 80, 69, 82, 128, 78, 69, 87, 76, 73, 78,
- 69, 128, 78, 69, 87, 128, 78, 69, 85, 84, 82, 65, 204, 78, 69, 85, 84,
- 69, 82, 128, 78, 69, 84, 128, 78, 69, 212, 78, 69, 83, 84, 69, 196, 78,
- 69, 81, 85, 68, 65, 65, 128, 78, 69, 80, 84, 85, 78, 69, 128, 78, 69, 80,
- 128, 78, 69, 79, 128, 78, 69, 207, 78, 69, 78, 65, 78, 79, 128, 78, 69,
- 78, 128, 78, 69, 73, 84, 72, 69, 210, 78, 69, 71, 65, 84, 73, 79, 206,
- 78, 69, 71, 65, 84, 69, 196, 78, 69, 69, 128, 78, 69, 67, 75, 84, 73, 69,
- 128, 78, 69, 66, 69, 78, 83, 84, 73, 77, 77, 69, 128, 78, 68, 85, 88,
- 128, 78, 68, 85, 84, 128, 78, 68, 85, 82, 88, 128, 78, 68, 85, 82, 128,
- 78, 68, 85, 80, 128, 78, 68, 85, 78, 128, 78, 68, 213, 78, 68, 79, 88,
- 128, 78, 68, 79, 84, 128, 78, 68, 79, 80, 128, 78, 68, 79, 79, 128, 78,
- 68, 79, 78, 128, 78, 68, 79, 77, 66, 85, 128, 78, 68, 79, 76, 197, 78,
- 68, 73, 88, 128, 78, 68, 73, 84, 128, 78, 68, 73, 81, 128, 78, 68, 73,
- 80, 128, 78, 68, 73, 69, 88, 128, 78, 68, 73, 69, 128, 78, 68, 73, 68,
- 65, 128, 78, 68, 73, 65, 81, 128, 78, 68, 69, 88, 128, 78, 68, 69, 85,
- 88, 128, 78, 68, 69, 85, 84, 128, 78, 68, 69, 85, 65, 69, 82, 69, 69,
- 128, 78, 68, 69, 80, 128, 78, 68, 69, 69, 128, 78, 68, 69, 128, 78, 68,
- 65, 88, 128, 78, 68, 65, 84, 128, 78, 68, 65, 80, 128, 78, 68, 65, 77,
- 128, 78, 68, 65, 65, 78, 71, 71, 69, 85, 65, 69, 84, 128, 78, 68, 65, 65,
- 128, 78, 68, 65, 193, 78, 66, 89, 88, 128, 78, 66, 89, 84, 128, 78, 66,
- 89, 82, 88, 128, 78, 66, 89, 82, 128, 78, 66, 89, 80, 128, 78, 66, 89,
- 128, 78, 66, 85, 88, 128, 78, 66, 85, 84, 128, 78, 66, 85, 82, 88, 128,
- 78, 66, 85, 82, 128, 78, 66, 85, 80, 128, 78, 66, 85, 128, 78, 66, 79,
- 88, 128, 78, 66, 79, 84, 128, 78, 66, 79, 80, 128, 78, 66, 79, 128, 78,
- 66, 73, 88, 128, 78, 66, 73, 84, 128, 78, 66, 73, 80, 128, 78, 66, 73,
- 69, 88, 128, 78, 66, 73, 69, 80, 128, 78, 66, 73, 69, 128, 78, 66, 73,
- 128, 78, 66, 65, 88, 128, 78, 66, 65, 84, 128, 78, 66, 65, 80, 128, 78,
- 66, 65, 128, 78, 65, 89, 65, 78, 78, 65, 128, 78, 65, 89, 128, 78, 65,
- 88, 73, 65, 206, 78, 65, 88, 128, 78, 65, 85, 84, 72, 83, 128, 78, 65,
- 85, 68, 73, 218, 78, 65, 84, 85, 82, 65, 204, 78, 65, 84, 73, 79, 78, 65,
- 204, 78, 65, 83, 75, 65, 80, 201, 78, 65, 83, 72, 73, 128, 78, 65, 83,
- 65, 76, 73, 90, 65, 84, 73, 79, 206, 78, 65, 82, 82, 79, 215, 78, 65, 82,
- 128, 78, 65, 81, 128, 78, 65, 79, 211, 78, 65, 78, 83, 65, 78, 65, 81,
- 128, 78, 65, 78, 71, 77, 79, 78, 84, 72, 79, 128, 78, 65, 78, 68, 128,
- 78, 65, 78, 65, 128, 78, 65, 77, 69, 128, 78, 65, 77, 197, 78, 65, 77,
- 50, 128, 78, 65, 77, 128, 78, 65, 73, 82, 193, 78, 65, 73, 204, 78, 65,
- 71, 82, 201, 78, 65, 71, 65, 82, 128, 78, 65, 71, 65, 128, 78, 65, 71,
- 193, 78, 65, 71, 128, 78, 65, 199, 78, 65, 69, 128, 78, 65, 66, 76, 65,
- 128, 78, 65, 65, 83, 73, 75, 89, 65, 89, 65, 128, 78, 65, 65, 75, 83, 73,
- 75, 89, 65, 89, 65, 128, 78, 65, 65, 73, 128, 78, 65, 65, 128, 78, 65,
- 193, 78, 65, 50, 128, 78, 48, 52, 50, 128, 78, 48, 52, 49, 128, 78, 48,
- 52, 48, 128, 78, 48, 51, 57, 128, 78, 48, 51, 56, 128, 78, 48, 51, 55,
- 65, 128, 78, 48, 51, 55, 128, 78, 48, 51, 54, 128, 78, 48, 51, 53, 65,
- 128, 78, 48, 51, 53, 128, 78, 48, 51, 52, 65, 128, 78, 48, 51, 52, 128,
- 78, 48, 51, 51, 65, 128, 78, 48, 51, 51, 128, 78, 48, 51, 50, 128, 78,
- 48, 51, 49, 128, 78, 48, 51, 48, 128, 78, 48, 50, 57, 128, 78, 48, 50,
- 56, 128, 78, 48, 50, 55, 128, 78, 48, 50, 54, 128, 78, 48, 50, 53, 65,
- 128, 78, 48, 50, 53, 128, 78, 48, 50, 52, 128, 78, 48, 50, 51, 128, 78,
- 48, 50, 50, 128, 78, 48, 50, 49, 128, 78, 48, 50, 48, 128, 78, 48, 49,
- 57, 128, 78, 48, 49, 56, 66, 128, 78, 48, 49, 56, 65, 128, 78, 48, 49,
- 56, 128, 78, 48, 49, 55, 128, 78, 48, 49, 54, 128, 78, 48, 49, 53, 128,
- 78, 48, 49, 52, 128, 78, 48, 49, 51, 128, 78, 48, 49, 50, 128, 78, 48,
- 49, 49, 128, 78, 48, 49, 48, 128, 78, 48, 48, 57, 128, 78, 48, 48, 56,
- 128, 78, 48, 48, 55, 128, 78, 48, 48, 54, 128, 78, 48, 48, 53, 128, 78,
- 48, 48, 52, 128, 78, 48, 48, 51, 128, 78, 48, 48, 50, 128, 78, 48, 48,
- 49, 128, 78, 45, 67, 82, 69, 197, 78, 45, 65, 82, 217, 77, 89, 88, 128,
- 77, 89, 84, 128, 77, 89, 83, 76, 73, 84, 69, 128, 77, 89, 80, 128, 77,
- 89, 65, 128, 77, 89, 193, 77, 89, 128, 77, 217, 77, 87, 79, 79, 128, 77,
- 87, 79, 128, 77, 87, 73, 73, 128, 77, 87, 73, 128, 77, 87, 69, 69, 128,
- 77, 87, 69, 128, 77, 87, 65, 65, 128, 77, 87, 65, 128, 77, 87, 128, 77,
- 215, 77, 86, 79, 80, 128, 77, 86, 73, 128, 77, 86, 69, 85, 65, 69, 78,
- 71, 65, 77, 128, 77, 86, 128, 77, 214, 77, 85, 88, 128, 77, 85, 85, 83,
- 73, 75, 65, 84, 79, 65, 78, 128, 77, 85, 85, 82, 68, 72, 65, 74, 193, 77,
- 85, 84, 128, 77, 85, 83, 73, 67, 128, 77, 85, 83, 73, 195, 77, 85, 83,
- 72, 82, 79, 79, 77, 128, 77, 85, 83, 72, 51, 128, 77, 85, 83, 72, 179,
- 77, 85, 83, 72, 128, 77, 85, 83, 200, 77, 85, 82, 88, 128, 77, 85, 82,
- 71, 85, 50, 128, 77, 85, 82, 69, 128, 77, 85, 82, 68, 65, 128, 77, 85,
- 82, 68, 193, 77, 85, 82, 128, 77, 85, 81, 68, 65, 77, 128, 77, 85, 80,
- 128, 77, 85, 79, 88, 128, 77, 85, 79, 84, 128, 77, 85, 79, 80, 128, 77,
- 85, 79, 77, 65, 69, 128, 77, 85, 79, 128, 77, 85, 78, 83, 85, 66, 128,
- 77, 85, 78, 65, 72, 128, 77, 85, 76, 84, 73, 83, 69, 84, 128, 77, 85, 76,
- 84, 73, 83, 69, 212, 77, 85, 76, 84, 73, 80, 76, 73, 67, 65, 84, 73, 79,
- 78, 128, 77, 85, 76, 84, 73, 80, 76, 73, 67, 65, 84, 73, 79, 206, 77, 85,
- 76, 84, 73, 80, 76, 197, 77, 85, 76, 84, 73, 79, 67, 85, 76, 65, 210, 77,
- 85, 76, 84, 73, 77, 65, 80, 128, 77, 85, 76, 84, 201, 77, 85, 75, 80, 72,
- 82, 69, 78, 71, 128, 77, 85, 73, 78, 128, 77, 85, 71, 83, 128, 77, 85,
- 71, 128, 77, 85, 199, 77, 85, 69, 128, 77, 85, 67, 72, 128, 77, 85, 67,
- 200, 77, 85, 67, 65, 65, 68, 128, 77, 85, 65, 78, 128, 77, 85, 65, 69,
- 128, 77, 85, 45, 71, 65, 65, 72, 76, 65, 193, 77, 213, 77, 83, 128, 77,
- 80, 65, 128, 77, 79, 89, 65, 73, 128, 77, 79, 88, 128, 77, 79, 86, 73,
- 197, 77, 79, 86, 69, 196, 77, 79, 85, 84, 72, 128, 77, 79, 85, 84, 200,
- 77, 79, 85, 83, 69, 128, 77, 79, 85, 83, 197, 77, 79, 85, 78, 84, 65, 73,
- 78, 83, 128, 77, 79, 85, 78, 84, 65, 73, 78, 128, 77, 79, 85, 78, 84, 65,
- 73, 206, 77, 79, 85, 78, 212, 77, 79, 85, 78, 68, 128, 77, 79, 85, 78,
- 196, 77, 79, 84, 72, 69, 82, 128, 77, 79, 84, 128, 77, 79, 82, 84, 85,
- 85, 77, 128, 77, 79, 82, 84, 65, 82, 128, 77, 79, 82, 80, 72, 79, 76, 79,
- 71, 73, 67, 65, 204, 77, 79, 82, 78, 73, 78, 71, 128, 77, 79, 80, 128,
- 77, 79, 79, 83, 69, 45, 67, 82, 69, 197, 77, 79, 79, 78, 128, 77, 79, 79,
- 206, 77, 79, 79, 77, 80, 85, 81, 128, 77, 79, 79, 77, 69, 85, 84, 128,
- 77, 79, 79, 128, 77, 79, 78, 84, 73, 69, 69, 78, 128, 77, 79, 78, 84, 72,
- 128, 77, 79, 78, 84, 200, 77, 79, 78, 83, 84, 69, 82, 128, 77, 79, 78,
- 79, 83, 84, 65, 66, 76, 197, 77, 79, 78, 79, 83, 80, 65, 67, 197, 77, 79,
- 78, 79, 82, 65, 73, 76, 128, 77, 79, 78, 79, 71, 82, 65, 80, 200, 77, 79,
- 78, 79, 71, 82, 65, 77, 77, 79, 211, 77, 79, 78, 79, 71, 82, 65, 205, 77,
- 79, 78, 79, 70, 79, 78, 73, 65, 83, 128, 77, 79, 78, 79, 67, 85, 76, 65,
- 210, 77, 79, 78, 75, 69, 89, 128, 77, 79, 78, 75, 69, 217, 77, 79, 78,
- 73, 128, 77, 79, 78, 71, 75, 69, 85, 65, 69, 81, 128, 77, 79, 78, 69,
- 217, 77, 79, 78, 128, 77, 79, 206, 77, 79, 76, 128, 77, 79, 72, 65, 77,
- 77, 65, 196, 77, 79, 68, 85, 76, 207, 77, 79, 68, 69, 83, 84, 89, 128,
- 77, 79, 68, 69, 76, 83, 128, 77, 79, 68, 69, 76, 128, 77, 79, 68, 69,
- 128, 77, 79, 66, 73, 76, 197, 77, 79, 65, 128, 77, 207, 77, 78, 89, 65,
- 205, 77, 78, 65, 83, 128, 77, 77, 128, 77, 205, 77, 76, 65, 128, 77, 76,
- 128, 77, 75, 80, 65, 82, 65, 209, 77, 73, 88, 128, 77, 73, 84, 128, 77,
- 73, 212, 77, 73, 83, 82, 65, 128, 77, 73, 82, 73, 66, 65, 65, 82, 85,
- 128, 77, 73, 82, 73, 128, 77, 73, 82, 69, 68, 128, 77, 73, 80, 128, 77,
- 73, 78, 89, 128, 77, 73, 78, 85, 83, 45, 79, 82, 45, 80, 76, 85, 211, 77,
- 73, 78, 85, 83, 128, 77, 73, 78, 73, 83, 84, 69, 82, 128, 77, 73, 78, 73,
- 77, 65, 128, 77, 73, 78, 73, 68, 73, 83, 67, 128, 77, 73, 78, 73, 66, 85,
- 83, 128, 77, 73, 77, 69, 128, 77, 73, 77, 128, 77, 73, 76, 76, 73, 79,
- 78, 211, 77, 73, 76, 76, 69, 84, 128, 77, 73, 76, 76, 197, 77, 73, 76,
- 204, 77, 73, 76, 75, 217, 77, 73, 76, 128, 77, 73, 75, 85, 82, 79, 78,
- 128, 77, 73, 75, 82, 79, 206, 77, 73, 75, 82, 73, 128, 77, 73, 73, 78,
- 128, 77, 73, 73, 128, 77, 73, 199, 77, 73, 69, 88, 128, 77, 73, 69, 85,
- 77, 45, 84, 73, 75, 69, 85, 84, 128, 77, 73, 69, 85, 77, 45, 83, 83, 65,
- 78, 71, 83, 73, 79, 83, 128, 77, 73, 69, 85, 77, 45, 83, 83, 65, 78, 71,
- 78, 73, 69, 85, 78, 128, 77, 73, 69, 85, 77, 45, 82, 73, 69, 85, 76, 128,
- 77, 73, 69, 85, 77, 45, 80, 73, 69, 85, 80, 45, 83, 73, 79, 83, 128, 77,
- 73, 69, 85, 77, 45, 80, 73, 69, 85, 80, 128, 77, 73, 69, 85, 77, 45, 80,
- 65, 78, 83, 73, 79, 83, 128, 77, 73, 69, 85, 77, 45, 78, 73, 69, 85, 78,
- 128, 77, 73, 69, 85, 77, 45, 67, 73, 69, 85, 67, 128, 77, 73, 69, 85, 77,
- 45, 67, 72, 73, 69, 85, 67, 72, 128, 77, 73, 69, 85, 205, 77, 73, 69, 80,
- 128, 77, 73, 69, 69, 128, 77, 73, 69, 128, 77, 73, 68, 76, 73, 78, 197,
- 77, 73, 68, 68, 76, 69, 45, 87, 69, 76, 83, 200, 77, 73, 68, 68, 76, 197,
- 77, 73, 196, 77, 73, 67, 82, 79, 83, 67, 79, 80, 69, 128, 77, 73, 67, 82,
- 79, 80, 72, 79, 78, 69, 128, 77, 73, 67, 82, 207, 77, 72, 90, 128, 77,
- 72, 128, 77, 71, 85, 88, 128, 77, 71, 85, 84, 128, 77, 71, 85, 82, 88,
- 128, 77, 71, 85, 82, 128, 77, 71, 85, 80, 128, 77, 71, 85, 79, 88, 128,
- 77, 71, 85, 79, 80, 128, 77, 71, 85, 79, 128, 77, 71, 85, 128, 77, 71,
- 79, 88, 128, 77, 71, 79, 84, 128, 77, 71, 79, 80, 128, 77, 71, 79, 128,
- 77, 71, 207, 77, 71, 73, 69, 88, 128, 77, 71, 73, 69, 128, 77, 71, 69,
- 88, 128, 77, 71, 69, 80, 128, 77, 71, 69, 128, 77, 71, 66, 85, 128, 77,
- 71, 66, 79, 79, 128, 77, 71, 66, 79, 70, 85, 77, 128, 77, 71, 66, 79,
- 128, 77, 71, 66, 73, 128, 77, 71, 66, 69, 85, 78, 128, 77, 71, 66, 69,
- 78, 128, 77, 71, 66, 69, 69, 128, 77, 71, 66, 69, 128, 77, 71, 66, 65,
- 83, 65, 81, 128, 77, 71, 66, 65, 83, 65, 128, 77, 71, 65, 88, 128, 77,
- 71, 65, 84, 128, 77, 71, 65, 80, 128, 77, 71, 65, 128, 77, 71, 128, 77,
- 70, 79, 78, 128, 77, 70, 79, 206, 77, 70, 79, 128, 77, 70, 73, 89, 65,
- 81, 128, 77, 70, 73, 69, 69, 128, 77, 70, 69, 85, 84, 128, 77, 70, 69,
- 85, 81, 128, 77, 70, 69, 85, 65, 69, 128, 77, 70, 65, 65, 128, 77, 69,
- 90, 90, 79, 128, 77, 69, 88, 128, 77, 69, 85, 212, 77, 69, 85, 81, 128,
- 77, 69, 85, 78, 74, 79, 77, 78, 68, 69, 85, 81, 128, 77, 69, 85, 78, 128,
- 77, 69, 84, 82, 79, 128, 77, 69, 84, 82, 73, 67, 65, 204, 77, 69, 84, 82,
- 73, 65, 128, 77, 69, 84, 82, 69, 84, 69, 211, 77, 69, 84, 79, 66, 69, 76,
- 85, 83, 128, 77, 69, 84, 69, 75, 128, 77, 69, 84, 69, 71, 128, 77, 69,
- 84, 65, 76, 128, 77, 69, 84, 193, 77, 69, 83, 83, 69, 78, 73, 65, 206,
- 77, 69, 83, 79, 128, 77, 69, 83, 73, 128, 77, 69, 83, 72, 128, 77, 69,
- 82, 75, 72, 65, 128, 77, 69, 82, 75, 72, 193, 77, 69, 82, 73, 68, 73, 65,
- 78, 83, 128, 77, 69, 82, 73, 128, 77, 69, 82, 71, 69, 128, 77, 69, 82,
- 67, 85, 82, 89, 128, 77, 69, 82, 67, 85, 82, 217, 77, 69, 78, 68, 85, 84,
- 128, 77, 69, 78, 128, 77, 69, 77, 79, 128, 77, 69, 77, 66, 69, 82, 83,
- 72, 73, 80, 128, 77, 69, 77, 66, 69, 82, 128, 77, 69, 77, 66, 69, 210,
- 77, 69, 77, 45, 81, 79, 80, 72, 128, 77, 69, 77, 128, 77, 69, 205, 77,
- 69, 76, 79, 68, 73, 195, 77, 69, 76, 73, 75, 128, 77, 69, 73, 90, 73,
- 128, 77, 69, 71, 65, 84, 79, 78, 128, 77, 69, 71, 65, 80, 72, 79, 78, 69,
- 128, 77, 69, 71, 65, 76, 73, 128, 77, 69, 69, 84, 79, 82, 85, 128, 77,
- 69, 69, 84, 69, 201, 77, 69, 69, 84, 128, 77, 69, 69, 77, 85, 128, 77,
- 69, 69, 77, 128, 77, 69, 69, 69, 69, 128, 77, 69, 69, 128, 77, 69, 68,
- 73, 85, 77, 128, 77, 69, 68, 73, 85, 205, 77, 69, 68, 73, 67, 73, 78, 69,
- 128, 77, 69, 68, 73, 67, 65, 204, 77, 69, 65, 84, 128, 77, 69, 65, 212,
- 77, 69, 65, 83, 85, 82, 69, 196, 77, 69, 65, 83, 85, 82, 69, 128, 77, 69,
- 65, 83, 85, 82, 197, 77, 68, 85, 206, 77, 67, 72, 213, 77, 67, 72, 65,
- 206, 77, 66, 85, 79, 81, 128, 77, 66, 85, 79, 128, 77, 66, 85, 69, 128,
- 77, 66, 85, 65, 69, 77, 128, 77, 66, 85, 65, 69, 128, 77, 66, 79, 79,
- 128, 77, 66, 79, 128, 77, 66, 73, 84, 128, 77, 66, 73, 212, 77, 66, 73,
- 82, 73, 69, 69, 78, 128, 77, 66, 73, 128, 77, 66, 69, 85, 88, 128, 77,
- 66, 69, 85, 82, 73, 128, 77, 66, 69, 85, 77, 128, 77, 66, 69, 82, 65, 69,
- 128, 77, 66, 69, 78, 128, 77, 66, 69, 69, 75, 69, 69, 84, 128, 77, 66,
- 69, 69, 128, 77, 66, 69, 128, 77, 66, 65, 81, 128, 77, 66, 65, 78, 89,
- 73, 128, 77, 66, 65, 65, 82, 65, 69, 128, 77, 66, 65, 65, 75, 69, 84,
- 128, 77, 66, 65, 65, 128, 77, 66, 65, 193, 77, 66, 193, 77, 66, 52, 128,
- 77, 66, 51, 128, 77, 66, 50, 128, 77, 66, 128, 77, 194, 77, 65, 89, 69,
- 203, 77, 65, 89, 65, 78, 78, 65, 128, 77, 65, 89, 128, 77, 65, 88, 73,
- 77, 65, 128, 77, 65, 88, 128, 77, 65, 84, 84, 79, 67, 75, 128, 77, 65,
- 84, 82, 73, 88, 128, 77, 65, 84, 69, 82, 73, 65, 76, 83, 128, 77, 65, 84,
+ 89, 85, 85, 128, 78, 89, 85, 84, 128, 78, 89, 85, 80, 128, 78, 89, 85,
+ 79, 88, 128, 78, 89, 85, 79, 80, 128, 78, 89, 85, 79, 128, 78, 89, 85,
+ 69, 128, 78, 89, 85, 128, 78, 89, 79, 88, 128, 78, 89, 79, 84, 128, 78,
+ 89, 79, 80, 128, 78, 89, 79, 79, 128, 78, 89, 79, 65, 128, 78, 89, 79,
+ 128, 78, 89, 74, 65, 128, 78, 89, 73, 88, 128, 78, 89, 73, 84, 128, 78,
+ 89, 73, 212, 78, 89, 73, 211, 78, 89, 73, 210, 78, 89, 73, 80, 128, 78,
+ 89, 73, 78, 45, 68, 79, 128, 78, 89, 73, 73, 128, 78, 89, 73, 69, 88,
+ 128, 78, 89, 73, 69, 84, 128, 78, 89, 73, 69, 80, 128, 78, 89, 73, 69,
+ 128, 78, 89, 73, 128, 78, 89, 201, 78, 89, 69, 84, 128, 78, 89, 69, 212,
+ 78, 89, 69, 72, 128, 78, 89, 69, 200, 78, 89, 69, 69, 128, 78, 89, 69,
+ 128, 78, 89, 196, 78, 89, 67, 65, 128, 78, 89, 65, 85, 128, 78, 89, 65,
+ 73, 128, 78, 89, 65, 69, 77, 65, 69, 128, 78, 89, 65, 65, 128, 78, 87,
+ 79, 79, 128, 78, 87, 79, 128, 78, 87, 73, 73, 128, 78, 87, 73, 128, 78,
+ 87, 69, 128, 78, 87, 65, 65, 128, 78, 87, 65, 128, 78, 87, 128, 78, 86,
+ 128, 78, 85, 88, 128, 78, 85, 85, 78, 128, 78, 85, 85, 128, 78, 85, 84,
+ 73, 76, 76, 85, 128, 78, 85, 84, 128, 78, 85, 212, 78, 85, 82, 88, 128,
+ 78, 85, 82, 128, 78, 85, 80, 128, 78, 85, 79, 88, 128, 78, 85, 79, 80,
+ 128, 78, 85, 79, 128, 78, 85, 78, 85, 90, 128, 78, 85, 78, 85, 218, 78,
+ 85, 78, 71, 128, 78, 85, 78, 65, 86, 85, 212, 78, 85, 78, 65, 86, 73,
+ 203, 78, 85, 78, 128, 78, 85, 206, 78, 85, 77, 69, 82, 207, 78, 85, 77,
+ 69, 82, 65, 84, 79, 210, 78, 85, 77, 69, 82, 65, 204, 78, 85, 77, 66, 69,
+ 82, 83, 128, 78, 85, 77, 66, 69, 82, 128, 78, 85, 77, 128, 78, 85, 76,
+ 76, 128, 78, 85, 76, 204, 78, 85, 75, 84, 65, 128, 78, 85, 69, 78, 71,
+ 128, 78, 85, 69, 128, 78, 85, 66, 73, 65, 206, 78, 85, 65, 69, 128, 78,
+ 85, 49, 49, 128, 78, 85, 48, 50, 50, 65, 128, 78, 85, 48, 50, 50, 128,
+ 78, 85, 48, 50, 49, 128, 78, 85, 48, 50, 48, 128, 78, 85, 48, 49, 57,
+ 128, 78, 85, 48, 49, 56, 65, 128, 78, 85, 48, 49, 56, 128, 78, 85, 48,
+ 49, 55, 128, 78, 85, 48, 49, 54, 128, 78, 85, 48, 49, 53, 128, 78, 85,
+ 48, 49, 52, 128, 78, 85, 48, 49, 51, 128, 78, 85, 48, 49, 50, 128, 78,
+ 85, 48, 49, 49, 65, 128, 78, 85, 48, 49, 49, 128, 78, 85, 48, 49, 48, 65,
+ 128, 78, 85, 48, 49, 48, 128, 78, 85, 48, 48, 57, 128, 78, 85, 48, 48,
+ 56, 128, 78, 85, 48, 48, 55, 128, 78, 85, 48, 48, 54, 128, 78, 85, 48,
+ 48, 53, 128, 78, 85, 48, 48, 52, 128, 78, 85, 48, 48, 51, 128, 78, 85,
+ 48, 48, 50, 128, 78, 85, 48, 48, 49, 128, 78, 84, 85, 85, 128, 78, 84,
+ 85, 77, 128, 78, 84, 213, 78, 84, 79, 81, 80, 69, 78, 128, 78, 84, 73,
+ 69, 197, 78, 84, 69, 85, 78, 71, 66, 65, 128, 78, 84, 69, 85, 77, 128,
+ 78, 84, 69, 78, 128, 78, 84, 69, 69, 128, 78, 84, 65, 80, 128, 78, 84,
+ 65, 208, 78, 84, 65, 65, 128, 78, 83, 85, 79, 212, 78, 83, 85, 78, 128,
+ 78, 83, 85, 77, 128, 78, 83, 79, 77, 128, 78, 83, 73, 69, 69, 84, 128,
+ 78, 83, 73, 69, 69, 80, 128, 78, 83, 73, 69, 69, 128, 78, 83, 72, 85, 84,
+ 128, 78, 83, 72, 85, 212, 78, 83, 72, 85, 79, 80, 128, 78, 83, 72, 85,
+ 69, 128, 78, 83, 72, 73, 69, 69, 128, 78, 83, 72, 69, 69, 128, 78, 83,
+ 72, 65, 81, 128, 78, 83, 72, 65, 128, 78, 83, 69, 85, 65, 69, 78, 128,
+ 78, 83, 69, 78, 128, 78, 83, 65, 128, 78, 82, 89, 88, 128, 78, 82, 89,
+ 84, 128, 78, 82, 89, 82, 88, 128, 78, 82, 89, 82, 128, 78, 82, 89, 80,
+ 128, 78, 82, 89, 128, 78, 82, 85, 88, 128, 78, 82, 85, 84, 128, 78, 82,
+ 85, 82, 88, 128, 78, 82, 85, 82, 128, 78, 82, 85, 80, 128, 78, 82, 85,
+ 128, 78, 82, 79, 88, 128, 78, 82, 79, 80, 128, 78, 82, 79, 128, 78, 82,
+ 69, 88, 128, 78, 82, 69, 84, 128, 78, 82, 69, 80, 128, 78, 82, 69, 128,
+ 78, 82, 65, 88, 128, 78, 82, 65, 84, 128, 78, 82, 65, 80, 128, 78, 82,
+ 65, 128, 78, 79, 89, 128, 78, 79, 88, 128, 78, 79, 86, 69, 77, 66, 69,
+ 82, 128, 78, 79, 84, 84, 79, 128, 78, 79, 84, 69, 83, 128, 78, 79, 84,
+ 69, 72, 69, 65, 68, 128, 78, 79, 84, 69, 72, 69, 65, 196, 78, 79, 84, 69,
+ 66, 79, 79, 75, 128, 78, 79, 84, 69, 66, 79, 79, 203, 78, 79, 84, 69,
+ 128, 78, 79, 84, 197, 78, 79, 84, 67, 72, 69, 196, 78, 79, 84, 67, 72,
+ 128, 78, 79, 84, 128, 78, 79, 212, 78, 79, 83, 69, 128, 78, 79, 82, 84,
+ 72, 87, 69, 83, 212, 78, 79, 82, 84, 72, 69, 82, 206, 78, 79, 82, 84,
+ 200, 78, 79, 82, 77, 65, 204, 78, 79, 210, 78, 79, 80, 128, 78, 79, 79,
+ 78, 85, 128, 78, 79, 79, 128, 78, 79, 78, 70, 79, 82, 75, 73, 78, 71,
+ 128, 78, 79, 78, 45, 80, 79, 84, 65, 66, 76, 197, 78, 79, 78, 45, 74, 79,
+ 73, 78, 69, 82, 128, 78, 79, 78, 45, 66, 82, 69, 65, 75, 73, 78, 199, 78,
+ 79, 77, 73, 78, 65, 204, 78, 79, 75, 72, 85, 75, 128, 78, 79, 68, 69,
+ 128, 78, 79, 65, 128, 78, 79, 45, 66, 82, 69, 65, 203, 78, 78, 85, 85,
+ 128, 78, 78, 85, 128, 78, 78, 79, 79, 128, 78, 78, 79, 128, 78, 78, 78,
+ 85, 85, 128, 78, 78, 78, 85, 128, 78, 78, 78, 79, 79, 128, 78, 78, 78,
+ 79, 128, 78, 78, 78, 73, 73, 128, 78, 78, 78, 73, 128, 78, 78, 78, 69,
+ 69, 128, 78, 78, 78, 69, 128, 78, 78, 78, 65, 85, 128, 78, 78, 78, 65,
+ 73, 128, 78, 78, 78, 65, 65, 128, 78, 78, 78, 65, 128, 78, 78, 78, 128,
+ 78, 78, 71, 79, 79, 128, 78, 78, 71, 79, 128, 78, 78, 71, 73, 73, 128,
+ 78, 78, 71, 73, 128, 78, 78, 71, 65, 65, 128, 78, 78, 71, 65, 128, 78,
+ 78, 71, 128, 78, 77, 128, 78, 76, 48, 50, 48, 128, 78, 76, 48, 49, 57,
+ 128, 78, 76, 48, 49, 56, 128, 78, 76, 48, 49, 55, 65, 128, 78, 76, 48,
+ 49, 55, 128, 78, 76, 48, 49, 54, 128, 78, 76, 48, 49, 53, 128, 78, 76,
+ 48, 49, 52, 128, 78, 76, 48, 49, 51, 128, 78, 76, 48, 49, 50, 128, 78,
+ 76, 48, 49, 49, 128, 78, 76, 48, 49, 48, 128, 78, 76, 48, 48, 57, 128,
+ 78, 76, 48, 48, 56, 128, 78, 76, 48, 48, 55, 128, 78, 76, 48, 48, 54,
+ 128, 78, 76, 48, 48, 53, 65, 128, 78, 76, 48, 48, 53, 128, 78, 76, 48,
+ 48, 52, 128, 78, 76, 48, 48, 51, 128, 78, 76, 48, 48, 50, 128, 78, 76,
+ 48, 48, 49, 128, 78, 75, 79, 77, 128, 78, 75, 207, 78, 75, 73, 78, 68,
+ 73, 128, 78, 75, 65, 65, 82, 65, 69, 128, 78, 74, 89, 88, 128, 78, 74,
+ 89, 84, 128, 78, 74, 89, 82, 88, 128, 78, 74, 89, 82, 128, 78, 74, 89,
+ 80, 128, 78, 74, 89, 128, 78, 74, 85, 88, 128, 78, 74, 85, 82, 88, 128,
+ 78, 74, 85, 82, 128, 78, 74, 85, 81, 65, 128, 78, 74, 85, 80, 128, 78,
+ 74, 85, 79, 88, 128, 78, 74, 85, 79, 128, 78, 74, 85, 69, 81, 128, 78,
+ 74, 85, 65, 69, 128, 78, 74, 85, 128, 78, 74, 79, 88, 128, 78, 74, 79,
+ 84, 128, 78, 74, 79, 80, 128, 78, 74, 79, 79, 128, 78, 74, 79, 128, 78,
+ 74, 73, 88, 128, 78, 74, 73, 84, 128, 78, 74, 73, 80, 128, 78, 74, 73,
+ 69, 88, 128, 78, 74, 73, 69, 84, 128, 78, 74, 73, 69, 80, 128, 78, 74,
+ 73, 69, 69, 128, 78, 74, 73, 69, 128, 78, 74, 73, 128, 78, 74, 201, 78,
+ 74, 69, 85, 88, 128, 78, 74, 69, 85, 84, 128, 78, 74, 69, 85, 65, 69, 78,
+ 65, 128, 78, 74, 69, 85, 65, 69, 77, 128, 78, 74, 69, 69, 69, 69, 128,
+ 78, 74, 69, 69, 128, 78, 74, 69, 197, 78, 74, 69, 128, 78, 74, 65, 81,
+ 128, 78, 74, 65, 80, 128, 78, 74, 65, 69, 77, 76, 73, 128, 78, 74, 65,
+ 69, 77, 128, 78, 74, 65, 65, 128, 78, 74, 128, 78, 73, 88, 128, 78, 73,
+ 84, 82, 69, 128, 78, 73, 83, 65, 71, 128, 78, 73, 82, 85, 71, 85, 128,
+ 78, 73, 80, 128, 78, 73, 78, 84, 72, 128, 78, 73, 78, 69, 84, 89, 128,
+ 78, 73, 78, 69, 84, 217, 78, 73, 78, 69, 84, 69, 69, 78, 128, 78, 73, 78,
+ 69, 84, 69, 69, 206, 78, 73, 78, 69, 45, 84, 72, 73, 82, 84, 89, 128, 78,
+ 73, 78, 197, 78, 73, 78, 68, 65, 50, 128, 78, 73, 78, 68, 65, 178, 78,
+ 73, 77, 128, 78, 73, 205, 78, 73, 75, 72, 65, 72, 73, 84, 128, 78, 73,
+ 75, 65, 72, 73, 84, 128, 78, 73, 75, 65, 128, 78, 73, 72, 83, 72, 86, 65,
+ 83, 65, 128, 78, 73, 71, 73, 68, 65, 77, 73, 78, 128, 78, 73, 71, 73, 68,
+ 65, 69, 83, 72, 128, 78, 73, 71, 72, 84, 128, 78, 73, 71, 72, 212, 78,
+ 73, 71, 71, 65, 72, 73, 84, 65, 128, 78, 73, 69, 88, 128, 78, 73, 69, 85,
+ 78, 45, 84, 73, 75, 69, 85, 84, 128, 78, 73, 69, 85, 78, 45, 84, 72, 73,
+ 69, 85, 84, 72, 128, 78, 73, 69, 85, 78, 45, 83, 73, 79, 83, 128, 78, 73,
+ 69, 85, 78, 45, 82, 73, 69, 85, 76, 128, 78, 73, 69, 85, 78, 45, 80, 73,
+ 69, 85, 80, 128, 78, 73, 69, 85, 78, 45, 80, 65, 78, 83, 73, 79, 83, 128,
+ 78, 73, 69, 85, 78, 45, 75, 73, 89, 69, 79, 75, 128, 78, 73, 69, 85, 78,
+ 45, 72, 73, 69, 85, 72, 128, 78, 73, 69, 85, 78, 45, 67, 73, 69, 85, 67,
+ 128, 78, 73, 69, 85, 78, 45, 67, 72, 73, 69, 85, 67, 72, 128, 78, 73, 69,
+ 85, 206, 78, 73, 69, 80, 128, 78, 73, 69, 128, 78, 73, 66, 128, 78, 73,
+ 65, 128, 78, 73, 50, 128, 78, 72, 85, 69, 128, 78, 72, 74, 65, 128, 78,
+ 72, 65, 128, 78, 72, 128, 78, 71, 89, 69, 128, 78, 71, 86, 69, 128, 78,
+ 71, 85, 85, 128, 78, 71, 85, 79, 88, 128, 78, 71, 85, 79, 84, 128, 78,
+ 71, 85, 79, 128, 78, 71, 85, 65, 69, 84, 128, 78, 71, 85, 65, 69, 128,
+ 78, 71, 79, 88, 128, 78, 71, 79, 85, 128, 78, 71, 79, 213, 78, 71, 79,
+ 84, 128, 78, 71, 79, 81, 128, 78, 71, 79, 80, 128, 78, 71, 79, 78, 128,
+ 78, 71, 79, 77, 128, 78, 71, 79, 69, 72, 128, 78, 71, 79, 69, 200, 78,
+ 71, 207, 78, 71, 75, 89, 69, 69, 128, 78, 71, 75, 87, 65, 69, 78, 128,
+ 78, 71, 75, 85, 80, 128, 78, 71, 75, 85, 78, 128, 78, 71, 75, 85, 77,
+ 128, 78, 71, 75, 85, 69, 78, 90, 69, 85, 77, 128, 78, 71, 75, 85, 197,
+ 78, 71, 75, 73, 78, 68, 201, 78, 71, 75, 73, 69, 69, 128, 78, 71, 75, 69,
+ 85, 88, 128, 78, 71, 75, 69, 85, 82, 73, 128, 78, 71, 75, 69, 85, 65, 69,
+ 81, 128, 78, 71, 75, 69, 85, 65, 69, 77, 128, 78, 71, 75, 65, 81, 128,
+ 78, 71, 75, 65, 80, 128, 78, 71, 75, 65, 65, 77, 73, 128, 78, 71, 75, 65,
+ 128, 78, 71, 73, 69, 88, 128, 78, 71, 73, 69, 80, 128, 78, 71, 73, 69,
+ 128, 78, 71, 71, 87, 65, 69, 78, 128, 78, 71, 71, 85, 82, 65, 69, 128,
+ 78, 71, 71, 85, 80, 128, 78, 71, 71, 85, 79, 81, 128, 78, 71, 71, 85, 79,
+ 209, 78, 71, 71, 85, 79, 78, 128, 78, 71, 71, 85, 79, 77, 128, 78, 71,
+ 71, 85, 77, 128, 78, 71, 71, 85, 69, 69, 84, 128, 78, 71, 71, 85, 65, 69,
+ 83, 72, 65, 197, 78, 71, 71, 85, 65, 69, 206, 78, 71, 71, 85, 128, 78,
+ 71, 71, 79, 79, 128, 78, 71, 71, 79, 128, 78, 71, 71, 73, 128, 78, 71,
+ 71, 69, 85, 88, 128, 78, 71, 71, 69, 85, 65, 69, 84, 128, 78, 71, 71, 69,
+ 85, 65, 69, 128, 78, 71, 71, 69, 213, 78, 71, 71, 69, 78, 128, 78, 71,
+ 71, 69, 69, 84, 128, 78, 71, 71, 69, 69, 69, 69, 128, 78, 71, 71, 69, 69,
+ 128, 78, 71, 71, 69, 128, 78, 71, 71, 65, 80, 128, 78, 71, 71, 65, 65,
+ 77, 65, 69, 128, 78, 71, 71, 65, 65, 77, 128, 78, 71, 71, 128, 78, 71,
+ 69, 88, 128, 78, 71, 69, 85, 82, 69, 85, 84, 128, 78, 71, 69, 80, 128,
+ 78, 71, 69, 78, 128, 78, 71, 69, 69, 128, 78, 71, 69, 65, 68, 65, 76,
+ 128, 78, 71, 65, 88, 128, 78, 71, 65, 85, 128, 78, 71, 65, 84, 128, 78,
+ 71, 65, 211, 78, 71, 65, 81, 128, 78, 71, 65, 80, 128, 78, 71, 65, 78,
+ 71, 85, 128, 78, 71, 65, 78, 128, 78, 71, 65, 73, 128, 78, 71, 65, 65,
+ 73, 128, 78, 71, 193, 78, 70, 128, 78, 69, 88, 212, 78, 69, 88, 128, 78,
+ 69, 87, 83, 80, 65, 80, 69, 82, 128, 78, 69, 87, 76, 73, 78, 69, 128, 78,
+ 69, 87, 128, 78, 69, 85, 84, 82, 65, 204, 78, 69, 85, 84, 69, 82, 128,
+ 78, 69, 84, 128, 78, 69, 212, 78, 69, 83, 84, 69, 196, 78, 69, 81, 85,
+ 68, 65, 65, 128, 78, 69, 80, 84, 85, 78, 69, 128, 78, 69, 80, 128, 78,
+ 69, 79, 128, 78, 69, 207, 78, 69, 78, 65, 78, 79, 128, 78, 69, 78, 128,
+ 78, 69, 73, 84, 72, 69, 210, 78, 69, 71, 65, 84, 73, 79, 206, 78, 69, 71,
+ 65, 84, 69, 196, 78, 69, 67, 75, 84, 73, 69, 128, 78, 69, 66, 69, 78, 83,
+ 84, 73, 77, 77, 69, 128, 78, 68, 85, 88, 128, 78, 68, 85, 84, 128, 78,
+ 68, 85, 82, 88, 128, 78, 68, 85, 82, 128, 78, 68, 85, 80, 128, 78, 68,
+ 85, 78, 128, 78, 68, 213, 78, 68, 79, 88, 128, 78, 68, 79, 84, 128, 78,
+ 68, 79, 80, 128, 78, 68, 79, 79, 128, 78, 68, 79, 78, 128, 78, 68, 79,
+ 77, 66, 85, 128, 78, 68, 79, 76, 197, 78, 68, 73, 88, 128, 78, 68, 73,
+ 84, 128, 78, 68, 73, 81, 128, 78, 68, 73, 80, 128, 78, 68, 73, 69, 88,
+ 128, 78, 68, 73, 69, 128, 78, 68, 73, 68, 65, 128, 78, 68, 73, 65, 81,
+ 128, 78, 68, 69, 88, 128, 78, 68, 69, 85, 88, 128, 78, 68, 69, 85, 84,
+ 128, 78, 68, 69, 85, 65, 69, 82, 69, 69, 128, 78, 68, 69, 80, 128, 78,
+ 68, 69, 69, 128, 78, 68, 69, 128, 78, 68, 65, 88, 128, 78, 68, 65, 84,
+ 128, 78, 68, 65, 80, 128, 78, 68, 65, 77, 128, 78, 68, 65, 65, 78, 71,
+ 71, 69, 85, 65, 69, 84, 128, 78, 68, 65, 65, 128, 78, 68, 65, 193, 78,
+ 66, 89, 88, 128, 78, 66, 89, 84, 128, 78, 66, 89, 82, 88, 128, 78, 66,
+ 89, 82, 128, 78, 66, 89, 80, 128, 78, 66, 89, 128, 78, 66, 85, 88, 128,
+ 78, 66, 85, 84, 128, 78, 66, 85, 82, 88, 128, 78, 66, 85, 82, 128, 78,
+ 66, 85, 80, 128, 78, 66, 85, 128, 78, 66, 79, 88, 128, 78, 66, 79, 84,
+ 128, 78, 66, 79, 80, 128, 78, 66, 79, 128, 78, 66, 73, 88, 128, 78, 66,
+ 73, 84, 128, 78, 66, 73, 80, 128, 78, 66, 73, 69, 88, 128, 78, 66, 73,
+ 69, 80, 128, 78, 66, 73, 69, 128, 78, 66, 73, 128, 78, 66, 65, 88, 128,
+ 78, 66, 65, 84, 128, 78, 66, 65, 80, 128, 78, 66, 65, 128, 78, 65, 89,
+ 65, 78, 78, 65, 128, 78, 65, 89, 128, 78, 65, 88, 73, 65, 206, 78, 65,
+ 88, 128, 78, 65, 85, 84, 72, 83, 128, 78, 65, 85, 68, 73, 218, 78, 65,
+ 84, 85, 82, 65, 204, 78, 65, 84, 73, 79, 78, 65, 204, 78, 65, 83, 75, 65,
+ 80, 201, 78, 65, 83, 72, 73, 128, 78, 65, 83, 65, 76, 73, 90, 65, 84, 73,
+ 79, 206, 78, 65, 82, 82, 79, 215, 78, 65, 82, 128, 78, 65, 81, 128, 78,
+ 65, 79, 211, 78, 65, 78, 83, 65, 78, 65, 81, 128, 78, 65, 78, 71, 77, 79,
+ 78, 84, 72, 79, 128, 78, 65, 78, 68, 128, 78, 65, 78, 65, 128, 78, 65,
+ 77, 69, 128, 78, 65, 77, 197, 78, 65, 77, 50, 128, 78, 65, 77, 128, 78,
+ 65, 73, 82, 193, 78, 65, 73, 204, 78, 65, 71, 82, 201, 78, 65, 71, 65,
+ 82, 128, 78, 65, 71, 65, 128, 78, 65, 71, 193, 78, 65, 71, 128, 78, 65,
+ 199, 78, 65, 69, 128, 78, 65, 66, 76, 65, 128, 78, 65, 65, 83, 73, 75,
+ 89, 65, 89, 65, 128, 78, 65, 65, 75, 83, 73, 75, 89, 65, 89, 65, 128, 78,
+ 65, 65, 73, 128, 78, 65, 193, 78, 65, 50, 128, 78, 48, 52, 50, 128, 78,
+ 48, 52, 49, 128, 78, 48, 52, 48, 128, 78, 48, 51, 57, 128, 78, 48, 51,
+ 56, 128, 78, 48, 51, 55, 65, 128, 78, 48, 51, 55, 128, 78, 48, 51, 54,
+ 128, 78, 48, 51, 53, 65, 128, 78, 48, 51, 53, 128, 78, 48, 51, 52, 65,
+ 128, 78, 48, 51, 52, 128, 78, 48, 51, 51, 65, 128, 78, 48, 51, 51, 128,
+ 78, 48, 51, 50, 128, 78, 48, 51, 49, 128, 78, 48, 51, 48, 128, 78, 48,
+ 50, 57, 128, 78, 48, 50, 56, 128, 78, 48, 50, 55, 128, 78, 48, 50, 54,
+ 128, 78, 48, 50, 53, 65, 128, 78, 48, 50, 53, 128, 78, 48, 50, 52, 128,
+ 78, 48, 50, 51, 128, 78, 48, 50, 50, 128, 78, 48, 50, 49, 128, 78, 48,
+ 50, 48, 128, 78, 48, 49, 57, 128, 78, 48, 49, 56, 66, 128, 78, 48, 49,
+ 56, 65, 128, 78, 48, 49, 56, 128, 78, 48, 49, 55, 128, 78, 48, 49, 54,
+ 128, 78, 48, 49, 53, 128, 78, 48, 49, 52, 128, 78, 48, 49, 51, 128, 78,
+ 48, 49, 50, 128, 78, 48, 49, 49, 128, 78, 48, 49, 48, 128, 78, 48, 48,
+ 57, 128, 78, 48, 48, 56, 128, 78, 48, 48, 55, 128, 78, 48, 48, 54, 128,
+ 78, 48, 48, 53, 128, 78, 48, 48, 52, 128, 78, 48, 48, 51, 128, 78, 48,
+ 48, 50, 128, 78, 48, 48, 49, 128, 78, 45, 67, 82, 69, 197, 78, 45, 65,
+ 82, 217, 77, 89, 88, 128, 77, 89, 84, 128, 77, 89, 83, 76, 73, 84, 69,
+ 128, 77, 89, 80, 128, 77, 89, 65, 128, 77, 89, 193, 77, 89, 128, 77, 217,
+ 77, 87, 79, 79, 128, 77, 87, 79, 128, 77, 87, 73, 73, 128, 77, 87, 73,
+ 128, 77, 87, 69, 69, 128, 77, 87, 69, 128, 77, 87, 65, 65, 128, 77, 87,
+ 65, 128, 77, 87, 128, 77, 215, 77, 86, 79, 80, 128, 77, 86, 73, 128, 77,
+ 86, 69, 85, 65, 69, 78, 71, 65, 77, 128, 77, 86, 128, 77, 214, 77, 85,
+ 88, 128, 77, 85, 85, 83, 73, 75, 65, 84, 79, 65, 78, 128, 77, 85, 85, 82,
+ 68, 72, 65, 74, 193, 77, 85, 85, 128, 77, 85, 84, 128, 77, 85, 83, 73,
+ 67, 128, 77, 85, 83, 73, 195, 77, 85, 83, 72, 82, 79, 79, 77, 128, 77,
+ 85, 83, 72, 51, 128, 77, 85, 83, 72, 179, 77, 85, 83, 72, 128, 77, 85,
+ 83, 200, 77, 85, 82, 88, 128, 77, 85, 82, 71, 85, 50, 128, 77, 85, 82,
+ 69, 128, 77, 85, 82, 68, 65, 128, 77, 85, 82, 68, 193, 77, 85, 82, 128,
+ 77, 85, 81, 68, 65, 77, 128, 77, 85, 80, 128, 77, 85, 79, 88, 128, 77,
+ 85, 79, 84, 128, 77, 85, 79, 80, 128, 77, 85, 79, 77, 65, 69, 128, 77,
+ 85, 79, 128, 77, 85, 78, 83, 85, 66, 128, 77, 85, 78, 65, 72, 128, 77,
+ 85, 76, 84, 73, 83, 69, 84, 128, 77, 85, 76, 84, 73, 83, 69, 212, 77, 85,
+ 76, 84, 73, 80, 76, 73, 67, 65, 84, 73, 79, 78, 128, 77, 85, 76, 84, 73,
+ 80, 76, 73, 67, 65, 84, 73, 79, 206, 77, 85, 76, 84, 73, 80, 76, 197, 77,
+ 85, 76, 84, 73, 79, 67, 85, 76, 65, 210, 77, 85, 76, 84, 73, 77, 65, 80,
+ 128, 77, 85, 76, 84, 201, 77, 85, 75, 80, 72, 82, 69, 78, 71, 128, 77,
+ 85, 73, 78, 128, 77, 85, 71, 83, 128, 77, 85, 71, 128, 77, 85, 199, 77,
+ 85, 69, 128, 77, 85, 67, 72, 128, 77, 85, 67, 200, 77, 85, 67, 65, 65,
+ 68, 128, 77, 85, 65, 78, 128, 77, 85, 65, 69, 128, 77, 85, 45, 71, 65,
+ 65, 72, 76, 65, 193, 77, 213, 77, 83, 128, 77, 80, 65, 128, 77, 79, 89,
+ 65, 73, 128, 77, 79, 88, 128, 77, 79, 86, 73, 197, 77, 79, 86, 69, 196,
+ 77, 79, 85, 84, 72, 128, 77, 79, 85, 84, 200, 77, 79, 85, 83, 69, 128,
+ 77, 79, 85, 83, 197, 77, 79, 85, 78, 84, 65, 73, 78, 83, 128, 77, 79, 85,
+ 78, 84, 65, 73, 78, 128, 77, 79, 85, 78, 84, 65, 73, 206, 77, 79, 85, 78,
+ 212, 77, 79, 85, 78, 68, 128, 77, 79, 85, 78, 196, 77, 79, 84, 72, 69,
+ 82, 128, 77, 79, 84, 128, 77, 79, 82, 84, 85, 85, 77, 128, 77, 79, 82,
+ 84, 65, 82, 128, 77, 79, 82, 80, 72, 79, 76, 79, 71, 73, 67, 65, 204, 77,
+ 79, 82, 78, 73, 78, 71, 128, 77, 79, 80, 128, 77, 79, 79, 83, 69, 45, 67,
+ 82, 69, 197, 77, 79, 79, 78, 128, 77, 79, 79, 206, 77, 79, 79, 77, 80,
+ 85, 81, 128, 77, 79, 79, 77, 69, 85, 84, 128, 77, 79, 79, 128, 77, 79,
+ 78, 84, 73, 69, 69, 78, 128, 77, 79, 78, 84, 72, 128, 77, 79, 78, 84,
+ 200, 77, 79, 78, 83, 84, 69, 82, 128, 77, 79, 78, 79, 83, 84, 65, 66, 76,
+ 197, 77, 79, 78, 79, 83, 80, 65, 67, 197, 77, 79, 78, 79, 82, 65, 73, 76,
+ 128, 77, 79, 78, 79, 71, 82, 65, 80, 200, 77, 79, 78, 79, 71, 82, 65, 77,
+ 77, 79, 211, 77, 79, 78, 79, 71, 82, 65, 205, 77, 79, 78, 79, 70, 79, 78,
+ 73, 65, 83, 128, 77, 79, 78, 79, 67, 85, 76, 65, 210, 77, 79, 78, 75, 69,
+ 89, 128, 77, 79, 78, 75, 69, 217, 77, 79, 78, 73, 128, 77, 79, 78, 71,
+ 75, 69, 85, 65, 69, 81, 128, 77, 79, 78, 69, 217, 77, 79, 78, 128, 77,
+ 79, 206, 77, 79, 76, 128, 77, 79, 72, 65, 77, 77, 65, 196, 77, 79, 68,
+ 85, 76, 207, 77, 79, 68, 69, 83, 84, 89, 128, 77, 79, 68, 69, 76, 83,
+ 128, 77, 79, 68, 69, 76, 128, 77, 79, 68, 69, 128, 77, 79, 66, 73, 76,
+ 197, 77, 79, 65, 128, 77, 207, 77, 78, 89, 65, 205, 77, 78, 65, 83, 128,
+ 77, 77, 128, 77, 205, 77, 76, 65, 128, 77, 76, 128, 77, 75, 80, 65, 82,
+ 65, 209, 77, 73, 88, 128, 77, 73, 84, 128, 77, 73, 212, 77, 73, 83, 82,
+ 65, 128, 77, 73, 82, 73, 66, 65, 65, 82, 85, 128, 77, 73, 82, 73, 128,
+ 77, 73, 82, 69, 68, 128, 77, 73, 80, 128, 77, 73, 78, 89, 128, 77, 73,
+ 78, 85, 83, 45, 79, 82, 45, 80, 76, 85, 211, 77, 73, 78, 85, 83, 128, 77,
+ 73, 78, 73, 83, 84, 69, 82, 128, 77, 73, 78, 73, 77, 65, 128, 77, 73, 78,
+ 73, 68, 73, 83, 67, 128, 77, 73, 78, 73, 66, 85, 83, 128, 77, 73, 77, 69,
+ 128, 77, 73, 77, 128, 77, 73, 76, 76, 73, 79, 78, 211, 77, 73, 76, 76,
+ 69, 84, 128, 77, 73, 76, 76, 197, 77, 73, 76, 204, 77, 73, 76, 75, 217,
+ 77, 73, 76, 128, 77, 73, 75, 85, 82, 79, 78, 128, 77, 73, 75, 82, 79,
+ 206, 77, 73, 75, 82, 73, 128, 77, 73, 73, 78, 128, 77, 73, 73, 128, 77,
+ 73, 199, 77, 73, 69, 88, 128, 77, 73, 69, 85, 77, 45, 84, 73, 75, 69, 85,
+ 84, 128, 77, 73, 69, 85, 77, 45, 83, 83, 65, 78, 71, 83, 73, 79, 83, 128,
+ 77, 73, 69, 85, 77, 45, 83, 83, 65, 78, 71, 78, 73, 69, 85, 78, 128, 77,
+ 73, 69, 85, 77, 45, 82, 73, 69, 85, 76, 128, 77, 73, 69, 85, 77, 45, 80,
+ 73, 69, 85, 80, 45, 83, 73, 79, 83, 128, 77, 73, 69, 85, 77, 45, 80, 73,
+ 69, 85, 80, 128, 77, 73, 69, 85, 77, 45, 80, 65, 78, 83, 73, 79, 83, 128,
+ 77, 73, 69, 85, 77, 45, 78, 73, 69, 85, 78, 128, 77, 73, 69, 85, 77, 45,
+ 67, 73, 69, 85, 67, 128, 77, 73, 69, 85, 77, 45, 67, 72, 73, 69, 85, 67,
+ 72, 128, 77, 73, 69, 85, 205, 77, 73, 69, 80, 128, 77, 73, 69, 69, 128,
+ 77, 73, 69, 128, 77, 73, 68, 76, 73, 78, 197, 77, 73, 68, 68, 76, 69, 45,
+ 87, 69, 76, 83, 200, 77, 73, 68, 68, 76, 197, 77, 73, 196, 77, 73, 67,
+ 82, 79, 83, 67, 79, 80, 69, 128, 77, 73, 67, 82, 79, 80, 72, 79, 78, 69,
+ 128, 77, 73, 67, 82, 207, 77, 72, 90, 128, 77, 72, 128, 77, 71, 85, 88,
+ 128, 77, 71, 85, 84, 128, 77, 71, 85, 82, 88, 128, 77, 71, 85, 82, 128,
+ 77, 71, 85, 80, 128, 77, 71, 85, 79, 88, 128, 77, 71, 85, 79, 80, 128,
+ 77, 71, 85, 79, 128, 77, 71, 85, 128, 77, 71, 79, 88, 128, 77, 71, 79,
+ 84, 128, 77, 71, 79, 80, 128, 77, 71, 79, 128, 77, 71, 207, 77, 71, 73,
+ 69, 88, 128, 77, 71, 73, 69, 128, 77, 71, 69, 88, 128, 77, 71, 69, 80,
+ 128, 77, 71, 69, 128, 77, 71, 66, 85, 128, 77, 71, 66, 79, 79, 128, 77,
+ 71, 66, 79, 70, 85, 77, 128, 77, 71, 66, 79, 128, 77, 71, 66, 73, 128,
+ 77, 71, 66, 69, 85, 78, 128, 77, 71, 66, 69, 78, 128, 77, 71, 66, 69, 69,
+ 128, 77, 71, 66, 69, 128, 77, 71, 66, 65, 83, 65, 81, 128, 77, 71, 66,
+ 65, 83, 65, 128, 77, 71, 65, 88, 128, 77, 71, 65, 84, 128, 77, 71, 65,
+ 80, 128, 77, 71, 65, 128, 77, 71, 128, 77, 70, 79, 78, 128, 77, 70, 79,
+ 206, 77, 70, 79, 128, 77, 70, 73, 89, 65, 81, 128, 77, 70, 73, 69, 69,
+ 128, 77, 70, 69, 85, 84, 128, 77, 70, 69, 85, 81, 128, 77, 70, 69, 85,
+ 65, 69, 128, 77, 70, 65, 65, 128, 77, 69, 90, 90, 79, 128, 77, 69, 88,
+ 128, 77, 69, 85, 212, 77, 69, 85, 81, 128, 77, 69, 85, 78, 74, 79, 77,
+ 78, 68, 69, 85, 81, 128, 77, 69, 85, 78, 128, 77, 69, 84, 82, 79, 128,
+ 77, 69, 84, 82, 73, 67, 65, 204, 77, 69, 84, 82, 73, 65, 128, 77, 69, 84,
+ 82, 69, 84, 69, 211, 77, 69, 84, 79, 66, 69, 76, 85, 83, 128, 77, 69, 84,
+ 69, 75, 128, 77, 69, 84, 69, 71, 128, 77, 69, 84, 65, 76, 128, 77, 69,
+ 84, 193, 77, 69, 83, 83, 69, 78, 73, 65, 206, 77, 69, 83, 79, 128, 77,
+ 69, 83, 73, 128, 77, 69, 83, 72, 128, 77, 69, 82, 75, 72, 65, 128, 77,
+ 69, 82, 75, 72, 193, 77, 69, 82, 73, 68, 73, 65, 78, 83, 128, 77, 69, 82,
+ 73, 128, 77, 69, 82, 71, 69, 128, 77, 69, 82, 67, 85, 82, 89, 128, 77,
+ 69, 82, 67, 85, 82, 217, 77, 69, 78, 68, 85, 84, 128, 77, 69, 78, 128,
+ 77, 69, 77, 79, 128, 77, 69, 77, 66, 69, 82, 83, 72, 73, 80, 128, 77, 69,
+ 77, 66, 69, 82, 128, 77, 69, 77, 66, 69, 210, 77, 69, 77, 45, 81, 79, 80,
+ 72, 128, 77, 69, 77, 128, 77, 69, 205, 77, 69, 76, 79, 68, 73, 195, 77,
+ 69, 76, 73, 75, 128, 77, 69, 73, 90, 73, 128, 77, 69, 71, 65, 84, 79, 78,
+ 128, 77, 69, 71, 65, 80, 72, 79, 78, 69, 128, 77, 69, 71, 65, 76, 73,
+ 128, 77, 69, 69, 84, 79, 82, 85, 128, 77, 69, 69, 84, 69, 201, 77, 69,
+ 69, 84, 128, 77, 69, 69, 77, 85, 128, 77, 69, 69, 77, 128, 77, 69, 69,
+ 69, 69, 128, 77, 69, 69, 128, 77, 69, 68, 73, 85, 77, 128, 77, 69, 68,
+ 73, 85, 205, 77, 69, 68, 73, 67, 73, 78, 69, 128, 77, 69, 68, 73, 67, 65,
+ 204, 77, 69, 65, 84, 128, 77, 69, 65, 212, 77, 69, 65, 83, 85, 82, 69,
+ 196, 77, 69, 65, 83, 85, 82, 69, 128, 77, 69, 65, 83, 85, 82, 197, 77,
+ 68, 85, 206, 77, 67, 72, 213, 77, 67, 72, 65, 206, 77, 66, 85, 79, 81,
+ 128, 77, 66, 85, 79, 128, 77, 66, 85, 69, 128, 77, 66, 85, 65, 69, 77,
+ 128, 77, 66, 85, 65, 69, 128, 77, 66, 79, 79, 128, 77, 66, 79, 128, 77,
+ 66, 73, 84, 128, 77, 66, 73, 212, 77, 66, 73, 82, 73, 69, 69, 78, 128,
+ 77, 66, 73, 128, 77, 66, 69, 85, 88, 128, 77, 66, 69, 85, 82, 73, 128,
+ 77, 66, 69, 85, 77, 128, 77, 66, 69, 82, 65, 69, 128, 77, 66, 69, 78,
+ 128, 77, 66, 69, 69, 75, 69, 69, 84, 128, 77, 66, 69, 69, 128, 77, 66,
+ 69, 128, 77, 66, 65, 81, 128, 77, 66, 65, 78, 89, 73, 128, 77, 66, 65,
+ 65, 82, 65, 69, 128, 77, 66, 65, 65, 75, 69, 84, 128, 77, 66, 65, 65,
+ 128, 77, 66, 65, 193, 77, 66, 193, 77, 66, 52, 128, 77, 66, 51, 128, 77,
+ 66, 50, 128, 77, 66, 128, 77, 194, 77, 65, 89, 69, 203, 77, 65, 89, 65,
+ 78, 78, 65, 128, 77, 65, 89, 128, 77, 65, 88, 73, 77, 65, 128, 77, 65,
+ 88, 128, 77, 65, 85, 128, 77, 65, 84, 84, 79, 67, 75, 128, 77, 65, 84,
+ 82, 73, 88, 128, 77, 65, 84, 69, 82, 73, 65, 76, 83, 128, 77, 65, 84,
128, 77, 65, 83, 213, 77, 65, 83, 83, 73, 78, 71, 128, 77, 65, 83, 83,
65, 71, 69, 128, 77, 65, 83, 79, 82, 193, 77, 65, 83, 75, 128, 77, 65,
83, 72, 70, 65, 65, 84, 128, 77, 65, 83, 72, 50, 128, 77, 65, 83, 67, 85,
@@ -1927,137 +1941,142 @@ static unsigned char lexicon[] = {
65, 73, 76, 73, 78, 199, 77, 65, 78, 68, 65, 73, 195, 77, 65, 78, 67, 72,
213, 77, 65, 78, 65, 67, 76, 69, 83, 128, 77, 65, 76, 84, 69, 83, 197,
77, 65, 76, 69, 69, 82, 73, 128, 77, 65, 76, 69, 128, 77, 65, 76, 197,
- 77, 65, 76, 65, 75, 79, 206, 77, 65, 75, 83, 85, 82, 65, 128, 77, 65, 73,
- 90, 69, 128, 77, 65, 73, 89, 65, 77, 79, 75, 128, 77, 65, 73, 84, 65, 73,
- 75, 72, 85, 128, 77, 65, 73, 82, 85, 128, 77, 65, 73, 77, 85, 65, 78,
- 128, 77, 65, 73, 77, 65, 76, 65, 73, 128, 77, 65, 73, 76, 66, 79, 216,
- 77, 65, 73, 75, 85, 82, 79, 128, 77, 65, 73, 68, 69, 78, 128, 77, 65, 72,
- 74, 79, 78, 199, 77, 65, 72, 72, 65, 128, 77, 65, 72, 65, 80, 82, 65, 78,
- 65, 128, 77, 65, 72, 65, 80, 65, 75, 72, 128, 77, 65, 72, 65, 65, 80, 82,
- 65, 65, 78, 193, 77, 65, 72, 128, 77, 65, 71, 78, 73, 70, 89, 73, 78,
- 199, 77, 65, 69, 83, 73, 128, 77, 65, 69, 78, 89, 73, 128, 77, 65, 69,
- 78, 74, 69, 84, 128, 77, 65, 69, 77, 86, 69, 85, 88, 128, 77, 65, 69, 77,
- 75, 80, 69, 78, 128, 77, 65, 69, 77, 71, 66, 73, 69, 69, 128, 77, 65, 69,
- 77, 66, 71, 66, 73, 69, 69, 128, 77, 65, 69, 77, 66, 65, 128, 77, 65, 69,
- 77, 128, 77, 65, 69, 76, 69, 69, 128, 77, 65, 69, 75, 69, 85, 80, 128,
- 77, 65, 68, 89, 65, 128, 77, 65, 68, 85, 128, 77, 65, 68, 68, 65, 200,
- 77, 65, 68, 68, 65, 128, 77, 65, 68, 68, 193, 77, 65, 67, 82, 79, 78, 45,
- 71, 82, 65, 86, 69, 128, 77, 65, 67, 82, 79, 78, 45, 66, 82, 69, 86, 69,
- 128, 77, 65, 67, 82, 79, 78, 45, 65, 67, 85, 84, 69, 128, 77, 65, 67, 82,
- 79, 78, 128, 77, 65, 67, 82, 79, 206, 77, 65, 67, 72, 73, 78, 69, 128,
- 77, 65, 65, 73, 128, 77, 65, 65, 128, 77, 65, 50, 128, 77, 48, 52, 52,
- 128, 77, 48, 52, 51, 128, 77, 48, 52, 50, 128, 77, 48, 52, 49, 128, 77,
- 48, 52, 48, 65, 128, 77, 48, 52, 48, 128, 77, 48, 51, 57, 128, 77, 48,
- 51, 56, 128, 77, 48, 51, 55, 128, 77, 48, 51, 54, 128, 77, 48, 51, 53,
- 128, 77, 48, 51, 52, 128, 77, 48, 51, 51, 66, 128, 77, 48, 51, 51, 65,
- 128, 77, 48, 51, 51, 128, 77, 48, 51, 50, 128, 77, 48, 51, 49, 65, 128,
- 77, 48, 51, 49, 128, 77, 48, 51, 48, 128, 77, 48, 50, 57, 128, 77, 48,
- 50, 56, 65, 128, 77, 48, 50, 56, 128, 77, 48, 50, 55, 128, 77, 48, 50,
- 54, 128, 77, 48, 50, 53, 128, 77, 48, 50, 52, 65, 128, 77, 48, 50, 52,
- 128, 77, 48, 50, 51, 128, 77, 48, 50, 50, 65, 128, 77, 48, 50, 50, 128,
- 77, 48, 50, 49, 128, 77, 48, 50, 48, 128, 77, 48, 49, 57, 128, 77, 48,
- 49, 56, 128, 77, 48, 49, 55, 65, 128, 77, 48, 49, 55, 128, 77, 48, 49,
- 54, 65, 128, 77, 48, 49, 54, 128, 77, 48, 49, 53, 65, 128, 77, 48, 49,
- 53, 128, 77, 48, 49, 52, 128, 77, 48, 49, 51, 128, 77, 48, 49, 50, 72,
- 128, 77, 48, 49, 50, 71, 128, 77, 48, 49, 50, 70, 128, 77, 48, 49, 50,
- 69, 128, 77, 48, 49, 50, 68, 128, 77, 48, 49, 50, 67, 128, 77, 48, 49,
- 50, 66, 128, 77, 48, 49, 50, 65, 128, 77, 48, 49, 50, 128, 77, 48, 49,
- 49, 128, 77, 48, 49, 48, 65, 128, 77, 48, 49, 48, 128, 77, 48, 48, 57,
- 128, 77, 48, 48, 56, 128, 77, 48, 48, 55, 128, 77, 48, 48, 54, 128, 77,
- 48, 48, 53, 128, 77, 48, 48, 52, 128, 77, 48, 48, 51, 65, 128, 77, 48,
- 48, 51, 128, 77, 48, 48, 50, 128, 77, 48, 48, 49, 66, 128, 77, 48, 48,
- 49, 65, 128, 77, 48, 48, 49, 128, 76, 218, 76, 89, 89, 128, 76, 89, 88,
- 128, 76, 89, 84, 128, 76, 89, 82, 88, 128, 76, 89, 82, 128, 76, 89, 80,
- 128, 76, 89, 68, 73, 65, 206, 76, 89, 67, 73, 65, 206, 76, 88, 128, 76,
- 87, 79, 79, 128, 76, 87, 79, 128, 76, 87, 73, 73, 128, 76, 87, 73, 128,
- 76, 87, 69, 128, 76, 87, 65, 65, 128, 76, 87, 65, 128, 76, 85, 88, 128,
- 76, 85, 84, 128, 76, 85, 82, 88, 128, 76, 85, 80, 128, 76, 85, 79, 88,
- 128, 76, 85, 79, 84, 128, 76, 85, 79, 80, 128, 76, 85, 79, 128, 76, 85,
- 78, 71, 83, 73, 128, 76, 85, 78, 65, 84, 197, 76, 85, 205, 76, 85, 76,
- 128, 76, 85, 73, 83, 128, 76, 85, 72, 85, 82, 128, 76, 85, 72, 128, 76,
- 85, 71, 71, 65, 71, 69, 128, 76, 85, 71, 65, 76, 128, 76, 85, 71, 65,
- 204, 76, 85, 69, 128, 76, 85, 65, 69, 80, 128, 76, 85, 51, 128, 76, 85,
- 50, 128, 76, 85, 178, 76, 79, 90, 69, 78, 71, 69, 128, 76, 79, 90, 69,
- 78, 71, 197, 76, 79, 88, 128, 76, 79, 87, 69, 82, 69, 196, 76, 79, 87,
- 69, 210, 76, 79, 87, 45, 185, 76, 79, 86, 197, 76, 79, 85, 82, 69, 128,
- 76, 79, 85, 68, 83, 80, 69, 65, 75, 69, 82, 128, 76, 79, 85, 68, 76, 217,
- 76, 79, 84, 85, 83, 128, 76, 79, 84, 128, 76, 79, 82, 82, 89, 128, 76,
- 79, 82, 82, 65, 73, 78, 69, 128, 76, 79, 81, 128, 76, 79, 80, 128, 76,
- 79, 79, 84, 128, 76, 79, 79, 80, 128, 76, 79, 79, 78, 128, 76, 79, 79,
- 203, 76, 79, 79, 128, 76, 79, 78, 83, 85, 77, 128, 76, 79, 78, 71, 65,
- 128, 76, 79, 78, 71, 193, 76, 79, 78, 71, 45, 66, 82, 65, 78, 67, 72, 45,
- 89, 82, 128, 76, 79, 78, 71, 45, 66, 82, 65, 78, 67, 72, 45, 83, 79, 204,
- 76, 79, 78, 71, 45, 66, 82, 65, 78, 67, 72, 45, 79, 83, 211, 76, 79, 78,
- 71, 45, 66, 82, 65, 78, 67, 72, 45, 77, 65, 68, 210, 76, 79, 78, 71, 45,
- 66, 82, 65, 78, 67, 72, 45, 72, 65, 71, 65, 76, 204, 76, 79, 78, 71, 45,
- 66, 82, 65, 78, 67, 72, 45, 65, 210, 76, 79, 77, 77, 65, 69, 128, 76, 79,
- 77, 128, 76, 79, 205, 76, 79, 76, 76, 73, 80, 79, 80, 128, 76, 79, 76,
- 76, 128, 76, 79, 71, 210, 76, 79, 71, 79, 84, 89, 80, 197, 76, 79, 71,
- 79, 71, 82, 65, 205, 76, 79, 71, 128, 76, 79, 68, 69, 83, 84, 79, 78, 69,
- 128, 76, 79, 67, 79, 77, 79, 84, 73, 86, 69, 128, 76, 79, 67, 203, 76,
- 79, 67, 65, 84, 73, 86, 69, 128, 76, 79, 67, 65, 84, 73, 79, 206, 76, 79,
- 65, 128, 76, 78, 128, 76, 77, 128, 76, 76, 76, 65, 128, 76, 74, 85, 68,
- 73, 74, 69, 128, 76, 74, 69, 128, 76, 74, 128, 76, 73, 88, 128, 76, 73,
- 87, 78, 128, 76, 73, 86, 82, 197, 76, 73, 84, 84, 76, 197, 76, 73, 84,
- 84, 69, 210, 76, 73, 84, 82, 193, 76, 73, 84, 128, 76, 73, 83, 213, 76,
- 73, 82, 193, 76, 73, 81, 85, 73, 196, 76, 73, 81, 128, 76, 73, 80, 83,
- 84, 73, 67, 75, 128, 76, 73, 78, 75, 73, 78, 199, 76, 73, 78, 203, 76,
- 73, 78, 71, 83, 65, 128, 76, 73, 78, 69, 83, 128, 76, 73, 78, 69, 211,
- 76, 73, 78, 69, 45, 57, 128, 76, 73, 78, 69, 45, 55, 128, 76, 73, 78, 69,
- 45, 51, 128, 76, 73, 78, 69, 45, 49, 128, 76, 73, 77, 77, 85, 52, 128,
- 76, 73, 77, 77, 85, 50, 128, 76, 73, 77, 77, 85, 128, 76, 73, 77, 77,
- 213, 76, 73, 77, 73, 84, 69, 196, 76, 73, 77, 73, 84, 65, 84, 73, 79, 78,
- 128, 76, 73, 77, 73, 84, 128, 76, 73, 77, 69, 128, 76, 73, 76, 89, 128,
- 76, 73, 76, 73, 84, 72, 128, 76, 73, 76, 128, 76, 73, 73, 128, 76, 73,
- 71, 72, 84, 78, 73, 78, 71, 128, 76, 73, 71, 72, 84, 72, 79, 85, 83, 69,
- 128, 76, 73, 71, 72, 84, 128, 76, 73, 70, 69, 128, 76, 73, 69, 88, 128,
- 76, 73, 69, 84, 128, 76, 73, 69, 80, 128, 76, 73, 69, 69, 128, 76, 73,
- 69, 128, 76, 73, 68, 128, 76, 73, 66, 82, 65, 128, 76, 73, 66, 69, 82,
- 84, 89, 128, 76, 73, 65, 66, 73, 76, 73, 84, 217, 76, 72, 73, 73, 128,
- 76, 72, 65, 86, 73, 89, 65, 78, 73, 128, 76, 72, 65, 199, 76, 72, 65, 65,
- 128, 76, 72, 128, 76, 69, 90, 72, 128, 76, 69, 88, 128, 76, 69, 86, 69,
- 204, 76, 69, 85, 77, 128, 76, 69, 85, 65, 69, 80, 128, 76, 69, 85, 65,
- 69, 77, 128, 76, 69, 84, 84, 69, 82, 83, 128, 76, 69, 84, 84, 69, 82,
- 128, 76, 69, 212, 76, 69, 83, 83, 69, 210, 76, 69, 83, 83, 45, 84, 72,
- 65, 78, 128, 76, 69, 83, 83, 45, 84, 72, 65, 206, 76, 69, 80, 128, 76,
- 69, 79, 80, 65, 82, 68, 128, 76, 69, 79, 128, 76, 69, 78, 84, 73, 67, 85,
- 76, 65, 210, 76, 69, 78, 73, 83, 128, 76, 69, 78, 71, 84, 72, 69, 78, 69,
- 82, 128, 76, 69, 78, 71, 84, 200, 76, 69, 78, 71, 65, 128, 76, 69, 78,
- 71, 193, 76, 69, 77, 79, 78, 128, 76, 69, 77, 79, 73, 128, 76, 69, 76,
- 69, 84, 128, 76, 69, 76, 69, 212, 76, 69, 203, 76, 69, 73, 77, 77, 65,
- 128, 76, 69, 73, 77, 77, 193, 76, 69, 71, 83, 128, 76, 69, 71, 73, 79,
- 78, 128, 76, 69, 71, 69, 84, 79, 211, 76, 69, 71, 128, 76, 69, 70, 84,
- 87, 65, 82, 68, 83, 128, 76, 69, 70, 84, 45, 84, 79, 45, 82, 73, 71, 72,
- 212, 76, 69, 70, 84, 45, 83, 84, 69, 205, 76, 69, 70, 84, 45, 83, 73, 68,
- 197, 76, 69, 70, 84, 45, 83, 72, 65, 68, 69, 196, 76, 69, 70, 84, 45, 80,
- 79, 73, 78, 84, 73, 78, 199, 76, 69, 70, 84, 45, 72, 65, 78, 68, 69, 196,
- 76, 69, 70, 84, 45, 72, 65, 78, 196, 76, 69, 70, 84, 45, 70, 65, 67, 73,
- 78, 199, 76, 69, 70, 84, 128, 76, 69, 69, 82, 65, 69, 87, 65, 128, 76,
- 69, 69, 75, 128, 76, 69, 69, 69, 69, 128, 76, 69, 68, 71, 69, 82, 128,
- 76, 69, 65, 84, 72, 69, 82, 128, 76, 69, 65, 70, 128, 76, 69, 65, 198,
- 76, 69, 65, 68, 73, 78, 199, 76, 69, 65, 68, 69, 82, 128, 76, 69, 65,
- 196, 76, 68, 65, 78, 128, 76, 68, 50, 128, 76, 67, 201, 76, 67, 197, 76,
- 65, 90, 217, 76, 65, 89, 65, 78, 78, 65, 128, 76, 65, 88, 128, 76, 65,
- 87, 128, 76, 65, 215, 76, 65, 85, 76, 65, 128, 76, 65, 85, 75, 65, 218,
- 76, 65, 84, 73, 78, 65, 84, 197, 76, 65, 84, 73, 75, 128, 76, 65, 84, 69,
- 82, 65, 204, 76, 65, 84, 197, 76, 65, 83, 212, 76, 65, 82, 89, 78, 71,
- 69, 65, 204, 76, 65, 82, 71, 69, 210, 76, 65, 82, 71, 69, 128, 76, 65,
- 82, 71, 197, 76, 65, 81, 128, 76, 65, 80, 65, 81, 128, 76, 65, 80, 128,
- 76, 65, 207, 76, 65, 78, 84, 69, 82, 78, 128, 76, 65, 78, 71, 85, 65, 71,
- 197, 76, 65, 78, 69, 83, 128, 76, 65, 77, 69, 68, 72, 128, 76, 65, 77,
- 69, 68, 128, 76, 65, 77, 69, 196, 76, 65, 77, 69, 128, 76, 65, 77, 197,
- 76, 65, 77, 68, 65, 128, 76, 65, 77, 68, 128, 76, 65, 77, 66, 68, 193,
- 76, 65, 77, 65, 68, 72, 128, 76, 65, 76, 128, 76, 65, 204, 76, 65, 75,
- 75, 72, 65, 78, 71, 89, 65, 79, 128, 76, 65, 74, 65, 78, 89, 65, 76, 65,
- 78, 128, 76, 65, 201, 76, 65, 72, 83, 72, 85, 128, 76, 65, 71, 85, 83,
- 128, 76, 65, 71, 213, 76, 65, 71, 65, 82, 128, 76, 65, 71, 65, 210, 76,
- 65, 71, 65, 66, 128, 76, 65, 71, 65, 194, 76, 65, 69, 86, 128, 76, 65,
- 69, 128, 76, 65, 68, 217, 76, 65, 67, 75, 128, 76, 65, 67, 65, 128, 76,
- 65, 66, 79, 85, 82, 73, 78, 71, 128, 76, 65, 66, 79, 82, 128, 76, 65, 66,
- 73, 65, 76, 73, 90, 65, 84, 73, 79, 206, 76, 65, 66, 65, 84, 128, 76, 65,
- 65, 78, 65, 69, 128, 76, 65, 65, 78, 128, 76, 65, 65, 77, 85, 128, 76,
- 65, 65, 77, 128, 76, 65, 65, 73, 128, 76, 48, 48, 54, 65, 128, 76, 48,
- 48, 50, 65, 128, 76, 45, 84, 89, 80, 197, 76, 45, 83, 72, 65, 80, 69,
+ 77, 65, 76, 65, 75, 79, 206, 77, 65, 75, 83, 85, 82, 65, 128, 77, 65, 75,
+ 83, 85, 82, 193, 77, 65, 73, 90, 69, 128, 77, 65, 73, 89, 65, 77, 79, 75,
+ 128, 77, 65, 73, 84, 65, 73, 75, 72, 85, 128, 77, 65, 73, 82, 85, 128,
+ 77, 65, 73, 77, 85, 65, 78, 128, 77, 65, 73, 77, 65, 76, 65, 73, 128, 77,
+ 65, 73, 76, 66, 79, 216, 77, 65, 73, 75, 85, 82, 79, 128, 77, 65, 73, 68,
+ 69, 78, 128, 77, 65, 73, 128, 77, 65, 72, 74, 79, 78, 199, 77, 65, 72,
+ 72, 65, 128, 77, 65, 72, 65, 80, 82, 65, 78, 65, 128, 77, 65, 72, 65, 80,
+ 65, 75, 72, 128, 77, 65, 72, 65, 65, 80, 82, 65, 65, 78, 193, 77, 65, 72,
+ 128, 77, 65, 71, 78, 73, 70, 89, 73, 78, 199, 77, 65, 69, 83, 73, 128,
+ 77, 65, 69, 78, 89, 73, 128, 77, 65, 69, 78, 74, 69, 84, 128, 77, 65, 69,
+ 77, 86, 69, 85, 88, 128, 77, 65, 69, 77, 75, 80, 69, 78, 128, 77, 65, 69,
+ 77, 71, 66, 73, 69, 69, 128, 77, 65, 69, 77, 66, 71, 66, 73, 69, 69, 128,
+ 77, 65, 69, 77, 66, 65, 128, 77, 65, 69, 77, 128, 77, 65, 69, 76, 69, 69,
+ 128, 77, 65, 69, 75, 69, 85, 80, 128, 77, 65, 68, 89, 65, 128, 77, 65,
+ 68, 85, 128, 77, 65, 68, 68, 65, 200, 77, 65, 68, 68, 65, 128, 77, 65,
+ 68, 68, 193, 77, 65, 67, 82, 79, 78, 45, 71, 82, 65, 86, 69, 128, 77, 65,
+ 67, 82, 79, 78, 45, 66, 82, 69, 86, 69, 128, 77, 65, 67, 82, 79, 78, 45,
+ 65, 67, 85, 84, 69, 128, 77, 65, 67, 82, 79, 78, 128, 77, 65, 67, 82, 79,
+ 206, 77, 65, 67, 72, 73, 78, 69, 128, 77, 65, 65, 73, 128, 77, 65, 65,
+ 128, 77, 65, 50, 128, 77, 48, 52, 52, 128, 77, 48, 52, 51, 128, 77, 48,
+ 52, 50, 128, 77, 48, 52, 49, 128, 77, 48, 52, 48, 65, 128, 77, 48, 52,
+ 48, 128, 77, 48, 51, 57, 128, 77, 48, 51, 56, 128, 77, 48, 51, 55, 128,
+ 77, 48, 51, 54, 128, 77, 48, 51, 53, 128, 77, 48, 51, 52, 128, 77, 48,
+ 51, 51, 66, 128, 77, 48, 51, 51, 65, 128, 77, 48, 51, 51, 128, 77, 48,
+ 51, 50, 128, 77, 48, 51, 49, 65, 128, 77, 48, 51, 49, 128, 77, 48, 51,
+ 48, 128, 77, 48, 50, 57, 128, 77, 48, 50, 56, 65, 128, 77, 48, 50, 56,
+ 128, 77, 48, 50, 55, 128, 77, 48, 50, 54, 128, 77, 48, 50, 53, 128, 77,
+ 48, 50, 52, 65, 128, 77, 48, 50, 52, 128, 77, 48, 50, 51, 128, 77, 48,
+ 50, 50, 65, 128, 77, 48, 50, 50, 128, 77, 48, 50, 49, 128, 77, 48, 50,
+ 48, 128, 77, 48, 49, 57, 128, 77, 48, 49, 56, 128, 77, 48, 49, 55, 65,
+ 128, 77, 48, 49, 55, 128, 77, 48, 49, 54, 65, 128, 77, 48, 49, 54, 128,
+ 77, 48, 49, 53, 65, 128, 77, 48, 49, 53, 128, 77, 48, 49, 52, 128, 77,
+ 48, 49, 51, 128, 77, 48, 49, 50, 72, 128, 77, 48, 49, 50, 71, 128, 77,
+ 48, 49, 50, 70, 128, 77, 48, 49, 50, 69, 128, 77, 48, 49, 50, 68, 128,
+ 77, 48, 49, 50, 67, 128, 77, 48, 49, 50, 66, 128, 77, 48, 49, 50, 65,
+ 128, 77, 48, 49, 50, 128, 77, 48, 49, 49, 128, 77, 48, 49, 48, 65, 128,
+ 77, 48, 49, 48, 128, 77, 48, 48, 57, 128, 77, 48, 48, 56, 128, 77, 48,
+ 48, 55, 128, 77, 48, 48, 54, 128, 77, 48, 48, 53, 128, 77, 48, 48, 52,
+ 128, 77, 48, 48, 51, 65, 128, 77, 48, 48, 51, 128, 77, 48, 48, 50, 128,
+ 77, 48, 48, 49, 66, 128, 77, 48, 48, 49, 65, 128, 77, 48, 48, 49, 128,
+ 76, 218, 76, 89, 89, 128, 76, 89, 88, 128, 76, 89, 84, 128, 76, 89, 82,
+ 88, 128, 76, 89, 82, 128, 76, 89, 80, 128, 76, 89, 68, 73, 65, 206, 76,
+ 89, 67, 73, 65, 206, 76, 88, 128, 76, 87, 79, 79, 128, 76, 87, 79, 128,
+ 76, 87, 73, 73, 128, 76, 87, 73, 128, 76, 87, 69, 128, 76, 87, 65, 65,
+ 128, 76, 87, 65, 128, 76, 85, 88, 128, 76, 85, 85, 128, 76, 85, 84, 128,
+ 76, 85, 82, 88, 128, 76, 85, 80, 128, 76, 85, 79, 88, 128, 76, 85, 79,
+ 84, 128, 76, 85, 79, 80, 128, 76, 85, 79, 128, 76, 85, 78, 71, 83, 73,
+ 128, 76, 85, 78, 65, 84, 197, 76, 85, 205, 76, 85, 76, 128, 76, 85, 73,
+ 83, 128, 76, 85, 72, 85, 82, 128, 76, 85, 72, 128, 76, 85, 71, 71, 65,
+ 71, 69, 128, 76, 85, 71, 65, 76, 128, 76, 85, 71, 65, 204, 76, 85, 69,
+ 128, 76, 85, 65, 69, 80, 128, 76, 85, 51, 128, 76, 85, 50, 128, 76, 85,
+ 178, 76, 79, 90, 69, 78, 71, 69, 128, 76, 79, 90, 69, 78, 71, 197, 76,
+ 79, 88, 128, 76, 79, 87, 69, 82, 69, 196, 76, 79, 87, 69, 210, 76, 79,
+ 87, 45, 185, 76, 79, 86, 197, 76, 79, 85, 82, 69, 128, 76, 79, 85, 68,
+ 83, 80, 69, 65, 75, 69, 82, 128, 76, 79, 85, 68, 76, 217, 76, 79, 84, 85,
+ 83, 128, 76, 79, 84, 128, 76, 79, 82, 82, 89, 128, 76, 79, 82, 82, 65,
+ 73, 78, 69, 128, 76, 79, 81, 128, 76, 79, 80, 128, 76, 79, 79, 84, 128,
+ 76, 79, 79, 80, 128, 76, 79, 79, 78, 128, 76, 79, 79, 203, 76, 79, 79,
+ 128, 76, 79, 78, 83, 85, 77, 128, 76, 79, 78, 71, 65, 128, 76, 79, 78,
+ 71, 193, 76, 79, 78, 71, 45, 66, 82, 65, 78, 67, 72, 45, 89, 82, 128, 76,
+ 79, 78, 71, 45, 66, 82, 65, 78, 67, 72, 45, 83, 79, 204, 76, 79, 78, 71,
+ 45, 66, 82, 65, 78, 67, 72, 45, 79, 83, 211, 76, 79, 78, 71, 45, 66, 82,
+ 65, 78, 67, 72, 45, 77, 65, 68, 210, 76, 79, 78, 71, 45, 66, 82, 65, 78,
+ 67, 72, 45, 72, 65, 71, 65, 76, 204, 76, 79, 78, 71, 45, 66, 82, 65, 78,
+ 67, 72, 45, 65, 210, 76, 79, 77, 77, 65, 69, 128, 76, 79, 77, 128, 76,
+ 79, 205, 76, 79, 76, 76, 73, 80, 79, 80, 128, 76, 79, 76, 76, 128, 76,
+ 79, 71, 210, 76, 79, 71, 79, 84, 89, 80, 197, 76, 79, 71, 79, 71, 82, 65,
+ 205, 76, 79, 71, 128, 76, 79, 68, 69, 83, 84, 79, 78, 69, 128, 76, 79,
+ 67, 79, 77, 79, 84, 73, 86, 69, 128, 76, 79, 67, 203, 76, 79, 67, 65, 84,
+ 73, 86, 69, 128, 76, 79, 67, 65, 84, 73, 79, 206, 76, 79, 65, 128, 76,
+ 78, 128, 76, 77, 128, 76, 76, 85, 85, 128, 76, 76, 79, 79, 128, 76, 76,
+ 76, 85, 85, 128, 76, 76, 76, 85, 128, 76, 76, 76, 79, 79, 128, 76, 76,
+ 76, 79, 128, 76, 76, 76, 73, 73, 128, 76, 76, 76, 73, 128, 76, 76, 76,
+ 69, 69, 128, 76, 76, 76, 69, 128, 76, 76, 76, 65, 85, 128, 76, 76, 76,
+ 65, 73, 128, 76, 76, 76, 65, 65, 128, 76, 76, 76, 65, 128, 76, 76, 76,
+ 128, 76, 74, 85, 68, 73, 74, 69, 128, 76, 74, 69, 128, 76, 74, 128, 76,
+ 73, 88, 128, 76, 73, 87, 78, 128, 76, 73, 86, 82, 197, 76, 73, 84, 84,
+ 76, 197, 76, 73, 84, 84, 69, 210, 76, 73, 84, 82, 193, 76, 73, 84, 128,
+ 76, 73, 83, 213, 76, 73, 82, 193, 76, 73, 81, 85, 73, 196, 76, 73, 81,
+ 128, 76, 73, 80, 83, 84, 73, 67, 75, 128, 76, 73, 78, 75, 73, 78, 199,
+ 76, 73, 78, 203, 76, 73, 78, 71, 83, 65, 128, 76, 73, 78, 69, 83, 128,
+ 76, 73, 78, 69, 211, 76, 73, 78, 69, 45, 57, 128, 76, 73, 78, 69, 45, 55,
+ 128, 76, 73, 78, 69, 45, 51, 128, 76, 73, 78, 69, 45, 49, 128, 76, 73,
+ 77, 77, 85, 52, 128, 76, 73, 77, 77, 85, 50, 128, 76, 73, 77, 77, 85,
+ 128, 76, 73, 77, 77, 213, 76, 73, 77, 73, 84, 69, 196, 76, 73, 77, 73,
+ 84, 65, 84, 73, 79, 78, 128, 76, 73, 77, 73, 84, 128, 76, 73, 77, 69,
+ 128, 76, 73, 77, 66, 213, 76, 73, 76, 89, 128, 76, 73, 76, 73, 84, 72,
+ 128, 76, 73, 76, 128, 76, 73, 71, 72, 84, 78, 73, 78, 71, 128, 76, 73,
+ 71, 72, 84, 72, 79, 85, 83, 69, 128, 76, 73, 71, 72, 84, 128, 76, 73, 70,
+ 69, 128, 76, 73, 69, 88, 128, 76, 73, 69, 84, 128, 76, 73, 69, 80, 128,
+ 76, 73, 69, 69, 128, 76, 73, 69, 128, 76, 73, 68, 128, 76, 73, 66, 82,
+ 65, 128, 76, 73, 66, 69, 82, 84, 89, 128, 76, 73, 65, 66, 73, 76, 73, 84,
+ 217, 76, 72, 73, 73, 128, 76, 72, 65, 86, 73, 89, 65, 78, 73, 128, 76,
+ 72, 65, 199, 76, 72, 65, 65, 128, 76, 72, 128, 76, 69, 90, 72, 128, 76,
+ 69, 88, 128, 76, 69, 86, 69, 204, 76, 69, 85, 77, 128, 76, 69, 85, 65,
+ 69, 80, 128, 76, 69, 85, 65, 69, 77, 128, 76, 69, 84, 84, 69, 82, 83,
+ 128, 76, 69, 84, 84, 69, 82, 128, 76, 69, 212, 76, 69, 83, 83, 69, 210,
+ 76, 69, 83, 83, 45, 84, 72, 65, 78, 128, 76, 69, 83, 83, 45, 84, 72, 65,
+ 206, 76, 69, 80, 128, 76, 69, 79, 80, 65, 82, 68, 128, 76, 69, 79, 128,
+ 76, 69, 78, 84, 73, 67, 85, 76, 65, 210, 76, 69, 78, 73, 83, 128, 76, 69,
+ 78, 71, 84, 72, 69, 78, 69, 82, 128, 76, 69, 78, 71, 84, 200, 76, 69, 78,
+ 71, 65, 128, 76, 69, 78, 71, 193, 76, 69, 77, 79, 78, 128, 76, 69, 77,
+ 79, 73, 128, 76, 69, 76, 69, 84, 128, 76, 69, 76, 69, 212, 76, 69, 203,
+ 76, 69, 73, 77, 77, 65, 128, 76, 69, 73, 77, 77, 193, 76, 69, 71, 83,
+ 128, 76, 69, 71, 73, 79, 78, 128, 76, 69, 71, 69, 84, 79, 211, 76, 69,
+ 71, 128, 76, 69, 70, 84, 87, 65, 82, 68, 83, 128, 76, 69, 70, 84, 45, 84,
+ 79, 45, 82, 73, 71, 72, 212, 76, 69, 70, 84, 45, 83, 84, 69, 205, 76, 69,
+ 70, 84, 45, 83, 73, 68, 197, 76, 69, 70, 84, 45, 83, 72, 65, 68, 69, 196,
+ 76, 69, 70, 84, 45, 80, 79, 73, 78, 84, 73, 78, 199, 76, 69, 70, 84, 45,
+ 72, 65, 78, 68, 69, 196, 76, 69, 70, 84, 45, 72, 65, 78, 196, 76, 69, 70,
+ 84, 45, 70, 65, 67, 73, 78, 199, 76, 69, 70, 84, 128, 76, 69, 69, 82, 65,
+ 69, 87, 65, 128, 76, 69, 69, 75, 128, 76, 69, 69, 69, 69, 128, 76, 69,
+ 68, 71, 69, 82, 128, 76, 69, 65, 84, 72, 69, 82, 128, 76, 69, 65, 70,
+ 128, 76, 69, 65, 198, 76, 69, 65, 68, 73, 78, 199, 76, 69, 65, 68, 69,
+ 82, 128, 76, 69, 65, 196, 76, 68, 65, 78, 128, 76, 68, 50, 128, 76, 67,
+ 201, 76, 67, 197, 76, 65, 90, 217, 76, 65, 89, 65, 78, 78, 65, 128, 76,
+ 65, 88, 128, 76, 65, 87, 128, 76, 65, 215, 76, 65, 85, 76, 65, 128, 76,
+ 65, 85, 75, 65, 218, 76, 65, 84, 73, 78, 65, 84, 197, 76, 65, 84, 73, 75,
+ 128, 76, 65, 84, 69, 82, 65, 204, 76, 65, 84, 197, 76, 65, 83, 212, 76,
+ 65, 82, 89, 78, 71, 69, 65, 204, 76, 65, 82, 71, 69, 210, 76, 65, 82, 71,
+ 69, 128, 76, 65, 82, 71, 197, 76, 65, 81, 128, 76, 65, 80, 65, 81, 128,
+ 76, 65, 80, 128, 76, 65, 78, 84, 69, 82, 78, 128, 76, 65, 78, 71, 85, 65,
+ 71, 197, 76, 65, 78, 69, 83, 128, 76, 65, 77, 69, 68, 72, 128, 76, 65,
+ 77, 69, 68, 128, 76, 65, 77, 69, 196, 76, 65, 77, 69, 128, 76, 65, 77,
+ 197, 76, 65, 77, 68, 65, 128, 76, 65, 77, 68, 128, 76, 65, 77, 66, 68,
+ 193, 76, 65, 77, 65, 68, 72, 128, 76, 65, 76, 128, 76, 65, 204, 76, 65,
+ 75, 75, 72, 65, 78, 71, 89, 65, 79, 128, 76, 65, 74, 65, 78, 89, 65, 76,
+ 65, 78, 128, 76, 65, 201, 76, 65, 72, 83, 72, 85, 128, 76, 65, 71, 85,
+ 83, 128, 76, 65, 71, 213, 76, 65, 71, 65, 82, 128, 76, 65, 71, 65, 210,
+ 76, 65, 71, 65, 66, 128, 76, 65, 71, 65, 194, 76, 65, 69, 86, 128, 76,
+ 65, 69, 128, 76, 65, 68, 217, 76, 65, 67, 75, 128, 76, 65, 67, 65, 128,
+ 76, 65, 66, 79, 85, 82, 73, 78, 71, 128, 76, 65, 66, 79, 82, 128, 76, 65,
+ 66, 73, 65, 76, 73, 90, 65, 84, 73, 79, 206, 76, 65, 66, 65, 84, 128, 76,
+ 65, 65, 78, 65, 69, 128, 76, 65, 65, 78, 128, 76, 65, 65, 77, 85, 128,
+ 76, 65, 65, 77, 128, 76, 65, 65, 73, 128, 76, 48, 48, 54, 65, 128, 76,
+ 48, 48, 50, 65, 128, 76, 45, 84, 89, 80, 197, 76, 45, 83, 72, 65, 80, 69,
196, 75, 89, 85, 82, 73, 73, 128, 75, 89, 85, 128, 75, 89, 79, 128, 75,
89, 76, 73, 83, 77, 65, 128, 75, 89, 73, 128, 75, 89, 69, 128, 75, 89,
65, 84, 72, 79, 211, 75, 89, 65, 65, 128, 75, 89, 65, 128, 75, 88, 87,
@@ -2075,1102 +2094,1107 @@ static unsigned char lexicon[] = {
85, 79, 208, 75, 85, 79, 77, 128, 75, 85, 79, 128, 75, 85, 78, 71, 128,
75, 85, 78, 68, 68, 65, 76, 73, 89, 65, 128, 75, 85, 76, 128, 75, 85,
204, 75, 85, 69, 84, 128, 75, 85, 55, 128, 75, 85, 52, 128, 75, 85, 180,
- 75, 85, 51, 128, 75, 85, 179, 75, 84, 128, 75, 83, 83, 65, 128, 75, 83,
- 73, 128, 75, 82, 69, 77, 65, 83, 84, 73, 128, 75, 82, 65, 84, 73, 77, 79,
- 89, 80, 79, 82, 82, 79, 79, 78, 128, 75, 82, 65, 84, 73, 77, 79, 75, 79,
- 85, 70, 73, 83, 77, 65, 128, 75, 82, 65, 84, 73, 77, 65, 84, 65, 128, 75,
- 82, 65, 84, 73, 77, 193, 75, 80, 85, 128, 75, 80, 79, 81, 128, 75, 80,
- 79, 79, 128, 75, 80, 79, 128, 75, 80, 73, 128, 75, 80, 69, 85, 88, 128,
- 75, 80, 69, 69, 128, 75, 80, 69, 128, 75, 80, 65, 82, 65, 81, 128, 75,
- 80, 65, 78, 128, 75, 80, 65, 128, 75, 79, 88, 128, 75, 79, 86, 85, 85,
- 128, 75, 79, 84, 79, 128, 75, 79, 82, 85, 78, 65, 128, 75, 79, 82, 79,
- 78, 73, 83, 128, 75, 79, 82, 69, 65, 206, 75, 79, 82, 65, 78, 73, 195,
- 75, 79, 81, 78, 68, 79, 78, 128, 75, 79, 80, 80, 65, 128, 75, 79, 80,
- 128, 75, 79, 79, 80, 79, 128, 75, 79, 79, 77, 85, 85, 84, 128, 75, 79,
- 79, 128, 75, 79, 78, 84, 69, 86, 77, 65, 128, 75, 79, 78, 84, 69, 86, 77,
- 193, 75, 79, 77, 201, 75, 79, 77, 66, 85, 86, 65, 128, 75, 79, 77, 66,
- 85, 86, 193, 75, 79, 77, 66, 213, 75, 79, 75, 79, 128, 75, 79, 75, 128,
- 75, 79, 203, 75, 79, 73, 128, 75, 79, 201, 75, 79, 72, 128, 75, 79, 71,
- 72, 79, 77, 128, 75, 79, 69, 84, 128, 75, 79, 65, 76, 65, 128, 75, 79,
- 65, 128, 75, 78, 73, 71, 72, 84, 128, 75, 78, 73, 71, 72, 212, 75, 78,
- 73, 70, 69, 128, 75, 78, 73, 70, 197, 75, 77, 128, 75, 205, 75, 76, 73,
- 84, 79, 78, 128, 75, 76, 65, 83, 77, 65, 128, 75, 76, 65, 83, 77, 193,
- 75, 76, 65, 128, 75, 76, 128, 75, 75, 85, 128, 75, 75, 79, 128, 75, 75,
- 73, 128, 75, 75, 69, 69, 128, 75, 75, 69, 128, 75, 75, 65, 128, 75, 75,
- 128, 75, 74, 69, 128, 75, 73, 89, 69, 79, 75, 45, 84, 73, 75, 69, 85, 84,
- 128, 75, 73, 89, 69, 79, 75, 45, 83, 73, 79, 83, 45, 75, 73, 89, 69, 79,
- 75, 128, 75, 73, 89, 69, 79, 75, 45, 82, 73, 69, 85, 76, 128, 75, 73, 89,
- 69, 79, 75, 45, 80, 73, 69, 85, 80, 128, 75, 73, 89, 69, 79, 75, 45, 78,
- 73, 69, 85, 78, 128, 75, 73, 89, 69, 79, 75, 45, 75, 72, 73, 69, 85, 75,
- 72, 128, 75, 73, 89, 69, 79, 75, 45, 67, 72, 73, 69, 85, 67, 72, 128, 75,
- 73, 89, 69, 79, 203, 75, 73, 88, 128, 75, 73, 84, 128, 75, 73, 83, 83,
- 73, 78, 199, 75, 73, 83, 83, 128, 75, 73, 83, 211, 75, 73, 83, 73, 77,
- 53, 128, 75, 73, 83, 73, 77, 181, 75, 73, 83, 72, 128, 75, 73, 83, 65,
- 76, 128, 75, 73, 82, 79, 87, 65, 84, 84, 79, 128, 75, 73, 82, 79, 77, 69,
- 69, 84, 79, 82, 85, 128, 75, 73, 82, 79, 71, 85, 82, 65, 77, 85, 128, 75,
- 73, 82, 79, 128, 75, 73, 82, 71, 72, 73, 218, 75, 73, 81, 128, 75, 73,
- 80, 128, 75, 73, 208, 75, 73, 78, 83, 72, 73, 80, 128, 75, 73, 78, 68,
- 69, 82, 71, 65, 82, 84, 69, 78, 128, 75, 73, 77, 79, 78, 79, 128, 75, 73,
- 73, 128, 75, 73, 72, 128, 75, 73, 69, 88, 128, 75, 73, 69, 80, 128, 75,
- 73, 69, 69, 77, 128, 75, 73, 69, 128, 75, 73, 68, 128, 75, 73, 196, 75,
- 73, 67, 75, 128, 75, 72, 90, 128, 75, 72, 87, 65, 73, 128, 75, 72, 85,
- 69, 78, 45, 76, 85, 197, 75, 72, 85, 69, 206, 75, 72, 85, 65, 84, 128,
- 75, 72, 79, 85, 128, 75, 72, 79, 212, 75, 72, 79, 78, 128, 75, 72, 79,
- 77, 85, 84, 128, 75, 72, 79, 128, 75, 72, 207, 75, 72, 73, 84, 128, 75,
- 72, 73, 69, 85, 75, 200, 75, 72, 73, 128, 75, 72, 72, 79, 128, 75, 72,
- 72, 65, 128, 75, 72, 69, 84, 72, 128, 75, 72, 69, 73, 128, 75, 72, 69,
- 69, 128, 75, 72, 69, 128, 75, 72, 65, 82, 79, 83, 72, 84, 72, 201, 75,
- 72, 65, 82, 128, 75, 72, 65, 80, 72, 128, 75, 72, 65, 78, 199, 75, 72,
- 65, 78, 68, 193, 75, 72, 65, 78, 128, 75, 72, 65, 77, 84, 201, 75, 72,
- 65, 75, 65, 83, 83, 73, 65, 206, 75, 72, 65, 73, 128, 75, 72, 65, 72,
- 128, 75, 72, 65, 200, 75, 72, 65, 65, 128, 75, 71, 128, 75, 69, 89, 67,
- 65, 80, 128, 75, 69, 89, 67, 65, 208, 75, 69, 89, 66, 79, 65, 82, 68,
- 128, 75, 69, 88, 128, 75, 69, 85, 89, 69, 85, 88, 128, 75, 69, 85, 83,
- 72, 69, 85, 65, 69, 80, 128, 75, 69, 85, 83, 69, 85, 88, 128, 75, 69, 85,
- 80, 85, 81, 128, 75, 69, 85, 79, 212, 75, 69, 85, 77, 128, 75, 69, 85,
- 75, 69, 85, 84, 78, 68, 65, 128, 75, 69, 85, 75, 65, 81, 128, 75, 69, 85,
- 65, 69, 84, 77, 69, 85, 78, 128, 75, 69, 85, 65, 69, 82, 73, 128, 75, 69,
- 84, 84, 201, 75, 69, 83, 72, 50, 128, 75, 69, 82, 69, 84, 128, 75, 69,
- 79, 87, 128, 75, 69, 78, 84, 73, 77, 65, 84, 65, 128, 75, 69, 78, 84, 73,
- 77, 65, 84, 193, 75, 69, 78, 84, 73, 77, 193, 75, 69, 78, 65, 84, 128,
- 75, 69, 78, 128, 75, 69, 206, 75, 69, 77, 80, 85, 76, 128, 75, 69, 77,
- 80, 85, 204, 75, 69, 77, 80, 76, 73, 128, 75, 69, 77, 80, 76, 201, 75,
- 69, 77, 80, 72, 82, 69, 78, 71, 128, 75, 69, 77, 66, 65, 78, 71, 128, 75,
- 69, 76, 86, 73, 206, 75, 69, 72, 69, 72, 128, 75, 69, 72, 69, 200, 75,
- 69, 72, 128, 75, 69, 70, 85, 76, 65, 128, 75, 69, 69, 83, 85, 128, 75,
- 69, 69, 80, 73, 78, 199, 75, 69, 69, 78, 71, 128, 75, 67, 65, 76, 128,
- 75, 66, 128, 75, 65, 90, 65, 75, 200, 75, 65, 89, 65, 78, 78, 65, 128,
- 75, 65, 89, 65, 200, 75, 65, 88, 128, 75, 65, 87, 73, 128, 75, 65, 86,
- 89, 75, 65, 128, 75, 65, 85, 78, 65, 128, 75, 65, 85, 206, 75, 65, 84,
- 79, 128, 75, 65, 84, 72, 73, 83, 84, 73, 128, 75, 65, 84, 72, 65, 75,
- 193, 75, 65, 84, 65, 86, 65, 83, 77, 65, 128, 75, 65, 84, 65, 86, 193,
- 75, 65, 84, 65, 75, 65, 78, 65, 45, 72, 73, 82, 65, 71, 65, 78, 193, 75,
- 65, 83, 82, 65, 84, 65, 78, 128, 75, 65, 83, 82, 65, 84, 65, 206, 75, 65,
- 83, 82, 65, 128, 75, 65, 83, 82, 193, 75, 65, 83, 75, 65, 76, 128, 75,
- 65, 83, 75, 65, 204, 75, 65, 83, 72, 77, 73, 82, 201, 75, 65, 82, 83, 72,
- 65, 78, 65, 128, 75, 65, 82, 79, 82, 73, 73, 128, 75, 65, 82, 207, 75,
- 65, 82, 69, 206, 75, 65, 82, 65, 84, 84, 79, 128, 75, 65, 82, 65, 78,
- 128, 75, 65, 80, 89, 69, 79, 85, 78, 83, 83, 65, 78, 71, 80, 73, 69, 85,
- 80, 128, 75, 65, 80, 89, 69, 79, 85, 78, 82, 73, 69, 85, 76, 128, 75, 65,
- 80, 89, 69, 79, 85, 78, 80, 72, 73, 69, 85, 80, 72, 128, 75, 65, 80, 89,
- 69, 79, 85, 78, 77, 73, 69, 85, 77, 128, 75, 65, 80, 80, 65, 128, 75, 65,
- 80, 80, 193, 75, 65, 80, 79, 128, 75, 65, 80, 72, 128, 75, 65, 80, 65,
- 76, 128, 75, 65, 80, 65, 128, 75, 65, 78, 84, 65, 74, 193, 75, 65, 78,
- 71, 128, 75, 65, 78, 199, 75, 65, 78, 65, 75, 79, 128, 75, 65, 77, 52,
- 128, 75, 65, 77, 50, 128, 75, 65, 77, 128, 75, 65, 75, 79, 128, 75, 65,
- 75, 65, 66, 65, 84, 128, 75, 65, 75, 128, 75, 65, 203, 75, 65, 73, 82,
- 73, 128, 75, 65, 73, 128, 75, 65, 201, 75, 65, 70, 65, 128, 75, 65, 70,
- 128, 75, 65, 198, 75, 65, 68, 53, 128, 75, 65, 68, 181, 75, 65, 68, 52,
- 128, 75, 65, 68, 51, 128, 75, 65, 68, 179, 75, 65, 68, 50, 128, 75, 65,
- 68, 128, 75, 65, 66, 193, 75, 65, 66, 128, 75, 65, 65, 73, 128, 75, 65,
- 65, 70, 85, 128, 75, 65, 65, 70, 128, 75, 65, 50, 128, 75, 65, 178, 75,
- 48, 48, 56, 128, 75, 48, 48, 55, 128, 75, 48, 48, 54, 128, 75, 48, 48,
- 53, 128, 75, 48, 48, 52, 128, 75, 48, 48, 51, 128, 75, 48, 48, 50, 128,
- 75, 48, 48, 49, 128, 74, 87, 65, 128, 74, 85, 85, 128, 74, 85, 84, 128,
- 74, 85, 80, 73, 84, 69, 82, 128, 74, 85, 79, 84, 128, 74, 85, 79, 80,
- 128, 74, 85, 78, 79, 128, 74, 85, 78, 69, 128, 74, 85, 76, 89, 128, 74,
- 85, 69, 85, 73, 128, 74, 85, 68, 85, 76, 128, 74, 85, 68, 71, 69, 128,
- 74, 85, 68, 69, 79, 45, 83, 80, 65, 78, 73, 83, 200, 74, 79, 89, 79, 85,
- 211, 74, 79, 89, 128, 74, 79, 86, 69, 128, 74, 79, 212, 74, 79, 78, 71,
- 128, 74, 79, 78, 193, 74, 79, 75, 69, 82, 128, 74, 79, 73, 78, 69, 68,
- 128, 74, 79, 73, 78, 128, 74, 79, 65, 128, 74, 74, 89, 88, 128, 74, 74,
- 89, 84, 128, 74, 74, 89, 80, 128, 74, 74, 89, 128, 74, 74, 85, 88, 128,
- 74, 74, 85, 84, 128, 74, 74, 85, 82, 88, 128, 74, 74, 85, 82, 128, 74,
- 74, 85, 80, 128, 74, 74, 85, 79, 88, 128, 74, 74, 85, 79, 80, 128, 74,
- 74, 85, 79, 128, 74, 74, 85, 128, 74, 74, 79, 88, 128, 74, 74, 79, 84,
- 128, 74, 74, 79, 80, 128, 74, 74, 79, 128, 74, 74, 73, 88, 128, 74, 74,
- 73, 84, 128, 74, 74, 73, 80, 128, 74, 74, 73, 69, 88, 128, 74, 74, 73,
- 69, 84, 128, 74, 74, 73, 69, 80, 128, 74, 74, 73, 69, 128, 74, 74, 73,
- 128, 74, 74, 69, 69, 128, 74, 74, 69, 128, 74, 74, 65, 128, 74, 73, 76,
- 128, 74, 73, 72, 86, 65, 77, 85, 76, 73, 89, 65, 128, 74, 73, 65, 128,
- 74, 72, 79, 128, 74, 72, 69, 72, 128, 74, 72, 65, 78, 128, 74, 72, 65,
- 77, 128, 74, 72, 65, 128, 74, 69, 85, 128, 74, 69, 82, 85, 83, 65, 76,
- 69, 77, 128, 74, 69, 82, 65, 206, 74, 69, 82, 65, 128, 74, 69, 82, 128,
- 74, 69, 72, 128, 74, 69, 200, 74, 69, 71, 79, 71, 65, 78, 128, 74, 69,
- 69, 77, 128, 74, 69, 65, 78, 83, 128, 74, 65, 89, 65, 78, 78, 65, 128,
- 74, 65, 86, 73, 89, 65, 78, 73, 128, 74, 65, 82, 128, 74, 65, 80, 65, 78,
- 69, 83, 197, 74, 65, 80, 65, 78, 128, 74, 65, 78, 85, 65, 82, 89, 128,
- 74, 65, 76, 76, 65, 74, 65, 76, 65, 76, 79, 85, 72, 79, 85, 128, 74, 65,
- 68, 69, 128, 74, 65, 67, 75, 45, 79, 45, 76, 65, 78, 84, 69, 82, 78, 128,
- 74, 65, 67, 203, 74, 45, 83, 73, 77, 80, 76, 73, 70, 73, 69, 196, 202,
- 73, 90, 72, 73, 84, 83, 65, 128, 73, 90, 72, 73, 84, 83, 193, 73, 90, 72,
- 69, 128, 73, 90, 65, 75, 65, 89, 193, 73, 89, 69, 75, 128, 73, 89, 65,
- 78, 78, 65, 128, 73, 85, 74, 65, 128, 73, 85, 128, 73, 84, 211, 73, 84,
- 69, 82, 65, 84, 73, 79, 206, 73, 84, 69, 77, 128, 73, 83, 83, 72, 65, 82,
- 128, 73, 83, 79, 78, 128, 73, 83, 79, 206, 73, 83, 69, 78, 45, 73, 83,
- 69, 78, 128, 73, 83, 65, 75, 73, 193, 73, 83, 45, 80, 73, 76, 76, 65,
- 128, 73, 82, 85, 89, 65, 78, 78, 65, 128, 73, 82, 85, 85, 89, 65, 78, 78,
- 65, 128, 73, 82, 79, 78, 45, 67, 79, 80, 80, 69, 210, 73, 82, 79, 78,
- 128, 73, 79, 84, 73, 70, 73, 69, 196, 73, 79, 84, 65, 84, 69, 196, 73,
- 79, 84, 65, 128, 73, 79, 84, 193, 73, 79, 82, 128, 73, 79, 68, 72, 65,
- 68, 72, 128, 73, 78, 86, 73, 83, 73, 66, 76, 197, 73, 78, 86, 69, 82, 84,
- 69, 68, 128, 73, 78, 86, 69, 82, 84, 69, 196, 73, 78, 86, 69, 82, 83,
- 197, 73, 78, 84, 73, 128, 73, 78, 84, 69, 82, 83, 89, 76, 76, 65, 66, 73,
- 195, 73, 78, 84, 69, 82, 83, 69, 67, 84, 73, 79, 78, 128, 73, 78, 84, 69,
- 82, 83, 69, 67, 84, 73, 79, 206, 73, 78, 84, 69, 82, 83, 69, 67, 84, 73,
- 78, 199, 73, 78, 84, 69, 82, 82, 79, 66, 65, 78, 71, 128, 73, 78, 84, 69,
- 82, 80, 79, 76, 65, 84, 73, 79, 206, 73, 78, 84, 69, 82, 76, 79, 67, 75,
- 69, 196, 73, 78, 84, 69, 82, 76, 73, 78, 69, 65, 210, 73, 78, 84, 69, 82,
- 76, 65, 67, 69, 196, 73, 78, 84, 69, 82, 73, 79, 210, 73, 78, 84, 69, 82,
- 69, 83, 212, 73, 78, 84, 69, 82, 67, 65, 76, 65, 84, 69, 128, 73, 78, 84,
- 69, 71, 82, 65, 84, 73, 79, 78, 128, 73, 78, 84, 69, 71, 82, 65, 84, 73,
- 79, 206, 73, 78, 84, 69, 71, 82, 65, 76, 128, 73, 78, 84, 69, 71, 82, 65,
- 204, 73, 78, 83, 85, 76, 65, 210, 73, 78, 83, 84, 82, 85, 77, 69, 78, 84,
- 65, 204, 73, 78, 83, 73, 68, 69, 128, 73, 78, 83, 69, 82, 84, 73, 79,
- 206, 73, 78, 83, 69, 67, 84, 128, 73, 78, 83, 67, 82, 73, 80, 84, 73, 79,
- 78, 65, 204, 73, 78, 80, 85, 212, 73, 78, 78, 79, 67, 69, 78, 67, 69,
- 128, 73, 78, 78, 78, 128, 73, 78, 78, 69, 82, 128, 73, 78, 78, 69, 210,
- 73, 78, 78, 128, 73, 78, 73, 78, 71, 85, 128, 73, 78, 73, 128, 73, 78,
- 72, 73, 66, 73, 212, 73, 78, 72, 69, 82, 69, 78, 212, 73, 78, 71, 87, 65,
- 90, 128, 73, 78, 70, 79, 82, 77, 65, 84, 73, 79, 206, 73, 78, 70, 76, 85,
- 69, 78, 67, 69, 128, 73, 78, 70, 73, 78, 73, 84, 89, 128, 73, 78, 70, 73,
- 78, 73, 84, 217, 73, 78, 68, 85, 83, 84, 82, 73, 65, 204, 73, 78, 68, 73,
- 82, 69, 67, 212, 73, 78, 68, 73, 67, 65, 84, 79, 82, 128, 73, 78, 68, 73,
- 67, 65, 84, 79, 210, 73, 78, 68, 73, 195, 73, 78, 68, 73, 65, 206, 73,
- 78, 68, 69, 88, 128, 73, 78, 68, 69, 80, 69, 78, 68, 69, 78, 212, 73, 78,
- 67, 82, 69, 77, 69, 78, 84, 128, 73, 78, 67, 82, 69, 65, 83, 69, 211, 73,
- 78, 67, 82, 69, 65, 83, 69, 128, 73, 78, 67, 79, 77, 80, 76, 69, 84, 197,
- 73, 78, 67, 79, 77, 73, 78, 199, 73, 78, 67, 76, 85, 68, 73, 78, 199, 73,
- 78, 67, 72, 128, 73, 78, 66, 79, 216, 73, 78, 65, 80, 128, 73, 78, 45,
- 65, 76, 65, 70, 128, 73, 77, 80, 69, 82, 73, 65, 204, 73, 77, 80, 69, 82,
- 70, 69, 67, 84, 85, 205, 73, 77, 80, 69, 82, 70, 69, 67, 84, 65, 128, 73,
- 77, 80, 69, 82, 70, 69, 67, 84, 193, 73, 77, 73, 83, 69, 79, 211, 73, 77,
- 73, 78, 51, 128, 73, 77, 73, 78, 128, 73, 77, 73, 206, 73, 77, 73, 70,
- 84, 72, 79, 82, 79, 78, 128, 73, 77, 73, 70, 84, 72, 79, 82, 65, 128, 73,
- 77, 73, 70, 79, 78, 79, 78, 128, 73, 77, 73, 68, 73, 65, 82, 71, 79, 78,
- 128, 73, 77, 65, 71, 197, 73, 76, 85, 89, 65, 78, 78, 65, 128, 73, 76,
- 85, 89, 128, 73, 76, 85, 85, 89, 65, 78, 78, 65, 128, 73, 76, 85, 84,
- 128, 73, 76, 73, 77, 77, 85, 52, 128, 73, 76, 73, 77, 77, 85, 51, 128,
- 73, 76, 73, 77, 77, 85, 128, 73, 76, 73, 77, 77, 213, 73, 76, 50, 128,
- 73, 75, 65, 82, 65, 128, 73, 75, 65, 82, 193, 73, 74, 128, 73, 73, 89,
- 65, 78, 78, 65, 128, 73, 71, 73, 128, 73, 71, 201, 73, 71, 71, 87, 83,
- 128, 73, 70, 73, 78, 128, 73, 69, 85, 78, 71, 45, 84, 73, 75, 69, 85, 84,
- 128, 73, 69, 85, 78, 71, 45, 84, 72, 73, 69, 85, 84, 72, 128, 73, 69, 85,
- 78, 71, 45, 83, 83, 65, 78, 71, 75, 73, 89, 69, 79, 75, 128, 73, 69, 85,
- 78, 71, 45, 82, 73, 69, 85, 76, 128, 73, 69, 85, 78, 71, 45, 80, 73, 69,
- 85, 80, 128, 73, 69, 85, 78, 71, 45, 80, 72, 73, 69, 85, 80, 72, 128, 73,
- 69, 85, 78, 71, 45, 75, 73, 89, 69, 79, 75, 128, 73, 69, 85, 78, 71, 45,
- 75, 72, 73, 69, 85, 75, 72, 128, 73, 69, 85, 78, 71, 45, 67, 73, 69, 85,
- 67, 128, 73, 69, 85, 78, 71, 45, 67, 72, 73, 69, 85, 67, 72, 128, 73, 69,
- 85, 78, 199, 73, 68, 76, 69, 128, 73, 68, 73, 77, 128, 73, 68, 73, 205,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 68, 57, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 65, 68, 56, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 65, 68, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 65, 68, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65,
- 68, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 68, 52, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 68, 51, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 65, 68, 50, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 65, 68, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 65, 68, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65,
- 67, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 67, 69, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 67, 68, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 65, 67, 67, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 65, 67, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 65, 67, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65,
- 67, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 67, 56, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 67, 55, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 65, 67, 54, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 65, 67, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 65, 67, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65,
- 67, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 67, 50, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 67, 49, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 65, 67, 48, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 65, 66, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 65, 66, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65,
- 66, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 66, 67, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 66, 66, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 65, 66, 65, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 65, 66, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 65, 66, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65,
- 66, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 66, 54, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 66, 53, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 65, 66, 52, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 65, 66, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 65, 66, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65,
- 66, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 66, 48, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 65, 70, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 65, 65, 69, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 65, 65, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 65, 65, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65,
- 65, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 65, 65, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 65, 57, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 65, 65, 56, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 65, 65, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 65, 65, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65,
- 65, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 65, 52, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 65, 51, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 65, 65, 50, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 65, 65, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 65, 65, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65,
- 57, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 57, 69, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 57, 68, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 65, 57, 67, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 65, 57, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 65, 57, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65,
- 57, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 57, 56, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 57, 55, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 65, 57, 54, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 65, 57, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 65, 57, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65,
- 57, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 57, 50, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 57, 49, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 65, 57, 48, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 65, 56, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 65, 56, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65,
- 56, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 56, 67, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 56, 66, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 65, 56, 65, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 65, 56, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 65, 56, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65,
- 56, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 56, 54, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 56, 53, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 65, 56, 52, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 65, 56, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 65, 56, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65,
- 56, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 56, 48, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 55, 70, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 65, 55, 69, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 65, 55, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 65, 55, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65,
- 55, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 55, 65, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 55, 57, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 65, 55, 56, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 65, 55, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 65, 55, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65,
- 55, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 55, 52, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 55, 51, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 65, 55, 50, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 65, 55, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 65, 55, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65,
- 54, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 54, 67, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 54, 66, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 65, 54, 65, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 65, 54, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 65, 54, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65,
- 54, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 54, 54, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 54, 53, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 65, 54, 52, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 65, 54, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 65, 54, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65,
- 54, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 54, 48, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 53, 70, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 65, 53, 69, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 65, 53, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 65, 53, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65,
- 53, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 53, 65, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 53, 57, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 65, 53, 56, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 65, 53, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 65, 53, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65,
- 53, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 53, 52, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 53, 51, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 65, 53, 50, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 65, 53, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 65, 53, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65,
- 52, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 52, 69, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 52, 68, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 65, 52, 67, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 65, 52, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 65, 52, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65,
- 52, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 52, 56, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 52, 55, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 65, 52, 54, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 65, 52, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 65, 52, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65,
- 52, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 52, 50, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 52, 49, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 65, 52, 48, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 65, 51, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 65, 51, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65,
- 51, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 51, 67, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 51, 66, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 65, 51, 65, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 65, 51, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 65, 51, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65,
- 51, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 51, 54, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 51, 53, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 65, 51, 52, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 65, 51, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 65, 51, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65,
- 51, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 51, 48, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 50, 68, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 65, 50, 67, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 65, 50, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 65, 50, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65,
- 50, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 50, 56, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 50, 55, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 65, 50, 54, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 65, 50, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 65, 50, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65,
- 50, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 50, 50, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 50, 49, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 65, 50, 48, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 65, 49, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 65, 49, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65,
- 49, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 49, 67, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 49, 66, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 65, 49, 65, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 65, 49, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 65, 49, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65,
- 49, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 49, 54, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 49, 53, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 65, 49, 52, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 65, 49, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 65, 49, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65,
- 49, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 49, 48, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 48, 70, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 65, 48, 69, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 65, 48, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 65, 48, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65,
- 48, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 48, 65, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 48, 57, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 65, 48, 56, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 65, 48, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 65, 48, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65,
- 48, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 48, 52, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 48, 51, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 65, 48, 50, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 65, 48, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 65, 48, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 70, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 70, 69, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 70, 68, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 70, 67, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 70, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 70, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 70, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 70, 56, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 70, 55, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 70, 54, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 70, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 70, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 70, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 70, 50, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 70, 49, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 70, 48, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 69, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 69, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 69, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 69, 67, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 69, 66, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 69, 65, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 69, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 69, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 69, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 69, 54, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 69, 53, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 69, 52, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 69, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 69, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 69, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 69, 48, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 68, 70, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 68, 69, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 68, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 68, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 68, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 68, 65, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 68, 57, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 68, 56, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 68, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 68, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 68, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 68, 52, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 68, 51, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 68, 50, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 68, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 68, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 67, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 67, 69, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 67, 68, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 67, 67, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 67, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 67, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 67, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 67, 56, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 67, 55, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 67, 54, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 67, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 67, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 67, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 67, 50, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 67, 49, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 67, 48, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 66, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 66, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 66, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 66, 67, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 66, 66, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 66, 65, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 66, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 66, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 66, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 66, 54, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 66, 53, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 66, 52, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 66, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 66, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 66, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 66, 48, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 65, 70, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 65, 69, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 65, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 65, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 65, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 65, 65, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 65, 57, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 65, 56, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 65, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 65, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 65, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 65, 52, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 65, 51, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 65, 50, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 65, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 65, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 57, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 57, 69, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 57, 68, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 57, 67, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 57, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 57, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 57, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 57, 56, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 57, 55, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 57, 54, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 57, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 57, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 57, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 57, 50, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 57, 49, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 57, 48, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 56, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 56, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 56, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 56, 67, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 56, 66, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 56, 65, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 56, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 56, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 56, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 56, 54, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 56, 53, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 56, 52, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 56, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 56, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 56, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 56, 48, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 55, 70, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 55, 69, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 55, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 55, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 55, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 55, 65, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 55, 57, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 55, 56, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 55, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 55, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 55, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 55, 52, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 55, 51, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 55, 50, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 55, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 55, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 54, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 54, 69, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 54, 68, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 54, 67, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 54, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 54, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 54, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 54, 56, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 54, 55, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 54, 54, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 54, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 54, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 54, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 54, 50, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 54, 49, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 54, 48, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 53, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 53, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 53, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 53, 67, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 53, 66, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 53, 65, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 53, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 53, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 53, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 53, 54, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 53, 53, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 53, 52, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 53, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 53, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 53, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 53, 48, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 52, 70, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 52, 69, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 52, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 52, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 52, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 52, 65, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 52, 57, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 52, 56, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 52, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 52, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 52, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 52, 52, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 52, 51, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 52, 50, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 52, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 52, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 51, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 51, 69, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 51, 68, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 51, 67, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 51, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 51, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 51, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 51, 56, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 51, 55, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 51, 54, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 51, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 51, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 51, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 51, 50, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 51, 49, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 51, 48, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 50, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 50, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 50, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 50, 67, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 50, 66, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 50, 65, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 50, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 50, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 50, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 50, 54, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 50, 53, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 50, 52, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 50, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 50, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 50, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 50, 48, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 49, 70, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 49, 69, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 49, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 49, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 49, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 49, 65, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 49, 57, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 49, 56, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 49, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 49, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 49, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 49, 52, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 49, 51, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 49, 50, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 49, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 49, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 48, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 48, 69, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 48, 68, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 48, 67, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 48, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 48, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 48, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 48, 56, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 48, 55, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 48, 54, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 70, 57, 48, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 70, 57, 48, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57,
- 48, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 48, 50, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 48, 49, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 70, 57, 48, 48, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 57, 48, 52, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 56, 68, 55, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 56, 67,
- 65, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 56, 57, 69, 51, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 55, 68, 52, 50, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 55, 65, 55, 65, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 55, 57, 56, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 55, 54, 68, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 55, 53,
- 51, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 55, 53, 49, 70, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 55, 49, 50, 49, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 55, 48, 66, 57, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 54, 70, 49, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 54, 69, 56, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 54, 55,
- 50, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 54, 55, 48, 57, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 54, 55, 48, 56, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 54, 54, 50, 48, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 54, 53, 66, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 54, 53, 57, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 54, 53,
- 53, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 54, 51, 53, 53, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 54, 51, 48, 55, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 54, 50, 57, 53, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 54, 50, 53, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 54, 50, 52, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 53, 70,
- 56, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 53, 68, 69, 54, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 53, 66, 56, 57, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 53, 66, 53, 55, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 53, 57, 50, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 53, 57, 49, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 53, 56,
- 70, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 53, 53, 66, 54, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 53, 52, 51, 57, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 53, 52, 48, 56, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 53, 51, 70, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 53, 51, 67, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 53, 50,
- 68, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 53, 50, 55, 50, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 53, 50, 52, 68, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 53, 50, 49, 68, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 53, 49, 56, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72,
- 45, 52, 69, 65, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 52, 69,
- 56, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 52, 69, 50, 68, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 52, 69, 48, 57, 128, 73, 68, 69,
- 79, 71, 82, 65, 80, 72, 45, 52, 69, 48, 48, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 65, 49, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 65, 49, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 65, 49, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 65, 49, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 65, 49,
- 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 65, 49, 56, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 65, 49, 55, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 65, 49, 54, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 65, 49, 53, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 65, 49, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 65, 49, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 65, 49, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 65, 49, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 65, 49,
- 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 65, 48, 70, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 65, 48, 69, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 65, 48, 68, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 65, 48, 67, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 65, 48, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 65, 48, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 65, 48, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 65, 48, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 65, 48,
- 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 65, 48, 54, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 65, 48, 53, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 65, 48, 52, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 65, 48, 51, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 65, 48, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 65, 48, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 65, 48, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 57, 70, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 70,
- 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 70, 68, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 70, 67, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 70, 66, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 57, 70, 65, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 57, 70, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 57, 70, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 57, 70, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 57, 70, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 70,
- 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 70, 52, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 70, 51, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 70, 50, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 57, 70, 49, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 57, 70, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 57, 69, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 57, 69, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 57, 69, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 69,
- 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 69, 66, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 69, 65, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 69, 57, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 57, 69, 56, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 57, 69, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 57, 69, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 57, 69, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 57, 69, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 69,
- 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 69, 50, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 69, 49, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 69, 48, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 57, 68, 70, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 57, 68, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 57, 68, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 57, 68, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 57, 68, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 68,
- 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 68, 57, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 68, 56, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 68, 55, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 57, 68, 54, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 57, 68, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 57, 68, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 57, 68, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 57, 68, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 68,
- 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 68, 48, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 67, 70, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 67, 69, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 57, 67, 68, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 57, 67, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 57, 67, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 57, 67, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 57, 67, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 67,
- 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 67, 55, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 67, 54, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 67, 53, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 57, 67, 52, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 57, 67, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 57, 67, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 57, 67, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 57, 67, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 66,
- 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 66, 69, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 66, 68, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 66, 67, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 57, 66, 66, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 57, 66, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 57, 66, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 57, 66, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 57, 66, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 66,
- 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 66, 53, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 66, 52, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 66, 51, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 57, 66, 50, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 57, 66, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 57, 66, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 57, 65, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 57, 65, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 65,
- 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 65, 67, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 65, 66, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 65, 65, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 57, 65, 57, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 57, 65, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 57, 65, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 57, 65, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 57, 65, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 65,
- 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 65, 51, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 65, 50, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 65, 49, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 57, 65, 48, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 57, 57, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 57, 57, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 57, 57, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 57, 57, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 57,
- 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 57, 65, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 57, 57, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 57, 56, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 57, 57, 55, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 57, 57, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 57, 57, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 57, 57, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 57, 57, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 57,
- 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 57, 49, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 57, 48, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 56, 70, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 57, 56, 69, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 57, 56, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 57, 56, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 57, 56, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 57, 56, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 56,
- 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 56, 56, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 56, 55, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 56, 54, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 57, 56, 53, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 57, 56, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 57, 56, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 57, 56, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 57, 56, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 56,
- 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 55, 70, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 55, 69, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 55, 68, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 57, 55, 67, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 57, 55, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 57, 55, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 57, 55, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 57, 55, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 55,
- 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 55, 54, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 55, 53, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 55, 52, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 57, 55, 51, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 57, 55, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 57, 55, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 57, 55, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 57, 54, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 54,
- 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 54, 68, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 54, 67, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 54, 66, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 57, 54, 65, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 57, 54, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 57, 54, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 57, 54, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 57, 54, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 54,
- 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 54, 52, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 54, 51, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 54, 50, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 57, 54, 49, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 57, 54, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 57, 53, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 57, 53, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 57, 53, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 53,
- 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 53, 66, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 53, 65, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 53, 57, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 57, 53, 56, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 57, 53, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 57, 53, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 57, 53, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 57, 53, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 53,
- 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 53, 50, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 53, 49, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 53, 48, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 57, 52, 70, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 57, 52, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 57, 52, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 57, 52, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 57, 52, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 52,
- 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 52, 57, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 52, 56, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 52, 55, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 57, 52, 54, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 57, 52, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 57, 52, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 57, 52, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 57, 52, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 52,
- 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 52, 48, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 51, 70, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 51, 69, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 57, 51, 68, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 57, 51, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 57, 51, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 57, 51, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 57, 51, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 51,
- 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 51, 55, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 51, 54, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 51, 53, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 57, 51, 52, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 57, 51, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 57, 51, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 57, 51, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 57, 51, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 50,
- 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 50, 69, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 50, 68, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 50, 67, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 57, 50, 66, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 57, 50, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 57, 50, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 57, 50, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 57, 50, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 50,
- 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 50, 53, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 50, 52, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 50, 51, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 57, 50, 50, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 57, 50, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 57, 50, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 57, 49, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 57, 49, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 49,
- 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 49, 67, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 49, 66, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 49, 65, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 57, 49, 57, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 57, 49, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 57, 49, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 57, 49, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 57, 49, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 49,
- 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 49, 51, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 49, 50, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 49, 49, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 57, 49, 48, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 57, 48, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 57, 48, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 57, 48, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 57, 48, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 48,
- 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 48, 65, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 48, 57, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 48, 56, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 57, 48, 55, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 57, 48, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 57, 48, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 57, 48, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 57, 48, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 48,
- 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 48, 49, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 48, 48, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 70, 70, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 56, 70, 69, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 56, 70, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 56, 70, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 56, 70, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 56, 70, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 70,
- 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 70, 56, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 70, 55, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 70, 54, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 56, 70, 53, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 56, 70, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 56, 70, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 56, 70, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 56, 70, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 70,
- 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 69, 70, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 69, 69, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 69, 68, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 56, 69, 67, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 56, 69, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 56, 69, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 56, 69, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 56, 69, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 69,
- 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 69, 54, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 69, 53, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 69, 52, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 56, 69, 51, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 56, 69, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 56, 69, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 56, 69, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 56, 68, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 68,
- 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 68, 68, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 68, 67, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 68, 66, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 56, 68, 65, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 56, 68, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 56, 68, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 56, 68, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 56, 68, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 68,
- 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 68, 52, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 68, 51, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 68, 50, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 56, 68, 49, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 56, 68, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 56, 67, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 56, 67, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 56, 67, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 67,
- 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 67, 66, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 67, 65, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 67, 57, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 56, 67, 56, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 56, 67, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 56, 67, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 56, 67, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 56, 67, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 67,
- 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 67, 50, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 67, 49, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 67, 48, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 56, 66, 70, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 56, 66, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 56, 66, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 56, 66, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 56, 66, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 66,
- 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 66, 57, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 66, 56, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 66, 55, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 56, 66, 54, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 56, 66, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 56, 66, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 56, 66, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 56, 66, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 66,
- 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 66, 48, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 65, 70, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 65, 69, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 56, 65, 68, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 56, 65, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 56, 65, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 56, 65, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 56, 65, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 65,
- 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 65, 55, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 65, 54, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 65, 53, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 56, 65, 52, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 56, 65, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 56, 65, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 56, 65, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 56, 65, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 57,
- 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 57, 69, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 57, 68, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 57, 67, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 56, 57, 66, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 56, 57, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 56, 57, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 56, 57, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 56, 57, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 57,
- 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 57, 53, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 57, 52, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 57, 51, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 56, 57, 50, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 56, 57, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 56, 57, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 56, 56, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 56, 56, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 56,
- 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 56, 67, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 56, 66, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 56, 65, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 56, 56, 57, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 56, 56, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 56, 56, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 56, 56, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 56, 56, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 56,
- 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 56, 51, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 56, 50, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 56, 49, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 56, 56, 48, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 56, 55, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 56, 55, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 56, 55, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 56, 55, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 55,
- 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 55, 65, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 55, 57, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 55, 56, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 56, 55, 55, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 56, 55, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 56, 55, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 56, 55, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 56, 55, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 55,
- 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 55, 49, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 55, 48, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 54, 70, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 56, 54, 69, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 56, 54, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 56, 54, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 56, 54, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 56, 54, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 54,
- 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 54, 56, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 54, 55, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 54, 54, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 56, 54, 53, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 56, 54, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 56, 54, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 56, 54, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 56, 54, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 54,
- 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 53, 70, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 53, 69, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 53, 68, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 56, 53, 67, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 56, 53, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 56, 53, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 56, 53, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 56, 53, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 53,
- 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 53, 54, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 53, 53, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 53, 52, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 56, 53, 51, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 56, 53, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 56, 53, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 56, 53, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 56, 52, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 52,
- 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 52, 68, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 52, 67, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 52, 66, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 56, 52, 65, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 56, 52, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 56, 52, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 56, 52, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 56, 52, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 52,
- 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 52, 52, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 52, 51, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 52, 50, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 56, 52, 49, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 56, 52, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 56, 51, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 56, 51, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 56, 51, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 51,
- 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 51, 66, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 51, 65, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 51, 57, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 56, 51, 56, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 56, 51, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 56, 51, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 56, 51, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 56, 51, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 51,
- 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 51, 50, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 51, 49, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 51, 48, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 56, 50, 70, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 56, 50, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 56, 50, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 56, 50, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 56, 50, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 50,
- 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 50, 57, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 50, 56, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 50, 55, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 56, 50, 54, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 56, 50, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 56, 50, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 56, 50, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 56, 50, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 50,
- 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 50, 48, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 49, 70, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 49, 69, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 56, 49, 68, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 56, 49, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 56, 49, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 56, 49, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 56, 49, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 49,
- 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 49, 55, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 49, 54, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 49, 53, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 56, 49, 52, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 56, 49, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 56, 49, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 56, 49, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 56, 49, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 48,
- 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 48, 69, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 48, 68, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 48, 67, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 56, 48, 66, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 56, 48, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 56, 48, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
- 50, 70, 56, 48, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
- 56, 48, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 48,
- 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 48, 53, 128,
- 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 48, 52, 128, 73, 68,
- 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 48, 51, 128, 73, 68, 69, 79,
- 71, 82, 65, 80, 72, 45, 50, 70, 56, 48, 50, 128, 73, 68, 69, 79, 71, 82,
- 65, 80, 72, 45, 50, 70, 56, 48, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80,
- 72, 45, 50, 70, 56, 48, 48, 128, 73, 68, 69, 78, 84, 73, 70, 73, 67, 65,
- 84, 73, 79, 78, 128, 73, 68, 69, 78, 84, 73, 67, 65, 204, 73, 67, 72, 79,
- 85, 128, 73, 67, 72, 79, 83, 128, 73, 67, 72, 73, 77, 65, 84, 79, 83,
- 128, 73, 67, 72, 65, 68, 73, 78, 128, 73, 67, 69, 76, 65, 78, 68, 73, 67,
- 45, 89, 82, 128, 73, 66, 73, 70, 73, 76, 73, 128, 73, 65, 85, 68, 65,
+ 75, 85, 51, 128, 75, 85, 179, 75, 84, 128, 75, 83, 83, 85, 85, 128, 75,
+ 83, 83, 85, 128, 75, 83, 83, 79, 79, 128, 75, 83, 83, 79, 128, 75, 83,
+ 83, 73, 73, 128, 75, 83, 83, 73, 128, 75, 83, 83, 69, 69, 128, 75, 83,
+ 83, 69, 128, 75, 83, 83, 65, 85, 128, 75, 83, 83, 65, 73, 128, 75, 83,
+ 83, 65, 65, 128, 75, 83, 83, 65, 128, 75, 83, 83, 128, 75, 83, 73, 128,
+ 75, 82, 69, 77, 65, 83, 84, 73, 128, 75, 82, 65, 84, 73, 77, 79, 89, 80,
+ 79, 82, 82, 79, 79, 78, 128, 75, 82, 65, 84, 73, 77, 79, 75, 79, 85, 70,
+ 73, 83, 77, 65, 128, 75, 82, 65, 84, 73, 77, 65, 84, 65, 128, 75, 82, 65,
+ 84, 73, 77, 193, 75, 80, 85, 128, 75, 80, 79, 81, 128, 75, 80, 79, 79,
+ 128, 75, 80, 79, 128, 75, 80, 73, 128, 75, 80, 69, 85, 88, 128, 75, 80,
+ 69, 69, 128, 75, 80, 69, 128, 75, 80, 65, 82, 65, 81, 128, 75, 80, 65,
+ 78, 128, 75, 80, 65, 128, 75, 79, 88, 128, 75, 79, 86, 85, 85, 128, 75,
+ 79, 84, 79, 128, 75, 79, 82, 85, 78, 65, 128, 75, 79, 82, 79, 78, 73, 83,
+ 128, 75, 79, 82, 69, 65, 206, 75, 79, 82, 65, 78, 73, 195, 75, 79, 81,
+ 78, 68, 79, 78, 128, 75, 79, 80, 80, 65, 128, 75, 79, 80, 128, 75, 79,
+ 79, 80, 79, 128, 75, 79, 79, 77, 85, 85, 84, 128, 75, 79, 79, 128, 75,
+ 79, 78, 84, 69, 86, 77, 65, 128, 75, 79, 78, 84, 69, 86, 77, 193, 75, 79,
+ 77, 201, 75, 79, 77, 66, 85, 86, 65, 128, 75, 79, 77, 66, 85, 86, 193,
+ 75, 79, 77, 66, 213, 75, 79, 75, 79, 128, 75, 79, 75, 128, 75, 79, 203,
+ 75, 79, 73, 128, 75, 79, 201, 75, 79, 72, 128, 75, 79, 71, 72, 79, 77,
+ 128, 75, 79, 69, 84, 128, 75, 79, 65, 76, 65, 128, 75, 79, 65, 128, 75,
+ 78, 73, 71, 72, 84, 128, 75, 78, 73, 71, 72, 212, 75, 78, 73, 70, 69,
+ 128, 75, 78, 73, 70, 197, 75, 77, 128, 75, 205, 75, 76, 73, 84, 79, 78,
+ 128, 75, 76, 65, 83, 77, 65, 128, 75, 76, 65, 83, 77, 193, 75, 76, 65,
+ 128, 75, 76, 128, 75, 75, 85, 128, 75, 75, 79, 128, 75, 75, 73, 128, 75,
+ 75, 69, 69, 128, 75, 75, 69, 128, 75, 75, 65, 128, 75, 75, 128, 75, 74,
+ 69, 128, 75, 73, 89, 69, 79, 75, 45, 84, 73, 75, 69, 85, 84, 128, 75, 73,
+ 89, 69, 79, 75, 45, 83, 73, 79, 83, 45, 75, 73, 89, 69, 79, 75, 128, 75,
+ 73, 89, 69, 79, 75, 45, 82, 73, 69, 85, 76, 128, 75, 73, 89, 69, 79, 75,
+ 45, 80, 73, 69, 85, 80, 128, 75, 73, 89, 69, 79, 75, 45, 78, 73, 69, 85,
+ 78, 128, 75, 73, 89, 69, 79, 75, 45, 75, 72, 73, 69, 85, 75, 72, 128, 75,
+ 73, 89, 69, 79, 75, 45, 67, 72, 73, 69, 85, 67, 72, 128, 75, 73, 89, 69,
+ 79, 203, 75, 73, 88, 128, 75, 73, 84, 128, 75, 73, 83, 83, 73, 78, 199,
+ 75, 73, 83, 83, 128, 75, 73, 83, 211, 75, 73, 83, 73, 77, 53, 128, 75,
+ 73, 83, 73, 77, 181, 75, 73, 83, 72, 128, 75, 73, 83, 65, 76, 128, 75,
+ 73, 82, 79, 87, 65, 84, 84, 79, 128, 75, 73, 82, 79, 77, 69, 69, 84, 79,
+ 82, 85, 128, 75, 73, 82, 79, 71, 85, 82, 65, 77, 85, 128, 75, 73, 82, 79,
+ 128, 75, 73, 82, 71, 72, 73, 218, 75, 73, 81, 128, 75, 73, 80, 128, 75,
+ 73, 208, 75, 73, 78, 83, 72, 73, 80, 128, 75, 73, 78, 68, 69, 82, 71, 65,
+ 82, 84, 69, 78, 128, 75, 73, 77, 79, 78, 79, 128, 75, 73, 73, 128, 75,
+ 73, 72, 128, 75, 73, 69, 88, 128, 75, 73, 69, 80, 128, 75, 73, 69, 69,
+ 77, 128, 75, 73, 69, 128, 75, 73, 68, 128, 75, 73, 196, 75, 73, 67, 75,
+ 128, 75, 72, 90, 128, 75, 72, 87, 65, 73, 128, 75, 72, 85, 69, 78, 45,
+ 76, 85, 197, 75, 72, 85, 69, 206, 75, 72, 85, 65, 84, 128, 75, 72, 79,
+ 85, 128, 75, 72, 79, 212, 75, 72, 79, 78, 128, 75, 72, 79, 77, 85, 84,
+ 128, 75, 72, 79, 128, 75, 72, 207, 75, 72, 73, 84, 128, 75, 72, 73, 78,
+ 89, 65, 128, 75, 72, 73, 69, 85, 75, 200, 75, 72, 73, 128, 75, 72, 72,
+ 79, 128, 75, 72, 72, 65, 128, 75, 72, 69, 84, 72, 128, 75, 72, 69, 73,
+ 128, 75, 72, 69, 69, 128, 75, 72, 69, 128, 75, 72, 65, 82, 79, 83, 72,
+ 84, 72, 201, 75, 72, 65, 82, 128, 75, 72, 65, 80, 72, 128, 75, 72, 65,
+ 78, 199, 75, 72, 65, 78, 68, 193, 75, 72, 65, 78, 128, 75, 72, 65, 77,
+ 84, 201, 75, 72, 65, 75, 65, 83, 83, 73, 65, 206, 75, 72, 65, 73, 128,
+ 75, 72, 65, 72, 128, 75, 72, 65, 200, 75, 72, 65, 65, 128, 75, 71, 128,
+ 75, 69, 89, 67, 65, 80, 128, 75, 69, 89, 67, 65, 208, 75, 69, 89, 66, 79,
+ 65, 82, 68, 128, 75, 69, 88, 128, 75, 69, 85, 89, 69, 85, 88, 128, 75,
+ 69, 85, 83, 72, 69, 85, 65, 69, 80, 128, 75, 69, 85, 83, 69, 85, 88, 128,
+ 75, 69, 85, 80, 85, 81, 128, 75, 69, 85, 79, 212, 75, 69, 85, 77, 128,
+ 75, 69, 85, 75, 69, 85, 84, 78, 68, 65, 128, 75, 69, 85, 75, 65, 81, 128,
+ 75, 69, 85, 65, 69, 84, 77, 69, 85, 78, 128, 75, 69, 85, 65, 69, 82, 73,
+ 128, 75, 69, 84, 84, 201, 75, 69, 83, 72, 50, 128, 75, 69, 82, 69, 84,
+ 128, 75, 69, 79, 87, 128, 75, 69, 78, 84, 73, 77, 65, 84, 65, 128, 75,
+ 69, 78, 84, 73, 77, 65, 84, 193, 75, 69, 78, 84, 73, 77, 193, 75, 69, 78,
+ 65, 84, 128, 75, 69, 78, 128, 75, 69, 206, 75, 69, 77, 80, 85, 76, 128,
+ 75, 69, 77, 80, 85, 204, 75, 69, 77, 80, 76, 73, 128, 75, 69, 77, 80, 76,
+ 201, 75, 69, 77, 80, 72, 82, 69, 78, 71, 128, 75, 69, 77, 66, 65, 78, 71,
+ 128, 75, 69, 76, 86, 73, 206, 75, 69, 72, 69, 72, 128, 75, 69, 72, 69,
+ 200, 75, 69, 72, 128, 75, 69, 70, 85, 76, 65, 128, 75, 69, 69, 83, 85,
+ 128, 75, 69, 69, 80, 73, 78, 199, 75, 69, 69, 78, 71, 128, 75, 67, 65,
+ 76, 128, 75, 66, 128, 75, 65, 90, 65, 75, 200, 75, 65, 89, 65, 78, 78,
+ 65, 128, 75, 65, 89, 65, 200, 75, 65, 88, 128, 75, 65, 87, 73, 128, 75,
+ 65, 86, 89, 75, 65, 128, 75, 65, 85, 78, 65, 128, 75, 65, 85, 206, 75,
+ 65, 85, 128, 75, 65, 84, 79, 128, 75, 65, 84, 72, 73, 83, 84, 73, 128,
+ 75, 65, 84, 72, 65, 75, 193, 75, 65, 84, 65, 86, 65, 83, 77, 65, 128, 75,
+ 65, 84, 65, 86, 193, 75, 65, 84, 65, 75, 65, 78, 65, 45, 72, 73, 82, 65,
+ 71, 65, 78, 193, 75, 65, 83, 82, 65, 84, 65, 78, 128, 75, 65, 83, 82, 65,
+ 84, 65, 206, 75, 65, 83, 82, 65, 128, 75, 65, 83, 82, 193, 75, 65, 83,
+ 75, 65, 76, 128, 75, 65, 83, 75, 65, 204, 75, 65, 83, 72, 77, 73, 82,
+ 201, 75, 65, 82, 83, 72, 65, 78, 65, 128, 75, 65, 82, 79, 82, 73, 73,
+ 128, 75, 65, 82, 207, 75, 65, 82, 69, 206, 75, 65, 82, 65, 84, 84, 79,
+ 128, 75, 65, 82, 65, 78, 128, 75, 65, 80, 89, 69, 79, 85, 78, 83, 83, 65,
+ 78, 71, 80, 73, 69, 85, 80, 128, 75, 65, 80, 89, 69, 79, 85, 78, 82, 73,
+ 69, 85, 76, 128, 75, 65, 80, 89, 69, 79, 85, 78, 80, 72, 73, 69, 85, 80,
+ 72, 128, 75, 65, 80, 89, 69, 79, 85, 78, 77, 73, 69, 85, 77, 128, 75, 65,
+ 80, 80, 65, 128, 75, 65, 80, 80, 193, 75, 65, 80, 79, 128, 75, 65, 80,
+ 72, 128, 75, 65, 80, 65, 76, 128, 75, 65, 80, 65, 128, 75, 65, 78, 84,
+ 65, 74, 193, 75, 65, 78, 71, 128, 75, 65, 78, 199, 75, 65, 78, 65, 75,
+ 79, 128, 75, 65, 77, 52, 128, 75, 65, 77, 50, 128, 75, 65, 77, 128, 75,
+ 65, 75, 79, 128, 75, 65, 75, 65, 66, 65, 84, 128, 75, 65, 75, 128, 75,
+ 65, 203, 75, 65, 73, 84, 72, 201, 75, 65, 73, 82, 73, 128, 75, 65, 73,
+ 128, 75, 65, 201, 75, 65, 70, 65, 128, 75, 65, 70, 128, 75, 65, 198, 75,
+ 65, 68, 53, 128, 75, 65, 68, 181, 75, 65, 68, 52, 128, 75, 65, 68, 51,
+ 128, 75, 65, 68, 179, 75, 65, 68, 50, 128, 75, 65, 68, 128, 75, 65, 66,
+ 193, 75, 65, 66, 128, 75, 65, 65, 73, 128, 75, 65, 65, 70, 85, 128, 75,
+ 65, 65, 70, 128, 75, 65, 50, 128, 75, 65, 178, 75, 48, 48, 56, 128, 75,
+ 48, 48, 55, 128, 75, 48, 48, 54, 128, 75, 48, 48, 53, 128, 75, 48, 48,
+ 52, 128, 75, 48, 48, 51, 128, 75, 48, 48, 50, 128, 75, 48, 48, 49, 128,
+ 74, 87, 65, 128, 74, 85, 85, 128, 74, 85, 84, 128, 74, 85, 80, 73, 84,
+ 69, 82, 128, 74, 85, 79, 84, 128, 74, 85, 79, 80, 128, 74, 85, 78, 79,
+ 128, 74, 85, 78, 69, 128, 74, 85, 76, 89, 128, 74, 85, 69, 85, 73, 128,
+ 74, 85, 68, 85, 76, 128, 74, 85, 68, 71, 69, 128, 74, 85, 68, 69, 79, 45,
+ 83, 80, 65, 78, 73, 83, 200, 74, 79, 89, 79, 85, 211, 74, 79, 89, 128,
+ 74, 79, 86, 69, 128, 74, 79, 212, 74, 79, 78, 71, 128, 74, 79, 78, 193,
+ 74, 79, 75, 69, 82, 128, 74, 79, 73, 78, 69, 68, 128, 74, 79, 73, 78,
+ 128, 74, 79, 65, 128, 74, 74, 89, 88, 128, 74, 74, 89, 84, 128, 74, 74,
+ 89, 80, 128, 74, 74, 89, 128, 74, 74, 85, 88, 128, 74, 74, 85, 84, 128,
+ 74, 74, 85, 82, 88, 128, 74, 74, 85, 82, 128, 74, 74, 85, 80, 128, 74,
+ 74, 85, 79, 88, 128, 74, 74, 85, 79, 80, 128, 74, 74, 85, 79, 128, 74,
+ 74, 85, 128, 74, 74, 79, 88, 128, 74, 74, 79, 84, 128, 74, 74, 79, 80,
+ 128, 74, 74, 79, 128, 74, 74, 73, 88, 128, 74, 74, 73, 84, 128, 74, 74,
+ 73, 80, 128, 74, 74, 73, 69, 88, 128, 74, 74, 73, 69, 84, 128, 74, 74,
+ 73, 69, 80, 128, 74, 74, 73, 69, 128, 74, 74, 73, 128, 74, 74, 69, 69,
+ 128, 74, 74, 69, 128, 74, 74, 65, 128, 74, 73, 76, 128, 74, 73, 73, 128,
+ 74, 73, 72, 86, 65, 77, 85, 76, 73, 89, 65, 128, 74, 73, 65, 128, 74, 72,
+ 79, 128, 74, 72, 69, 72, 128, 74, 72, 65, 78, 128, 74, 72, 65, 77, 128,
+ 74, 72, 65, 128, 74, 69, 85, 128, 74, 69, 82, 85, 83, 65, 76, 69, 77,
+ 128, 74, 69, 82, 65, 206, 74, 69, 82, 65, 128, 74, 69, 82, 128, 74, 69,
+ 72, 128, 74, 69, 200, 74, 69, 71, 79, 71, 65, 78, 128, 74, 69, 69, 77,
+ 128, 74, 69, 65, 78, 83, 128, 74, 65, 89, 65, 78, 78, 65, 128, 74, 65,
+ 86, 73, 89, 65, 78, 73, 128, 74, 65, 85, 128, 74, 65, 82, 128, 74, 65,
+ 80, 65, 78, 69, 83, 197, 74, 65, 80, 65, 78, 128, 74, 65, 78, 85, 65, 82,
+ 89, 128, 74, 65, 76, 76, 65, 74, 65, 76, 65, 76, 79, 85, 72, 79, 85, 128,
+ 74, 65, 73, 128, 74, 65, 68, 69, 128, 74, 65, 67, 75, 45, 79, 45, 76, 65,
+ 78, 84, 69, 82, 78, 128, 74, 65, 67, 203, 74, 45, 83, 73, 77, 80, 76, 73,
+ 70, 73, 69, 196, 202, 73, 90, 72, 73, 84, 83, 65, 128, 73, 90, 72, 73,
+ 84, 83, 193, 73, 90, 72, 69, 128, 73, 90, 65, 75, 65, 89, 193, 73, 89,
+ 69, 75, 128, 73, 89, 65, 78, 78, 65, 128, 73, 85, 74, 65, 128, 73, 85,
+ 128, 73, 84, 211, 73, 84, 69, 82, 65, 84, 73, 79, 206, 73, 84, 69, 77,
+ 128, 73, 83, 83, 72, 65, 82, 128, 73, 83, 79, 78, 128, 73, 83, 79, 206,
+ 73, 83, 69, 78, 45, 73, 83, 69, 78, 128, 73, 83, 65, 75, 73, 193, 73, 83,
+ 45, 80, 73, 76, 76, 65, 128, 73, 82, 85, 89, 65, 78, 78, 65, 128, 73, 82,
+ 85, 85, 89, 65, 78, 78, 65, 128, 73, 82, 79, 78, 45, 67, 79, 80, 80, 69,
+ 210, 73, 82, 79, 78, 128, 73, 79, 84, 73, 70, 73, 69, 196, 73, 79, 84,
+ 65, 84, 69, 196, 73, 79, 84, 65, 128, 73, 79, 84, 193, 73, 79, 82, 128,
+ 73, 79, 68, 72, 65, 68, 72, 128, 73, 78, 86, 73, 83, 73, 66, 76, 197, 73,
+ 78, 86, 69, 82, 84, 69, 68, 128, 73, 78, 86, 69, 82, 84, 69, 196, 73, 78,
+ 86, 69, 82, 83, 197, 73, 78, 84, 73, 128, 73, 78, 84, 69, 82, 83, 89, 76,
+ 76, 65, 66, 73, 195, 73, 78, 84, 69, 82, 83, 69, 67, 84, 73, 79, 78, 128,
+ 73, 78, 84, 69, 82, 83, 69, 67, 84, 73, 79, 206, 73, 78, 84, 69, 82, 83,
+ 69, 67, 84, 73, 78, 199, 73, 78, 84, 69, 82, 82, 79, 66, 65, 78, 71, 128,
+ 73, 78, 84, 69, 82, 80, 79, 76, 65, 84, 73, 79, 206, 73, 78, 84, 69, 82,
+ 76, 79, 67, 75, 69, 196, 73, 78, 84, 69, 82, 76, 73, 78, 69, 65, 210, 73,
+ 78, 84, 69, 82, 76, 65, 67, 69, 196, 73, 78, 84, 69, 82, 73, 79, 210, 73,
+ 78, 84, 69, 82, 69, 83, 212, 73, 78, 84, 69, 82, 67, 65, 76, 65, 84, 69,
+ 128, 73, 78, 84, 69, 71, 82, 65, 84, 73, 79, 78, 128, 73, 78, 84, 69, 71,
+ 82, 65, 84, 73, 79, 206, 73, 78, 84, 69, 71, 82, 65, 76, 128, 73, 78, 84,
+ 69, 71, 82, 65, 204, 73, 78, 83, 85, 76, 65, 210, 73, 78, 83, 84, 82, 85,
+ 77, 69, 78, 84, 65, 204, 73, 78, 83, 73, 68, 69, 128, 73, 78, 83, 69, 82,
+ 84, 73, 79, 206, 73, 78, 83, 69, 67, 84, 128, 73, 78, 83, 67, 82, 73, 80,
+ 84, 73, 79, 78, 65, 204, 73, 78, 80, 85, 212, 73, 78, 78, 79, 67, 69, 78,
+ 67, 69, 128, 73, 78, 78, 78, 128, 73, 78, 78, 69, 82, 128, 73, 78, 78,
+ 69, 210, 73, 78, 78, 128, 73, 78, 73, 78, 71, 85, 128, 73, 78, 73, 128,
+ 73, 78, 72, 73, 66, 73, 212, 73, 78, 72, 69, 82, 69, 78, 212, 73, 78, 71,
+ 87, 65, 90, 128, 73, 78, 70, 79, 82, 77, 65, 84, 73, 79, 206, 73, 78, 70,
+ 76, 85, 69, 78, 67, 69, 128, 73, 78, 70, 73, 78, 73, 84, 89, 128, 73, 78,
+ 70, 73, 78, 73, 84, 217, 73, 78, 68, 85, 83, 84, 82, 73, 65, 204, 73, 78,
+ 68, 73, 82, 69, 67, 212, 73, 78, 68, 73, 67, 65, 84, 79, 82, 128, 73, 78,
+ 68, 73, 67, 65, 84, 79, 210, 73, 78, 68, 73, 195, 73, 78, 68, 73, 65,
+ 206, 73, 78, 68, 69, 88, 128, 73, 78, 68, 69, 80, 69, 78, 68, 69, 78,
+ 212, 73, 78, 67, 82, 69, 77, 69, 78, 84, 128, 73, 78, 67, 82, 69, 65, 83,
+ 69, 211, 73, 78, 67, 82, 69, 65, 83, 69, 128, 73, 78, 67, 79, 77, 80, 76,
+ 69, 84, 197, 73, 78, 67, 79, 77, 73, 78, 199, 73, 78, 67, 76, 85, 68, 73,
+ 78, 199, 73, 78, 67, 72, 128, 73, 78, 66, 79, 216, 73, 78, 65, 80, 128,
+ 73, 78, 45, 65, 76, 65, 70, 128, 73, 77, 80, 69, 82, 73, 65, 204, 73, 77,
+ 80, 69, 82, 70, 69, 67, 84, 85, 205, 73, 77, 80, 69, 82, 70, 69, 67, 84,
+ 65, 128, 73, 77, 80, 69, 82, 70, 69, 67, 84, 193, 73, 77, 73, 83, 69, 79,
+ 211, 73, 77, 73, 78, 51, 128, 73, 77, 73, 78, 128, 73, 77, 73, 206, 73,
+ 77, 73, 70, 84, 72, 79, 82, 79, 78, 128, 73, 77, 73, 70, 84, 72, 79, 82,
+ 65, 128, 73, 77, 73, 70, 79, 78, 79, 78, 128, 73, 77, 73, 68, 73, 65, 82,
+ 71, 79, 78, 128, 73, 77, 65, 71, 197, 73, 76, 85, 89, 65, 78, 78, 65,
+ 128, 73, 76, 85, 89, 128, 73, 76, 85, 85, 89, 65, 78, 78, 65, 128, 73,
+ 76, 85, 84, 128, 73, 76, 73, 77, 77, 85, 52, 128, 73, 76, 73, 77, 77, 85,
+ 51, 128, 73, 76, 73, 77, 77, 85, 128, 73, 76, 73, 77, 77, 213, 73, 76,
+ 50, 128, 73, 75, 65, 82, 65, 128, 73, 75, 65, 82, 193, 73, 74, 128, 73,
+ 73, 89, 65, 78, 78, 65, 128, 73, 71, 73, 128, 73, 71, 201, 73, 71, 71,
+ 87, 83, 128, 73, 70, 73, 78, 128, 73, 69, 85, 78, 71, 45, 84, 73, 75, 69,
+ 85, 84, 128, 73, 69, 85, 78, 71, 45, 84, 72, 73, 69, 85, 84, 72, 128, 73,
+ 69, 85, 78, 71, 45, 83, 83, 65, 78, 71, 75, 73, 89, 69, 79, 75, 128, 73,
+ 69, 85, 78, 71, 45, 82, 73, 69, 85, 76, 128, 73, 69, 85, 78, 71, 45, 80,
+ 73, 69, 85, 80, 128, 73, 69, 85, 78, 71, 45, 80, 72, 73, 69, 85, 80, 72,
+ 128, 73, 69, 85, 78, 71, 45, 75, 73, 89, 69, 79, 75, 128, 73, 69, 85, 78,
+ 71, 45, 75, 72, 73, 69, 85, 75, 72, 128, 73, 69, 85, 78, 71, 45, 67, 73,
+ 69, 85, 67, 128, 73, 69, 85, 78, 71, 45, 67, 72, 73, 69, 85, 67, 72, 128,
+ 73, 69, 85, 78, 199, 73, 68, 76, 69, 128, 73, 68, 73, 77, 128, 73, 68,
+ 73, 205, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 68, 57, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 68, 56, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 65, 68, 55, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 65, 68, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 65, 68, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 68,
+ 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 68, 51, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 68, 50, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 65, 68, 49, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 65, 68, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 65, 67, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 67,
+ 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 67, 68, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 67, 67, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 65, 67, 66, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 65, 67, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 65, 67, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 67,
+ 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 67, 55, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 67, 54, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 65, 67, 53, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 65, 67, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 65, 67, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 67,
+ 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 67, 49, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 67, 48, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 65, 66, 70, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 65, 66, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 65, 66, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 66,
+ 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 66, 66, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 66, 65, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 65, 66, 57, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 65, 66, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 65, 66, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 66,
+ 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 66, 53, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 66, 52, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 65, 66, 51, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 65, 66, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 65, 66, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 66,
+ 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 65, 70, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 65, 69, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 65, 65, 68, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 65, 65, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 65, 65, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 65,
+ 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 65, 57, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 65, 56, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 65, 65, 55, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 65, 65, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 65, 65, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 65,
+ 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 65, 51, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 65, 50, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 65, 65, 49, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 65, 65, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 65, 57, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 57,
+ 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 57, 68, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 57, 67, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 65, 57, 66, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 65, 57, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 65, 57, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 57,
+ 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 57, 55, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 57, 54, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 65, 57, 53, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 65, 57, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 65, 57, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 57,
+ 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 57, 49, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 57, 48, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 65, 56, 70, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 65, 56, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 65, 56, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 56,
+ 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 56, 66, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 56, 65, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 65, 56, 57, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 65, 56, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 65, 56, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 56,
+ 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 56, 53, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 56, 52, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 65, 56, 51, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 65, 56, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 65, 56, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 56,
+ 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 55, 70, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 55, 69, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 65, 55, 68, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 65, 55, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 65, 55, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 55,
+ 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 55, 57, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 55, 56, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 65, 55, 55, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 65, 55, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 65, 55, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 55,
+ 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 55, 51, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 55, 50, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 65, 55, 49, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 65, 55, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 65, 54, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 54,
+ 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 54, 66, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 54, 65, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 65, 54, 57, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 65, 54, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 65, 54, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 54,
+ 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 54, 53, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 54, 52, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 65, 54, 51, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 65, 54, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 65, 54, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 54,
+ 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 53, 70, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 53, 69, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 65, 53, 68, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 65, 53, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 65, 53, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 53,
+ 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 53, 57, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 53, 56, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 65, 53, 55, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 65, 53, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 65, 53, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 53,
+ 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 53, 51, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 53, 50, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 65, 53, 49, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 65, 53, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 65, 52, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 52,
+ 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 52, 68, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 52, 67, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 65, 52, 66, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 65, 52, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 65, 52, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 52,
+ 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 52, 55, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 52, 54, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 65, 52, 53, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 65, 52, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 65, 52, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 52,
+ 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 52, 49, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 52, 48, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 65, 51, 70, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 65, 51, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 65, 51, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 51,
+ 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 51, 66, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 51, 65, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 65, 51, 57, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 65, 51, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 65, 51, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 51,
+ 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 51, 53, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 51, 52, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 65, 51, 51, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 65, 51, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 65, 51, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 51,
+ 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 50, 68, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 50, 67, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 65, 50, 66, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 65, 50, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 65, 50, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 50,
+ 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 50, 55, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 50, 54, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 65, 50, 53, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 65, 50, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 65, 50, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 50,
+ 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 50, 49, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 50, 48, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 65, 49, 70, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 65, 49, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 65, 49, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 49,
+ 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 49, 66, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 49, 65, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 65, 49, 57, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 65, 49, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 65, 49, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 49,
+ 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 49, 53, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 49, 52, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 65, 49, 51, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 65, 49, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 65, 49, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 49,
+ 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 48, 70, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 48, 69, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 65, 48, 68, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 65, 48, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 65, 48, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 48,
+ 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 48, 57, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 48, 56, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 65, 48, 55, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 65, 48, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 65, 48, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 48,
+ 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 48, 51, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 65, 48, 50, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 65, 48, 49, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 65, 48, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 70, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 70,
+ 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 70, 68, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 70, 67, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 70, 66, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 70, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 70, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 70,
+ 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 70, 55, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 70, 54, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 70, 53, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 70, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 70, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 70,
+ 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 70, 49, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 70, 48, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 69, 70, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 69, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 69, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 69,
+ 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 69, 66, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 69, 65, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 69, 57, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 69, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 69, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 69,
+ 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 69, 53, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 69, 52, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 69, 51, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 69, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 69, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 69,
+ 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 68, 70, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 68, 69, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 68, 68, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 68, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 68, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 68,
+ 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 68, 57, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 68, 56, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 68, 55, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 68, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 68, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 68,
+ 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 68, 51, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 68, 50, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 68, 49, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 68, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 67, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 67,
+ 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 67, 68, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 67, 67, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 67, 66, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 67, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 67, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 67,
+ 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 67, 55, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 67, 54, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 67, 53, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 67, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 67, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 67,
+ 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 67, 49, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 67, 48, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 66, 70, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 66, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 66, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 66,
+ 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 66, 66, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 66, 65, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 66, 57, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 66, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 66, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 66,
+ 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 66, 53, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 66, 52, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 66, 51, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 66, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 66, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 66,
+ 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 65, 70, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 65, 69, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 65, 68, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 65, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 65, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 65,
+ 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 65, 57, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 65, 56, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 65, 55, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 65, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 65, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 65,
+ 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 65, 51, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 65, 50, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 65, 49, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 65, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 57, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 57,
+ 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 57, 68, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 57, 67, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 57, 66, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 57, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 57, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 57,
+ 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 57, 55, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 57, 54, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 57, 53, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 57, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 57, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 57,
+ 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 57, 49, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 57, 48, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 56, 70, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 56, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 56, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 56,
+ 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 56, 66, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 56, 65, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 56, 57, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 56, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 56, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 56,
+ 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 56, 53, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 56, 52, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 56, 51, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 56, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 56, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 56,
+ 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 55, 70, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 55, 69, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 55, 68, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 55, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 55, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 55,
+ 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 55, 57, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 55, 56, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 55, 55, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 55, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 55, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 55,
+ 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 55, 51, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 55, 50, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 55, 49, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 55, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 54, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 54,
+ 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 54, 68, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 54, 67, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 54, 66, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 54, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 54, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 54,
+ 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 54, 55, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 54, 54, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 54, 53, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 54, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 54, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 54,
+ 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 54, 49, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 54, 48, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 53, 70, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 53, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 53, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 53,
+ 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 53, 66, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 53, 65, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 53, 57, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 53, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 53, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 53,
+ 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 53, 53, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 53, 52, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 53, 51, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 53, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 53, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 53,
+ 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 52, 70, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 52, 69, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 52, 68, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 52, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 52, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 52,
+ 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 52, 57, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 52, 56, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 52, 55, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 52, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 52, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 52,
+ 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 52, 51, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 52, 50, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 52, 49, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 52, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 51, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 51,
+ 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 51, 68, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 51, 67, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 51, 66, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 51, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 51, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 51,
+ 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 51, 55, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 51, 54, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 51, 53, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 51, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 51, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 51,
+ 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 51, 49, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 51, 48, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 50, 70, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 50, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 50, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 50,
+ 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 50, 66, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 50, 65, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 50, 57, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 50, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 50, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 50,
+ 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 50, 53, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 50, 52, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 50, 51, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 50, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 50, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 50,
+ 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 49, 70, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 49, 69, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 49, 68, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 49, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 49, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 49,
+ 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 49, 57, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 49, 56, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 49, 55, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 49, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 49, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 49,
+ 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 49, 51, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 49, 50, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 49, 49, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 49, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 48, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 48,
+ 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 48, 68, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 48, 67, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 48, 66, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 48, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 48, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 48,
+ 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 48, 55, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 48, 54, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 70, 57, 48, 53, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 70, 57, 48, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 70, 57, 48, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 48,
+ 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 48, 49, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 70, 57, 48, 48, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 57, 48, 52, 65, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 56, 68, 55, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 56, 67, 65, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 56, 57, 69,
+ 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 55, 68, 52, 50, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 55, 65, 55, 65, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 55, 57, 56, 49, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 55, 54, 68, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 55, 53, 51, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 55, 53, 49,
+ 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 55, 49, 50, 49, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 55, 48, 66, 57, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 54, 70, 49, 52, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 54, 69, 56, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 54, 55, 50, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 54, 55, 48,
+ 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 54, 55, 48, 56, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 54, 54, 50, 48, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 54, 53, 66, 48, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 54, 53, 57, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 54, 53, 53, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 54, 51, 53,
+ 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 54, 51, 48, 55, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 54, 50, 57, 53, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 54, 50, 53, 51, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 54, 50, 52, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 53, 70, 56, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 53, 68, 69,
+ 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 53, 66, 56, 57, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 53, 66, 53, 55, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 53, 57, 50, 57, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 53, 57, 49, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 53, 56, 70, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 53, 53, 66,
+ 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 53, 52, 51, 57, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 53, 52, 48, 56, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 53, 51, 70, 51, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 53, 51, 67, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 53, 50, 68, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 53, 50, 55,
+ 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 53, 50, 52, 68, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 53, 50, 49, 68, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 53, 49, 56, 68, 128, 73, 68, 69, 79, 71, 82, 65,
+ 80, 72, 45, 52, 69, 65, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 52, 69, 56, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 52, 69, 50,
+ 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 52, 69, 48, 57, 128, 73,
+ 68, 69, 79, 71, 82, 65, 80, 72, 45, 52, 69, 48, 48, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 65, 49, 68, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 65, 49, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 65, 49, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 65, 49, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 65, 49, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 65, 49,
+ 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 65, 49, 55, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 65, 49, 54, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 65, 49, 53, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 65, 49, 52, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 65, 49, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 65, 49, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 65, 49, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 65, 49, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 65, 48,
+ 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 65, 48, 69, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 65, 48, 68, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 65, 48, 67, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 65, 48, 66, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 65, 48, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 65, 48, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 65, 48, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 65, 48, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 65, 48,
+ 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 65, 48, 53, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 65, 48, 52, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 65, 48, 51, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 65, 48, 50, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 65, 48, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 65, 48, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 57, 70, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 57, 70, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 70,
+ 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 70, 67, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 70, 66, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 70, 65, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 57, 70, 57, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 57, 70, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 57, 70, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 57, 70, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 57, 70, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 70,
+ 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 70, 51, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 70, 50, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 70, 49, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 57, 70, 48, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 57, 69, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 57, 69, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 57, 69, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 57, 69, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 69,
+ 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 69, 65, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 69, 57, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 69, 56, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 57, 69, 55, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 57, 69, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 57, 69, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 57, 69, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 57, 69, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 69,
+ 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 69, 49, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 69, 48, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 68, 70, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 57, 68, 69, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 57, 68, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 57, 68, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 57, 68, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 57, 68, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 68,
+ 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 68, 56, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 68, 55, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 68, 54, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 57, 68, 53, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 57, 68, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 57, 68, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 57, 68, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 57, 68, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 68,
+ 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 67, 70, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 67, 69, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 67, 68, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 57, 67, 67, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 57, 67, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 57, 67, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 57, 67, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 57, 67, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 67,
+ 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 67, 54, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 67, 53, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 67, 52, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 57, 67, 51, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 57, 67, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 57, 67, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 57, 67, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 57, 66, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 66,
+ 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 66, 68, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 66, 67, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 66, 66, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 57, 66, 65, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 57, 66, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 57, 66, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 57, 66, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 57, 66, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 66,
+ 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 66, 52, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 66, 51, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 66, 50, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 57, 66, 49, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 57, 66, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 57, 65, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 57, 65, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 57, 65, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 65,
+ 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 65, 66, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 65, 65, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 65, 57, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 57, 65, 56, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 57, 65, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 57, 65, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 57, 65, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 57, 65, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 65,
+ 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 65, 50, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 65, 49, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 65, 48, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 57, 57, 70, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 57, 57, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 57, 57, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 57, 57, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 57, 57, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 57,
+ 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 57, 57, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 57, 56, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 57, 55, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 57, 57, 54, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 57, 57, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 57, 57, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 57, 57, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 57, 57, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 57,
+ 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 57, 48, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 56, 70, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 56, 69, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 57, 56, 68, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 57, 56, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 57, 56, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 57, 56, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 57, 56, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 56,
+ 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 56, 55, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 56, 54, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 56, 53, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 57, 56, 52, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 57, 56, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 57, 56, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 57, 56, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 57, 56, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 55,
+ 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 55, 69, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 55, 68, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 55, 67, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 57, 55, 66, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 57, 55, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 57, 55, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 57, 55, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 57, 55, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 55,
+ 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 55, 53, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 55, 52, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 55, 51, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 57, 55, 50, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 57, 55, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 57, 55, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 57, 54, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 57, 54, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 54,
+ 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 54, 67, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 54, 66, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 54, 65, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 57, 54, 57, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 57, 54, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 57, 54, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 57, 54, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 57, 54, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 54,
+ 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 54, 51, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 54, 50, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 54, 49, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 57, 54, 48, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 57, 53, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 57, 53, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 57, 53, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 57, 53, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 53,
+ 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 53, 65, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 53, 57, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 53, 56, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 57, 53, 55, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 57, 53, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 57, 53, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 57, 53, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 57, 53, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 53,
+ 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 53, 49, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 53, 48, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 52, 70, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 57, 52, 69, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 57, 52, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 57, 52, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 57, 52, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 57, 52, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 52,
+ 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 52, 56, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 52, 55, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 52, 54, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 57, 52, 53, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 57, 52, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 57, 52, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 57, 52, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 57, 52, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 52,
+ 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 51, 70, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 51, 69, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 51, 68, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 57, 51, 67, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 57, 51, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 57, 51, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 57, 51, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 57, 51, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 51,
+ 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 51, 54, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 51, 53, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 51, 52, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 57, 51, 51, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 57, 51, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 57, 51, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 57, 51, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 57, 50, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 50,
+ 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 50, 68, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 50, 67, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 50, 66, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 57, 50, 65, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 57, 50, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 57, 50, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 57, 50, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 57, 50, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 50,
+ 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 50, 52, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 50, 51, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 50, 50, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 57, 50, 49, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 57, 50, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 57, 49, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 57, 49, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 57, 49, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 49,
+ 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 49, 66, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 49, 65, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 49, 57, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 57, 49, 56, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 57, 49, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 57, 49, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 57, 49, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 57, 49, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 49,
+ 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 49, 50, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 49, 49, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 49, 48, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 57, 48, 70, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 57, 48, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 57, 48, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 57, 48, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 57, 48, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 48,
+ 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 48, 57, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 48, 56, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 48, 55, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 57, 48, 54, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 57, 48, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 57, 48, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 57, 48, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 57, 48, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 48,
+ 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 57, 48, 48, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 70, 70, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 70, 69, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 56, 70, 68, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 56, 70, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 56, 70, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 56, 70, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 56, 70, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 70,
+ 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 70, 55, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 70, 54, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 70, 53, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 56, 70, 52, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 56, 70, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 56, 70, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 56, 70, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 56, 70, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 69,
+ 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 69, 69, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 69, 68, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 69, 67, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 56, 69, 66, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 56, 69, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 56, 69, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 56, 69, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 56, 69, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 69,
+ 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 69, 53, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 69, 52, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 69, 51, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 56, 69, 50, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 56, 69, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 56, 69, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 56, 68, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 56, 68, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 68,
+ 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 68, 67, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 68, 66, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 68, 65, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 56, 68, 57, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 56, 68, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 56, 68, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 56, 68, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 56, 68, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 68,
+ 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 68, 51, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 68, 50, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 68, 49, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 56, 68, 48, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 56, 67, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 56, 67, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 56, 67, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 56, 67, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 67,
+ 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 67, 65, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 67, 57, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 67, 56, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 56, 67, 55, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 56, 67, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 56, 67, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 56, 67, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 56, 67, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 67,
+ 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 67, 49, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 67, 48, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 66, 70, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 56, 66, 69, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 56, 66, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 56, 66, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 56, 66, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 56, 66, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 66,
+ 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 66, 56, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 66, 55, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 66, 54, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 56, 66, 53, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 56, 66, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 56, 66, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 56, 66, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 56, 66, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 66,
+ 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 65, 70, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 65, 69, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 65, 68, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 56, 65, 67, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 56, 65, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 56, 65, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 56, 65, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 56, 65, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 65,
+ 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 65, 54, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 65, 53, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 65, 52, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 56, 65, 51, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 56, 65, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 56, 65, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 56, 65, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 56, 57, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 57,
+ 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 57, 68, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 57, 67, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 57, 66, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 56, 57, 65, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 56, 57, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 56, 57, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 56, 57, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 56, 57, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 57,
+ 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 57, 52, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 57, 51, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 57, 50, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 56, 57, 49, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 56, 57, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 56, 56, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 56, 56, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 56, 56, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 56,
+ 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 56, 66, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 56, 65, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 56, 57, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 56, 56, 56, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 56, 56, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 56, 56, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 56, 56, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 56, 56, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 56,
+ 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 56, 50, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 56, 49, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 56, 48, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 56, 55, 70, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 56, 55, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 56, 55, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 56, 55, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 56, 55, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 55,
+ 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 55, 57, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 55, 56, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 55, 55, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 56, 55, 54, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 56, 55, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 56, 55, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 56, 55, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 56, 55, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 55,
+ 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 55, 48, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 54, 70, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 54, 69, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 56, 54, 68, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 56, 54, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 56, 54, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 56, 54, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 56, 54, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 54,
+ 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 54, 55, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 54, 54, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 54, 53, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 56, 54, 52, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 56, 54, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 56, 54, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 56, 54, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 56, 54, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 53,
+ 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 53, 69, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 53, 68, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 53, 67, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 56, 53, 66, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 56, 53, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 56, 53, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 56, 53, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 56, 53, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 53,
+ 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 53, 53, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 53, 52, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 53, 51, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 56, 53, 50, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 56, 53, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 56, 53, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 56, 52, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 56, 52, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 52,
+ 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 52, 67, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 52, 66, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 52, 65, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 56, 52, 57, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 56, 52, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 56, 52, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 56, 52, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 56, 52, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 52,
+ 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 52, 51, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 52, 50, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 52, 49, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 56, 52, 48, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 56, 51, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 56, 51, 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 56, 51, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 56, 51, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 51,
+ 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 51, 65, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 51, 57, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 51, 56, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 56, 51, 55, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 56, 51, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 56, 51, 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 56, 51, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 56, 51, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 51,
+ 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 51, 49, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 51, 48, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 50, 70, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 56, 50, 69, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 56, 50, 68, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 56, 50, 67, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 56, 50, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 56, 50, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 50,
+ 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 50, 56, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 50, 55, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 50, 54, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 56, 50, 53, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 56, 50, 52, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 56, 50, 51, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 56, 50, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 56, 50, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 50,
+ 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 49, 70, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 49, 69, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 49, 68, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 56, 49, 67, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 56, 49, 66, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 56, 49, 65, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 56, 49, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 56, 49, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 49,
+ 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 49, 54, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 49, 53, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 49, 52, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 56, 49, 51, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 56, 49, 50, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 56, 49, 49, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 56, 49, 48, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 56, 48, 70, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 48,
+ 69, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 48, 68, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 48, 67, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 48, 66, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 56, 48, 65, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 56, 48, 57, 128, 73, 68, 69, 79, 71, 82, 65, 80,
+ 72, 45, 50, 70, 56, 48, 56, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45,
+ 50, 70, 56, 48, 55, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70,
+ 56, 48, 54, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 48,
+ 53, 128, 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 48, 52, 128,
+ 73, 68, 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 48, 51, 128, 73, 68,
+ 69, 79, 71, 82, 65, 80, 72, 45, 50, 70, 56, 48, 50, 128, 73, 68, 69, 79,
+ 71, 82, 65, 80, 72, 45, 50, 70, 56, 48, 49, 128, 73, 68, 69, 79, 71, 82,
+ 65, 80, 72, 45, 50, 70, 56, 48, 48, 128, 73, 68, 69, 78, 84, 73, 70, 73,
+ 67, 65, 84, 73, 79, 78, 128, 73, 68, 69, 78, 84, 73, 67, 65, 204, 73, 67,
+ 72, 79, 85, 128, 73, 67, 72, 79, 83, 128, 73, 67, 72, 73, 77, 65, 84, 79,
+ 83, 128, 73, 67, 72, 65, 68, 73, 78, 128, 73, 67, 69, 76, 65, 78, 68, 73,
+ 67, 45, 89, 82, 128, 73, 66, 73, 70, 73, 76, 73, 128, 73, 65, 85, 68, 65,
128, 73, 48, 49, 53, 128, 73, 48, 49, 52, 128, 73, 48, 49, 51, 128, 73,
48, 49, 50, 128, 73, 48, 49, 49, 65, 128, 73, 48, 49, 49, 128, 73, 48,
49, 48, 65, 128, 73, 48, 49, 48, 128, 73, 48, 48, 57, 65, 128, 73, 48,
@@ -3253,801 +3277,802 @@ static unsigned char lexicon[] = {
48, 48, 45, 48, 49, 128, 72, 79, 82, 73, 90, 79, 78, 84, 65, 76, 45, 48,
48, 45, 48, 48, 128, 72, 79, 82, 73, 90, 79, 78, 84, 65, 76, 128, 72, 79,
82, 73, 128, 72, 79, 82, 193, 72, 79, 79, 82, 85, 128, 72, 79, 79, 80,
- 128, 72, 79, 79, 78, 128, 72, 79, 78, 69, 89, 66, 69, 69, 128, 72, 79,
- 78, 69, 217, 72, 79, 77, 79, 84, 72, 69, 84, 73, 67, 128, 72, 79, 77, 79,
- 84, 72, 69, 84, 73, 195, 72, 79, 76, 69, 128, 72, 79, 76, 68, 73, 78,
- 199, 72, 79, 76, 65, 77, 128, 72, 79, 76, 65, 205, 72, 79, 75, 65, 128,
- 72, 79, 73, 128, 72, 79, 67, 72, 79, 128, 72, 78, 85, 84, 128, 72, 78,
- 85, 79, 88, 128, 72, 78, 85, 79, 128, 72, 78, 79, 88, 128, 72, 78, 79,
- 84, 128, 72, 78, 79, 80, 128, 72, 78, 73, 88, 128, 72, 78, 73, 84, 128,
- 72, 78, 73, 80, 128, 72, 78, 73, 69, 88, 128, 72, 78, 73, 69, 84, 128,
- 72, 78, 73, 69, 80, 128, 72, 78, 73, 69, 128, 72, 78, 73, 128, 72, 78,
- 69, 88, 128, 72, 78, 69, 80, 128, 72, 78, 69, 128, 72, 78, 65, 88, 128,
- 72, 78, 65, 84, 128, 72, 78, 65, 80, 128, 72, 78, 65, 128, 72, 77, 89,
- 88, 128, 72, 77, 89, 82, 88, 128, 72, 77, 89, 82, 128, 72, 77, 89, 80,
- 128, 72, 77, 89, 128, 72, 77, 85, 88, 128, 72, 77, 85, 84, 128, 72, 77,
- 85, 82, 88, 128, 72, 77, 85, 82, 128, 72, 77, 85, 80, 128, 72, 77, 85,
- 79, 88, 128, 72, 77, 85, 79, 80, 128, 72, 77, 85, 79, 128, 72, 77, 85,
- 128, 72, 77, 79, 88, 128, 72, 77, 79, 84, 128, 72, 77, 79, 80, 128, 72,
- 77, 79, 128, 72, 77, 73, 88, 128, 72, 77, 73, 84, 128, 72, 77, 73, 80,
- 128, 72, 77, 73, 69, 88, 128, 72, 77, 73, 69, 80, 128, 72, 77, 73, 69,
- 128, 72, 77, 73, 128, 72, 77, 69, 128, 72, 77, 65, 88, 128, 72, 77, 65,
- 84, 128, 72, 77, 65, 80, 128, 72, 77, 65, 128, 72, 76, 89, 88, 128, 72,
- 76, 89, 84, 128, 72, 76, 89, 82, 88, 128, 72, 76, 89, 82, 128, 72, 76,
- 89, 80, 128, 72, 76, 89, 128, 72, 76, 85, 88, 128, 72, 76, 85, 84, 128,
- 72, 76, 85, 82, 88, 128, 72, 76, 85, 82, 128, 72, 76, 85, 80, 128, 72,
- 76, 85, 79, 88, 128, 72, 76, 85, 79, 80, 128, 72, 76, 85, 79, 128, 72,
- 76, 85, 128, 72, 76, 79, 88, 128, 72, 76, 79, 80, 128, 72, 76, 79, 128,
- 72, 76, 73, 88, 128, 72, 76, 73, 84, 128, 72, 76, 73, 80, 128, 72, 76,
- 73, 69, 88, 128, 72, 76, 73, 69, 80, 128, 72, 76, 73, 69, 128, 72, 76,
- 73, 128, 72, 76, 69, 88, 128, 72, 76, 69, 80, 128, 72, 76, 69, 128, 72,
- 76, 65, 88, 128, 72, 76, 65, 84, 128, 72, 76, 65, 80, 128, 72, 76, 65,
- 128, 72, 75, 128, 72, 73, 90, 66, 128, 72, 73, 83, 84, 79, 82, 73, 195,
- 72, 73, 82, 73, 81, 128, 72, 73, 71, 72, 45, 83, 80, 69, 69, 196, 72, 73,
- 71, 72, 45, 82, 69, 86, 69, 82, 83, 69, 68, 45, 185, 72, 73, 71, 72, 45,
- 72, 69, 69, 76, 69, 196, 72, 73, 69, 88, 128, 72, 73, 69, 85, 72, 45, 83,
- 73, 79, 83, 128, 72, 73, 69, 85, 72, 45, 82, 73, 69, 85, 76, 128, 72, 73,
- 69, 85, 72, 45, 80, 73, 69, 85, 80, 128, 72, 73, 69, 85, 72, 45, 78, 73,
- 69, 85, 78, 128, 72, 73, 69, 85, 72, 45, 77, 73, 69, 85, 77, 128, 72, 73,
- 69, 85, 200, 72, 73, 69, 128, 72, 73, 68, 73, 78, 199, 72, 73, 68, 69,
- 84, 128, 72, 73, 68, 69, 128, 72, 73, 66, 73, 83, 67, 85, 83, 128, 72,
- 72, 87, 65, 128, 72, 72, 85, 128, 72, 72, 73, 128, 72, 72, 69, 69, 128,
- 72, 72, 69, 128, 72, 72, 65, 65, 128, 72, 71, 128, 72, 69, 88, 73, 70,
- 79, 82, 205, 72, 69, 88, 65, 71, 82, 65, 205, 72, 69, 88, 65, 71, 79, 78,
- 128, 72, 69, 82, 85, 84, 85, 128, 72, 69, 82, 85, 128, 72, 69, 82, 77,
- 73, 84, 73, 65, 206, 72, 69, 82, 77, 73, 79, 78, 73, 65, 206, 72, 69, 82,
- 77, 69, 83, 128, 72, 69, 82, 66, 128, 72, 69, 82, 65, 69, 85, 205, 72,
- 69, 78, 71, 128, 72, 69, 78, 199, 72, 69, 77, 80, 128, 72, 69, 76, 77,
- 69, 84, 128, 72, 69, 76, 77, 69, 212, 72, 69, 76, 205, 72, 69, 76, 73,
- 67, 79, 80, 84, 69, 82, 128, 72, 69, 75, 85, 84, 65, 65, 82, 85, 128, 72,
- 69, 73, 83, 69, 73, 128, 72, 69, 65, 86, 89, 128, 72, 69, 65, 86, 69, 78,
- 76, 217, 72, 69, 65, 86, 69, 78, 128, 72, 69, 65, 86, 69, 206, 72, 69,
- 65, 82, 84, 83, 128, 72, 69, 65, 82, 84, 45, 83, 72, 65, 80, 69, 196, 72,
- 69, 65, 82, 84, 128, 72, 69, 65, 82, 212, 72, 69, 65, 82, 45, 78, 79, 45,
- 69, 86, 73, 204, 72, 69, 65, 68, 83, 84, 82, 79, 75, 69, 128, 72, 69, 65,
- 68, 83, 84, 79, 78, 197, 72, 69, 65, 68, 80, 72, 79, 78, 69, 128, 72, 69,
- 65, 68, 73, 78, 71, 128, 72, 66, 65, 83, 65, 45, 69, 83, 65, 83, 193, 72,
- 66, 65, 83, 193, 72, 65, 89, 65, 78, 78, 65, 128, 72, 65, 86, 69, 128,
- 72, 65, 85, 80, 84, 83, 84, 73, 77, 77, 69, 128, 72, 65, 84, 72, 73, 128,
- 72, 65, 84, 69, 128, 72, 65, 84, 67, 72, 73, 78, 199, 72, 65, 84, 65,
- 198, 72, 65, 83, 69, 210, 72, 65, 83, 65, 78, 84, 65, 128, 72, 65, 82,
- 80, 79, 79, 78, 128, 72, 65, 82, 80, 79, 79, 206, 72, 65, 82, 77, 79, 78,
- 73, 67, 128, 72, 65, 82, 75, 76, 69, 65, 206, 72, 65, 82, 68, 78, 69, 83,
- 83, 128, 72, 65, 82, 196, 72, 65, 80, 80, 217, 72, 65, 78, 85, 78, 79,
- 207, 72, 65, 78, 71, 90, 72, 79, 213, 72, 65, 78, 68, 83, 128, 72, 65,
- 78, 68, 211, 72, 65, 78, 68, 76, 69, 83, 128, 72, 65, 78, 68, 76, 69,
- 128, 72, 65, 78, 68, 66, 65, 71, 128, 72, 65, 78, 68, 128, 72, 65, 78,
- 45, 65, 75, 65, 84, 128, 72, 65, 77, 90, 65, 128, 72, 65, 77, 83, 84, 69,
- 210, 72, 65, 77, 77, 69, 82, 128, 72, 65, 77, 77, 69, 210, 72, 65, 77,
- 66, 85, 82, 71, 69, 82, 128, 72, 65, 76, 81, 65, 128, 72, 65, 76, 79,
- 128, 72, 65, 76, 70, 128, 72, 65, 76, 66, 69, 82, 68, 128, 72, 65, 76,
- 65, 78, 84, 65, 128, 72, 65, 73, 84, 85, 128, 72, 65, 73, 82, 67, 85, 84,
- 128, 72, 65, 73, 82, 128, 72, 65, 71, 76, 65, 218, 72, 65, 71, 76, 128,
- 72, 65, 70, 85, 75, 72, 65, 128, 72, 65, 70, 85, 75, 72, 128, 72, 65, 69,
- 71, 204, 72, 65, 65, 82, 85, 128, 72, 65, 65, 77, 128, 72, 65, 193, 72,
- 65, 45, 72, 65, 128, 72, 48, 48, 56, 128, 72, 48, 48, 55, 128, 72, 48,
- 48, 54, 65, 128, 72, 48, 48, 54, 128, 72, 48, 48, 53, 128, 72, 48, 48,
- 52, 128, 72, 48, 48, 51, 128, 72, 48, 48, 50, 128, 72, 48, 48, 49, 128,
- 72, 45, 84, 89, 80, 197, 71, 89, 85, 128, 71, 89, 79, 78, 128, 71, 89,
- 79, 128, 71, 89, 73, 128, 71, 89, 70, 213, 71, 89, 69, 69, 128, 71, 89,
- 65, 83, 128, 71, 89, 65, 65, 128, 71, 89, 65, 128, 71, 89, 128, 71, 87,
- 85, 128, 71, 87, 73, 128, 71, 87, 69, 69, 128, 71, 87, 69, 128, 71, 87,
- 65, 65, 128, 71, 87, 65, 128, 71, 86, 128, 71, 85, 82, 85, 83, 72, 128,
- 71, 85, 82, 85, 78, 128, 71, 85, 82, 65, 77, 85, 84, 79, 78, 128, 71, 85,
- 82, 55, 128, 71, 85, 78, 85, 128, 71, 85, 78, 213, 71, 85, 205, 71, 85,
- 76, 128, 71, 85, 73, 84, 65, 82, 128, 71, 85, 199, 71, 85, 69, 72, 128,
- 71, 85, 69, 200, 71, 85, 68, 128, 71, 85, 196, 71, 85, 65, 82, 68, 83,
- 77, 65, 78, 128, 71, 85, 65, 82, 68, 69, 68, 78, 69, 83, 83, 128, 71, 85,
- 65, 82, 65, 78, 201, 71, 85, 193, 71, 85, 178, 71, 84, 69, 210, 71, 83,
- 85, 77, 128, 71, 83, 85, 205, 71, 82, 213, 71, 82, 79, 87, 73, 78, 199,
- 71, 82, 79, 85, 78, 68, 128, 71, 82, 79, 78, 84, 72, 73, 83, 77, 65, 84,
- 65, 128, 71, 82, 73, 78, 78, 73, 78, 199, 71, 82, 69, 71, 79, 82, 73, 65,
- 206, 71, 82, 69, 69, 206, 71, 82, 69, 65, 84, 78, 69, 83, 83, 128, 71,
- 82, 69, 65, 84, 69, 82, 45, 84, 72, 65, 78, 128, 71, 82, 69, 65, 84, 69,
- 82, 45, 84, 72, 65, 206, 71, 82, 69, 65, 84, 69, 210, 71, 82, 69, 65,
- 212, 71, 82, 65, 86, 69, 89, 65, 82, 196, 71, 82, 65, 86, 69, 45, 77, 65,
- 67, 82, 79, 78, 128, 71, 82, 65, 86, 69, 45, 65, 67, 85, 84, 69, 45, 71,
- 82, 65, 86, 69, 128, 71, 82, 65, 86, 197, 71, 82, 65, 84, 69, 82, 128,
- 71, 82, 65, 83, 83, 128, 71, 82, 65, 83, 211, 71, 82, 65, 80, 72, 69, 77,
- 197, 71, 82, 65, 80, 69, 83, 128, 71, 82, 65, 77, 77, 193, 71, 82, 65,
- 73, 78, 128, 71, 82, 65, 68, 85, 65, 84, 73, 79, 206, 71, 82, 65, 67, 69,
- 128, 71, 82, 65, 67, 197, 71, 80, 65, 128, 71, 79, 82, 84, 72, 77, 73,
- 75, 79, 206, 71, 79, 82, 84, 128, 71, 79, 82, 71, 79, 84, 69, 82, 73,
- 128, 71, 79, 82, 71, 79, 83, 89, 78, 84, 72, 69, 84, 79, 78, 128, 71, 79,
- 82, 71, 79, 206, 71, 79, 82, 71, 73, 128, 71, 79, 82, 65, 128, 71, 79,
- 79, 196, 71, 79, 78, 71, 128, 71, 79, 76, 68, 128, 71, 79, 75, 128, 71,
- 79, 73, 78, 199, 71, 79, 66, 76, 73, 78, 128, 71, 79, 65, 76, 128, 71,
- 79, 65, 204, 71, 79, 65, 128, 71, 78, 89, 73, 83, 128, 71, 78, 65, 86,
- 73, 89, 65, 78, 73, 128, 71, 76, 79, 87, 73, 78, 199, 71, 76, 79, 84, 84,
- 65, 204, 71, 76, 79, 66, 197, 71, 76, 73, 83, 83, 65, 78, 68, 207, 71,
- 76, 69, 73, 67, 200, 71, 76, 65, 71, 79, 76, 73, 128, 71, 76, 65, 128,
- 71, 74, 69, 128, 71, 73, 88, 128, 71, 73, 84, 128, 71, 73, 83, 72, 128,
- 71, 73, 83, 200, 71, 73, 83, 65, 76, 128, 71, 73, 82, 85, 68, 65, 65,
- 128, 71, 73, 82, 76, 128, 71, 73, 82, 51, 128, 71, 73, 82, 179, 71, 73,
- 82, 50, 128, 71, 73, 82, 178, 71, 73, 80, 128, 71, 73, 78, 73, 73, 128,
- 71, 73, 77, 69, 76, 128, 71, 73, 77, 69, 204, 71, 73, 77, 128, 71, 73,
- 71, 65, 128, 71, 73, 69, 84, 128, 71, 73, 68, 73, 77, 128, 71, 73, 66,
- 66, 79, 85, 211, 71, 73, 66, 65, 128, 71, 73, 52, 128, 71, 73, 180, 71,
- 72, 90, 128, 71, 72, 87, 65, 128, 71, 72, 85, 78, 78, 65, 128, 71, 72,
- 85, 78, 78, 193, 71, 72, 85, 128, 71, 72, 79, 85, 128, 71, 72, 79, 83,
- 84, 128, 71, 72, 79, 128, 71, 72, 73, 128, 71, 72, 72, 65, 128, 71, 72,
- 69, 85, 88, 128, 71, 72, 69, 85, 78, 128, 71, 72, 69, 85, 71, 72, 69, 85,
- 65, 69, 77, 128, 71, 72, 69, 85, 71, 72, 69, 78, 128, 71, 72, 69, 85, 65,
- 69, 82, 65, 69, 128, 71, 72, 69, 85, 65, 69, 71, 72, 69, 85, 65, 69, 128,
- 71, 72, 69, 84, 128, 71, 72, 69, 69, 128, 71, 72, 69, 128, 71, 72, 197,
- 71, 72, 65, 89, 78, 128, 71, 72, 65, 82, 65, 69, 128, 71, 72, 65, 80,
- 128, 71, 72, 65, 78, 128, 71, 72, 65, 77, 65, 76, 128, 71, 72, 65, 73,
- 78, 85, 128, 71, 72, 65, 73, 78, 128, 71, 72, 65, 73, 206, 71, 72, 65,
- 68, 128, 71, 72, 65, 65, 77, 65, 69, 128, 71, 72, 65, 65, 128, 71, 72,
- 65, 128, 71, 71, 87, 73, 128, 71, 71, 87, 69, 69, 128, 71, 71, 87, 69,
- 128, 71, 71, 87, 65, 65, 128, 71, 71, 87, 65, 128, 71, 71, 85, 88, 128,
- 71, 71, 85, 84, 128, 71, 71, 85, 82, 88, 128, 71, 71, 85, 82, 128, 71,
- 71, 85, 79, 88, 128, 71, 71, 85, 79, 84, 128, 71, 71, 85, 79, 80, 128,
- 71, 71, 85, 79, 128, 71, 71, 79, 88, 128, 71, 71, 79, 84, 128, 71, 71,
- 79, 80, 128, 71, 71, 73, 88, 128, 71, 71, 73, 84, 128, 71, 71, 73, 69,
- 88, 128, 71, 71, 73, 69, 80, 128, 71, 71, 73, 69, 128, 71, 71, 69, 88,
- 128, 71, 71, 69, 84, 128, 71, 71, 69, 80, 128, 71, 71, 65, 88, 128, 71,
- 71, 65, 84, 128, 71, 71, 65, 65, 128, 71, 69, 84, 193, 71, 69, 83, 84,
- 85, 82, 69, 128, 71, 69, 83, 72, 85, 128, 71, 69, 83, 72, 84, 73, 78,
- 128, 71, 69, 83, 72, 84, 73, 206, 71, 69, 83, 72, 50, 128, 71, 69, 82,
- 83, 72, 65, 89, 73, 77, 128, 71, 69, 82, 77, 65, 206, 71, 69, 82, 69, 83,
- 72, 128, 71, 69, 82, 69, 83, 200, 71, 69, 79, 77, 69, 84, 82, 73, 67, 65,
- 76, 76, 217, 71, 69, 79, 77, 69, 84, 82, 73, 195, 71, 69, 78, 84, 76,
- 197, 71, 69, 78, 73, 84, 73, 86, 69, 128, 71, 69, 78, 73, 75, 201, 71,
- 69, 78, 69, 82, 73, 195, 71, 69, 77, 73, 78, 73, 128, 71, 69, 77, 73, 78,
- 65, 84, 73, 79, 206, 71, 69, 205, 71, 69, 68, 79, 76, 65, 128, 71, 69,
- 68, 69, 128, 71, 69, 66, 207, 71, 69, 66, 193, 71, 69, 65, 82, 128, 71,
- 69, 65, 210, 71, 68, 65, 78, 128, 71, 67, 73, 71, 128, 71, 67, 65, 206,
- 71, 66, 79, 78, 128, 71, 66, 73, 69, 197, 71, 66, 69, 85, 88, 128, 71,
- 66, 69, 84, 128, 71, 66, 65, 89, 73, 128, 71, 66, 65, 75, 85, 82, 85, 78,
- 69, 78, 128, 71, 66, 128, 71, 65, 89, 65, 78, 85, 75, 73, 84, 84, 65,
- 128, 71, 65, 89, 65, 78, 78, 65, 128, 71, 65, 89, 128, 71, 65, 85, 78,
- 84, 76, 69, 84, 128, 71, 65, 84, 72, 69, 82, 73, 78, 71, 128, 71, 65, 84,
- 72, 69, 82, 73, 78, 199, 71, 65, 84, 69, 128, 71, 65, 83, 72, 65, 78,
- 128, 71, 65, 82, 83, 72, 85, 78, 73, 128, 71, 65, 82, 79, 78, 128, 71,
- 65, 82, 77, 69, 78, 84, 128, 71, 65, 82, 68, 69, 78, 128, 71, 65, 82, 51,
- 128, 71, 65, 80, 80, 69, 196, 71, 65, 208, 71, 65, 78, 77, 65, 128, 71,
- 65, 78, 71, 73, 65, 128, 71, 65, 78, 68, 193, 71, 65, 78, 50, 128, 71,
- 65, 78, 178, 71, 65, 77, 77, 65, 128, 71, 65, 77, 76, 65, 128, 71, 65,
- 77, 76, 128, 71, 65, 77, 69, 128, 71, 65, 77, 197, 71, 65, 77, 65, 78,
- 128, 71, 65, 77, 65, 76, 128, 71, 65, 77, 65, 204, 71, 65, 71, 128, 71,
- 65, 70, 128, 71, 65, 198, 71, 65, 69, 84, 84, 65, 45, 80, 73, 76, 76, 65,
- 128, 71, 65, 68, 79, 76, 128, 71, 65, 68, 128, 71, 65, 196, 71, 65, 66,
- 65, 128, 71, 65, 66, 193, 71, 65, 65, 70, 85, 128, 71, 65, 178, 71, 48,
- 53, 52, 128, 71, 48, 53, 51, 128, 71, 48, 53, 50, 128, 71, 48, 53, 49,
- 128, 71, 48, 53, 48, 128, 71, 48, 52, 57, 128, 71, 48, 52, 56, 128, 71,
- 48, 52, 55, 128, 71, 48, 52, 54, 128, 71, 48, 52, 53, 65, 128, 71, 48,
- 52, 53, 128, 71, 48, 52, 52, 128, 71, 48, 52, 51, 65, 128, 71, 48, 52,
- 51, 128, 71, 48, 52, 50, 128, 71, 48, 52, 49, 128, 71, 48, 52, 48, 128,
- 71, 48, 51, 57, 128, 71, 48, 51, 56, 128, 71, 48, 51, 55, 65, 128, 71,
- 48, 51, 55, 128, 71, 48, 51, 54, 65, 128, 71, 48, 51, 54, 128, 71, 48,
- 51, 53, 128, 71, 48, 51, 52, 128, 71, 48, 51, 51, 128, 71, 48, 51, 50,
- 128, 71, 48, 51, 49, 128, 71, 48, 51, 48, 128, 71, 48, 50, 57, 128, 71,
- 48, 50, 56, 128, 71, 48, 50, 55, 128, 71, 48, 50, 54, 65, 128, 71, 48,
- 50, 54, 128, 71, 48, 50, 53, 128, 71, 48, 50, 52, 128, 71, 48, 50, 51,
- 128, 71, 48, 50, 50, 128, 71, 48, 50, 49, 128, 71, 48, 50, 48, 65, 128,
- 71, 48, 50, 48, 128, 71, 48, 49, 57, 128, 71, 48, 49, 56, 128, 71, 48,
- 49, 55, 128, 71, 48, 49, 54, 128, 71, 48, 49, 53, 128, 71, 48, 49, 52,
- 128, 71, 48, 49, 51, 128, 71, 48, 49, 50, 128, 71, 48, 49, 49, 65, 128,
- 71, 48, 49, 49, 128, 71, 48, 49, 48, 128, 71, 48, 48, 57, 128, 71, 48,
- 48, 56, 128, 71, 48, 48, 55, 66, 128, 71, 48, 48, 55, 65, 128, 71, 48,
- 48, 55, 128, 71, 48, 48, 54, 65, 128, 71, 48, 48, 54, 128, 71, 48, 48,
- 53, 128, 71, 48, 48, 52, 128, 71, 48, 48, 51, 128, 71, 48, 48, 50, 128,
- 71, 48, 48, 49, 128, 70, 89, 88, 128, 70, 89, 84, 128, 70, 89, 80, 128,
- 70, 89, 65, 128, 70, 87, 73, 128, 70, 87, 69, 69, 128, 70, 87, 69, 128,
- 70, 87, 65, 65, 128, 70, 87, 65, 128, 70, 85, 88, 128, 70, 85, 84, 128,
- 70, 85, 83, 69, 128, 70, 85, 83, 193, 70, 85, 82, 88, 128, 70, 85, 80,
- 128, 70, 85, 78, 69, 82, 65, 204, 70, 85, 78, 67, 84, 73, 79, 78, 128,
- 70, 85, 76, 76, 78, 69, 83, 83, 128, 70, 85, 76, 204, 70, 85, 74, 73,
- 128, 70, 85, 69, 84, 128, 70, 85, 69, 204, 70, 85, 69, 128, 70, 84, 72,
- 79, 82, 193, 70, 82, 79, 87, 78, 73, 78, 71, 128, 70, 82, 79, 87, 78, 73,
- 78, 199, 70, 82, 79, 87, 78, 128, 70, 82, 79, 78, 84, 45, 84, 73, 76, 84,
- 69, 196, 70, 82, 79, 78, 84, 45, 70, 65, 67, 73, 78, 199, 70, 82, 79,
- 205, 70, 82, 79, 71, 128, 70, 82, 79, 199, 70, 82, 73, 84, 85, 128, 70,
- 82, 73, 69, 83, 128, 70, 82, 73, 69, 196, 70, 82, 73, 67, 65, 84, 73, 86,
- 69, 128, 70, 82, 69, 84, 66, 79, 65, 82, 68, 128, 70, 82, 69, 78, 67,
- 200, 70, 82, 69, 69, 128, 70, 82, 69, 197, 70, 82, 65, 78, 195, 70, 82,
- 65, 77, 69, 128, 70, 82, 65, 71, 82, 65, 78, 84, 128, 70, 82, 65, 71, 77,
- 69, 78, 84, 128, 70, 82, 65, 67, 84, 73, 79, 206, 70, 79, 88, 128, 70,
- 79, 85, 82, 84, 69, 69, 78, 128, 70, 79, 85, 82, 84, 69, 69, 206, 70, 79,
- 85, 82, 45, 84, 72, 73, 82, 84, 89, 128, 70, 79, 85, 82, 45, 83, 84, 82,
- 73, 78, 199, 70, 79, 85, 82, 45, 80, 69, 82, 45, 69, 205, 70, 79, 85, 82,
- 45, 76, 73, 78, 197, 70, 79, 85, 210, 70, 79, 85, 78, 84, 65, 73, 78,
- 128, 70, 79, 83, 84, 69, 82, 73, 78, 71, 128, 70, 79, 82, 84, 89, 128,
- 70, 79, 82, 84, 217, 70, 79, 82, 84, 69, 128, 70, 79, 82, 77, 211, 70,
- 79, 82, 77, 65, 84, 84, 73, 78, 71, 128, 70, 79, 82, 75, 69, 196, 70, 79,
- 82, 67, 69, 83, 128, 70, 79, 82, 67, 69, 128, 70, 79, 80, 128, 70, 79,
- 79, 84, 83, 84, 79, 79, 76, 128, 70, 79, 79, 84, 80, 82, 73, 78, 84, 83,
- 128, 70, 79, 79, 84, 78, 79, 84, 197, 70, 79, 79, 84, 66, 65, 76, 76,
- 128, 70, 79, 79, 84, 128, 70, 79, 79, 68, 128, 70, 79, 79, 128, 70, 79,
- 78, 71, 77, 65, 78, 128, 70, 79, 77, 128, 70, 79, 76, 76, 89, 128, 70,
- 79, 76, 76, 79, 87, 73, 78, 71, 128, 70, 79, 76, 68, 69, 82, 128, 70, 79,
- 76, 68, 69, 196, 70, 79, 71, 71, 89, 128, 70, 77, 128, 70, 76, 89, 128,
- 70, 76, 85, 84, 84, 69, 82, 73, 78, 199, 70, 76, 85, 84, 69, 128, 70, 76,
- 85, 83, 72, 69, 196, 70, 76, 79, 87, 73, 78, 199, 70, 76, 79, 87, 69,
- 210, 70, 76, 79, 85, 82, 73, 83, 72, 128, 70, 76, 79, 82, 69, 84, 84, 69,
- 128, 70, 76, 79, 82, 65, 204, 70, 76, 79, 80, 80, 217, 70, 76, 79, 79,
- 82, 128, 70, 76, 73, 80, 128, 70, 76, 73, 71, 72, 84, 128, 70, 76, 69,
- 88, 85, 83, 128, 70, 76, 69, 88, 69, 196, 70, 76, 69, 85, 82, 45, 68, 69,
- 45, 76, 73, 83, 128, 70, 76, 65, 84, 84, 69, 78, 69, 196, 70, 76, 65, 84,
- 78, 69, 83, 83, 128, 70, 76, 65, 84, 128, 70, 76, 65, 212, 70, 76, 65,
- 71, 83, 128, 70, 76, 65, 71, 45, 53, 128, 70, 76, 65, 71, 45, 52, 128,
- 70, 76, 65, 71, 45, 51, 128, 70, 76, 65, 71, 45, 50, 128, 70, 76, 65, 71,
- 45, 49, 128, 70, 76, 65, 71, 128, 70, 76, 65, 199, 70, 76, 65, 128, 70,
- 76, 128, 70, 73, 88, 69, 68, 45, 70, 79, 82, 205, 70, 73, 88, 128, 70,
- 73, 86, 69, 45, 84, 72, 73, 82, 84, 89, 128, 70, 73, 86, 69, 45, 76, 73,
- 78, 197, 70, 73, 86, 197, 70, 73, 84, 65, 128, 70, 73, 84, 128, 70, 73,
- 83, 84, 69, 196, 70, 73, 83, 84, 128, 70, 73, 83, 72, 73, 78, 199, 70,
- 73, 83, 72, 72, 79, 79, 75, 128, 70, 73, 83, 72, 72, 79, 79, 203, 70, 73,
- 83, 72, 69, 89, 69, 128, 70, 73, 83, 72, 128, 70, 73, 83, 200, 70, 73,
- 82, 83, 212, 70, 73, 82, 73, 128, 70, 73, 82, 69, 87, 79, 82, 75, 83,
- 128, 70, 73, 82, 69, 87, 79, 82, 203, 70, 73, 82, 69, 128, 70, 73, 82,
- 197, 70, 73, 80, 128, 70, 73, 78, 73, 84, 197, 70, 73, 78, 71, 69, 82,
- 78, 65, 73, 76, 83, 128, 70, 73, 78, 71, 69, 82, 69, 196, 70, 73, 78, 65,
- 78, 67, 73, 65, 76, 128, 70, 73, 76, 76, 69, 82, 128, 70, 73, 76, 76, 69,
- 196, 70, 73, 76, 76, 128, 70, 73, 76, 204, 70, 73, 76, 197, 70, 73, 73,
- 128, 70, 73, 71, 85, 82, 69, 45, 51, 128, 70, 73, 71, 85, 82, 69, 45, 50,
- 128, 70, 73, 71, 85, 82, 69, 45, 49, 128, 70, 73, 71, 85, 82, 197, 70,
- 73, 71, 72, 84, 128, 70, 73, 70, 84, 89, 128, 70, 73, 70, 84, 217, 70,
- 73, 70, 84, 72, 83, 128, 70, 73, 70, 84, 72, 128, 70, 73, 70, 84, 69, 69,
- 78, 128, 70, 73, 70, 84, 69, 69, 206, 70, 73, 69, 76, 68, 128, 70, 72,
- 84, 79, 82, 193, 70, 70, 76, 128, 70, 70, 73, 128, 70, 69, 85, 88, 128,
- 70, 69, 85, 70, 69, 85, 65, 69, 84, 128, 70, 69, 83, 84, 73, 86, 65, 76,
- 128, 70, 69, 82, 82, 89, 128, 70, 69, 82, 82, 73, 211, 70, 69, 82, 77,
- 65, 84, 65, 128, 70, 69, 82, 77, 65, 84, 193, 70, 69, 79, 200, 70, 69,
- 78, 199, 70, 69, 78, 67, 69, 128, 70, 69, 77, 73, 78, 73, 78, 197, 70,
- 69, 77, 65, 76, 69, 128, 70, 69, 77, 65, 76, 197, 70, 69, 76, 76, 79, 87,
- 83, 72, 73, 80, 128, 70, 69, 73, 128, 70, 69, 72, 213, 70, 69, 72, 128,
- 70, 69, 200, 70, 69, 69, 78, 71, 128, 70, 69, 69, 68, 128, 70, 69, 69,
- 196, 70, 69, 69, 128, 70, 69, 66, 82, 85, 65, 82, 89, 128, 70, 69, 65,
- 84, 72, 69, 82, 128, 70, 69, 65, 84, 72, 69, 210, 70, 69, 65, 82, 78,
- 128, 70, 69, 65, 82, 70, 85, 204, 70, 69, 65, 82, 128, 70, 65, 89, 65,
- 78, 78, 65, 128, 70, 65, 88, 128, 70, 65, 216, 70, 65, 84, 73, 71, 85,
- 69, 128, 70, 65, 84, 72, 69, 82, 128, 70, 65, 84, 72, 69, 210, 70, 65,
- 84, 72, 65, 84, 65, 78, 128, 70, 65, 84, 72, 65, 84, 65, 206, 70, 65, 84,
- 72, 65, 128, 70, 65, 84, 72, 193, 70, 65, 84, 128, 70, 65, 82, 83, 201,
- 70, 65, 81, 128, 70, 65, 80, 128, 70, 65, 78, 71, 128, 70, 65, 78, 69,
- 82, 79, 83, 73, 211, 70, 65, 78, 128, 70, 65, 77, 73, 76, 89, 128, 70,
- 65, 76, 76, 73, 78, 199, 70, 65, 76, 76, 69, 206, 70, 65, 73, 76, 85, 82,
- 69, 128, 70, 65, 73, 72, 85, 128, 70, 65, 72, 82, 69, 78, 72, 69, 73, 84,
- 128, 70, 65, 67, 84, 79, 82, 89, 128, 70, 65, 67, 84, 79, 210, 70, 65,
- 67, 83, 73, 77, 73, 76, 197, 70, 65, 67, 69, 45, 54, 128, 70, 65, 67, 69,
- 45, 53, 128, 70, 65, 67, 69, 45, 52, 128, 70, 65, 67, 69, 45, 51, 128,
- 70, 65, 67, 69, 45, 50, 128, 70, 65, 67, 69, 45, 49, 128, 70, 65, 65, 77,
- 65, 69, 128, 70, 65, 65, 73, 128, 70, 65, 65, 70, 85, 128, 70, 48, 53,
- 51, 128, 70, 48, 53, 50, 128, 70, 48, 53, 49, 67, 128, 70, 48, 53, 49,
- 66, 128, 70, 48, 53, 49, 65, 128, 70, 48, 53, 49, 128, 70, 48, 53, 48,
- 128, 70, 48, 52, 57, 128, 70, 48, 52, 56, 128, 70, 48, 52, 55, 65, 128,
- 70, 48, 52, 55, 128, 70, 48, 52, 54, 65, 128, 70, 48, 52, 54, 128, 70,
- 48, 52, 53, 65, 128, 70, 48, 52, 53, 128, 70, 48, 52, 52, 128, 70, 48,
- 52, 51, 128, 70, 48, 52, 50, 128, 70, 48, 52, 49, 128, 70, 48, 52, 48,
- 128, 70, 48, 51, 57, 128, 70, 48, 51, 56, 65, 128, 70, 48, 51, 56, 128,
- 70, 48, 51, 55, 65, 128, 70, 48, 51, 55, 128, 70, 48, 51, 54, 128, 70,
- 48, 51, 53, 128, 70, 48, 51, 52, 128, 70, 48, 51, 51, 128, 70, 48, 51,
- 50, 128, 70, 48, 51, 49, 65, 128, 70, 48, 51, 49, 128, 70, 48, 51, 48,
- 128, 70, 48, 50, 57, 128, 70, 48, 50, 56, 128, 70, 48, 50, 55, 128, 70,
- 48, 50, 54, 128, 70, 48, 50, 53, 128, 70, 48, 50, 52, 128, 70, 48, 50,
- 51, 128, 70, 48, 50, 50, 128, 70, 48, 50, 49, 65, 128, 70, 48, 50, 49,
- 128, 70, 48, 50, 48, 128, 70, 48, 49, 57, 128, 70, 48, 49, 56, 128, 70,
- 48, 49, 55, 128, 70, 48, 49, 54, 128, 70, 48, 49, 53, 128, 70, 48, 49,
- 52, 128, 70, 48, 49, 51, 65, 128, 70, 48, 49, 51, 128, 70, 48, 49, 50,
- 128, 70, 48, 49, 49, 128, 70, 48, 49, 48, 128, 70, 48, 48, 57, 128, 70,
- 48, 48, 56, 128, 70, 48, 48, 55, 128, 70, 48, 48, 54, 128, 70, 48, 48,
- 53, 128, 70, 48, 48, 52, 128, 70, 48, 48, 51, 128, 70, 48, 48, 50, 128,
- 70, 48, 48, 49, 65, 128, 70, 48, 48, 49, 128, 69, 90, 200, 69, 90, 69,
- 78, 128, 69, 90, 69, 206, 69, 90, 128, 69, 89, 69, 83, 128, 69, 89, 69,
- 71, 76, 65, 83, 83, 69, 83, 128, 69, 89, 66, 69, 89, 70, 73, 76, 73, 128,
- 69, 89, 65, 78, 78, 65, 128, 69, 88, 84, 82, 65, 84, 69, 82, 82, 69, 83,
- 84, 82, 73, 65, 204, 69, 88, 84, 82, 65, 45, 76, 79, 215, 69, 88, 84, 82,
- 65, 45, 72, 73, 71, 200, 69, 88, 84, 69, 78, 83, 73, 79, 78, 128, 69, 88,
- 84, 69, 78, 68, 69, 196, 69, 88, 80, 79, 78, 69, 78, 212, 69, 88, 79,
- 128, 69, 88, 207, 69, 88, 73, 83, 84, 83, 128, 69, 88, 73, 83, 84, 128,
- 69, 88, 72, 65, 85, 83, 84, 73, 79, 78, 128, 69, 88, 67, 76, 65, 77, 65,
- 84, 73, 79, 78, 128, 69, 88, 67, 76, 65, 77, 65, 84, 73, 79, 206, 69, 88,
- 67, 72, 65, 78, 71, 69, 128, 69, 88, 67, 69, 83, 83, 128, 69, 88, 67, 69,
- 76, 76, 69, 78, 84, 128, 69, 87, 69, 128, 69, 86, 69, 82, 71, 82, 69, 69,
- 206, 69, 86, 69, 78, 73, 78, 71, 128, 69, 85, 82, 79, 80, 69, 65, 206,
- 69, 85, 82, 79, 80, 69, 45, 65, 70, 82, 73, 67, 65, 128, 69, 85, 82, 79,
- 45, 67, 85, 82, 82, 69, 78, 67, 217, 69, 85, 82, 207, 69, 85, 76, 69,
- 210, 69, 85, 45, 85, 128, 69, 85, 45, 79, 128, 69, 85, 45, 69, 85, 128,
- 69, 85, 45, 69, 79, 128, 69, 85, 45, 69, 128, 69, 85, 45, 65, 128, 69,
- 84, 78, 65, 72, 84, 65, 128, 69, 84, 72, 69, 204, 69, 84, 69, 82, 79,
- 206, 69, 84, 69, 82, 78, 73, 84, 89, 128, 69, 83, 85, 75, 85, 85, 68, 79,
- 128, 69, 83, 84, 73, 77, 65, 84, 69, 83, 128, 69, 83, 84, 73, 77, 65, 84,
- 69, 196, 69, 83, 72, 69, 51, 128, 69, 83, 72, 50, 49, 128, 69, 83, 72,
- 178, 69, 83, 72, 49, 54, 128, 69, 83, 67, 65, 80, 69, 128, 69, 83, 45,
- 84, 69, 128, 69, 82, 82, 79, 82, 45, 66, 65, 82, 82, 69, 196, 69, 82, 82,
- 128, 69, 82, 73, 78, 50, 128, 69, 82, 71, 128, 69, 82, 65, 83, 197, 69,
- 81, 85, 73, 86, 65, 76, 69, 78, 212, 69, 81, 85, 73, 68, 128, 69, 81, 85,
- 73, 65, 78, 71, 85, 76, 65, 210, 69, 81, 85, 65, 76, 83, 128, 69, 81, 85,
- 65, 76, 211, 69, 81, 85, 65, 76, 128, 69, 80, 83, 73, 76, 79, 78, 128,
- 69, 80, 83, 73, 76, 79, 206, 69, 80, 79, 67, 72, 128, 69, 80, 73, 71, 82,
- 65, 80, 72, 73, 195, 69, 80, 73, 68, 65, 85, 82, 69, 65, 206, 69, 80, 69,
- 78, 84, 72, 69, 84, 73, 195, 69, 80, 69, 71, 69, 82, 77, 65, 128, 69, 79,
- 76, 72, 88, 128, 69, 79, 72, 128, 69, 78, 89, 128, 69, 78, 86, 69, 76,
- 79, 80, 69, 128, 69, 78, 86, 69, 76, 79, 80, 197, 69, 78, 85, 77, 69, 82,
- 65, 84, 73, 79, 206, 69, 78, 84, 82, 89, 45, 50, 128, 69, 78, 84, 82, 89,
- 45, 49, 128, 69, 78, 84, 82, 89, 128, 69, 78, 84, 82, 217, 69, 78, 84,
- 72, 85, 83, 73, 65, 83, 77, 128, 69, 78, 84, 69, 82, 80, 82, 73, 83, 69,
- 128, 69, 78, 84, 69, 82, 73, 78, 199, 69, 78, 84, 69, 82, 128, 69, 78,
- 84, 69, 210, 69, 78, 81, 85, 73, 82, 89, 128, 69, 78, 79, 211, 69, 78,
- 78, 128, 69, 78, 76, 65, 82, 71, 69, 77, 69, 78, 84, 128, 69, 78, 71, 73,
- 78, 69, 128, 69, 78, 68, 79, 70, 79, 78, 79, 78, 128, 69, 78, 68, 73, 78,
- 199, 69, 78, 68, 69, 80, 128, 69, 78, 68, 69, 65, 86, 79, 85, 82, 128,
- 69, 78, 67, 79, 85, 78, 84, 69, 82, 83, 128, 69, 78, 67, 76, 79, 83, 85,
- 82, 69, 128, 69, 78, 67, 76, 79, 83, 73, 78, 199, 69, 78, 67, 128, 69,
- 78, 65, 82, 88, 73, 211, 69, 78, 65, 82, 77, 79, 78, 73, 79, 211, 69, 77,
- 80, 84, 217, 69, 77, 80, 72, 65, 84, 73, 195, 69, 77, 80, 72, 65, 83, 73,
- 211, 69, 77, 66, 82, 79, 73, 68, 69, 82, 89, 128, 69, 77, 66, 76, 69, 77,
- 128, 69, 77, 66, 69, 76, 76, 73, 83, 72, 77, 69, 78, 84, 128, 69, 77, 66,
- 69, 68, 68, 73, 78, 71, 128, 69, 76, 84, 128, 69, 76, 76, 73, 80, 83, 73,
- 83, 128, 69, 76, 76, 73, 80, 83, 69, 128, 69, 76, 73, 70, 73, 128, 69,
- 76, 69, 86, 69, 78, 45, 84, 72, 73, 82, 84, 89, 128, 69, 76, 69, 86, 69,
- 78, 128, 69, 76, 69, 86, 69, 206, 69, 76, 69, 80, 72, 65, 78, 84, 128,
- 69, 76, 69, 77, 69, 78, 212, 69, 76, 69, 67, 84, 82, 73, 67, 65, 204, 69,
- 76, 69, 67, 84, 82, 73, 195, 69, 76, 65, 70, 82, 79, 78, 128, 69, 75, 83,
- 84, 82, 69, 80, 84, 79, 78, 128, 69, 75, 83, 128, 69, 75, 70, 79, 78, 73,
- 84, 73, 75, 79, 78, 128, 69, 75, 65, 82, 65, 128, 69, 74, 69, 67, 212,
- 69, 73, 83, 128, 69, 73, 71, 72, 84, 89, 128, 69, 73, 71, 72, 84, 217,
- 69, 73, 71, 72, 84, 72, 83, 128, 69, 73, 71, 72, 84, 72, 211, 69, 73, 71,
- 72, 84, 72, 128, 69, 73, 71, 72, 84, 69, 69, 78, 128, 69, 73, 71, 72, 84,
- 69, 69, 206, 69, 73, 71, 72, 84, 45, 84, 72, 73, 82, 84, 89, 128, 69, 73,
- 69, 128, 69, 72, 87, 65, 218, 69, 71, 89, 80, 84, 79, 76, 79, 71, 73, 67,
- 65, 204, 69, 71, 73, 82, 128, 69, 71, 71, 128, 69, 69, 89, 65, 78, 78,
- 65, 128, 69, 69, 75, 65, 65, 128, 69, 69, 66, 69, 69, 70, 73, 76, 73,
- 128, 69, 68, 73, 84, 79, 82, 73, 65, 204, 69, 68, 73, 78, 128, 69, 68,
- 68, 128, 69, 66, 69, 70, 73, 76, 73, 128, 69, 65, 83, 84, 69, 82, 206,
- 69, 65, 83, 212, 69, 65, 82, 84, 72, 76, 217, 69, 65, 82, 84, 72, 128,
- 69, 65, 82, 84, 200, 69, 65, 82, 83, 128, 69, 65, 82, 76, 217, 69, 65,
- 77, 72, 65, 78, 67, 72, 79, 76, 76, 128, 69, 65, 71, 76, 69, 128, 69, 65,
- 68, 72, 65, 68, 72, 128, 69, 65, 66, 72, 65, 68, 72, 128, 69, 178, 69,
- 48, 51, 56, 128, 69, 48, 51, 55, 128, 69, 48, 51, 54, 128, 69, 48, 51,
- 52, 65, 128, 69, 48, 51, 52, 128, 69, 48, 51, 51, 128, 69, 48, 51, 50,
- 128, 69, 48, 51, 49, 128, 69, 48, 51, 48, 128, 69, 48, 50, 57, 128, 69,
- 48, 50, 56, 65, 128, 69, 48, 50, 56, 128, 69, 48, 50, 55, 128, 69, 48,
- 50, 54, 128, 69, 48, 50, 53, 128, 69, 48, 50, 52, 128, 69, 48, 50, 51,
- 128, 69, 48, 50, 50, 128, 69, 48, 50, 49, 128, 69, 48, 50, 48, 65, 128,
- 69, 48, 50, 48, 128, 69, 48, 49, 57, 128, 69, 48, 49, 56, 128, 69, 48,
- 49, 55, 65, 128, 69, 48, 49, 55, 128, 69, 48, 49, 54, 65, 128, 69, 48,
- 49, 54, 128, 69, 48, 49, 53, 128, 69, 48, 49, 52, 128, 69, 48, 49, 51,
- 128, 69, 48, 49, 50, 128, 69, 48, 49, 49, 128, 69, 48, 49, 48, 128, 69,
- 48, 48, 57, 65, 128, 69, 48, 48, 57, 128, 69, 48, 48, 56, 65, 128, 69,
- 48, 48, 56, 128, 69, 48, 48, 55, 128, 69, 48, 48, 54, 128, 69, 48, 48,
- 53, 128, 69, 48, 48, 52, 128, 69, 48, 48, 51, 128, 69, 48, 48, 50, 128,
- 69, 48, 48, 49, 128, 69, 45, 77, 65, 73, 204, 68, 90, 90, 69, 128, 68,
- 90, 87, 69, 128, 68, 90, 85, 128, 68, 90, 79, 128, 68, 90, 74, 69, 128,
- 68, 90, 73, 128, 68, 90, 72, 69, 128, 68, 90, 72, 65, 128, 68, 90, 69,
- 76, 79, 128, 68, 90, 69, 69, 128, 68, 90, 69, 128, 68, 90, 65, 65, 128,
- 68, 90, 65, 128, 68, 90, 128, 68, 218, 68, 89, 79, 128, 68, 89, 207, 68,
- 89, 69, 72, 128, 68, 89, 69, 200, 68, 87, 79, 128, 68, 87, 69, 128, 68,
- 87, 65, 128, 68, 86, 73, 83, 86, 65, 82, 65, 128, 68, 86, 68, 128, 68,
- 86, 128, 68, 85, 84, 73, 69, 83, 128, 68, 85, 83, 75, 128, 68, 85, 83,
- 72, 69, 78, 78, 65, 128, 68, 85, 82, 65, 84, 73, 79, 78, 128, 68, 85, 82,
- 50, 128, 68, 85, 80, 79, 78, 68, 73, 85, 211, 68, 85, 79, 88, 128, 68,
- 85, 79, 128, 68, 85, 78, 52, 128, 68, 85, 78, 51, 128, 68, 85, 78, 179,
- 68, 85, 77, 128, 68, 85, 204, 68, 85, 72, 128, 68, 85, 71, 85, 68, 128,
- 68, 85, 66, 50, 128, 68, 85, 66, 128, 68, 85, 194, 68, 82, 89, 128, 68,
- 82, 217, 68, 82, 85, 77, 128, 68, 82, 85, 205, 68, 82, 79, 80, 83, 128,
- 68, 82, 79, 80, 76, 69, 84, 128, 68, 82, 79, 80, 45, 83, 72, 65, 68, 79,
- 87, 69, 196, 68, 82, 79, 77, 69, 68, 65, 82, 217, 68, 82, 73, 86, 69,
- 128, 68, 82, 73, 86, 197, 68, 82, 73, 78, 75, 128, 68, 82, 73, 204, 68,
- 82, 69, 83, 83, 128, 68, 82, 65, 85, 71, 72, 84, 211, 68, 82, 65, 77,
- 128, 68, 82, 65, 71, 79, 78, 128, 68, 82, 65, 71, 79, 206, 68, 82, 65,
- 70, 84, 73, 78, 199, 68, 82, 65, 67, 72, 77, 65, 83, 128, 68, 82, 65, 67,
- 72, 77, 65, 128, 68, 82, 65, 67, 72, 77, 193, 68, 79, 87, 78, 87, 65, 82,
- 68, 83, 128, 68, 79, 87, 78, 87, 65, 82, 68, 211, 68, 79, 87, 78, 45, 80,
- 79, 73, 78, 84, 73, 78, 199, 68, 79, 87, 78, 128, 68, 79, 86, 69, 128,
- 68, 79, 85, 71, 72, 78, 85, 84, 128, 68, 79, 85, 66, 84, 128, 68, 79, 85,
- 66, 76, 69, 196, 68, 79, 85, 66, 76, 69, 45, 76, 73, 78, 197, 68, 79, 85,
- 66, 76, 69, 45, 69, 78, 68, 69, 196, 68, 79, 85, 66, 76, 69, 128, 68, 79,
- 84, 84, 69, 68, 45, 80, 128, 68, 79, 84, 84, 69, 68, 45, 78, 128, 68, 79,
- 84, 84, 69, 68, 45, 76, 128, 68, 79, 84, 84, 69, 68, 128, 68, 79, 84, 84,
- 69, 196, 68, 79, 84, 83, 45, 56, 128, 68, 79, 84, 83, 45, 55, 56, 128,
- 68, 79, 84, 83, 45, 55, 128, 68, 79, 84, 83, 45, 54, 56, 128, 68, 79, 84,
- 83, 45, 54, 55, 56, 128, 68, 79, 84, 83, 45, 54, 55, 128, 68, 79, 84, 83,
- 45, 54, 128, 68, 79, 84, 83, 45, 53, 56, 128, 68, 79, 84, 83, 45, 53, 55,
- 56, 128, 68, 79, 84, 83, 45, 53, 55, 128, 68, 79, 84, 83, 45, 53, 54, 56,
- 128, 68, 79, 84, 83, 45, 53, 54, 55, 56, 128, 68, 79, 84, 83, 45, 53, 54,
- 55, 128, 68, 79, 84, 83, 45, 53, 54, 128, 68, 79, 84, 83, 45, 53, 128,
- 68, 79, 84, 83, 45, 52, 56, 128, 68, 79, 84, 83, 45, 52, 55, 56, 128, 68,
- 79, 84, 83, 45, 52, 55, 128, 68, 79, 84, 83, 45, 52, 54, 56, 128, 68, 79,
- 84, 83, 45, 52, 54, 55, 56, 128, 68, 79, 84, 83, 45, 52, 54, 55, 128, 68,
- 79, 84, 83, 45, 52, 54, 128, 68, 79, 84, 83, 45, 52, 53, 56, 128, 68, 79,
- 84, 83, 45, 52, 53, 55, 56, 128, 68, 79, 84, 83, 45, 52, 53, 55, 128, 68,
- 79, 84, 83, 45, 52, 53, 54, 56, 128, 68, 79, 84, 83, 45, 52, 53, 54, 55,
- 56, 128, 68, 79, 84, 83, 45, 52, 53, 54, 55, 128, 68, 79, 84, 83, 45, 52,
- 53, 54, 128, 68, 79, 84, 83, 45, 52, 53, 128, 68, 79, 84, 83, 45, 52,
- 128, 68, 79, 84, 83, 45, 51, 56, 128, 68, 79, 84, 83, 45, 51, 55, 56,
- 128, 68, 79, 84, 83, 45, 51, 55, 128, 68, 79, 84, 83, 45, 51, 54, 56,
- 128, 68, 79, 84, 83, 45, 51, 54, 55, 56, 128, 68, 79, 84, 83, 45, 51, 54,
- 55, 128, 68, 79, 84, 83, 45, 51, 54, 128, 68, 79, 84, 83, 45, 51, 53, 56,
- 128, 68, 79, 84, 83, 45, 51, 53, 55, 56, 128, 68, 79, 84, 83, 45, 51, 53,
- 55, 128, 68, 79, 84, 83, 45, 51, 53, 54, 56, 128, 68, 79, 84, 83, 45, 51,
- 53, 54, 55, 56, 128, 68, 79, 84, 83, 45, 51, 53, 54, 55, 128, 68, 79, 84,
- 83, 45, 51, 53, 54, 128, 68, 79, 84, 83, 45, 51, 53, 128, 68, 79, 84, 83,
- 45, 51, 52, 56, 128, 68, 79, 84, 83, 45, 51, 52, 55, 56, 128, 68, 79, 84,
- 83, 45, 51, 52, 55, 128, 68, 79, 84, 83, 45, 51, 52, 54, 56, 128, 68, 79,
- 84, 83, 45, 51, 52, 54, 55, 56, 128, 68, 79, 84, 83, 45, 51, 52, 54, 55,
- 128, 68, 79, 84, 83, 45, 51, 52, 54, 128, 68, 79, 84, 83, 45, 51, 52, 53,
- 56, 128, 68, 79, 84, 83, 45, 51, 52, 53, 55, 56, 128, 68, 79, 84, 83, 45,
- 51, 52, 53, 55, 128, 68, 79, 84, 83, 45, 51, 52, 53, 54, 56, 128, 68, 79,
- 84, 83, 45, 51, 52, 53, 54, 55, 56, 128, 68, 79, 84, 83, 45, 51, 52, 53,
- 54, 55, 128, 68, 79, 84, 83, 45, 51, 52, 53, 54, 128, 68, 79, 84, 83, 45,
- 51, 52, 53, 128, 68, 79, 84, 83, 45, 51, 52, 128, 68, 79, 84, 83, 45, 51,
- 128, 68, 79, 84, 83, 45, 50, 56, 128, 68, 79, 84, 83, 45, 50, 55, 56,
- 128, 68, 79, 84, 83, 45, 50, 55, 128, 68, 79, 84, 83, 45, 50, 54, 56,
- 128, 68, 79, 84, 83, 45, 50, 54, 55, 56, 128, 68, 79, 84, 83, 45, 50, 54,
- 55, 128, 68, 79, 84, 83, 45, 50, 54, 128, 68, 79, 84, 83, 45, 50, 53, 56,
- 128, 68, 79, 84, 83, 45, 50, 53, 55, 56, 128, 68, 79, 84, 83, 45, 50, 53,
- 55, 128, 68, 79, 84, 83, 45, 50, 53, 54, 56, 128, 68, 79, 84, 83, 45, 50,
- 53, 54, 55, 56, 128, 68, 79, 84, 83, 45, 50, 53, 54, 55, 128, 68, 79, 84,
- 83, 45, 50, 53, 54, 128, 68, 79, 84, 83, 45, 50, 53, 128, 68, 79, 84, 83,
- 45, 50, 52, 56, 128, 68, 79, 84, 83, 45, 50, 52, 55, 56, 128, 68, 79, 84,
- 83, 45, 50, 52, 55, 128, 68, 79, 84, 83, 45, 50, 52, 54, 56, 128, 68, 79,
- 84, 83, 45, 50, 52, 54, 55, 56, 128, 68, 79, 84, 83, 45, 50, 52, 54, 55,
- 128, 68, 79, 84, 83, 45, 50, 52, 54, 128, 68, 79, 84, 83, 45, 50, 52, 53,
- 56, 128, 68, 79, 84, 83, 45, 50, 52, 53, 55, 56, 128, 68, 79, 84, 83, 45,
- 50, 52, 53, 55, 128, 68, 79, 84, 83, 45, 50, 52, 53, 54, 56, 128, 68, 79,
- 84, 83, 45, 50, 52, 53, 54, 55, 56, 128, 68, 79, 84, 83, 45, 50, 52, 53,
- 54, 55, 128, 68, 79, 84, 83, 45, 50, 52, 53, 54, 128, 68, 79, 84, 83, 45,
- 50, 52, 53, 128, 68, 79, 84, 83, 45, 50, 52, 128, 68, 79, 84, 83, 45, 50,
- 51, 56, 128, 68, 79, 84, 83, 45, 50, 51, 55, 56, 128, 68, 79, 84, 83, 45,
- 50, 51, 55, 128, 68, 79, 84, 83, 45, 50, 51, 54, 56, 128, 68, 79, 84, 83,
- 45, 50, 51, 54, 55, 56, 128, 68, 79, 84, 83, 45, 50, 51, 54, 55, 128, 68,
- 79, 84, 83, 45, 50, 51, 54, 128, 68, 79, 84, 83, 45, 50, 51, 53, 56, 128,
- 68, 79, 84, 83, 45, 50, 51, 53, 55, 56, 128, 68, 79, 84, 83, 45, 50, 51,
- 53, 55, 128, 68, 79, 84, 83, 45, 50, 51, 53, 54, 56, 128, 68, 79, 84, 83,
- 45, 50, 51, 53, 54, 55, 56, 128, 68, 79, 84, 83, 45, 50, 51, 53, 54, 55,
- 128, 68, 79, 84, 83, 45, 50, 51, 53, 54, 128, 68, 79, 84, 83, 45, 50, 51,
- 53, 128, 68, 79, 84, 83, 45, 50, 51, 52, 56, 128, 68, 79, 84, 83, 45, 50,
- 51, 52, 55, 56, 128, 68, 79, 84, 83, 45, 50, 51, 52, 55, 128, 68, 79, 84,
- 83, 45, 50, 51, 52, 54, 56, 128, 68, 79, 84, 83, 45, 50, 51, 52, 54, 55,
- 56, 128, 68, 79, 84, 83, 45, 50, 51, 52, 54, 55, 128, 68, 79, 84, 83, 45,
- 50, 51, 52, 54, 128, 68, 79, 84, 83, 45, 50, 51, 52, 53, 56, 128, 68, 79,
- 84, 83, 45, 50, 51, 52, 53, 55, 56, 128, 68, 79, 84, 83, 45, 50, 51, 52,
- 53, 55, 128, 68, 79, 84, 83, 45, 50, 51, 52, 53, 54, 56, 128, 68, 79, 84,
- 83, 45, 50, 51, 52, 53, 54, 55, 56, 128, 68, 79, 84, 83, 45, 50, 51, 52,
- 53, 54, 55, 128, 68, 79, 84, 83, 45, 50, 51, 52, 53, 54, 128, 68, 79, 84,
- 83, 45, 50, 51, 52, 53, 128, 68, 79, 84, 83, 45, 50, 51, 52, 128, 68, 79,
- 84, 83, 45, 50, 51, 128, 68, 79, 84, 83, 45, 50, 128, 68, 79, 84, 83, 45,
- 49, 56, 128, 68, 79, 84, 83, 45, 49, 55, 56, 128, 68, 79, 84, 83, 45, 49,
- 55, 128, 68, 79, 84, 83, 45, 49, 54, 56, 128, 68, 79, 84, 83, 45, 49, 54,
- 55, 56, 128, 68, 79, 84, 83, 45, 49, 54, 55, 128, 68, 79, 84, 83, 45, 49,
- 54, 128, 68, 79, 84, 83, 45, 49, 53, 56, 128, 68, 79, 84, 83, 45, 49, 53,
- 55, 56, 128, 68, 79, 84, 83, 45, 49, 53, 55, 128, 68, 79, 84, 83, 45, 49,
- 53, 54, 56, 128, 68, 79, 84, 83, 45, 49, 53, 54, 55, 56, 128, 68, 79, 84,
- 83, 45, 49, 53, 54, 55, 128, 68, 79, 84, 83, 45, 49, 53, 54, 128, 68, 79,
- 84, 83, 45, 49, 53, 128, 68, 79, 84, 83, 45, 49, 52, 56, 128, 68, 79, 84,
- 83, 45, 49, 52, 55, 56, 128, 68, 79, 84, 83, 45, 49, 52, 55, 128, 68, 79,
- 84, 83, 45, 49, 52, 54, 56, 128, 68, 79, 84, 83, 45, 49, 52, 54, 55, 56,
- 128, 68, 79, 84, 83, 45, 49, 52, 54, 55, 128, 68, 79, 84, 83, 45, 49, 52,
- 54, 128, 68, 79, 84, 83, 45, 49, 52, 53, 56, 128, 68, 79, 84, 83, 45, 49,
- 52, 53, 55, 56, 128, 68, 79, 84, 83, 45, 49, 52, 53, 55, 128, 68, 79, 84,
- 83, 45, 49, 52, 53, 54, 56, 128, 68, 79, 84, 83, 45, 49, 52, 53, 54, 55,
- 56, 128, 68, 79, 84, 83, 45, 49, 52, 53, 54, 55, 128, 68, 79, 84, 83, 45,
- 49, 52, 53, 54, 128, 68, 79, 84, 83, 45, 49, 52, 53, 128, 68, 79, 84, 83,
- 45, 49, 52, 128, 68, 79, 84, 83, 45, 49, 51, 56, 128, 68, 79, 84, 83, 45,
- 49, 51, 55, 56, 128, 68, 79, 84, 83, 45, 49, 51, 55, 128, 68, 79, 84, 83,
- 45, 49, 51, 54, 56, 128, 68, 79, 84, 83, 45, 49, 51, 54, 55, 56, 128, 68,
- 79, 84, 83, 45, 49, 51, 54, 55, 128, 68, 79, 84, 83, 45, 49, 51, 54, 128,
- 68, 79, 84, 83, 45, 49, 51, 53, 56, 128, 68, 79, 84, 83, 45, 49, 51, 53,
- 55, 56, 128, 68, 79, 84, 83, 45, 49, 51, 53, 55, 128, 68, 79, 84, 83, 45,
- 49, 51, 53, 54, 56, 128, 68, 79, 84, 83, 45, 49, 51, 53, 54, 55, 56, 128,
- 68, 79, 84, 83, 45, 49, 51, 53, 54, 55, 128, 68, 79, 84, 83, 45, 49, 51,
- 53, 54, 128, 68, 79, 84, 83, 45, 49, 51, 53, 128, 68, 79, 84, 83, 45, 49,
- 51, 52, 56, 128, 68, 79, 84, 83, 45, 49, 51, 52, 55, 56, 128, 68, 79, 84,
- 83, 45, 49, 51, 52, 55, 128, 68, 79, 84, 83, 45, 49, 51, 52, 54, 56, 128,
- 68, 79, 84, 83, 45, 49, 51, 52, 54, 55, 56, 128, 68, 79, 84, 83, 45, 49,
- 51, 52, 54, 55, 128, 68, 79, 84, 83, 45, 49, 51, 52, 54, 128, 68, 79, 84,
- 83, 45, 49, 51, 52, 53, 56, 128, 68, 79, 84, 83, 45, 49, 51, 52, 53, 55,
- 56, 128, 68, 79, 84, 83, 45, 49, 51, 52, 53, 55, 128, 68, 79, 84, 83, 45,
- 49, 51, 52, 53, 54, 56, 128, 68, 79, 84, 83, 45, 49, 51, 52, 53, 54, 55,
- 56, 128, 68, 79, 84, 83, 45, 49, 51, 52, 53, 54, 55, 128, 68, 79, 84, 83,
- 45, 49, 51, 52, 53, 54, 128, 68, 79, 84, 83, 45, 49, 51, 52, 53, 128, 68,
- 79, 84, 83, 45, 49, 51, 52, 128, 68, 79, 84, 83, 45, 49, 51, 128, 68, 79,
- 84, 83, 45, 49, 50, 56, 128, 68, 79, 84, 83, 45, 49, 50, 55, 56, 128, 68,
- 79, 84, 83, 45, 49, 50, 55, 128, 68, 79, 84, 83, 45, 49, 50, 54, 56, 128,
- 68, 79, 84, 83, 45, 49, 50, 54, 55, 56, 128, 68, 79, 84, 83, 45, 49, 50,
- 54, 55, 128, 68, 79, 84, 83, 45, 49, 50, 54, 128, 68, 79, 84, 83, 45, 49,
- 50, 53, 56, 128, 68, 79, 84, 83, 45, 49, 50, 53, 55, 56, 128, 68, 79, 84,
- 83, 45, 49, 50, 53, 55, 128, 68, 79, 84, 83, 45, 49, 50, 53, 54, 56, 128,
- 68, 79, 84, 83, 45, 49, 50, 53, 54, 55, 56, 128, 68, 79, 84, 83, 45, 49,
- 50, 53, 54, 55, 128, 68, 79, 84, 83, 45, 49, 50, 53, 54, 128, 68, 79, 84,
- 83, 45, 49, 50, 53, 128, 68, 79, 84, 83, 45, 49, 50, 52, 56, 128, 68, 79,
- 84, 83, 45, 49, 50, 52, 55, 56, 128, 68, 79, 84, 83, 45, 49, 50, 52, 55,
- 128, 68, 79, 84, 83, 45, 49, 50, 52, 54, 56, 128, 68, 79, 84, 83, 45, 49,
- 50, 52, 54, 55, 56, 128, 68, 79, 84, 83, 45, 49, 50, 52, 54, 55, 128, 68,
- 79, 84, 83, 45, 49, 50, 52, 54, 128, 68, 79, 84, 83, 45, 49, 50, 52, 53,
- 56, 128, 68, 79, 84, 83, 45, 49, 50, 52, 53, 55, 56, 128, 68, 79, 84, 83,
- 45, 49, 50, 52, 53, 55, 128, 68, 79, 84, 83, 45, 49, 50, 52, 53, 54, 56,
- 128, 68, 79, 84, 83, 45, 49, 50, 52, 53, 54, 55, 56, 128, 68, 79, 84, 83,
- 45, 49, 50, 52, 53, 54, 55, 128, 68, 79, 84, 83, 45, 49, 50, 52, 53, 54,
- 128, 68, 79, 84, 83, 45, 49, 50, 52, 53, 128, 68, 79, 84, 83, 45, 49, 50,
- 52, 128, 68, 79, 84, 83, 45, 49, 50, 51, 56, 128, 68, 79, 84, 83, 45, 49,
- 50, 51, 55, 56, 128, 68, 79, 84, 83, 45, 49, 50, 51, 55, 128, 68, 79, 84,
- 83, 45, 49, 50, 51, 54, 56, 128, 68, 79, 84, 83, 45, 49, 50, 51, 54, 55,
- 56, 128, 68, 79, 84, 83, 45, 49, 50, 51, 54, 55, 128, 68, 79, 84, 83, 45,
- 49, 50, 51, 54, 128, 68, 79, 84, 83, 45, 49, 50, 51, 53, 56, 128, 68, 79,
- 84, 83, 45, 49, 50, 51, 53, 55, 56, 128, 68, 79, 84, 83, 45, 49, 50, 51,
- 53, 55, 128, 68, 79, 84, 83, 45, 49, 50, 51, 53, 54, 56, 128, 68, 79, 84,
- 83, 45, 49, 50, 51, 53, 54, 55, 56, 128, 68, 79, 84, 83, 45, 49, 50, 51,
- 53, 54, 55, 128, 68, 79, 84, 83, 45, 49, 50, 51, 53, 54, 128, 68, 79, 84,
- 83, 45, 49, 50, 51, 53, 128, 68, 79, 84, 83, 45, 49, 50, 51, 52, 56, 128,
- 68, 79, 84, 83, 45, 49, 50, 51, 52, 55, 56, 128, 68, 79, 84, 83, 45, 49,
- 50, 51, 52, 55, 128, 68, 79, 84, 83, 45, 49, 50, 51, 52, 54, 56, 128, 68,
- 79, 84, 83, 45, 49, 50, 51, 52, 54, 55, 56, 128, 68, 79, 84, 83, 45, 49,
- 50, 51, 52, 54, 55, 128, 68, 79, 84, 83, 45, 49, 50, 51, 52, 54, 128, 68,
- 79, 84, 83, 45, 49, 50, 51, 52, 53, 56, 128, 68, 79, 84, 83, 45, 49, 50,
- 51, 52, 53, 55, 56, 128, 68, 79, 84, 83, 45, 49, 50, 51, 52, 53, 55, 128,
- 68, 79, 84, 83, 45, 49, 50, 51, 52, 53, 54, 56, 128, 68, 79, 84, 83, 45,
- 49, 50, 51, 52, 53, 54, 55, 56, 128, 68, 79, 84, 83, 45, 49, 50, 51, 52,
- 53, 54, 55, 128, 68, 79, 84, 83, 45, 49, 50, 51, 52, 53, 54, 128, 68, 79,
- 84, 83, 45, 49, 50, 51, 52, 53, 128, 68, 79, 84, 83, 45, 49, 50, 51, 52,
- 128, 68, 79, 84, 83, 45, 49, 50, 51, 128, 68, 79, 84, 83, 45, 49, 50,
- 128, 68, 79, 84, 83, 45, 49, 128, 68, 79, 84, 83, 128, 68, 79, 84, 76,
- 69, 83, 211, 68, 79, 82, 85, 128, 68, 79, 79, 82, 128, 68, 79, 79, 78,
- 71, 128, 68, 79, 78, 71, 128, 68, 79, 77, 65, 73, 206, 68, 79, 76, 80,
- 72, 73, 78, 128, 68, 79, 76, 76, 83, 128, 68, 79, 76, 76, 65, 210, 68,
- 79, 76, 73, 85, 77, 128, 68, 79, 75, 77, 65, 73, 128, 68, 79, 73, 84,
- 128, 68, 79, 71, 128, 68, 79, 199, 68, 79, 69, 211, 68, 79, 68, 69, 75,
- 65, 84, 65, 128, 68, 79, 66, 82, 79, 128, 68, 79, 65, 67, 72, 65, 83, 72,
- 77, 69, 69, 128, 68, 79, 65, 67, 72, 65, 83, 72, 77, 69, 197, 68, 79, 65,
- 128, 68, 79, 45, 79, 128, 68, 77, 128, 68, 205, 68, 76, 85, 128, 68, 76,
- 79, 128, 68, 76, 73, 128, 68, 76, 69, 69, 128, 68, 76, 65, 128, 68, 76,
- 128, 68, 75, 65, 82, 128, 68, 75, 65, 210, 68, 74, 69, 82, 86, 73, 128,
- 68, 74, 69, 82, 86, 128, 68, 74, 69, 128, 68, 74, 65, 128, 68, 74, 128,
- 68, 73, 90, 90, 217, 68, 73, 86, 79, 82, 67, 197, 68, 73, 86, 73, 83, 73,
- 79, 78, 128, 68, 73, 86, 73, 83, 73, 79, 206, 68, 73, 86, 73, 78, 65, 84,
- 73, 79, 78, 128, 68, 73, 86, 73, 68, 69, 83, 128, 68, 73, 86, 73, 68, 69,
- 82, 128, 68, 73, 86, 73, 68, 69, 196, 68, 73, 86, 73, 68, 69, 128, 68,
- 73, 86, 73, 68, 197, 68, 73, 86, 69, 82, 71, 69, 78, 67, 69, 128, 68, 73,
- 84, 84, 207, 68, 73, 83, 84, 79, 82, 84, 73, 79, 78, 128, 68, 73, 83, 84,
- 73, 78, 71, 85, 73, 83, 72, 128, 68, 73, 83, 84, 73, 76, 76, 128, 68, 73,
- 83, 83, 79, 76, 86, 69, 45, 50, 128, 68, 73, 83, 83, 79, 76, 86, 69, 128,
- 68, 73, 83, 80, 69, 82, 83, 73, 79, 78, 128, 68, 73, 83, 75, 128, 68, 73,
- 83, 73, 77, 79, 85, 128, 68, 73, 83, 72, 128, 68, 73, 83, 67, 79, 78, 84,
- 73, 78, 85, 79, 85, 211, 68, 73, 83, 195, 68, 73, 83, 65, 80, 80, 79, 73,
- 78, 84, 69, 196, 68, 73, 83, 65, 66, 76, 69, 196, 68, 73, 82, 71, 193,
- 68, 73, 82, 69, 67, 84, 76, 217, 68, 73, 82, 69, 67, 84, 73, 79, 78, 65,
- 204, 68, 73, 80, 84, 69, 128, 68, 73, 80, 80, 69, 82, 128, 68, 73, 80,
- 76, 79, 85, 78, 128, 68, 73, 80, 76, 73, 128, 68, 73, 80, 76, 201, 68,
- 73, 78, 71, 66, 65, 212, 68, 73, 206, 68, 73, 77, 77, 73, 78, 71, 128,
- 68, 73, 77, 73, 78, 85, 84, 73, 79, 78, 45, 51, 128, 68, 73, 77, 73, 78,
- 85, 84, 73, 79, 78, 45, 50, 128, 68, 73, 77, 73, 78, 85, 84, 73, 79, 78,
- 45, 49, 128, 68, 73, 77, 73, 78, 73, 83, 72, 77, 69, 78, 84, 128, 68, 73,
- 77, 73, 68, 73, 193, 68, 73, 77, 69, 78, 83, 73, 79, 78, 65, 204, 68, 73,
- 77, 69, 78, 83, 73, 79, 206, 68, 73, 77, 50, 128, 68, 73, 76, 128, 68,
- 73, 71, 82, 65, 80, 72, 128, 68, 73, 71, 82, 65, 80, 200, 68, 73, 71, 82,
- 65, 77, 77, 79, 211, 68, 73, 71, 82, 65, 77, 77, 193, 68, 73, 71, 82, 65,
- 205, 68, 73, 71, 79, 82, 71, 79, 78, 128, 68, 73, 71, 79, 82, 71, 79,
- 206, 68, 73, 71, 65, 77, 77, 65, 128, 68, 73, 71, 193, 68, 73, 70, 84,
- 79, 71, 71, 79, 211, 68, 73, 70, 79, 78, 73, 65, 83, 128, 68, 73, 70, 70,
- 73, 67, 85, 76, 84, 217, 68, 73, 70, 70, 73, 67, 85, 76, 84, 73, 69, 83,
- 128, 68, 73, 70, 70, 69, 82, 69, 78, 84, 73, 65, 76, 128, 68, 73, 70, 70,
- 69, 82, 69, 78, 67, 197, 68, 73, 70, 65, 84, 128, 68, 73, 69, 83, 73, 83,
- 128, 68, 73, 69, 83, 73, 211, 68, 73, 69, 80, 128, 68, 73, 197, 68, 73,
- 66, 128, 68, 73, 65, 84, 79, 78, 79, 206, 68, 73, 65, 84, 79, 78, 73, 75,
- 201, 68, 73, 65, 83, 84, 79, 76, 201, 68, 73, 65, 77, 79, 78, 68, 83,
- 128, 68, 73, 65, 77, 79, 78, 68, 128, 68, 73, 65, 77, 79, 78, 196, 68,
- 73, 65, 77, 69, 84, 69, 210, 68, 73, 65, 76, 89, 84, 73, 75, 65, 128, 68,
- 73, 65, 76, 89, 84, 73, 75, 193, 68, 73, 65, 76, 69, 67, 84, 45, 208, 68,
- 73, 65, 71, 79, 78, 65, 76, 128, 68, 73, 65, 71, 79, 78, 65, 204, 68, 73,
- 65, 69, 82, 69, 83, 73, 90, 69, 196, 68, 73, 65, 69, 82, 69, 83, 73, 83,
- 128, 68, 73, 65, 69, 82, 69, 83, 73, 211, 68, 72, 79, 85, 128, 68, 72,
- 79, 79, 128, 68, 72, 79, 128, 68, 72, 73, 128, 68, 72, 72, 85, 128, 68,
- 72, 72, 79, 79, 128, 68, 72, 72, 79, 128, 68, 72, 72, 73, 128, 68, 72,
- 72, 69, 69, 128, 68, 72, 72, 69, 128, 68, 72, 72, 65, 128, 68, 72, 69,
- 69, 128, 68, 72, 65, 82, 77, 65, 128, 68, 72, 65, 76, 69, 84, 72, 128,
- 68, 72, 65, 76, 65, 84, 72, 128, 68, 72, 65, 76, 128, 68, 72, 65, 68, 72,
- 69, 128, 68, 72, 65, 65, 76, 85, 128, 68, 72, 65, 128, 68, 69, 90, 200,
- 68, 69, 89, 84, 69, 82, 79, 213, 68, 69, 89, 84, 69, 82, 79, 211, 68, 69,
- 88, 73, 65, 128, 68, 69, 86, 73, 67, 197, 68, 69, 86, 69, 76, 79, 80, 77,
- 69, 78, 84, 128, 68, 69, 85, 78, 71, 128, 68, 69, 83, 203, 68, 69, 83,
- 73, 71, 78, 128, 68, 69, 83, 73, 128, 68, 69, 83, 67, 82, 73, 80, 84, 73,
- 79, 206, 68, 69, 83, 67, 69, 78, 68, 73, 78, 199, 68, 69, 83, 67, 69, 78,
- 68, 69, 82, 128, 68, 69, 82, 69, 84, 45, 72, 73, 68, 69, 84, 128, 68, 69,
- 82, 69, 84, 128, 68, 69, 80, 65, 82, 84, 85, 82, 69, 128, 68, 69, 80, 65,
- 82, 84, 77, 69, 78, 212, 68, 69, 80, 65, 82, 84, 73, 78, 199, 68, 69, 78,
- 84, 73, 83, 84, 82, 217, 68, 69, 78, 84, 65, 204, 68, 69, 78, 79, 77, 73,
- 78, 65, 84, 79, 82, 128, 68, 69, 78, 79, 77, 73, 78, 65, 84, 79, 210, 68,
- 69, 78, 78, 69, 78, 128, 68, 69, 78, 71, 128, 68, 69, 78, 197, 68, 69,
- 78, 65, 82, 73, 85, 211, 68, 69, 76, 84, 65, 128, 68, 69, 76, 84, 193,
- 68, 69, 76, 84, 128, 68, 69, 76, 80, 72, 73, 195, 68, 69, 76, 73, 86, 69,
- 82, 217, 68, 69, 76, 73, 86, 69, 82, 65, 78, 67, 69, 128, 68, 69, 76, 73,
- 77, 73, 84, 69, 82, 128, 68, 69, 76, 73, 77, 73, 84, 69, 210, 68, 69, 76,
- 73, 67, 73, 79, 85, 211, 68, 69, 76, 69, 84, 69, 128, 68, 69, 76, 69, 84,
- 197, 68, 69, 75, 65, 128, 68, 69, 75, 128, 68, 69, 73, 128, 68, 69, 72,
- 73, 128, 68, 69, 71, 82, 69, 197, 68, 69, 70, 73, 78, 73, 84, 73, 79, 78,
- 128, 68, 69, 70, 69, 67, 84, 73, 86, 69, 78, 69, 83, 211, 68, 69, 69, 82,
- 128, 68, 69, 69, 80, 76, 89, 128, 68, 69, 69, 76, 128, 68, 69, 67, 82,
- 69, 83, 67, 69, 78, 68, 79, 128, 68, 69, 67, 82, 69, 65, 83, 69, 128, 68,
- 69, 67, 79, 82, 65, 84, 73, 86, 197, 68, 69, 67, 79, 82, 65, 84, 73, 79,
- 78, 128, 68, 69, 67, 73, 83, 73, 86, 69, 78, 69, 83, 83, 128, 68, 69, 67,
- 73, 77, 65, 204, 68, 69, 67, 73, 68, 85, 79, 85, 211, 68, 69, 67, 69, 77,
- 66, 69, 82, 128, 68, 69, 67, 65, 89, 69, 68, 128, 68, 69, 66, 73, 212,
- 68, 69, 65, 84, 72, 128, 68, 69, 65, 68, 128, 68, 68, 87, 65, 128, 68,
- 68, 85, 88, 128, 68, 68, 85, 84, 128, 68, 68, 85, 82, 88, 128, 68, 68,
- 85, 82, 128, 68, 68, 85, 80, 128, 68, 68, 85, 79, 88, 128, 68, 68, 85,
- 79, 80, 128, 68, 68, 85, 79, 128, 68, 68, 85, 128, 68, 68, 79, 88, 128,
- 68, 68, 79, 84, 128, 68, 68, 79, 80, 128, 68, 68, 79, 65, 128, 68, 68,
- 73, 88, 128, 68, 68, 73, 84, 128, 68, 68, 73, 80, 128, 68, 68, 73, 69,
- 88, 128, 68, 68, 73, 69, 80, 128, 68, 68, 73, 69, 128, 68, 68, 73, 128,
- 68, 68, 72, 85, 128, 68, 68, 72, 79, 128, 68, 68, 72, 73, 128, 68, 68,
- 72, 69, 69, 128, 68, 68, 72, 69, 128, 68, 68, 72, 65, 65, 128, 68, 68,
- 72, 65, 128, 68, 68, 69, 88, 128, 68, 68, 69, 80, 128, 68, 68, 69, 69,
- 128, 68, 68, 69, 128, 68, 68, 68, 72, 65, 128, 68, 68, 68, 65, 128, 68,
- 68, 65, 89, 65, 78, 78, 65, 128, 68, 68, 65, 88, 128, 68, 68, 65, 84,
- 128, 68, 68, 65, 80, 128, 68, 68, 65, 76, 128, 68, 68, 65, 204, 68, 68,
- 65, 72, 65, 76, 128, 68, 68, 65, 72, 65, 204, 68, 68, 65, 65, 128, 68,
- 194, 68, 65, 89, 45, 78, 73, 71, 72, 84, 128, 68, 65, 217, 68, 65, 86,
- 73, 89, 65, 78, 73, 128, 68, 65, 86, 73, 68, 128, 68, 65, 84, 197, 68,
- 65, 83, 73, 65, 128, 68, 65, 83, 72, 69, 196, 68, 65, 83, 72, 128, 68,
- 65, 83, 200, 68, 65, 83, 69, 73, 65, 128, 68, 65, 82, 84, 128, 68, 65,
- 82, 75, 69, 78, 73, 78, 71, 128, 68, 65, 82, 75, 69, 78, 73, 78, 199, 68,
- 65, 82, 203, 68, 65, 82, 71, 65, 128, 68, 65, 82, 65, 52, 128, 68, 65,
- 82, 65, 51, 128, 68, 65, 82, 128, 68, 65, 80, 45, 80, 82, 65, 205, 68,
- 65, 80, 45, 80, 73, 201, 68, 65, 80, 45, 77, 85, 79, 217, 68, 65, 80, 45,
- 66, 85, 79, 206, 68, 65, 80, 45, 66, 69, 201, 68, 65, 208, 68, 65, 78,
- 84, 65, 74, 193, 68, 65, 78, 71, 79, 128, 68, 65, 78, 71, 128, 68, 65,
- 78, 199, 68, 65, 78, 68, 65, 128, 68, 65, 78, 67, 69, 82, 128, 68, 65,
- 77, 80, 128, 68, 65, 77, 208, 68, 65, 77, 77, 65, 84, 65, 78, 128, 68,
- 65, 77, 77, 65, 84, 65, 206, 68, 65, 77, 77, 65, 128, 68, 65, 77, 77,
- 193, 68, 65, 77, 65, 82, 85, 128, 68, 65, 76, 69, 84, 72, 128, 68, 65,
- 76, 69, 84, 128, 68, 65, 76, 69, 212, 68, 65, 76, 68, 65, 128, 68, 65,
- 76, 65, 84, 72, 128, 68, 65, 76, 65, 84, 200, 68, 65, 76, 65, 84, 128,
- 68, 65, 73, 82, 128, 68, 65, 73, 78, 71, 128, 68, 65, 72, 89, 65, 65, 85,
- 83, 72, 45, 50, 128, 68, 65, 72, 89, 65, 65, 85, 83, 72, 128, 68, 65, 71,
- 83, 128, 68, 65, 71, 71, 69, 82, 128, 68, 65, 71, 69, 83, 72, 128, 68,
- 65, 71, 69, 83, 200, 68, 65, 71, 66, 65, 83, 73, 78, 78, 65, 128, 68, 65,
- 71, 65, 218, 68, 65, 71, 65, 76, 71, 65, 128, 68, 65, 199, 68, 65, 69,
- 78, 71, 128, 68, 65, 69, 199, 68, 65, 68, 128, 68, 65, 196, 68, 65, 65,
- 83, 85, 128, 68, 65, 65, 68, 72, 85, 128, 68, 48, 54, 55, 72, 128, 68,
- 48, 54, 55, 71, 128, 68, 48, 54, 55, 70, 128, 68, 48, 54, 55, 69, 128,
- 68, 48, 54, 55, 68, 128, 68, 48, 54, 55, 67, 128, 68, 48, 54, 55, 66,
- 128, 68, 48, 54, 55, 65, 128, 68, 48, 54, 55, 128, 68, 48, 54, 54, 128,
- 68, 48, 54, 53, 128, 68, 48, 54, 52, 128, 68, 48, 54, 51, 128, 68, 48,
- 54, 50, 128, 68, 48, 54, 49, 128, 68, 48, 54, 48, 128, 68, 48, 53, 57,
- 128, 68, 48, 53, 56, 128, 68, 48, 53, 55, 128, 68, 48, 53, 54, 128, 68,
- 48, 53, 53, 128, 68, 48, 53, 52, 65, 128, 68, 48, 53, 52, 128, 68, 48,
- 53, 51, 128, 68, 48, 53, 50, 65, 128, 68, 48, 53, 50, 128, 68, 48, 53,
- 49, 128, 68, 48, 53, 48, 73, 128, 68, 48, 53, 48, 72, 128, 68, 48, 53,
- 48, 71, 128, 68, 48, 53, 48, 70, 128, 68, 48, 53, 48, 69, 128, 68, 48,
- 53, 48, 68, 128, 68, 48, 53, 48, 67, 128, 68, 48, 53, 48, 66, 128, 68,
- 48, 53, 48, 65, 128, 68, 48, 53, 48, 128, 68, 48, 52, 57, 128, 68, 48,
- 52, 56, 65, 128, 68, 48, 52, 56, 128, 68, 48, 52, 55, 128, 68, 48, 52,
- 54, 65, 128, 68, 48, 52, 54, 128, 68, 48, 52, 53, 128, 68, 48, 52, 52,
- 128, 68, 48, 52, 51, 128, 68, 48, 52, 50, 128, 68, 48, 52, 49, 128, 68,
- 48, 52, 48, 128, 68, 48, 51, 57, 128, 68, 48, 51, 56, 128, 68, 48, 51,
- 55, 128, 68, 48, 51, 54, 128, 68, 48, 51, 53, 128, 68, 48, 51, 52, 65,
- 128, 68, 48, 51, 52, 128, 68, 48, 51, 51, 128, 68, 48, 51, 50, 128, 68,
- 48, 51, 49, 65, 128, 68, 48, 51, 49, 128, 68, 48, 51, 48, 128, 68, 48,
- 50, 57, 128, 68, 48, 50, 56, 128, 68, 48, 50, 55, 65, 128, 68, 48, 50,
- 55, 128, 68, 48, 50, 54, 128, 68, 48, 50, 53, 128, 68, 48, 50, 52, 128,
- 68, 48, 50, 51, 128, 68, 48, 50, 50, 128, 68, 48, 50, 49, 128, 68, 48,
- 50, 48, 128, 68, 48, 49, 57, 128, 68, 48, 49, 56, 128, 68, 48, 49, 55,
- 128, 68, 48, 49, 54, 128, 68, 48, 49, 53, 128, 68, 48, 49, 52, 128, 68,
- 48, 49, 51, 128, 68, 48, 49, 50, 128, 68, 48, 49, 49, 128, 68, 48, 49,
- 48, 128, 68, 48, 48, 57, 128, 68, 48, 48, 56, 65, 128, 68, 48, 48, 56,
- 128, 68, 48, 48, 55, 128, 68, 48, 48, 54, 128, 68, 48, 48, 53, 128, 68,
- 48, 48, 52, 128, 68, 48, 48, 51, 128, 68, 48, 48, 50, 128, 68, 48, 48,
- 49, 128, 67, 89, 88, 128, 67, 89, 84, 128, 67, 89, 82, 88, 128, 67, 89,
- 82, 69, 78, 65, 73, 195, 67, 89, 82, 128, 67, 89, 80, 82, 73, 79, 212,
- 67, 89, 80, 69, 82, 85, 83, 128, 67, 89, 80, 128, 67, 89, 76, 73, 78, 68,
- 82, 73, 67, 73, 84, 89, 128, 67, 89, 67, 76, 79, 78, 69, 128, 67, 89, 65,
- 128, 67, 89, 128, 67, 87, 79, 79, 128, 67, 87, 79, 128, 67, 87, 73, 73,
- 128, 67, 87, 73, 128, 67, 87, 69, 79, 82, 84, 72, 128, 67, 87, 69, 128,
- 67, 87, 65, 65, 128, 67, 85, 88, 128, 67, 85, 212, 67, 85, 83, 84, 79,
- 77, 83, 128, 67, 85, 83, 84, 79, 77, 69, 210, 67, 85, 83, 84, 65, 82, 68,
- 128, 67, 85, 82, 88, 128, 67, 85, 82, 86, 73, 78, 199, 67, 85, 82, 86,
- 69, 196, 67, 85, 82, 86, 69, 128, 67, 85, 82, 86, 197, 67, 85, 82, 82,
- 217, 67, 85, 82, 82, 69, 78, 84, 128, 67, 85, 82, 82, 69, 78, 212, 67,
- 85, 82, 76, 217, 67, 85, 82, 76, 128, 67, 85, 82, 128, 67, 85, 80, 128,
- 67, 85, 79, 88, 128, 67, 85, 79, 80, 128, 67, 85, 79, 128, 67, 85, 205,
- 67, 85, 66, 69, 68, 128, 67, 85, 66, 197, 67, 85, 65, 84, 82, 73, 76, 76,
- 79, 128, 67, 85, 65, 84, 82, 73, 76, 76, 207, 67, 85, 128, 67, 82, 89,
- 83, 84, 65, 204, 67, 82, 89, 80, 84, 79, 71, 82, 65, 77, 77, 73, 195, 67,
- 82, 89, 73, 78, 199, 67, 82, 85, 90, 69, 73, 82, 207, 67, 82, 85, 67, 73,
- 66, 76, 69, 45, 53, 128, 67, 82, 85, 67, 73, 66, 76, 69, 45, 52, 128, 67,
- 82, 85, 67, 73, 66, 76, 69, 45, 51, 128, 67, 82, 85, 67, 73, 66, 76, 69,
- 45, 50, 128, 67, 82, 85, 67, 73, 66, 76, 69, 128, 67, 82, 79, 87, 78,
- 128, 67, 82, 79, 83, 83, 73, 78, 71, 128, 67, 82, 79, 83, 83, 73, 78,
- 199, 67, 82, 79, 83, 83, 72, 65, 84, 67, 200, 67, 82, 79, 83, 83, 69, 68,
- 45, 84, 65, 73, 76, 128, 67, 82, 79, 83, 83, 69, 196, 67, 82, 79, 83, 83,
- 66, 79, 78, 69, 83, 128, 67, 82, 79, 83, 83, 128, 67, 82, 79, 83, 211,
- 67, 82, 79, 80, 128, 67, 82, 79, 73, 88, 128, 67, 82, 79, 67, 85, 211,
- 67, 82, 79, 67, 79, 68, 73, 76, 69, 128, 67, 82, 69, 83, 67, 69, 78, 84,
- 128, 67, 82, 69, 83, 67, 69, 78, 212, 67, 82, 69, 68, 73, 212, 67, 82,
- 69, 65, 84, 73, 86, 197, 67, 82, 69, 65, 77, 128, 67, 82, 65, 67, 75, 69,
- 82, 128, 67, 79, 88, 128, 67, 79, 87, 128, 67, 79, 215, 67, 79, 86, 69,
- 82, 128, 67, 79, 85, 80, 76, 197, 67, 79, 85, 78, 84, 73, 78, 199, 67,
- 79, 85, 78, 84, 69, 82, 83, 73, 78, 75, 128, 67, 79, 85, 78, 84, 69, 82,
- 66, 79, 82, 69, 128, 67, 79, 85, 78, 67, 73, 204, 67, 79, 84, 128, 67,
- 79, 82, 82, 69, 83, 80, 79, 78, 68, 211, 67, 79, 82, 82, 69, 67, 84, 128,
- 67, 79, 82, 80, 83, 69, 128, 67, 79, 82, 80, 79, 82, 65, 84, 73, 79, 78,
- 128, 67, 79, 82, 79, 78, 73, 83, 128, 67, 79, 82, 78, 69, 82, 83, 128,
- 67, 79, 82, 78, 69, 82, 128, 67, 79, 82, 78, 69, 210, 67, 79, 80, 89, 82,
- 73, 71, 72, 84, 128, 67, 79, 80, 89, 82, 73, 71, 72, 212, 67, 79, 80, 89,
- 128, 67, 79, 80, 82, 79, 68, 85, 67, 84, 128, 67, 79, 80, 80, 69, 82, 45,
- 50, 128, 67, 79, 80, 80, 69, 82, 128, 67, 79, 80, 128, 67, 79, 79, 76,
- 128, 67, 79, 79, 75, 73, 78, 71, 128, 67, 79, 79, 75, 73, 69, 128, 67,
- 79, 79, 75, 69, 196, 67, 79, 79, 128, 67, 79, 78, 86, 69, 82, 71, 73, 78,
- 199, 67, 79, 78, 86, 69, 78, 73, 69, 78, 67, 197, 67, 79, 78, 84, 82, 79,
- 76, 128, 67, 79, 78, 84, 82, 79, 204, 67, 79, 78, 84, 82, 65, 82, 73, 69,
- 84, 89, 128, 67, 79, 78, 84, 82, 65, 67, 84, 73, 79, 78, 128, 67, 79, 78,
- 84, 79, 85, 82, 69, 196, 67, 79, 78, 84, 79, 85, 210, 67, 79, 78, 84, 69,
- 78, 84, 73, 79, 78, 128, 67, 79, 78, 84, 69, 77, 80, 76, 65, 84, 73, 79,
- 78, 128, 67, 79, 78, 84, 65, 73, 78, 211, 67, 79, 78, 84, 65, 73, 78, 73,
- 78, 199, 67, 79, 78, 84, 65, 73, 206, 67, 79, 78, 84, 65, 67, 84, 128,
- 67, 79, 78, 83, 84, 82, 85, 67, 84, 73, 79, 206, 67, 79, 78, 83, 84, 65,
- 78, 84, 128, 67, 79, 78, 83, 84, 65, 78, 212, 67, 79, 78, 83, 84, 65, 78,
- 67, 89, 128, 67, 79, 78, 83, 79, 78, 65, 78, 212, 67, 79, 78, 83, 69, 67,
- 85, 84, 73, 86, 197, 67, 79, 78, 74, 85, 78, 67, 84, 73, 79, 78, 128, 67,
- 79, 78, 74, 85, 71, 65, 84, 197, 67, 79, 78, 74, 79, 73, 78, 73, 78, 199,
- 67, 79, 78, 73, 67, 65, 204, 67, 79, 78, 71, 82, 85, 69, 78, 212, 67, 79,
- 78, 71, 82, 65, 84, 85, 76, 65, 84, 73, 79, 78, 128, 67, 79, 78, 70, 79,
- 85, 78, 68, 69, 196, 67, 79, 78, 70, 76, 73, 67, 84, 128, 67, 79, 78, 70,
- 69, 84, 84, 201, 67, 79, 78, 67, 65, 86, 69, 45, 83, 73, 68, 69, 196, 67,
- 79, 78, 67, 65, 86, 69, 45, 80, 79, 73, 78, 84, 69, 196, 67, 79, 78, 128,
- 67, 79, 77, 80, 85, 84, 69, 82, 128, 67, 79, 77, 80, 79, 83, 73, 84, 73,
- 79, 78, 128, 67, 79, 77, 80, 79, 83, 73, 84, 73, 79, 206, 67, 79, 77, 80,
- 76, 73, 65, 78, 67, 69, 128, 67, 79, 77, 80, 76, 69, 84, 73, 79, 78, 128,
- 67, 79, 77, 80, 76, 69, 84, 69, 68, 128, 67, 79, 77, 80, 76, 69, 77, 69,
- 78, 84, 128, 67, 79, 77, 80, 65, 82, 69, 128, 67, 79, 77, 77, 79, 206,
- 67, 79, 77, 77, 69, 82, 67, 73, 65, 204, 67, 79, 77, 77, 65, 128, 67, 79,
- 77, 77, 193, 67, 79, 77, 69, 84, 128, 67, 79, 77, 66, 128, 67, 79, 76,
- 85, 77, 78, 128, 67, 79, 76, 79, 82, 128, 67, 79, 76, 76, 73, 83, 73, 79,
- 206, 67, 79, 76, 76, 128, 67, 79, 76, 196, 67, 79, 70, 70, 73, 78, 128,
- 67, 79, 69, 78, 71, 128, 67, 79, 68, 65, 128, 67, 79, 67, 75, 84, 65, 73,
- 204, 67, 79, 65, 83, 84, 69, 82, 128, 67, 79, 65, 128, 67, 79, 128, 67,
- 77, 128, 67, 205, 67, 76, 85, 83, 84, 69, 210, 67, 76, 85, 66, 83, 128,
- 67, 76, 85, 66, 45, 83, 80, 79, 75, 69, 196, 67, 76, 85, 66, 128, 67, 76,
- 85, 194, 67, 76, 79, 86, 69, 82, 128, 67, 76, 79, 85, 68, 128, 67, 76,
- 79, 85, 196, 67, 76, 79, 84, 72, 69, 83, 128, 67, 76, 79, 84, 72, 128,
- 67, 76, 79, 83, 69, 84, 128, 67, 76, 79, 83, 69, 78, 69, 83, 83, 128, 67,
- 76, 79, 83, 69, 68, 128, 67, 76, 79, 83, 197, 67, 76, 79, 67, 75, 87, 73,
- 83, 197, 67, 76, 79, 67, 203, 67, 76, 73, 86, 73, 83, 128, 67, 76, 73,
- 80, 66, 79, 65, 82, 68, 128, 67, 76, 73, 78, 75, 73, 78, 199, 67, 76, 73,
- 78, 71, 73, 78, 199, 67, 76, 73, 77, 65, 67, 85, 83, 128, 67, 76, 73, 70,
- 70, 128, 67, 76, 73, 67, 75, 128, 67, 76, 69, 70, 45, 50, 128, 67, 76,
- 69, 70, 45, 49, 128, 67, 76, 69, 70, 128, 67, 76, 69, 198, 67, 76, 69,
- 65, 86, 69, 82, 128, 67, 76, 69, 65, 210, 67, 76, 65, 87, 128, 67, 76,
- 65, 80, 80, 73, 78, 199, 67, 76, 65, 80, 80, 69, 210, 67, 76, 65, 78,
- 128, 67, 76, 65, 73, 77, 128, 67, 76, 128, 67, 73, 88, 128, 67, 73, 86,
- 73, 76, 73, 65, 78, 128, 67, 73, 84, 89, 83, 67, 65, 80, 197, 67, 73, 84,
- 128, 67, 73, 82, 67, 85, 211, 67, 73, 82, 67, 85, 77, 70, 76, 69, 88,
- 128, 67, 73, 82, 67, 85, 77, 70, 76, 69, 216, 67, 73, 82, 67, 85, 76, 65,
- 84, 73, 79, 206, 67, 73, 82, 67, 76, 69, 83, 128, 67, 73, 82, 67, 76, 69,
- 128, 67, 73, 80, 128, 67, 73, 78, 78, 65, 66, 65, 82, 128, 67, 73, 78,
- 69, 77, 65, 128, 67, 73, 73, 128, 67, 73, 69, 88, 128, 67, 73, 69, 85,
- 67, 45, 83, 83, 65, 78, 71, 80, 73, 69, 85, 80, 128, 67, 73, 69, 85, 67,
- 45, 80, 73, 69, 85, 80, 128, 67, 73, 69, 85, 67, 45, 73, 69, 85, 78, 71,
- 128, 67, 73, 69, 85, 195, 67, 73, 69, 84, 128, 67, 73, 69, 80, 128, 67,
- 73, 69, 128, 67, 73, 128, 67, 72, 89, 88, 128, 67, 72, 89, 84, 128, 67,
- 72, 89, 82, 88, 128, 67, 72, 89, 82, 128, 67, 72, 89, 80, 128, 67, 72,
- 85, 88, 128, 67, 72, 85, 82, 88, 128, 67, 72, 85, 82, 67, 72, 128, 67,
- 72, 85, 82, 128, 67, 72, 85, 80, 128, 67, 72, 85, 79, 88, 128, 67, 72,
- 85, 79, 84, 128, 67, 72, 85, 79, 80, 128, 67, 72, 85, 79, 128, 67, 72,
- 85, 76, 65, 128, 67, 72, 85, 128, 67, 72, 82, 89, 83, 65, 78, 84, 72, 69,
- 77, 85, 77, 128, 67, 72, 82, 79, 78, 79, 85, 128, 67, 72, 82, 79, 78, 79,
- 78, 128, 67, 72, 82, 79, 77, 193, 67, 72, 82, 79, 193, 67, 72, 82, 73,
- 86, 73, 128, 67, 72, 82, 73, 83, 84, 77, 65, 83, 128, 67, 72, 82, 73, 83,
- 84, 77, 65, 211, 67, 72, 79, 88, 128, 67, 72, 79, 84, 128, 67, 72, 79,
- 82, 69, 86, 77, 193, 67, 72, 79, 80, 128, 67, 72, 79, 75, 69, 128, 67,
- 72, 79, 69, 128, 67, 72, 79, 67, 79, 76, 65, 84, 197, 67, 72, 79, 65,
- 128, 67, 72, 207, 67, 72, 73, 84, 85, 69, 85, 77, 83, 83, 65, 78, 71, 83,
- 73, 79, 83, 128, 67, 72, 73, 84, 85, 69, 85, 77, 83, 83, 65, 78, 71, 67,
- 73, 69, 85, 67, 128, 67, 72, 73, 84, 85, 69, 85, 77, 83, 73, 79, 83, 128,
- 67, 72, 73, 84, 85, 69, 85, 77, 67, 73, 69, 85, 67, 128, 67, 72, 73, 84,
- 85, 69, 85, 77, 67, 72, 73, 69, 85, 67, 72, 128, 67, 72, 73, 82, 79, 78,
- 128, 67, 72, 73, 82, 69, 84, 128, 67, 72, 73, 78, 71, 128, 67, 72, 73,
- 78, 69, 83, 197, 67, 72, 73, 78, 128, 67, 72, 73, 77, 69, 128, 67, 72,
- 73, 76, 76, 213, 67, 72, 73, 76, 68, 82, 69, 206, 67, 72, 73, 76, 68,
- 128, 67, 72, 73, 76, 128, 67, 72, 73, 75, 201, 67, 72, 73, 69, 85, 67,
- 72, 45, 75, 72, 73, 69, 85, 75, 72, 128, 67, 72, 73, 69, 85, 67, 72, 45,
- 72, 73, 69, 85, 72, 128, 67, 72, 73, 69, 85, 67, 200, 67, 72, 73, 67, 75,
- 69, 78, 128, 67, 72, 73, 67, 75, 128, 67, 72, 73, 128, 67, 72, 201, 67,
- 72, 72, 65, 128, 67, 72, 69, 88, 128, 67, 72, 69, 86, 82, 79, 206, 67,
- 72, 69, 84, 128, 67, 72, 69, 83, 84, 78, 85, 84, 128, 67, 72, 69, 83,
+ 128, 72, 79, 79, 78, 128, 72, 79, 79, 75, 69, 196, 72, 79, 78, 69, 89,
+ 66, 69, 69, 128, 72, 79, 78, 69, 217, 72, 79, 77, 79, 84, 72, 69, 84, 73,
+ 67, 128, 72, 79, 77, 79, 84, 72, 69, 84, 73, 195, 72, 79, 76, 69, 128,
+ 72, 79, 76, 68, 73, 78, 199, 72, 79, 76, 65, 77, 128, 72, 79, 76, 65,
+ 205, 72, 79, 75, 65, 128, 72, 79, 73, 128, 72, 79, 67, 72, 79, 128, 72,
+ 78, 85, 84, 128, 72, 78, 85, 79, 88, 128, 72, 78, 85, 79, 128, 72, 78,
+ 79, 88, 128, 72, 78, 79, 84, 128, 72, 78, 79, 80, 128, 72, 78, 73, 88,
+ 128, 72, 78, 73, 84, 128, 72, 78, 73, 80, 128, 72, 78, 73, 69, 88, 128,
+ 72, 78, 73, 69, 84, 128, 72, 78, 73, 69, 80, 128, 72, 78, 73, 69, 128,
+ 72, 78, 73, 128, 72, 78, 69, 88, 128, 72, 78, 69, 80, 128, 72, 78, 69,
+ 128, 72, 78, 65, 88, 128, 72, 78, 65, 84, 128, 72, 78, 65, 80, 128, 72,
+ 78, 65, 128, 72, 77, 89, 88, 128, 72, 77, 89, 82, 88, 128, 72, 77, 89,
+ 82, 128, 72, 77, 89, 80, 128, 72, 77, 89, 128, 72, 77, 85, 88, 128, 72,
+ 77, 85, 84, 128, 72, 77, 85, 82, 88, 128, 72, 77, 85, 82, 128, 72, 77,
+ 85, 80, 128, 72, 77, 85, 79, 88, 128, 72, 77, 85, 79, 80, 128, 72, 77,
+ 85, 79, 128, 72, 77, 85, 128, 72, 77, 79, 88, 128, 72, 77, 79, 84, 128,
+ 72, 77, 79, 80, 128, 72, 77, 79, 128, 72, 77, 73, 88, 128, 72, 77, 73,
+ 84, 128, 72, 77, 73, 80, 128, 72, 77, 73, 69, 88, 128, 72, 77, 73, 69,
+ 80, 128, 72, 77, 73, 69, 128, 72, 77, 73, 128, 72, 77, 69, 128, 72, 77,
+ 65, 88, 128, 72, 77, 65, 84, 128, 72, 77, 65, 80, 128, 72, 77, 65, 128,
+ 72, 76, 89, 88, 128, 72, 76, 89, 84, 128, 72, 76, 89, 82, 88, 128, 72,
+ 76, 89, 82, 128, 72, 76, 89, 80, 128, 72, 76, 89, 128, 72, 76, 85, 88,
+ 128, 72, 76, 85, 84, 128, 72, 76, 85, 82, 88, 128, 72, 76, 85, 82, 128,
+ 72, 76, 85, 80, 128, 72, 76, 85, 79, 88, 128, 72, 76, 85, 79, 80, 128,
+ 72, 76, 85, 79, 128, 72, 76, 85, 128, 72, 76, 79, 88, 128, 72, 76, 79,
+ 80, 128, 72, 76, 79, 128, 72, 76, 73, 88, 128, 72, 76, 73, 84, 128, 72,
+ 76, 73, 80, 128, 72, 76, 73, 69, 88, 128, 72, 76, 73, 69, 80, 128, 72,
+ 76, 73, 69, 128, 72, 76, 73, 128, 72, 76, 69, 88, 128, 72, 76, 69, 80,
+ 128, 72, 76, 69, 128, 72, 76, 65, 88, 128, 72, 76, 65, 84, 128, 72, 76,
+ 65, 80, 128, 72, 76, 65, 128, 72, 75, 128, 72, 73, 90, 66, 128, 72, 73,
+ 83, 84, 79, 82, 73, 195, 72, 73, 82, 73, 81, 128, 72, 73, 71, 72, 45, 83,
+ 80, 69, 69, 196, 72, 73, 71, 72, 45, 82, 69, 86, 69, 82, 83, 69, 68, 45,
+ 185, 72, 73, 71, 72, 45, 72, 69, 69, 76, 69, 196, 72, 73, 69, 88, 128,
+ 72, 73, 69, 85, 72, 45, 83, 73, 79, 83, 128, 72, 73, 69, 85, 72, 45, 82,
+ 73, 69, 85, 76, 128, 72, 73, 69, 85, 72, 45, 80, 73, 69, 85, 80, 128, 72,
+ 73, 69, 85, 72, 45, 78, 73, 69, 85, 78, 128, 72, 73, 69, 85, 72, 45, 77,
+ 73, 69, 85, 77, 128, 72, 73, 69, 85, 200, 72, 73, 69, 128, 72, 73, 68,
+ 73, 78, 199, 72, 73, 68, 69, 84, 128, 72, 73, 68, 69, 128, 72, 73, 66,
+ 73, 83, 67, 85, 83, 128, 72, 72, 87, 65, 128, 72, 72, 85, 128, 72, 72,
+ 73, 128, 72, 72, 69, 69, 128, 72, 72, 69, 128, 72, 72, 65, 65, 128, 72,
+ 71, 128, 72, 69, 88, 73, 70, 79, 82, 205, 72, 69, 88, 65, 71, 82, 65,
+ 205, 72, 69, 88, 65, 71, 79, 78, 128, 72, 69, 82, 85, 84, 85, 128, 72,
+ 69, 82, 85, 128, 72, 69, 82, 77, 73, 84, 73, 65, 206, 72, 69, 82, 77, 73,
+ 79, 78, 73, 65, 206, 72, 69, 82, 77, 69, 83, 128, 72, 69, 82, 66, 128,
+ 72, 69, 82, 65, 69, 85, 205, 72, 69, 78, 71, 128, 72, 69, 78, 199, 72,
+ 69, 77, 80, 128, 72, 69, 76, 77, 69, 84, 128, 72, 69, 76, 77, 69, 212,
+ 72, 69, 76, 205, 72, 69, 76, 73, 67, 79, 80, 84, 69, 82, 128, 72, 69, 75,
+ 85, 84, 65, 65, 82, 85, 128, 72, 69, 73, 83, 69, 73, 128, 72, 69, 65, 86,
+ 89, 128, 72, 69, 65, 86, 69, 78, 76, 217, 72, 69, 65, 86, 69, 78, 128,
+ 72, 69, 65, 86, 69, 206, 72, 69, 65, 82, 84, 83, 128, 72, 69, 65, 82, 84,
+ 45, 83, 72, 65, 80, 69, 196, 72, 69, 65, 82, 84, 128, 72, 69, 65, 82,
+ 212, 72, 69, 65, 82, 45, 78, 79, 45, 69, 86, 73, 204, 72, 69, 65, 68, 83,
+ 84, 82, 79, 75, 69, 128, 72, 69, 65, 68, 83, 84, 79, 78, 197, 72, 69, 65,
+ 68, 80, 72, 79, 78, 69, 128, 72, 69, 65, 68, 73, 78, 71, 128, 72, 66, 65,
+ 83, 65, 45, 69, 83, 65, 83, 193, 72, 66, 65, 83, 193, 72, 65, 89, 65, 78,
+ 78, 65, 128, 72, 65, 86, 69, 128, 72, 65, 85, 80, 84, 83, 84, 73, 77, 77,
+ 69, 128, 72, 65, 84, 72, 73, 128, 72, 65, 84, 69, 128, 72, 65, 84, 67,
+ 72, 73, 78, 199, 72, 65, 84, 65, 198, 72, 65, 83, 69, 210, 72, 65, 83,
+ 65, 78, 84, 65, 128, 72, 65, 82, 80, 79, 79, 78, 128, 72, 65, 82, 80, 79,
+ 79, 206, 72, 65, 82, 77, 79, 78, 73, 67, 128, 72, 65, 82, 75, 76, 69, 65,
+ 206, 72, 65, 82, 68, 78, 69, 83, 83, 128, 72, 65, 82, 196, 72, 65, 80,
+ 80, 217, 72, 65, 78, 85, 78, 79, 207, 72, 65, 78, 71, 90, 72, 79, 213,
+ 72, 65, 78, 68, 83, 128, 72, 65, 78, 68, 211, 72, 65, 78, 68, 76, 69, 83,
+ 128, 72, 65, 78, 68, 76, 69, 128, 72, 65, 78, 68, 66, 65, 71, 128, 72,
+ 65, 78, 68, 128, 72, 65, 78, 45, 65, 75, 65, 84, 128, 72, 65, 77, 90, 65,
+ 128, 72, 65, 77, 83, 84, 69, 210, 72, 65, 77, 77, 69, 82, 128, 72, 65,
+ 77, 77, 69, 210, 72, 65, 77, 66, 85, 82, 71, 69, 82, 128, 72, 65, 76, 81,
+ 65, 128, 72, 65, 76, 79, 128, 72, 65, 76, 70, 128, 72, 65, 76, 66, 69,
+ 82, 68, 128, 72, 65, 76, 65, 78, 84, 65, 128, 72, 65, 73, 84, 85, 128,
+ 72, 65, 73, 82, 67, 85, 84, 128, 72, 65, 73, 82, 128, 72, 65, 71, 76, 65,
+ 218, 72, 65, 71, 76, 128, 72, 65, 70, 85, 75, 72, 65, 128, 72, 65, 70,
+ 85, 75, 72, 128, 72, 65, 69, 71, 204, 72, 65, 65, 82, 85, 128, 72, 65,
+ 65, 77, 128, 72, 65, 193, 72, 65, 45, 72, 65, 128, 72, 48, 48, 56, 128,
+ 72, 48, 48, 55, 128, 72, 48, 48, 54, 65, 128, 72, 48, 48, 54, 128, 72,
+ 48, 48, 53, 128, 72, 48, 48, 52, 128, 72, 48, 48, 51, 128, 72, 48, 48,
+ 50, 128, 72, 48, 48, 49, 128, 72, 45, 84, 89, 80, 197, 71, 89, 85, 128,
+ 71, 89, 79, 78, 128, 71, 89, 79, 128, 71, 89, 73, 128, 71, 89, 70, 213,
+ 71, 89, 69, 69, 128, 71, 89, 65, 83, 128, 71, 89, 65, 65, 128, 71, 89,
+ 65, 128, 71, 89, 128, 71, 87, 85, 128, 71, 87, 73, 128, 71, 87, 69, 69,
+ 128, 71, 87, 69, 128, 71, 87, 65, 65, 128, 71, 87, 65, 128, 71, 86, 128,
+ 71, 85, 82, 85, 83, 72, 128, 71, 85, 82, 85, 78, 128, 71, 85, 82, 65, 77,
+ 85, 84, 79, 78, 128, 71, 85, 82, 55, 128, 71, 85, 78, 85, 128, 71, 85,
+ 78, 213, 71, 85, 205, 71, 85, 76, 128, 71, 85, 73, 84, 65, 82, 128, 71,
+ 85, 199, 71, 85, 69, 72, 128, 71, 85, 69, 200, 71, 85, 68, 128, 71, 85,
+ 196, 71, 85, 65, 82, 68, 83, 77, 65, 78, 128, 71, 85, 65, 82, 68, 69, 68,
+ 78, 69, 83, 83, 128, 71, 85, 65, 82, 65, 78, 201, 71, 85, 193, 71, 85,
+ 178, 71, 84, 69, 210, 71, 83, 85, 77, 128, 71, 83, 85, 205, 71, 82, 213,
+ 71, 82, 79, 87, 73, 78, 199, 71, 82, 79, 85, 78, 68, 128, 71, 82, 79, 78,
+ 84, 72, 73, 83, 77, 65, 84, 65, 128, 71, 82, 73, 78, 78, 73, 78, 199, 71,
+ 82, 69, 71, 79, 82, 73, 65, 206, 71, 82, 69, 69, 206, 71, 82, 69, 65, 84,
+ 78, 69, 83, 83, 128, 71, 82, 69, 65, 84, 69, 82, 45, 84, 72, 65, 78, 128,
+ 71, 82, 69, 65, 84, 69, 82, 45, 84, 72, 65, 206, 71, 82, 69, 65, 84, 69,
+ 210, 71, 82, 69, 65, 212, 71, 82, 65, 86, 69, 89, 65, 82, 196, 71, 82,
+ 65, 86, 69, 45, 77, 65, 67, 82, 79, 78, 128, 71, 82, 65, 86, 69, 45, 65,
+ 67, 85, 84, 69, 45, 71, 82, 65, 86, 69, 128, 71, 82, 65, 86, 197, 71, 82,
+ 65, 84, 69, 82, 128, 71, 82, 65, 83, 83, 128, 71, 82, 65, 83, 211, 71,
+ 82, 65, 80, 72, 69, 77, 197, 71, 82, 65, 80, 69, 83, 128, 71, 82, 65, 77,
+ 77, 193, 71, 82, 65, 73, 78, 128, 71, 82, 65, 68, 85, 65, 84, 73, 79,
+ 206, 71, 82, 65, 67, 69, 128, 71, 82, 65, 67, 197, 71, 80, 65, 128, 71,
+ 79, 82, 84, 72, 77, 73, 75, 79, 206, 71, 79, 82, 84, 128, 71, 79, 82, 71,
+ 79, 84, 69, 82, 73, 128, 71, 79, 82, 71, 79, 83, 89, 78, 84, 72, 69, 84,
+ 79, 78, 128, 71, 79, 82, 71, 79, 206, 71, 79, 82, 71, 73, 128, 71, 79,
+ 82, 65, 128, 71, 79, 79, 196, 71, 79, 78, 71, 128, 71, 79, 76, 68, 128,
+ 71, 79, 75, 128, 71, 79, 73, 78, 199, 71, 79, 66, 76, 73, 78, 128, 71,
+ 79, 65, 76, 128, 71, 79, 65, 204, 71, 79, 65, 128, 71, 78, 89, 73, 83,
+ 128, 71, 78, 65, 86, 73, 89, 65, 78, 73, 128, 71, 76, 79, 87, 73, 78,
+ 199, 71, 76, 79, 84, 84, 65, 204, 71, 76, 79, 66, 197, 71, 76, 73, 83,
+ 83, 65, 78, 68, 207, 71, 76, 69, 73, 67, 200, 71, 76, 65, 71, 79, 76, 73,
+ 128, 71, 76, 65, 128, 71, 74, 69, 128, 71, 73, 88, 128, 71, 73, 84, 128,
+ 71, 73, 83, 72, 128, 71, 73, 83, 200, 71, 73, 83, 65, 76, 128, 71, 73,
+ 82, 85, 68, 65, 65, 128, 71, 73, 82, 76, 128, 71, 73, 82, 51, 128, 71,
+ 73, 82, 179, 71, 73, 82, 50, 128, 71, 73, 82, 178, 71, 73, 80, 128, 71,
+ 73, 78, 73, 73, 128, 71, 73, 77, 69, 76, 128, 71, 73, 77, 69, 204, 71,
+ 73, 77, 128, 71, 73, 71, 65, 128, 71, 73, 69, 84, 128, 71, 73, 68, 73,
+ 77, 128, 71, 73, 66, 66, 79, 85, 211, 71, 73, 66, 65, 128, 71, 73, 52,
+ 128, 71, 73, 180, 71, 72, 90, 128, 71, 72, 87, 65, 128, 71, 72, 85, 78,
+ 78, 65, 128, 71, 72, 85, 78, 78, 193, 71, 72, 85, 128, 71, 72, 79, 85,
+ 128, 71, 72, 79, 83, 84, 128, 71, 72, 79, 128, 71, 72, 73, 128, 71, 72,
+ 72, 65, 128, 71, 72, 69, 85, 88, 128, 71, 72, 69, 85, 78, 128, 71, 72,
+ 69, 85, 71, 72, 69, 85, 65, 69, 77, 128, 71, 72, 69, 85, 71, 72, 69, 78,
+ 128, 71, 72, 69, 85, 65, 69, 82, 65, 69, 128, 71, 72, 69, 85, 65, 69, 71,
+ 72, 69, 85, 65, 69, 128, 71, 72, 69, 84, 128, 71, 72, 69, 69, 128, 71,
+ 72, 69, 128, 71, 72, 197, 71, 72, 65, 89, 78, 128, 71, 72, 65, 82, 65,
+ 69, 128, 71, 72, 65, 80, 128, 71, 72, 65, 78, 128, 71, 72, 65, 77, 65,
+ 76, 128, 71, 72, 65, 73, 78, 85, 128, 71, 72, 65, 73, 78, 128, 71, 72,
+ 65, 73, 206, 71, 72, 65, 68, 128, 71, 72, 65, 65, 77, 65, 69, 128, 71,
+ 72, 65, 65, 128, 71, 72, 65, 128, 71, 71, 87, 73, 128, 71, 71, 87, 69,
+ 69, 128, 71, 71, 87, 69, 128, 71, 71, 87, 65, 65, 128, 71, 71, 87, 65,
+ 128, 71, 71, 85, 88, 128, 71, 71, 85, 84, 128, 71, 71, 85, 82, 88, 128,
+ 71, 71, 85, 82, 128, 71, 71, 85, 79, 88, 128, 71, 71, 85, 79, 84, 128,
+ 71, 71, 85, 79, 80, 128, 71, 71, 85, 79, 128, 71, 71, 79, 88, 128, 71,
+ 71, 79, 84, 128, 71, 71, 79, 80, 128, 71, 71, 73, 88, 128, 71, 71, 73,
+ 84, 128, 71, 71, 73, 69, 88, 128, 71, 71, 73, 69, 80, 128, 71, 71, 73,
+ 69, 128, 71, 71, 69, 88, 128, 71, 71, 69, 84, 128, 71, 71, 69, 80, 128,
+ 71, 71, 65, 88, 128, 71, 71, 65, 84, 128, 71, 71, 65, 65, 128, 71, 69,
+ 84, 193, 71, 69, 83, 84, 85, 82, 69, 128, 71, 69, 83, 72, 85, 128, 71,
+ 69, 83, 72, 84, 73, 78, 128, 71, 69, 83, 72, 84, 73, 206, 71, 69, 83, 72,
+ 50, 128, 71, 69, 82, 83, 72, 65, 89, 73, 77, 128, 71, 69, 82, 77, 65,
+ 206, 71, 69, 82, 69, 83, 72, 128, 71, 69, 82, 69, 83, 200, 71, 69, 79,
+ 77, 69, 84, 82, 73, 67, 65, 76, 76, 217, 71, 69, 79, 77, 69, 84, 82, 73,
+ 195, 71, 69, 78, 84, 76, 197, 71, 69, 78, 73, 84, 73, 86, 69, 128, 71,
+ 69, 78, 73, 75, 201, 71, 69, 78, 69, 82, 73, 195, 71, 69, 77, 73, 78, 73,
+ 128, 71, 69, 77, 73, 78, 65, 84, 73, 79, 206, 71, 69, 205, 71, 69, 68,
+ 79, 76, 65, 128, 71, 69, 68, 69, 128, 71, 69, 66, 207, 71, 69, 66, 193,
+ 71, 69, 65, 82, 128, 71, 69, 65, 210, 71, 68, 65, 78, 128, 71, 67, 73,
+ 71, 128, 71, 67, 65, 206, 71, 66, 79, 78, 128, 71, 66, 73, 69, 197, 71,
+ 66, 69, 85, 88, 128, 71, 66, 69, 84, 128, 71, 66, 65, 89, 73, 128, 71,
+ 66, 65, 75, 85, 82, 85, 78, 69, 78, 128, 71, 66, 128, 71, 65, 89, 65, 78,
+ 85, 75, 73, 84, 84, 65, 128, 71, 65, 89, 65, 78, 78, 65, 128, 71, 65, 89,
+ 128, 71, 65, 85, 78, 84, 76, 69, 84, 128, 71, 65, 84, 72, 69, 82, 73, 78,
+ 71, 128, 71, 65, 84, 72, 69, 82, 73, 78, 199, 71, 65, 84, 69, 128, 71,
+ 65, 83, 72, 65, 78, 128, 71, 65, 82, 83, 72, 85, 78, 73, 128, 71, 65, 82,
+ 79, 78, 128, 71, 65, 82, 77, 69, 78, 84, 128, 71, 65, 82, 68, 69, 78,
+ 128, 71, 65, 82, 51, 128, 71, 65, 80, 80, 69, 196, 71, 65, 208, 71, 65,
+ 78, 77, 65, 128, 71, 65, 78, 71, 73, 65, 128, 71, 65, 78, 68, 193, 71,
+ 65, 78, 50, 128, 71, 65, 78, 178, 71, 65, 77, 77, 65, 128, 71, 65, 77,
+ 76, 65, 128, 71, 65, 77, 76, 128, 71, 65, 77, 69, 128, 71, 65, 77, 197,
+ 71, 65, 77, 65, 78, 128, 71, 65, 77, 65, 76, 128, 71, 65, 77, 65, 204,
+ 71, 65, 71, 128, 71, 65, 70, 128, 71, 65, 198, 71, 65, 69, 84, 84, 65,
+ 45, 80, 73, 76, 76, 65, 128, 71, 65, 68, 79, 76, 128, 71, 65, 68, 128,
+ 71, 65, 196, 71, 65, 66, 65, 128, 71, 65, 66, 193, 71, 65, 65, 70, 85,
+ 128, 71, 65, 178, 71, 48, 53, 52, 128, 71, 48, 53, 51, 128, 71, 48, 53,
+ 50, 128, 71, 48, 53, 49, 128, 71, 48, 53, 48, 128, 71, 48, 52, 57, 128,
+ 71, 48, 52, 56, 128, 71, 48, 52, 55, 128, 71, 48, 52, 54, 128, 71, 48,
+ 52, 53, 65, 128, 71, 48, 52, 53, 128, 71, 48, 52, 52, 128, 71, 48, 52,
+ 51, 65, 128, 71, 48, 52, 51, 128, 71, 48, 52, 50, 128, 71, 48, 52, 49,
+ 128, 71, 48, 52, 48, 128, 71, 48, 51, 57, 128, 71, 48, 51, 56, 128, 71,
+ 48, 51, 55, 65, 128, 71, 48, 51, 55, 128, 71, 48, 51, 54, 65, 128, 71,
+ 48, 51, 54, 128, 71, 48, 51, 53, 128, 71, 48, 51, 52, 128, 71, 48, 51,
+ 51, 128, 71, 48, 51, 50, 128, 71, 48, 51, 49, 128, 71, 48, 51, 48, 128,
+ 71, 48, 50, 57, 128, 71, 48, 50, 56, 128, 71, 48, 50, 55, 128, 71, 48,
+ 50, 54, 65, 128, 71, 48, 50, 54, 128, 71, 48, 50, 53, 128, 71, 48, 50,
+ 52, 128, 71, 48, 50, 51, 128, 71, 48, 50, 50, 128, 71, 48, 50, 49, 128,
+ 71, 48, 50, 48, 65, 128, 71, 48, 50, 48, 128, 71, 48, 49, 57, 128, 71,
+ 48, 49, 56, 128, 71, 48, 49, 55, 128, 71, 48, 49, 54, 128, 71, 48, 49,
+ 53, 128, 71, 48, 49, 52, 128, 71, 48, 49, 51, 128, 71, 48, 49, 50, 128,
+ 71, 48, 49, 49, 65, 128, 71, 48, 49, 49, 128, 71, 48, 49, 48, 128, 71,
+ 48, 48, 57, 128, 71, 48, 48, 56, 128, 71, 48, 48, 55, 66, 128, 71, 48,
+ 48, 55, 65, 128, 71, 48, 48, 55, 128, 71, 48, 48, 54, 65, 128, 71, 48,
+ 48, 54, 128, 71, 48, 48, 53, 128, 71, 48, 48, 52, 128, 71, 48, 48, 51,
+ 128, 71, 48, 48, 50, 128, 71, 48, 48, 49, 128, 70, 89, 88, 128, 70, 89,
+ 84, 128, 70, 89, 80, 128, 70, 89, 65, 128, 70, 87, 73, 128, 70, 87, 69,
+ 69, 128, 70, 87, 69, 128, 70, 87, 65, 65, 128, 70, 87, 65, 128, 70, 85,
+ 88, 128, 70, 85, 84, 128, 70, 85, 83, 69, 128, 70, 85, 83, 193, 70, 85,
+ 82, 88, 128, 70, 85, 80, 128, 70, 85, 78, 69, 82, 65, 204, 70, 85, 78,
+ 67, 84, 73, 79, 78, 128, 70, 85, 76, 76, 78, 69, 83, 83, 128, 70, 85, 76,
+ 204, 70, 85, 74, 73, 128, 70, 85, 69, 84, 128, 70, 85, 69, 204, 70, 85,
+ 69, 128, 70, 84, 72, 79, 82, 193, 70, 82, 79, 87, 78, 73, 78, 71, 128,
+ 70, 82, 79, 87, 78, 73, 78, 199, 70, 82, 79, 87, 78, 128, 70, 82, 79, 78,
+ 84, 45, 84, 73, 76, 84, 69, 196, 70, 82, 79, 78, 84, 45, 70, 65, 67, 73,
+ 78, 199, 70, 82, 79, 205, 70, 82, 79, 71, 128, 70, 82, 79, 199, 70, 82,
+ 73, 84, 85, 128, 70, 82, 73, 69, 83, 128, 70, 82, 73, 69, 196, 70, 82,
+ 73, 67, 65, 84, 73, 86, 69, 128, 70, 82, 69, 84, 66, 79, 65, 82, 68, 128,
+ 70, 82, 69, 78, 67, 200, 70, 82, 69, 69, 128, 70, 82, 69, 197, 70, 82,
+ 65, 78, 195, 70, 82, 65, 77, 69, 128, 70, 82, 65, 71, 82, 65, 78, 84,
+ 128, 70, 82, 65, 71, 77, 69, 78, 84, 128, 70, 82, 65, 67, 84, 73, 79,
+ 206, 70, 79, 88, 128, 70, 79, 85, 82, 84, 69, 69, 78, 128, 70, 79, 85,
+ 82, 84, 69, 69, 206, 70, 79, 85, 82, 45, 84, 72, 73, 82, 84, 89, 128, 70,
+ 79, 85, 82, 45, 83, 84, 82, 73, 78, 199, 70, 79, 85, 82, 45, 80, 69, 82,
+ 45, 69, 205, 70, 79, 85, 82, 45, 76, 73, 78, 197, 70, 79, 85, 210, 70,
+ 79, 85, 78, 84, 65, 73, 78, 128, 70, 79, 83, 84, 69, 82, 73, 78, 71, 128,
+ 70, 79, 82, 84, 89, 128, 70, 79, 82, 84, 217, 70, 79, 82, 84, 69, 128,
+ 70, 79, 82, 77, 211, 70, 79, 82, 77, 65, 84, 84, 73, 78, 71, 128, 70, 79,
+ 82, 75, 69, 196, 70, 79, 82, 67, 69, 83, 128, 70, 79, 82, 67, 69, 128,
+ 70, 79, 80, 128, 70, 79, 79, 84, 83, 84, 79, 79, 76, 128, 70, 79, 79, 84,
+ 80, 82, 73, 78, 84, 83, 128, 70, 79, 79, 84, 78, 79, 84, 197, 70, 79, 79,
+ 84, 66, 65, 76, 76, 128, 70, 79, 79, 84, 128, 70, 79, 79, 68, 128, 70,
+ 79, 79, 128, 70, 79, 78, 71, 77, 65, 78, 128, 70, 79, 77, 128, 70, 79,
+ 76, 76, 89, 128, 70, 79, 76, 76, 79, 87, 73, 78, 71, 128, 70, 79, 76, 68,
+ 69, 82, 128, 70, 79, 76, 68, 69, 196, 70, 79, 71, 71, 89, 128, 70, 77,
+ 128, 70, 76, 89, 128, 70, 76, 85, 84, 84, 69, 82, 73, 78, 199, 70, 76,
+ 85, 84, 69, 128, 70, 76, 85, 83, 72, 69, 196, 70, 76, 79, 87, 73, 78,
+ 199, 70, 76, 79, 87, 69, 210, 70, 76, 79, 85, 82, 73, 83, 72, 128, 70,
+ 76, 79, 82, 69, 84, 84, 69, 128, 70, 76, 79, 82, 65, 204, 70, 76, 79, 80,
+ 80, 217, 70, 76, 79, 79, 82, 128, 70, 76, 73, 80, 128, 70, 76, 73, 71,
+ 72, 84, 128, 70, 76, 69, 88, 85, 83, 128, 70, 76, 69, 88, 69, 196, 70,
+ 76, 69, 85, 82, 45, 68, 69, 45, 76, 73, 83, 128, 70, 76, 65, 84, 84, 69,
+ 78, 69, 196, 70, 76, 65, 84, 78, 69, 83, 83, 128, 70, 76, 65, 84, 128,
+ 70, 76, 65, 212, 70, 76, 65, 71, 83, 128, 70, 76, 65, 71, 45, 53, 128,
+ 70, 76, 65, 71, 45, 52, 128, 70, 76, 65, 71, 45, 51, 128, 70, 76, 65, 71,
+ 45, 50, 128, 70, 76, 65, 71, 45, 49, 128, 70, 76, 65, 71, 128, 70, 76,
+ 65, 199, 70, 76, 65, 128, 70, 76, 128, 70, 73, 88, 69, 68, 45, 70, 79,
+ 82, 205, 70, 73, 88, 128, 70, 73, 86, 69, 45, 84, 72, 73, 82, 84, 89,
+ 128, 70, 73, 86, 69, 45, 76, 73, 78, 197, 70, 73, 86, 197, 70, 73, 84,
+ 65, 128, 70, 73, 84, 128, 70, 73, 83, 84, 69, 196, 70, 73, 83, 84, 128,
+ 70, 73, 83, 72, 73, 78, 199, 70, 73, 83, 72, 72, 79, 79, 75, 128, 70, 73,
+ 83, 72, 72, 79, 79, 203, 70, 73, 83, 72, 69, 89, 69, 128, 70, 73, 83, 72,
+ 128, 70, 73, 83, 200, 70, 73, 82, 83, 212, 70, 73, 82, 73, 128, 70, 73,
+ 82, 69, 87, 79, 82, 75, 83, 128, 70, 73, 82, 69, 87, 79, 82, 203, 70, 73,
+ 82, 69, 128, 70, 73, 82, 197, 70, 73, 80, 128, 70, 73, 78, 73, 84, 197,
+ 70, 73, 78, 71, 69, 82, 78, 65, 73, 76, 83, 128, 70, 73, 78, 71, 69, 82,
+ 69, 196, 70, 73, 78, 65, 78, 67, 73, 65, 76, 128, 70, 73, 76, 76, 69, 82,
+ 128, 70, 73, 76, 76, 69, 196, 70, 73, 76, 76, 128, 70, 73, 76, 204, 70,
+ 73, 76, 197, 70, 73, 73, 128, 70, 73, 71, 85, 82, 69, 45, 51, 128, 70,
+ 73, 71, 85, 82, 69, 45, 50, 128, 70, 73, 71, 85, 82, 69, 45, 49, 128, 70,
+ 73, 71, 85, 82, 197, 70, 73, 71, 72, 84, 128, 70, 73, 70, 84, 89, 128,
+ 70, 73, 70, 84, 217, 70, 73, 70, 84, 72, 83, 128, 70, 73, 70, 84, 72,
+ 128, 70, 73, 70, 84, 69, 69, 78, 128, 70, 73, 70, 84, 69, 69, 206, 70,
+ 73, 69, 76, 68, 128, 70, 72, 84, 79, 82, 193, 70, 70, 76, 128, 70, 70,
+ 73, 128, 70, 69, 85, 88, 128, 70, 69, 85, 70, 69, 85, 65, 69, 84, 128,
+ 70, 69, 83, 84, 73, 86, 65, 76, 128, 70, 69, 82, 82, 89, 128, 70, 69, 82,
+ 82, 73, 211, 70, 69, 82, 77, 65, 84, 65, 128, 70, 69, 82, 77, 65, 84,
+ 193, 70, 69, 79, 200, 70, 69, 78, 199, 70, 69, 78, 67, 69, 128, 70, 69,
+ 77, 73, 78, 73, 78, 197, 70, 69, 77, 65, 76, 69, 128, 70, 69, 77, 65, 76,
+ 197, 70, 69, 76, 76, 79, 87, 83, 72, 73, 80, 128, 70, 69, 73, 128, 70,
+ 69, 72, 213, 70, 69, 72, 128, 70, 69, 200, 70, 69, 69, 78, 71, 128, 70,
+ 69, 69, 68, 128, 70, 69, 69, 196, 70, 69, 69, 128, 70, 69, 66, 82, 85,
+ 65, 82, 89, 128, 70, 69, 65, 84, 72, 69, 82, 128, 70, 69, 65, 84, 72, 69,
+ 210, 70, 69, 65, 82, 78, 128, 70, 69, 65, 82, 70, 85, 204, 70, 69, 65,
+ 82, 128, 70, 65, 89, 65, 78, 78, 65, 128, 70, 65, 89, 128, 70, 65, 88,
+ 128, 70, 65, 216, 70, 65, 84, 73, 71, 85, 69, 128, 70, 65, 84, 72, 69,
+ 82, 128, 70, 65, 84, 72, 69, 210, 70, 65, 84, 72, 65, 84, 65, 78, 128,
+ 70, 65, 84, 72, 65, 84, 65, 206, 70, 65, 84, 72, 65, 128, 70, 65, 84, 72,
+ 193, 70, 65, 84, 128, 70, 65, 82, 83, 201, 70, 65, 81, 128, 70, 65, 80,
+ 128, 70, 65, 78, 71, 128, 70, 65, 78, 69, 82, 79, 83, 73, 211, 70, 65,
+ 78, 128, 70, 65, 77, 73, 76, 89, 128, 70, 65, 76, 76, 73, 78, 199, 70,
+ 65, 76, 76, 69, 206, 70, 65, 73, 76, 85, 82, 69, 128, 70, 65, 73, 72, 85,
+ 128, 70, 65, 72, 82, 69, 78, 72, 69, 73, 84, 128, 70, 65, 67, 84, 79, 82,
+ 89, 128, 70, 65, 67, 84, 79, 210, 70, 65, 67, 83, 73, 77, 73, 76, 197,
+ 70, 65, 67, 69, 45, 54, 128, 70, 65, 67, 69, 45, 53, 128, 70, 65, 67, 69,
+ 45, 52, 128, 70, 65, 67, 69, 45, 51, 128, 70, 65, 67, 69, 45, 50, 128,
+ 70, 65, 67, 69, 45, 49, 128, 70, 65, 65, 77, 65, 69, 128, 70, 65, 65, 73,
+ 128, 70, 65, 65, 70, 85, 128, 70, 48, 53, 51, 128, 70, 48, 53, 50, 128,
+ 70, 48, 53, 49, 67, 128, 70, 48, 53, 49, 66, 128, 70, 48, 53, 49, 65,
+ 128, 70, 48, 53, 49, 128, 70, 48, 53, 48, 128, 70, 48, 52, 57, 128, 70,
+ 48, 52, 56, 128, 70, 48, 52, 55, 65, 128, 70, 48, 52, 55, 128, 70, 48,
+ 52, 54, 65, 128, 70, 48, 52, 54, 128, 70, 48, 52, 53, 65, 128, 70, 48,
+ 52, 53, 128, 70, 48, 52, 52, 128, 70, 48, 52, 51, 128, 70, 48, 52, 50,
+ 128, 70, 48, 52, 49, 128, 70, 48, 52, 48, 128, 70, 48, 51, 57, 128, 70,
+ 48, 51, 56, 65, 128, 70, 48, 51, 56, 128, 70, 48, 51, 55, 65, 128, 70,
+ 48, 51, 55, 128, 70, 48, 51, 54, 128, 70, 48, 51, 53, 128, 70, 48, 51,
+ 52, 128, 70, 48, 51, 51, 128, 70, 48, 51, 50, 128, 70, 48, 51, 49, 65,
+ 128, 70, 48, 51, 49, 128, 70, 48, 51, 48, 128, 70, 48, 50, 57, 128, 70,
+ 48, 50, 56, 128, 70, 48, 50, 55, 128, 70, 48, 50, 54, 128, 70, 48, 50,
+ 53, 128, 70, 48, 50, 52, 128, 70, 48, 50, 51, 128, 70, 48, 50, 50, 128,
+ 70, 48, 50, 49, 65, 128, 70, 48, 50, 49, 128, 70, 48, 50, 48, 128, 70,
+ 48, 49, 57, 128, 70, 48, 49, 56, 128, 70, 48, 49, 55, 128, 70, 48, 49,
+ 54, 128, 70, 48, 49, 53, 128, 70, 48, 49, 52, 128, 70, 48, 49, 51, 65,
+ 128, 70, 48, 49, 51, 128, 70, 48, 49, 50, 128, 70, 48, 49, 49, 128, 70,
+ 48, 49, 48, 128, 70, 48, 48, 57, 128, 70, 48, 48, 56, 128, 70, 48, 48,
+ 55, 128, 70, 48, 48, 54, 128, 70, 48, 48, 53, 128, 70, 48, 48, 52, 128,
+ 70, 48, 48, 51, 128, 70, 48, 48, 50, 128, 70, 48, 48, 49, 65, 128, 70,
+ 48, 48, 49, 128, 69, 90, 200, 69, 90, 69, 78, 128, 69, 90, 69, 206, 69,
+ 90, 128, 69, 89, 69, 83, 128, 69, 89, 69, 71, 76, 65, 83, 83, 69, 83,
+ 128, 69, 89, 66, 69, 89, 70, 73, 76, 73, 128, 69, 89, 65, 78, 78, 65,
+ 128, 69, 88, 84, 82, 65, 84, 69, 82, 82, 69, 83, 84, 82, 73, 65, 204, 69,
+ 88, 84, 82, 65, 45, 76, 79, 215, 69, 88, 84, 82, 65, 45, 72, 73, 71, 200,
+ 69, 88, 84, 69, 78, 83, 73, 79, 78, 128, 69, 88, 84, 69, 78, 68, 69, 196,
+ 69, 88, 80, 79, 78, 69, 78, 212, 69, 88, 79, 128, 69, 88, 207, 69, 88,
+ 73, 83, 84, 83, 128, 69, 88, 73, 83, 84, 128, 69, 88, 72, 65, 85, 83, 84,
+ 73, 79, 78, 128, 69, 88, 67, 76, 65, 77, 65, 84, 73, 79, 78, 128, 69, 88,
+ 67, 76, 65, 77, 65, 84, 73, 79, 206, 69, 88, 67, 72, 65, 78, 71, 69, 128,
+ 69, 88, 67, 69, 83, 83, 128, 69, 88, 67, 69, 76, 76, 69, 78, 84, 128, 69,
+ 87, 69, 128, 69, 86, 69, 82, 71, 82, 69, 69, 206, 69, 86, 69, 78, 73, 78,
+ 71, 128, 69, 85, 82, 79, 80, 69, 65, 206, 69, 85, 82, 79, 80, 69, 45, 65,
+ 70, 82, 73, 67, 65, 128, 69, 85, 82, 79, 45, 67, 85, 82, 82, 69, 78, 67,
+ 217, 69, 85, 82, 207, 69, 85, 76, 69, 210, 69, 85, 45, 85, 128, 69, 85,
+ 45, 79, 128, 69, 85, 45, 69, 85, 128, 69, 85, 45, 69, 79, 128, 69, 85,
+ 45, 69, 128, 69, 85, 45, 65, 128, 69, 84, 78, 65, 72, 84, 65, 128, 69,
+ 84, 72, 69, 204, 69, 84, 69, 82, 79, 206, 69, 84, 69, 82, 78, 73, 84, 89,
+ 128, 69, 83, 85, 75, 85, 85, 68, 79, 128, 69, 83, 84, 73, 77, 65, 84, 69,
+ 83, 128, 69, 83, 84, 73, 77, 65, 84, 69, 196, 69, 83, 72, 69, 51, 128,
+ 69, 83, 72, 50, 49, 128, 69, 83, 72, 178, 69, 83, 72, 49, 54, 128, 69,
+ 83, 67, 65, 80, 69, 128, 69, 83, 45, 84, 69, 128, 69, 82, 82, 79, 82, 45,
+ 66, 65, 82, 82, 69, 196, 69, 82, 82, 128, 69, 82, 73, 78, 50, 128, 69,
+ 82, 71, 128, 69, 82, 65, 83, 197, 69, 81, 85, 73, 86, 65, 76, 69, 78,
+ 212, 69, 81, 85, 73, 68, 128, 69, 81, 85, 73, 65, 78, 71, 85, 76, 65,
+ 210, 69, 81, 85, 65, 76, 83, 128, 69, 81, 85, 65, 76, 211, 69, 81, 85,
+ 65, 76, 128, 69, 80, 83, 73, 76, 79, 78, 128, 69, 80, 83, 73, 76, 79,
+ 206, 69, 80, 79, 67, 72, 128, 69, 80, 73, 71, 82, 65, 80, 72, 73, 195,
+ 69, 80, 73, 68, 65, 85, 82, 69, 65, 206, 69, 80, 69, 78, 84, 72, 69, 84,
+ 73, 195, 69, 80, 69, 71, 69, 82, 77, 65, 128, 69, 79, 76, 72, 88, 128,
+ 69, 79, 72, 128, 69, 78, 89, 128, 69, 78, 86, 69, 76, 79, 80, 69, 128,
+ 69, 78, 86, 69, 76, 79, 80, 197, 69, 78, 85, 77, 69, 82, 65, 84, 73, 79,
+ 206, 69, 78, 84, 82, 89, 45, 50, 128, 69, 78, 84, 82, 89, 45, 49, 128,
+ 69, 78, 84, 82, 89, 128, 69, 78, 84, 82, 217, 69, 78, 84, 72, 85, 83, 73,
+ 65, 83, 77, 128, 69, 78, 84, 69, 82, 80, 82, 73, 83, 69, 128, 69, 78, 84,
+ 69, 82, 73, 78, 199, 69, 78, 84, 69, 82, 128, 69, 78, 84, 69, 210, 69,
+ 78, 81, 85, 73, 82, 89, 128, 69, 78, 79, 211, 69, 78, 78, 128, 69, 78,
+ 76, 65, 82, 71, 69, 77, 69, 78, 84, 128, 69, 78, 71, 73, 78, 69, 128, 69,
+ 78, 68, 79, 70, 79, 78, 79, 78, 128, 69, 78, 68, 73, 78, 199, 69, 78, 68,
+ 69, 80, 128, 69, 78, 68, 69, 65, 86, 79, 85, 82, 128, 69, 78, 67, 79, 85,
+ 78, 84, 69, 82, 83, 128, 69, 78, 67, 76, 79, 83, 85, 82, 69, 128, 69, 78,
+ 67, 76, 79, 83, 73, 78, 199, 69, 78, 67, 128, 69, 78, 65, 82, 88, 73,
+ 211, 69, 78, 65, 82, 77, 79, 78, 73, 79, 211, 69, 77, 80, 84, 217, 69,
+ 77, 80, 72, 65, 84, 73, 195, 69, 77, 80, 72, 65, 83, 73, 211, 69, 77, 66,
+ 82, 79, 73, 68, 69, 82, 89, 128, 69, 77, 66, 76, 69, 77, 128, 69, 77, 66,
+ 69, 76, 76, 73, 83, 72, 77, 69, 78, 84, 128, 69, 77, 66, 69, 68, 68, 73,
+ 78, 71, 128, 69, 76, 84, 128, 69, 76, 76, 73, 80, 83, 73, 83, 128, 69,
+ 76, 76, 73, 80, 83, 69, 128, 69, 76, 73, 70, 73, 128, 69, 76, 69, 86, 69,
+ 78, 45, 84, 72, 73, 82, 84, 89, 128, 69, 76, 69, 86, 69, 78, 128, 69, 76,
+ 69, 86, 69, 206, 69, 76, 69, 80, 72, 65, 78, 84, 128, 69, 76, 69, 77, 69,
+ 78, 212, 69, 76, 69, 67, 84, 82, 73, 67, 65, 204, 69, 76, 69, 67, 84, 82,
+ 73, 195, 69, 76, 65, 70, 82, 79, 78, 128, 69, 75, 83, 84, 82, 69, 80, 84,
+ 79, 78, 128, 69, 75, 83, 128, 69, 75, 70, 79, 78, 73, 84, 73, 75, 79, 78,
+ 128, 69, 75, 65, 82, 65, 128, 69, 74, 69, 67, 212, 69, 73, 83, 128, 69,
+ 73, 71, 72, 84, 89, 128, 69, 73, 71, 72, 84, 217, 69, 73, 71, 72, 84, 72,
+ 83, 128, 69, 73, 71, 72, 84, 72, 211, 69, 73, 71, 72, 84, 72, 128, 69,
+ 73, 71, 72, 84, 69, 69, 78, 128, 69, 73, 71, 72, 84, 69, 69, 206, 69, 73,
+ 71, 72, 84, 45, 84, 72, 73, 82, 84, 89, 128, 69, 73, 69, 128, 69, 72, 87,
+ 65, 218, 69, 71, 89, 80, 84, 79, 76, 79, 71, 73, 67, 65, 204, 69, 71, 73,
+ 82, 128, 69, 71, 71, 128, 69, 69, 89, 65, 78, 78, 65, 128, 69, 69, 75,
+ 65, 65, 128, 69, 69, 66, 69, 69, 70, 73, 76, 73, 128, 69, 68, 73, 84, 79,
+ 82, 73, 65, 204, 69, 68, 73, 78, 128, 69, 68, 68, 128, 69, 66, 69, 70,
+ 73, 76, 73, 128, 69, 65, 83, 84, 69, 82, 206, 69, 65, 83, 212, 69, 65,
+ 82, 84, 72, 76, 217, 69, 65, 82, 84, 72, 128, 69, 65, 82, 84, 200, 69,
+ 65, 82, 83, 128, 69, 65, 82, 76, 217, 69, 65, 77, 72, 65, 78, 67, 72, 79,
+ 76, 76, 128, 69, 65, 71, 76, 69, 128, 69, 65, 68, 72, 65, 68, 72, 128,
+ 69, 65, 66, 72, 65, 68, 72, 128, 69, 178, 69, 48, 51, 56, 128, 69, 48,
+ 51, 55, 128, 69, 48, 51, 54, 128, 69, 48, 51, 52, 65, 128, 69, 48, 51,
+ 52, 128, 69, 48, 51, 51, 128, 69, 48, 51, 50, 128, 69, 48, 51, 49, 128,
+ 69, 48, 51, 48, 128, 69, 48, 50, 57, 128, 69, 48, 50, 56, 65, 128, 69,
+ 48, 50, 56, 128, 69, 48, 50, 55, 128, 69, 48, 50, 54, 128, 69, 48, 50,
+ 53, 128, 69, 48, 50, 52, 128, 69, 48, 50, 51, 128, 69, 48, 50, 50, 128,
+ 69, 48, 50, 49, 128, 69, 48, 50, 48, 65, 128, 69, 48, 50, 48, 128, 69,
+ 48, 49, 57, 128, 69, 48, 49, 56, 128, 69, 48, 49, 55, 65, 128, 69, 48,
+ 49, 55, 128, 69, 48, 49, 54, 65, 128, 69, 48, 49, 54, 128, 69, 48, 49,
+ 53, 128, 69, 48, 49, 52, 128, 69, 48, 49, 51, 128, 69, 48, 49, 50, 128,
+ 69, 48, 49, 49, 128, 69, 48, 49, 48, 128, 69, 48, 48, 57, 65, 128, 69,
+ 48, 48, 57, 128, 69, 48, 48, 56, 65, 128, 69, 48, 48, 56, 128, 69, 48,
+ 48, 55, 128, 69, 48, 48, 54, 128, 69, 48, 48, 53, 128, 69, 48, 48, 52,
+ 128, 69, 48, 48, 51, 128, 69, 48, 48, 50, 128, 69, 48, 48, 49, 128, 69,
+ 45, 77, 65, 73, 204, 68, 90, 90, 69, 128, 68, 90, 87, 69, 128, 68, 90,
+ 85, 128, 68, 90, 79, 128, 68, 90, 74, 69, 128, 68, 90, 73, 128, 68, 90,
+ 72, 69, 128, 68, 90, 72, 65, 128, 68, 90, 69, 76, 79, 128, 68, 90, 69,
+ 69, 128, 68, 90, 69, 128, 68, 90, 65, 65, 128, 68, 90, 65, 128, 68, 90,
+ 128, 68, 218, 68, 89, 79, 128, 68, 89, 207, 68, 89, 69, 72, 128, 68, 89,
+ 69, 200, 68, 87, 79, 128, 68, 87, 69, 128, 68, 87, 65, 128, 68, 86, 73,
+ 83, 86, 65, 82, 65, 128, 68, 86, 68, 128, 68, 86, 128, 68, 85, 84, 73,
+ 69, 83, 128, 68, 85, 83, 75, 128, 68, 85, 83, 72, 69, 78, 78, 65, 128,
+ 68, 85, 82, 65, 84, 73, 79, 78, 128, 68, 85, 82, 50, 128, 68, 85, 80, 79,
+ 78, 68, 73, 85, 211, 68, 85, 79, 88, 128, 68, 85, 79, 128, 68, 85, 78,
+ 52, 128, 68, 85, 78, 51, 128, 68, 85, 78, 179, 68, 85, 77, 128, 68, 85,
+ 204, 68, 85, 72, 128, 68, 85, 71, 85, 68, 128, 68, 85, 66, 50, 128, 68,
+ 85, 66, 128, 68, 85, 194, 68, 82, 89, 128, 68, 82, 217, 68, 82, 85, 77,
+ 128, 68, 82, 85, 205, 68, 82, 79, 80, 83, 128, 68, 82, 79, 80, 76, 69,
+ 84, 128, 68, 82, 79, 80, 45, 83, 72, 65, 68, 79, 87, 69, 196, 68, 82, 79,
+ 77, 69, 68, 65, 82, 217, 68, 82, 73, 86, 69, 128, 68, 82, 73, 86, 197,
+ 68, 82, 73, 78, 75, 128, 68, 82, 73, 204, 68, 82, 69, 83, 83, 128, 68,
+ 82, 65, 85, 71, 72, 84, 211, 68, 82, 65, 77, 128, 68, 82, 65, 71, 79, 78,
+ 128, 68, 82, 65, 71, 79, 206, 68, 82, 65, 70, 84, 73, 78, 199, 68, 82,
+ 65, 67, 72, 77, 65, 83, 128, 68, 82, 65, 67, 72, 77, 65, 128, 68, 82, 65,
+ 67, 72, 77, 193, 68, 79, 87, 78, 87, 65, 82, 68, 83, 128, 68, 79, 87, 78,
+ 87, 65, 82, 68, 211, 68, 79, 87, 78, 45, 80, 79, 73, 78, 84, 73, 78, 199,
+ 68, 79, 87, 78, 128, 68, 79, 86, 69, 128, 68, 79, 85, 71, 72, 78, 85, 84,
+ 128, 68, 79, 85, 66, 84, 128, 68, 79, 85, 66, 76, 69, 196, 68, 79, 85,
+ 66, 76, 69, 45, 76, 73, 78, 197, 68, 79, 85, 66, 76, 69, 45, 69, 78, 68,
+ 69, 196, 68, 79, 85, 66, 76, 69, 128, 68, 79, 84, 84, 69, 68, 45, 80,
+ 128, 68, 79, 84, 84, 69, 68, 45, 78, 128, 68, 79, 84, 84, 69, 68, 45, 76,
+ 128, 68, 79, 84, 84, 69, 68, 128, 68, 79, 84, 84, 69, 196, 68, 79, 84,
+ 83, 45, 56, 128, 68, 79, 84, 83, 45, 55, 56, 128, 68, 79, 84, 83, 45, 55,
+ 128, 68, 79, 84, 83, 45, 54, 56, 128, 68, 79, 84, 83, 45, 54, 55, 56,
+ 128, 68, 79, 84, 83, 45, 54, 55, 128, 68, 79, 84, 83, 45, 54, 128, 68,
+ 79, 84, 83, 45, 53, 56, 128, 68, 79, 84, 83, 45, 53, 55, 56, 128, 68, 79,
+ 84, 83, 45, 53, 55, 128, 68, 79, 84, 83, 45, 53, 54, 56, 128, 68, 79, 84,
+ 83, 45, 53, 54, 55, 56, 128, 68, 79, 84, 83, 45, 53, 54, 55, 128, 68, 79,
+ 84, 83, 45, 53, 54, 128, 68, 79, 84, 83, 45, 53, 128, 68, 79, 84, 83, 45,
+ 52, 56, 128, 68, 79, 84, 83, 45, 52, 55, 56, 128, 68, 79, 84, 83, 45, 52,
+ 55, 128, 68, 79, 84, 83, 45, 52, 54, 56, 128, 68, 79, 84, 83, 45, 52, 54,
+ 55, 56, 128, 68, 79, 84, 83, 45, 52, 54, 55, 128, 68, 79, 84, 83, 45, 52,
+ 54, 128, 68, 79, 84, 83, 45, 52, 53, 56, 128, 68, 79, 84, 83, 45, 52, 53,
+ 55, 56, 128, 68, 79, 84, 83, 45, 52, 53, 55, 128, 68, 79, 84, 83, 45, 52,
+ 53, 54, 56, 128, 68, 79, 84, 83, 45, 52, 53, 54, 55, 56, 128, 68, 79, 84,
+ 83, 45, 52, 53, 54, 55, 128, 68, 79, 84, 83, 45, 52, 53, 54, 128, 68, 79,
+ 84, 83, 45, 52, 53, 128, 68, 79, 84, 83, 45, 52, 128, 68, 79, 84, 83, 45,
+ 51, 56, 128, 68, 79, 84, 83, 45, 51, 55, 56, 128, 68, 79, 84, 83, 45, 51,
+ 55, 128, 68, 79, 84, 83, 45, 51, 54, 56, 128, 68, 79, 84, 83, 45, 51, 54,
+ 55, 56, 128, 68, 79, 84, 83, 45, 51, 54, 55, 128, 68, 79, 84, 83, 45, 51,
+ 54, 128, 68, 79, 84, 83, 45, 51, 53, 56, 128, 68, 79, 84, 83, 45, 51, 53,
+ 55, 56, 128, 68, 79, 84, 83, 45, 51, 53, 55, 128, 68, 79, 84, 83, 45, 51,
+ 53, 54, 56, 128, 68, 79, 84, 83, 45, 51, 53, 54, 55, 56, 128, 68, 79, 84,
+ 83, 45, 51, 53, 54, 55, 128, 68, 79, 84, 83, 45, 51, 53, 54, 128, 68, 79,
+ 84, 83, 45, 51, 53, 128, 68, 79, 84, 83, 45, 51, 52, 56, 128, 68, 79, 84,
+ 83, 45, 51, 52, 55, 56, 128, 68, 79, 84, 83, 45, 51, 52, 55, 128, 68, 79,
+ 84, 83, 45, 51, 52, 54, 56, 128, 68, 79, 84, 83, 45, 51, 52, 54, 55, 56,
+ 128, 68, 79, 84, 83, 45, 51, 52, 54, 55, 128, 68, 79, 84, 83, 45, 51, 52,
+ 54, 128, 68, 79, 84, 83, 45, 51, 52, 53, 56, 128, 68, 79, 84, 83, 45, 51,
+ 52, 53, 55, 56, 128, 68, 79, 84, 83, 45, 51, 52, 53, 55, 128, 68, 79, 84,
+ 83, 45, 51, 52, 53, 54, 56, 128, 68, 79, 84, 83, 45, 51, 52, 53, 54, 55,
+ 56, 128, 68, 79, 84, 83, 45, 51, 52, 53, 54, 55, 128, 68, 79, 84, 83, 45,
+ 51, 52, 53, 54, 128, 68, 79, 84, 83, 45, 51, 52, 53, 128, 68, 79, 84, 83,
+ 45, 51, 52, 128, 68, 79, 84, 83, 45, 51, 128, 68, 79, 84, 83, 45, 50, 56,
+ 128, 68, 79, 84, 83, 45, 50, 55, 56, 128, 68, 79, 84, 83, 45, 50, 55,
+ 128, 68, 79, 84, 83, 45, 50, 54, 56, 128, 68, 79, 84, 83, 45, 50, 54, 55,
+ 56, 128, 68, 79, 84, 83, 45, 50, 54, 55, 128, 68, 79, 84, 83, 45, 50, 54,
+ 128, 68, 79, 84, 83, 45, 50, 53, 56, 128, 68, 79, 84, 83, 45, 50, 53, 55,
+ 56, 128, 68, 79, 84, 83, 45, 50, 53, 55, 128, 68, 79, 84, 83, 45, 50, 53,
+ 54, 56, 128, 68, 79, 84, 83, 45, 50, 53, 54, 55, 56, 128, 68, 79, 84, 83,
+ 45, 50, 53, 54, 55, 128, 68, 79, 84, 83, 45, 50, 53, 54, 128, 68, 79, 84,
+ 83, 45, 50, 53, 128, 68, 79, 84, 83, 45, 50, 52, 56, 128, 68, 79, 84, 83,
+ 45, 50, 52, 55, 56, 128, 68, 79, 84, 83, 45, 50, 52, 55, 128, 68, 79, 84,
+ 83, 45, 50, 52, 54, 56, 128, 68, 79, 84, 83, 45, 50, 52, 54, 55, 56, 128,
+ 68, 79, 84, 83, 45, 50, 52, 54, 55, 128, 68, 79, 84, 83, 45, 50, 52, 54,
+ 128, 68, 79, 84, 83, 45, 50, 52, 53, 56, 128, 68, 79, 84, 83, 45, 50, 52,
+ 53, 55, 56, 128, 68, 79, 84, 83, 45, 50, 52, 53, 55, 128, 68, 79, 84, 83,
+ 45, 50, 52, 53, 54, 56, 128, 68, 79, 84, 83, 45, 50, 52, 53, 54, 55, 56,
+ 128, 68, 79, 84, 83, 45, 50, 52, 53, 54, 55, 128, 68, 79, 84, 83, 45, 50,
+ 52, 53, 54, 128, 68, 79, 84, 83, 45, 50, 52, 53, 128, 68, 79, 84, 83, 45,
+ 50, 52, 128, 68, 79, 84, 83, 45, 50, 51, 56, 128, 68, 79, 84, 83, 45, 50,
+ 51, 55, 56, 128, 68, 79, 84, 83, 45, 50, 51, 55, 128, 68, 79, 84, 83, 45,
+ 50, 51, 54, 56, 128, 68, 79, 84, 83, 45, 50, 51, 54, 55, 56, 128, 68, 79,
+ 84, 83, 45, 50, 51, 54, 55, 128, 68, 79, 84, 83, 45, 50, 51, 54, 128, 68,
+ 79, 84, 83, 45, 50, 51, 53, 56, 128, 68, 79, 84, 83, 45, 50, 51, 53, 55,
+ 56, 128, 68, 79, 84, 83, 45, 50, 51, 53, 55, 128, 68, 79, 84, 83, 45, 50,
+ 51, 53, 54, 56, 128, 68, 79, 84, 83, 45, 50, 51, 53, 54, 55, 56, 128, 68,
+ 79, 84, 83, 45, 50, 51, 53, 54, 55, 128, 68, 79, 84, 83, 45, 50, 51, 53,
+ 54, 128, 68, 79, 84, 83, 45, 50, 51, 53, 128, 68, 79, 84, 83, 45, 50, 51,
+ 52, 56, 128, 68, 79, 84, 83, 45, 50, 51, 52, 55, 56, 128, 68, 79, 84, 83,
+ 45, 50, 51, 52, 55, 128, 68, 79, 84, 83, 45, 50, 51, 52, 54, 56, 128, 68,
+ 79, 84, 83, 45, 50, 51, 52, 54, 55, 56, 128, 68, 79, 84, 83, 45, 50, 51,
+ 52, 54, 55, 128, 68, 79, 84, 83, 45, 50, 51, 52, 54, 128, 68, 79, 84, 83,
+ 45, 50, 51, 52, 53, 56, 128, 68, 79, 84, 83, 45, 50, 51, 52, 53, 55, 56,
+ 128, 68, 79, 84, 83, 45, 50, 51, 52, 53, 55, 128, 68, 79, 84, 83, 45, 50,
+ 51, 52, 53, 54, 56, 128, 68, 79, 84, 83, 45, 50, 51, 52, 53, 54, 55, 56,
+ 128, 68, 79, 84, 83, 45, 50, 51, 52, 53, 54, 55, 128, 68, 79, 84, 83, 45,
+ 50, 51, 52, 53, 54, 128, 68, 79, 84, 83, 45, 50, 51, 52, 53, 128, 68, 79,
+ 84, 83, 45, 50, 51, 52, 128, 68, 79, 84, 83, 45, 50, 51, 128, 68, 79, 84,
+ 83, 45, 50, 128, 68, 79, 84, 83, 45, 49, 56, 128, 68, 79, 84, 83, 45, 49,
+ 55, 56, 128, 68, 79, 84, 83, 45, 49, 55, 128, 68, 79, 84, 83, 45, 49, 54,
+ 56, 128, 68, 79, 84, 83, 45, 49, 54, 55, 56, 128, 68, 79, 84, 83, 45, 49,
+ 54, 55, 128, 68, 79, 84, 83, 45, 49, 54, 128, 68, 79, 84, 83, 45, 49, 53,
+ 56, 128, 68, 79, 84, 83, 45, 49, 53, 55, 56, 128, 68, 79, 84, 83, 45, 49,
+ 53, 55, 128, 68, 79, 84, 83, 45, 49, 53, 54, 56, 128, 68, 79, 84, 83, 45,
+ 49, 53, 54, 55, 56, 128, 68, 79, 84, 83, 45, 49, 53, 54, 55, 128, 68, 79,
+ 84, 83, 45, 49, 53, 54, 128, 68, 79, 84, 83, 45, 49, 53, 128, 68, 79, 84,
+ 83, 45, 49, 52, 56, 128, 68, 79, 84, 83, 45, 49, 52, 55, 56, 128, 68, 79,
+ 84, 83, 45, 49, 52, 55, 128, 68, 79, 84, 83, 45, 49, 52, 54, 56, 128, 68,
+ 79, 84, 83, 45, 49, 52, 54, 55, 56, 128, 68, 79, 84, 83, 45, 49, 52, 54,
+ 55, 128, 68, 79, 84, 83, 45, 49, 52, 54, 128, 68, 79, 84, 83, 45, 49, 52,
+ 53, 56, 128, 68, 79, 84, 83, 45, 49, 52, 53, 55, 56, 128, 68, 79, 84, 83,
+ 45, 49, 52, 53, 55, 128, 68, 79, 84, 83, 45, 49, 52, 53, 54, 56, 128, 68,
+ 79, 84, 83, 45, 49, 52, 53, 54, 55, 56, 128, 68, 79, 84, 83, 45, 49, 52,
+ 53, 54, 55, 128, 68, 79, 84, 83, 45, 49, 52, 53, 54, 128, 68, 79, 84, 83,
+ 45, 49, 52, 53, 128, 68, 79, 84, 83, 45, 49, 52, 128, 68, 79, 84, 83, 45,
+ 49, 51, 56, 128, 68, 79, 84, 83, 45, 49, 51, 55, 56, 128, 68, 79, 84, 83,
+ 45, 49, 51, 55, 128, 68, 79, 84, 83, 45, 49, 51, 54, 56, 128, 68, 79, 84,
+ 83, 45, 49, 51, 54, 55, 56, 128, 68, 79, 84, 83, 45, 49, 51, 54, 55, 128,
+ 68, 79, 84, 83, 45, 49, 51, 54, 128, 68, 79, 84, 83, 45, 49, 51, 53, 56,
+ 128, 68, 79, 84, 83, 45, 49, 51, 53, 55, 56, 128, 68, 79, 84, 83, 45, 49,
+ 51, 53, 55, 128, 68, 79, 84, 83, 45, 49, 51, 53, 54, 56, 128, 68, 79, 84,
+ 83, 45, 49, 51, 53, 54, 55, 56, 128, 68, 79, 84, 83, 45, 49, 51, 53, 54,
+ 55, 128, 68, 79, 84, 83, 45, 49, 51, 53, 54, 128, 68, 79, 84, 83, 45, 49,
+ 51, 53, 128, 68, 79, 84, 83, 45, 49, 51, 52, 56, 128, 68, 79, 84, 83, 45,
+ 49, 51, 52, 55, 56, 128, 68, 79, 84, 83, 45, 49, 51, 52, 55, 128, 68, 79,
+ 84, 83, 45, 49, 51, 52, 54, 56, 128, 68, 79, 84, 83, 45, 49, 51, 52, 54,
+ 55, 56, 128, 68, 79, 84, 83, 45, 49, 51, 52, 54, 55, 128, 68, 79, 84, 83,
+ 45, 49, 51, 52, 54, 128, 68, 79, 84, 83, 45, 49, 51, 52, 53, 56, 128, 68,
+ 79, 84, 83, 45, 49, 51, 52, 53, 55, 56, 128, 68, 79, 84, 83, 45, 49, 51,
+ 52, 53, 55, 128, 68, 79, 84, 83, 45, 49, 51, 52, 53, 54, 56, 128, 68, 79,
+ 84, 83, 45, 49, 51, 52, 53, 54, 55, 56, 128, 68, 79, 84, 83, 45, 49, 51,
+ 52, 53, 54, 55, 128, 68, 79, 84, 83, 45, 49, 51, 52, 53, 54, 128, 68, 79,
+ 84, 83, 45, 49, 51, 52, 53, 128, 68, 79, 84, 83, 45, 49, 51, 52, 128, 68,
+ 79, 84, 83, 45, 49, 51, 128, 68, 79, 84, 83, 45, 49, 50, 56, 128, 68, 79,
+ 84, 83, 45, 49, 50, 55, 56, 128, 68, 79, 84, 83, 45, 49, 50, 55, 128, 68,
+ 79, 84, 83, 45, 49, 50, 54, 56, 128, 68, 79, 84, 83, 45, 49, 50, 54, 55,
+ 56, 128, 68, 79, 84, 83, 45, 49, 50, 54, 55, 128, 68, 79, 84, 83, 45, 49,
+ 50, 54, 128, 68, 79, 84, 83, 45, 49, 50, 53, 56, 128, 68, 79, 84, 83, 45,
+ 49, 50, 53, 55, 56, 128, 68, 79, 84, 83, 45, 49, 50, 53, 55, 128, 68, 79,
+ 84, 83, 45, 49, 50, 53, 54, 56, 128, 68, 79, 84, 83, 45, 49, 50, 53, 54,
+ 55, 56, 128, 68, 79, 84, 83, 45, 49, 50, 53, 54, 55, 128, 68, 79, 84, 83,
+ 45, 49, 50, 53, 54, 128, 68, 79, 84, 83, 45, 49, 50, 53, 128, 68, 79, 84,
+ 83, 45, 49, 50, 52, 56, 128, 68, 79, 84, 83, 45, 49, 50, 52, 55, 56, 128,
+ 68, 79, 84, 83, 45, 49, 50, 52, 55, 128, 68, 79, 84, 83, 45, 49, 50, 52,
+ 54, 56, 128, 68, 79, 84, 83, 45, 49, 50, 52, 54, 55, 56, 128, 68, 79, 84,
+ 83, 45, 49, 50, 52, 54, 55, 128, 68, 79, 84, 83, 45, 49, 50, 52, 54, 128,
+ 68, 79, 84, 83, 45, 49, 50, 52, 53, 56, 128, 68, 79, 84, 83, 45, 49, 50,
+ 52, 53, 55, 56, 128, 68, 79, 84, 83, 45, 49, 50, 52, 53, 55, 128, 68, 79,
+ 84, 83, 45, 49, 50, 52, 53, 54, 56, 128, 68, 79, 84, 83, 45, 49, 50, 52,
+ 53, 54, 55, 56, 128, 68, 79, 84, 83, 45, 49, 50, 52, 53, 54, 55, 128, 68,
+ 79, 84, 83, 45, 49, 50, 52, 53, 54, 128, 68, 79, 84, 83, 45, 49, 50, 52,
+ 53, 128, 68, 79, 84, 83, 45, 49, 50, 52, 128, 68, 79, 84, 83, 45, 49, 50,
+ 51, 56, 128, 68, 79, 84, 83, 45, 49, 50, 51, 55, 56, 128, 68, 79, 84, 83,
+ 45, 49, 50, 51, 55, 128, 68, 79, 84, 83, 45, 49, 50, 51, 54, 56, 128, 68,
+ 79, 84, 83, 45, 49, 50, 51, 54, 55, 56, 128, 68, 79, 84, 83, 45, 49, 50,
+ 51, 54, 55, 128, 68, 79, 84, 83, 45, 49, 50, 51, 54, 128, 68, 79, 84, 83,
+ 45, 49, 50, 51, 53, 56, 128, 68, 79, 84, 83, 45, 49, 50, 51, 53, 55, 56,
+ 128, 68, 79, 84, 83, 45, 49, 50, 51, 53, 55, 128, 68, 79, 84, 83, 45, 49,
+ 50, 51, 53, 54, 56, 128, 68, 79, 84, 83, 45, 49, 50, 51, 53, 54, 55, 56,
+ 128, 68, 79, 84, 83, 45, 49, 50, 51, 53, 54, 55, 128, 68, 79, 84, 83, 45,
+ 49, 50, 51, 53, 54, 128, 68, 79, 84, 83, 45, 49, 50, 51, 53, 128, 68, 79,
+ 84, 83, 45, 49, 50, 51, 52, 56, 128, 68, 79, 84, 83, 45, 49, 50, 51, 52,
+ 55, 56, 128, 68, 79, 84, 83, 45, 49, 50, 51, 52, 55, 128, 68, 79, 84, 83,
+ 45, 49, 50, 51, 52, 54, 56, 128, 68, 79, 84, 83, 45, 49, 50, 51, 52, 54,
+ 55, 56, 128, 68, 79, 84, 83, 45, 49, 50, 51, 52, 54, 55, 128, 68, 79, 84,
+ 83, 45, 49, 50, 51, 52, 54, 128, 68, 79, 84, 83, 45, 49, 50, 51, 52, 53,
+ 56, 128, 68, 79, 84, 83, 45, 49, 50, 51, 52, 53, 55, 56, 128, 68, 79, 84,
+ 83, 45, 49, 50, 51, 52, 53, 55, 128, 68, 79, 84, 83, 45, 49, 50, 51, 52,
+ 53, 54, 56, 128, 68, 79, 84, 83, 45, 49, 50, 51, 52, 53, 54, 55, 56, 128,
+ 68, 79, 84, 83, 45, 49, 50, 51, 52, 53, 54, 55, 128, 68, 79, 84, 83, 45,
+ 49, 50, 51, 52, 53, 54, 128, 68, 79, 84, 83, 45, 49, 50, 51, 52, 53, 128,
+ 68, 79, 84, 83, 45, 49, 50, 51, 52, 128, 68, 79, 84, 83, 45, 49, 50, 51,
+ 128, 68, 79, 84, 83, 45, 49, 50, 128, 68, 79, 84, 83, 45, 49, 128, 68,
+ 79, 84, 83, 128, 68, 79, 84, 76, 69, 83, 211, 68, 79, 82, 85, 128, 68,
+ 79, 79, 82, 128, 68, 79, 79, 78, 71, 128, 68, 79, 78, 71, 128, 68, 79,
+ 77, 65, 73, 206, 68, 79, 76, 80, 72, 73, 78, 128, 68, 79, 76, 76, 83,
+ 128, 68, 79, 76, 76, 65, 210, 68, 79, 76, 73, 85, 77, 128, 68, 79, 75,
+ 77, 65, 73, 128, 68, 79, 73, 84, 128, 68, 79, 71, 128, 68, 79, 199, 68,
+ 79, 69, 211, 68, 79, 68, 69, 75, 65, 84, 65, 128, 68, 79, 66, 82, 79,
+ 128, 68, 79, 65, 67, 72, 65, 83, 72, 77, 69, 69, 128, 68, 79, 65, 67, 72,
+ 65, 83, 72, 77, 69, 197, 68, 79, 65, 128, 68, 79, 45, 79, 128, 68, 77,
+ 128, 68, 205, 68, 76, 85, 128, 68, 76, 79, 128, 68, 76, 73, 128, 68, 76,
+ 69, 69, 128, 68, 76, 65, 128, 68, 76, 128, 68, 75, 65, 82, 128, 68, 75,
+ 65, 210, 68, 74, 69, 82, 86, 73, 128, 68, 74, 69, 82, 86, 128, 68, 74,
+ 69, 128, 68, 74, 65, 128, 68, 74, 128, 68, 73, 90, 90, 217, 68, 73, 86,
+ 79, 82, 67, 197, 68, 73, 86, 73, 83, 73, 79, 78, 128, 68, 73, 86, 73, 83,
+ 73, 79, 206, 68, 73, 86, 73, 78, 65, 84, 73, 79, 78, 128, 68, 73, 86, 73,
+ 68, 69, 83, 128, 68, 73, 86, 73, 68, 69, 82, 128, 68, 73, 86, 73, 68, 69,
+ 196, 68, 73, 86, 73, 68, 69, 128, 68, 73, 86, 73, 68, 197, 68, 73, 86,
+ 69, 82, 71, 69, 78, 67, 69, 128, 68, 73, 84, 84, 207, 68, 73, 83, 84, 79,
+ 82, 84, 73, 79, 78, 128, 68, 73, 83, 84, 73, 78, 71, 85, 73, 83, 72, 128,
+ 68, 73, 83, 84, 73, 76, 76, 128, 68, 73, 83, 83, 79, 76, 86, 69, 45, 50,
+ 128, 68, 73, 83, 83, 79, 76, 86, 69, 128, 68, 73, 83, 80, 69, 82, 83, 73,
+ 79, 78, 128, 68, 73, 83, 75, 128, 68, 73, 83, 73, 77, 79, 85, 128, 68,
+ 73, 83, 72, 128, 68, 73, 83, 67, 79, 78, 84, 73, 78, 85, 79, 85, 211, 68,
+ 73, 83, 195, 68, 73, 83, 65, 80, 80, 79, 73, 78, 84, 69, 196, 68, 73, 83,
+ 65, 66, 76, 69, 196, 68, 73, 82, 71, 193, 68, 73, 82, 69, 67, 84, 76,
+ 217, 68, 73, 82, 69, 67, 84, 73, 79, 78, 65, 204, 68, 73, 80, 84, 69,
+ 128, 68, 73, 80, 80, 69, 82, 128, 68, 73, 80, 76, 79, 85, 78, 128, 68,
+ 73, 80, 76, 73, 128, 68, 73, 80, 76, 201, 68, 73, 78, 71, 66, 65, 212,
+ 68, 73, 206, 68, 73, 77, 77, 73, 78, 71, 128, 68, 73, 77, 73, 78, 85, 84,
+ 73, 79, 78, 45, 51, 128, 68, 73, 77, 73, 78, 85, 84, 73, 79, 78, 45, 50,
+ 128, 68, 73, 77, 73, 78, 85, 84, 73, 79, 78, 45, 49, 128, 68, 73, 77, 73,
+ 78, 73, 83, 72, 77, 69, 78, 84, 128, 68, 73, 77, 73, 68, 73, 193, 68, 73,
+ 77, 69, 78, 83, 73, 79, 78, 65, 204, 68, 73, 77, 69, 78, 83, 73, 79, 206,
+ 68, 73, 77, 50, 128, 68, 73, 76, 128, 68, 73, 71, 82, 65, 80, 72, 128,
+ 68, 73, 71, 82, 65, 80, 200, 68, 73, 71, 82, 65, 77, 77, 79, 211, 68, 73,
+ 71, 82, 65, 77, 77, 193, 68, 73, 71, 82, 65, 205, 68, 73, 71, 79, 82, 71,
+ 79, 78, 128, 68, 73, 71, 79, 82, 71, 79, 206, 68, 73, 71, 65, 77, 77, 65,
+ 128, 68, 73, 71, 193, 68, 73, 70, 84, 79, 71, 71, 79, 211, 68, 73, 70,
+ 79, 78, 73, 65, 83, 128, 68, 73, 70, 70, 73, 67, 85, 76, 84, 217, 68, 73,
+ 70, 70, 73, 67, 85, 76, 84, 73, 69, 83, 128, 68, 73, 70, 70, 69, 82, 69,
+ 78, 84, 73, 65, 76, 128, 68, 73, 70, 70, 69, 82, 69, 78, 67, 197, 68, 73,
+ 70, 65, 84, 128, 68, 73, 69, 83, 73, 83, 128, 68, 73, 69, 83, 73, 211,
+ 68, 73, 69, 80, 128, 68, 73, 197, 68, 73, 66, 128, 68, 73, 65, 84, 79,
+ 78, 79, 206, 68, 73, 65, 84, 79, 78, 73, 75, 201, 68, 73, 65, 83, 84, 79,
+ 76, 201, 68, 73, 65, 77, 79, 78, 68, 83, 128, 68, 73, 65, 77, 79, 78, 68,
+ 128, 68, 73, 65, 77, 79, 78, 196, 68, 73, 65, 77, 69, 84, 69, 210, 68,
+ 73, 65, 76, 89, 84, 73, 75, 65, 128, 68, 73, 65, 76, 89, 84, 73, 75, 193,
+ 68, 73, 65, 76, 69, 67, 84, 45, 208, 68, 73, 65, 71, 79, 78, 65, 76, 128,
+ 68, 73, 65, 71, 79, 78, 65, 204, 68, 73, 65, 69, 82, 69, 83, 73, 90, 69,
+ 196, 68, 73, 65, 69, 82, 69, 83, 73, 83, 128, 68, 73, 65, 69, 82, 69, 83,
+ 73, 211, 68, 72, 79, 85, 128, 68, 72, 79, 79, 128, 68, 72, 79, 128, 68,
+ 72, 73, 128, 68, 72, 72, 85, 128, 68, 72, 72, 79, 79, 128, 68, 72, 72,
+ 79, 128, 68, 72, 72, 73, 128, 68, 72, 72, 69, 69, 128, 68, 72, 72, 69,
+ 128, 68, 72, 72, 65, 128, 68, 72, 69, 69, 128, 68, 72, 65, 82, 77, 65,
+ 128, 68, 72, 65, 76, 69, 84, 72, 128, 68, 72, 65, 76, 65, 84, 72, 128,
+ 68, 72, 65, 76, 128, 68, 72, 65, 68, 72, 69, 128, 68, 72, 65, 65, 76, 85,
+ 128, 68, 72, 65, 128, 68, 69, 90, 200, 68, 69, 89, 84, 69, 82, 79, 213,
+ 68, 69, 89, 84, 69, 82, 79, 211, 68, 69, 88, 73, 65, 128, 68, 69, 86, 73,
+ 67, 197, 68, 69, 86, 69, 76, 79, 80, 77, 69, 78, 84, 128, 68, 69, 85, 78,
+ 71, 128, 68, 69, 83, 203, 68, 69, 83, 73, 71, 78, 128, 68, 69, 83, 73,
+ 128, 68, 69, 83, 67, 82, 73, 80, 84, 73, 79, 206, 68, 69, 83, 67, 69, 78,
+ 68, 73, 78, 199, 68, 69, 83, 67, 69, 78, 68, 69, 82, 128, 68, 69, 82, 69,
+ 84, 45, 72, 73, 68, 69, 84, 128, 68, 69, 82, 69, 84, 128, 68, 69, 80, 65,
+ 82, 84, 85, 82, 69, 128, 68, 69, 80, 65, 82, 84, 77, 69, 78, 212, 68, 69,
+ 80, 65, 82, 84, 73, 78, 199, 68, 69, 78, 84, 73, 83, 84, 82, 217, 68, 69,
+ 78, 84, 65, 204, 68, 69, 78, 79, 77, 73, 78, 65, 84, 79, 82, 128, 68, 69,
+ 78, 79, 77, 73, 78, 65, 84, 79, 210, 68, 69, 78, 78, 69, 78, 128, 68, 69,
+ 78, 71, 128, 68, 69, 78, 197, 68, 69, 78, 65, 82, 73, 85, 211, 68, 69,
+ 76, 84, 65, 128, 68, 69, 76, 84, 193, 68, 69, 76, 84, 128, 68, 69, 76,
+ 80, 72, 73, 195, 68, 69, 76, 73, 86, 69, 82, 217, 68, 69, 76, 73, 86, 69,
+ 82, 65, 78, 67, 69, 128, 68, 69, 76, 73, 77, 73, 84, 69, 82, 128, 68, 69,
+ 76, 73, 77, 73, 84, 69, 210, 68, 69, 76, 73, 67, 73, 79, 85, 211, 68, 69,
+ 76, 69, 84, 69, 128, 68, 69, 76, 69, 84, 197, 68, 69, 75, 65, 128, 68,
+ 69, 75, 128, 68, 69, 73, 128, 68, 69, 72, 73, 128, 68, 69, 71, 82, 69,
+ 197, 68, 69, 70, 73, 78, 73, 84, 73, 79, 78, 128, 68, 69, 70, 69, 67, 84,
+ 73, 86, 69, 78, 69, 83, 211, 68, 69, 69, 82, 128, 68, 69, 69, 80, 76, 89,
+ 128, 68, 69, 69, 76, 128, 68, 69, 67, 82, 69, 83, 67, 69, 78, 68, 79,
+ 128, 68, 69, 67, 82, 69, 65, 83, 69, 128, 68, 69, 67, 79, 82, 65, 84, 73,
+ 86, 197, 68, 69, 67, 79, 82, 65, 84, 73, 79, 78, 128, 68, 69, 67, 73, 83,
+ 73, 86, 69, 78, 69, 83, 83, 128, 68, 69, 67, 73, 77, 65, 204, 68, 69, 67,
+ 73, 68, 85, 79, 85, 211, 68, 69, 67, 69, 77, 66, 69, 82, 128, 68, 69, 67,
+ 65, 89, 69, 68, 128, 68, 69, 66, 73, 212, 68, 69, 65, 84, 72, 128, 68,
+ 69, 65, 68, 128, 68, 68, 87, 65, 128, 68, 68, 85, 88, 128, 68, 68, 85,
+ 84, 128, 68, 68, 85, 82, 88, 128, 68, 68, 85, 82, 128, 68, 68, 85, 80,
+ 128, 68, 68, 85, 79, 88, 128, 68, 68, 85, 79, 80, 128, 68, 68, 85, 79,
+ 128, 68, 68, 85, 128, 68, 68, 79, 88, 128, 68, 68, 79, 84, 128, 68, 68,
+ 79, 80, 128, 68, 68, 79, 65, 128, 68, 68, 73, 88, 128, 68, 68, 73, 84,
+ 128, 68, 68, 73, 80, 128, 68, 68, 73, 69, 88, 128, 68, 68, 73, 69, 80,
+ 128, 68, 68, 73, 69, 128, 68, 68, 73, 128, 68, 68, 72, 85, 128, 68, 68,
+ 72, 79, 128, 68, 68, 72, 73, 128, 68, 68, 72, 69, 69, 128, 68, 68, 72,
+ 69, 128, 68, 68, 72, 65, 65, 128, 68, 68, 72, 65, 128, 68, 68, 69, 88,
+ 128, 68, 68, 69, 80, 128, 68, 68, 69, 69, 128, 68, 68, 69, 128, 68, 68,
+ 68, 72, 65, 128, 68, 68, 68, 65, 128, 68, 68, 65, 89, 65, 78, 78, 65,
+ 128, 68, 68, 65, 88, 128, 68, 68, 65, 84, 128, 68, 68, 65, 80, 128, 68,
+ 68, 65, 76, 128, 68, 68, 65, 204, 68, 68, 65, 72, 65, 76, 128, 68, 68,
+ 65, 72, 65, 204, 68, 68, 65, 65, 128, 68, 194, 68, 65, 89, 45, 78, 73,
+ 71, 72, 84, 128, 68, 65, 217, 68, 65, 86, 73, 89, 65, 78, 73, 128, 68,
+ 65, 86, 73, 68, 128, 68, 65, 84, 197, 68, 65, 83, 73, 65, 128, 68, 65,
+ 83, 73, 193, 68, 65, 83, 72, 69, 196, 68, 65, 83, 72, 128, 68, 65, 83,
+ 200, 68, 65, 83, 69, 73, 65, 128, 68, 65, 82, 84, 128, 68, 65, 82, 75,
+ 69, 78, 73, 78, 71, 128, 68, 65, 82, 75, 69, 78, 73, 78, 199, 68, 65, 82,
+ 203, 68, 65, 82, 71, 65, 128, 68, 65, 82, 65, 52, 128, 68, 65, 82, 65,
+ 51, 128, 68, 65, 82, 128, 68, 65, 80, 45, 80, 82, 65, 205, 68, 65, 80,
+ 45, 80, 73, 201, 68, 65, 80, 45, 77, 85, 79, 217, 68, 65, 80, 45, 66, 85,
+ 79, 206, 68, 65, 80, 45, 66, 69, 201, 68, 65, 208, 68, 65, 78, 84, 65,
+ 74, 193, 68, 65, 78, 71, 79, 128, 68, 65, 78, 71, 128, 68, 65, 78, 199,
+ 68, 65, 78, 68, 65, 128, 68, 65, 78, 67, 69, 82, 128, 68, 65, 77, 80,
+ 128, 68, 65, 77, 208, 68, 65, 77, 77, 65, 84, 65, 78, 128, 68, 65, 77,
+ 77, 65, 84, 65, 206, 68, 65, 77, 77, 65, 128, 68, 65, 77, 77, 193, 68,
+ 65, 77, 65, 82, 85, 128, 68, 65, 76, 69, 84, 72, 128, 68, 65, 76, 69, 84,
+ 128, 68, 65, 76, 69, 212, 68, 65, 76, 68, 65, 128, 68, 65, 76, 65, 84,
+ 72, 128, 68, 65, 76, 65, 84, 200, 68, 65, 76, 65, 84, 128, 68, 65, 73,
+ 82, 128, 68, 65, 73, 78, 71, 128, 68, 65, 72, 89, 65, 65, 85, 83, 72, 45,
+ 50, 128, 68, 65, 72, 89, 65, 65, 85, 83, 72, 128, 68, 65, 71, 83, 128,
+ 68, 65, 71, 71, 69, 82, 128, 68, 65, 71, 69, 83, 72, 128, 68, 65, 71, 69,
+ 83, 200, 68, 65, 71, 66, 65, 83, 73, 78, 78, 65, 128, 68, 65, 71, 65,
+ 218, 68, 65, 71, 65, 76, 71, 65, 128, 68, 65, 199, 68, 65, 69, 78, 71,
+ 128, 68, 65, 69, 199, 68, 65, 68, 128, 68, 65, 196, 68, 65, 65, 83, 85,
+ 128, 68, 65, 65, 68, 72, 85, 128, 68, 48, 54, 55, 72, 128, 68, 48, 54,
+ 55, 71, 128, 68, 48, 54, 55, 70, 128, 68, 48, 54, 55, 69, 128, 68, 48,
+ 54, 55, 68, 128, 68, 48, 54, 55, 67, 128, 68, 48, 54, 55, 66, 128, 68,
+ 48, 54, 55, 65, 128, 68, 48, 54, 55, 128, 68, 48, 54, 54, 128, 68, 48,
+ 54, 53, 128, 68, 48, 54, 52, 128, 68, 48, 54, 51, 128, 68, 48, 54, 50,
+ 128, 68, 48, 54, 49, 128, 68, 48, 54, 48, 128, 68, 48, 53, 57, 128, 68,
+ 48, 53, 56, 128, 68, 48, 53, 55, 128, 68, 48, 53, 54, 128, 68, 48, 53,
+ 53, 128, 68, 48, 53, 52, 65, 128, 68, 48, 53, 52, 128, 68, 48, 53, 51,
+ 128, 68, 48, 53, 50, 65, 128, 68, 48, 53, 50, 128, 68, 48, 53, 49, 128,
+ 68, 48, 53, 48, 73, 128, 68, 48, 53, 48, 72, 128, 68, 48, 53, 48, 71,
+ 128, 68, 48, 53, 48, 70, 128, 68, 48, 53, 48, 69, 128, 68, 48, 53, 48,
+ 68, 128, 68, 48, 53, 48, 67, 128, 68, 48, 53, 48, 66, 128, 68, 48, 53,
+ 48, 65, 128, 68, 48, 53, 48, 128, 68, 48, 52, 57, 128, 68, 48, 52, 56,
+ 65, 128, 68, 48, 52, 56, 128, 68, 48, 52, 55, 128, 68, 48, 52, 54, 65,
+ 128, 68, 48, 52, 54, 128, 68, 48, 52, 53, 128, 68, 48, 52, 52, 128, 68,
+ 48, 52, 51, 128, 68, 48, 52, 50, 128, 68, 48, 52, 49, 128, 68, 48, 52,
+ 48, 128, 68, 48, 51, 57, 128, 68, 48, 51, 56, 128, 68, 48, 51, 55, 128,
+ 68, 48, 51, 54, 128, 68, 48, 51, 53, 128, 68, 48, 51, 52, 65, 128, 68,
+ 48, 51, 52, 128, 68, 48, 51, 51, 128, 68, 48, 51, 50, 128, 68, 48, 51,
+ 49, 65, 128, 68, 48, 51, 49, 128, 68, 48, 51, 48, 128, 68, 48, 50, 57,
+ 128, 68, 48, 50, 56, 128, 68, 48, 50, 55, 65, 128, 68, 48, 50, 55, 128,
+ 68, 48, 50, 54, 128, 68, 48, 50, 53, 128, 68, 48, 50, 52, 128, 68, 48,
+ 50, 51, 128, 68, 48, 50, 50, 128, 68, 48, 50, 49, 128, 68, 48, 50, 48,
+ 128, 68, 48, 49, 57, 128, 68, 48, 49, 56, 128, 68, 48, 49, 55, 128, 68,
+ 48, 49, 54, 128, 68, 48, 49, 53, 128, 68, 48, 49, 52, 128, 68, 48, 49,
+ 51, 128, 68, 48, 49, 50, 128, 68, 48, 49, 49, 128, 68, 48, 49, 48, 128,
+ 68, 48, 48, 57, 128, 68, 48, 48, 56, 65, 128, 68, 48, 48, 56, 128, 68,
+ 48, 48, 55, 128, 68, 48, 48, 54, 128, 68, 48, 48, 53, 128, 68, 48, 48,
+ 52, 128, 68, 48, 48, 51, 128, 68, 48, 48, 50, 128, 68, 48, 48, 49, 128,
+ 67, 89, 88, 128, 67, 89, 84, 128, 67, 89, 82, 88, 128, 67, 89, 82, 69,
+ 78, 65, 73, 195, 67, 89, 82, 128, 67, 89, 80, 82, 73, 79, 212, 67, 89,
+ 80, 69, 82, 85, 83, 128, 67, 89, 80, 128, 67, 89, 76, 73, 78, 68, 82, 73,
+ 67, 73, 84, 89, 128, 67, 89, 67, 76, 79, 78, 69, 128, 67, 89, 65, 128,
+ 67, 89, 128, 67, 87, 79, 79, 128, 67, 87, 79, 128, 67, 87, 73, 73, 128,
+ 67, 87, 73, 128, 67, 87, 69, 79, 82, 84, 72, 128, 67, 87, 69, 128, 67,
+ 87, 65, 65, 128, 67, 85, 88, 128, 67, 85, 85, 128, 67, 85, 212, 67, 85,
+ 83, 84, 79, 77, 83, 128, 67, 85, 83, 84, 79, 77, 69, 210, 67, 85, 83, 84,
+ 65, 82, 68, 128, 67, 85, 82, 88, 128, 67, 85, 82, 86, 73, 78, 199, 67,
+ 85, 82, 86, 69, 196, 67, 85, 82, 86, 69, 128, 67, 85, 82, 86, 197, 67,
+ 85, 82, 82, 217, 67, 85, 82, 82, 69, 78, 84, 128, 67, 85, 82, 82, 69, 78,
+ 212, 67, 85, 82, 76, 217, 67, 85, 82, 76, 128, 67, 85, 82, 128, 67, 85,
+ 80, 128, 67, 85, 79, 88, 128, 67, 85, 79, 80, 128, 67, 85, 79, 128, 67,
+ 85, 205, 67, 85, 66, 69, 68, 128, 67, 85, 66, 197, 67, 85, 65, 84, 82,
+ 73, 76, 76, 79, 128, 67, 85, 65, 84, 82, 73, 76, 76, 207, 67, 85, 128,
+ 67, 82, 89, 83, 84, 65, 204, 67, 82, 89, 80, 84, 79, 71, 82, 65, 77, 77,
+ 73, 195, 67, 82, 89, 73, 78, 199, 67, 82, 85, 90, 69, 73, 82, 207, 67,
+ 82, 85, 67, 73, 66, 76, 69, 45, 53, 128, 67, 82, 85, 67, 73, 66, 76, 69,
+ 45, 52, 128, 67, 82, 85, 67, 73, 66, 76, 69, 45, 51, 128, 67, 82, 85, 67,
+ 73, 66, 76, 69, 45, 50, 128, 67, 82, 85, 67, 73, 66, 76, 69, 128, 67, 82,
+ 79, 87, 78, 128, 67, 82, 79, 83, 83, 73, 78, 71, 128, 67, 82, 79, 83, 83,
+ 73, 78, 199, 67, 82, 79, 83, 83, 72, 65, 84, 67, 200, 67, 82, 79, 83, 83,
+ 69, 68, 45, 84, 65, 73, 76, 128, 67, 82, 79, 83, 83, 69, 196, 67, 82, 79,
+ 83, 83, 66, 79, 78, 69, 83, 128, 67, 82, 79, 83, 83, 128, 67, 82, 79, 83,
+ 211, 67, 82, 79, 80, 128, 67, 82, 79, 73, 88, 128, 67, 82, 79, 67, 85,
+ 211, 67, 82, 79, 67, 79, 68, 73, 76, 69, 128, 67, 82, 69, 83, 67, 69, 78,
+ 84, 128, 67, 82, 69, 83, 67, 69, 78, 212, 67, 82, 69, 68, 73, 212, 67,
+ 82, 69, 65, 84, 73, 86, 197, 67, 82, 69, 65, 77, 128, 67, 82, 65, 67, 75,
+ 69, 82, 128, 67, 79, 88, 128, 67, 79, 87, 128, 67, 79, 215, 67, 79, 86,
+ 69, 82, 128, 67, 79, 85, 80, 76, 197, 67, 79, 85, 78, 84, 73, 78, 199,
+ 67, 79, 85, 78, 84, 69, 82, 83, 73, 78, 75, 128, 67, 79, 85, 78, 84, 69,
+ 82, 66, 79, 82, 69, 128, 67, 79, 85, 78, 67, 73, 204, 67, 79, 84, 128,
+ 67, 79, 82, 82, 69, 83, 80, 79, 78, 68, 211, 67, 79, 82, 82, 69, 67, 84,
+ 128, 67, 79, 82, 80, 83, 69, 128, 67, 79, 82, 80, 79, 82, 65, 84, 73, 79,
+ 78, 128, 67, 79, 82, 79, 78, 73, 83, 128, 67, 79, 82, 78, 69, 82, 83,
+ 128, 67, 79, 82, 78, 69, 82, 128, 67, 79, 82, 78, 69, 210, 67, 79, 80,
+ 89, 82, 73, 71, 72, 84, 128, 67, 79, 80, 89, 82, 73, 71, 72, 212, 67, 79,
+ 80, 89, 128, 67, 79, 80, 82, 79, 68, 85, 67, 84, 128, 67, 79, 80, 80, 69,
+ 82, 45, 50, 128, 67, 79, 80, 80, 69, 82, 128, 67, 79, 80, 128, 67, 79,
+ 79, 76, 128, 67, 79, 79, 75, 73, 78, 71, 128, 67, 79, 79, 75, 73, 69,
+ 128, 67, 79, 79, 75, 69, 196, 67, 79, 79, 128, 67, 79, 78, 86, 69, 82,
+ 71, 73, 78, 199, 67, 79, 78, 86, 69, 78, 73, 69, 78, 67, 197, 67, 79, 78,
+ 84, 82, 79, 76, 128, 67, 79, 78, 84, 82, 79, 204, 67, 79, 78, 84, 82, 65,
+ 82, 73, 69, 84, 89, 128, 67, 79, 78, 84, 82, 65, 67, 84, 73, 79, 78, 128,
+ 67, 79, 78, 84, 79, 85, 82, 69, 196, 67, 79, 78, 84, 79, 85, 210, 67, 79,
+ 78, 84, 69, 78, 84, 73, 79, 78, 128, 67, 79, 78, 84, 69, 77, 80, 76, 65,
+ 84, 73, 79, 78, 128, 67, 79, 78, 84, 65, 73, 78, 211, 67, 79, 78, 84, 65,
+ 73, 78, 73, 78, 199, 67, 79, 78, 84, 65, 73, 206, 67, 79, 78, 84, 65, 67,
+ 84, 128, 67, 79, 78, 83, 84, 82, 85, 67, 84, 73, 79, 206, 67, 79, 78, 83,
+ 84, 65, 78, 84, 128, 67, 79, 78, 83, 84, 65, 78, 212, 67, 79, 78, 83, 84,
+ 65, 78, 67, 89, 128, 67, 79, 78, 83, 69, 67, 85, 84, 73, 86, 197, 67, 79,
+ 78, 74, 85, 78, 67, 84, 73, 79, 78, 128, 67, 79, 78, 74, 85, 71, 65, 84,
+ 197, 67, 79, 78, 74, 79, 73, 78, 73, 78, 199, 67, 79, 78, 73, 67, 65,
+ 204, 67, 79, 78, 71, 82, 85, 69, 78, 212, 67, 79, 78, 71, 82, 65, 84, 85,
+ 76, 65, 84, 73, 79, 78, 128, 67, 79, 78, 70, 79, 85, 78, 68, 69, 196, 67,
+ 79, 78, 70, 76, 73, 67, 84, 128, 67, 79, 78, 70, 69, 84, 84, 201, 67, 79,
+ 78, 67, 65, 86, 69, 45, 83, 73, 68, 69, 196, 67, 79, 78, 67, 65, 86, 69,
+ 45, 80, 79, 73, 78, 84, 69, 196, 67, 79, 78, 128, 67, 79, 77, 80, 85, 84,
+ 69, 82, 128, 67, 79, 77, 80, 79, 83, 73, 84, 73, 79, 78, 128, 67, 79, 77,
+ 80, 79, 83, 73, 84, 73, 79, 206, 67, 79, 77, 80, 76, 73, 65, 78, 67, 69,
+ 128, 67, 79, 77, 80, 76, 69, 84, 73, 79, 78, 128, 67, 79, 77, 80, 76, 69,
+ 84, 69, 68, 128, 67, 79, 77, 80, 76, 69, 77, 69, 78, 84, 128, 67, 79, 77,
+ 80, 65, 82, 69, 128, 67, 79, 77, 77, 79, 206, 67, 79, 77, 77, 69, 82, 67,
+ 73, 65, 204, 67, 79, 77, 77, 65, 128, 67, 79, 77, 77, 193, 67, 79, 77,
+ 69, 84, 128, 67, 79, 77, 66, 128, 67, 79, 76, 85, 77, 78, 128, 67, 79,
+ 76, 79, 82, 128, 67, 79, 76, 76, 73, 83, 73, 79, 206, 67, 79, 76, 76,
+ 128, 67, 79, 76, 196, 67, 79, 70, 70, 73, 78, 128, 67, 79, 69, 78, 71,
+ 128, 67, 79, 69, 78, 199, 67, 79, 68, 65, 128, 67, 79, 67, 75, 84, 65,
+ 73, 204, 67, 79, 65, 83, 84, 69, 82, 128, 67, 79, 65, 128, 67, 79, 128,
+ 67, 77, 128, 67, 205, 67, 76, 85, 83, 84, 69, 210, 67, 76, 85, 66, 83,
+ 128, 67, 76, 85, 66, 45, 83, 80, 79, 75, 69, 196, 67, 76, 85, 66, 128,
+ 67, 76, 85, 194, 67, 76, 79, 86, 69, 82, 128, 67, 76, 79, 85, 68, 128,
+ 67, 76, 79, 85, 196, 67, 76, 79, 84, 72, 69, 83, 128, 67, 76, 79, 84, 72,
+ 128, 67, 76, 79, 83, 69, 84, 128, 67, 76, 79, 83, 69, 78, 69, 83, 83,
+ 128, 67, 76, 79, 83, 69, 68, 128, 67, 76, 79, 83, 197, 67, 76, 79, 67,
+ 75, 87, 73, 83, 197, 67, 76, 79, 67, 203, 67, 76, 73, 86, 73, 83, 128,
+ 67, 76, 73, 80, 66, 79, 65, 82, 68, 128, 67, 76, 73, 78, 75, 73, 78, 199,
+ 67, 76, 73, 78, 71, 73, 78, 199, 67, 76, 73, 77, 65, 67, 85, 83, 128, 67,
+ 76, 73, 70, 70, 128, 67, 76, 73, 67, 75, 128, 67, 76, 69, 70, 45, 50,
+ 128, 67, 76, 69, 70, 45, 49, 128, 67, 76, 69, 70, 128, 67, 76, 69, 198,
+ 67, 76, 69, 65, 86, 69, 82, 128, 67, 76, 69, 65, 210, 67, 76, 65, 87,
+ 128, 67, 76, 65, 80, 80, 73, 78, 199, 67, 76, 65, 80, 80, 69, 210, 67,
+ 76, 65, 78, 128, 67, 76, 65, 73, 77, 128, 67, 76, 128, 67, 73, 88, 128,
+ 67, 73, 86, 73, 76, 73, 65, 78, 128, 67, 73, 84, 89, 83, 67, 65, 80, 197,
+ 67, 73, 84, 128, 67, 73, 82, 67, 85, 211, 67, 73, 82, 67, 85, 77, 70, 76,
+ 69, 88, 128, 67, 73, 82, 67, 85, 77, 70, 76, 69, 216, 67, 73, 82, 67, 85,
+ 76, 65, 84, 73, 79, 206, 67, 73, 82, 67, 76, 69, 83, 128, 67, 73, 82, 67,
+ 76, 69, 128, 67, 73, 80, 128, 67, 73, 78, 78, 65, 66, 65, 82, 128, 67,
+ 73, 78, 69, 77, 65, 128, 67, 73, 73, 128, 67, 73, 69, 88, 128, 67, 73,
+ 69, 85, 67, 45, 83, 83, 65, 78, 71, 80, 73, 69, 85, 80, 128, 67, 73, 69,
+ 85, 67, 45, 80, 73, 69, 85, 80, 128, 67, 73, 69, 85, 67, 45, 73, 69, 85,
+ 78, 71, 128, 67, 73, 69, 85, 195, 67, 73, 69, 84, 128, 67, 73, 69, 80,
+ 128, 67, 73, 69, 128, 67, 73, 128, 67, 72, 89, 88, 128, 67, 72, 89, 84,
+ 128, 67, 72, 89, 82, 88, 128, 67, 72, 89, 82, 128, 67, 72, 89, 80, 128,
+ 67, 72, 85, 88, 128, 67, 72, 85, 82, 88, 128, 67, 72, 85, 82, 67, 72,
+ 128, 67, 72, 85, 82, 128, 67, 72, 85, 80, 128, 67, 72, 85, 79, 88, 128,
+ 67, 72, 85, 79, 84, 128, 67, 72, 85, 79, 80, 128, 67, 72, 85, 79, 128,
+ 67, 72, 85, 76, 65, 128, 67, 72, 85, 128, 67, 72, 82, 89, 83, 65, 78, 84,
+ 72, 69, 77, 85, 77, 128, 67, 72, 82, 79, 78, 79, 85, 128, 67, 72, 82, 79,
+ 78, 79, 78, 128, 67, 72, 82, 79, 77, 193, 67, 72, 82, 79, 193, 67, 72,
+ 82, 73, 86, 73, 128, 67, 72, 82, 73, 83, 84, 77, 65, 83, 128, 67, 72, 82,
+ 73, 83, 84, 77, 65, 211, 67, 72, 79, 88, 128, 67, 72, 79, 84, 128, 67,
+ 72, 79, 82, 69, 86, 77, 193, 67, 72, 79, 80, 128, 67, 72, 79, 75, 69,
+ 128, 67, 72, 79, 69, 128, 67, 72, 79, 67, 79, 76, 65, 84, 197, 67, 72,
+ 79, 65, 128, 67, 72, 207, 67, 72, 73, 84, 85, 69, 85, 77, 83, 83, 65, 78,
+ 71, 83, 73, 79, 83, 128, 67, 72, 73, 84, 85, 69, 85, 77, 83, 83, 65, 78,
+ 71, 67, 73, 69, 85, 67, 128, 67, 72, 73, 84, 85, 69, 85, 77, 83, 73, 79,
+ 83, 128, 67, 72, 73, 84, 85, 69, 85, 77, 67, 73, 69, 85, 67, 128, 67, 72,
+ 73, 84, 85, 69, 85, 77, 67, 72, 73, 69, 85, 67, 72, 128, 67, 72, 73, 82,
+ 79, 78, 128, 67, 72, 73, 82, 69, 84, 128, 67, 72, 73, 78, 71, 128, 67,
+ 72, 73, 78, 69, 83, 197, 67, 72, 73, 78, 128, 67, 72, 73, 77, 69, 128,
+ 67, 72, 73, 76, 76, 213, 67, 72, 73, 76, 68, 82, 69, 206, 67, 72, 73, 76,
+ 68, 128, 67, 72, 73, 76, 128, 67, 72, 73, 75, 201, 67, 72, 73, 69, 85,
+ 67, 72, 45, 75, 72, 73, 69, 85, 75, 72, 128, 67, 72, 73, 69, 85, 67, 72,
+ 45, 72, 73, 69, 85, 72, 128, 67, 72, 73, 69, 85, 67, 200, 67, 72, 73, 67,
+ 75, 69, 78, 128, 67, 72, 73, 67, 75, 128, 67, 72, 73, 128, 67, 72, 201,
+ 67, 72, 72, 65, 128, 67, 72, 69, 88, 128, 67, 72, 69, 86, 82, 79, 206,
+ 67, 72, 69, 84, 128, 67, 72, 69, 83, 84, 78, 85, 84, 128, 67, 72, 69, 83,
211, 67, 72, 69, 82, 82, 217, 67, 72, 69, 82, 82, 73, 69, 83, 128, 67,
72, 69, 81, 85, 69, 82, 69, 196, 67, 72, 69, 80, 128, 67, 72, 69, 206,
67, 72, 69, 73, 78, 65, 80, 128, 67, 72, 69, 73, 75, 72, 69, 73, 128, 67,
@@ -4084,290 +4109,291 @@ static unsigned char lexicon[] = {
67, 67, 69, 69, 128, 67, 67, 69, 128, 67, 67, 65, 65, 128, 67, 67, 65,
128, 67, 65, 89, 78, 128, 67, 65, 89, 65, 78, 78, 65, 128, 67, 65, 88,
128, 67, 65, 86, 69, 128, 67, 65, 85, 84, 73, 79, 206, 67, 65, 85, 76,
- 68, 82, 79, 78, 128, 67, 65, 85, 68, 65, 128, 67, 65, 84, 65, 87, 65,
- 128, 67, 65, 84, 128, 67, 65, 212, 67, 65, 83, 84, 76, 69, 128, 67, 65,
- 82, 89, 83, 84, 73, 65, 206, 67, 65, 82, 84, 128, 67, 65, 82, 211, 67,
- 65, 82, 82, 73, 65, 71, 197, 67, 65, 82, 80, 69, 78, 84, 82, 217, 67, 65,
- 82, 208, 67, 65, 82, 79, 85, 83, 69, 204, 67, 65, 82, 79, 78, 128, 67,
- 65, 82, 79, 206, 67, 65, 82, 73, 203, 67, 65, 82, 73, 65, 206, 67, 65,
- 82, 69, 84, 128, 67, 65, 82, 69, 212, 67, 65, 82, 197, 67, 65, 82, 68,
- 83, 128, 67, 65, 82, 68, 128, 67, 65, 82, 196, 67, 65, 82, 128, 67, 65,
- 210, 67, 65, 80, 85, 212, 67, 65, 80, 84, 73, 86, 69, 128, 67, 65, 80,
- 82, 73, 67, 79, 82, 78, 128, 67, 65, 80, 79, 128, 67, 65, 80, 73, 84, 65,
- 76, 128, 67, 65, 78, 84, 73, 76, 76, 65, 84, 73, 79, 206, 67, 65, 78,
- 199, 67, 65, 78, 68, 89, 128, 67, 65, 78, 68, 82, 65, 66, 73, 78, 68, 85,
- 128, 67, 65, 78, 68, 82, 65, 66, 73, 78, 68, 213, 67, 65, 78, 68, 82, 65,
- 128, 67, 65, 78, 68, 82, 193, 67, 65, 78, 67, 69, 82, 128, 67, 65, 78,
- 67, 69, 76, 76, 65, 84, 73, 79, 206, 67, 65, 78, 67, 69, 76, 128, 67, 65,
- 78, 67, 69, 204, 67, 65, 78, 128, 67, 65, 77, 78, 85, 195, 67, 65, 77,
- 69, 82, 65, 128, 67, 65, 77, 69, 76, 128, 67, 65, 76, 89, 65, 128, 67,
- 65, 76, 89, 193, 67, 65, 76, 88, 128, 67, 65, 76, 76, 128, 67, 65, 76,
- 69, 78, 68, 65, 82, 128, 67, 65, 76, 67, 128, 67, 65, 75, 82, 65, 128,
- 67, 65, 75, 197, 67, 65, 69, 83, 85, 82, 65, 128, 67, 65, 68, 85, 67, 69,
- 85, 83, 128, 67, 65, 68, 193, 67, 65, 67, 84, 85, 83, 128, 67, 65, 66,
- 76, 69, 87, 65, 89, 128, 67, 65, 66, 66, 65, 71, 69, 45, 84, 82, 69, 69,
- 128, 67, 65, 65, 78, 71, 128, 67, 65, 65, 73, 128, 67, 193, 67, 48, 50,
- 52, 128, 67, 48, 50, 51, 128, 67, 48, 50, 50, 128, 67, 48, 50, 49, 128,
- 67, 48, 50, 48, 128, 67, 48, 49, 57, 128, 67, 48, 49, 56, 128, 67, 48,
- 49, 55, 128, 67, 48, 49, 54, 128, 67, 48, 49, 53, 128, 67, 48, 49, 52,
- 128, 67, 48, 49, 51, 128, 67, 48, 49, 50, 128, 67, 48, 49, 49, 128, 67,
- 48, 49, 48, 65, 128, 67, 48, 49, 48, 128, 67, 48, 48, 57, 128, 67, 48,
- 48, 56, 128, 67, 48, 48, 55, 128, 67, 48, 48, 54, 128, 67, 48, 48, 53,
- 128, 67, 48, 48, 52, 128, 67, 48, 48, 51, 128, 67, 48, 48, 50, 67, 128,
- 67, 48, 48, 50, 66, 128, 67, 48, 48, 50, 65, 128, 67, 48, 48, 50, 128,
- 67, 48, 48, 49, 128, 67, 45, 83, 73, 77, 80, 76, 73, 70, 73, 69, 196, 67,
- 45, 51, 57, 128, 67, 45, 49, 56, 128, 66, 90, 85, 78, 199, 66, 90, 72,
- 201, 66, 89, 69, 76, 79, 82, 85, 83, 83, 73, 65, 78, 45, 85, 75, 82, 65,
- 73, 78, 73, 65, 206, 66, 88, 71, 128, 66, 87, 73, 128, 66, 87, 69, 69,
- 128, 66, 87, 69, 128, 66, 87, 65, 128, 66, 85, 85, 77, 73, 83, 72, 128,
- 66, 85, 84, 84, 79, 78, 128, 66, 85, 212, 66, 85, 83, 84, 211, 66, 85,
- 83, 212, 66, 85, 83, 83, 89, 69, 82, 85, 128, 66, 85, 211, 66, 85, 82,
- 213, 66, 85, 82, 50, 128, 66, 85, 210, 66, 85, 79, 88, 128, 66, 85, 79,
- 80, 128, 66, 85, 78, 78, 217, 66, 85, 78, 71, 128, 66, 85, 77, 80, 217,
- 66, 85, 76, 85, 71, 128, 66, 85, 76, 85, 199, 66, 85, 76, 76, 83, 69, 89,
- 69, 128, 66, 85, 76, 76, 211, 66, 85, 76, 76, 69, 84, 128, 66, 85, 76,
- 76, 69, 212, 66, 85, 76, 76, 128, 66, 85, 76, 66, 128, 66, 85, 75, 89,
- 128, 66, 85, 73, 76, 68, 73, 78, 71, 83, 128, 66, 85, 73, 76, 68, 73, 78,
- 71, 128, 66, 85, 72, 73, 196, 66, 85, 71, 73, 78, 69, 83, 197, 66, 85,
- 71, 128, 66, 85, 70, 70, 65, 76, 79, 128, 66, 85, 67, 75, 76, 69, 128,
- 66, 83, 84, 65, 82, 128, 66, 83, 75, 85, 210, 66, 83, 75, 65, 173, 66,
- 83, 68, 85, 211, 66, 82, 85, 83, 72, 128, 66, 82, 85, 83, 200, 66, 82,
- 79, 78, 90, 69, 128, 66, 82, 79, 75, 69, 206, 66, 82, 79, 65, 196, 66,
- 82, 73, 83, 84, 76, 69, 128, 66, 82, 73, 71, 72, 84, 78, 69, 83, 211, 66,
- 82, 73, 69, 70, 67, 65, 83, 69, 128, 66, 82, 73, 68, 71, 197, 66, 82, 73,
- 68, 197, 66, 82, 73, 67, 75, 128, 66, 82, 69, 86, 73, 83, 128, 66, 82,
- 69, 86, 69, 45, 77, 65, 67, 82, 79, 78, 128, 66, 82, 69, 86, 197, 66, 82,
- 69, 65, 84, 200, 66, 82, 69, 65, 75, 84, 72, 82, 79, 85, 71, 72, 128, 66,
- 82, 69, 65, 68, 128, 66, 82, 68, 193, 66, 82, 65, 78, 67, 72, 73, 78,
- 199, 66, 82, 65, 78, 67, 72, 128, 66, 82, 65, 78, 67, 200, 66, 82, 65,
- 75, 67, 69, 84, 128, 66, 82, 65, 67, 75, 69, 84, 69, 196, 66, 82, 65, 67,
- 75, 69, 212, 66, 82, 65, 67, 69, 128, 66, 81, 128, 66, 79, 89, 128, 66,
- 79, 87, 84, 73, 69, 128, 66, 79, 87, 84, 73, 197, 66, 79, 87, 76, 73, 78,
- 71, 128, 66, 79, 87, 76, 128, 66, 79, 87, 73, 78, 199, 66, 79, 215, 66,
- 79, 85, 81, 85, 69, 84, 128, 66, 79, 85, 78, 68, 65, 82, 217, 66, 79, 84,
- 84, 79, 77, 45, 76, 73, 71, 72, 84, 69, 196, 66, 79, 84, 84, 79, 77, 128,
- 66, 79, 84, 84, 79, 205, 66, 79, 84, 84, 76, 69, 128, 66, 79, 84, 84, 76,
- 197, 66, 79, 84, 200, 66, 79, 82, 85, 84, 79, 128, 66, 79, 82, 65, 88,
- 45, 51, 128, 66, 79, 82, 65, 88, 45, 50, 128, 66, 79, 82, 65, 88, 128,
- 66, 79, 79, 84, 83, 128, 66, 79, 79, 84, 128, 66, 79, 79, 77, 69, 82, 65,
- 78, 71, 128, 66, 79, 79, 75, 83, 128, 66, 79, 79, 75, 77, 65, 82, 75,
- 128, 66, 79, 79, 75, 77, 65, 82, 203, 66, 79, 78, 69, 128, 66, 79, 77,
- 66, 128, 66, 79, 76, 84, 128, 66, 79, 76, 212, 66, 79, 68, 89, 128, 66,
- 79, 65, 82, 128, 66, 79, 65, 128, 66, 76, 85, 69, 128, 66, 76, 85, 197,
- 66, 76, 79, 87, 70, 73, 83, 72, 128, 66, 76, 79, 83, 83, 79, 77, 128, 66,
- 76, 79, 79, 68, 128, 66, 76, 79, 78, 196, 66, 76, 79, 67, 75, 128, 66,
- 76, 69, 78, 68, 69, 196, 66, 76, 65, 78, 75, 128, 66, 76, 65, 78, 203,
- 66, 76, 65, 68, 197, 66, 76, 65, 67, 75, 70, 79, 79, 212, 66, 76, 65, 67,
- 75, 45, 76, 69, 84, 84, 69, 210, 66, 76, 65, 67, 75, 45, 70, 69, 65, 84,
- 72, 69, 82, 69, 196, 66, 76, 65, 67, 75, 128, 66, 75, 65, 173, 66, 73,
- 84, 84, 69, 82, 128, 66, 73, 84, 73, 78, 199, 66, 73, 83, 77, 85, 84,
- 200, 66, 73, 83, 77, 73, 76, 76, 65, 200, 66, 73, 83, 72, 79, 80, 128,
- 66, 73, 83, 69, 67, 84, 73, 78, 199, 66, 73, 83, 65, 72, 128, 66, 73, 82,
- 85, 128, 66, 73, 82, 84, 72, 68, 65, 217, 66, 73, 82, 71, 65, 128, 66,
- 73, 82, 68, 128, 66, 73, 79, 72, 65, 90, 65, 82, 196, 66, 73, 78, 79, 67,
- 85, 76, 65, 210, 66, 73, 78, 68, 73, 78, 199, 66, 73, 78, 68, 73, 128,
- 66, 73, 78, 65, 82, 217, 66, 73, 76, 76, 73, 65, 82, 68, 83, 128, 66, 73,
- 76, 65, 66, 73, 65, 204, 66, 73, 75, 73, 78, 73, 128, 66, 73, 71, 128,
- 66, 73, 199, 66, 73, 69, 84, 128, 66, 73, 68, 69, 78, 84, 65, 204, 66,
- 73, 67, 89, 67, 76, 73, 83, 84, 128, 66, 73, 67, 89, 67, 76, 69, 83, 128,
- 66, 73, 67, 89, 67, 76, 69, 128, 66, 73, 67, 69, 80, 83, 128, 66, 73, 66,
- 76, 69, 45, 67, 82, 69, 197, 66, 73, 66, 128, 66, 201, 66, 72, 85, 128,
- 66, 72, 79, 79, 128, 66, 72, 79, 128, 66, 72, 73, 128, 66, 72, 69, 84,
- 72, 128, 66, 72, 69, 69, 128, 66, 72, 69, 128, 66, 72, 65, 84, 84, 73,
- 80, 82, 79, 76, 213, 66, 72, 65, 77, 128, 66, 72, 65, 128, 66, 69, 89,
- 89, 65, 76, 128, 66, 69, 88, 128, 66, 69, 86, 69, 82, 65, 71, 69, 128,
- 66, 69, 84, 87, 69, 69, 78, 128, 66, 69, 84, 87, 69, 69, 206, 66, 69, 84,
- 72, 128, 66, 69, 84, 65, 128, 66, 69, 84, 193, 66, 69, 212, 66, 69, 83,
- 73, 68, 197, 66, 69, 82, 75, 65, 78, 65, 206, 66, 69, 82, 66, 69, 210,
- 66, 69, 80, 128, 66, 69, 79, 82, 195, 66, 69, 78, 90, 69, 78, 197, 66,
- 69, 78, 84, 207, 66, 69, 78, 68, 69, 128, 66, 69, 78, 68, 128, 66, 69,
- 206, 66, 69, 76, 84, 128, 66, 69, 76, 212, 66, 69, 76, 79, 215, 66, 69,
- 76, 76, 128, 66, 69, 76, 204, 66, 69, 76, 71, 84, 72, 79, 210, 66, 69,
- 73, 84, 72, 128, 66, 69, 72, 73, 78, 196, 66, 69, 72, 69, 72, 128, 66,
- 69, 72, 69, 200, 66, 69, 72, 128, 66, 69, 200, 66, 69, 71, 73, 78, 78,
- 73, 78, 71, 128, 66, 69, 71, 73, 78, 78, 69, 82, 128, 66, 69, 71, 73,
- 206, 66, 69, 70, 79, 82, 197, 66, 69, 69, 84, 76, 69, 128, 66, 69, 69,
- 84, 65, 128, 66, 69, 69, 210, 66, 69, 69, 72, 73, 86, 69, 128, 66, 69,
- 69, 72, 128, 66, 69, 69, 200, 66, 69, 67, 65, 85, 83, 69, 128, 66, 69,
- 65, 86, 69, 210, 66, 69, 65, 84, 73, 78, 199, 66, 69, 65, 84, 128, 66,
- 69, 65, 210, 66, 69, 65, 78, 128, 66, 69, 65, 77, 69, 196, 66, 67, 65,
- 68, 128, 66, 67, 65, 196, 66, 66, 89, 88, 128, 66, 66, 89, 84, 128, 66,
- 66, 89, 80, 128, 66, 66, 89, 128, 66, 66, 85, 88, 128, 66, 66, 85, 84,
- 128, 66, 66, 85, 82, 88, 128, 66, 66, 85, 82, 128, 66, 66, 85, 80, 128,
- 66, 66, 85, 79, 88, 128, 66, 66, 85, 79, 80, 128, 66, 66, 85, 79, 128,
- 66, 66, 85, 128, 66, 66, 79, 88, 128, 66, 66, 79, 84, 128, 66, 66, 79,
- 80, 128, 66, 66, 79, 128, 66, 66, 73, 88, 128, 66, 66, 73, 80, 128, 66,
- 66, 73, 69, 88, 128, 66, 66, 73, 69, 84, 128, 66, 66, 73, 69, 80, 128,
- 66, 66, 73, 69, 128, 66, 66, 73, 128, 66, 66, 69, 88, 128, 66, 66, 69,
- 80, 128, 66, 66, 69, 69, 128, 66, 66, 69, 128, 66, 66, 65, 88, 128, 66,
- 66, 65, 84, 128, 66, 66, 65, 80, 128, 66, 66, 65, 65, 128, 66, 66, 65,
- 128, 66, 65, 89, 65, 78, 78, 65, 128, 66, 65, 85, 128, 66, 65, 84, 84,
- 69, 82, 89, 128, 66, 65, 84, 72, 84, 85, 66, 128, 66, 65, 84, 72, 65, 77,
- 65, 83, 65, 84, 128, 66, 65, 84, 72, 128, 66, 65, 84, 200, 66, 65, 84,
- 65, 203, 66, 65, 83, 83, 65, 128, 66, 65, 83, 75, 69, 84, 66, 65, 76,
+ 68, 82, 79, 78, 128, 67, 65, 85, 68, 65, 128, 67, 65, 85, 128, 67, 65,
+ 84, 65, 87, 65, 128, 67, 65, 84, 128, 67, 65, 212, 67, 65, 83, 84, 76,
+ 69, 128, 67, 65, 82, 89, 83, 84, 73, 65, 206, 67, 65, 82, 84, 128, 67,
+ 65, 82, 211, 67, 65, 82, 82, 73, 65, 71, 197, 67, 65, 82, 80, 69, 78, 84,
+ 82, 217, 67, 65, 82, 208, 67, 65, 82, 79, 85, 83, 69, 204, 67, 65, 82,
+ 79, 78, 128, 67, 65, 82, 79, 206, 67, 65, 82, 73, 203, 67, 65, 82, 73,
+ 65, 206, 67, 65, 82, 69, 84, 128, 67, 65, 82, 69, 212, 67, 65, 82, 197,
+ 67, 65, 82, 68, 83, 128, 67, 65, 82, 68, 128, 67, 65, 82, 196, 67, 65,
+ 82, 128, 67, 65, 210, 67, 65, 80, 85, 212, 67, 65, 80, 84, 73, 86, 69,
+ 128, 67, 65, 80, 82, 73, 67, 79, 82, 78, 128, 67, 65, 80, 79, 128, 67,
+ 65, 80, 73, 84, 65, 76, 128, 67, 65, 78, 84, 73, 76, 76, 65, 84, 73, 79,
+ 206, 67, 65, 78, 199, 67, 65, 78, 68, 89, 128, 67, 65, 78, 68, 82, 65,
+ 66, 73, 78, 68, 85, 128, 67, 65, 78, 68, 82, 65, 66, 73, 78, 68, 213, 67,
+ 65, 78, 68, 82, 65, 128, 67, 65, 78, 68, 82, 193, 67, 65, 78, 67, 69, 82,
+ 128, 67, 65, 78, 67, 69, 76, 76, 65, 84, 73, 79, 206, 67, 65, 78, 67, 69,
+ 76, 128, 67, 65, 78, 67, 69, 204, 67, 65, 78, 128, 67, 65, 77, 78, 85,
+ 195, 67, 65, 77, 69, 82, 65, 128, 67, 65, 77, 69, 76, 128, 67, 65, 76,
+ 89, 65, 128, 67, 65, 76, 89, 193, 67, 65, 76, 88, 128, 67, 65, 76, 76,
+ 128, 67, 65, 76, 69, 78, 68, 65, 82, 128, 67, 65, 76, 67, 128, 67, 65,
+ 75, 82, 65, 128, 67, 65, 75, 197, 67, 65, 73, 128, 67, 65, 69, 83, 85,
+ 82, 65, 128, 67, 65, 68, 85, 67, 69, 85, 83, 128, 67, 65, 68, 193, 67,
+ 65, 67, 84, 85, 83, 128, 67, 65, 66, 76, 69, 87, 65, 89, 128, 67, 65, 66,
+ 66, 65, 71, 69, 45, 84, 82, 69, 69, 128, 67, 65, 65, 78, 71, 128, 67, 65,
+ 65, 73, 128, 67, 193, 67, 48, 50, 52, 128, 67, 48, 50, 51, 128, 67, 48,
+ 50, 50, 128, 67, 48, 50, 49, 128, 67, 48, 50, 48, 128, 67, 48, 49, 57,
+ 128, 67, 48, 49, 56, 128, 67, 48, 49, 55, 128, 67, 48, 49, 54, 128, 67,
+ 48, 49, 53, 128, 67, 48, 49, 52, 128, 67, 48, 49, 51, 128, 67, 48, 49,
+ 50, 128, 67, 48, 49, 49, 128, 67, 48, 49, 48, 65, 128, 67, 48, 49, 48,
+ 128, 67, 48, 48, 57, 128, 67, 48, 48, 56, 128, 67, 48, 48, 55, 128, 67,
+ 48, 48, 54, 128, 67, 48, 48, 53, 128, 67, 48, 48, 52, 128, 67, 48, 48,
+ 51, 128, 67, 48, 48, 50, 67, 128, 67, 48, 48, 50, 66, 128, 67, 48, 48,
+ 50, 65, 128, 67, 48, 48, 50, 128, 67, 48, 48, 49, 128, 67, 45, 83, 73,
+ 77, 80, 76, 73, 70, 73, 69, 196, 67, 45, 51, 57, 128, 67, 45, 49, 56,
+ 128, 66, 90, 85, 78, 199, 66, 90, 72, 201, 66, 89, 69, 76, 79, 82, 85,
+ 83, 83, 73, 65, 78, 45, 85, 75, 82, 65, 73, 78, 73, 65, 206, 66, 88, 71,
+ 128, 66, 87, 73, 128, 66, 87, 69, 69, 128, 66, 87, 69, 128, 66, 87, 65,
+ 128, 66, 85, 85, 77, 73, 83, 72, 128, 66, 85, 84, 84, 79, 78, 128, 66,
+ 85, 212, 66, 85, 83, 84, 211, 66, 85, 83, 212, 66, 85, 83, 83, 89, 69,
+ 82, 85, 128, 66, 85, 211, 66, 85, 82, 213, 66, 85, 82, 50, 128, 66, 85,
+ 210, 66, 85, 79, 88, 128, 66, 85, 79, 80, 128, 66, 85, 78, 78, 217, 66,
+ 85, 78, 71, 128, 66, 85, 77, 80, 217, 66, 85, 76, 85, 71, 128, 66, 85,
+ 76, 85, 199, 66, 85, 76, 76, 83, 69, 89, 69, 128, 66, 85, 76, 76, 211,
+ 66, 85, 76, 76, 69, 84, 128, 66, 85, 76, 76, 69, 212, 66, 85, 76, 76,
+ 128, 66, 85, 76, 66, 128, 66, 85, 75, 89, 128, 66, 85, 73, 76, 68, 73,
+ 78, 71, 83, 128, 66, 85, 73, 76, 68, 73, 78, 71, 128, 66, 85, 72, 73,
+ 196, 66, 85, 71, 73, 78, 69, 83, 197, 66, 85, 71, 128, 66, 85, 70, 70,
+ 65, 76, 79, 128, 66, 85, 67, 75, 76, 69, 128, 66, 83, 84, 65, 82, 128,
+ 66, 83, 75, 85, 210, 66, 83, 75, 65, 173, 66, 83, 68, 85, 211, 66, 82,
+ 85, 83, 72, 128, 66, 82, 85, 83, 200, 66, 82, 79, 78, 90, 69, 128, 66,
+ 82, 79, 75, 69, 206, 66, 82, 79, 65, 196, 66, 82, 73, 83, 84, 76, 69,
+ 128, 66, 82, 73, 71, 72, 84, 78, 69, 83, 211, 66, 82, 73, 69, 70, 67, 65,
+ 83, 69, 128, 66, 82, 73, 68, 71, 197, 66, 82, 73, 68, 197, 66, 82, 73,
+ 67, 75, 128, 66, 82, 69, 86, 73, 83, 128, 66, 82, 69, 86, 69, 45, 77, 65,
+ 67, 82, 79, 78, 128, 66, 82, 69, 86, 197, 66, 82, 69, 65, 84, 200, 66,
+ 82, 69, 65, 75, 84, 72, 82, 79, 85, 71, 72, 128, 66, 82, 69, 65, 68, 128,
+ 66, 82, 68, 193, 66, 82, 65, 78, 67, 72, 73, 78, 199, 66, 82, 65, 78, 67,
+ 72, 128, 66, 82, 65, 78, 67, 200, 66, 82, 65, 75, 67, 69, 84, 128, 66,
+ 82, 65, 67, 75, 69, 84, 69, 196, 66, 82, 65, 67, 75, 69, 212, 66, 82, 65,
+ 67, 69, 128, 66, 81, 128, 66, 79, 89, 128, 66, 79, 87, 84, 73, 69, 128,
+ 66, 79, 87, 84, 73, 197, 66, 79, 87, 76, 73, 78, 71, 128, 66, 79, 87, 76,
+ 128, 66, 79, 87, 73, 78, 199, 66, 79, 215, 66, 79, 85, 81, 85, 69, 84,
+ 128, 66, 79, 85, 78, 68, 65, 82, 217, 66, 79, 84, 84, 79, 77, 45, 76, 73,
+ 71, 72, 84, 69, 196, 66, 79, 84, 84, 79, 77, 128, 66, 79, 84, 84, 79,
+ 205, 66, 79, 84, 84, 76, 69, 128, 66, 79, 84, 84, 76, 197, 66, 79, 84,
+ 200, 66, 79, 82, 85, 84, 79, 128, 66, 79, 82, 65, 88, 45, 51, 128, 66,
+ 79, 82, 65, 88, 45, 50, 128, 66, 79, 82, 65, 88, 128, 66, 79, 79, 84, 83,
+ 128, 66, 79, 79, 84, 128, 66, 79, 79, 77, 69, 82, 65, 78, 71, 128, 66,
+ 79, 79, 75, 83, 128, 66, 79, 79, 75, 77, 65, 82, 75, 128, 66, 79, 79, 75,
+ 77, 65, 82, 203, 66, 79, 78, 69, 128, 66, 79, 77, 66, 128, 66, 79, 76,
+ 84, 128, 66, 79, 76, 212, 66, 79, 68, 89, 128, 66, 79, 65, 82, 128, 66,
+ 79, 65, 128, 66, 76, 85, 69, 128, 66, 76, 85, 197, 66, 76, 79, 87, 70,
+ 73, 83, 72, 128, 66, 76, 79, 83, 83, 79, 77, 128, 66, 76, 79, 79, 68,
+ 128, 66, 76, 79, 78, 196, 66, 76, 79, 67, 75, 128, 66, 76, 69, 78, 68,
+ 69, 196, 66, 76, 65, 78, 75, 128, 66, 76, 65, 78, 203, 66, 76, 65, 68,
+ 197, 66, 76, 65, 67, 75, 70, 79, 79, 212, 66, 76, 65, 67, 75, 45, 76, 69,
+ 84, 84, 69, 210, 66, 76, 65, 67, 75, 45, 70, 69, 65, 84, 72, 69, 82, 69,
+ 196, 66, 76, 65, 67, 75, 128, 66, 75, 65, 173, 66, 73, 84, 84, 69, 82,
+ 128, 66, 73, 84, 73, 78, 199, 66, 73, 83, 77, 85, 84, 200, 66, 73, 83,
+ 77, 73, 76, 76, 65, 200, 66, 73, 83, 72, 79, 80, 128, 66, 73, 83, 69, 67,
+ 84, 73, 78, 199, 66, 73, 83, 65, 72, 128, 66, 73, 82, 85, 128, 66, 73,
+ 82, 84, 72, 68, 65, 217, 66, 73, 82, 71, 65, 128, 66, 73, 82, 68, 128,
+ 66, 73, 79, 72, 65, 90, 65, 82, 196, 66, 73, 78, 79, 67, 85, 76, 65, 210,
+ 66, 73, 78, 68, 73, 78, 199, 66, 73, 78, 68, 73, 128, 66, 73, 78, 65, 82,
+ 217, 66, 73, 76, 76, 73, 65, 82, 68, 83, 128, 66, 73, 76, 65, 66, 73, 65,
+ 204, 66, 73, 75, 73, 78, 73, 128, 66, 73, 71, 128, 66, 73, 199, 66, 73,
+ 69, 84, 128, 66, 73, 68, 69, 78, 84, 65, 204, 66, 73, 68, 65, 75, 85, 79,
+ 206, 66, 73, 67, 89, 67, 76, 73, 83, 84, 128, 66, 73, 67, 89, 67, 76, 69,
+ 83, 128, 66, 73, 67, 89, 67, 76, 69, 128, 66, 73, 67, 69, 80, 83, 128,
+ 66, 73, 66, 76, 69, 45, 67, 82, 69, 197, 66, 73, 66, 128, 66, 201, 66,
+ 72, 85, 128, 66, 72, 79, 79, 128, 66, 72, 79, 128, 66, 72, 73, 128, 66,
+ 72, 69, 84, 72, 128, 66, 72, 69, 69, 128, 66, 72, 69, 128, 66, 72, 65,
+ 84, 84, 73, 80, 82, 79, 76, 213, 66, 72, 65, 77, 128, 66, 72, 65, 128,
+ 66, 69, 89, 89, 65, 76, 128, 66, 69, 88, 128, 66, 69, 86, 69, 82, 65, 71,
+ 69, 128, 66, 69, 84, 87, 69, 69, 78, 128, 66, 69, 84, 87, 69, 69, 206,
+ 66, 69, 84, 72, 128, 66, 69, 84, 65, 128, 66, 69, 84, 193, 66, 69, 212,
+ 66, 69, 83, 73, 68, 197, 66, 69, 82, 75, 65, 78, 65, 206, 66, 69, 82, 66,
+ 69, 210, 66, 69, 80, 128, 66, 69, 79, 82, 195, 66, 69, 78, 90, 69, 78,
+ 197, 66, 69, 78, 84, 207, 66, 69, 78, 68, 69, 128, 66, 69, 78, 68, 128,
+ 66, 69, 206, 66, 69, 76, 84, 128, 66, 69, 76, 212, 66, 69, 76, 79, 215,
+ 66, 69, 76, 76, 128, 66, 69, 76, 204, 66, 69, 76, 71, 84, 72, 79, 210,
+ 66, 69, 73, 84, 72, 128, 66, 69, 72, 73, 78, 196, 66, 69, 72, 69, 72,
+ 128, 66, 69, 72, 69, 200, 66, 69, 72, 128, 66, 69, 200, 66, 69, 71, 73,
+ 78, 78, 73, 78, 71, 128, 66, 69, 71, 73, 78, 78, 69, 82, 128, 66, 69, 71,
+ 73, 206, 66, 69, 70, 79, 82, 197, 66, 69, 69, 84, 76, 69, 128, 66, 69,
+ 69, 84, 65, 128, 66, 69, 69, 210, 66, 69, 69, 72, 73, 86, 69, 128, 66,
+ 69, 69, 72, 128, 66, 69, 69, 200, 66, 69, 67, 65, 85, 83, 69, 128, 66,
+ 69, 65, 86, 69, 210, 66, 69, 65, 84, 73, 78, 199, 66, 69, 65, 84, 128,
+ 66, 69, 65, 210, 66, 69, 65, 78, 128, 66, 69, 65, 77, 69, 196, 66, 67,
+ 65, 68, 128, 66, 67, 65, 196, 66, 66, 89, 88, 128, 66, 66, 89, 84, 128,
+ 66, 66, 89, 80, 128, 66, 66, 89, 128, 66, 66, 85, 88, 128, 66, 66, 85,
+ 84, 128, 66, 66, 85, 82, 88, 128, 66, 66, 85, 82, 128, 66, 66, 85, 80,
+ 128, 66, 66, 85, 79, 88, 128, 66, 66, 85, 79, 80, 128, 66, 66, 85, 79,
+ 128, 66, 66, 85, 128, 66, 66, 79, 88, 128, 66, 66, 79, 84, 128, 66, 66,
+ 79, 80, 128, 66, 66, 79, 128, 66, 66, 73, 88, 128, 66, 66, 73, 80, 128,
+ 66, 66, 73, 69, 88, 128, 66, 66, 73, 69, 84, 128, 66, 66, 73, 69, 80,
+ 128, 66, 66, 73, 69, 128, 66, 66, 73, 128, 66, 66, 69, 88, 128, 66, 66,
+ 69, 80, 128, 66, 66, 69, 69, 128, 66, 66, 69, 128, 66, 66, 65, 88, 128,
+ 66, 66, 65, 84, 128, 66, 66, 65, 80, 128, 66, 66, 65, 65, 128, 66, 66,
+ 65, 128, 66, 65, 89, 65, 78, 78, 65, 128, 66, 65, 85, 128, 66, 65, 84,
+ 84, 69, 82, 89, 128, 66, 65, 84, 72, 84, 85, 66, 128, 66, 65, 84, 72, 65,
+ 77, 65, 83, 65, 84, 128, 66, 65, 84, 72, 128, 66, 65, 84, 200, 66, 65,
+ 84, 65, 203, 66, 65, 83, 83, 65, 128, 66, 65, 83, 75, 69, 84, 66, 65, 76,
204, 66, 65, 83, 72, 75, 73, 210, 66, 65, 83, 72, 128, 66, 65, 83, 69,
66, 65, 76, 76, 128, 66, 65, 83, 69, 128, 66, 65, 83, 197, 66, 65, 82,
83, 128, 66, 65, 82, 82, 73, 69, 82, 128, 66, 65, 82, 82, 69, 75, 72,
128, 66, 65, 82, 82, 69, 69, 128, 66, 65, 82, 82, 69, 197, 66, 65, 82,
76, 73, 78, 69, 128, 66, 65, 82, 76, 69, 89, 128, 66, 65, 82, 73, 89, 79,
- 79, 83, 65, 78, 128, 66, 65, 82, 66, 69, 210, 66, 65, 82, 65, 50, 128,
- 66, 65, 210, 66, 65, 78, 84, 79, 67, 128, 66, 65, 78, 75, 78, 79, 84,
- 197, 66, 65, 78, 75, 128, 66, 65, 78, 203, 66, 65, 78, 68, 128, 66, 65,
- 78, 65, 78, 65, 128, 66, 65, 78, 50, 128, 66, 65, 78, 178, 66, 65, 77,
- 66, 79, 79, 83, 128, 66, 65, 77, 66, 79, 79, 128, 66, 65, 76, 85, 68, 65,
- 128, 66, 65, 76, 76, 79, 212, 66, 65, 76, 76, 79, 79, 78, 45, 83, 80, 79,
- 75, 69, 196, 66, 65, 76, 76, 79, 79, 78, 128, 66, 65, 76, 65, 71, 128,
- 66, 65, 76, 128, 66, 65, 204, 66, 65, 73, 82, 75, 65, 78, 128, 66, 65,
- 73, 77, 65, 73, 128, 66, 65, 72, 84, 128, 66, 65, 72, 73, 82, 71, 79, 77,
- 85, 75, 72, 65, 128, 66, 65, 72, 65, 82, 50, 128, 66, 65, 71, 71, 65, 71,
- 197, 66, 65, 71, 65, 128, 66, 65, 71, 51, 128, 66, 65, 199, 66, 65, 68,
- 71, 69, 82, 128, 66, 65, 68, 71, 69, 128, 66, 65, 68, 128, 66, 65, 67,
- 84, 82, 73, 65, 206, 66, 65, 67, 75, 83, 80, 65, 67, 69, 128, 66, 65, 67,
- 75, 83, 76, 65, 83, 72, 128, 66, 65, 67, 75, 83, 76, 65, 83, 200, 66, 65,
- 67, 75, 72, 65, 78, 196, 66, 65, 67, 75, 45, 84, 73, 76, 84, 69, 196, 66,
- 65, 67, 75, 128, 66, 65, 67, 203, 66, 65, 66, 89, 128, 66, 65, 66, 217,
- 66, 65, 65, 82, 69, 82, 85, 128, 66, 51, 48, 53, 128, 66, 50, 53, 57,
- 128, 66, 50, 53, 56, 128, 66, 50, 53, 55, 128, 66, 50, 53, 54, 128, 66,
- 50, 53, 53, 128, 66, 50, 53, 180, 66, 50, 53, 51, 128, 66, 50, 53, 50,
- 128, 66, 50, 53, 49, 128, 66, 50, 53, 48, 128, 66, 50, 52, 57, 128, 66,
- 50, 52, 56, 128, 66, 50, 52, 183, 66, 50, 52, 54, 128, 66, 50, 52, 53,
- 128, 66, 50, 52, 179, 66, 50, 52, 178, 66, 50, 52, 177, 66, 50, 52, 176,
- 66, 50, 51, 54, 128, 66, 50, 51, 52, 128, 66, 50, 51, 179, 66, 50, 51,
- 50, 128, 66, 50, 51, 177, 66, 50, 51, 176, 66, 50, 50, 57, 128, 66, 50,
- 50, 56, 128, 66, 50, 50, 55, 128, 66, 50, 50, 54, 128, 66, 50, 50, 181,
- 66, 50, 50, 50, 128, 66, 50, 50, 49, 128, 66, 50, 50, 176, 66, 50, 49,
- 57, 128, 66, 50, 49, 56, 128, 66, 50, 49, 55, 128, 66, 50, 49, 54, 128,
- 66, 50, 49, 53, 128, 66, 50, 49, 52, 128, 66, 50, 49, 51, 128, 66, 50,
- 49, 50, 128, 66, 50, 49, 49, 128, 66, 50, 49, 48, 128, 66, 50, 48, 57,
- 128, 66, 50, 48, 56, 128, 66, 50, 48, 55, 128, 66, 50, 48, 54, 128, 66,
- 50, 48, 53, 128, 66, 50, 48, 52, 128, 66, 50, 48, 51, 128, 66, 50, 48,
- 50, 128, 66, 50, 48, 49, 128, 66, 50, 48, 48, 128, 66, 49, 57, 177, 66,
- 49, 57, 48, 128, 66, 49, 56, 57, 128, 66, 49, 56, 53, 128, 66, 49, 56,
- 52, 128, 66, 49, 56, 51, 128, 66, 49, 56, 50, 128, 66, 49, 56, 49, 128,
- 66, 49, 56, 48, 128, 66, 49, 55, 57, 128, 66, 49, 55, 56, 128, 66, 49,
- 55, 55, 128, 66, 49, 55, 182, 66, 49, 55, 52, 128, 66, 49, 55, 179, 66,
- 49, 55, 50, 128, 66, 49, 55, 49, 128, 66, 49, 55, 48, 128, 66, 49, 54,
- 57, 128, 66, 49, 54, 56, 128, 66, 49, 54, 55, 128, 66, 49, 54, 54, 128,
- 66, 49, 54, 53, 128, 66, 49, 54, 52, 128, 66, 49, 54, 179, 66, 49, 54,
- 178, 66, 49, 54, 49, 128, 66, 49, 54, 48, 128, 66, 49, 53, 185, 66, 49,
- 53, 56, 128, 66, 49, 53, 55, 128, 66, 49, 53, 182, 66, 49, 53, 53, 128,
- 66, 49, 53, 52, 128, 66, 49, 53, 51, 128, 66, 49, 53, 50, 128, 66, 49,
- 53, 177, 66, 49, 53, 48, 128, 66, 49, 52, 54, 128, 66, 49, 52, 181, 66,
- 49, 52, 50, 128, 66, 49, 52, 177, 66, 49, 52, 176, 66, 49, 51, 181, 66,
- 49, 51, 179, 66, 49, 51, 50, 128, 66, 49, 51, 177, 66, 49, 51, 176, 66,
- 49, 50, 184, 66, 49, 50, 183, 66, 49, 50, 181, 66, 49, 50, 179, 66, 49,
- 50, 178, 66, 49, 50, 177, 66, 49, 50, 176, 66, 49, 48, 57, 205, 66, 49,
- 48, 57, 198, 66, 49, 48, 56, 205, 66, 49, 48, 56, 198, 66, 49, 48, 55,
- 205, 66, 49, 48, 55, 198, 66, 49, 48, 54, 205, 66, 49, 48, 54, 198, 66,
- 49, 48, 53, 205, 66, 49, 48, 53, 198, 66, 49, 48, 181, 66, 49, 48, 180,
- 66, 49, 48, 178, 66, 49, 48, 176, 66, 48, 57, 177, 66, 48, 57, 176, 66,
- 48, 56, 57, 128, 66, 48, 56, 183, 66, 48, 56, 54, 128, 66, 48, 56, 181,
- 66, 48, 56, 51, 128, 66, 48, 56, 50, 128, 66, 48, 56, 177, 66, 48, 56,
- 176, 66, 48, 55, 57, 128, 66, 48, 55, 184, 66, 48, 55, 183, 66, 48, 55,
- 182, 66, 48, 55, 181, 66, 48, 55, 180, 66, 48, 55, 179, 66, 48, 55, 178,
- 66, 48, 55, 177, 66, 48, 55, 176, 66, 48, 54, 185, 66, 48, 54, 184, 66,
- 48, 54, 183, 66, 48, 54, 182, 66, 48, 54, 181, 66, 48, 54, 52, 128, 66,
- 48, 54, 51, 128, 66, 48, 54, 178, 66, 48, 54, 177, 66, 48, 54, 176, 66,
- 48, 53, 185, 66, 48, 53, 184, 66, 48, 53, 183, 66, 48, 53, 54, 128, 66,
- 48, 53, 181, 66, 48, 53, 180, 66, 48, 53, 179, 66, 48, 53, 178, 66, 48,
- 53, 177, 66, 48, 53, 176, 66, 48, 52, 57, 128, 66, 48, 52, 184, 66, 48,
- 52, 55, 128, 66, 48, 52, 182, 66, 48, 52, 181, 66, 48, 52, 180, 66, 48,
- 52, 179, 66, 48, 52, 178, 66, 48, 52, 177, 66, 48, 52, 176, 66, 48, 51,
- 185, 66, 48, 51, 184, 66, 48, 51, 183, 66, 48, 51, 182, 66, 48, 51, 52,
- 128, 66, 48, 51, 179, 66, 48, 51, 178, 66, 48, 51, 177, 66, 48, 51, 176,
- 66, 48, 50, 185, 66, 48, 50, 184, 66, 48, 50, 183, 66, 48, 50, 182, 66,
- 48, 50, 181, 66, 48, 50, 180, 66, 48, 50, 179, 66, 48, 50, 50, 128, 66,
- 48, 50, 177, 66, 48, 50, 176, 66, 48, 49, 57, 128, 66, 48, 49, 56, 128,
- 66, 48, 49, 183, 66, 48, 49, 182, 66, 48, 49, 181, 66, 48, 49, 180, 66,
- 48, 49, 179, 66, 48, 49, 178, 66, 48, 49, 177, 66, 48, 49, 176, 66, 48,
- 48, 57, 128, 66, 48, 48, 185, 66, 48, 48, 56, 128, 66, 48, 48, 184, 66,
- 48, 48, 55, 128, 66, 48, 48, 183, 66, 48, 48, 54, 128, 66, 48, 48, 182,
- 66, 48, 48, 53, 65, 128, 66, 48, 48, 53, 128, 66, 48, 48, 181, 66, 48,
- 48, 52, 128, 66, 48, 48, 180, 66, 48, 48, 51, 128, 66, 48, 48, 179, 66,
- 48, 48, 50, 128, 66, 48, 48, 178, 66, 48, 48, 49, 128, 66, 48, 48, 177,
- 65, 90, 85, 128, 65, 89, 69, 210, 65, 89, 66, 128, 65, 89, 65, 72, 128,
- 65, 88, 69, 128, 65, 87, 69, 128, 65, 86, 69, 83, 84, 65, 206, 65, 86,
- 69, 82, 65, 71, 197, 65, 86, 65, 75, 82, 65, 72, 65, 83, 65, 78, 89, 65,
- 128, 65, 86, 65, 71, 82, 65, 72, 65, 128, 65, 85, 89, 65, 78, 78, 65,
- 128, 65, 85, 84, 85, 77, 78, 128, 65, 85, 84, 79, 77, 79, 66, 73, 76, 69,
- 128, 65, 85, 84, 79, 77, 65, 84, 69, 196, 65, 85, 83, 84, 82, 65, 204,
- 65, 85, 82, 73, 80, 73, 71, 77, 69, 78, 84, 128, 65, 85, 82, 65, 77, 65,
- 90, 68, 65, 65, 72, 65, 128, 65, 85, 82, 65, 77, 65, 90, 68, 65, 65, 45,
- 50, 128, 65, 85, 82, 65, 77, 65, 90, 68, 65, 65, 128, 65, 85, 78, 78,
- 128, 65, 85, 71, 85, 83, 84, 128, 65, 85, 71, 77, 69, 78, 84, 65, 84, 73,
- 79, 206, 65, 85, 69, 128, 65, 85, 66, 69, 82, 71, 73, 78, 69, 128, 65,
- 84, 84, 73, 195, 65, 84, 84, 72, 65, 67, 65, 78, 128, 65, 84, 84, 69, 78,
- 84, 73, 79, 78, 128, 65, 84, 84, 65, 203, 65, 84, 79, 205, 65, 84, 78,
- 65, 200, 65, 84, 77, 65, 65, 85, 128, 65, 84, 73, 89, 65, 128, 65, 84,
- 72, 76, 69, 84, 73, 195, 65, 84, 72, 65, 82, 86, 65, 86, 69, 68, 73, 195,
- 65, 84, 72, 65, 80, 65, 83, 67, 65, 206, 65, 83, 90, 128, 65, 83, 89, 85,
- 82, 193, 65, 83, 89, 77, 80, 84, 79, 84, 73, 67, 65, 76, 76, 217, 65, 83,
- 84, 82, 79, 78, 79, 77, 73, 67, 65, 204, 65, 83, 84, 82, 79, 76, 79, 71,
- 73, 67, 65, 204, 65, 83, 84, 79, 78, 73, 83, 72, 69, 196, 65, 83, 84, 69,
- 82, 73, 83, 77, 128, 65, 83, 84, 69, 82, 73, 83, 75, 211, 65, 83, 84, 69,
- 82, 73, 83, 75, 128, 65, 83, 84, 69, 82, 73, 83, 203, 65, 83, 84, 69, 82,
- 73, 83, 67, 85, 83, 128, 65, 83, 83, 89, 82, 73, 65, 206, 65, 83, 83, 69,
- 82, 84, 73, 79, 78, 128, 65, 83, 80, 73, 82, 65, 84, 69, 196, 65, 83, 80,
- 69, 82, 128, 65, 83, 73, 65, 45, 65, 85, 83, 84, 82, 65, 76, 73, 65, 128,
- 65, 83, 72, 71, 65, 66, 128, 65, 83, 72, 69, 83, 128, 65, 83, 72, 57,
- 128, 65, 83, 72, 178, 65, 83, 67, 69, 78, 84, 128, 65, 83, 67, 69, 78,
- 68, 73, 78, 199, 65, 83, 65, 76, 50, 128, 65, 82, 85, 72, 85, 65, 128,
- 65, 82, 84, 73, 83, 212, 65, 82, 84, 73, 67, 85, 76, 65, 84, 69, 196, 65,
- 82, 84, 65, 66, 197, 65, 82, 83, 69, 79, 83, 128, 65, 82, 83, 69, 79,
- 211, 65, 82, 83, 69, 78, 73, 67, 128, 65, 82, 82, 79, 87, 83, 128, 65,
- 82, 82, 79, 87, 211, 65, 82, 82, 79, 87, 72, 69, 65, 68, 128, 65, 82, 82,
- 79, 87, 72, 69, 65, 196, 65, 82, 82, 79, 87, 45, 84, 65, 73, 76, 128, 65,
- 82, 82, 73, 86, 69, 128, 65, 82, 82, 65, 89, 128, 65, 82, 80, 69, 71, 71,
- 73, 65, 84, 207, 65, 82, 79, 85, 83, 73, 78, 199, 65, 82, 79, 85, 82,
- 193, 65, 82, 79, 85, 78, 68, 45, 80, 82, 79, 70, 73, 76, 69, 128, 65, 82,
- 79, 85, 78, 196, 65, 82, 77, 89, 128, 65, 82, 77, 79, 85, 82, 128, 65,
- 82, 205, 65, 82, 76, 65, 85, 199, 65, 82, 75, 84, 73, 75, 207, 65, 82,
- 75, 65, 66, 128, 65, 82, 75, 65, 65, 78, 85, 128, 65, 82, 73, 83, 84, 69,
- 82, 65, 128, 65, 82, 73, 83, 84, 69, 82, 193, 65, 82, 73, 69, 83, 128,
- 65, 82, 71, 79, 84, 69, 82, 73, 128, 65, 82, 71, 79, 83, 89, 78, 84, 72,
- 69, 84, 79, 78, 128, 65, 82, 71, 73, 128, 65, 82, 69, 80, 65, 128, 65,
- 82, 68, 72, 65, 86, 73, 83, 65, 82, 71, 65, 128, 65, 82, 67, 72, 65, 73,
- 79, 78, 128, 65, 82, 67, 72, 65, 73, 79, 206, 65, 82, 67, 72, 65, 73,
- 195, 65, 82, 67, 200, 65, 82, 67, 128, 65, 82, 195, 65, 82, 65, 77, 65,
- 73, 195, 65, 82, 65, 69, 65, 69, 128, 65, 82, 65, 69, 65, 45, 85, 128,
- 65, 82, 65, 69, 65, 45, 73, 128, 65, 82, 65, 69, 65, 45, 69, 79, 128, 65,
- 82, 65, 69, 65, 45, 69, 128, 65, 82, 65, 69, 65, 45, 65, 128, 65, 82, 65,
- 68, 128, 65, 82, 65, 196, 65, 82, 65, 66, 73, 67, 45, 73, 78, 68, 73,
- 195, 65, 82, 65, 66, 73, 65, 206, 65, 82, 45, 82, 65, 72, 77, 65, 206,
- 65, 82, 45, 82, 65, 72, 69, 69, 77, 128, 65, 81, 85, 65, 82, 73, 85, 83,
- 128, 65, 81, 85, 65, 70, 79, 82, 84, 73, 83, 128, 65, 81, 85, 193, 65,
- 80, 85, 206, 65, 80, 82, 73, 76, 128, 65, 80, 80, 82, 79, 88, 73, 77, 65,
- 84, 69, 76, 217, 65, 80, 80, 82, 79, 88, 73, 77, 65, 84, 69, 128, 65, 80,
- 80, 82, 79, 65, 67, 72, 69, 211, 65, 80, 80, 82, 79, 65, 67, 72, 128, 65,
- 80, 80, 76, 73, 67, 65, 84, 73, 79, 78, 128, 65, 80, 79, 84, 72, 69, 83,
- 128, 65, 80, 79, 84, 72, 69, 77, 65, 128, 65, 80, 79, 83, 84, 82, 79, 80,
- 72, 69, 128, 65, 80, 79, 83, 84, 82, 79, 70, 79, 83, 128, 65, 80, 79, 83,
- 84, 82, 79, 70, 79, 211, 65, 80, 79, 83, 84, 82, 79, 70, 79, 201, 65, 80,
- 79, 68, 69, 88, 73, 65, 128, 65, 80, 79, 68, 69, 82, 77, 193, 65, 80, 76,
- 79, 85, 78, 128, 65, 80, 76, 201, 65, 80, 73, 78, 128, 65, 80, 69, 83,
- 207, 65, 80, 65, 82, 84, 128, 65, 80, 65, 65, 84, 79, 128, 65, 78, 85,
- 83, 86, 65, 82, 65, 89, 65, 128, 65, 78, 85, 83, 86, 65, 82, 65, 128, 65,
- 78, 85, 83, 86, 65, 82, 193, 65, 78, 85, 68, 65, 84, 84, 65, 128, 65, 78,
- 85, 68, 65, 84, 84, 193, 65, 78, 84, 73, 82, 69, 83, 84, 82, 73, 67, 84,
- 73, 79, 78, 128, 65, 78, 84, 73, 77, 79, 78, 89, 45, 50, 128, 65, 78, 84,
- 73, 77, 79, 78, 89, 128, 65, 78, 84, 73, 77, 79, 78, 217, 65, 78, 84, 73,
- 77, 79, 78, 73, 65, 84, 69, 128, 65, 78, 84, 73, 75, 69, 78, 79, 77, 65,
- 128, 65, 78, 84, 73, 75, 69, 78, 79, 75, 89, 76, 73, 83, 77, 65, 128, 65,
- 78, 84, 73, 70, 79, 78, 73, 65, 128, 65, 78, 84, 73, 67, 76, 79, 67, 75,
- 87, 73, 83, 69, 45, 82, 79, 84, 65, 84, 69, 196, 65, 78, 84, 73, 67, 76,
- 79, 67, 75, 87, 73, 83, 197, 65, 78, 84, 69, 78, 78, 65, 128, 65, 78, 84,
- 69, 78, 78, 193, 65, 78, 84, 65, 82, 71, 79, 77, 85, 75, 72, 65, 128, 65,
- 78, 83, 85, 218, 65, 78, 83, 72, 69, 128, 65, 78, 80, 69, 65, 128, 65,
- 78, 207, 65, 78, 78, 85, 73, 84, 217, 65, 78, 78, 79, 84, 65, 84, 73, 79,
- 206, 65, 78, 78, 65, 65, 85, 128, 65, 78, 75, 72, 128, 65, 78, 72, 85,
- 128, 65, 78, 71, 85, 76, 65, 82, 128, 65, 78, 71, 83, 84, 82, 79, 205,
- 65, 78, 71, 82, 217, 65, 78, 71, 75, 72, 65, 78, 75, 72, 85, 128, 65, 78,
- 71, 69, 210, 65, 78, 71, 69, 76, 128, 65, 78, 71, 69, 68, 128, 65, 78,
- 68, 65, 80, 128, 65, 78, 67, 79, 82, 65, 128, 65, 78, 67, 72, 79, 82,
- 128, 65, 78, 65, 84, 82, 73, 67, 72, 73, 83, 77, 65, 128, 65, 78, 65, 80,
- 128, 65, 77, 80, 83, 128, 65, 77, 80, 69, 82, 83, 65, 78, 68, 128, 65,
- 77, 79, 85, 78, 212, 65, 77, 69, 82, 73, 67, 65, 83, 128, 65, 77, 69, 82,
- 73, 67, 65, 206, 65, 77, 66, 85, 76, 65, 78, 67, 69, 128, 65, 77, 66,
+ 79, 83, 65, 78, 128, 66, 65, 82, 66, 69, 210, 66, 65, 82, 194, 66, 65,
+ 82, 65, 50, 128, 66, 65, 210, 66, 65, 78, 84, 79, 67, 128, 66, 65, 78,
+ 75, 78, 79, 84, 197, 66, 65, 78, 75, 128, 66, 65, 78, 203, 66, 65, 78,
+ 68, 128, 66, 65, 78, 65, 78, 65, 128, 66, 65, 78, 50, 128, 66, 65, 78,
+ 178, 66, 65, 77, 66, 79, 79, 83, 128, 66, 65, 77, 66, 79, 79, 128, 66,
+ 65, 76, 85, 68, 65, 128, 66, 65, 76, 76, 79, 212, 66, 65, 76, 76, 79, 79,
+ 78, 45, 83, 80, 79, 75, 69, 196, 66, 65, 76, 76, 79, 79, 78, 128, 66, 65,
+ 76, 65, 71, 128, 66, 65, 76, 128, 66, 65, 204, 66, 65, 73, 82, 75, 65,
+ 78, 128, 66, 65, 73, 77, 65, 73, 128, 66, 65, 72, 84, 128, 66, 65, 72,
+ 73, 82, 71, 79, 77, 85, 75, 72, 65, 128, 66, 65, 72, 65, 82, 50, 128, 66,
+ 65, 71, 71, 65, 71, 197, 66, 65, 71, 65, 128, 66, 65, 71, 51, 128, 66,
+ 65, 199, 66, 65, 68, 71, 69, 82, 128, 66, 65, 68, 71, 69, 128, 66, 65,
+ 68, 128, 66, 65, 67, 84, 82, 73, 65, 206, 66, 65, 67, 75, 83, 80, 65, 67,
+ 69, 128, 66, 65, 67, 75, 83, 76, 65, 83, 72, 128, 66, 65, 67, 75, 83, 76,
+ 65, 83, 200, 66, 65, 67, 75, 72, 65, 78, 196, 66, 65, 67, 75, 45, 84, 73,
+ 76, 84, 69, 196, 66, 65, 67, 75, 128, 66, 65, 67, 203, 66, 65, 66, 89,
+ 128, 66, 65, 66, 217, 66, 65, 65, 82, 69, 82, 85, 128, 66, 51, 48, 53,
+ 128, 66, 50, 53, 57, 128, 66, 50, 53, 56, 128, 66, 50, 53, 55, 128, 66,
+ 50, 53, 54, 128, 66, 50, 53, 53, 128, 66, 50, 53, 180, 66, 50, 53, 51,
+ 128, 66, 50, 53, 50, 128, 66, 50, 53, 49, 128, 66, 50, 53, 48, 128, 66,
+ 50, 52, 57, 128, 66, 50, 52, 56, 128, 66, 50, 52, 183, 66, 50, 52, 54,
+ 128, 66, 50, 52, 53, 128, 66, 50, 52, 179, 66, 50, 52, 178, 66, 50, 52,
+ 177, 66, 50, 52, 176, 66, 50, 51, 54, 128, 66, 50, 51, 52, 128, 66, 50,
+ 51, 179, 66, 50, 51, 50, 128, 66, 50, 51, 177, 66, 50, 51, 176, 66, 50,
+ 50, 57, 128, 66, 50, 50, 56, 128, 66, 50, 50, 55, 128, 66, 50, 50, 54,
+ 128, 66, 50, 50, 181, 66, 50, 50, 50, 128, 66, 50, 50, 49, 128, 66, 50,
+ 50, 176, 66, 50, 49, 57, 128, 66, 50, 49, 56, 128, 66, 50, 49, 55, 128,
+ 66, 50, 49, 54, 128, 66, 50, 49, 53, 128, 66, 50, 49, 52, 128, 66, 50,
+ 49, 51, 128, 66, 50, 49, 50, 128, 66, 50, 49, 49, 128, 66, 50, 49, 48,
+ 128, 66, 50, 48, 57, 128, 66, 50, 48, 56, 128, 66, 50, 48, 55, 128, 66,
+ 50, 48, 54, 128, 66, 50, 48, 53, 128, 66, 50, 48, 52, 128, 66, 50, 48,
+ 51, 128, 66, 50, 48, 50, 128, 66, 50, 48, 49, 128, 66, 50, 48, 48, 128,
+ 66, 49, 57, 177, 66, 49, 57, 48, 128, 66, 49, 56, 57, 128, 66, 49, 56,
+ 53, 128, 66, 49, 56, 52, 128, 66, 49, 56, 51, 128, 66, 49, 56, 50, 128,
+ 66, 49, 56, 49, 128, 66, 49, 56, 48, 128, 66, 49, 55, 57, 128, 66, 49,
+ 55, 56, 128, 66, 49, 55, 55, 128, 66, 49, 55, 182, 66, 49, 55, 52, 128,
+ 66, 49, 55, 179, 66, 49, 55, 50, 128, 66, 49, 55, 49, 128, 66, 49, 55,
+ 48, 128, 66, 49, 54, 57, 128, 66, 49, 54, 56, 128, 66, 49, 54, 55, 128,
+ 66, 49, 54, 54, 128, 66, 49, 54, 53, 128, 66, 49, 54, 52, 128, 66, 49,
+ 54, 179, 66, 49, 54, 178, 66, 49, 54, 49, 128, 66, 49, 54, 48, 128, 66,
+ 49, 53, 185, 66, 49, 53, 56, 128, 66, 49, 53, 55, 128, 66, 49, 53, 182,
+ 66, 49, 53, 53, 128, 66, 49, 53, 52, 128, 66, 49, 53, 51, 128, 66, 49,
+ 53, 50, 128, 66, 49, 53, 177, 66, 49, 53, 48, 128, 66, 49, 52, 54, 128,
+ 66, 49, 52, 181, 66, 49, 52, 50, 128, 66, 49, 52, 177, 66, 49, 52, 176,
+ 66, 49, 51, 181, 66, 49, 51, 179, 66, 49, 51, 50, 128, 66, 49, 51, 177,
+ 66, 49, 51, 176, 66, 49, 50, 184, 66, 49, 50, 183, 66, 49, 50, 181, 66,
+ 49, 50, 179, 66, 49, 50, 178, 66, 49, 50, 177, 66, 49, 50, 176, 66, 49,
+ 48, 57, 205, 66, 49, 48, 57, 198, 66, 49, 48, 56, 205, 66, 49, 48, 56,
+ 198, 66, 49, 48, 55, 205, 66, 49, 48, 55, 198, 66, 49, 48, 54, 205, 66,
+ 49, 48, 54, 198, 66, 49, 48, 53, 205, 66, 49, 48, 53, 198, 66, 49, 48,
+ 181, 66, 49, 48, 180, 66, 49, 48, 178, 66, 49, 48, 176, 66, 48, 57, 177,
+ 66, 48, 57, 176, 66, 48, 56, 57, 128, 66, 48, 56, 183, 66, 48, 56, 54,
+ 128, 66, 48, 56, 181, 66, 48, 56, 51, 128, 66, 48, 56, 50, 128, 66, 48,
+ 56, 177, 66, 48, 56, 176, 66, 48, 55, 57, 128, 66, 48, 55, 184, 66, 48,
+ 55, 183, 66, 48, 55, 182, 66, 48, 55, 181, 66, 48, 55, 180, 66, 48, 55,
+ 179, 66, 48, 55, 178, 66, 48, 55, 177, 66, 48, 55, 176, 66, 48, 54, 185,
+ 66, 48, 54, 184, 66, 48, 54, 183, 66, 48, 54, 182, 66, 48, 54, 181, 66,
+ 48, 54, 52, 128, 66, 48, 54, 51, 128, 66, 48, 54, 178, 66, 48, 54, 177,
+ 66, 48, 54, 176, 66, 48, 53, 185, 66, 48, 53, 184, 66, 48, 53, 183, 66,
+ 48, 53, 54, 128, 66, 48, 53, 181, 66, 48, 53, 180, 66, 48, 53, 179, 66,
+ 48, 53, 178, 66, 48, 53, 177, 66, 48, 53, 176, 66, 48, 52, 57, 128, 66,
+ 48, 52, 184, 66, 48, 52, 55, 128, 66, 48, 52, 182, 66, 48, 52, 181, 66,
+ 48, 52, 180, 66, 48, 52, 179, 66, 48, 52, 178, 66, 48, 52, 177, 66, 48,
+ 52, 176, 66, 48, 51, 185, 66, 48, 51, 184, 66, 48, 51, 183, 66, 48, 51,
+ 182, 66, 48, 51, 52, 128, 66, 48, 51, 179, 66, 48, 51, 178, 66, 48, 51,
+ 177, 66, 48, 51, 176, 66, 48, 50, 185, 66, 48, 50, 184, 66, 48, 50, 183,
+ 66, 48, 50, 182, 66, 48, 50, 181, 66, 48, 50, 180, 66, 48, 50, 179, 66,
+ 48, 50, 50, 128, 66, 48, 50, 177, 66, 48, 50, 176, 66, 48, 49, 57, 128,
+ 66, 48, 49, 56, 128, 66, 48, 49, 183, 66, 48, 49, 182, 66, 48, 49, 181,
+ 66, 48, 49, 180, 66, 48, 49, 179, 66, 48, 49, 178, 66, 48, 49, 177, 66,
+ 48, 49, 176, 66, 48, 48, 57, 128, 66, 48, 48, 185, 66, 48, 48, 56, 128,
+ 66, 48, 48, 184, 66, 48, 48, 55, 128, 66, 48, 48, 183, 66, 48, 48, 54,
+ 128, 66, 48, 48, 182, 66, 48, 48, 53, 65, 128, 66, 48, 48, 53, 128, 66,
+ 48, 48, 181, 66, 48, 48, 52, 128, 66, 48, 48, 180, 66, 48, 48, 51, 128,
+ 66, 48, 48, 179, 66, 48, 48, 50, 128, 66, 48, 48, 178, 66, 48, 48, 49,
+ 128, 66, 48, 48, 177, 65, 90, 85, 128, 65, 89, 69, 210, 65, 89, 66, 128,
+ 65, 89, 65, 72, 128, 65, 88, 69, 128, 65, 87, 69, 128, 65, 86, 69, 83,
+ 84, 65, 206, 65, 86, 69, 82, 65, 71, 197, 65, 86, 65, 75, 82, 65, 72, 65,
+ 83, 65, 78, 89, 65, 128, 65, 86, 65, 71, 82, 65, 72, 65, 128, 65, 85, 89,
+ 65, 78, 78, 65, 128, 65, 85, 84, 85, 77, 78, 128, 65, 85, 84, 79, 77, 79,
+ 66, 73, 76, 69, 128, 65, 85, 84, 79, 77, 65, 84, 69, 196, 65, 85, 83, 84,
+ 82, 65, 204, 65, 85, 82, 73, 80, 73, 71, 77, 69, 78, 84, 128, 65, 85, 82,
+ 65, 77, 65, 90, 68, 65, 65, 72, 65, 128, 65, 85, 82, 65, 77, 65, 90, 68,
+ 65, 65, 45, 50, 128, 65, 85, 82, 65, 77, 65, 90, 68, 65, 65, 128, 65, 85,
+ 78, 78, 128, 65, 85, 71, 85, 83, 84, 128, 65, 85, 71, 77, 69, 78, 84, 65,
+ 84, 73, 79, 206, 65, 85, 69, 128, 65, 85, 66, 69, 82, 71, 73, 78, 69,
+ 128, 65, 84, 84, 73, 195, 65, 84, 84, 72, 65, 67, 65, 78, 128, 65, 84,
+ 84, 69, 78, 84, 73, 79, 78, 128, 65, 84, 84, 65, 203, 65, 84, 79, 205,
+ 65, 84, 78, 65, 200, 65, 84, 77, 65, 65, 85, 128, 65, 84, 73, 89, 65,
+ 128, 65, 84, 72, 76, 69, 84, 73, 195, 65, 84, 72, 65, 82, 86, 65, 86, 69,
+ 68, 73, 195, 65, 84, 72, 65, 80, 65, 83, 67, 65, 206, 65, 83, 90, 128,
+ 65, 83, 89, 85, 82, 193, 65, 83, 89, 77, 80, 84, 79, 84, 73, 67, 65, 76,
+ 76, 217, 65, 83, 84, 82, 79, 78, 79, 77, 73, 67, 65, 204, 65, 83, 84, 82,
+ 79, 76, 79, 71, 73, 67, 65, 204, 65, 83, 84, 79, 78, 73, 83, 72, 69, 196,
+ 65, 83, 84, 69, 82, 73, 83, 77, 128, 65, 83, 84, 69, 82, 73, 83, 75, 211,
+ 65, 83, 84, 69, 82, 73, 83, 75, 128, 65, 83, 84, 69, 82, 73, 83, 203, 65,
+ 83, 84, 69, 82, 73, 83, 67, 85, 83, 128, 65, 83, 83, 89, 82, 73, 65, 206,
+ 65, 83, 83, 69, 82, 84, 73, 79, 78, 128, 65, 83, 80, 73, 82, 65, 84, 69,
+ 196, 65, 83, 80, 69, 82, 128, 65, 83, 73, 65, 45, 65, 85, 83, 84, 82, 65,
+ 76, 73, 65, 128, 65, 83, 72, 71, 65, 66, 128, 65, 83, 72, 69, 83, 128,
+ 65, 83, 72, 57, 128, 65, 83, 72, 178, 65, 83, 67, 69, 78, 84, 128, 65,
+ 83, 67, 69, 78, 68, 73, 78, 199, 65, 83, 65, 76, 50, 128, 65, 82, 85, 72,
+ 85, 65, 128, 65, 82, 84, 73, 83, 212, 65, 82, 84, 73, 67, 85, 76, 65, 84,
+ 69, 196, 65, 82, 84, 65, 66, 197, 65, 82, 83, 69, 79, 83, 128, 65, 82,
+ 83, 69, 79, 211, 65, 82, 83, 69, 78, 73, 67, 128, 65, 82, 82, 79, 87, 83,
+ 128, 65, 82, 82, 79, 87, 211, 65, 82, 82, 79, 87, 72, 69, 65, 68, 128,
+ 65, 82, 82, 79, 87, 72, 69, 65, 196, 65, 82, 82, 79, 87, 45, 84, 65, 73,
+ 76, 128, 65, 82, 82, 73, 86, 69, 128, 65, 82, 82, 65, 89, 128, 65, 82,
+ 80, 69, 71, 71, 73, 65, 84, 207, 65, 82, 79, 85, 83, 73, 78, 199, 65, 82,
+ 79, 85, 82, 193, 65, 82, 79, 85, 78, 68, 45, 80, 82, 79, 70, 73, 76, 69,
+ 128, 65, 82, 79, 85, 78, 196, 65, 82, 77, 89, 128, 65, 82, 77, 79, 85,
+ 82, 128, 65, 82, 205, 65, 82, 76, 65, 85, 199, 65, 82, 75, 84, 73, 75,
+ 207, 65, 82, 75, 65, 66, 128, 65, 82, 75, 65, 65, 78, 85, 128, 65, 82,
+ 73, 83, 84, 69, 82, 65, 128, 65, 82, 73, 83, 84, 69, 82, 193, 65, 82, 73,
+ 69, 83, 128, 65, 82, 71, 79, 84, 69, 82, 73, 128, 65, 82, 71, 79, 83, 89,
+ 78, 84, 72, 69, 84, 79, 78, 128, 65, 82, 71, 73, 128, 65, 82, 69, 80, 65,
+ 128, 65, 82, 68, 72, 65, 86, 73, 83, 65, 82, 71, 65, 128, 65, 82, 67, 72,
+ 65, 73, 79, 78, 128, 65, 82, 67, 72, 65, 73, 79, 206, 65, 82, 67, 72, 65,
+ 73, 195, 65, 82, 67, 200, 65, 82, 67, 128, 65, 82, 195, 65, 82, 65, 77,
+ 65, 73, 195, 65, 82, 65, 69, 65, 69, 128, 65, 82, 65, 69, 65, 45, 85,
+ 128, 65, 82, 65, 69, 65, 45, 73, 128, 65, 82, 65, 69, 65, 45, 69, 79,
+ 128, 65, 82, 65, 69, 65, 45, 69, 128, 65, 82, 65, 69, 65, 45, 65, 128,
+ 65, 82, 65, 68, 128, 65, 82, 65, 196, 65, 82, 65, 66, 73, 67, 45, 73, 78,
+ 68, 73, 195, 65, 82, 65, 66, 73, 65, 206, 65, 82, 45, 82, 65, 72, 77, 65,
+ 206, 65, 82, 45, 82, 65, 72, 69, 69, 77, 128, 65, 81, 85, 65, 82, 73, 85,
+ 83, 128, 65, 81, 85, 65, 70, 79, 82, 84, 73, 83, 128, 65, 81, 85, 193,
+ 65, 80, 85, 206, 65, 80, 82, 73, 76, 128, 65, 80, 80, 82, 79, 88, 73, 77,
+ 65, 84, 69, 76, 217, 65, 80, 80, 82, 79, 88, 73, 77, 65, 84, 69, 128, 65,
+ 80, 80, 82, 79, 65, 67, 72, 69, 211, 65, 80, 80, 82, 79, 65, 67, 72, 128,
+ 65, 80, 80, 76, 73, 67, 65, 84, 73, 79, 78, 128, 65, 80, 79, 84, 72, 69,
+ 83, 128, 65, 80, 79, 84, 72, 69, 77, 65, 128, 65, 80, 79, 83, 84, 82, 79,
+ 80, 72, 69, 128, 65, 80, 79, 83, 84, 82, 79, 70, 79, 83, 128, 65, 80, 79,
+ 83, 84, 82, 79, 70, 79, 211, 65, 80, 79, 83, 84, 82, 79, 70, 79, 201, 65,
+ 80, 79, 68, 69, 88, 73, 65, 128, 65, 80, 79, 68, 69, 82, 77, 193, 65, 80,
+ 76, 79, 85, 78, 128, 65, 80, 76, 201, 65, 80, 73, 78, 128, 65, 80, 69,
+ 83, 207, 65, 80, 65, 82, 84, 128, 65, 80, 65, 65, 84, 79, 128, 65, 78,
+ 85, 83, 86, 65, 82, 65, 89, 65, 128, 65, 78, 85, 83, 86, 65, 82, 65, 128,
+ 65, 78, 85, 83, 86, 65, 82, 193, 65, 78, 85, 68, 65, 84, 84, 65, 128, 65,
+ 78, 85, 68, 65, 84, 84, 193, 65, 78, 84, 73, 82, 69, 83, 84, 82, 73, 67,
+ 84, 73, 79, 78, 128, 65, 78, 84, 73, 77, 79, 78, 89, 45, 50, 128, 65, 78,
+ 84, 73, 77, 79, 78, 89, 128, 65, 78, 84, 73, 77, 79, 78, 217, 65, 78, 84,
+ 73, 77, 79, 78, 73, 65, 84, 69, 128, 65, 78, 84, 73, 75, 69, 78, 79, 77,
+ 65, 128, 65, 78, 84, 73, 75, 69, 78, 79, 75, 89, 76, 73, 83, 77, 65, 128,
+ 65, 78, 84, 73, 70, 79, 78, 73, 65, 128, 65, 78, 84, 73, 67, 76, 79, 67,
+ 75, 87, 73, 83, 69, 45, 82, 79, 84, 65, 84, 69, 196, 65, 78, 84, 73, 67,
+ 76, 79, 67, 75, 87, 73, 83, 197, 65, 78, 84, 69, 78, 78, 65, 128, 65, 78,
+ 84, 69, 78, 78, 193, 65, 78, 84, 65, 82, 71, 79, 77, 85, 75, 72, 65, 128,
+ 65, 78, 83, 85, 218, 65, 78, 83, 72, 69, 128, 65, 78, 80, 69, 65, 128,
+ 65, 78, 207, 65, 78, 78, 85, 73, 84, 217, 65, 78, 78, 79, 84, 65, 84, 73,
+ 79, 206, 65, 78, 78, 65, 65, 85, 128, 65, 78, 75, 72, 128, 65, 78, 72,
+ 85, 128, 65, 78, 71, 85, 76, 65, 82, 128, 65, 78, 71, 83, 84, 82, 79,
+ 205, 65, 78, 71, 82, 217, 65, 78, 71, 75, 72, 65, 78, 75, 72, 85, 128,
+ 65, 78, 71, 69, 210, 65, 78, 71, 69, 76, 128, 65, 78, 71, 69, 68, 128,
+ 65, 78, 68, 65, 80, 128, 65, 78, 67, 79, 82, 65, 128, 65, 78, 67, 72, 79,
+ 82, 128, 65, 78, 65, 84, 82, 73, 67, 72, 73, 83, 77, 65, 128, 65, 78, 65,
+ 80, 128, 65, 77, 80, 83, 128, 65, 77, 80, 69, 82, 83, 65, 78, 68, 128,
+ 65, 77, 79, 85, 78, 212, 65, 77, 69, 82, 73, 67, 65, 83, 128, 65, 77, 69,
+ 82, 73, 67, 65, 206, 65, 77, 66, 85, 76, 65, 78, 67, 69, 128, 65, 77, 66,
193, 65, 77, 65, 82, 128, 65, 77, 65, 210, 65, 77, 65, 76, 71, 65, 77,
65, 84, 73, 79, 206, 65, 77, 65, 76, 71, 65, 77, 128, 65, 76, 86, 69, 79,
76, 65, 210, 65, 76, 85, 77, 128, 65, 76, 84, 69, 82, 78, 65, 84, 73, 86,
@@ -4386,7289 +4412,7306 @@ static unsigned char lexicon[] = {
75, 65, 66, 128, 65, 75, 83, 65, 128, 65, 75, 72, 77, 73, 77, 73, 195,
65, 75, 66, 65, 210, 65, 75, 65, 82, 65, 128, 65, 75, 65, 82, 193, 65,
73, 89, 65, 78, 78, 65, 128, 65, 73, 86, 73, 76, 73, 203, 65, 73, 84, 79,
- 206, 65, 73, 82, 80, 76, 65, 78, 69, 128, 65, 73, 78, 78, 128, 65, 73,
- 76, 77, 128, 65, 73, 75, 65, 82, 65, 128, 65, 73, 72, 86, 85, 83, 128,
- 65, 72, 83, 68, 65, 128, 65, 72, 83, 65, 128, 65, 72, 65, 71, 71, 65,
- 210, 65, 72, 65, 68, 128, 65, 71, 85, 78, 71, 128, 65, 71, 79, 71, 201,
- 65, 71, 71, 82, 65, 86, 65, 84, 73, 79, 78, 128, 65, 71, 71, 82, 65, 86,
- 65, 84, 69, 196, 65, 71, 65, 73, 78, 128, 65, 70, 84, 69, 210, 65, 70,
- 83, 65, 65, 81, 128, 65, 70, 82, 73, 67, 65, 206, 65, 70, 79, 82, 69, 77,
- 69, 78, 84, 73, 79, 78, 69, 68, 128, 65, 70, 71, 72, 65, 78, 201, 65, 70,
- 70, 82, 73, 67, 65, 84, 73, 79, 206, 65, 69, 89, 65, 78, 78, 65, 128, 65,
- 69, 89, 128, 65, 69, 83, 67, 85, 76, 65, 80, 73, 85, 83, 128, 65, 69, 83,
- 67, 128, 65, 69, 83, 128, 65, 69, 82, 73, 65, 204, 65, 69, 82, 128, 65,
- 69, 76, 65, 45, 80, 73, 76, 76, 65, 128, 65, 69, 76, 128, 65, 69, 75,
- 128, 65, 69, 71, 69, 65, 206, 65, 69, 71, 128, 65, 69, 69, 89, 65, 78,
- 78, 65, 128, 65, 69, 69, 128, 65, 69, 68, 65, 45, 80, 73, 76, 76, 65,
- 128, 65, 69, 68, 128, 65, 69, 66, 128, 65, 68, 86, 65, 78, 84, 65, 71,
- 69, 128, 65, 68, 86, 65, 78, 67, 69, 128, 65, 68, 69, 71, 128, 65, 68,
- 69, 199, 65, 68, 68, 82, 69, 83, 83, 69, 196, 65, 68, 68, 82, 69, 83,
- 211, 65, 68, 68, 65, 75, 128, 65, 68, 65, 203, 65, 67, 85, 84, 69, 45,
- 77, 65, 67, 82, 79, 78, 128, 65, 67, 85, 84, 69, 45, 71, 82, 65, 86, 69,
- 45, 65, 67, 85, 84, 69, 128, 65, 67, 85, 84, 197, 65, 67, 84, 85, 65, 76,
- 76, 217, 65, 67, 84, 73, 86, 65, 84, 197, 65, 67, 82, 79, 80, 72, 79, 78,
- 73, 195, 65, 67, 75, 78, 79, 87, 76, 69, 68, 71, 69, 128, 65, 67, 67, 85,
- 77, 85, 76, 65, 84, 73, 79, 78, 128, 65, 67, 67, 79, 85, 78, 212, 65, 67,
- 67, 69, 80, 84, 128, 65, 67, 67, 69, 78, 84, 45, 83, 84, 65, 67, 67, 65,
- 84, 79, 128, 65, 67, 67, 69, 78, 84, 128, 65, 67, 67, 69, 78, 212, 65,
- 67, 65, 68, 69, 77, 217, 65, 66, 89, 83, 77, 65, 204, 65, 66, 85, 78, 68,
- 65, 78, 67, 69, 128, 65, 66, 75, 72, 65, 83, 73, 65, 206, 65, 66, 66, 82,
- 69, 86, 73, 65, 84, 73, 79, 206, 65, 66, 65, 70, 73, 76, 73, 128, 65, 66,
- 178, 65, 65, 89, 65, 78, 78, 65, 128, 65, 65, 89, 128, 65, 65, 87, 128,
- 65, 65, 79, 128, 65, 65, 74, 128, 65, 65, 66, 65, 65, 70, 73, 76, 73,
- 128, 65, 65, 48, 51, 50, 128, 65, 65, 48, 51, 49, 128, 65, 65, 48, 51,
- 48, 128, 65, 65, 48, 50, 57, 128, 65, 65, 48, 50, 56, 128, 65, 65, 48,
- 50, 55, 128, 65, 65, 48, 50, 54, 128, 65, 65, 48, 50, 53, 128, 65, 65,
- 48, 50, 52, 128, 65, 65, 48, 50, 51, 128, 65, 65, 48, 50, 50, 128, 65,
- 65, 48, 50, 49, 128, 65, 65, 48, 50, 48, 128, 65, 65, 48, 49, 57, 128,
- 65, 65, 48, 49, 56, 128, 65, 65, 48, 49, 55, 128, 65, 65, 48, 49, 54,
- 128, 65, 65, 48, 49, 53, 128, 65, 65, 48, 49, 52, 128, 65, 65, 48, 49,
- 51, 128, 65, 65, 48, 49, 50, 128, 65, 65, 48, 49, 49, 128, 65, 65, 48,
- 49, 48, 128, 65, 65, 48, 48, 57, 128, 65, 65, 48, 48, 56, 128, 65, 65,
- 48, 48, 55, 66, 128, 65, 65, 48, 48, 55, 65, 128, 65, 65, 48, 48, 55,
- 128, 65, 65, 48, 48, 54, 128, 65, 65, 48, 48, 53, 128, 65, 65, 48, 48,
- 52, 128, 65, 65, 48, 48, 51, 128, 65, 65, 48, 48, 50, 128, 65, 65, 48,
- 48, 49, 128, 65, 48, 55, 48, 128, 65, 48, 54, 57, 128, 65, 48, 54, 56,
- 128, 65, 48, 54, 55, 128, 65, 48, 54, 54, 128, 65, 48, 54, 53, 128, 65,
- 48, 54, 52, 128, 65, 48, 54, 51, 128, 65, 48, 54, 50, 128, 65, 48, 54,
- 49, 128, 65, 48, 54, 48, 128, 65, 48, 53, 57, 128, 65, 48, 53, 56, 128,
- 65, 48, 53, 55, 128, 65, 48, 53, 54, 128, 65, 48, 53, 53, 128, 65, 48,
- 53, 52, 128, 65, 48, 53, 51, 128, 65, 48, 53, 50, 128, 65, 48, 53, 49,
- 128, 65, 48, 53, 48, 128, 65, 48, 52, 57, 128, 65, 48, 52, 56, 128, 65,
- 48, 52, 55, 128, 65, 48, 52, 54, 128, 65, 48, 52, 53, 65, 128, 65, 48,
- 52, 53, 128, 65, 48, 52, 52, 128, 65, 48, 52, 51, 65, 128, 65, 48, 52,
- 51, 128, 65, 48, 52, 50, 65, 128, 65, 48, 52, 50, 128, 65, 48, 52, 49,
- 128, 65, 48, 52, 48, 65, 128, 65, 48, 52, 48, 128, 65, 48, 51, 57, 128,
- 65, 48, 51, 56, 128, 65, 48, 51, 55, 128, 65, 48, 51, 54, 128, 65, 48,
- 51, 53, 128, 65, 48, 51, 52, 128, 65, 48, 51, 51, 128, 65, 48, 51, 50,
- 65, 128, 65, 48, 49, 55, 65, 128, 65, 48, 49, 52, 65, 128, 65, 48, 48,
- 54, 66, 128, 65, 48, 48, 54, 65, 128, 65, 48, 48, 53, 65, 128, 65, 45,
- 69, 85, 128, 45, 85, 205, 45, 80, 72, 82, 85, 128, 45, 75, 72, 89, 85,
- 196, 45, 75, 72, 89, 73, 76, 128, 45, 68, 90, 85, 196, 45, 67, 72, 65,
- 210, 45, 67, 72, 65, 76, 128,
+ 206, 65, 73, 82, 80, 76, 65, 78, 69, 128, 65, 73, 78, 213, 65, 73, 78,
+ 78, 128, 65, 73, 76, 77, 128, 65, 73, 75, 65, 82, 65, 128, 65, 73, 72,
+ 86, 85, 83, 128, 65, 72, 83, 68, 65, 128, 65, 72, 83, 65, 128, 65, 72,
+ 65, 71, 71, 65, 210, 65, 72, 65, 68, 128, 65, 71, 85, 78, 71, 128, 65,
+ 71, 79, 71, 201, 65, 71, 71, 82, 65, 86, 65, 84, 73, 79, 78, 128, 65, 71,
+ 71, 82, 65, 86, 65, 84, 69, 196, 65, 71, 65, 73, 78, 128, 65, 70, 84, 69,
+ 210, 65, 70, 83, 65, 65, 81, 128, 65, 70, 82, 73, 67, 65, 206, 65, 70,
+ 79, 82, 69, 77, 69, 78, 84, 73, 79, 78, 69, 68, 128, 65, 70, 71, 72, 65,
+ 78, 201, 65, 70, 70, 82, 73, 67, 65, 84, 73, 79, 206, 65, 69, 89, 65, 78,
+ 78, 65, 128, 65, 69, 89, 128, 65, 69, 83, 67, 85, 76, 65, 80, 73, 85, 83,
+ 128, 65, 69, 83, 67, 128, 65, 69, 83, 128, 65, 69, 82, 73, 65, 204, 65,
+ 69, 82, 128, 65, 69, 76, 65, 45, 80, 73, 76, 76, 65, 128, 65, 69, 76,
+ 128, 65, 69, 75, 128, 65, 69, 71, 69, 65, 206, 65, 69, 71, 128, 65, 69,
+ 69, 89, 65, 78, 78, 65, 128, 65, 69, 69, 128, 65, 69, 68, 65, 45, 80, 73,
+ 76, 76, 65, 128, 65, 69, 68, 128, 65, 69, 66, 128, 65, 68, 86, 65, 78,
+ 84, 65, 71, 69, 128, 65, 68, 86, 65, 78, 67, 69, 128, 65, 68, 69, 71,
+ 128, 65, 68, 69, 199, 65, 68, 68, 82, 69, 83, 83, 69, 196, 65, 68, 68,
+ 82, 69, 83, 211, 65, 68, 68, 65, 75, 128, 65, 68, 65, 203, 65, 67, 85,
+ 84, 69, 45, 77, 65, 67, 82, 79, 78, 128, 65, 67, 85, 84, 69, 45, 71, 82,
+ 65, 86, 69, 45, 65, 67, 85, 84, 69, 128, 65, 67, 85, 84, 197, 65, 67, 84,
+ 85, 65, 76, 76, 217, 65, 67, 84, 73, 86, 65, 84, 197, 65, 67, 82, 79, 80,
+ 72, 79, 78, 73, 195, 65, 67, 75, 78, 79, 87, 76, 69, 68, 71, 69, 128, 65,
+ 67, 67, 85, 77, 85, 76, 65, 84, 73, 79, 78, 128, 65, 67, 67, 79, 85, 78,
+ 212, 65, 67, 67, 69, 80, 84, 128, 65, 67, 67, 69, 78, 84, 45, 83, 84, 65,
+ 67, 67, 65, 84, 79, 128, 65, 67, 67, 69, 78, 84, 128, 65, 67, 67, 69, 78,
+ 212, 65, 67, 65, 68, 69, 77, 217, 65, 66, 89, 83, 77, 65, 204, 65, 66,
+ 85, 78, 68, 65, 78, 67, 69, 128, 65, 66, 75, 72, 65, 83, 73, 65, 206, 65,
+ 66, 66, 82, 69, 86, 73, 65, 84, 73, 79, 206, 65, 66, 65, 70, 73, 76, 73,
+ 128, 65, 66, 178, 65, 65, 89, 65, 78, 78, 65, 128, 65, 65, 89, 128, 65,
+ 65, 87, 128, 65, 65, 79, 128, 65, 65, 74, 128, 65, 65, 66, 65, 65, 70,
+ 73, 76, 73, 128, 65, 65, 48, 51, 50, 128, 65, 65, 48, 51, 49, 128, 65,
+ 65, 48, 51, 48, 128, 65, 65, 48, 50, 57, 128, 65, 65, 48, 50, 56, 128,
+ 65, 65, 48, 50, 55, 128, 65, 65, 48, 50, 54, 128, 65, 65, 48, 50, 53,
+ 128, 65, 65, 48, 50, 52, 128, 65, 65, 48, 50, 51, 128, 65, 65, 48, 50,
+ 50, 128, 65, 65, 48, 50, 49, 128, 65, 65, 48, 50, 48, 128, 65, 65, 48,
+ 49, 57, 128, 65, 65, 48, 49, 56, 128, 65, 65, 48, 49, 55, 128, 65, 65,
+ 48, 49, 54, 128, 65, 65, 48, 49, 53, 128, 65, 65, 48, 49, 52, 128, 65,
+ 65, 48, 49, 51, 128, 65, 65, 48, 49, 50, 128, 65, 65, 48, 49, 49, 128,
+ 65, 65, 48, 49, 48, 128, 65, 65, 48, 48, 57, 128, 65, 65, 48, 48, 56,
+ 128, 65, 65, 48, 48, 55, 66, 128, 65, 65, 48, 48, 55, 65, 128, 65, 65,
+ 48, 48, 55, 128, 65, 65, 48, 48, 54, 128, 65, 65, 48, 48, 53, 128, 65,
+ 65, 48, 48, 52, 128, 65, 65, 48, 48, 51, 128, 65, 65, 48, 48, 50, 128,
+ 65, 65, 48, 48, 49, 128, 65, 48, 55, 48, 128, 65, 48, 54, 57, 128, 65,
+ 48, 54, 56, 128, 65, 48, 54, 55, 128, 65, 48, 54, 54, 128, 65, 48, 54,
+ 53, 128, 65, 48, 54, 52, 128, 65, 48, 54, 51, 128, 65, 48, 54, 50, 128,
+ 65, 48, 54, 49, 128, 65, 48, 54, 48, 128, 65, 48, 53, 57, 128, 65, 48,
+ 53, 56, 128, 65, 48, 53, 55, 128, 65, 48, 53, 54, 128, 65, 48, 53, 53,
+ 128, 65, 48, 53, 52, 128, 65, 48, 53, 51, 128, 65, 48, 53, 50, 128, 65,
+ 48, 53, 49, 128, 65, 48, 53, 48, 128, 65, 48, 52, 57, 128, 65, 48, 52,
+ 56, 128, 65, 48, 52, 55, 128, 65, 48, 52, 54, 128, 65, 48, 52, 53, 65,
+ 128, 65, 48, 52, 53, 128, 65, 48, 52, 52, 128, 65, 48, 52, 51, 65, 128,
+ 65, 48, 52, 51, 128, 65, 48, 52, 50, 65, 128, 65, 48, 52, 50, 128, 65,
+ 48, 52, 49, 128, 65, 48, 52, 48, 65, 128, 65, 48, 52, 48, 128, 65, 48,
+ 51, 57, 128, 65, 48, 51, 56, 128, 65, 48, 51, 55, 128, 65, 48, 51, 54,
+ 128, 65, 48, 51, 53, 128, 65, 48, 51, 52, 128, 65, 48, 51, 51, 128, 65,
+ 48, 51, 50, 65, 128, 65, 48, 49, 55, 65, 128, 65, 48, 49, 52, 65, 128,
+ 65, 48, 48, 54, 66, 128, 65, 48, 48, 54, 65, 128, 65, 48, 48, 53, 65,
+ 128, 65, 45, 69, 85, 128, 45, 85, 205, 45, 80, 72, 82, 85, 128, 45, 75,
+ 72, 89, 85, 196, 45, 75, 72, 89, 73, 76, 128, 45, 68, 90, 85, 196, 45,
+ 67, 72, 65, 210, 45, 67, 72, 65, 76, 128,
};
static unsigned int lexicon_offset[] = {
- 0, 0, 6, 10, 15, 23, 27, 34, 39, 41, 44, 52, 62, 68, 81, 93, 102, 108,
- 113, 121, 130, 135, 140, 144, 150, 153, 158, 166, 173, 181, 186, 191,
- 194, 200, 208, 215, 225, 232, 241, 244, 247, 252, 258, 262, 271, 278,
- 285, 290, 299, 307, 313, 319, 325, 141, 330, 331, 337, 345, 351, 357,
- 365, 372, 374, 377, 381, 388, 390, 397, 402, 408, 410, 417, 425, 427,
- 311, 430, 432, 437, 442, 447, 453, 460, 469, 479, 484, 489, 493, 506,
- 513, 517, 526, 533, 540, 543, 549, 553, 563, 571, 579, 588, 596, 604,
- 609, 617, 624, 634, 645, 649, 654, 657, 661, 665, 666, 672, 678, 680,
- 683, 687, 344, 690, 694, 703, 706, 709, 714, 718, 726, 729, 735, 742,
- 749, 758, 765, 774, 779, 783, 792, 802, 811, 817, 823, 830, 838, 846,
- 855, 863, 867, 875, 880, 781, 511, 889, 893, 897, 904, 908, 915, 689,
- 918, 926, 929, 933, 940, 944, 949, 957, 960, 192, 966, 971, 981, 990,
- 997, 1004, 1012, 1020, 1026, 1030, 1035, 1040, 1046, 1051, 1054, 111,
- 1060, 1064, 1070, 1073, 1086, 1089, 1093, 22, 1097, 1102, 1105, 1108,
- 1114, 1124, 1126, 1132, 1142, 1147, 1156, 1164, 328, 1167, 1170, 1174,
- 1179, 1185, 1190, 1197, 1199, 1204, 1209, 1215, 1220, 1225, 1229, 1234,
- 1240, 1245, 1250, 1254, 1259, 1264, 1268, 1273, 1278, 1283, 1289, 1295,
- 1301, 1306, 1310, 1315, 1320, 1325, 1329, 1334, 1339, 1344, 1349, 1200,
- 1205, 1210, 1216, 1221, 1353, 1226, 1359, 1368, 1230, 1372, 1235, 1241,
- 1246, 1376, 1381, 1386, 1390, 1394, 1400, 1404, 1251, 1407, 1411, 1255,
- 1417, 1260, 1421, 1425, 1265, 1429, 1434, 1438, 1441, 1445, 1269, 1274,
- 1450, 1279, 1456, 1462, 1468, 1474, 1284, 1296, 1302, 1478, 1482, 1486,
- 1489, 1307, 1493, 1495, 1500, 1505, 1511, 1516, 1521, 1525, 1530, 1535,
- 1540, 1545, 1551, 1556, 1561, 1567, 1573, 1578, 1582, 1587, 1592, 1597,
- 1602, 1606, 1614, 1618, 1623, 1628, 1633, 1638, 1642, 1645, 1650, 1655,
- 1660, 1665, 1671, 1676, 1680, 1311, 1683, 1688, 1693, 1316, 1697, 1701,
- 1708, 1321, 1715, 1326, 1719, 1721, 1726, 1732, 1330, 1737, 1746, 1335,
- 1751, 1757, 1340, 1762, 1767, 1770, 1775, 1779, 1783, 1787, 1790, 1794,
- 1345, 1350, 1100, 1799, 1805, 1811, 1817, 1823, 1829, 1835, 1841, 1847,
- 1852, 1858, 1864, 1870, 1876, 1882, 1888, 1894, 1900, 1906, 1911, 1916,
- 1921, 1926, 1931, 1936, 1941, 1946, 1951, 1956, 1962, 1967, 1973, 1978,
- 1984, 1990, 1995, 2001, 2007, 2013, 2019, 2024, 2029, 2031, 2032, 2036,
- 2040, 2045, 2049, 2053, 2057, 2061, 2064, 2069, 2073, 2078, 2082, 2086,
- 2091, 2095, 2098, 2102, 2108, 2122, 2126, 2130, 2133, 2138, 2142, 2146,
- 2149, 2153, 2158, 2163, 2168, 2173, 2177, 2181, 2185, 2190, 2194, 2199,
- 2203, 2208, 2214, 2221, 2227, 2232, 2237, 2242, 2248, 2253, 2259, 2264,
- 2267, 1217, 2269, 2276, 2284, 2294, 2303, 2317, 2321, 2325, 2338, 2346,
- 2350, 2355, 2359, 2362, 2366, 2370, 2375, 2380, 2385, 2389, 2392, 2396,
- 2403, 2410, 2416, 2421, 2426, 2432, 2438, 2443, 2446, 1723, 2448, 2454,
- 2458, 2463, 2467, 2471, 1728, 1734, 2476, 2480, 2483, 2488, 2493, 2498,
- 2503, 2507, 2514, 2519, 2522, 2529, 2535, 2539, 2543, 2547, 2552, 2559,
- 2564, 2569, 2576, 2582, 2588, 2594, 2608, 2625, 2640, 2655, 2664, 2669,
- 2673, 2678, 2683, 2687, 2699, 2706, 2712, 2217, 2718, 2725, 2731, 2735,
- 2738, 2745, 2751, 2755, 2759, 2763, 2054, 2767, 2772, 2777, 2781, 2789,
- 2793, 2797, 2801, 2806, 2811, 2816, 2820, 2825, 2830, 2834, 2839, 2843,
- 2846, 2850, 2854, 2859, 2863, 2867, 2873, 2882, 2886, 2890, 2896, 2901,
- 2908, 2912, 2922, 2926, 2931, 2935, 2940, 2946, 2951, 2955, 2959, 2963,
- 2406, 2971, 2976, 2982, 2987, 2991, 2996, 3001, 3005, 3011, 3016, 3022,
- 3026, 3032, 3037, 3042, 3047, 3052, 3057, 3062, 3067, 3072, 3077, 3083,
- 3088, 1227, 80, 3094, 3098, 3102, 3106, 3111, 3115, 3119, 3123, 3127,
- 3132, 3136, 3141, 3145, 3148, 3152, 3157, 3161, 3166, 3170, 3174, 3178,
- 3183, 3187, 3190, 3203, 3207, 3211, 3215, 3219, 3223, 3226, 3230, 3234,
- 3239, 3243, 3248, 3253, 3258, 3262, 3265, 3268, 3274, 3278, 3282, 3285,
- 3289, 3293, 3296, 3302, 3307, 3312, 3318, 3323, 3328, 3334, 3340, 3345,
- 3350, 3355, 1091, 542, 3360, 3363, 3368, 3372, 3375, 3379, 3384, 3389,
- 3393, 3398, 3402, 3407, 3411, 3415, 3421, 3427, 3430, 3433, 3439, 3446,
- 3453, 3459, 3466, 3471, 3475, 3482, 3487, 3491, 3501, 3505, 3509, 3514,
- 3519, 3529, 2065, 3534, 3538, 3541, 3547, 3552, 3558, 3564, 3569, 3576,
- 3580, 3584, 658, 688, 3588, 3595, 3602, 3609, 3615, 3621, 3626, 3630,
- 3636, 3641, 3645, 2074, 3649, 3657, 583, 3663, 3674, 3678, 3688, 2079,
- 3694, 3699, 3714, 3720, 3727, 3737, 3743, 3748, 3754, 3760, 3763, 3767,
- 3772, 3779, 3784, 3788, 3792, 3796, 3800, 3805, 3811, 3153, 3816, 3828,
- 3836, 3841, 1527, 3848, 3851, 3854, 3858, 3861, 3867, 3871, 3885, 3889,
- 3892, 3896, 3902, 3908, 3913, 3917, 3921, 3927, 3938, 3944, 3949, 3955,
- 3959, 3967, 3977, 3983, 3988, 3997, 4005, 4012, 4016, 4022, 4031, 4040,
- 4044, 4049, 4054, 4058, 4066, 4070, 4075, 4079, 2087, 1369, 4085, 4090,
- 4096, 4101, 4106, 4111, 4116, 4121, 4126, 4132, 4137, 4143, 4148, 4153,
- 4158, 4164, 4169, 4174, 4179, 4184, 4190, 4195, 4201, 4206, 4211, 4216,
- 4221, 4226, 4231, 4237, 4242, 4247, 335, 436, 4252, 4258, 4262, 4266,
- 4271, 4275, 4279, 4282, 4286, 4290, 4294, 4299, 4303, 4307, 4313, 4082,
- 4318, 4321, 4328, 4332, 4345, 4349, 4353, 4357, 4361, 4365, 4369, 4375,
- 4382, 4390, 4394, 4402, 4411, 4417, 4429, 4434, 4437, 4441, 4451, 4459,
- 4467, 4473, 4477, 4487, 4497, 4505, 4512, 4519, 4525, 4531, 4538, 4542,
- 4549, 4559, 4569, 4577, 4584, 4589, 4593, 4601, 4606, 4613, 4621, 4626,
- 4631, 4635, 4649, 4654, 4659, 4666, 4675, 4678, 4682, 4686, 4689, 4694,
- 4699, 4708, 4714, 4720, 4726, 4730, 4741, 4751, 4766, 4781, 4796, 4811,
- 4826, 4841, 4856, 4871, 4886, 4901, 4916, 4931, 4946, 4961, 4976, 4991,
- 5006, 5021, 5036, 5051, 5066, 5081, 5096, 5111, 5126, 5141, 5156, 5171,
- 5186, 5201, 5216, 5231, 5246, 5261, 5276, 5291, 5306, 5321, 5336, 5351,
- 5366, 5381, 5396, 5411, 5426, 5441, 5456, 5471, 5486, 5495, 5504, 5509,
- 5515, 5525, 5529, 5534, 5539, 5547, 5551, 5554, 5558, 2917, 5561, 5566,
- 310, 445, 5572, 5580, 5584, 5588, 5591, 5597, 5601, 5609, 5615, 5620,
- 5627, 5634, 5640, 5645, 5652, 5658, 5666, 5670, 5675, 5687, 5698, 5705,
- 5711, 3175, 5715, 5721, 5726, 5731, 5736, 5742, 5747, 5752, 5757, 5762,
- 5768, 5773, 5778, 5784, 5789, 5795, 5800, 5806, 5811, 5817, 5822, 5827,
- 5832, 5837, 5842, 5848, 5853, 5858, 5863, 5869, 5875, 5881, 5887, 5893,
- 5899, 5905, 5911, 5917, 5923, 5929, 5935, 5940, 5945, 5950, 5955, 5960,
- 5965, 5970, 5975, 5981, 5987, 5992, 5998, 6004, 6010, 6015, 6020, 6025,
- 6030, 6036, 6042, 6047, 6052, 6057, 6062, 6067, 6073, 6078, 6084, 6090,
- 6096, 6102, 6108, 6114, 6120, 6126, 6132, 2096, 5590, 6137, 6141, 6145,
- 6148, 6155, 6158, 6166, 6171, 6176, 6167, 6181, 6168, 6185, 6191, 6197,
- 6202, 6207, 6214, 6222, 6227, 6231, 6234, 6238, 2127, 551, 6242, 6246,
- 6251, 6257, 6262, 6266, 6269, 6273, 6279, 6284, 6288, 6295, 6299, 6303,
- 6307, 946, 747, 6310, 6318, 6325, 6332, 6338, 6345, 6353, 6360, 6367,
- 6372, 6384, 1247, 1377, 1382, 6395, 1387, 6399, 6403, 6412, 6420, 6429,
- 6435, 6440, 6444, 6450, 6455, 6462, 6466, 6475, 6484, 6493, 6502, 6507,
- 6512, 6524, 6529, 6537, 2178, 6541, 6543, 6548, 6552, 6561, 6569, 1391,
- 133, 3403, 3408, 6575, 6579, 6588, 6594, 6599, 6602, 6611, 2652, 6617,
- 6625, 6629, 6633, 2191, 6637, 6642, 6649, 6655, 6661, 6664, 6666, 6669,
- 6677, 6685, 6693, 6696, 6701, 6178, 6704, 6706, 6711, 6716, 6721, 6726,
- 6731, 6736, 6741, 6746, 6751, 6756, 6762, 6767, 6772, 6777, 6783, 6788,
- 6793, 6798, 6803, 6808, 6813, 6819, 6824, 6829, 6834, 6839, 6844, 6849,
- 6854, 6859, 6864, 6869, 6874, 6879, 6884, 6889, 6894, 6899, 6904, 6910,
- 6916, 6921, 6926, 6931, 6936, 6941, 2215, 2222, 2228, 6946, 6952, 2254,
- 2260, 6960, 6964, 6969, 6973, 6977, 6981, 6986, 6990, 6995, 6999, 7002,
- 7005, 7011, 7017, 7023, 7029, 7035, 7041, 7047, 7051, 7055, 7059, 7063,
- 7067, 7072, 7079, 7090, 7098, 7108, 7115, 7120, 7124, 7135, 7148, 7159,
- 7172, 7183, 7195, 7207, 7219, 7232, 7245, 7252, 7258, 7272, 7279, 7285,
- 7289, 7294, 7298, 7305, 7313, 7317, 7323, 7329, 7339, 7343, 7348, 7353,
- 7360, 7366, 7376, 6340, 7382, 7386, 7393, 746, 7397, 7401, 7406, 7411,
- 7416, 7420, 7426, 7434, 7440, 7444, 7450, 7460, 7464, 7470, 7475, 7479,
- 7485, 7491, 2119, 7496, 7498, 7506, 7515, 7519, 7525, 7530, 7535, 7540,
- 7545, 7551, 7556, 3923, 7561, 7565, 7571, 7576, 7582, 7587, 7592, 7598,
- 7603, 7520, 7609, 7613, 7620, 7626, 7631, 7635, 4645, 7640, 7649, 6645,
- 6652, 7654, 2803, 7658, 7663, 7668, 7531, 7672, 7536, 7541, 7677, 7684,
- 7691, 7697, 7703, 7709, 7714, 7719, 7724, 7546, 7552, 7730, 7736, 7741,
- 7749, 7557, 7754, 1028, 7757, 7765, 7771, 7777, 7786, 7794, 7799, 7805,
- 7813, 7820, 7835, 7852, 7871, 7880, 7888, 7903, 7914, 7924, 7934, 7942,
- 7948, 7960, 7969, 7977, 7984, 7991, 7997, 8002, 8010, 8020, 8027, 8037,
- 8047, 8057, 8065, 8072, 8081, 8091, 8105, 8120, 8129, 8137, 8142, 8146,
- 8155, 8161, 8166, 8176, 8186, 8196, 8201, 8205, 8214, 8219, 8229, 8240,
- 8253, 8266, 8278, 8286, 8291, 8295, 8301, 8306, 8314, 8322, 8329, 8334,
- 8342, 8348, 8351, 8355, 8361, 8369, 8374, 8378, 8386, 8395, 8403, 8409,
- 8413, 8420, 8431, 8435, 8438, 8444, 8449, 8453, 8459, 8466, 8472, 8477,
- 8484, 8491, 8498, 8505, 8512, 8519, 8524, 7848, 8529, 8535, 8542, 8549,
- 8554, 8561, 8570, 8574, 8586, 8590, 8593, 8597, 8601, 8605, 8609, 8615,
- 8620, 8626, 8631, 8636, 8642, 8647, 8652, 7356, 8657, 8661, 8665, 8669,
- 8674, 8679, 8687, 8693, 8697, 8701, 8708, 8713, 8721, 8726, 8730, 8733,
- 8739, 8746, 8750, 8753, 8758, 8762, 3962, 8768, 8777, 36, 8785, 8791,
- 8796, 7371, 8801, 8807, 8812, 8816, 8819, 8834, 8853, 8865, 8878, 8891,
- 8904, 8918, 8931, 8946, 8953, 8959, 8963, 8977, 8982, 8988, 8993, 9001,
- 9006, 6471, 9011, 9014, 9021, 9026, 9030, 2808, 955, 9036, 9040, 9046,
- 9052, 9057, 9063, 9068, 7566, 9074, 9080, 9085, 9090, 9098, 9104, 9117,
- 9125, 9132, 7572, 9138, 9146, 9154, 9161, 9174, 9186, 9196, 9203, 9210,
- 9219, 9228, 9236, 9243, 9248, 9254, 7577, 9259, 9265, 7583, 9270, 9273,
- 9280, 9286, 9299, 7083, 9310, 9316, 9325, 9333, 9340, 9346, 9352, 9357,
- 9361, 9366, 8826, 9372, 7588, 9379, 9384, 9391, 9397, 9403, 9408, 9416,
- 9424, 9431, 9435, 9449, 9459, 9464, 9468, 9479, 9485, 9490, 9495, 7593,
- 7599, 9499, 9502, 9507, 9519, 9526, 9531, 9535, 9540, 9544, 9551, 9557,
- 7604, 7521, 9564, 2813, 8, 9571, 9576, 9580, 9586, 9594, 9604, 9609,
- 9614, 9621, 9628, 9632, 9643, 9653, 9662, 9674, 9679, 9683, 9691, 9705,
- 9709, 9712, 9720, 9727, 9735, 9739, 9750, 9754, 9761, 9766, 9770, 9776,
- 9781, 9785, 9791, 9796, 9807, 9811, 9814, 9820, 9825, 9831, 9837, 9844,
- 9855, 9865, 9875, 9884, 9891, 7614, 7621, 7627, 7632, 9897, 9903, 7636,
- 9909, 9912, 9919, 9924, 9939, 9955, 9970, 9978, 9984, 1043, 400, 9989,
- 9997, 10004, 10010, 10015, 10020, 7641, 10022, 10026, 10031, 10035,
- 10045, 10050, 10054, 10063, 10067, 10070, 10077, 10081, 10084, 10092,
- 10099, 10107, 10111, 10118, 10127, 10130, 10134, 10138, 10144, 10148,
- 10152, 10156, 10162, 10172, 10176, 10184, 10188, 10195, 10199, 10204,
- 10208, 10215, 10221, 10229, 10235, 10245, 10250, 10255, 10259, 10267,
- 3822, 10275, 10280, 10284, 10288, 10291, 10299, 10306, 10310, 4469,
- 10314, 10319, 10323, 10334, 10339, 10345, 10349, 10352, 10360, 10365,
- 10370, 10377, 10382, 7650, 10387, 10391, 1685, 4619, 10398, 10403, 10408,
- 10413, 10419, 10424, 10430, 10435, 10440, 10445, 10450, 10455, 10460,
- 10465, 10470, 10475, 10480, 10485, 10490, 10495, 10500, 10505, 10510,
- 10516, 10521, 10526, 10531, 10536, 10541, 10547, 10552, 10557, 10563,
- 10568, 10574, 10579, 10585, 10590, 10595, 10600, 10605, 10611, 10616,
- 10621, 10626, 724, 139, 10634, 10638, 10643, 10648, 10652, 10656, 10660,
- 10665, 10669, 10674, 10678, 10681, 10685, 10689, 10694, 10704, 10710,
- 10718, 10722, 10726, 10733, 10741, 10750, 10761, 10768, 10775, 10784,
- 10793, 10801, 10810, 10819, 10828, 10837, 10847, 10857, 10867, 10877,
- 10887, 10896, 10906, 10916, 10926, 10936, 10946, 10956, 10966, 10975,
- 10985, 10995, 11005, 11015, 11025, 11035, 11044, 11054, 11064, 11074,
- 11084, 11094, 11104, 11114, 11124, 11134, 11143, 11153, 11163, 11173,
- 11183, 11193, 11203, 11213, 11223, 11233, 11243, 11252, 11258, 11262,
- 11265, 11269, 11274, 11281, 11287, 11292, 11296, 11301, 11310, 11318,
- 11323, 11327, 11331, 11337, 11342, 11348, 7659, 11353, 11358, 11367,
- 7664, 11372, 11375, 11381, 11389, 7669, 11396, 11400, 11404, 11408,
- 11418, 11424, 11429, 11438, 11446, 11453, 11460, 11465, 11472, 11477,
- 11481, 11484, 11495, 11505, 11514, 11522, 11533, 11545, 11555, 11560,
- 11564, 11569, 11574, 11578, 11584, 11592, 11599, 11610, 11615, 11625,
- 11634, 11638, 11641, 11648, 11658, 11667, 11674, 11678, 11685, 11691,
- 11696, 11701, 11705, 11714, 11719, 11725, 11729, 11734, 11738, 11747,
- 11755, 11763, 11770, 11778, 11790, 11801, 11811, 11818, 11824, 11833,
- 11844, 11853, 11865, 11877, 11889, 11899, 11908, 11917, 11925, 11932,
- 11941, 11949, 11955, 11961, 11966, 6199, 11970, 11972, 11977, 11983,
- 11992, 12000, 12007, 12016, 12025, 12034, 12043, 12052, 12061, 12070,
- 12079, 12089, 12099, 12108, 12114, 12121, 12135, 12142, 12150, 12159,
- 12165, 12174, 12183, 12194, 12204, 12212, 12219, 12227, 12236, 12249,
- 12257, 12264, 12277, 12283, 12289, 12299, 12308, 12317, 12322, 12326,
- 12332, 12338, 12345, 7370, 12350, 12355, 12362, 12367, 12372, 12376,
- 12384, 12390, 12395, 12403, 12411, 12418, 12426, 12432, 12440, 12448,
- 12453, 12459, 12466, 12472, 12477, 12481, 12492, 12500, 12506, 12511,
- 12520, 12526, 12531, 12540, 12554, 3781, 12558, 12563, 12568, 12574,
- 12579, 12584, 12588, 12593, 12598, 6198, 12603, 12608, 12613, 12618,
- 12622, 12627, 12632, 12637, 12643, 12649, 12654, 12658, 12663, 12668,
- 12673, 7673, 12678, 12683, 12688, 12693, 12710, 12728, 12740, 12753,
- 12770, 12786, 12803, 12813, 12832, 12843, 12854, 12865, 12876, 12888,
- 12899, 12910, 12927, 12938, 12949, 12954, 2335, 12958, 12961, 12967,
- 12975, 12983, 12988, 12996, 13004, 13011, 13016, 13022, 13029, 13037,
- 13044, 13056, 13064, 13069, 9933, 13075, 13084, 13093, 13101, 13108,
- 13114, 13122, 13129, 13135, 13142, 13148, 13157, 13165, 13175, 13182,
- 13188, 13196, 13202, 13210, 13217, 13230, 13237, 13246, 13255, 13264,
- 13272, 13282, 13289, 13294, 3495, 13301, 13306, 13309, 12604, 13313,
- 13319, 13323, 13331, 13343, 13348, 13355, 13361, 13366, 13373, 12609,
- 13377, 13381, 12614, 13385, 13389, 13393, 13400, 13405, 13409, 13413,
- 13421, 13428, 13435, 13452, 13461, 13465, 13468, 13476, 13482, 13487,
- 3573, 13491, 13493, 13501, 13508, 13518, 13530, 13535, 13541, 13546,
- 13550, 13556, 13561, 13567, 13570, 13577, 13585, 13592, 13598, 13604,
- 13609, 13616, 13622, 13627, 13634, 13638, 13644, 13648, 13655, 13661,
- 13667, 13675, 13681, 13686, 13692, 13700, 13708, 13714, 13720, 13725,
- 13732, 13737, 13741, 13747, 13752, 13759, 13764, 13770, 13773, 13779,
- 13785, 13788, 13792, 13804, 13810, 13815, 13822, 13828, 13834, 13845,
- 13855, 13864, 13872, 13879, 13890, 13900, 13910, 13918, 13921, 12628,
- 13926, 13931, 12633, 12758, 13939, 13952, 13967, 13978, 12775, 13996,
- 14009, 14022, 14033, 8841, 14044, 14057, 14076, 14087, 14098, 14109,
- 2603, 14122, 14126, 14134, 14145, 14152, 14158, 14166, 14170, 14176,
- 14179, 14189, 14197, 14204, 14212, 14222, 14227, 14234, 14239, 14246,
- 14257, 14267, 14273, 14278, 14283, 14287, 14291, 14297, 14303, 14308,
- 14313, 14318, 14322, 12638, 12644, 14326, 12650, 14331, 14339, 14348,
- 14355, 7542, 14359, 14361, 14366, 14371, 14377, 14382, 14387, 14392,
- 14397, 14401, 14407, 14413, 14418, 14424, 14429, 14434, 14440, 14445,
- 14450, 14455, 14461, 14466, 14471, 14477, 14483, 14488, 14493, 14500,
- 14506, 14517, 14524, 14529, 14533, 14537, 14540, 14548, 14553, 14560,
- 14567, 14572, 14577, 14584, 14594, 14599, 14606, 14612, 14622, 14632,
- 14646, 14660, 14674, 14688, 14703, 14718, 14735, 14753, 14766, 14772,
- 14777, 14782, 14786, 14791, 14799, 14805, 14810, 14815, 14819, 14824,
- 14828, 14833, 14837, 14848, 14854, 14859, 14864, 14871, 14876, 14880,
- 14885, 14890, 14896, 14903, 14909, 14914, 14918, 14924, 14929, 14934,
- 14938, 14944, 14949, 14954, 14961, 14966, 11420, 14970, 14975, 14979,
- 14984, 14990, 14996, 15003, 15013, 15021, 15028, 15033, 15037, 15046,
- 15054, 15061, 15068, 15074, 15080, 15085, 15090, 15096, 15101, 15107,
- 15112, 15118, 15124, 15131, 15137, 15142, 15147, 7715, 15156, 15159,
- 15165, 15170, 15175, 15185, 15192, 15198, 15203, 15209, 15214, 15220,
- 15225, 15231, 15237, 15242, 15250, 15257, 15262, 15267, 15273, 15278,
- 15282, 15291, 15302, 15309, 15317, 15323, 15330, 15336, 15341, 15345,
- 15351, 15356, 15361, 15366, 7720, 6223, 2827, 15370, 15374, 15378, 15382,
- 15386, 15389, 15396, 15404, 12664, 15411, 15421, 15429, 15436, 15444,
- 15454, 15463, 15476, 15481, 15486, 15494, 15501, 11510, 11519, 15508,
- 15518, 15533, 15539, 15546, 15553, 15559, 15569, 15579, 12669, 15588,
- 15594, 15600, 15608, 15616, 15621, 15630, 15638, 15650, 15660, 15670,
- 15680, 15689, 15701, 15711, 15721, 15732, 15737, 15749, 15761, 15773,
- 15785, 15797, 15809, 15821, 15833, 15845, 15857, 15868, 15880, 15892,
- 15904, 15916, 15928, 15940, 15952, 15964, 15976, 15988, 15999, 16011,
- 16023, 16035, 16047, 16059, 16071, 16083, 16095, 16107, 16119, 16130,
- 16142, 16154, 16166, 16178, 16190, 16202, 16214, 16226, 16238, 16250,
- 16261, 16273, 16285, 16297, 16309, 16321, 16333, 16345, 16357, 16369,
- 16381, 16392, 16404, 16416, 16428, 16440, 16452, 16464, 16476, 16488,
- 16500, 16512, 16523, 16535, 16547, 16559, 16571, 16583, 16595, 16607,
- 16619, 16631, 16643, 16654, 16666, 16678, 16690, 16702, 16715, 16728,
- 16741, 16754, 16767, 16780, 16793, 16805, 16818, 16831, 16844, 16857,
- 16870, 16883, 16896, 16909, 16922, 16935, 16947, 16960, 16973, 16986,
- 16999, 17012, 17025, 17038, 17051, 17064, 17077, 17089, 17102, 17115,
- 17128, 17141, 17154, 17167, 17180, 17193, 17206, 17219, 17231, 17244,
- 17257, 17270, 17283, 17296, 17309, 17322, 17335, 17348, 17361, 17373,
- 17386, 17399, 17412, 17425, 17438, 17451, 17464, 17477, 17490, 17503,
- 17515, 17526, 17539, 17552, 17565, 17578, 17591, 17604, 17617, 17630,
- 17643, 17656, 17668, 17681, 17694, 17707, 17720, 17733, 17746, 17759,
- 17772, 17785, 17798, 17810, 17823, 17836, 17849, 17862, 17875, 17888,
- 17901, 17914, 17927, 17940, 17952, 17965, 17978, 17991, 18004, 18017,
- 18030, 18043, 18056, 18069, 18082, 18094, 18107, 18120, 18133, 18146,
- 18159, 18172, 18185, 18198, 18211, 18224, 18236, 18249, 18262, 18275,
- 18288, 18301, 18314, 18327, 18340, 18353, 18366, 18378, 18391, 18404,
- 18417, 18430, 18443, 18456, 18469, 18482, 18495, 18508, 18520, 18533,
- 18546, 18559, 18572, 18585, 18598, 18611, 18624, 18637, 18650, 18662,
- 18675, 18688, 18701, 18714, 18727, 18740, 18753, 18766, 18779, 18792,
- 18804, 18817, 18830, 18843, 18856, 18869, 18882, 18895, 18908, 18921,
- 18934, 18946, 18957, 18965, 18972, 18978, 18982, 18988, 18994, 19002,
- 19008, 19013, 19017, 19026, 7547, 19037, 19044, 19052, 19059, 19066,
- 9293, 19073, 19082, 19087, 19092, 6239, 19099, 19104, 19107, 19112,
- 19120, 19127, 19134, 19141, 19147, 19156, 19165, 19171, 19180, 19186,
- 19191, 19201, 19208, 19214, 19222, 19228, 19235, 19245, 19254, 19258,
- 19265, 19269, 19274, 19280, 19288, 19292, 19302, 12679, 19311, 19317,
- 19321, 19330, 19336, 19343, 19354, 19362, 19371, 7335, 19379, 19384,
- 19390, 19395, 19399, 19403, 19407, 8006, 19412, 19420, 19427, 19436,
- 19443, 19450, 9223, 19457, 19463, 19467, 19473, 19479, 19487, 19493,
- 19500, 19506, 19512, 19521, 19525, 19533, 19542, 19549, 19554, 19558,
- 19569, 19574, 19579, 19584, 19597, 6426, 19601, 19607, 19615, 19619,
- 19626, 19635, 19640, 19648, 19660, 19665, 19669, 19672, 19678, 19684,
- 19689, 19693, 19696, 19707, 19712, 7750, 19719, 7558, 7755, 19724, 19729,
- 19734, 19739, 19744, 19749, 19754, 19759, 19764, 19769, 19774, 19779,
- 19785, 19790, 19795, 19800, 19805, 19810, 19815, 19820, 19825, 19830,
- 19836, 19842, 19847, 19852, 19857, 19862, 19867, 19872, 19877, 19882,
- 19887, 19893, 19898, 19903, 19908, 19914, 19920, 19925, 19930, 19935,
- 19940, 19945, 19950, 19955, 19960, 19966, 19971, 19976, 19981, 19986,
- 19992, 19997, 20002, 20006, 129, 20014, 20018, 20022, 20026, 20031,
- 20035, 20039, 10781, 20043, 20048, 20052, 20057, 20061, 20066, 20070,
- 20076, 20081, 20085, 20089, 20097, 20101, 20106, 20111, 20115, 20121,
- 20126, 20130, 20135, 20140, 20144, 20151, 20158, 20165, 20169, 20173,
- 20178, 20182, 20185, 20191, 20204, 20209, 20218, 20223, 7795, 20228,
- 20231, 2666, 2671, 20235, 20241, 20247, 20252, 20257, 20262, 20268,
- 20273, 12190, 20278, 20283, 20288, 20294, 20299, 20304, 20310, 20315,
- 20319, 20324, 20329, 20334, 20338, 20343, 20348, 20353, 20358, 20362,
- 20366, 20371, 2836, 20320, 20375, 20383, 20390, 8100, 20402, 20410,
- 20325, 20417, 20422, 20430, 20330, 20435, 20440, 20448, 20453, 20458,
- 20462, 20467, 20471, 20477, 20480, 20487, 20491, 20495, 20501, 20508,
- 20513, 7362, 1690, 1695, 20517, 20523, 20529, 20534, 20538, 20542, 20546,
- 20549, 20555, 20562, 20570, 20576, 20582, 20587, 20592, 20596, 13039,
- 13896, 20601, 20613, 20616, 20623, 20630, 20634, 20642, 20653, 20662,
- 20675, 20685, 20699, 20711, 20725, 20737, 20747, 20759, 20765, 20780,
- 20804, 20822, 20841, 20854, 20868, 20886, 20902, 20919, 20937, 20948,
- 20967, 20984, 21004, 21022, 21034, 21048, 21062, 21074, 21091, 21110,
- 21128, 21140, 21158, 21177, 12818, 21190, 21210, 21222, 8872, 21234,
- 21239, 21244, 21249, 21255, 21260, 21264, 21271, 2352, 21275, 21281,
- 21285, 21288, 21292, 21300, 21306, 20339, 21310, 21319, 21330, 21336,
- 21342, 21351, 21359, 21366, 21371, 21378, 21384, 21393, 21401, 21408,
- 21418, 21427, 21437, 21442, 21451, 21460, 21471, 21482, 3880, 21492,
- 21496, 21506, 21514, 21524, 21535, 21540, 21548, 21555, 21561, 21566,
- 20349, 21570, 21579, 21583, 21586, 21591, 21598, 21607, 21615, 21623,
- 21633, 21642, 21648, 21654, 20354, 20359, 21658, 21668, 21678, 21688,
- 21696, 21703, 21713, 21721, 21729, 21735, 962, 21744, 13000, 537, 21758,
- 21767, 21775, 21786, 21797, 21807, 21816, 21828, 21837, 21846, 21852,
- 21861, 21870, 21880, 21888, 21896, 7727, 21902, 21905, 21909, 21914,
- 21919, 8215, 20367, 21927, 21933, 21939, 21944, 21949, 21953, 21961,
- 21967, 21973, 21977, 3467, 21985, 21990, 21995, 21999, 22003, 8287,
- 22010, 22018, 22025, 22031, 8296, 8302, 22039, 22047, 22054, 22059,
- 22064, 22070, 22074, 22085, 22090, 2555, 22095, 22106, 22112, 22117,
- 22121, 22125, 22128, 22135, 22142, 22149, 22155, 22159, 22164, 22168,
- 22172, 979, 22176, 22181, 22186, 22191, 22196, 22201, 22206, 22211,
- 22216, 22221, 22226, 22231, 22236, 22241, 22247, 22252, 22257, 22262,
- 22267, 22272, 22277, 22283, 22288, 22293, 22298, 22303, 22308, 22313,
- 22318, 22324, 22330, 22335, 22341, 22346, 22351, 5, 22357, 22361, 22365,
- 22369, 22374, 22378, 22382, 22386, 22390, 22395, 22399, 22404, 22408,
- 22411, 22415, 22420, 22424, 22429, 22433, 22437, 22441, 22446, 22450,
- 22454, 22464, 22469, 22473, 22477, 22482, 22487, 22496, 22501, 22506,
- 22510, 22514, 22527, 22539, 22548, 22557, 22563, 22568, 22572, 22576,
- 22586, 22595, 22603, 22609, 22614, 22618, 22625, 22635, 22644, 22652,
- 22660, 22667, 22675, 22684, 22693, 22701, 22706, 22710, 22714, 22717,
- 22719, 22723, 22727, 22732, 22737, 22741, 22745, 22748, 22752, 22755,
- 22759, 22762, 22765, 22769, 22775, 22779, 22783, 22787, 22792, 22797,
- 22802, 22806, 22809, 22814, 22820, 22825, 22831, 22836, 22840, 22844,
- 22848, 22853, 22857, 22862, 22866, 22873, 22877, 22880, 22884, 22890,
- 22896, 22900, 22904, 22909, 22916, 22922, 22926, 22935, 22939, 22943,
- 22946, 22952, 22957, 22963, 1452, 1754, 22968, 22973, 22978, 22983,
- 22988, 22993, 22998, 2106, 2148, 23003, 23006, 23010, 23014, 23019,
- 23023, 23027, 23030, 23035, 23040, 23044, 23047, 23052, 23056, 23061,
- 23065, 13012, 23070, 23073, 23076, 23080, 23085, 23098, 23102, 23105,
- 23113, 23122, 23129, 23134, 23140, 23146, 23153, 23160, 23164, 23168,
- 23172, 23177, 23182, 23186, 23194, 23199, 23211, 23222, 23227, 23231,
- 23235, 23241, 23246, 23251, 23255, 23258, 23264, 6346, 2270, 23268,
- 23273, 23289, 7842, 23309, 23318, 23334, 23338, 23341, 23347, 23357,
- 23363, 23378, 23390, 23401, 23409, 23418, 23424, 23433, 23443, 23454,
- 23465, 23474, 23483, 23491, 23498, 23506, 23519, 23526, 23532, 23537,
- 23546, 23552, 23557, 23565, 21516, 23577, 23589, 23603, 23611, 23618,
- 23630, 23639, 23648, 23656, 23664, 23672, 23679, 23688, 23696, 23706,
- 23715, 23725, 23734, 23743, 23751, 23756, 23760, 23763, 23767, 23771,
- 23775, 23779, 23783, 23789, 23795, 23803, 13057, 23810, 23815, 23822,
- 23828, 23835, 13065, 23842, 23845, 23857, 23865, 23871, 23876, 23880,
- 8245, 23891, 23901, 23910, 23917, 23921, 13070, 23924, 23931, 23935,
- 23941, 23944, 23951, 23957, 23961, 23966, 23970, 23979, 23986, 23992,
- 6387, 23999, 24007, 24014, 24020, 24025, 24031, 24037, 24045, 24049,
- 24052, 24054, 23768, 24063, 24069, 24079, 24084, 24091, 24097, 24102,
- 24107, 24112, 24117, 24124, 24133, 24140, 24149, 24155, 24160, 24166,
- 24171, 24178, 24189, 24194, 24198, 24208, 24214, 24218, 24223, 24233,
- 24242, 24246, 24253, 24261, 24268, 24274, 24279, 24287, 24294, 24306,
- 24315, 24319, 11362, 24327, 24337, 24341, 23109, 24352, 24357, 24361,
- 24368, 24375, 20117, 23693, 24380, 24384, 24387, 20954, 24392, 24406,
- 24422, 24440, 24459, 24476, 24494, 20973, 24511, 24531, 20990, 24543,
- 24555, 13983, 24567, 21010, 24581, 24593, 8885, 24607, 24612, 24617,
- 24622, 24628, 24634, 24640, 24644, 24651, 24656, 24666, 24672, 8532,
- 24678, 24680, 24685, 24693, 24697, 24120, 24703, 24710, 9869, 9879,
- 24717, 24727, 24732, 24736, 24739, 24745, 24753, 24765, 24775, 24791,
- 24804, 24818, 14001, 24832, 24839, 24843, 24846, 24851, 24855, 24862,
- 24869, 24879, 24884, 24889, 24894, 24902, 24910, 24919, 24924, 7939,
- 24928, 24931, 24934, 24939, 24946, 24951, 24967, 24975, 24983, 7790,
- 24991, 24996, 25000, 25006, 25012, 25015, 25021, 25033, 25041, 25048,
- 25054, 25061, 25072, 25086, 25099, 25108, 25120, 25131, 25141, 25150,
- 25159, 25167, 25178, 6369, 25185, 25191, 25196, 25202, 25209, 25219,
- 25229, 25238, 25244, 25251, 25256, 25263, 25271, 25279, 25291, 4704,
- 25298, 25307, 25315, 25321, 25327, 25332, 25336, 25339, 25345, 25352,
- 25357, 25362, 25366, 25378, 25389, 25398, 25406, 13197, 25411, 25417,
- 25423, 9862, 7049, 25428, 25431, 25434, 25440, 25448, 25456, 25460,
- 25464, 25469, 25472, 25481, 25489, 25500, 25504, 25510, 25516, 25520,
- 25526, 25534, 25556, 25580, 25587, 25594, 25600, 25606, 25611, 25622,
- 25640, 25647, 25655, 25659, 25668, 25681, 25689, 25701, 25712, 25722,
- 25736, 25745, 25753, 25765, 7859, 25776, 25787, 25799, 25809, 25818,
- 25823, 25827, 25835, 25845, 25850, 25854, 25857, 25860, 25868, 25876,
- 25885, 25895, 25904, 25910, 25924, 2617, 25946, 25957, 25966, 25976,
- 25988, 25997, 26007, 26015, 26023, 26032, 26037, 26048, 26053, 26064,
- 26068, 26078, 26087, 26095, 26105, 26115, 26123, 26132, 26139, 26147,
- 26154, 26163, 26167, 26175, 26182, 26190, 26197, 26208, 26223, 26230,
- 26236, 26246, 26255, 26261, 26268, 12312, 26274, 26278, 26283, 26287,
- 26291, 26299, 26307, 26313, 26322, 26329, 26334, 26339, 26349, 21568,
- 26353, 26356, 26361, 26366, 26371, 26376, 26381, 26386, 26391, 26396,
- 26402, 26407, 26412, 26418, 1223, 679, 26423, 26432, 2318, 26439, 26444,
- 26448, 26454, 1256, 541, 334, 26459, 26468, 26476, 26485, 26493, 26504,
- 26513, 26521, 26525, 26528, 26536, 26544, 26549, 13025, 26555, 26561,
- 26567, 4350, 26572, 26576, 26582, 26586, 26593, 1418, 26599, 7946, 26606,
- 26616, 26624, 26630, 26639, 26647, 26653, 26661, 26668, 9455, 26674,
- 26681, 26688, 1459, 2105, 26694, 26700, 26707, 26718, 26729, 26737,
- 26744, 26754, 26763, 26771, 26778, 26785, 26798, 26809, 26828, 1261,
- 26832, 26837, 26845, 3510, 26849, 26854, 26858, 1422, 22746, 26868,
- 26872, 26877, 26881, 3435, 26887, 26895, 26902, 26913, 26921, 26929,
- 3511, 269, 26934, 26942, 26950, 26957, 26963, 26968, 2170, 26975, 26981,
- 23962, 24184, 26987, 106, 26991, 26995, 27001, 606, 7695, 27006, 27013,
- 27019, 2281, 27023, 27027, 27030, 27033, 27038, 27045, 27051, 27056,
- 27064, 27071, 27077, 20455, 27081, 3581, 14826, 27085, 27090, 27093,
- 27101, 27109, 27112, 27119, 27129, 27141, 27146, 27150, 27158, 27165,
- 27171, 27178, 27185, 27188, 27192, 27196, 1426, 27206, 27208, 27213,
- 27219, 27225, 27230, 27235, 27240, 27245, 27250, 27255, 27260, 27265,
- 27270, 27275, 27280, 27285, 27290, 27295, 27301, 27307, 27313, 27319,
- 27324, 27329, 27334, 27340, 27345, 27350, 27355, 27361, 27366, 27372,
- 27377, 27382, 27387, 27392, 27398, 27403, 27409, 27414, 27419, 27424,
- 27429, 27435, 27440, 27446, 27451, 27456, 27461, 27466, 27471, 27476,
- 27481, 27486, 27491, 27497, 27503, 27509, 27514, 27519, 27524, 27529,
- 27535, 27541, 27547, 27553, 27559, 27565, 27570, 27576, 27581, 27586,
- 27591, 27596, 27602, 2397, 27607, 2404, 2411, 2708, 27612, 2417, 2427,
- 27618, 27622, 27627, 27632, 27638, 27643, 27648, 27652, 27657, 27663,
- 27668, 27673, 27678, 27684, 27689, 27693, 27697, 27702, 27707, 27712,
- 27717, 27722, 27728, 27734, 27739, 27743, 27748, 27754, 27758, 27763,
- 27768, 27773, 27778, 27782, 27785, 27790, 27795, 27800, 27805, 27811,
- 27817, 27822, 27827, 27831, 27836, 27841, 27846, 27851, 27856, 27860,
- 27865, 27870, 27875, 27879, 27883, 27887, 27892, 27900, 27906, 27912,
- 27918, 27923, 27927, 27930, 27935, 27939, 27944, 27948, 27953, 27957,
- 27960, 15489, 27965, 27973, 19439, 26603, 27978, 27983, 27987, 27992,
- 27996, 28000, 28005, 28009, 28012, 28015, 28019, 28024, 28032, 28036,
- 28039, 28044, 28048, 28052, 28057, 28062, 28066, 28072, 28077, 28082,
- 28089, 28096, 28100, 28103, 28109, 28118, 28125, 28133, 28140, 28144,
- 28149, 28153, 28159, 28165, 28169, 28175, 28180, 28185, 28192, 28198,
- 28204, 28210, 28216, 28223, 28229, 28235, 28241, 28247, 28253, 28259,
- 28265, 28272, 28278, 28285, 28291, 28297, 28303, 28309, 28315, 28321,
- 28327, 28333, 28339, 9763, 28345, 28350, 28355, 28358, 28366, 28371,
- 28380, 28386, 28391, 28396, 28401, 28405, 28410, 28415, 28420, 28425,
- 28430, 28437, 28444, 28450, 28456, 28461, 14510, 28468, 28474, 28481,
- 28487, 28493, 28498, 28506, 28511, 14294, 28515, 28520, 28525, 28531,
- 28536, 28541, 28545, 28550, 28555, 28561, 28566, 28571, 28575, 28580,
- 28585, 28589, 28594, 28599, 28604, 28608, 28613, 28618, 28623, 28627,
- 28631, 13531, 28635, 28644, 28650, 28656, 28665, 28673, 28682, 28690,
- 28695, 28699, 28706, 28712, 28716, 28719, 28724, 28733, 28741, 28746,
- 1458, 28752, 28755, 28759, 20524, 20530, 28765, 28769, 28780, 28791,
- 28802, 28814, 28821, 28828, 28833, 28837, 4387, 733, 19438, 28845, 28849,
- 28854, 28860, 28865, 28871, 28876, 28882, 28887, 8764, 2785, 3365, 28891,
- 28894, 28900, 28906, 28912, 28919, 28925, 28931, 28937, 28943, 28949,
- 28955, 28961, 28967, 28973, 28979, 28985, 28991, 28998, 29004, 29010,
- 29016, 29022, 29028, 29033, 29036, 29043, 29051, 29056, 29061, 29067,
- 29072, 29077, 29081, 29086, 29092, 29097, 29103, 29108, 29114, 29119,
- 29125, 29131, 29135, 29140, 29145, 29150, 29155, 29159, 29164, 29169,
- 29174, 29180, 29186, 29192, 29198, 29203, 29207, 29210, 29216, 29222,
- 29231, 29239, 29246, 29251, 29255, 29259, 29264, 13395, 29269, 29277,
- 29283, 3611, 29288, 29291, 29295, 6436, 29301, 29307, 29314, 6445, 29318,
- 29324, 29331, 29337, 29346, 29354, 29366, 29370, 29377, 29383, 29387,
- 29390, 29399, 29407, 29412, 29416, 29426, 29436, 29446, 29452, 29457,
- 29467, 29472, 29485, 29499, 29510, 29522, 29534, 29548, 29561, 29573,
- 29585, 12859, 29599, 29604, 29609, 29613, 29617, 29621, 1743, 25129,
- 29625, 29630, 29635, 29639, 29642, 29647, 29652, 29658, 29664, 8461,
- 29669, 29676, 13935, 29682, 29687, 29692, 29696, 29701, 29706, 28855,
- 29711, 29716, 29721, 29727, 28861, 29732, 29735, 29742, 29750, 29756,
- 29762, 29768, 29779, 29784, 29791, 29798, 29805, 29813, 29822, 29831,
- 29837, 29843, 29851, 28866, 29856, 29862, 29868, 28872, 29873, 29881,
- 29889, 29895, 29902, 29908, 29915, 29922, 29928, 29936, 29946, 29953,
- 29958, 29964, 29969, 29974, 29981, 29990, 29998, 30003, 30009, 30016,
- 30024, 30030, 30035, 30041, 30050, 25890, 30057, 30061, 30066, 30075,
- 30080, 30085, 10714, 30093, 30098, 30103, 30107, 30112, 30117, 30124,
- 30129, 30134, 28877, 28883, 30140, 2473, 239, 30143, 30146, 30150, 30154,
- 30164, 30172, 30176, 30183, 30190, 30194, 30197, 30203, 30211, 30219,
- 30223, 30227, 30230, 30237, 30241, 30248, 30256, 30263, 30267, 30275,
- 684, 297, 30287, 30292, 30297, 30303, 30308, 30313, 3632, 30318, 30321,
- 30326, 30331, 30336, 30341, 30346, 30353, 20609, 30358, 30363, 30368,
- 30373, 30378, 30384, 30389, 30395, 29039, 30401, 30406, 30412, 30418,
- 30428, 30433, 30438, 30442, 30447, 30452, 30457, 30462, 30475, 30480,
- 20406, 14906, 3638, 30484, 30489, 30494, 30500, 30505, 30510, 30514,
- 30519, 30524, 30530, 30535, 30540, 30544, 30549, 30554, 30559, 30563,
- 30568, 30573, 30578, 30584, 30590, 30595, 30599, 30604, 30609, 30614,
- 30618, 30626, 30630, 30636, 30640, 30647, 14699, 30653, 30660, 30668,
- 30675, 30681, 30693, 30699, 30703, 2727, 30707, 30711, 30232, 30720,
- 30731, 30736, 30741, 30746, 30750, 30755, 20535, 30759, 30764, 19459,
- 30768, 30773, 30779, 30784, 30788, 30792, 30795, 30799, 30805, 30816,
- 30828, 30833, 30837, 30840, 343, 30844, 30849, 30854, 30859, 30864,
- 30869, 30875, 30880, 30885, 30891, 30896, 30902, 30907, 30913, 30918,
- 30923, 30928, 30933, 30938, 30943, 30948, 30953, 30959, 30964, 30969,
- 30974, 30979, 30984, 30989, 30994, 31000, 31006, 31011, 31016, 31021,
- 31026, 31031, 31036, 31041, 31046, 31051, 31056, 31061, 31066, 31071,
- 31076, 31081, 31086, 31091, 31096, 31102, 26, 31107, 31111, 31115, 31123,
- 31127, 31131, 31134, 31137, 31139, 31144, 31148, 31153, 31157, 31162,
- 31166, 31171, 31175, 31178, 31180, 31185, 31189, 31200, 31203, 31205,
- 31209, 31221, 31230, 31234, 31240, 31245, 31254, 31260, 31265, 31270,
- 31274, 31279, 31286, 31291, 31297, 31302, 31306, 31313, 23701, 23711,
- 31317, 31322, 31327, 31332, 31339, 31343, 31350, 6544, 31356, 31365,
- 31373, 31388, 31402, 31410, 31421, 31430, 31435, 5681, 31445, 31450,
- 31455, 31459, 31462, 31466, 31471, 31475, 31482, 31487, 31492, 7320,
- 31502, 31504, 31507, 31511, 31517, 31521, 31526, 31531, 31537, 31542,
- 31548, 31553, 31563, 31572, 31580, 31585, 31591, 31596, 31603, 31607,
- 31615, 31622, 31635, 31643, 31647, 31657, 31662, 31666, 31674, 31682,
- 31686, 31695, 31701, 31706, 31714, 31724, 31733, 31742, 31751, 31762,
- 31770, 31781, 31790, 31797, 31803, 31808, 31819, 31824, 31828, 31831,
- 31835, 31843, 31849, 31857, 31864, 31870, 31875, 31881, 2372, 31885,
- 31887, 31892, 31897, 31900, 31902, 31906, 31909, 31916, 31920, 31924,
- 31927, 31933, 31943, 31948, 31954, 31958, 31963, 31976, 24074, 31982,
- 31991, 15654, 31998, 32007, 29432, 32015, 32020, 32024, 32032, 32039,
- 32044, 32048, 32053, 32057, 32065, 32071, 32077, 32082, 32086, 32089,
- 32094, 32107, 32123, 21080, 32140, 32152, 32169, 32181, 32195, 21097,
- 21116, 32207, 32219, 2634, 32233, 32238, 32243, 32248, 32252, 32259,
- 32271, 32277, 32280, 32291, 32302, 29848, 670, 32307, 32311, 32314,
- 32319, 32324, 32330, 32335, 32340, 32346, 32352, 32357, 32361, 32366,
- 32371, 32376, 32380, 32383, 32389, 32394, 32399, 32404, 32408, 32413,
- 32419, 32427, 24299, 32432, 32437, 32444, 32450, 32456, 32461, 32469,
- 20618, 32476, 32481, 32486, 32491, 32495, 32498, 32503, 32507, 32511,
- 32518, 32524, 32530, 32536, 32543, 32548, 32554, 31677, 32558, 32562,
- 32567, 32580, 32585, 32591, 32599, 32606, 32614, 32624, 32630, 32636,
- 32642, 32646, 32655, 32660, 32665, 8787, 32670, 32677, 32683, 32693,
- 32698, 32704, 32712, 3543, 32719, 32726, 3549, 32730, 32735, 32746,
- 32753, 32759, 32768, 32772, 3932, 32775, 32782, 32788, 32794, 32802,
- 32812, 26958, 32819, 32827, 32833, 32838, 32844, 32849, 32855, 32859,
- 32866, 32872, 32881, 24094, 32888, 32893, 32897, 32905, 32913, 7974,
- 4373, 32920, 32924, 32928, 32933, 32939, 32944, 32949, 32956, 30349,
- 32962, 32967, 32971, 32976, 32980, 32989, 32993, 32999, 33006, 33012,
- 33019, 33024, 33033, 33038, 33042, 33047, 33054, 33062, 33070, 33075,
- 19508, 33079, 33082, 33086, 33090, 33094, 33097, 33099, 33104, 33112,
- 33116, 33123, 33127, 33135, 33142, 33152, 33156, 33160, 33168, 33176,
- 33182, 33187, 33196, 11669, 33202, 33211, 33216, 33223, 33231, 33239,
- 33247, 33254, 33261, 33268, 33275, 33282, 33287, 33293, 33310, 33318,
- 33328, 33336, 33343, 385, 33347, 33353, 33357, 33362, 31426, 33368,
- 33371, 33375, 33383, 3554, 33391, 33397, 33403, 33412, 33422, 33429,
- 33435, 3560, 3566, 33444, 33451, 33459, 33464, 33468, 33475, 33483,
- 33489, 33498, 33508, 33514, 33522, 33531, 33538, 33546, 20175, 33553,
- 33560, 33566, 33576, 33585, 33596, 33600, 33610, 33616, 33623, 33631,
- 33640, 33649, 33659, 33670, 33677, 33682, 33689, 2967, 33697, 33703,
- 33708, 33714, 33720, 33725, 33738, 33751, 33764, 33771, 33777, 33785,
- 33790, 33794, 1432, 33798, 33803, 33808, 33813, 33818, 33824, 33829,
- 33834, 33839, 33844, 33849, 33854, 33859, 33865, 33871, 33876, 33881,
- 33887, 33892, 33897, 33902, 33908, 33913, 33918, 33923, 33928, 33934,
- 33939, 33944, 33950, 33955, 33960, 33965, 33970, 33975, 33981, 33986,
- 33992, 33997, 34003, 34008, 34013, 34018, 34024, 34030, 34036, 34042,
- 34048, 34054, 34060, 34066, 34071, 34076, 34082, 34087, 34092, 34097,
- 34102, 34107, 34112, 34117, 34123, 34128, 34133, 34139, 34145, 101,
- 34150, 34152, 34156, 34160, 34164, 34169, 34173, 7895, 34177, 34183,
- 4738, 34189, 34192, 34197, 34201, 34206, 34210, 34214, 34219, 8594,
- 34223, 34227, 34231, 13623, 34236, 34240, 34245, 34250, 34255, 34259,
- 34266, 24098, 34272, 34275, 34279, 34284, 34290, 34294, 34302, 34308,
- 34313, 34317, 34323, 34327, 34331, 3404, 3409, 27144, 34334, 34342,
- 34349, 34353, 34360, 34365, 333, 34370, 34374, 34380, 34392, 34398,
- 34404, 34408, 34414, 34423, 34427, 34431, 34436, 34441, 34446, 34450,
- 34454, 34461, 34467, 34472, 34487, 34502, 34517, 34533, 34551, 8544,
- 34565, 34572, 34576, 34579, 34588, 34593, 34597, 34605, 31628, 34613,
- 34617, 34627, 27114, 34638, 34642, 34651, 34659, 8152, 13163, 34663,
- 34666, 34669, 6557, 3802, 34674, 34682, 34686, 34689, 34693, 34698,
- 34703, 34709, 34715, 34720, 34724, 23946, 34728, 34732, 34738, 34742,
- 7446, 34751, 34758, 34762, 10210, 34769, 34775, 34780, 34787, 34794,
- 34801, 26480, 6480, 34808, 34815, 34822, 34828, 34833, 34840, 34851,
- 34857, 34862, 34867, 34874, 34878, 34882, 34892, 34903, 34909, 34914,
- 34919, 34924, 34929, 34934, 34938, 34942, 34948, 34956, 2273, 828, 8616,
- 8621, 8627, 34965, 8632, 8637, 8643, 34970, 34980, 34984, 8648, 34989,
- 34992, 34997, 35001, 35006, 35011, 35018, 35025, 35033, 8557, 35040,
- 35043, 35049, 35059, 4407, 35068, 35072, 35080, 35084, 35094, 35100,
- 35111, 35117, 35123, 35128, 35134, 35140, 35146, 35151, 35154, 35161,
- 35167, 35172, 35179, 35186, 35190, 35200, 35213, 35222, 35231, 35242,
- 35255, 35266, 35275, 35286, 35291, 35300, 35305, 8653, 35311, 35318,
- 35326, 35331, 35335, 35342, 35349, 3757, 21, 35353, 35358, 14958, 35362,
- 35365, 35368, 26001, 35372, 26489, 35380, 35384, 35388, 35391, 35397,
- 35403, 35411, 35417, 35424, 25993, 35428, 26178, 35432, 35441, 35447,
- 35453, 35458, 35462, 35468, 35472, 35475, 35483, 35491, 24156, 35497,
- 35504, 35510, 35515, 35520, 35524, 35530, 35535, 35541, 3973, 755, 35548,
- 35552, 35555, 13513, 35567, 33527, 35578, 35581, 35588, 35594, 35598,
- 35604, 35609, 35615, 35620, 35625, 35629, 35633, 35638, 35643, 35653,
- 35659, 35672, 35678, 35685, 35690, 35696, 35701, 14844, 1435, 1002,
- 28974, 28980, 35706, 28986, 28999, 29005, 29011, 35712, 29017, 29023,
- 35718, 35724, 14, 35732, 35739, 35743, 35747, 35755, 29737, 35759, 35763,
- 35770, 35775, 35779, 35784, 35790, 35795, 35801, 35806, 35810, 35814,
- 35818, 35823, 35827, 35832, 35836, 35843, 35848, 35852, 35857, 35861,
- 35866, 35870, 35875, 35881, 13733, 13738, 35886, 35890, 35893, 35897,
- 35902, 35906, 35912, 35919, 35924, 35934, 35939, 35947, 35951, 35954,
- 29752, 35958, 4026, 35963, 35968, 35972, 35977, 35981, 35986, 11687,
- 35997, 36001, 36004, 36009, 36013, 36017, 36020, 36024, 6576, 11703,
- 36027, 36030, 36035, 36039, 36048, 36064, 36080, 36090, 25900, 36097,
- 36101, 36106, 36111, 36115, 36119, 33644, 36125, 36130, 36134, 36141,
- 36146, 36150, 36154, 24958, 36160, 19603, 36165, 36172, 36180, 36186,
- 36193, 36201, 36207, 36211, 36217, 36225, 36229, 36238, 7876, 36246,
- 36250, 36258, 36265, 36270, 36275, 36279, 36282, 36286, 36289, 36293,
- 36300, 36305, 36311, 24377, 29034, 36315, 36322, 36328, 36334, 36339,
- 36342, 36344, 36351, 36358, 36364, 36368, 36371, 36375, 36379, 36383,
- 36388, 36392, 36396, 36399, 36403, 36417, 21146, 36436, 36449, 36462,
- 36475, 21164, 36490, 8846, 36505, 36511, 36515, 36519, 36526, 36531,
- 36535, 36542, 36548, 36553, 36559, 36569, 36581, 36592, 36597, 36604,
- 36608, 36612, 36615, 14129, 3605, 36623, 13760, 36636, 36643, 36647,
- 36651, 36656, 36661, 36667, 36671, 36675, 36678, 6188, 13771, 36683,
- 36687, 36693, 36702, 36707, 33504, 36713, 36718, 36722, 36727, 36734,
- 36738, 36741, 12824, 36746, 36753, 1009, 36757, 36762, 36767, 36773,
- 36778, 36783, 36787, 36797, 36802, 36808, 36813, 36819, 36824, 36830,
- 36840, 36845, 36850, 36854, 5683, 5695, 36859, 36862, 36869, 36875,
- 31793, 31800, 36884, 36888, 29800, 36896, 36907, 36915, 33692, 36922,
- 36927, 36932, 36943, 36950, 36961, 29824, 19609, 36969, 722, 36974,
- 36980, 25984, 36986, 36991, 37001, 37010, 37017, 37023, 37027, 37030,
- 37037, 37043, 37050, 37056, 37066, 37074, 37080, 37086, 37091, 37095,
- 37102, 37108, 37115, 36384, 530, 12112, 37121, 37126, 37129, 37135,
- 37143, 1364, 37148, 37152, 37157, 37164, 37170, 37174, 37179, 37188,
- 37195, 37205, 37211, 26019, 37228, 37237, 37245, 37251, 37256, 37263,
- 37269, 37277, 37286, 37294, 37298, 37303, 37311, 29833, 37317, 37336,
- 14062, 37350, 37366, 37380, 37386, 37391, 37396, 37401, 37407, 29839,
- 37412, 37419, 37424, 37428, 341, 2878, 37435, 37440, 37445, 25275, 37266,
- 37449, 37454, 37462, 37466, 37469, 37475, 37479, 26074, 37482, 37487,
- 37491, 37494, 37499, 37503, 37508, 37513, 37517, 37522, 37526, 37530,
- 19346, 19357, 37534, 37539, 37545, 24915, 37550, 37554, 19425, 14280,
- 37557, 37562, 37567, 37572, 37577, 37582, 37587, 37592, 440, 43, 29052,
- 29057, 29062, 29068, 29073, 29078, 37597, 29082, 37601, 37605, 29087,
- 29093, 37609, 29104, 29109, 37617, 37622, 29115, 37627, 37632, 37637,
- 37642, 37648, 37654, 37660, 29132, 37673, 37679, 29136, 37683, 29141,
- 37688, 29146, 29151, 37691, 37696, 37700, 28795, 37706, 11911, 37713,
- 37718, 29156, 37722, 37727, 37732, 37737, 37741, 37746, 37751, 37757,
- 37762, 37767, 37773, 37779, 37784, 37788, 37793, 37798, 37803, 37807,
- 37812, 37817, 37822, 37828, 37834, 37840, 37845, 37849, 37854, 37858,
- 29160, 29165, 29170, 37862, 37866, 29175, 29181, 29187, 29199, 37878,
- 23983, 37882, 37886, 37891, 37896, 37901, 37905, 37909, 37919, 37924,
- 37929, 37933, 37937, 37940, 37948, 29247, 37953, 1442, 37959, 37967,
- 37976, 37980, 37988, 37994, 38002, 38018, 38023, 38038, 29284, 1712,
- 10375, 38042, 2924, 38054, 38055, 38063, 38070, 38075, 38082, 38087,
- 7746, 1090, 8675, 38094, 38099, 38102, 38105, 38114, 1275, 38119, 36532,
- 38126, 38131, 20583, 2511, 38135, 9094, 38145, 38151, 2291, 2301, 38160,
- 38169, 38179, 38190, 3235, 31944, 8727, 3735, 14882, 1280, 38195, 38203,
- 38210, 38215, 38219, 38223, 21930, 8754, 38231, 38240, 38249, 38257,
- 38264, 38269, 38282, 38295, 38307, 38319, 38331, 38344, 38355, 38366,
- 38376, 38384, 38392, 38404, 38416, 38427, 38436, 38444, 38451, 38463,
- 38470, 38479, 38486, 38499, 38504, 38514, 38519, 38525, 38530, 34759,
- 38534, 38541, 38545, 38552, 38560, 2472, 38567, 38578, 38588, 38597,
- 38605, 38615, 38623, 38633, 38642, 38647, 38653, 38659, 38670, 38680,
- 38689, 38698, 38708, 38716, 38725, 38730, 38735, 38740, 1668, 37, 38748,
- 38756, 38767, 38778, 14563, 38788, 38795, 38801, 38806, 38810, 38821,
- 38831, 38840, 38851, 14931, 14936, 38856, 38865, 38870, 38880, 38885,
- 38893, 38901, 38908, 38914, 5536, 1038, 38918, 38924, 38929, 38932, 2075,
- 36648, 38940, 38944, 38947, 1475, 38953, 12261, 1285, 38958, 38971,
- 38985, 2597, 39003, 39015, 39027, 2611, 2628, 39041, 39054, 2643, 39068,
- 39080, 2658, 39094, 1291, 1297, 1303, 9012, 39099, 39104, 39109, 39113,
- 39128, 39143, 39158, 39173, 39188, 39203, 39218, 39233, 39248, 39263,
- 39278, 39293, 39308, 39323, 39338, 39353, 39368, 39383, 39398, 39413,
- 39428, 39443, 39458, 39473, 39488, 39503, 39518, 39533, 39548, 39563,
- 39578, 39593, 39608, 39623, 39638, 39653, 39668, 39683, 39698, 39713,
- 39728, 39743, 39758, 39773, 39788, 39803, 39818, 39833, 39848, 39863,
- 39878, 39893, 39908, 39923, 39938, 39953, 39968, 39983, 39998, 40013,
- 40028, 40043, 40058, 40073, 40088, 40103, 40118, 40133, 40148, 40163,
- 40178, 40193, 40208, 40223, 40238, 40253, 40268, 40283, 40298, 40313,
- 40328, 40343, 40358, 40373, 40388, 40403, 40418, 40433, 40448, 40463,
- 40478, 40493, 40508, 40523, 40538, 40553, 40568, 40583, 40598, 40613,
- 40628, 40643, 40658, 40673, 40688, 40703, 40718, 40733, 40748, 40763,
- 40778, 40793, 40808, 40823, 40838, 40853, 40868, 40883, 40898, 40913,
- 40928, 40943, 40958, 40973, 40988, 41003, 41018, 41033, 41048, 41063,
- 41078, 41093, 41108, 41123, 41138, 41153, 41168, 41183, 41198, 41213,
- 41228, 41243, 41258, 41273, 41288, 41303, 41318, 41333, 41348, 41363,
- 41378, 41393, 41408, 41423, 41438, 41453, 41468, 41483, 41498, 41513,
- 41528, 41543, 41558, 41573, 41588, 41603, 41618, 41633, 41648, 41663,
- 41678, 41693, 41708, 41723, 41738, 41753, 41768, 41783, 41798, 41813,
- 41828, 41843, 41858, 41873, 41888, 41903, 41918, 41933, 41948, 41963,
- 41978, 41993, 42008, 42023, 42038, 42053, 42068, 42083, 42098, 42113,
- 42128, 42143, 42158, 42173, 42188, 42203, 42218, 42233, 42248, 42263,
- 42278, 42293, 42308, 42323, 42338, 42353, 42368, 42383, 42398, 42413,
- 42428, 42443, 42458, 42473, 42488, 42503, 42518, 42533, 42548, 42563,
- 42578, 42593, 42608, 42623, 42638, 42653, 42668, 42683, 42698, 42713,
- 42728, 42743, 42758, 42773, 42788, 42803, 42818, 42833, 42848, 42863,
- 42878, 42893, 42908, 42923, 42938, 42953, 42968, 42983, 42998, 43013,
- 43028, 43043, 43058, 43073, 43088, 43103, 43118, 43133, 43148, 43163,
- 43178, 43193, 43208, 43223, 43238, 43253, 43268, 43283, 43298, 43313,
- 43328, 43343, 43358, 43373, 43388, 43403, 43418, 43433, 43448, 43463,
- 43478, 43493, 43508, 43523, 43538, 43553, 43568, 43583, 43598, 43613,
- 43628, 43643, 43658, 43673, 43688, 43703, 43718, 43733, 43748, 43763,
- 43778, 43793, 43808, 43823, 43838, 43853, 43868, 43883, 43898, 43913,
- 43928, 43943, 43958, 43973, 43988, 44003, 44018, 44033, 44048, 44063,
- 44078, 44093, 44108, 44123, 44138, 44153, 44168, 44183, 44198, 44213,
- 44228, 44243, 44258, 44273, 44288, 44303, 44318, 44333, 44348, 44363,
- 44378, 44393, 44408, 44423, 44438, 44453, 44468, 44483, 44498, 44513,
- 44528, 44543, 44558, 44573, 44588, 44603, 44618, 44633, 44648, 44663,
- 44678, 44693, 44708, 44723, 44738, 44753, 44768, 44783, 44798, 44813,
- 44828, 44843, 44858, 44873, 44888, 44903, 44918, 44933, 44948, 44963,
- 44978, 44993, 45008, 45023, 45038, 45053, 45068, 45083, 45098, 45113,
- 45128, 45143, 45158, 45173, 45188, 45203, 45218, 45233, 45248, 45263,
- 45278, 45293, 45308, 45323, 45338, 45353, 45368, 45383, 45398, 45413,
- 45428, 45443, 45458, 45473, 45488, 45503, 45518, 45533, 45548, 45563,
- 45578, 45593, 45608, 45623, 45638, 45653, 45668, 45683, 45698, 45713,
- 45728, 45743, 45758, 45773, 45788, 45803, 45818, 45833, 45848, 45863,
- 45878, 45893, 45908, 45923, 45938, 45953, 45968, 45983, 45998, 46013,
- 46028, 46043, 46058, 46073, 46088, 46103, 46118, 46133, 46148, 46163,
- 46178, 46193, 46208, 46223, 46238, 46253, 46268, 46283, 46298, 46313,
- 46328, 46343, 46358, 46373, 46388, 46403, 46418, 46433, 46448, 46463,
- 46478, 46493, 46508, 46523, 46538, 46553, 46568, 46583, 46598, 46613,
- 46628, 46643, 46658, 46673, 46688, 46703, 46718, 46733, 46748, 46763,
- 46778, 46793, 46808, 46823, 46838, 46853, 46868, 46883, 46899, 46915,
- 46931, 46947, 46963, 46979, 46995, 47011, 47027, 47043, 47059, 47075,
- 47091, 47107, 47123, 47139, 47155, 47171, 47187, 47203, 47219, 47235,
- 47251, 47267, 47283, 47299, 47315, 47331, 47347, 47363, 47379, 47395,
- 47411, 47427, 47443, 47459, 47475, 47491, 47507, 47523, 47539, 47555,
- 47571, 47587, 47603, 47619, 47635, 47651, 47667, 47683, 47699, 47715,
- 47731, 47747, 47763, 47779, 47795, 47811, 47827, 47843, 47859, 47875,
- 47891, 47907, 47923, 47939, 47955, 47971, 47987, 48003, 48019, 48035,
- 48051, 48067, 48083, 48099, 48115, 48131, 48147, 48163, 48179, 48195,
- 48211, 48227, 48243, 48259, 48275, 48291, 48307, 48323, 48339, 48355,
- 48371, 48387, 48403, 48419, 48435, 48451, 48467, 48483, 48499, 48515,
- 48531, 48547, 48563, 48579, 48595, 48611, 48627, 48643, 48659, 48675,
- 48691, 48707, 48723, 48739, 48755, 48771, 48787, 48803, 48819, 48835,
- 48851, 48867, 48883, 48899, 48915, 48931, 48947, 48963, 48979, 48995,
- 49011, 49027, 49043, 49059, 49075, 49091, 49107, 49123, 49139, 49155,
- 49171, 49187, 49203, 49219, 49235, 49251, 49267, 49283, 49299, 49315,
- 49331, 49347, 49363, 49379, 49395, 49411, 49427, 49443, 49459, 49475,
- 49491, 49507, 49523, 49539, 49555, 49571, 49587, 49603, 49619, 49635,
- 49651, 49667, 49683, 49699, 49715, 49731, 49747, 49763, 49779, 49795,
- 49811, 49827, 49843, 49859, 49875, 49891, 49907, 49923, 49939, 49955,
- 49971, 49987, 50003, 50019, 50035, 50051, 50067, 50083, 50099, 50115,
- 50131, 50147, 50163, 50179, 50195, 50211, 50227, 50243, 50259, 50275,
- 50291, 50307, 50323, 50339, 50355, 50371, 50387, 50403, 50419, 50435,
- 50451, 50467, 50483, 50499, 50515, 50531, 50547, 50563, 50579, 50595,
- 50611, 50627, 50643, 50659, 50675, 50691, 50707, 50723, 50739, 50755,
- 50771, 50787, 50803, 50819, 50835, 50851, 50867, 50883, 50899, 50915,
- 50931, 50947, 50963, 50979, 50995, 51011, 51027, 51043, 51059, 51075,
- 51091, 51107, 51123, 51139, 51155, 51171, 51187, 51203, 51219, 51235,
- 51251, 51267, 51283, 51299, 51315, 51331, 51347, 51363, 51379, 51395,
- 51411, 51427, 51443, 51459, 51475, 51491, 51507, 51523, 51539, 51555,
- 51571, 51587, 51603, 51619, 51635, 51651, 51667, 51683, 51699, 51715,
- 51731, 51747, 51763, 51779, 51795, 51811, 51827, 51843, 51859, 51875,
- 51891, 51907, 51923, 51939, 51955, 51971, 51987, 52003, 52019, 52035,
- 52051, 52067, 52083, 52099, 52115, 52131, 52147, 52163, 52179, 52195,
- 52211, 52227, 52243, 52259, 52275, 52291, 52307, 52323, 52339, 52355,
- 52371, 52387, 52403, 52419, 52435, 52451, 52467, 52483, 52499, 52515,
- 52531, 52547, 52563, 52579, 52595, 52611, 52627, 52643, 52659, 52675,
- 52691, 52707, 52723, 52739, 52755, 52771, 52787, 52803, 52819, 52835,
- 52851, 52867, 52883, 52899, 52915, 52931, 52947, 52963, 52979, 52995,
- 53011, 53027, 53043, 53059, 53075, 53091, 53107, 53123, 53139, 53155,
- 53171, 53187, 53203, 53219, 53235, 53251, 53267, 53283, 53299, 53315,
- 53331, 53347, 53363, 53379, 53395, 53411, 53427, 53443, 53459, 53475,
- 53491, 53507, 53523, 53539, 53555, 53571, 53587, 53603, 53619, 53635,
- 53651, 53667, 53683, 53699, 53715, 53731, 53747, 53763, 53779, 53795,
- 53811, 53827, 53843, 53859, 53875, 53891, 53907, 53923, 53939, 53955,
- 53971, 53987, 54003, 54019, 54035, 54051, 54067, 54083, 54099, 54115,
- 54131, 54147, 54163, 54179, 54195, 54211, 54227, 54243, 54259, 54275,
- 54291, 54307, 54323, 54339, 54355, 54371, 54387, 54403, 54419, 54435,
- 54451, 54467, 54483, 54499, 54515, 54531, 54547, 54563, 54579, 54595,
- 54611, 54627, 54643, 54659, 54675, 54691, 54707, 54723, 54739, 54755,
- 54771, 54787, 54803, 54819, 54835, 54851, 54867, 54883, 54899, 54915,
- 54931, 54947, 54963, 54979, 54995, 55011, 55027, 55043, 55059, 55075,
- 55091, 55107, 55123, 55139, 55155, 55171, 55187, 55203, 55219, 55235,
- 55251, 55267, 55283, 55299, 55315, 55331, 55347, 55363, 55379, 55395,
- 55411, 55427, 55443, 55459, 55475, 55491, 55507, 55523, 55539, 55555,
- 55570, 14963, 55579, 55585, 55591, 55601, 55609, 13144, 13683, 8319,
- 55622, 1483, 55630, 25385, 5637, 55636, 55641, 55646, 55651, 55656,
- 55662, 55667, 55673, 55678, 55684, 55689, 55694, 55699, 55704, 55710,
- 55715, 55720, 55725, 55730, 55735, 55740, 55745, 55751, 55756, 55762,
- 55769, 2515, 55774, 55780, 6948, 55784, 55789, 55796, 55804, 40, 55808,
- 55814, 55819, 55824, 55828, 55833, 55837, 55841, 9037, 55845, 55855,
- 55868, 55879, 55892, 55899, 55905, 55910, 55916, 55922, 55928, 55933,
- 55938, 55943, 55948, 55952, 55957, 55962, 55967, 55973, 55979, 55985,
- 55990, 55994, 55999, 56004, 56008, 56013, 56018, 56023, 56027, 9053,
- 9064, 9069, 1526, 56031, 1531, 56037, 56040, 1562, 56046, 1568, 1574,
- 9099, 56051, 56059, 56066, 56070, 56076, 56081, 28824, 56086, 56093,
- 56098, 56102, 56106, 1579, 14538, 14549, 56115, 56122, 56127, 56131,
- 14568, 1583, 34897, 56134, 56139, 56149, 56158, 56163, 56167, 56173,
- 1588, 36719, 56178, 56187, 56193, 56198, 9249, 9255, 56204, 56216, 56233,
- 56250, 56267, 56284, 56301, 56318, 56335, 56352, 56369, 56386, 56403,
- 56420, 56437, 56454, 56471, 56488, 56505, 56522, 56539, 56556, 56573,
- 56590, 56607, 56624, 56641, 56658, 56675, 56692, 56709, 56726, 56743,
- 56760, 56777, 56794, 56811, 56828, 56845, 56862, 56879, 56896, 56913,
- 56930, 56947, 56964, 56981, 56998, 57015, 57032, 57049, 57060, 57065,
- 1593, 57069, 57075, 57080, 7693, 1598, 57085, 57094, 25664, 57099, 57110,
- 57120, 57125, 57132, 57138, 57143, 57148, 14820, 57152, 9266, 1603, 9271,
- 57158, 57163, 57169, 57174, 57179, 57184, 57189, 57194, 57199, 57204,
- 57210, 57216, 57222, 57227, 57231, 57236, 57241, 57245, 57250, 57255,
- 57260, 57264, 57269, 57275, 57280, 57285, 57289, 57294, 57299, 57305,
- 57310, 57315, 57321, 57327, 57332, 57336, 57341, 57346, 57351, 57355,
- 57360, 57365, 57370, 57376, 57382, 57387, 57391, 57395, 57400, 57405,
- 57410, 27024, 57414, 57419, 57424, 57430, 57435, 57440, 57444, 57449,
- 57454, 57460, 57465, 57470, 57476, 57482, 57487, 57491, 57496, 57501,
- 57505, 57510, 57515, 57520, 57526, 57532, 57537, 57541, 57546, 57551,
- 57555, 57560, 57565, 57570, 57574, 57577, 29395, 57582, 57590, 14886,
- 14910, 9362, 57596, 57606, 57621, 9367, 57632, 57637, 57648, 57660,
- 57672, 57684, 2649, 57696, 57701, 57705, 57711, 57717, 57722, 1615, 1010,
- 57731, 57736, 36758, 57740, 57744, 57749, 57753, 14971, 57758, 57761,
- 57769, 57777, 1619, 9392, 9398, 1624, 57785, 57792, 57797, 57806, 57816,
- 57823, 57828, 1629, 57835, 57840, 15086, 57844, 57849, 57856, 57862,
- 57866, 57877, 57887, 15108, 7616, 7623, 1634, 57894, 57900, 57908, 57915,
- 57921, 57928, 57940, 57946, 57951, 57963, 57974, 57983, 57993, 3668,
- 28660, 28669, 15148, 1639, 1643, 58001, 58012, 58017, 1646, 58025, 58030,
- 58042, 58048, 58053, 58061, 1651, 58066, 58071, 58079, 58087, 58094,
- 58103, 58111, 58120, 1656, 58124, 1661, 58129, 58136, 15268, 58144,
- 58150, 58155, 58163, 58170, 58178, 20658, 58183, 9527, 58192, 58198,
- 58205, 58212, 58218, 58228, 58234, 58239, 58244, 58252, 9536, 9541,
- 58260, 58266, 58274, 3733, 36846, 58279, 58285, 58290, 58298, 58305,
- 10356, 58310, 58316, 1672, 58321, 58324, 1058, 58330, 58335, 58340,
- 58346, 58351, 58356, 58361, 58366, 58371, 58376, 1681, 9, 58382, 58386,
- 58391, 58395, 58399, 58403, 29643, 58408, 58413, 58418, 58422, 58425,
- 58429, 58433, 58438, 58442, 58447, 58451, 32315, 32320, 32325, 58454,
- 58461, 58467, 36585, 58477, 32331, 29891, 29653, 29659, 32347, 29665,
- 58482, 58487, 29924, 58491, 58494, 58498, 58505, 58508, 58513, 58517,
- 58521, 58524, 58534, 58546, 58553, 31282, 58556, 13936, 821, 58559,
- 58563, 58568, 58572, 58575, 11944, 58582, 58589, 58602, 58610, 58619,
- 58624, 58634, 58647, 58659, 58666, 58671, 58680, 58693, 33732, 58711,
- 58716, 58723, 58729, 58734, 58742, 58749, 25224, 613, 58755, 58761,
- 58771, 58777, 58782, 29683, 4481, 29697, 58786, 58796, 58801, 58811,
- 58826, 58832, 58838, 29707, 58843, 28856, 58847, 58852, 58857, 58861,
- 58866, 15151, 58873, 58878, 58882, 4522, 29733, 58886, 58892, 327, 58902,
- 58909, 58916, 58921, 58930, 56143, 58936, 58944, 58948, 58952, 58956,
- 58960, 58965, 58969, 58975, 58983, 58988, 58993, 58997, 59002, 59006,
- 59010, 59016, 59022, 59027, 59031, 29857, 59036, 29863, 29869, 59041,
- 59047, 59054, 59059, 59063, 28873, 14813, 59066, 59070, 59075, 59082,
- 59088, 59092, 59097, 36295, 59103, 59107, 59111, 59116, 59122, 59128,
- 59140, 59149, 59159, 59165, 59172, 59177, 59182, 59186, 59189, 59195,
- 59202, 59207, 59212, 59219, 59226, 59232, 59237, 59242, 59250, 59255,
- 2377, 59259, 59264, 59270, 59275, 59281, 59286, 59291, 59296, 59302,
- 29890, 59307, 59313, 59319, 59325, 29954, 59330, 59335, 59340, 29965,
- 59345, 59350, 59355, 59361, 59367, 29970, 59372, 59377, 59382, 30025,
- 30031, 59387, 59392, 30036, 59397, 25891, 30058, 30062, 59402, 59378,
- 59406, 59414, 59420, 59428, 59435, 59441, 59451, 59457, 59464, 8984,
- 30076, 59470, 59483, 59492, 59498, 59507, 59513, 21575, 59520, 59527,
- 59537, 30026, 59540, 59547, 59552, 59556, 59560, 59565, 4598, 59569,
- 59574, 59579, 32409, 32414, 59583, 32428, 59588, 32433, 59593, 59599,
- 32445, 32451, 32457, 59604, 59610, 20619, 59621, 59624, 59636, 59644,
- 30094, 59648, 59657, 59667, 59676, 30099, 59681, 59688, 59697, 59703,
- 59711, 59718, 4573, 4310, 59723, 30037, 59729, 59732, 59738, 59745,
- 59750, 59755, 21502, 59759, 59765, 59771, 59776, 59781, 59785, 59791,
- 59797, 31196, 826, 33406, 34304, 34310, 59802, 59806, 59810, 59813,
- 59826, 59832, 59836, 59839, 59844, 31495, 59848, 28878, 19446, 59854,
- 4502, 4510, 7472, 59857, 59862, 59867, 59872, 59877, 59882, 59887, 59892,
- 59897, 59902, 59908, 59913, 59918, 59924, 59929, 59934, 59939, 59944,
- 59949, 59954, 59960, 59965, 59971, 59976, 59981, 59986, 59991, 59996,
- 60001, 60006, 60011, 60016, 60021, 60027, 60032, 60037, 60042, 60047,
- 60052, 60057, 60063, 60068, 60073, 60078, 60083, 60088, 60093, 60098,
- 60103, 60108, 60114, 60119, 60124, 60129, 60134, 60140, 60146, 60151,
- 60157, 60162, 60167, 60172, 60177, 60182, 1476, 240, 60187, 60191, 60195,
- 60199, 23157, 60203, 60207, 60212, 60216, 60221, 60225, 60229, 60233,
- 60238, 60242, 11681, 60247, 60251, 60258, 13444, 60267, 60276, 60280,
- 60285, 60290, 60294, 22960, 2957, 60298, 60304, 60313, 60321, 60327,
- 60339, 60351, 60355, 60360, 60364, 60370, 60376, 60381, 60391, 60401,
- 60407, 60412, 60416, 60421, 60427, 60436, 60445, 60453, 13798, 60457,
- 60466, 60474, 60486, 60497, 60508, 60517, 60521, 60530, 60540, 60546,
- 60551, 60557, 60562, 98, 28772, 60573, 24228, 24238, 60579, 60586, 60592,
- 60596, 60606, 60617, 60625, 60634, 60639, 60644, 60648, 15504, 60656,
- 60660, 60666, 60676, 60683, 60689, 32508, 1162, 60695, 60698, 60702,
- 60712, 60718, 60725, 11618, 60732, 60738, 60747, 60756, 60762, 60768,
- 60774, 60779, 60786, 60793, 60799, 60812, 60821, 60830, 60835, 60839,
- 60845, 60852, 60859, 60866, 60873, 60880, 60885, 60889, 60893, 60896,
- 60906, 60910, 60922, 60931, 60935, 60940, 60944, 60950, 60955, 60962,
- 60971, 60979, 60987, 60992, 60996, 61001, 61006, 61016, 61024, 61029,
- 61033, 61037, 61043, 61055, 61063, 61073, 61080, 61086, 61091, 61095,
- 61099, 61103, 61112, 61121, 61130, 61136, 61142, 61148, 61153, 61160,
- 61166, 61174, 61181, 10772, 61187, 61193, 61197, 12523, 61201, 61206,
- 61216, 61225, 61231, 61237, 61245, 61252, 61256, 61260, 61266, 61274,
- 61281, 61287, 61298, 61302, 61306, 61310, 61313, 61319, 61324, 61328,
- 61332, 61341, 61349, 61356, 61362, 61369, 22087, 36337, 61374, 61382,
- 61386, 61389, 61397, 61404, 61410, 61419, 61427, 61433, 61438, 61442,
- 61447, 61451, 61455, 61460, 61469, 61473, 61480, 61487, 61493, 61501,
- 61507, 61518, 61526, 61532, 20753, 61541, 61548, 61555, 61562, 61569,
- 61576, 39288, 11456, 61583, 61590, 61595, 32544, 37484, 61601, 61606,
- 61611, 61617, 61623, 61629, 61634, 61639, 61644, 61649, 61655, 61660,
- 61666, 61671, 61677, 61682, 61687, 61692, 61697, 61702, 61707, 61712,
- 61718, 61723, 61729, 61734, 61739, 61744, 61749, 61754, 61759, 61765,
- 61770, 61775, 61780, 61785, 61790, 61795, 61800, 61805, 61810, 61815,
- 61821, 61826, 61831, 61836, 61841, 61846, 61851, 61856, 61861, 61867,
- 61872, 61877, 61882, 61887, 61892, 61897, 61902, 61907, 61912, 61917,
- 61922, 61927, 61933, 1797, 224, 34993, 61938, 61941, 61946, 61950, 61953,
- 61958, 60983, 61969, 61979, 61986, 62002, 62011, 62021, 62031, 62039,
- 62047, 62051, 62054, 62061, 62067, 62078, 62090, 62101, 62110, 62117,
- 1286, 21391, 62127, 2544, 62131, 62140, 1127, 15477, 35622, 62148, 62156,
- 62170, 62183, 62187, 62192, 62197, 62202, 62208, 62214, 62219, 6957,
- 62224, 62232, 9393, 62237, 62243, 1684, 9405, 723, 62252, 62261, 62271,
- 24992, 62280, 62286, 15063, 62292, 62296, 3881, 9736, 62302, 58007,
- 62309, 3905, 184, 12444, 62315, 62327, 62331, 62337, 25684, 62341, 9724,
- 2684, 4, 62346, 62356, 62362, 62373, 62380, 62386, 62392, 62400, 62407,
- 62413, 62423, 62433, 62443, 1298, 62452, 62458, 2707, 2713, 6954, 2218,
- 62462, 62466, 62475, 62483, 62494, 62502, 62510, 62516, 62521, 62532,
- 62543, 62551, 62557, 8061, 62562, 62570, 62574, 62578, 62590, 26060,
- 62597, 62607, 62613, 62619, 8163, 62629, 62640, 62650, 62659, 62663,
- 62670, 1129, 2537, 62680, 62685, 62693, 62701, 62712, 62719, 62733,
- 12369, 379, 62743, 62747, 62756, 62764, 62770, 62784, 62791, 62797,
- 62806, 62813, 62823, 62831, 3740, 189, 62839, 62850, 62854, 62866, 25882,
- 156, 62872, 62877, 62881, 62888, 62894, 62902, 62909, 7226, 62916, 62925,
- 62933, 3806, 62946, 15109, 62950, 2752, 428, 62955, 62968, 62973, 1796,
- 647, 62977, 3812, 62985, 62991, 963, 63001, 63010, 63015, 13178, 13185,
- 42620, 63019, 3750, 11350, 63027, 63034, 21618, 63038, 63045, 63051,
- 63056, 63061, 13198, 354, 63066, 63078, 63084, 63092, 2764, 1716, 63100,
- 63102, 63107, 63112, 63117, 63123, 63128, 63133, 63138, 63143, 63148,
- 63153, 63159, 63164, 63169, 63174, 63179, 63184, 63189, 63194, 63199,
- 63205, 63210, 63215, 63220, 63226, 63231, 63237, 63242, 63247, 63252,
- 63257, 63262, 63267, 63272, 63278, 63283, 63289, 63294, 63299, 63304,
- 63309, 63314, 63319, 63324, 63329, 63335, 63340, 63345, 63349, 63353,
- 63358, 63362, 63367, 63372, 63378, 63383, 63387, 63392, 63396, 63399,
- 63401, 63405, 63408, 63413, 63417, 63421, 63425, 63429, 63438, 63442,
- 30288, 63445, 30293, 63452, 63457, 30298, 63466, 63475, 30304, 63480,
- 30309, 63489, 63494, 9914, 63498, 63503, 63508, 30314, 63512, 37650,
- 63516, 63519, 63523, 6638, 63529, 63534, 63538, 3633, 30319, 63541,
- 63545, 63548, 63553, 63557, 63563, 63571, 63584, 63593, 63599, 63604,
- 63610, 63614, 63620, 63628, 63633, 63640, 63646, 63654, 63663, 63671,
- 30322, 63678, 63688, 63697, 63710, 63715, 63720, 63729, 63735, 63742,
- 63753, 63765, 63772, 63781, 63790, 63799, 63806, 63812, 63819, 63827,
- 63834, 63842, 63851, 63859, 63866, 63874, 63883, 63891, 63900, 63910,
- 63919, 63927, 63934, 63942, 63951, 63959, 63968, 63978, 63987, 63995,
- 64004, 64014, 64023, 64033, 64044, 64054, 64063, 64071, 64078, 64086,
- 64095, 64103, 64112, 64122, 64131, 64139, 64148, 64158, 64167, 64177,
- 64188, 64198, 64207, 64215, 64224, 64234, 64243, 64253, 64264, 64274,
- 64283, 64293, 64304, 64314, 64325, 64337, 64348, 64358, 64367, 64375,
- 64382, 64390, 64399, 64407, 64416, 64426, 64435, 64443, 64452, 64462,
- 64471, 64481, 64492, 64502, 64511, 64519, 64528, 64538, 64547, 64557,
- 64568, 64578, 64587, 64597, 64608, 64618, 64629, 64641, 64652, 64662,
- 64671, 64679, 64688, 64698, 64707, 64717, 64728, 64738, 64747, 64757,
- 64768, 64778, 64789, 64801, 64812, 64822, 64831, 64841, 64852, 64862,
- 64873, 64885, 64896, 64906, 64917, 64929, 64940, 64952, 64965, 64977,
- 64988, 64998, 65007, 65015, 65022, 65030, 65039, 65047, 65056, 65066,
- 65075, 65083, 65092, 65102, 65111, 65121, 65132, 65142, 65151, 65159,
- 65168, 65178, 65187, 65197, 65208, 65218, 65227, 65237, 65248, 65258,
- 65269, 65281, 65292, 65302, 65311, 65319, 65328, 65338, 65347, 65357,
- 65368, 65378, 65387, 65397, 65408, 65418, 65429, 65441, 65452, 65462,
- 65471, 65481, 65492, 65502, 65513, 65525, 65536, 65546, 65557, 65569,
- 65580, 65592, 65605, 65617, 65628, 65638, 65647, 65655, 65664, 65674,
- 65683, 65693, 65704, 65714, 65723, 65733, 65744, 65754, 65765, 65777,
- 65788, 65798, 65807, 65817, 65828, 65838, 65849, 65861, 65872, 65882,
- 65893, 65905, 65916, 65928, 65941, 65953, 65964, 65974, 65983, 65993,
- 66004, 66014, 66025, 66037, 66048, 66058, 66069, 66081, 66092, 66104,
- 66117, 66129, 66140, 66150, 66161, 66173, 66184, 66196, 66209, 66221,
- 66232, 66244, 66257, 66269, 66282, 66296, 66309, 66321, 66332, 66342,
- 66351, 66359, 66366, 66371, 6489, 66378, 30332, 66383, 66388, 30337,
- 66394, 19100, 30342, 66399, 66405, 66413, 66419, 66425, 66432, 66439,
- 66444, 66448, 66451, 66455, 66464, 66470, 66482, 66493, 66497, 3019,
- 6464, 66502, 66505, 66507, 66511, 66515, 66519, 23927, 66524, 66528,
- 66531, 66536, 66540, 66547, 66553, 66557, 66561, 66564, 30359, 66569,
- 66576, 66585, 66593, 66604, 66612, 66620, 66627, 66634, 66640, 66651,
- 30364, 66656, 66667, 66679, 66687, 66698, 66707, 66718, 66723, 66731,
- 2510, 66736, 32002, 66749, 66753, 66765, 66773, 66778, 66786, 15664,
- 66797, 66803, 66810, 66818, 66824, 30374, 66829, 3831, 55605, 66836,
- 66839, 66847, 66860, 66873, 66886, 66899, 66906, 66917, 66926, 39105,
- 39110, 66931, 66935, 66943, 66950, 66959, 66967, 66973, 66982, 66990,
- 66998, 67002, 67011, 67020, 67030, 67043, 67056, 67066, 30379, 67072,
- 67079, 67085, 30385, 67090, 67093, 67097, 67105, 67114, 38843, 67122,
- 67131, 67139, 67146, 67154, 67164, 67173, 67182, 67191, 67199, 67210,
- 67220, 7733, 19715, 67229, 67234, 67239, 67243, 67247, 67252, 67258,
- 67263, 67268, 67274, 67279, 67284, 19680, 67289, 67296, 67304, 67312,
- 67317, 67324, 67331, 67335, 67339, 67347, 67355, 30402, 67361, 67367,
- 67379, 67385, 67389, 67396, 67401, 67412, 67422, 67432, 67444, 67450,
- 67460, 67470, 30429, 67479, 67488, 67494, 67506, 67517, 67524, 67529,
- 67533, 67541, 67547, 67552, 67557, 67564, 67572, 67584, 67594, 67603,
- 67612, 67619, 31866, 21906, 67625, 67630, 67634, 67638, 67643, 67649,
- 67660, 67673, 67678, 67685, 30434, 67690, 67702, 67711, 67721, 67732,
- 67745, 67752, 67761, 67770, 67778, 67783, 67789, 1465, 67794, 67799,
- 67804, 67809, 67815, 67820, 67825, 67831, 67837, 67842, 67846, 67851,
- 67856, 67861, 56111, 67866, 67871, 67876, 67881, 67887, 67893, 67898,
- 67902, 67907, 67912, 67917, 67923, 67928, 67934, 67939, 67944, 67949,
- 67954, 67958, 67964, 67969, 67978, 67983, 67988, 67993, 67998, 68002,
- 68009, 68015, 15326, 15333, 42875, 68020, 67970, 68022, 68032, 30443,
- 68035, 68044, 68050, 4617, 30448, 68054, 68060, 68066, 68071, 68075,
- 68082, 68087, 68097, 68106, 68110, 68116, 68122, 68128, 68132, 68140,
- 68147, 68155, 68163, 30453, 68170, 68173, 68180, 68186, 68191, 68195,
- 68201, 68208, 68213, 68217, 68226, 68234, 68240, 68245, 30458, 68252,
- 68259, 68265, 68270, 68276, 68283, 68289, 19453, 25408, 68295, 68300,
- 68306, 68318, 68003, 68010, 68328, 68333, 68340, 68347, 68353, 68364,
- 68369, 7502, 68377, 68380, 68386, 68390, 68394, 68397, 68403, 30207,
- 4656, 913, 11731, 68410, 68416, 68422, 68428, 68434, 68440, 68446, 68452,
- 68458, 68463, 68468, 68473, 68478, 68483, 68488, 68493, 68498, 68503,
- 68508, 68513, 68518, 68523, 68529, 68534, 68539, 68545, 68550, 68555,
- 68561, 68567, 68573, 68579, 68585, 68591, 68597, 68603, 68609, 68614,
- 68619, 68625, 68630, 68635, 68641, 68646, 68651, 68656, 68661, 68666,
- 68671, 68676, 68681, 68686, 68691, 68696, 68701, 68707, 68712, 68717,
- 68722, 68728, 68733, 68738, 68743, 68748, 68754, 68759, 68764, 68769,
- 68774, 68779, 68784, 68789, 68794, 68799, 68804, 68809, 68814, 68819,
- 68824, 68829, 68834, 68839, 68844, 68849, 68855, 68860, 68865, 68870,
- 68875, 68880, 68885, 68890, 1827, 143, 68895, 68899, 68903, 68908, 68916,
- 68920, 68927, 68935, 68939, 68952, 68960, 68964, 68967, 68972, 68976,
- 68981, 68985, 68993, 68997, 19108, 69002, 58270, 69006, 69009, 69017,
- 69025, 69033, 69038, 69045, 69051, 69057, 69062, 69067, 69075, 62175,
- 69082, 69087, 69092, 69096, 9981, 69100, 69105, 69110, 69114, 69117,
- 69123, 69127, 69137, 69146, 69149, 69156, 69169, 69175, 69183, 69194,
- 69205, 69216, 69227, 69236, 69242, 69251, 69259, 69269, 69282, 69289,
- 69300, 69306, 69311, 69316, 69322, 69328, 69338, 69347, 67692, 69355,
- 69361, 69369, 69375, 69383, 69387, 69391, 69394, 69400, 69406, 69414,
- 69426, 69438, 69445, 69449, 69460, 69468, 69475, 69487, 69495, 69503,
- 69510, 69516, 69526, 69535, 69540, 69550, 69559, 38184, 69566, 69570,
- 69575, 69583, 69590, 69596, 69600, 69610, 69621, 69629, 69636, 69648,
- 69660, 69669, 66739, 69676, 69687, 69701, 69709, 69719, 69726, 69734,
- 69746, 69755, 69763, 69773, 69782, 69793, 69805, 69814, 69824, 69831,
- 69840, 69855, 69865, 69874, 69882, 69895, 69910, 69914, 69923, 69935,
- 69946, 69957, 69968, 69978, 69989, 69997, 70003, 70013, 70019, 26923,
- 70024, 70030, 70035, 70042, 8075, 15684, 70048, 70057, 70062, 70066,
- 70073, 70079, 70084, 70092, 70100, 70104, 70107, 70110, 70112, 70119,
- 70125, 70136, 70141, 70145, 70152, 70158, 70163, 70171, 62642, 62652,
- 70177, 70184, 70194, 8971, 70201, 70206, 27113, 70215, 70220, 70227,
- 70237, 70245, 70253, 70262, 70268, 70274, 70281, 70288, 70293, 70297,
- 70305, 70310, 70315, 70323, 70330, 70335, 70341, 70344, 70348, 70357,
- 68947, 70366, 70370, 70376, 70387, 70397, 15693, 70408, 70416, 15705,
- 70423, 70427, 70436, 25294, 70443, 70447, 70452, 70469, 70481, 8925,
- 70493, 70498, 70503, 70508, 70512, 70515, 70520, 70525, 70531, 70536,
- 4324, 19181, 70541, 70546, 70552, 70559, 70564, 70569, 70575, 70581,
- 70587, 70592, 70598, 70602, 70616, 70624, 70632, 70638, 70643, 70650,
- 70660, 70669, 70674, 70679, 70687, 70692, 70698, 70703, 70712, 57154,
- 70717, 70720, 70738, 70757, 70770, 70784, 70800, 70807, 70814, 70820,
- 70827, 70832, 70838, 70844, 70852, 70858, 70863, 70868, 70884, 8938,
- 70898, 70905, 70913, 70919, 70923, 70926, 70931, 70936, 70943, 70948,
- 70957, 70962, 70968, 70977, 70986, 70991, 70995, 71003, 10005, 71012,
- 71020, 71025, 71031, 10016, 71036, 71039, 71044, 71054, 71063, 71068,
- 71074, 71079, 71087, 71094, 71105, 71115, 71120, 62103, 71125, 71131,
- 71136, 71143, 71152, 71160, 71166, 71173, 71179, 71183, 15161, 2993,
- 71188, 71192, 71198, 71207, 71213, 71220, 71224, 71245, 71267, 71283,
- 71300, 71319, 71328, 71338, 71345, 71352, 25181, 71358, 71362, 71370,
- 71382, 71388, 71396, 71400, 71408, 71415, 71419, 71425, 71431, 71436,
- 3498, 39305, 71442, 71446, 71450, 71454, 71459, 71464, 71469, 71475,
- 71481, 71487, 71494, 71500, 71507, 71513, 71519, 71524, 71530, 71535,
- 71540, 71544, 71549, 39320, 71553, 71558, 71566, 71570, 71575, 71582,
- 71591, 71597, 71604, 71608, 71611, 71618, 71627, 71632, 71636, 71644,
- 71653, 71657, 71665, 71671, 71676, 71681, 71687, 71693, 71698, 71702,
- 71708, 71713, 71717, 71721, 71724, 71729, 71737, 71747, 71752, 36865,
- 71760, 71772, 71776, 71782, 71794, 71805, 71812, 71818, 71825, 71837,
- 71844, 71850, 19255, 71854, 71860, 71867, 71873, 71879, 71884, 71889,
- 71894, 71903, 5491, 71908, 14627, 71914, 71918, 71926, 71935, 71939,
- 71946, 71955, 71968, 71974, 71545, 27962, 71979, 71981, 71986, 71991,
- 71996, 72001, 72006, 72011, 72016, 72021, 72026, 72031, 72036, 72041,
- 72046, 72051, 72057, 72062, 72067, 72072, 72077, 72082, 72087, 72092,
- 72097, 72103, 72109, 72115, 72120, 72125, 72137, 72142, 1833, 67, 72147,
- 72152, 30485, 30490, 30495, 30501, 30506, 72156, 30511, 20226, 72178,
- 72182, 72186, 72191, 72195, 30515, 72199, 72207, 30520, 72214, 72217,
- 72222, 72226, 7910, 72235, 30525, 20092, 72238, 72242, 1396, 72247,
- 30536, 72250, 72255, 23720, 23730, 32940, 72260, 72265, 72270, 72275,
- 72281, 72286, 72295, 72300, 72307, 72313, 72318, 72323, 72328, 72338,
- 72347, 72352, 72360, 72364, 72372, 30350, 1188, 72379, 72385, 72390,
- 72395, 72400, 72406, 72411, 72418, 72424, 72429, 72437, 72447, 72457,
- 72463, 72468, 72474, 15715, 72481, 33745, 72494, 72499, 72505, 72518,
- 72524, 72528, 72537, 72544, 72550, 72558, 72567, 72574, 72580, 72583,
- 23861, 72587, 72594, 72600, 72608, 72613, 22035, 72619, 72622, 72630,
- 72638, 72652, 72659, 72665, 72672, 72678, 30550, 72682, 72689, 72697,
- 72705, 30555, 72711, 72717, 72722, 72732, 72738, 72747, 28677, 32415,
- 72755, 72760, 72765, 72770, 72774, 13170, 36878, 72779, 72784, 30560,
- 59554, 72788, 72793, 72797, 72806, 72814, 72820, 72825, 72831, 72838,
- 72844, 72849, 72854, 72863, 72875, 72890, 30801, 72896, 14746, 30564,
- 72900, 72907, 22145, 72913, 72920, 72929, 72936, 72945, 72951, 72956,
- 72964, 72970, 30574, 72975, 72984, 71800, 72993, 73000, 73006, 73012,
- 73022, 73030, 73037, 73041, 30579, 73044, 30585, 30591, 73049, 73057,
- 73067, 73076, 73084, 73091, 73101, 30596, 73105, 73107, 73111, 73116,
- 73120, 73124, 73130, 73135, 73139, 73150, 73155, 2998, 73159, 73166,
- 73170, 73179, 73187, 73194, 73199, 73204, 59600, 73208, 73211, 73217,
- 73225, 73231, 73235, 73240, 73247, 73252, 73258, 32446, 73263, 73266,
- 73271, 73275, 73280, 73285, 73289, 73297, 23739, 23748, 73303, 73309,
- 73315, 73320, 73324, 73327, 73337, 73346, 73351, 73357, 73364, 73370,
- 73374, 73382, 73387, 32452, 73391, 73399, 73405, 73412, 73417, 73421,
- 73426, 55791, 32458, 73432, 73437, 73441, 73446, 73451, 73456, 73460,
- 73465, 73470, 73476, 73481, 73486, 73492, 73498, 73503, 73507, 73512,
- 73517, 73522, 73526, 22144, 73531, 73536, 73542, 73548, 73554, 73559,
- 73563, 73568, 73573, 73578, 73582, 73587, 73592, 73597, 73602, 73606,
- 30600, 73614, 73618, 73626, 73634, 73645, 73650, 73654, 20497, 73659,
- 73665, 73675, 73682, 73687, 73696, 73701, 73705, 73710, 73718, 73726,
- 73733, 62321, 73739, 73747, 73754, 73765, 73771, 73777, 30610, 73780,
- 73787, 73795, 73800, 37069, 73804, 73809, 73816, 73821, 7389, 73825,
- 73833, 73840, 73847, 73853, 73867, 60629, 73875, 73881, 73885, 73888,
- 73896, 73903, 73908, 73921, 73928, 73935, 73940, 58174, 73945, 73948,
- 73955, 73961, 73965, 73973, 73983, 73993, 74002, 74010, 74021, 74026,
- 74030, 74035, 74039, 33071, 19509, 33080, 74047, 74052, 74057, 74062,
- 74067, 74072, 74077, 74081, 74086, 74091, 74096, 74101, 74106, 74111,
- 74115, 74120, 74125, 74129, 74133, 74137, 74141, 74146, 74151, 74155,
- 74160, 74164, 74168, 74173, 74178, 74183, 74188, 74192, 74197, 74202,
- 74206, 74211, 74216, 74221, 74226, 74231, 74236, 74241, 74246, 74251,
- 74256, 74261, 74266, 74271, 74276, 74281, 74286, 74291, 74296, 74301,
- 74306, 74310, 74315, 74320, 74325, 74330, 74335, 74340, 74345, 74350,
- 74355, 74360, 74365, 74369, 74374, 74378, 74383, 74388, 74393, 74398,
- 74403, 74408, 74413, 74418, 74423, 74427, 74431, 74436, 74441, 74445,
- 74450, 74455, 74459, 74464, 74469, 74474, 74479, 74483, 74488, 74493,
- 74497, 74502, 74506, 74510, 74514, 74518, 74523, 74527, 74531, 74535,
- 74539, 74543, 74547, 74551, 74555, 74559, 74564, 74569, 74574, 74579,
- 74584, 74589, 74594, 74599, 74604, 74609, 74613, 74617, 74621, 74625,
- 74629, 74633, 74638, 74642, 74647, 74651, 74656, 74661, 74665, 74669,
- 74674, 74678, 74682, 74686, 74690, 74694, 74698, 74702, 74706, 74710,
- 74714, 74718, 74722, 74726, 74730, 74735, 74740, 74744, 74748, 74752,
- 74756, 74760, 74764, 74769, 74773, 74777, 74781, 74785, 74789, 74793,
- 74798, 74802, 74807, 74811, 74815, 74819, 74823, 74827, 74831, 74835,
- 74839, 74843, 74847, 74851, 74856, 74860, 74864, 74868, 74872, 74876,
- 74880, 74884, 74888, 74892, 74896, 74900, 74905, 74909, 74913, 74918,
- 74923, 74927, 74931, 74935, 74939, 74943, 74947, 74951, 74955, 74960,
- 74964, 74969, 74973, 74978, 74982, 74987, 74991, 74997, 75002, 75006,
- 75011, 75015, 75020, 75024, 75029, 75033, 75038, 1484, 75042, 2778, 1722,
- 1727, 75046, 75050, 2782, 75054, 1365, 75059, 1331, 75063, 2794, 75067,
- 75074, 75081, 75095, 2798, 5589, 75104, 75112, 75119, 75130, 75139,
- 75146, 75158, 75171, 75184, 75195, 75200, 75207, 75219, 75223, 3918,
- 10082, 75233, 75238, 75247, 75257, 2802, 75262, 75266, 75271, 75278,
- 75284, 75292, 75304, 1336, 11351, 75314, 75318, 75324, 75338, 75350,
- 75362, 75372, 75381, 75390, 75399, 75407, 75418, 75426, 3968, 75436,
- 75445, 75451, 75466, 75473, 75479, 33197, 75484, 2826, 11355, 75488,
- 75495, 7334, 75504, 2831, 30105, 75510, 57923, 75517, 75523, 75534,
- 75540, 75547, 75553, 75561, 75568, 75574, 75584, 75593, 75604, 75611,
- 75617, 75627, 75635, 75641, 75656, 75662, 75667, 75674, 75677, 75683,
- 75690, 75696, 75704, 75713, 75721, 75727, 75736, 38845, 75750, 75755,
- 13007, 75761, 75774, 75783, 75791, 75798, 75802, 75806, 75809, 75816,
- 75823, 75831, 75839, 75848, 75856, 12943, 75864, 75869, 75873, 75885,
- 75892, 75901, 780, 75911, 75920, 75931, 2847, 75935, 75939, 75945, 75958,
- 75970, 75980, 75989, 24331, 76001, 76009, 76018, 76029, 76040, 76050,
- 76060, 76069, 76077, 9657, 76084, 76088, 76093, 76098, 76104, 1341,
- 10153, 76111, 76122, 76131, 76139, 76148, 76156, 76172, 76183, 76192,
- 76200, 76212, 76223, 76239, 76249, 76270, 76283, 76291, 76298, 13118,
- 76311, 76316, 76322, 4386, 76328, 76331, 76338, 76348, 6607, 76355,
- 76360, 76365, 76373, 76381, 8123, 8132, 76386, 76397, 76402, 76408, 2855,
- 2860, 76414, 9224, 76420, 76427, 76434, 76447, 2205, 50, 76452, 76457,
- 76467, 76473, 76482, 76490, 76500, 76504, 76509, 76513, 76525, 2883,
- 76533, 76541, 76546, 76557, 76568, 76577, 76582, 76588, 76593, 76603,
- 76613, 76618, 76624, 76629, 76638, 19562, 76642, 4045, 12, 76647, 76656,
- 76663, 76670, 76676, 76682, 827, 76687, 76692, 58240, 76697, 76702,
- 76708, 76716, 76721, 76728, 76734, 76739, 35573, 38743, 76745, 2887, 32,
- 76755, 76768, 76773, 76781, 76786, 76792, 2909, 26234, 76797, 76805,
- 76812, 76817, 56033, 59221, 76826, 1667, 1776, 76831, 76836, 76843, 1780,
- 242, 76850, 76856, 76861, 76868, 1784, 76873, 76879, 76884, 76896, 4597,
- 76906, 1791, 76912, 76917, 76924, 76931, 76946, 76953, 76964, 76972,
- 2572, 76976, 76988, 76993, 76997, 77003, 26059, 2210, 77007, 77018,
- 77022, 77026, 77032, 77036, 77045, 77049, 77060, 77064, 2256, 29944,
- 77068, 77078, 3018, 7738, 77086, 77091, 77095, 77104, 77111, 77117, 2988,
- 15343, 77121, 77134, 77152, 77157, 77165, 77173, 77183, 11457, 77195,
- 77208, 77215, 77222, 77238, 77245, 77251, 1024, 77258, 77265, 77275,
- 77284, 77296, 39709, 77304, 3002, 10350, 77307, 77315, 77319, 3006,
- 77323, 19358, 10366, 3684, 77327, 3012, 77331, 77341, 77347, 77353,
- 77359, 77365, 77371, 77377, 77383, 77389, 77395, 77401, 77407, 77413,
- 77419, 77425, 77431, 77437, 77443, 77449, 77455, 77461, 77467, 77473,
- 77479, 77485, 77491, 77498, 77505, 77511, 77517, 77523, 77529, 77535,
- 77541, 1346, 14270, 10388, 77547, 77552, 77557, 77562, 77567, 77572,
- 77577, 77582, 77587, 77592, 77597, 77602, 77607, 77612, 77617, 77622,
- 77627, 77632, 77637, 77642, 77647, 77652, 77657, 77662, 77667, 77672,
- 77678, 77683, 77688, 77694, 77699, 77705, 77710, 77715, 77721, 77726,
- 77731, 77736, 77741, 77746, 77751, 77756, 77761, 77342, 77348, 77354,
- 77360, 77366, 77372, 77378, 77384, 77390, 77396, 77402, 77408, 77414,
- 77420, 77426, 77767, 77432, 77438, 77444, 77773, 77450, 77456, 77462,
- 77468, 77474, 77480, 77486, 77506, 77779, 77785, 77512, 77791, 77518,
- 77524, 77530, 77536, 77542, 3033, 3038, 77797, 77802, 77805, 77811,
- 77817, 77824, 77829, 77834, 2261,
+ 0, 0, 6, 10, 18, 23, 27, 34, 39, 41, 44, 52, 62, 68, 81, 93, 102, 108,
+ 113, 121, 130, 135, 140, 143, 147, 153, 158, 166, 173, 181, 186, 191,
+ 194, 200, 208, 215, 225, 230, 237, 246, 249, 252, 257, 263, 267, 276,
+ 283, 290, 295, 304, 312, 318, 324, 330, 144, 335, 341, 349, 350, 356,
+ 364, 370, 377, 380, 382, 386, 393, 401, 406, 408, 413, 420, 426, 428,
+ 435, 440, 442, 316, 445, 447, 452, 457, 463, 470, 479, 489, 494, 498,
+ 511, 518, 522, 531, 538, 545, 548, 554, 558, 568, 576, 584, 592, 601,
+ 609, 614, 615, 623, 630, 640, 651, 655, 658, 348, 663, 667, 671, 677,
+ 683, 685, 688, 692, 695, 704, 708, 717, 720, 723, 731, 736, 740, 743,
+ 749, 756, 763, 772, 779, 783, 792, 800, 805, 811, 820, 694, 830, 837,
+ 846, 852, 858, 866, 875, 883, 887, 895, 781, 900, 17, 516, 909, 913, 917,
+ 924, 931, 935, 939, 942, 945, 953, 960, 964, 969, 977, 980, 192, 986,
+ 991, 1001, 1010, 1017, 1024, 1030, 1038, 1046, 1052, 1056, 1061, 111,
+ 1064, 1069, 1075, 1079, 1085, 1088, 1101, 1104, 1108, 1112, 1117, 1120,
+ 1122, 1125, 1131, 1141, 1147, 1157, 1160, 1165, 1174, 333, 1182, 1185,
+ 1188, 1194, 1198, 1200, 1205, 1210, 1216, 1221, 1226, 1230, 1235, 1241,
+ 1246, 1251, 1255, 1260, 1265, 1269, 1274, 1279, 1284, 1290, 1296, 1302,
+ 1307, 1311, 1316, 1321, 1326, 1330, 1335, 1340, 1345, 1350, 1201, 1206,
+ 1211, 1217, 1222, 1354, 1227, 1360, 1369, 1231, 1373, 1236, 1242, 1247,
+ 1377, 1382, 1387, 1391, 1395, 1401, 1405, 1252, 1408, 1412, 1256, 1418,
+ 1261, 1422, 1426, 1266, 1430, 1435, 1439, 1442, 1446, 1270, 1275, 1451,
+ 1280, 1457, 1463, 1469, 1475, 1285, 1297, 1303, 1479, 1483, 1487, 1490,
+ 1308, 1494, 1496, 1501, 1506, 1512, 1517, 1522, 1526, 1531, 1536, 1541,
+ 1546, 1552, 1557, 1562, 1568, 1574, 1579, 1583, 1588, 1593, 1598, 1603,
+ 1607, 1615, 1619, 1624, 1629, 1634, 1639, 1643, 1646, 1651, 1656, 1661,
+ 1666, 1672, 1677, 1681, 1312, 1684, 1689, 1694, 1317, 1698, 1702, 1709,
+ 1322, 1716, 1327, 1720, 1722, 1727, 1733, 1331, 1738, 1747, 1336, 1752,
+ 1758, 1341, 1763, 1768, 1771, 1776, 1780, 1784, 1788, 1791, 1795, 1346,
+ 1351, 1115, 1800, 1806, 1812, 1818, 1824, 1830, 1836, 1842, 1848, 1853,
+ 1859, 1865, 1871, 1877, 1883, 1889, 1895, 1901, 1907, 1912, 1917, 1922,
+ 1927, 1932, 1937, 1942, 1947, 1952, 1957, 1963, 1968, 1974, 1979, 1985,
+ 1991, 1996, 2002, 2008, 2014, 2020, 2025, 2030, 2032, 2033, 2037, 2041,
+ 2046, 2050, 2054, 2058, 2062, 2065, 2070, 2074, 2079, 2083, 2087, 2092,
+ 2096, 2099, 2103, 2109, 2123, 2127, 2131, 2135, 2138, 2143, 2147, 2151,
+ 2154, 2158, 2163, 2168, 2173, 2178, 2182, 2186, 2190, 2195, 2199, 2204,
+ 2208, 2213, 2219, 2226, 2232, 2237, 2242, 2247, 2253, 2258, 2264, 2269,
+ 2272, 1218, 2274, 2281, 2289, 2299, 2308, 2322, 2326, 2330, 2343, 2351,
+ 2355, 2360, 2364, 2367, 2371, 2375, 2380, 2385, 2390, 2394, 2397, 2401,
+ 2408, 2415, 2421, 2426, 2431, 2437, 2443, 2448, 2451, 1724, 2453, 2459,
+ 2463, 2468, 2472, 2476, 1729, 1735, 2481, 2485, 2488, 2493, 2498, 2503,
+ 2508, 2512, 2519, 2524, 2527, 2534, 2540, 2544, 2548, 2552, 2557, 2564,
+ 2569, 2574, 2581, 2587, 2593, 2599, 2613, 2630, 2645, 2660, 2669, 2674,
+ 2678, 2683, 2688, 2692, 2704, 2711, 2717, 2222, 2723, 2730, 2736, 2740,
+ 2743, 2750, 2756, 2760, 2764, 2768, 2055, 2772, 2777, 2782, 2786, 2794,
+ 2798, 2802, 2806, 2810, 2815, 2820, 2825, 2829, 2834, 2839, 2843, 2848,
+ 2852, 2855, 2859, 2863, 2868, 2872, 2876, 2882, 2891, 2895, 2899, 2905,
+ 2910, 2917, 2921, 2931, 2935, 2939, 2944, 2948, 2953, 2959, 2964, 2968,
+ 2972, 2976, 2411, 2984, 2989, 2995, 3000, 3004, 3009, 3014, 3018, 3024,
+ 3029, 3035, 3039, 3045, 3050, 3055, 3060, 3065, 3070, 3075, 3080, 3085,
+ 3090, 3096, 3101, 1228, 80, 3107, 3111, 3115, 3119, 3124, 3128, 3132,
+ 3136, 3140, 3145, 3149, 3154, 3158, 3161, 3165, 3170, 3174, 3179, 3183,
+ 3187, 3191, 3196, 3200, 3203, 3216, 3220, 3224, 3228, 3232, 3236, 3239,
+ 3243, 3247, 3252, 3256, 3261, 3266, 3271, 3275, 3278, 3281, 3287, 3291,
+ 3295, 3298, 3302, 3306, 3309, 3315, 3320, 3325, 3331, 3336, 3341, 3347,
+ 3353, 3358, 3363, 3368, 1106, 547, 3373, 3376, 3381, 3385, 3388, 3392,
+ 3397, 3402, 3406, 3411, 3415, 3420, 3424, 3428, 3434, 3440, 3443, 3446,
+ 3452, 3459, 3466, 3472, 3479, 3484, 3488, 3495, 3500, 3504, 3514, 3518,
+ 3522, 3527, 3532, 3542, 2066, 3547, 3551, 3554, 3560, 3565, 3571, 3577,
+ 3582, 3589, 3593, 3597, 664, 693, 3601, 3608, 3615, 3622, 3628, 3634,
+ 3639, 3643, 3649, 3654, 3658, 2075, 3662, 3670, 596, 3676, 3687, 3691,
+ 3701, 2080, 3707, 3712, 3727, 3733, 3740, 3750, 3756, 3761, 3767, 3773,
+ 3776, 3780, 3785, 3792, 3797, 3801, 3805, 3809, 3813, 3818, 3824, 3166,
+ 3829, 3841, 3849, 3854, 1528, 3861, 3864, 3867, 3871, 3874, 3880, 3884,
+ 3898, 3902, 3905, 3909, 3915, 3921, 3926, 3930, 3934, 3940, 3951, 3957,
+ 3962, 3968, 3972, 3980, 3990, 3996, 4001, 4010, 4018, 4025, 4029, 4035,
+ 4044, 4053, 4057, 4062, 4067, 4071, 4079, 4083, 4088, 4092, 2088, 1370,
+ 4098, 4103, 4109, 4114, 4119, 4124, 4129, 4134, 4139, 4145, 4150, 4156,
+ 4161, 4166, 4171, 4177, 4182, 4187, 4192, 4197, 4203, 4208, 4214, 4219,
+ 4224, 4229, 4234, 4239, 4244, 4250, 4255, 4260, 339, 456, 4265, 4271,
+ 4275, 4279, 4284, 4288, 4292, 4295, 4299, 4303, 4307, 4311, 4316, 4320,
+ 4324, 4330, 4095, 4335, 4338, 4345, 4349, 4362, 4366, 4370, 4374, 4378,
+ 4382, 4386, 4392, 4399, 4407, 4411, 4419, 4428, 4434, 4446, 4451, 4454,
+ 4458, 4468, 4476, 4484, 4490, 4494, 4504, 4514, 4522, 4529, 4536, 4542,
+ 4548, 4555, 4559, 4566, 4576, 4586, 4594, 4601, 4606, 4610, 4618, 4622,
+ 4627, 4634, 4642, 4647, 4652, 4656, 4670, 4675, 4680, 4687, 4696, 4699,
+ 4703, 4707, 4710, 4715, 4720, 4729, 4735, 4741, 4747, 4751, 4762, 4772,
+ 4787, 4802, 4817, 4832, 4847, 4862, 4877, 4892, 4907, 4922, 4937, 4952,
+ 4967, 4982, 4997, 5012, 5027, 5042, 5057, 5072, 5087, 5102, 5117, 5132,
+ 5147, 5162, 5177, 5192, 5207, 5222, 5237, 5252, 5267, 5282, 5297, 5312,
+ 5327, 5342, 5357, 5372, 5387, 5402, 5417, 5432, 5447, 5462, 5477, 5492,
+ 5507, 5516, 5525, 5530, 5536, 5546, 5550, 5555, 5560, 5568, 5572, 5575,
+ 5579, 2926, 5582, 5587, 315, 438, 5593, 5601, 5605, 5609, 5612, 5616,
+ 5622, 5626, 5634, 5640, 5645, 5652, 5659, 5665, 5670, 5677, 5683, 5691,
+ 5695, 5700, 5712, 5723, 5730, 5734, 5740, 3188, 5744, 5750, 5755, 5760,
+ 5765, 5771, 5776, 5781, 5786, 5791, 5797, 5802, 5807, 5813, 5818, 5824,
+ 5829, 5835, 5840, 5846, 5851, 5856, 5861, 5866, 5871, 5877, 5882, 5887,
+ 5892, 5898, 5904, 5910, 5916, 5922, 5928, 5934, 5940, 5946, 5952, 5958,
+ 5964, 5969, 5974, 5979, 5984, 5989, 5994, 5999, 6004, 6010, 6016, 6021,
+ 6027, 6033, 6039, 6044, 6049, 6054, 6059, 6065, 6071, 6076, 6081, 6086,
+ 6091, 6096, 6102, 6107, 6113, 6119, 6125, 6131, 6137, 6143, 6149, 6155,
+ 6161, 5611, 6166, 6170, 6174, 6177, 6184, 6187, 6195, 6200, 6205, 6196,
+ 6210, 2124, 6214, 6220, 6226, 6231, 6236, 6243, 6251, 6256, 6260, 6263,
+ 6267, 2132, 556, 6271, 6275, 6280, 6286, 6291, 6295, 6298, 6302, 6308,
+ 6313, 6317, 6324, 6328, 6332, 6336, 966, 761, 6339, 6347, 6354, 6361,
+ 6367, 6374, 6382, 6389, 6396, 6401, 6413, 1248, 1378, 1383, 6424, 1388,
+ 6428, 6432, 6441, 6449, 6458, 6464, 6469, 6473, 6479, 6484, 6491, 6495,
+ 6504, 6513, 6522, 6531, 6536, 6541, 6553, 6558, 6566, 2183, 6570, 6572,
+ 6577, 6581, 6590, 6598, 1392, 133, 3416, 3421, 6604, 6608, 6617, 6623,
+ 6628, 6631, 6640, 2657, 6646, 6654, 6658, 6662, 2196, 6666, 6671, 6678,
+ 6684, 6690, 6693, 6695, 6698, 6706, 6714, 6722, 6725, 6730, 6207, 6733,
+ 6735, 6740, 6745, 6750, 6755, 6760, 6765, 6770, 6775, 6780, 6785, 6791,
+ 6796, 6801, 6806, 6812, 6817, 6822, 6827, 6832, 6837, 6842, 6848, 6853,
+ 6858, 6863, 6868, 6873, 6878, 6883, 6888, 6893, 6898, 6903, 6908, 6913,
+ 6918, 6923, 6928, 6933, 6939, 6945, 6950, 6955, 6960, 6965, 6970, 2220,
+ 2227, 2233, 6975, 6981, 6989, 2259, 2265, 6997, 7001, 7006, 7010, 7014,
+ 7018, 7023, 7027, 7032, 7036, 7039, 7042, 7048, 7054, 7060, 7066, 7072,
+ 7078, 7084, 7088, 7092, 7096, 7100, 7104, 7109, 7116, 7127, 7135, 7145,
+ 7152, 7157, 7161, 7172, 7185, 7196, 7209, 7220, 7232, 7244, 7256, 7269,
+ 7282, 7289, 7295, 7309, 7316, 7322, 7326, 7331, 7335, 7342, 7350, 7354,
+ 7360, 7364, 7370, 7380, 7384, 7389, 7394, 7401, 7407, 7417, 6369, 7423,
+ 7427, 7434, 760, 7438, 7442, 7447, 7452, 7457, 7461, 7467, 7475, 7481,
+ 7485, 7491, 7501, 7505, 7511, 7516, 7520, 7526, 7532, 2120, 7537, 7539,
+ 7544, 7552, 7561, 7565, 7571, 7576, 7581, 7586, 7591, 7597, 7602, 7607,
+ 3936, 7612, 7617, 7621, 7627, 7632, 7638, 7643, 7648, 7654, 7659, 7566,
+ 7665, 7669, 7676, 7682, 7687, 7691, 4666, 7696, 7705, 7710, 7715, 6674,
+ 6681, 7720, 2812, 7724, 7729, 7734, 7577, 7738, 7582, 7587, 7743, 7750,
+ 7757, 7763, 7769, 7775, 7780, 7785, 7790, 7592, 7598, 7796, 7802, 7807,
+ 7815, 7603, 7820, 1054, 7823, 7831, 7837, 7843, 7852, 7860, 7865, 7871,
+ 7879, 7886, 7901, 7918, 7937, 7946, 7954, 7969, 7980, 7990, 8000, 8008,
+ 8014, 8026, 8035, 8043, 8050, 8057, 8063, 8068, 8076, 8086, 8093, 8103,
+ 8113, 8123, 8131, 8138, 8147, 8157, 8171, 8186, 8195, 8203, 8208, 8212,
+ 8221, 8227, 8232, 8242, 8252, 8262, 8267, 8271, 8280, 8285, 8295, 8306,
+ 8319, 8332, 8344, 8352, 8357, 8361, 8367, 8372, 8380, 8388, 8395, 8400,
+ 8408, 8414, 8417, 8421, 8427, 8435, 8440, 8444, 8452, 8461, 8469, 8475,
+ 8479, 8486, 8497, 8501, 8504, 8510, 7608, 8515, 8521, 8528, 8534, 8539,
+ 8546, 8553, 8560, 8567, 8574, 8581, 8586, 7914, 8591, 8597, 8604, 8611,
+ 8616, 8623, 8632, 8636, 8648, 6712, 8652, 8655, 8659, 8663, 8667, 8671,
+ 8677, 8682, 8688, 8693, 8698, 8704, 8709, 8714, 7397, 8719, 8723, 8727,
+ 8731, 8736, 8741, 8749, 8755, 8759, 8763, 8770, 8775, 8783, 8788, 8792,
+ 8795, 8801, 8808, 8812, 8815, 8820, 8824, 3975, 8830, 8839, 36, 8847,
+ 8853, 8858, 7412, 8863, 8868, 8872, 8875, 8890, 8909, 8921, 8934, 8947,
+ 8960, 8974, 8987, 9002, 9009, 7613, 9015, 9029, 9034, 9040, 9045, 9053,
+ 9058, 6500, 9063, 9066, 9073, 9078, 9082, 2817, 975, 9088, 9092, 9098,
+ 9104, 9109, 9115, 9120, 7622, 9126, 9132, 9137, 9142, 9150, 9156, 9169,
+ 9177, 9184, 7628, 9190, 9198, 9206, 9213, 9226, 9238, 9248, 9255, 9262,
+ 9271, 9280, 9288, 9295, 9300, 9306, 7633, 9311, 9317, 7639, 9322, 9325,
+ 9332, 9338, 9351, 7120, 9362, 9368, 9377, 9385, 9392, 9398, 9404, 9409,
+ 9413, 9418, 8882, 9424, 7644, 9431, 9436, 9443, 9449, 9455, 9460, 9468,
+ 9476, 9483, 9487, 9501, 9511, 9516, 9520, 9531, 9537, 9542, 9547, 7649,
+ 7655, 9551, 9554, 9559, 9571, 9578, 9583, 9587, 9592, 9596, 9603, 9609,
+ 7660, 7567, 9616, 2822, 8, 9623, 9628, 9632, 9638, 9646, 9656, 9661,
+ 9666, 9673, 9680, 9684, 9695, 9705, 9714, 9726, 9731, 9735, 9743, 9757,
+ 9761, 9764, 9772, 9779, 9787, 9791, 9802, 9806, 9813, 9818, 9822, 9828,
+ 9833, 9837, 9843, 9848, 9859, 9863, 9866, 9872, 9877, 9883, 9889, 9896,
+ 9907, 9917, 9927, 9936, 9943, 7670, 7677, 7683, 7688, 9949, 9955, 7692,
+ 9961, 9964, 9971, 9976, 9991, 10007, 10022, 10030, 10036, 808, 411,
+ 10041, 10049, 10056, 10062, 10067, 10072, 7697, 10074, 10078, 10083,
+ 10087, 10097, 10102, 10106, 10115, 10119, 10122, 7706, 10129, 10132,
+ 10140, 10147, 10155, 10159, 10166, 10175, 10178, 10182, 10186, 10192,
+ 10196, 10200, 10204, 10210, 10220, 10224, 10232, 10236, 10243, 10247,
+ 10252, 10256, 10263, 10269, 10277, 10283, 10293, 10298, 10303, 10307,
+ 10315, 3835, 10323, 10328, 7711, 10332, 10336, 10339, 10347, 10354,
+ 10358, 4486, 10362, 10367, 10371, 10382, 10387, 10393, 10397, 10400,
+ 10408, 10413, 10418, 10425, 10430, 7716, 10435, 10439, 1686, 4640, 10446,
+ 10451, 10456, 10461, 10467, 10472, 10478, 10483, 10488, 10493, 10498,
+ 10503, 10508, 10513, 10518, 10523, 10528, 10533, 10538, 10543, 10548,
+ 10553, 10558, 10564, 10569, 10574, 10579, 10584, 10589, 10595, 10600,
+ 10605, 10611, 10616, 10622, 10627, 10633, 10638, 10643, 10648, 10653,
+ 10659, 10664, 10669, 10674, 729, 139, 10682, 10686, 10691, 10696, 10700,
+ 10704, 10708, 10713, 10717, 10722, 10726, 10729, 10733, 10737, 10742,
+ 10752, 10758, 10766, 10770, 10774, 10781, 10789, 10798, 10809, 10816,
+ 10823, 10832, 10841, 10849, 10858, 10867, 10876, 10885, 10895, 10905,
+ 10915, 10925, 10935, 10944, 10954, 10964, 10974, 10984, 10994, 11004,
+ 11014, 11023, 11033, 11043, 11053, 11063, 11073, 11083, 11092, 11102,
+ 11112, 11122, 11132, 11142, 11152, 11162, 11172, 11182, 11191, 11201,
+ 11211, 11221, 11231, 11241, 11251, 11261, 11271, 11281, 11291, 11300,
+ 11306, 11310, 11313, 11317, 11322, 11329, 11335, 11340, 11344, 11349,
+ 11358, 11366, 11371, 11375, 11379, 11385, 11390, 11396, 7725, 11401,
+ 11406, 11415, 7730, 11420, 11423, 11429, 11437, 7735, 11444, 11448,
+ 11452, 11456, 11466, 11472, 11477, 11486, 11494, 11501, 11508, 11513,
+ 11520, 11525, 11529, 11532, 11543, 11553, 11562, 11570, 11581, 11593,
+ 11603, 11608, 11612, 11617, 11622, 11626, 11632, 11640, 11647, 11658,
+ 11663, 11673, 11682, 11686, 11689, 11696, 11706, 11715, 11722, 11726,
+ 11733, 11739, 11744, 11749, 11753, 11762, 11767, 11773, 11777, 11782,
+ 11786, 11795, 11803, 11811, 11818, 11826, 11838, 11849, 11859, 11866,
+ 11872, 11881, 11892, 11901, 11913, 11925, 11937, 11947, 11956, 11965,
+ 11973, 11980, 11989, 11997, 12003, 12009, 12014, 6228, 12018, 12020,
+ 12025, 12031, 12040, 12048, 12055, 12064, 12073, 12082, 12091, 12100,
+ 12109, 12118, 12127, 12137, 12147, 12156, 12162, 12169, 12183, 12190,
+ 12198, 12207, 12213, 12222, 12231, 12242, 12252, 12260, 12267, 12275,
+ 12284, 12297, 12305, 12312, 12325, 12331, 12337, 12347, 12356, 12365,
+ 12370, 12374, 12380, 12386, 12393, 7411, 12398, 12403, 12410, 12415,
+ 12420, 12424, 12432, 12438, 12443, 12451, 12459, 12466, 12474, 12480,
+ 12488, 12496, 12501, 12507, 12514, 12520, 12525, 12529, 12540, 12548,
+ 12554, 12559, 12568, 12574, 12579, 12588, 12602, 3794, 12606, 12611,
+ 12616, 12622, 12627, 12632, 12636, 12641, 12646, 12651, 6227, 12656,
+ 12661, 12666, 12671, 12676, 12680, 12685, 12690, 12695, 12700, 12706,
+ 12712, 12717, 12721, 12726, 12731, 12736, 7739, 12741, 12746, 12751,
+ 12756, 12761, 12778, 12796, 12808, 12821, 12838, 12854, 12871, 12881,
+ 12900, 12911, 12922, 12933, 12944, 12956, 12967, 12978, 12995, 13006,
+ 13017, 13022, 13027, 2340, 13031, 13034, 13040, 13048, 13056, 13061,
+ 13069, 13077, 13084, 13089, 13095, 13102, 13110, 13117, 13129, 13137,
+ 13142, 9985, 13148, 13157, 13166, 13174, 13181, 13187, 13195, 13202,
+ 13208, 13215, 13221, 13230, 13238, 13248, 13255, 13261, 13269, 13275,
+ 13283, 13290, 13303, 13310, 13319, 13328, 13337, 13345, 13355, 13362,
+ 13367, 3508, 13374, 13379, 13382, 12657, 13386, 13392, 13396, 13404,
+ 13416, 13421, 13428, 13434, 13439, 13446, 12662, 13450, 13454, 12667,
+ 13458, 12672, 13462, 13469, 13474, 13478, 13482, 13490, 13497, 13504,
+ 13521, 13530, 13534, 13537, 13545, 13551, 13556, 3586, 13560, 13562,
+ 13570, 13577, 13587, 13599, 13604, 13610, 13615, 13619, 13625, 13630,
+ 13636, 13639, 13646, 13654, 13661, 13667, 13673, 13678, 13685, 13691,
+ 13696, 13703, 13707, 13713, 13717, 13724, 13730, 13736, 13744, 13750,
+ 13755, 13761, 13769, 13777, 13783, 13789, 13794, 13801, 13806, 13810,
+ 13816, 13821, 13828, 13833, 13839, 13842, 13848, 13854, 13857, 13861,
+ 13873, 13879, 13884, 13891, 13897, 13903, 13914, 13924, 13933, 13941,
+ 13948, 13959, 13969, 13979, 13987, 13990, 12686, 13995, 14000, 12691,
+ 12826, 14008, 14021, 14036, 14047, 12843, 14065, 14078, 14091, 14102,
+ 8897, 14113, 14126, 14145, 14156, 14167, 14178, 2608, 14191, 14195,
+ 14203, 14214, 14221, 14227, 14235, 14239, 14245, 14248, 14258, 14266,
+ 14273, 14281, 14291, 14296, 14303, 14308, 14315, 14326, 14336, 14342,
+ 14347, 14352, 12696, 14356, 14362, 14368, 14373, 14378, 14383, 14387,
+ 12701, 12707, 14391, 12713, 14396, 14404, 14413, 14420, 7588, 14424,
+ 14426, 14431, 14436, 14442, 14447, 14452, 14457, 14462, 14466, 14472,
+ 14478, 14483, 14489, 14494, 14499, 14505, 14510, 14515, 14520, 14525,
+ 14531, 14536, 14541, 14547, 14553, 14558, 14563, 14570, 14576, 14587,
+ 14594, 14599, 14603, 14607, 14610, 14618, 14623, 14630, 14637, 14643,
+ 14648, 14653, 14660, 14670, 14675, 14682, 14688, 14698, 14708, 14722,
+ 14736, 14750, 14764, 14779, 14794, 14811, 14829, 14842, 14848, 14853,
+ 14858, 14862, 14867, 14875, 14881, 14886, 14891, 14895, 14900, 14904,
+ 14909, 14913, 14924, 14930, 14935, 14940, 14947, 14952, 14956, 14961,
+ 14966, 14972, 14979, 14985, 14990, 14994, 15000, 15005, 15010, 15014,
+ 15020, 15025, 15030, 15037, 15042, 11468, 15046, 15051, 15055, 15060,
+ 15066, 15072, 15079, 15089, 15097, 15104, 15109, 15113, 15122, 15130,
+ 15137, 15144, 15150, 15156, 15161, 15166, 15172, 15177, 15183, 15188,
+ 15194, 15200, 15207, 15213, 15218, 15223, 7781, 15232, 15235, 15241,
+ 15246, 15251, 15261, 15268, 15274, 15279, 15284, 15290, 15295, 15301,
+ 15306, 15312, 15318, 15323, 15331, 15338, 15343, 15348, 15354, 15359,
+ 15363, 15372, 15383, 15390, 15395, 15403, 15409, 15416, 15422, 15427,
+ 15431, 15437, 15442, 15447, 15452, 7786, 6252, 2836, 15456, 15460, 15464,
+ 15468, 15472, 15475, 15482, 15490, 12727, 15497, 15507, 15515, 15522,
+ 15530, 15540, 15549, 15562, 15567, 15572, 15580, 15587, 11558, 11567,
+ 15594, 15604, 15619, 15625, 15632, 15639, 15645, 15655, 15665, 12732,
+ 15674, 15680, 15686, 15694, 15702, 15707, 15716, 15724, 15736, 15746,
+ 15756, 15766, 15775, 15787, 15797, 15807, 15818, 15823, 15835, 15847,
+ 15859, 15871, 15883, 15895, 15907, 15919, 15931, 15943, 15954, 15966,
+ 15978, 15990, 16002, 16014, 16026, 16038, 16050, 16062, 16074, 16085,
+ 16097, 16109, 16121, 16133, 16145, 16157, 16169, 16181, 16193, 16205,
+ 16216, 16228, 16240, 16252, 16264, 16276, 16288, 16300, 16312, 16324,
+ 16336, 16347, 16359, 16371, 16383, 16395, 16407, 16419, 16431, 16443,
+ 16455, 16467, 16478, 16490, 16502, 16514, 16526, 16538, 16550, 16562,
+ 16574, 16586, 16598, 16609, 16621, 16633, 16645, 16657, 16669, 16681,
+ 16693, 16705, 16717, 16729, 16740, 16752, 16764, 16776, 16788, 16801,
+ 16814, 16827, 16840, 16853, 16866, 16879, 16891, 16904, 16917, 16930,
+ 16943, 16956, 16969, 16982, 16995, 17008, 17021, 17033, 17046, 17059,
+ 17072, 17085, 17098, 17111, 17124, 17137, 17150, 17163, 17175, 17188,
+ 17201, 17214, 17227, 17240, 17253, 17266, 17279, 17292, 17305, 17317,
+ 17330, 17343, 17356, 17369, 17382, 17395, 17408, 17421, 17434, 17447,
+ 17459, 17472, 17485, 17498, 17511, 17524, 17537, 17550, 17563, 17576,
+ 17589, 17601, 17612, 17625, 17638, 17651, 17664, 17677, 17690, 17703,
+ 17716, 17729, 17742, 17754, 17767, 17780, 17793, 17806, 17819, 17832,
+ 17845, 17858, 17871, 17884, 17896, 17909, 17922, 17935, 17948, 17961,
+ 17974, 17987, 18000, 18013, 18026, 18038, 18051, 18064, 18077, 18090,
+ 18103, 18116, 18129, 18142, 18155, 18168, 18180, 18193, 18206, 18219,
+ 18232, 18245, 18258, 18271, 18284, 18297, 18310, 18322, 18335, 18348,
+ 18361, 18374, 18387, 18400, 18413, 18426, 18439, 18452, 18464, 18477,
+ 18490, 18503, 18516, 18529, 18542, 18555, 18568, 18581, 18594, 18606,
+ 18619, 18632, 18645, 18658, 18671, 18684, 18697, 18710, 18723, 18736,
+ 18748, 18761, 18774, 18787, 18800, 18813, 18826, 18839, 18852, 18865,
+ 18878, 18890, 18903, 18916, 18929, 18942, 18955, 18968, 18981, 18994,
+ 19007, 19020, 19032, 19043, 19051, 19058, 19064, 19068, 19074, 19080,
+ 19088, 19094, 19099, 19103, 19112, 7593, 19123, 19130, 19138, 19145,
+ 19152, 9345, 19159, 19168, 19173, 19178, 6268, 19185, 19190, 19193,
+ 19198, 19206, 19213, 19220, 19227, 19233, 19242, 19251, 19257, 19266,
+ 19272, 19277, 19287, 19294, 19300, 19308, 19314, 19321, 19331, 19340,
+ 19344, 19351, 19355, 19360, 19366, 19374, 19378, 19388, 12742, 19397,
+ 19403, 19407, 19416, 12747, 19422, 19429, 19440, 19448, 19457, 7376,
+ 19465, 19470, 19476, 19481, 19485, 19489, 19493, 8072, 19498, 19506,
+ 19513, 19522, 19529, 19536, 9275, 19543, 19549, 19553, 19559, 19565,
+ 19573, 19579, 19586, 19592, 19598, 19607, 19611, 19619, 19628, 19635,
+ 19640, 19644, 19655, 19660, 19665, 19670, 19683, 6455, 19687, 19693,
+ 19701, 19705, 19712, 19721, 19726, 13018, 19734, 19746, 19751, 19755,
+ 19758, 19764, 19770, 19775, 19779, 19782, 19793, 19798, 7816, 19805,
+ 7604, 7821, 19810, 19815, 19820, 19825, 19830, 19835, 19840, 19845,
+ 19850, 19855, 19860, 19865, 19871, 19876, 19881, 19886, 19891, 19896,
+ 19901, 19906, 19911, 19916, 19922, 19928, 19933, 19938, 19943, 19948,
+ 19953, 19958, 19963, 19968, 19973, 19979, 19984, 19989, 19994, 20000,
+ 20006, 20011, 20016, 20021, 20026, 20031, 20036, 20041, 20046, 20052,
+ 20057, 20062, 20067, 20072, 20078, 20083, 20088, 20092, 129, 20100,
+ 20104, 20108, 20112, 20117, 20121, 20125, 10829, 20129, 20134, 20138,
+ 20143, 20147, 20152, 20156, 20162, 20167, 20171, 20175, 20183, 20187,
+ 20191, 20196, 20201, 20205, 20211, 20216, 20220, 20225, 20230, 20234,
+ 20241, 20248, 20255, 20259, 20263, 20268, 20272, 20275, 20281, 20294,
+ 20299, 20308, 20313, 7861, 20318, 20321, 2671, 2676, 20325, 20331, 20337,
+ 20342, 20347, 20352, 20358, 20363, 12238, 20368, 20373, 20378, 20383,
+ 20389, 20394, 20399, 20405, 20410, 20414, 20419, 20424, 20429, 20434,
+ 20438, 20443, 20447, 20452, 20457, 20462, 20467, 20471, 20476, 20480,
+ 20485, 20490, 20495, 20500, 2845, 20415, 20504, 20512, 20519, 8166,
+ 20531, 20539, 20420, 20546, 20551, 20559, 20425, 20564, 20569, 20577,
+ 20582, 20430, 20587, 20592, 20596, 20602, 20605, 20612, 20616, 20620,
+ 20626, 20633, 20638, 7403, 1691, 1696, 20642, 20648, 20654, 20659, 20663,
+ 20667, 20671, 20674, 20680, 20687, 20695, 20701, 20707, 20712, 20717,
+ 20721, 13112, 13965, 20726, 20738, 20741, 20748, 14639, 20755, 20763,
+ 20774, 20783, 20796, 20806, 20820, 20832, 20846, 20858, 20868, 20880,
+ 20886, 20901, 20925, 20943, 20962, 20975, 20989, 21007, 21023, 21040,
+ 21058, 21069, 21088, 21105, 21125, 21143, 21155, 21169, 21183, 21195,
+ 21212, 21231, 21249, 21261, 21279, 21298, 12886, 21311, 21331, 21343,
+ 8928, 21355, 21360, 21365, 21370, 21376, 21381, 21385, 21392, 2357,
+ 21396, 21402, 21406, 21409, 21413, 21421, 21427, 20448, 21431, 21440,
+ 21451, 21457, 21463, 21472, 21480, 21487, 21492, 21499, 21505, 21514,
+ 21522, 21529, 21539, 21548, 21558, 21563, 21572, 21581, 21592, 21603,
+ 3893, 21613, 21617, 21627, 21635, 21645, 21656, 21661, 21669, 21676,
+ 21682, 21687, 20458, 21691, 21700, 21704, 21707, 21712, 21719, 21728,
+ 21736, 21744, 21754, 21763, 21769, 21775, 20463, 20468, 21779, 21789,
+ 21799, 21809, 21817, 21824, 21834, 21842, 21850, 21856, 982, 21865,
+ 13073, 542, 21879, 21888, 21896, 21907, 21918, 21928, 21937, 21949,
+ 21958, 21967, 21973, 21982, 21991, 22001, 22009, 22017, 7793, 22023,
+ 22026, 22030, 22035, 22040, 8281, 20481, 20486, 22048, 22054, 22060,
+ 22065, 22070, 22074, 22082, 22088, 22094, 22098, 3480, 22106, 22111,
+ 22116, 22120, 22124, 8353, 22131, 22139, 22146, 22152, 8362, 8368, 22160,
+ 22168, 22175, 22180, 22185, 20491, 22191, 22202, 22207, 2560, 22212,
+ 22223, 22229, 22234, 22238, 22242, 22245, 22252, 22259, 22266, 22272,
+ 22276, 20496, 22281, 22285, 999, 22289, 22294, 22299, 22304, 22309,
+ 22314, 22319, 22324, 22329, 22334, 22339, 22344, 22349, 22354, 22360,
+ 22365, 22370, 22375, 22380, 22385, 22390, 22396, 22401, 22406, 22411,
+ 22416, 22421, 22426, 22431, 22437, 22443, 22448, 22454, 22459, 22464, 5,
+ 22470, 22474, 22478, 22482, 22487, 22491, 22495, 22499, 22503, 22508,
+ 22512, 22517, 22521, 22524, 22528, 22533, 22537, 22542, 22546, 22550,
+ 22554, 22559, 22563, 22567, 22577, 22582, 22586, 22590, 22595, 22600,
+ 22609, 22614, 22619, 22623, 22627, 22640, 22652, 22661, 22670, 22676,
+ 22681, 22685, 22689, 22699, 22708, 22716, 22722, 22727, 22731, 22738,
+ 22748, 22757, 22765, 22773, 22780, 22788, 22797, 22806, 22814, 22819,
+ 22823, 22827, 22830, 22832, 22836, 22840, 22845, 22850, 22854, 22858,
+ 22861, 22865, 22868, 22872, 22875, 22878, 22882, 22888, 22892, 22896,
+ 22900, 22905, 22910, 22915, 22919, 22922, 22927, 22933, 22938, 22944,
+ 22949, 22953, 22957, 22961, 22966, 22970, 22975, 22979, 22986, 22990,
+ 22993, 22997, 23003, 23009, 23013, 23017, 23022, 23029, 23035, 23039,
+ 23048, 23052, 23056, 23059, 23065, 23070, 23076, 1453, 1755, 23081,
+ 23086, 23091, 23096, 23101, 23106, 23111, 2107, 2153, 23116, 23119,
+ 23123, 23127, 23132, 23136, 23140, 23143, 23148, 23153, 23157, 23160,
+ 23165, 23169, 23174, 23178, 13085, 23183, 23186, 23189, 23193, 23198,
+ 23202, 23215, 23219, 23222, 23230, 23239, 23246, 23251, 23257, 23263,
+ 23270, 23277, 23281, 23285, 23289, 23294, 23299, 23303, 23311, 23316,
+ 23328, 23339, 23344, 23348, 23352, 23358, 23363, 23368, 23372, 23375,
+ 23381, 6375, 2275, 23385, 23390, 23406, 7908, 23426, 23435, 23451, 23455,
+ 23458, 23464, 23474, 23480, 23495, 23507, 23518, 23526, 23535, 23541,
+ 23550, 23560, 23571, 23582, 23591, 23600, 23608, 23615, 23623, 23636,
+ 23643, 23649, 23654, 23663, 23669, 23674, 23682, 21637, 23694, 23706,
+ 23720, 23728, 23735, 23747, 23756, 23765, 23773, 23781, 23789, 23796,
+ 23805, 23813, 23823, 23832, 23842, 23851, 23860, 23868, 23873, 23877,
+ 23880, 23884, 23888, 23892, 23896, 23900, 23906, 23912, 23920, 13130,
+ 23927, 23932, 23939, 23945, 23952, 13138, 23959, 23962, 23974, 23982,
+ 23988, 23993, 23997, 8311, 24008, 24018, 24027, 24034, 24038, 13143,
+ 24041, 24048, 24052, 24058, 24061, 24068, 24074, 24078, 24083, 24087,
+ 24096, 24103, 24109, 6416, 24116, 24124, 24131, 24137, 24142, 24148,
+ 24154, 24162, 24166, 24169, 24171, 23885, 24180, 24186, 24196, 24201,
+ 24208, 24214, 24219, 24224, 24229, 24234, 24241, 24250, 24257, 24266,
+ 24272, 24277, 24283, 24288, 24295, 24306, 24311, 24315, 24325, 24331,
+ 24335, 24340, 24350, 24359, 24363, 24370, 24378, 24385, 24391, 24396,
+ 24404, 24411, 24423, 24432, 24436, 11410, 24444, 24454, 24458, 23226,
+ 24469, 24474, 24478, 24485, 24492, 20207, 23810, 24497, 24501, 24504,
+ 21075, 24509, 24523, 24539, 24557, 24576, 24593, 24611, 21094, 24628,
+ 24648, 21111, 24660, 24672, 14052, 24684, 21131, 24698, 24710, 8941,
+ 24724, 24729, 24734, 24739, 24745, 24751, 24757, 24761, 24768, 24773,
+ 24783, 24789, 8594, 24795, 24797, 24802, 24810, 24814, 24237, 24820,
+ 24827, 9921, 9931, 24834, 24844, 24849, 24853, 24856, 24862, 24870,
+ 24882, 24892, 24908, 24921, 24935, 14070, 24949, 24956, 24960, 24963,
+ 24968, 24972, 24979, 24986, 24996, 25001, 25006, 25011, 25019, 25027,
+ 25036, 25041, 8005, 25045, 25048, 25051, 25056, 25063, 25068, 25084,
+ 25092, 25100, 7856, 25108, 25113, 25117, 25123, 25129, 25132, 25138,
+ 25150, 25158, 25165, 25171, 25178, 25189, 25203, 25216, 25225, 25237,
+ 25248, 25258, 25267, 25276, 25284, 25295, 6398, 25302, 25308, 25313,
+ 25319, 25326, 25336, 25346, 25355, 25361, 25368, 25373, 25380, 25388,
+ 25396, 25408, 4725, 25415, 25424, 25432, 25438, 25444, 25449, 25453,
+ 25456, 25462, 25469, 25474, 25479, 25483, 25495, 25506, 25515, 25523,
+ 13270, 25528, 25534, 25540, 9914, 7086, 25545, 25548, 25551, 25557,
+ 25565, 25573, 25577, 25581, 25586, 25589, 25598, 25602, 25610, 25621,
+ 25625, 25631, 25637, 25641, 25647, 25655, 25677, 25701, 25708, 25715,
+ 25721, 25727, 25732, 25743, 25761, 25768, 25776, 25780, 25789, 25802,
+ 25810, 25822, 25833, 25843, 25857, 25866, 25874, 25886, 7925, 25897,
+ 25908, 25920, 25930, 25939, 25944, 25948, 25956, 25966, 25971, 25975,
+ 25978, 25981, 25989, 25997, 26006, 26016, 26025, 26031, 26045, 2622,
+ 26067, 26078, 26087, 26097, 26109, 26118, 26128, 26136, 26144, 26153,
+ 26158, 26169, 26174, 26185, 26189, 26199, 26208, 26216, 26226, 26236,
+ 26244, 26253, 26260, 26268, 26275, 26284, 26288, 26296, 26303, 26311,
+ 26318, 26329, 26344, 26351, 26357, 26367, 26376, 26382, 26386, 26393,
+ 12360, 26399, 26403, 26408, 26412, 26416, 26424, 26432, 26438, 26447,
+ 26454, 26459, 26464, 26474, 21689, 26478, 26481, 26486, 26491, 26496,
+ 26501, 26506, 26511, 26516, 26521, 26527, 26532, 26537, 26543, 1224, 684,
+ 26548, 26557, 2323, 26564, 26569, 26573, 26579, 1257, 546, 338, 26584,
+ 26593, 26601, 26610, 26618, 26629, 26638, 26646, 26650, 26653, 26661,
+ 26669, 26674, 13098, 26680, 26686, 26692, 4367, 26697, 26701, 26707,
+ 26711, 26718, 1419, 26724, 8012, 26731, 26741, 26749, 26755, 26764,
+ 26772, 26778, 26786, 26793, 9507, 26799, 26806, 26813, 1460, 2106, 26819,
+ 26825, 26832, 26843, 26854, 26862, 26869, 26879, 26888, 26896, 26903,
+ 26910, 26923, 26934, 1262, 26953, 26958, 26966, 3523, 26970, 26975,
+ 26979, 1423, 22859, 26989, 26993, 26998, 27002, 3448, 27008, 27016,
+ 27023, 27034, 27042, 27050, 3524, 274, 27055, 27063, 27071, 27078, 27084,
+ 27089, 2175, 27096, 27102, 24079, 24301, 27108, 106, 27112, 27116, 27122,
+ 611, 7761, 27127, 27134, 27140, 2286, 27144, 27148, 27151, 27154, 27159,
+ 27166, 27172, 27177, 27185, 27192, 27198, 20584, 27202, 3594, 14902,
+ 27206, 27211, 27214, 27222, 27230, 27233, 27240, 27250, 27262, 27267,
+ 27271, 27279, 27286, 27292, 27299, 27306, 27309, 27313, 27317, 1427,
+ 27327, 27329, 27334, 27340, 27346, 27351, 27356, 27361, 27366, 27371,
+ 27376, 27381, 27386, 27391, 27396, 27401, 27406, 27411, 27416, 27422,
+ 27428, 27434, 27440, 27445, 27450, 27455, 27461, 27466, 27471, 27476,
+ 27482, 27487, 27493, 27498, 27503, 27508, 27513, 27519, 27524, 27530,
+ 27535, 27540, 27545, 27550, 27556, 27561, 27567, 27572, 27577, 27582,
+ 27587, 27592, 27597, 27602, 27607, 27612, 27618, 27624, 27630, 27635,
+ 27640, 27645, 27650, 27656, 27662, 27668, 27674, 27680, 27686, 27691,
+ 27697, 27702, 27707, 27712, 27717, 27723, 2402, 27728, 2409, 2416, 2713,
+ 27733, 2422, 2432, 27739, 27743, 27748, 27753, 27759, 27764, 27769,
+ 27773, 27778, 27784, 27789, 27794, 27799, 27805, 27810, 27814, 27818,
+ 27823, 27828, 27833, 27838, 27843, 27849, 27855, 27860, 27864, 27869,
+ 27875, 27879, 27884, 27889, 27894, 27899, 27903, 27906, 27911, 27916,
+ 27921, 27926, 27931, 27937, 27943, 27948, 27953, 27957, 27962, 27967,
+ 27972, 27977, 27982, 27986, 27991, 27996, 28001, 28005, 28009, 28013,
+ 28018, 28026, 28031, 28037, 28043, 28049, 28054, 28058, 28061, 28066,
+ 28070, 28075, 28079, 28084, 28088, 28091, 28096, 15575, 28101, 28106,
+ 28114, 19525, 26728, 7464, 28119, 28124, 28128, 28133, 28137, 28141,
+ 28146, 28150, 28153, 28156, 28160, 28165, 28169, 28177, 28181, 28184,
+ 28189, 28193, 28197, 28202, 28207, 28211, 28217, 28222, 28227, 28234,
+ 28241, 28245, 28248, 28254, 28263, 28270, 28278, 28285, 28289, 28294,
+ 28298, 28304, 28310, 28314, 28320, 28325, 28330, 28337, 28343, 28349,
+ 28355, 28361, 28368, 28374, 28380, 28386, 28392, 28398, 28404, 28410,
+ 28417, 28423, 28430, 28436, 28442, 28448, 28454, 28460, 28466, 28472,
+ 28478, 28484, 9815, 28490, 28495, 28500, 28503, 28511, 28516, 28525,
+ 28531, 28536, 28541, 28546, 28550, 28555, 28560, 28565, 28570, 28575,
+ 28582, 28589, 28595, 28601, 28606, 14580, 28613, 28619, 28626, 28632,
+ 28638, 28643, 28651, 28656, 14359, 28660, 28665, 28670, 28676, 28681,
+ 28686, 28690, 28695, 28700, 28706, 28711, 28716, 28720, 28725, 28730,
+ 28734, 28739, 28744, 28749, 28753, 28758, 28763, 28768, 28772, 28776,
+ 13600, 28780, 28789, 28795, 28801, 28810, 28818, 28827, 28835, 28840,
+ 28844, 28851, 28857, 28861, 28864, 28869, 28878, 28886, 28891, 1459,
+ 28897, 28900, 28904, 20649, 20655, 28910, 28914, 28925, 28936, 28947,
+ 28959, 28966, 28973, 28978, 28982, 4404, 747, 19524, 28990, 28995, 28999,
+ 29004, 29008, 29014, 29019, 29025, 29030, 29036, 29041, 29047, 29052,
+ 29058, 29064, 29070, 29075, 29031, 29037, 29079, 29085, 29090, 29096,
+ 29101, 29107, 29112, 29042, 8826, 29053, 29059, 29065, 2790, 3378, 29116,
+ 29119, 29125, 29131, 29137, 29144, 29150, 29156, 29162, 29168, 29174,
+ 29180, 29186, 29192, 29198, 29204, 29210, 29216, 29223, 29229, 29235,
+ 29241, 29247, 29253, 29258, 29261, 29268, 29276, 29281, 29286, 29292,
+ 29297, 29302, 29306, 29311, 29317, 29322, 29328, 29333, 29339, 29344,
+ 29350, 29356, 29360, 29365, 29370, 29375, 29380, 29384, 29389, 29394,
+ 29399, 29405, 29411, 29417, 29423, 29428, 29432, 29435, 29441, 29447,
+ 29456, 29464, 29471, 29476, 29480, 29484, 29489, 13464, 29494, 29502,
+ 29508, 3624, 29513, 29516, 29520, 6465, 29526, 29532, 29539, 6474, 29543,
+ 29549, 29556, 29562, 29571, 29579, 29591, 29595, 29602, 29608, 29612,
+ 29615, 29624, 29632, 29032, 29637, 29647, 29657, 29667, 29673, 29678,
+ 29688, 29693, 29706, 29720, 29731, 29743, 29755, 29769, 29782, 29794,
+ 29806, 12927, 29820, 29825, 29830, 29834, 29838, 29842, 1744, 25246,
+ 29846, 29851, 29856, 29860, 29863, 29868, 29873, 29878, 29884, 29890,
+ 8523, 29895, 29902, 14004, 29908, 29913, 29918, 29922, 29927, 29932,
+ 29080, 29937, 29942, 29947, 29953, 29086, 29958, 29961, 29968, 29976,
+ 29982, 29988, 29994, 30005, 30010, 30017, 30024, 30031, 30039, 30048,
+ 30057, 30063, 30069, 30077, 29091, 30082, 30088, 30094, 29097, 30099,
+ 30107, 30115, 30121, 30128, 30134, 30141, 30148, 30154, 30162, 30172,
+ 30179, 30184, 30190, 30195, 30200, 30207, 30216, 30224, 30229, 30235,
+ 30242, 30250, 30256, 30261, 30267, 30276, 26011, 30283, 30287, 30292,
+ 30301, 30306, 30311, 30316, 10762, 30324, 30329, 30334, 30339, 30343,
+ 30348, 30353, 30360, 30365, 30370, 29102, 29108, 30376, 2478, 244, 30379,
+ 30382, 30386, 30390, 30400, 30408, 30412, 30419, 30426, 30430, 30433,
+ 30439, 30447, 30455, 30459, 30463, 30466, 30473, 30477, 30484, 30492,
+ 29043, 30499, 30507, 689, 302, 30519, 30524, 30529, 30535, 30540, 30545,
+ 3645, 30550, 30553, 30558, 30563, 30568, 30573, 30578, 30585, 20734,
+ 30590, 30595, 30600, 30605, 30610, 30616, 30621, 30627, 29264, 30633,
+ 30638, 30644, 30650, 30660, 30665, 30670, 30674, 30679, 30684, 30689,
+ 30694, 30707, 30712, 20535, 14982, 3651, 30716, 30721, 30726, 30732,
+ 30737, 30742, 30746, 30751, 30756, 30762, 30767, 30772, 30776, 30781,
+ 30786, 30791, 30795, 30800, 30805, 30810, 30816, 30822, 30827, 30831,
+ 30836, 30841, 30846, 30850, 30858, 30862, 30868, 30872, 30879, 14775,
+ 29054, 30885, 30892, 30900, 30907, 30913, 30925, 30931, 30935, 2732,
+ 30939, 30943, 30468, 30952, 30963, 30968, 30973, 30978, 30982, 30987,
+ 20660, 30991, 30996, 29060, 19545, 31000, 31005, 31011, 31016, 31020,
+ 31024, 31027, 31031, 31037, 31048, 31060, 29066, 31065, 31068, 347,
+ 31072, 31077, 31082, 31087, 31092, 31097, 31103, 31108, 31113, 31119,
+ 31124, 31130, 31135, 31141, 31146, 31151, 31156, 31161, 31166, 31171,
+ 31176, 31181, 31187, 31192, 31197, 31202, 31207, 31212, 31217, 31222,
+ 31228, 31234, 31239, 31244, 31249, 31254, 31259, 31264, 31269, 31274,
+ 31279, 31284, 31289, 31294, 31299, 31304, 31309, 31314, 31319, 31324,
+ 31330, 26, 31335, 31339, 31343, 31351, 31355, 31359, 31362, 31365, 31367,
+ 31372, 31376, 31381, 31385, 31390, 31394, 31399, 31403, 31406, 31408,
+ 31413, 31417, 31428, 31431, 31433, 31437, 31449, 31458, 31462, 31466,
+ 31472, 31477, 31486, 31492, 31497, 31502, 31506, 31511, 31518, 31523,
+ 31529, 31534, 31538, 31545, 23818, 23828, 31549, 31554, 31559, 31564,
+ 31571, 31575, 31582, 6573, 31588, 31597, 31605, 31620, 31634, 31642,
+ 31653, 31662, 31667, 5706, 31677, 31682, 31687, 31691, 31694, 31698,
+ 31703, 31707, 31714, 31719, 31724, 7357, 31734, 31736, 31739, 31743,
+ 31749, 31753, 31758, 31763, 31769, 31774, 31780, 31785, 31795, 31804,
+ 31812, 31817, 31823, 31828, 31835, 31839, 31847, 31854, 31867, 31875,
+ 31879, 31889, 31894, 31898, 31906, 31914, 31918, 31927, 31933, 31938,
+ 31946, 31956, 31965, 31974, 31983, 31994, 32002, 32013, 32022, 32029,
+ 32035, 32040, 32051, 32056, 32060, 32063, 32067, 32075, 32081, 32089,
+ 32096, 32102, 32107, 32113, 2377, 32117, 32119, 32124, 32129, 32132,
+ 32134, 32138, 32141, 32148, 32152, 32156, 32159, 32165, 32175, 32180,
+ 32186, 32190, 32195, 32208, 24191, 32214, 32223, 15740, 32230, 32239,
+ 29653, 32247, 32252, 32256, 32264, 32271, 32276, 32280, 32285, 32289,
+ 32297, 32303, 32309, 32314, 32318, 32321, 32326, 32339, 32355, 21201,
+ 32372, 32384, 32401, 32413, 32427, 21218, 21237, 32439, 32451, 2639,
+ 32465, 32470, 32475, 32480, 32484, 32491, 32503, 32509, 32512, 32523,
+ 32534, 30074, 675, 32539, 32543, 32546, 32551, 32556, 32562, 32567,
+ 32572, 32578, 32584, 32589, 32593, 32598, 32603, 32608, 32612, 32615,
+ 32621, 32626, 32631, 32636, 32640, 32645, 32651, 32659, 24416, 32664,
+ 32669, 32676, 32682, 32688, 32693, 32701, 20743, 32708, 32713, 32718,
+ 32723, 32727, 32730, 32735, 32739, 32743, 32750, 32756, 32762, 32768,
+ 32775, 32780, 32786, 31909, 32790, 32794, 32799, 32812, 32817, 32823,
+ 32831, 32838, 32846, 32856, 32862, 32868, 32874, 32878, 32887, 32892,
+ 32897, 8849, 32902, 32909, 32915, 32925, 32930, 32936, 32944, 3556,
+ 32951, 32958, 3562, 32962, 32967, 32978, 32985, 32991, 33000, 33004,
+ 3945, 33007, 33014, 33020, 33026, 33034, 33044, 27079, 33051, 33059,
+ 33065, 33070, 33076, 33081, 33087, 33091, 33098, 33104, 33113, 24211,
+ 33120, 33125, 33129, 33137, 33145, 8040, 4390, 33152, 33156, 33160,
+ 33165, 33171, 33176, 33181, 33188, 30581, 33194, 33199, 33203, 33208,
+ 33212, 33221, 33225, 33231, 33238, 33244, 33251, 33256, 33265, 33270,
+ 33274, 33279, 33286, 33294, 33302, 33307, 19594, 33311, 33314, 33318,
+ 33322, 33326, 33329, 33331, 33336, 33344, 33348, 33355, 33359, 33363,
+ 33371, 33378, 33388, 33392, 33396, 33404, 33412, 33418, 33423, 33432,
+ 11717, 33438, 33447, 33452, 33459, 33467, 33475, 33483, 33490, 33497,
+ 33504, 33511, 33518, 33523, 33529, 33546, 33554, 33564, 33572, 33579,
+ 390, 33583, 33589, 33593, 33598, 31658, 33604, 33607, 33611, 33619, 3567,
+ 33627, 33633, 33639, 33648, 33658, 33665, 33671, 3573, 3579, 33680,
+ 33687, 33695, 33700, 33704, 33711, 33719, 33726, 33732, 33741, 33751,
+ 33757, 33765, 33774, 33781, 33789, 33796, 20265, 33800, 33807, 33813,
+ 33823, 33832, 33843, 33847, 33857, 33863, 33870, 33878, 33887, 33896,
+ 33906, 33917, 33924, 33929, 33936, 2980, 33944, 33950, 33955, 33961,
+ 33967, 33972, 33985, 33998, 34011, 34018, 34024, 34032, 34037, 34041,
+ 1433, 34045, 34050, 34055, 34060, 34065, 34071, 34076, 34081, 34086,
+ 34091, 34096, 34101, 34106, 34112, 34118, 34123, 34128, 34134, 34139,
+ 34144, 34149, 34155, 34160, 34165, 34170, 34175, 34181, 34186, 34191,
+ 34197, 34202, 34207, 34212, 34217, 34222, 34228, 34233, 34239, 34244,
+ 34250, 34255, 34260, 34265, 34271, 34277, 34283, 34289, 34295, 34301,
+ 34307, 34313, 34318, 34323, 34329, 34334, 34339, 34344, 34349, 34354,
+ 34359, 34364, 34370, 34375, 34380, 34386, 34392, 101, 34397, 34399,
+ 34403, 34407, 34411, 34416, 34420, 7961, 34424, 34430, 4759, 34436,
+ 34439, 34444, 34448, 34453, 34457, 34461, 34466, 8656, 34470, 34474,
+ 34478, 34482, 13692, 34487, 34491, 34496, 34501, 34506, 34510, 34517,
+ 24215, 34523, 34526, 34530, 34535, 34541, 34545, 34553, 34559, 34564,
+ 34568, 34574, 34578, 34582, 3417, 3422, 27265, 34585, 34593, 34600,
+ 34604, 34611, 34616, 337, 34621, 34625, 34631, 34643, 34649, 34655,
+ 34659, 34665, 34674, 34678, 34682, 34687, 34692, 34697, 34701, 34705,
+ 34712, 34718, 34723, 34738, 34753, 34768, 34784, 34802, 8606, 34816,
+ 34823, 34827, 34830, 34839, 34844, 34848, 34856, 31860, 34864, 34868,
+ 34878, 27235, 34889, 34893, 34902, 34910, 8218, 13236, 34914, 34917,
+ 34920, 28173, 34925, 8217, 34930, 34936, 34941, 34947, 34952, 34958,
+ 34963, 34969, 34974, 34980, 34986, 34992, 34997, 34953, 34959, 34964,
+ 34970, 34975, 34981, 34987, 6586, 3815, 35001, 35009, 35013, 35016,
+ 35020, 35025, 35030, 35036, 35042, 35047, 35051, 24063, 35055, 35059,
+ 35065, 35069, 7487, 35078, 35085, 35089, 10258, 35096, 35102, 35107,
+ 35114, 35121, 35128, 26605, 6509, 35135, 35142, 35149, 35155, 35160,
+ 35167, 35178, 35184, 35189, 35194, 35199, 35206, 34954, 35210, 35220,
+ 35231, 35237, 35242, 35247, 35252, 35257, 35262, 35266, 35270, 35276,
+ 35284, 2278, 835, 8678, 8683, 8689, 35293, 8694, 8699, 8705, 35298,
+ 35308, 35312, 8710, 35317, 35320, 35325, 35329, 35334, 35339, 35346,
+ 35353, 35361, 8619, 35368, 35371, 35377, 35387, 4424, 35396, 35400,
+ 35408, 35412, 35422, 35428, 35439, 35445, 35451, 35456, 35462, 35468,
+ 35474, 35479, 35482, 35489, 35495, 35500, 35507, 35514, 35518, 35528,
+ 35541, 35550, 35559, 35570, 35583, 35594, 35603, 35614, 35619, 35628,
+ 35633, 8715, 35639, 35646, 35654, 35659, 35663, 35670, 35677, 3770, 16,
+ 35681, 35686, 15034, 35690, 35693, 35696, 26122, 35700, 26614, 35708,
+ 35712, 35716, 35719, 35725, 34976, 35731, 35739, 35745, 35752, 26114,
+ 35756, 26299, 35760, 35769, 35775, 35781, 35786, 35790, 35796, 35800,
+ 35808, 35816, 24273, 35822, 35829, 35835, 35840, 35845, 35849, 35855,
+ 35860, 35866, 3986, 769, 35873, 35877, 35880, 13582, 35892, 33770, 35903,
+ 35906, 35913, 35919, 35923, 35929, 35934, 35940, 35945, 35950, 35954,
+ 35958, 35963, 35968, 35978, 35984, 35997, 36003, 36010, 36015, 36021,
+ 36026, 14920, 1436, 1022, 29199, 29205, 36031, 29211, 29224, 29230,
+ 29236, 36037, 29242, 29248, 36043, 36049, 22, 36057, 36064, 36068, 36072,
+ 36080, 29963, 36084, 36088, 36095, 36100, 36104, 36109, 36115, 36120,
+ 36126, 36131, 36135, 36139, 36143, 36148, 36152, 36157, 36161, 36168,
+ 36173, 36177, 36182, 36186, 36191, 36195, 36200, 36206, 13802, 13807,
+ 36211, 36215, 36218, 36222, 19436, 36227, 36231, 36237, 36244, 36249,
+ 36259, 36264, 36272, 36276, 36279, 29978, 36283, 4039, 36288, 36293,
+ 36297, 36302, 36306, 36311, 11735, 36322, 36326, 36329, 36334, 36338,
+ 36342, 36345, 36349, 6605, 11751, 36352, 36355, 36361, 36366, 36372,
+ 36377, 36383, 36388, 36394, 36399, 36405, 36411, 36417, 36422, 36426,
+ 36430, 36439, 36455, 36471, 36481, 26021, 36488, 36492, 36497, 36502,
+ 36506, 36510, 33891, 36516, 36521, 36525, 36532, 36537, 36541, 36545,
+ 25075, 36551, 19689, 36556, 36563, 36571, 36577, 36584, 36592, 36598,
+ 36602, 36608, 36616, 36620, 36629, 7942, 36637, 36641, 36649, 36656,
+ 36661, 36666, 36670, 36673, 36677, 36680, 36684, 36691, 36696, 36702,
+ 24494, 29259, 36706, 36713, 36719, 36725, 36730, 36733, 36735, 36742,
+ 36749, 36755, 36759, 36762, 36766, 36770, 36774, 36779, 36783, 36787,
+ 36790, 36794, 36808, 21267, 36827, 36840, 36853, 36866, 21285, 36881,
+ 8902, 36896, 36902, 36906, 36910, 36917, 36922, 36926, 36933, 36939,
+ 36944, 36950, 36960, 36972, 36983, 36988, 36995, 36999, 37003, 37006,
+ 14198, 3618, 37014, 13829, 37027, 37034, 37038, 37042, 37047, 37052,
+ 37058, 37062, 37066, 37069, 6217, 13840, 37074, 37078, 37084, 37093,
+ 37098, 33747, 37104, 37109, 37113, 37118, 37125, 37129, 37132, 37137,
+ 12892, 37144, 37151, 1035, 37155, 37160, 37165, 37171, 37176, 37181,
+ 37185, 37195, 37200, 37206, 37211, 37217, 37222, 37228, 37238, 37243,
+ 37248, 37252, 5708, 5720, 37257, 37260, 37267, 37273, 32025, 32032,
+ 37282, 37286, 30026, 37294, 37305, 37313, 33939, 37320, 37325, 37330,
+ 37341, 37348, 37359, 30050, 19695, 37367, 727, 37372, 37378, 26105,
+ 37384, 37389, 37399, 37408, 37415, 37421, 37425, 37428, 37435, 37441,
+ 37448, 37454, 37464, 37472, 37478, 37484, 37489, 37493, 37500, 37506,
+ 37513, 36775, 535, 12160, 37519, 37524, 37527, 37533, 37541, 1365, 37546,
+ 37550, 37555, 37562, 37568, 37572, 37576, 37581, 37590, 37597, 37607,
+ 37613, 26140, 37630, 37639, 37647, 37653, 37658, 37665, 37671, 37679,
+ 37688, 37696, 37700, 37705, 37713, 30059, 37719, 37738, 14131, 37752,
+ 37768, 37782, 37788, 37793, 37798, 37803, 37809, 30065, 37814, 37821,
+ 37826, 37830, 345, 2887, 37837, 37842, 37847, 25392, 37668, 37851, 37856,
+ 37864, 37868, 37871, 37877, 37883, 37887, 26195, 37890, 37895, 37899,
+ 37902, 37907, 37911, 37916, 37921, 37925, 37930, 37934, 37938, 19432,
+ 19443, 37942, 37947, 37953, 25032, 37958, 37962, 19511, 14349, 37965,
+ 37970, 37975, 37980, 37985, 37990, 37995, 38000, 450, 43, 29277, 29282,
+ 29287, 29293, 29298, 29303, 38005, 29307, 38009, 38013, 29312, 29318,
+ 38017, 29329, 29334, 38025, 38030, 29340, 38035, 38040, 38045, 38050,
+ 38056, 38062, 38068, 29357, 38081, 38087, 29361, 38091, 29366, 38096,
+ 29371, 29376, 38099, 38104, 38108, 28940, 38114, 11959, 38121, 38126,
+ 29381, 38130, 38135, 38140, 38145, 38149, 38154, 38159, 38165, 38170,
+ 38175, 38181, 38187, 38192, 38196, 38201, 38206, 38211, 38215, 38220,
+ 38225, 38230, 38236, 38242, 38248, 38253, 38257, 38262, 38266, 29385,
+ 29390, 29395, 38270, 38274, 38278, 29400, 29406, 29412, 29424, 38290,
+ 24100, 38294, 38298, 38303, 38308, 38313, 38317, 38321, 38331, 38336,
+ 38341, 38345, 38349, 38352, 38360, 29472, 38365, 1443, 38371, 38379,
+ 38388, 38392, 38396, 38404, 38410, 38418, 38434, 38438, 38443, 38458,
+ 29509, 1713, 10423, 38462, 2933, 38474, 38475, 38483, 38490, 38495,
+ 38502, 38507, 7812, 1105, 8737, 38514, 38519, 38522, 38525, 38534, 1276,
+ 38539, 36923, 38546, 38551, 20708, 2516, 38555, 9146, 38565, 38571, 2296,
+ 2306, 38580, 38589, 38599, 38610, 3248, 32176, 8789, 3748, 14958, 1281,
+ 38615, 38623, 38630, 38635, 38639, 38643, 22051, 8816, 38651, 38660,
+ 38669, 38677, 38684, 38689, 38702, 38715, 38727, 38739, 38751, 38764,
+ 38775, 38786, 38796, 38804, 38812, 38824, 38836, 38847, 38856, 38864,
+ 38871, 38883, 38890, 38899, 38906, 38919, 38924, 38934, 38939, 38945,
+ 38950, 35086, 38954, 38961, 38965, 38972, 38980, 2477, 38987, 38998,
+ 39008, 39017, 39025, 39035, 39043, 39053, 39062, 39067, 39073, 39079,
+ 39090, 39100, 39109, 39118, 39128, 39136, 39145, 39150, 39155, 39160,
+ 1669, 37, 39168, 39176, 39187, 39198, 14633, 39208, 39215, 39221, 39226,
+ 39230, 39241, 39251, 39260, 39271, 15007, 15012, 39276, 39285, 39290,
+ 39300, 39305, 39313, 39321, 39328, 39334, 5557, 228, 39338, 39344, 39349,
+ 39352, 2076, 37039, 39360, 39364, 39367, 1476, 39373, 12309, 1286, 39378,
+ 39391, 39405, 2602, 39423, 39435, 39447, 2616, 2633, 39461, 39474, 2648,
+ 39488, 39500, 2663, 39514, 1292, 1298, 1304, 9064, 39519, 39524, 39529,
+ 39533, 39548, 39563, 39578, 39593, 39608, 39623, 39638, 39653, 39668,
+ 39683, 39698, 39713, 39728, 39743, 39758, 39773, 39788, 39803, 39818,
+ 39833, 39848, 39863, 39878, 39893, 39908, 39923, 39938, 39953, 39968,
+ 39983, 39998, 40013, 40028, 40043, 40058, 40073, 40088, 40103, 40118,
+ 40133, 40148, 40163, 40178, 40193, 40208, 40223, 40238, 40253, 40268,
+ 40283, 40298, 40313, 40328, 40343, 40358, 40373, 40388, 40403, 40418,
+ 40433, 40448, 40463, 40478, 40493, 40508, 40523, 40538, 40553, 40568,
+ 40583, 40598, 40613, 40628, 40643, 40658, 40673, 40688, 40703, 40718,
+ 40733, 40748, 40763, 40778, 40793, 40808, 40823, 40838, 40853, 40868,
+ 40883, 40898, 40913, 40928, 40943, 40958, 40973, 40988, 41003, 41018,
+ 41033, 41048, 41063, 41078, 41093, 41108, 41123, 41138, 41153, 41168,
+ 41183, 41198, 41213, 41228, 41243, 41258, 41273, 41288, 41303, 41318,
+ 41333, 41348, 41363, 41378, 41393, 41408, 41423, 41438, 41453, 41468,
+ 41483, 41498, 41513, 41528, 41543, 41558, 41573, 41588, 41603, 41618,
+ 41633, 41648, 41663, 41678, 41693, 41708, 41723, 41738, 41753, 41768,
+ 41783, 41798, 41813, 41828, 41843, 41858, 41873, 41888, 41903, 41918,
+ 41933, 41948, 41963, 41978, 41993, 42008, 42023, 42038, 42053, 42068,
+ 42083, 42098, 42113, 42128, 42143, 42158, 42173, 42188, 42203, 42218,
+ 42233, 42248, 42263, 42278, 42293, 42308, 42323, 42338, 42353, 42368,
+ 42383, 42398, 42413, 42428, 42443, 42458, 42473, 42488, 42503, 42518,
+ 42533, 42548, 42563, 42578, 42593, 42608, 42623, 42638, 42653, 42668,
+ 42683, 42698, 42713, 42728, 42743, 42758, 42773, 42788, 42803, 42818,
+ 42833, 42848, 42863, 42878, 42893, 42908, 42923, 42938, 42953, 42968,
+ 42983, 42998, 43013, 43028, 43043, 43058, 43073, 43088, 43103, 43118,
+ 43133, 43148, 43163, 43178, 43193, 43208, 43223, 43238, 43253, 43268,
+ 43283, 43298, 43313, 43328, 43343, 43358, 43373, 43388, 43403, 43418,
+ 43433, 43448, 43463, 43478, 43493, 43508, 43523, 43538, 43553, 43568,
+ 43583, 43598, 43613, 43628, 43643, 43658, 43673, 43688, 43703, 43718,
+ 43733, 43748, 43763, 43778, 43793, 43808, 43823, 43838, 43853, 43868,
+ 43883, 43898, 43913, 43928, 43943, 43958, 43973, 43988, 44003, 44018,
+ 44033, 44048, 44063, 44078, 44093, 44108, 44123, 44138, 44153, 44168,
+ 44183, 44198, 44213, 44228, 44243, 44258, 44273, 44288, 44303, 44318,
+ 44333, 44348, 44363, 44378, 44393, 44408, 44423, 44438, 44453, 44468,
+ 44483, 44498, 44513, 44528, 44543, 44558, 44573, 44588, 44603, 44618,
+ 44633, 44648, 44663, 44678, 44693, 44708, 44723, 44738, 44753, 44768,
+ 44783, 44798, 44813, 44828, 44843, 44858, 44873, 44888, 44903, 44918,
+ 44933, 44948, 44963, 44978, 44993, 45008, 45023, 45038, 45053, 45068,
+ 45083, 45098, 45113, 45128, 45143, 45158, 45173, 45188, 45203, 45218,
+ 45233, 45248, 45263, 45278, 45293, 45308, 45323, 45338, 45353, 45368,
+ 45383, 45398, 45413, 45428, 45443, 45458, 45473, 45488, 45503, 45518,
+ 45533, 45548, 45563, 45578, 45593, 45608, 45623, 45638, 45653, 45668,
+ 45683, 45698, 45713, 45728, 45743, 45758, 45773, 45788, 45803, 45818,
+ 45833, 45848, 45863, 45878, 45893, 45908, 45923, 45938, 45953, 45968,
+ 45983, 45998, 46013, 46028, 46043, 46058, 46073, 46088, 46103, 46118,
+ 46133, 46148, 46163, 46178, 46193, 46208, 46223, 46238, 46253, 46268,
+ 46283, 46298, 46313, 46328, 46343, 46358, 46373, 46388, 46403, 46418,
+ 46433, 46448, 46463, 46478, 46493, 46508, 46523, 46538, 46553, 46568,
+ 46583, 46598, 46613, 46628, 46643, 46658, 46673, 46688, 46703, 46718,
+ 46733, 46748, 46763, 46778, 46793, 46808, 46823, 46838, 46853, 46868,
+ 46883, 46898, 46913, 46928, 46943, 46958, 46973, 46988, 47003, 47018,
+ 47033, 47048, 47063, 47078, 47093, 47108, 47123, 47138, 47153, 47168,
+ 47183, 47198, 47213, 47228, 47243, 47258, 47273, 47288, 47303, 47319,
+ 47335, 47351, 47367, 47383, 47399, 47415, 47431, 47447, 47463, 47479,
+ 47495, 47511, 47527, 47543, 47559, 47575, 47591, 47607, 47623, 47639,
+ 47655, 47671, 47687, 47703, 47719, 47735, 47751, 47767, 47783, 47799,
+ 47815, 47831, 47847, 47863, 47879, 47895, 47911, 47927, 47943, 47959,
+ 47975, 47991, 48007, 48023, 48039, 48055, 48071, 48087, 48103, 48119,
+ 48135, 48151, 48167, 48183, 48199, 48215, 48231, 48247, 48263, 48279,
+ 48295, 48311, 48327, 48343, 48359, 48375, 48391, 48407, 48423, 48439,
+ 48455, 48471, 48487, 48503, 48519, 48535, 48551, 48567, 48583, 48599,
+ 48615, 48631, 48647, 48663, 48679, 48695, 48711, 48727, 48743, 48759,
+ 48775, 48791, 48807, 48823, 48839, 48855, 48871, 48887, 48903, 48919,
+ 48935, 48951, 48967, 48983, 48999, 49015, 49031, 49047, 49063, 49079,
+ 49095, 49111, 49127, 49143, 49159, 49175, 49191, 49207, 49223, 49239,
+ 49255, 49271, 49287, 49303, 49319, 49335, 49351, 49367, 49383, 49399,
+ 49415, 49431, 49447, 49463, 49479, 49495, 49511, 49527, 49543, 49559,
+ 49575, 49591, 49607, 49623, 49639, 49655, 49671, 49687, 49703, 49719,
+ 49735, 49751, 49767, 49783, 49799, 49815, 49831, 49847, 49863, 49879,
+ 49895, 49911, 49927, 49943, 49959, 49975, 49991, 50007, 50023, 50039,
+ 50055, 50071, 50087, 50103, 50119, 50135, 50151, 50167, 50183, 50199,
+ 50215, 50231, 50247, 50263, 50279, 50295, 50311, 50327, 50343, 50359,
+ 50375, 50391, 50407, 50423, 50439, 50455, 50471, 50487, 50503, 50519,
+ 50535, 50551, 50567, 50583, 50599, 50615, 50631, 50647, 50663, 50679,
+ 50695, 50711, 50727, 50743, 50759, 50775, 50791, 50807, 50823, 50839,
+ 50855, 50871, 50887, 50903, 50919, 50935, 50951, 50967, 50983, 50999,
+ 51015, 51031, 51047, 51063, 51079, 51095, 51111, 51127, 51143, 51159,
+ 51175, 51191, 51207, 51223, 51239, 51255, 51271, 51287, 51303, 51319,
+ 51335, 51351, 51367, 51383, 51399, 51415, 51431, 51447, 51463, 51479,
+ 51495, 51511, 51527, 51543, 51559, 51575, 51591, 51607, 51623, 51639,
+ 51655, 51671, 51687, 51703, 51719, 51735, 51751, 51767, 51783, 51799,
+ 51815, 51831, 51847, 51863, 51879, 51895, 51911, 51927, 51943, 51959,
+ 51975, 51991, 52007, 52023, 52039, 52055, 52071, 52087, 52103, 52119,
+ 52135, 52151, 52167, 52183, 52199, 52215, 52231, 52247, 52263, 52279,
+ 52295, 52311, 52327, 52343, 52359, 52375, 52391, 52407, 52423, 52439,
+ 52455, 52471, 52487, 52503, 52519, 52535, 52551, 52567, 52583, 52599,
+ 52615, 52631, 52647, 52663, 52679, 52695, 52711, 52727, 52743, 52759,
+ 52775, 52791, 52807, 52823, 52839, 52855, 52871, 52887, 52903, 52919,
+ 52935, 52951, 52967, 52983, 52999, 53015, 53031, 53047, 53063, 53079,
+ 53095, 53111, 53127, 53143, 53159, 53175, 53191, 53207, 53223, 53239,
+ 53255, 53271, 53287, 53303, 53319, 53335, 53351, 53367, 53383, 53399,
+ 53415, 53431, 53447, 53463, 53479, 53495, 53511, 53527, 53543, 53559,
+ 53575, 53591, 53607, 53623, 53639, 53655, 53671, 53687, 53703, 53719,
+ 53735, 53751, 53767, 53783, 53799, 53815, 53831, 53847, 53863, 53879,
+ 53895, 53911, 53927, 53943, 53959, 53975, 53991, 54007, 54023, 54039,
+ 54055, 54071, 54087, 54103, 54119, 54135, 54151, 54167, 54183, 54199,
+ 54215, 54231, 54247, 54263, 54279, 54295, 54311, 54327, 54343, 54359,
+ 54375, 54391, 54407, 54423, 54439, 54455, 54471, 54487, 54503, 54519,
+ 54535, 54551, 54567, 54583, 54599, 54615, 54631, 54647, 54663, 54679,
+ 54695, 54711, 54727, 54743, 54759, 54775, 54791, 54807, 54823, 54839,
+ 54855, 54871, 54887, 54903, 54919, 54935, 54951, 54967, 54983, 54999,
+ 55015, 55031, 55047, 55063, 55079, 55095, 55111, 55127, 55143, 55159,
+ 55175, 55191, 55207, 55223, 55239, 55255, 55271, 55287, 55303, 55319,
+ 55335, 55351, 55367, 55383, 55399, 55415, 55431, 55447, 55463, 55479,
+ 55495, 55511, 55527, 55543, 55559, 55575, 55591, 55607, 55623, 55639,
+ 55655, 55671, 55687, 55703, 55719, 55735, 55751, 55767, 55783, 55799,
+ 55815, 55831, 55847, 55863, 55879, 55895, 55911, 55927, 55943, 55959,
+ 55975, 55990, 15039, 55999, 56005, 56011, 56021, 56029, 13217, 13752,
+ 8385, 56042, 1484, 56050, 25502, 5662, 56056, 56061, 56066, 56071, 56076,
+ 56082, 56087, 56093, 56098, 56104, 56109, 56114, 56119, 56124, 56130,
+ 56135, 56140, 56145, 56150, 56155, 56160, 56165, 56171, 56176, 56182,
+ 56189, 2520, 56194, 56200, 6977, 56204, 56209, 56216, 56224, 40, 56228,
+ 56234, 56239, 56244, 56248, 56253, 56257, 56261, 9089, 56265, 56275,
+ 56288, 56299, 56312, 56319, 56325, 56330, 56336, 56342, 56348, 56353,
+ 56358, 56363, 56368, 56372, 56377, 56382, 56387, 56393, 56399, 56405,
+ 56410, 56414, 56419, 56424, 56428, 56433, 56438, 56443, 56447, 9105,
+ 9116, 9121, 1527, 56451, 1532, 56457, 14516, 56460, 1563, 56466, 1569,
+ 1575, 9151, 56471, 56479, 56486, 56490, 56496, 56501, 28969, 56506,
+ 56513, 56518, 56522, 56526, 1580, 14608, 14619, 56535, 56542, 56547,
+ 56551, 14644, 1584, 35225, 56554, 56559, 56569, 56578, 56583, 56587,
+ 56593, 1589, 37110, 56598, 56607, 56613, 56618, 9301, 9307, 56624, 56636,
+ 56653, 56670, 56687, 56704, 56721, 56738, 56755, 56772, 56789, 56806,
+ 56823, 56840, 56857, 56874, 56891, 56908, 56925, 56942, 56959, 56976,
+ 56993, 57010, 57027, 57044, 57061, 57078, 57095, 57112, 57129, 57146,
+ 57163, 57180, 57197, 57214, 57231, 57248, 57265, 57282, 57299, 57316,
+ 57333, 57350, 57367, 57384, 57401, 57418, 57435, 57452, 57469, 57480,
+ 57485, 1594, 57489, 57495, 57500, 57505, 7759, 1599, 57511, 57520, 25785,
+ 57525, 57536, 57546, 57551, 57558, 57564, 57569, 57574, 14896, 57578,
+ 9318, 1604, 9323, 57584, 57589, 57595, 57600, 57605, 57610, 57615, 57620,
+ 57625, 57630, 57636, 57642, 57648, 57653, 57657, 57662, 57667, 57671,
+ 57676, 57681, 57686, 57690, 57695, 57701, 57706, 57711, 57715, 57720,
+ 57725, 57731, 57736, 57741, 57747, 57753, 57758, 57762, 57767, 57772,
+ 57777, 57781, 57786, 57791, 57796, 57802, 57808, 57813, 57817, 57821,
+ 57826, 57831, 57836, 27145, 57840, 57845, 57850, 57856, 57861, 57866,
+ 57870, 57875, 57880, 57886, 57891, 57896, 57902, 57908, 57913, 57917,
+ 57922, 57927, 57931, 57936, 57941, 57946, 57952, 57958, 57963, 57967,
+ 57972, 57977, 57981, 57986, 57991, 57996, 58000, 58003, 29620, 58008,
+ 58016, 14962, 14986, 9414, 58022, 58032, 58047, 9419, 58058, 58063,
+ 58074, 58086, 58098, 58110, 2654, 58122, 58127, 58131, 58137, 58143,
+ 58148, 1616, 1036, 58157, 58162, 37156, 58166, 58170, 58175, 58179,
+ 15047, 58184, 58187, 58195, 58203, 1620, 9444, 9450, 1625, 58211, 58218,
+ 58223, 58232, 58242, 58249, 58254, 1630, 58261, 58266, 15162, 58270,
+ 58275, 58282, 58288, 58292, 58303, 58313, 15184, 7672, 7679, 1635, 58320,
+ 58326, 58334, 58341, 58347, 58354, 58366, 58372, 58377, 58389, 58400,
+ 58409, 58419, 3681, 28805, 28814, 15224, 1640, 1644, 58427, 58438, 58443,
+ 1647, 58451, 58456, 15275, 58468, 58474, 58479, 58487, 1652, 58492,
+ 58497, 58505, 58513, 58520, 58529, 58537, 58546, 1657, 58550, 1662,
+ 58555, 58562, 15349, 58570, 58576, 58581, 58589, 58596, 58604, 20779,
+ 58609, 9579, 58618, 58624, 58631, 58638, 58644, 58654, 58660, 58665,
+ 58670, 58678, 9588, 9593, 58686, 58692, 58700, 3746, 15391, 37244, 58705,
+ 58711, 58716, 58724, 58731, 10404, 58736, 58742, 1673, 58747, 58750,
+ 1073, 58756, 58761, 58766, 58772, 58777, 58782, 58787, 58792, 58797,
+ 58802, 1682, 9, 58808, 58812, 58817, 58821, 58825, 58829, 29864, 58834,
+ 58839, 58844, 58848, 58851, 58855, 58859, 58864, 58868, 58873, 58877,
+ 32547, 32552, 32557, 58880, 58887, 58893, 36976, 58903, 32563, 30117,
+ 29879, 29885, 32579, 29891, 58908, 58913, 30150, 58917, 58920, 58924,
+ 58931, 58934, 58939, 58943, 58947, 58950, 58960, 58972, 58979, 31514,
+ 58982, 6994, 856, 58985, 58989, 58994, 58998, 59001, 11992, 59008, 59015,
+ 59028, 59036, 59045, 59050, 59060, 59073, 59085, 59092, 59097, 59106,
+ 59119, 59137, 59142, 59149, 59155, 59160, 59168, 59175, 25341, 619,
+ 59181, 59187, 59197, 59203, 59208, 29909, 4498, 29923, 59212, 59222,
+ 59227, 59237, 59252, 59258, 59264, 29933, 59269, 29081, 59273, 59278,
+ 59283, 59287, 59292, 15227, 59299, 59304, 59308, 4539, 29959, 59312,
+ 59318, 332, 59328, 59335, 59342, 59347, 59356, 56563, 59362, 59370,
+ 59374, 59378, 59382, 59386, 59391, 59395, 59401, 59409, 59414, 59419,
+ 59423, 59428, 59432, 59436, 59442, 59448, 59453, 59457, 30083, 59462,
+ 30089, 30095, 59467, 59473, 59480, 59485, 59489, 29098, 14889, 59492,
+ 59496, 59501, 59508, 59514, 59518, 59523, 36686, 59529, 59533, 59537,
+ 59542, 59548, 59554, 59566, 59575, 59585, 59591, 59598, 59603, 59608,
+ 59612, 59615, 59621, 59628, 59633, 59638, 59645, 59652, 59658, 59663,
+ 59668, 59676, 59681, 2382, 59685, 59690, 59696, 59701, 59707, 59712,
+ 59717, 59722, 59728, 30116, 59733, 59739, 59745, 59751, 30180, 59756,
+ 59761, 59766, 30191, 59771, 59776, 59781, 59787, 59793, 30196, 59798,
+ 59803, 59808, 30251, 30257, 59813, 59818, 30262, 59823, 26012, 30284,
+ 30288, 59828, 59804, 59832, 59840, 59846, 59854, 59861, 59867, 59877,
+ 59883, 59890, 9036, 30302, 59896, 59909, 59918, 59924, 59933, 59939,
+ 21696, 59946, 59953, 59963, 30252, 59966, 59973, 59978, 59982, 59986,
+ 59991, 4615, 59995, 60000, 60005, 32641, 32646, 60009, 32660, 60014,
+ 32665, 60019, 60025, 32677, 32683, 32689, 60030, 60036, 20744, 60047,
+ 60050, 60062, 60070, 30325, 60074, 60083, 60093, 60102, 30335, 60107,
+ 60114, 60123, 60129, 60137, 60144, 4590, 4327, 60149, 30263, 60155,
+ 60158, 60164, 60171, 60176, 60181, 21623, 60185, 60191, 60197, 60202,
+ 60207, 60211, 60217, 60223, 31424, 833, 33642, 34555, 34561, 60228,
+ 60232, 60236, 60239, 60252, 60258, 60262, 60265, 60270, 31727, 60274,
+ 29103, 19532, 60280, 4519, 4527, 7513, 60283, 60288, 60293, 60298, 60303,
+ 60308, 60313, 60318, 60323, 60328, 60334, 60339, 60344, 60350, 60355,
+ 60360, 60365, 60370, 60375, 60380, 60386, 60391, 60397, 60402, 60407,
+ 60412, 60417, 60422, 60427, 60432, 60437, 60442, 60447, 60453, 60458,
+ 60463, 60468, 60473, 60478, 60483, 60489, 60494, 60499, 60504, 60509,
+ 60514, 60519, 60524, 60529, 60534, 60540, 60545, 60550, 60555, 60560,
+ 60566, 60572, 60577, 60583, 60588, 60593, 60598, 60603, 60608, 1477, 245,
+ 60613, 60617, 60621, 60625, 23274, 60629, 60633, 60638, 60642, 60647,
+ 60651, 60655, 60659, 60664, 60668, 11729, 60673, 60677, 60684, 13513,
+ 60693, 60702, 60706, 60711, 60716, 60720, 23073, 2970, 60724, 60730,
+ 60739, 60747, 60753, 60765, 60777, 60781, 60786, 60790, 60796, 60802,
+ 60807, 60817, 60827, 60833, 60838, 60842, 60847, 60853, 60862, 60871,
+ 60879, 13867, 60883, 60892, 60900, 60912, 60923, 60934, 60943, 60947,
+ 60956, 60966, 60972, 60977, 60983, 60988, 98, 28917, 60999, 24345, 24355,
+ 61005, 61012, 61018, 61022, 61032, 61043, 61051, 61060, 61065, 61070,
+ 61074, 15590, 61082, 61086, 61092, 61102, 61109, 61115, 32740, 1180,
+ 61121, 61124, 61128, 61138, 61144, 61151, 11666, 61158, 61164, 61173,
+ 61182, 61188, 61194, 61200, 61205, 61212, 61219, 61225, 61238, 61247,
+ 61256, 61261, 61265, 61271, 61278, 61285, 61292, 61299, 61306, 61311,
+ 61315, 61319, 61322, 61332, 61336, 61348, 61357, 61361, 61366, 61370,
+ 61376, 61381, 61388, 61397, 61405, 61413, 61418, 61422, 61427, 61432,
+ 61442, 61450, 61455, 61459, 61463, 61469, 61481, 61489, 61499, 61506,
+ 61512, 61517, 61521, 61525, 61529, 61538, 61547, 61556, 61562, 61568,
+ 61574, 61579, 61586, 61592, 61600, 61607, 10820, 61613, 61619, 61623,
+ 12571, 61627, 61632, 61642, 61651, 61657, 61663, 61671, 61678, 61682,
+ 61686, 61692, 61700, 61707, 61713, 61724, 61728, 61732, 61736, 61739,
+ 61745, 61750, 61754, 61758, 61767, 61775, 61782, 61788, 61795, 22204,
+ 36728, 61800, 61808, 61812, 61816, 61819, 61827, 61834, 61840, 61849,
+ 61857, 61863, 61868, 61872, 61877, 61881, 61885, 61890, 61899, 61903,
+ 61910, 61917, 61923, 61931, 61937, 61948, 61956, 61962, 20874, 61971,
+ 61978, 61985, 61992, 61999, 62006, 39708, 11504, 62013, 62020, 62025,
+ 32776, 37892, 62031, 62036, 62041, 62047, 62053, 62059, 62064, 62069,
+ 62074, 62079, 62085, 62090, 62096, 62101, 62107, 62112, 62117, 62122,
+ 62127, 62132, 62137, 62142, 62148, 62153, 62159, 62164, 62169, 62174,
+ 62179, 62184, 62189, 62195, 62200, 62205, 62210, 62215, 62220, 62225,
+ 62230, 62235, 62240, 62245, 62251, 62256, 62261, 62266, 62271, 62276,
+ 62281, 62286, 62291, 62297, 62302, 62307, 62312, 62317, 62322, 62327,
+ 62332, 62337, 62342, 62347, 62352, 62357, 62363, 1798, 224, 35321, 62368,
+ 62371, 62376, 62380, 62383, 62388, 61409, 62399, 62409, 62416, 62432,
+ 62441, 62451, 62461, 62469, 62477, 62481, 62484, 62491, 62497, 62508,
+ 62520, 62531, 62540, 62547, 1287, 21512, 62557, 2549, 62561, 62570, 1142,
+ 15563, 35947, 62578, 62586, 62600, 62613, 62617, 62622, 62627, 62632,
+ 62638, 62644, 62649, 6986, 62654, 62662, 9445, 62667, 62673, 1685, 9457,
+ 728, 62682, 62691, 62701, 25109, 62710, 62716, 15139, 62722, 62726, 3894,
+ 9788, 62732, 58433, 62739, 3918, 184, 12492, 62745, 62757, 62761, 62767,
+ 25805, 62771, 9776, 2689, 4, 62776, 62786, 62792, 62803, 62810, 62816,
+ 62822, 62830, 62837, 62843, 62853, 62863, 62873, 1299, 62882, 62888,
+ 2712, 2718, 6983, 2223, 62892, 62896, 62905, 62913, 62924, 62932, 62940,
+ 62946, 62951, 62962, 62973, 62981, 62987, 8127, 62992, 63000, 63004,
+ 63008, 63020, 26181, 63027, 63037, 63043, 63049, 8229, 63059, 63070,
+ 63080, 63089, 63093, 63100, 1144, 1196, 63110, 63115, 63123, 63131,
+ 63142, 63149, 63163, 12417, 384, 63173, 63177, 63186, 63194, 63200,
+ 63214, 63221, 63227, 63236, 63243, 63253, 63261, 3753, 189, 63269, 63280,
+ 63284, 63296, 26003, 156, 63302, 63307, 63311, 63318, 63324, 63332,
+ 63339, 7263, 63346, 63355, 63363, 3819, 63376, 15185, 63380, 2757, 443,
+ 63385, 63398, 63403, 1797, 653, 63407, 3825, 63415, 63421, 983, 63431,
+ 63440, 63445, 13251, 13258, 43040, 63449, 3763, 11398, 63457, 63464,
+ 21739, 63468, 63475, 63481, 63486, 63491, 13271, 367, 63496, 63508,
+ 63514, 63522, 2769, 1717, 63530, 63532, 63537, 63542, 63547, 63553,
+ 63558, 63563, 63568, 63573, 63578, 63583, 63589, 63594, 63599, 63604,
+ 63609, 63614, 63619, 63624, 63629, 63635, 63640, 63645, 63650, 63656,
+ 63661, 63667, 63672, 63677, 63682, 63687, 63692, 63697, 63702, 63708,
+ 63713, 63719, 63724, 63729, 63734, 63739, 63744, 63749, 63754, 63759,
+ 63765, 63770, 63775, 63779, 63783, 63788, 63792, 63797, 63802, 63808,
+ 63813, 63817, 63822, 63826, 63829, 63831, 63835, 63838, 63843, 63847,
+ 63851, 63855, 63859, 63868, 63872, 30520, 63875, 30525, 63882, 63887,
+ 30530, 63896, 63905, 30536, 63910, 30541, 63919, 63924, 9966, 63928,
+ 63933, 63938, 30546, 63942, 38058, 63946, 63949, 63953, 6667, 63959,
+ 63964, 63968, 3646, 30551, 63971, 63975, 63978, 63983, 63987, 63993,
+ 64001, 64014, 64023, 64029, 64034, 64040, 64044, 64050, 64058, 64063,
+ 64070, 64076, 64084, 64093, 64101, 30554, 64108, 64118, 64127, 64140,
+ 64145, 64150, 64159, 64165, 64172, 64183, 64195, 64202, 64211, 64220,
+ 64229, 64236, 64242, 64249, 64257, 64264, 64272, 64281, 64289, 64296,
+ 64304, 64313, 64321, 64330, 64340, 64349, 64357, 64364, 64372, 64381,
+ 64389, 64398, 64408, 64417, 64425, 64434, 64444, 64453, 64463, 64474,
+ 64484, 64493, 64501, 64508, 64516, 64525, 64533, 64542, 64552, 64561,
+ 64569, 64578, 64588, 64597, 64607, 64618, 64628, 64637, 64645, 64654,
+ 64664, 64673, 64683, 64694, 64704, 64713, 64723, 64734, 64744, 64755,
+ 64767, 64778, 64788, 64797, 64805, 64812, 64820, 64829, 64837, 64846,
+ 64856, 64865, 64873, 64882, 64892, 64901, 64911, 64922, 64932, 64941,
+ 64949, 64958, 64968, 64977, 64987, 64998, 65008, 65017, 65027, 65038,
+ 65048, 65059, 65071, 65082, 65092, 65101, 65109, 65118, 65128, 65137,
+ 65147, 65158, 65168, 65177, 65187, 65198, 65208, 65219, 65231, 65242,
+ 65252, 65261, 65271, 65282, 65292, 65303, 65315, 65326, 65336, 65347,
+ 65359, 65370, 65382, 65395, 65407, 65418, 65428, 65437, 65445, 65452,
+ 65460, 65469, 65477, 65486, 65496, 65505, 65513, 65522, 65532, 65541,
+ 65551, 65562, 65572, 65581, 65589, 65598, 65608, 65617, 65627, 65638,
+ 65648, 65657, 65667, 65678, 65688, 65699, 65711, 65722, 65732, 65741,
+ 65749, 65758, 65768, 65777, 65787, 65798, 65808, 65817, 65827, 65838,
+ 65848, 65859, 65871, 65882, 65892, 65901, 65911, 65922, 65932, 65943,
+ 65955, 65966, 65976, 65987, 65999, 66010, 66022, 66035, 66047, 66058,
+ 66068, 66077, 66085, 66094, 66104, 66113, 66123, 66134, 66144, 66153,
+ 66163, 66174, 66184, 66195, 66207, 66218, 66228, 66237, 66247, 66258,
+ 66268, 66279, 66291, 66302, 66312, 66323, 66335, 66346, 66358, 66371,
+ 66383, 66394, 66404, 66413, 66423, 66434, 66444, 66455, 66467, 66478,
+ 66488, 66499, 66511, 66522, 66534, 66547, 66559, 66570, 66580, 66591,
+ 66603, 66614, 66626, 66639, 66651, 66662, 66674, 66687, 66699, 66712,
+ 66726, 66739, 66751, 66762, 66772, 66781, 66789, 66796, 66801, 6518,
+ 66808, 30564, 66813, 66818, 30569, 66824, 19186, 30574, 66829, 66835,
+ 66843, 66849, 66855, 66862, 66869, 66874, 66878, 66881, 66885, 66894,
+ 66900, 66912, 66923, 66927, 3032, 6493, 66932, 66935, 66937, 66941,
+ 66945, 66949, 24044, 66954, 66958, 66961, 66966, 66970, 66977, 66983,
+ 66987, 66991, 66994, 30591, 66999, 67006, 67015, 67023, 67034, 67042,
+ 67050, 67057, 67064, 67070, 67081, 30596, 67086, 67097, 67109, 67117,
+ 67128, 67137, 67148, 67153, 67161, 2515, 67166, 32234, 67179, 67183,
+ 67195, 67203, 67208, 67216, 15750, 67227, 67233, 67240, 67248, 67254,
+ 30606, 67259, 3844, 56025, 67266, 67269, 67277, 67290, 67303, 67316,
+ 67329, 67336, 67347, 67356, 39525, 39530, 67361, 67365, 67373, 67380,
+ 67389, 67397, 67403, 67412, 67420, 67428, 67432, 67441, 67450, 67460,
+ 67473, 67486, 67496, 30611, 67502, 67509, 67515, 30617, 67520, 67523,
+ 67527, 67535, 67544, 39263, 67552, 67561, 67569, 67576, 67584, 67594,
+ 67603, 67612, 67621, 67629, 67640, 67650, 7799, 19801, 67659, 67664,
+ 67669, 67673, 67677, 67682, 67688, 67693, 67698, 67704, 67709, 67714,
+ 19766, 67719, 67726, 67734, 67742, 67747, 67754, 67761, 67765, 67769,
+ 67777, 67785, 30634, 67791, 67797, 67809, 67815, 67819, 67826, 67831,
+ 67842, 67852, 67862, 67874, 67880, 67890, 67900, 30661, 67909, 67918,
+ 67924, 67936, 67947, 67954, 67959, 67963, 67971, 67977, 67982, 67987,
+ 67994, 68002, 68014, 68024, 68033, 68042, 68049, 32098, 22027, 68055,
+ 68060, 68064, 68068, 68073, 68079, 68090, 68103, 68108, 68115, 30666,
+ 68120, 68132, 68141, 68151, 68162, 68175, 68182, 68191, 68200, 68208,
+ 68213, 68219, 1027, 68224, 68229, 68234, 68239, 68245, 68250, 68255,
+ 68261, 68267, 68272, 68276, 68281, 68286, 68291, 56531, 68296, 68301,
+ 68306, 68311, 68317, 68323, 68328, 68332, 68337, 68342, 68347, 68353,
+ 68358, 68364, 68369, 68374, 68379, 68384, 68388, 68394, 68399, 68408,
+ 68413, 68418, 68423, 68428, 68432, 68439, 68445, 15412, 15419, 43295,
+ 68450, 68400, 68452, 68462, 30675, 68465, 68474, 68480, 4638, 30680,
+ 68484, 68490, 68495, 68501, 68506, 68510, 68517, 68522, 68532, 68541,
+ 68545, 68551, 68557, 68563, 68567, 68575, 68582, 68590, 68598, 30685,
+ 68605, 68608, 68615, 68621, 68626, 68630, 68636, 68643, 68648, 68652,
+ 68661, 68669, 68675, 68680, 30690, 68687, 68694, 68700, 68705, 68711,
+ 68718, 68724, 19539, 25525, 68730, 68735, 68741, 68753, 68433, 68440,
+ 68763, 68768, 68775, 68782, 68788, 68799, 68804, 7548, 68812, 68815,
+ 68821, 68825, 68829, 68832, 68838, 30443, 4677, 922, 11779, 68845, 68851,
+ 68857, 68863, 68869, 68875, 68881, 68887, 68893, 68898, 68903, 68908,
+ 68913, 68918, 68923, 68928, 68933, 68938, 68943, 68948, 68953, 68958,
+ 68964, 68969, 68974, 68980, 68985, 68990, 68996, 69002, 69008, 69014,
+ 69020, 69026, 69032, 69038, 69044, 69049, 69054, 69060, 69065, 69070,
+ 69076, 69081, 69086, 69091, 69096, 69101, 69106, 69111, 69116, 69121,
+ 69126, 69131, 69136, 69142, 69147, 69152, 69157, 69163, 69168, 69173,
+ 69178, 69183, 69189, 69194, 69199, 69204, 69209, 69214, 69219, 69224,
+ 69229, 69234, 69239, 69244, 69249, 69254, 69259, 69264, 69269, 69274,
+ 69279, 69284, 69290, 69295, 69300, 69305, 69310, 69315, 69320, 69325,
+ 1828, 142, 69330, 69334, 69338, 69343, 69351, 69355, 69362, 69370, 69374,
+ 69387, 69395, 69399, 69402, 69407, 69411, 69416, 69420, 69428, 69432,
+ 19194, 69437, 69441, 58696, 69445, 69448, 69456, 69464, 69472, 69477,
+ 69484, 69490, 69496, 69501, 69506, 69514, 62605, 69521, 69526, 69531,
+ 69535, 10033, 69539, 69544, 69549, 69553, 69556, 69562, 69566, 69576,
+ 69585, 69588, 69595, 69608, 69614, 69622, 69633, 69644, 69655, 69666,
+ 69675, 69681, 69690, 69698, 69708, 69721, 69728, 69739, 69745, 69750,
+ 69755, 69761, 69767, 69777, 69786, 68122, 69794, 69800, 69808, 69814,
+ 69822, 69826, 69830, 69833, 69839, 69845, 69853, 69865, 69877, 69884,
+ 69888, 69899, 69907, 69914, 69926, 69934, 69942, 69949, 69955, 69965,
+ 69974, 69979, 69989, 69998, 38604, 70005, 70009, 70014, 70022, 70029,
+ 70035, 70039, 70049, 70060, 70068, 70075, 70087, 70099, 70108, 67169,
+ 70115, 70126, 70140, 70148, 70158, 70165, 70173, 70185, 70194, 70202,
+ 70212, 70223, 70235, 70244, 70254, 70261, 70270, 70285, 70295, 70304,
+ 70312, 70325, 70340, 70344, 70353, 70365, 70376, 70387, 70398, 70408,
+ 70419, 70427, 70433, 70443, 70449, 27044, 70454, 70460, 70465, 70472,
+ 8141, 15770, 70478, 70487, 70492, 70496, 70503, 70509, 70514, 70519,
+ 70527, 70535, 70539, 70542, 70545, 70547, 70554, 70560, 70571, 70576,
+ 70580, 70587, 70593, 70598, 70606, 63072, 63082, 70612, 70619, 70629,
+ 9023, 70636, 70641, 27234, 70650, 70655, 70662, 70672, 70680, 70688,
+ 70697, 70703, 70709, 70716, 70723, 70728, 70732, 70740, 70745, 70750,
+ 70758, 70765, 70770, 70776, 70779, 70783, 70792, 69382, 70801, 70805,
+ 70811, 70822, 70832, 15779, 70843, 70851, 15791, 70858, 70862, 70871,
+ 25411, 70878, 70882, 70887, 70904, 70916, 8981, 70928, 70933, 70938,
+ 70943, 70947, 70950, 70955, 70960, 70966, 70971, 4341, 19267, 70976,
+ 70981, 70987, 70994, 70999, 71004, 71010, 71016, 71022, 71027, 71033,
+ 71037, 71051, 71059, 71067, 71073, 71078, 71085, 71095, 71104, 71109,
+ 71114, 71122, 71127, 71133, 71138, 71147, 57580, 71152, 71155, 71173,
+ 71192, 71205, 71219, 71235, 71242, 71249, 71255, 71262, 71267, 71273,
+ 71279, 71287, 71293, 71298, 71303, 71319, 8994, 71333, 71340, 71348,
+ 71354, 71358, 71361, 71366, 71371, 71378, 71383, 71392, 71397, 71403,
+ 71412, 71421, 71426, 71430, 71438, 10057, 71447, 71455, 71460, 71466,
+ 10068, 71471, 71474, 71479, 71489, 71498, 71503, 71509, 71514, 71522,
+ 71529, 71540, 71550, 71555, 62533, 71560, 71566, 71571, 71578, 71587,
+ 71595, 71601, 71608, 71614, 71618, 15237, 3006, 71623, 71627, 71633,
+ 71642, 71648, 71655, 71659, 71680, 71702, 71718, 71735, 71754, 71763,
+ 71773, 71780, 71787, 25298, 71793, 71797, 71805, 71817, 71823, 71831,
+ 71835, 71843, 71850, 71854, 71860, 71866, 71871, 3511, 39725, 71877,
+ 71881, 71885, 71889, 71894, 71899, 71904, 71910, 71916, 71922, 71929,
+ 71935, 71942, 71948, 71954, 71959, 71965, 71970, 71975, 71979, 71984,
+ 39740, 71988, 71993, 72001, 72005, 72010, 72017, 72026, 72032, 72036,
+ 72043, 72047, 72050, 72057, 72066, 72071, 72075, 72083, 72092, 72096,
+ 72104, 72110, 72115, 72120, 72126, 72132, 72137, 72141, 72147, 72152,
+ 72156, 72160, 72163, 72168, 72176, 72186, 72191, 37263, 72199, 72211,
+ 72215, 72221, 72233, 72244, 72251, 72257, 72264, 72276, 72283, 72289,
+ 19341, 72293, 72299, 72306, 72312, 72318, 72323, 72328, 72333, 72342,
+ 5512, 72347, 14703, 72353, 72357, 72361, 72369, 72378, 72382, 72389,
+ 72398, 72411, 72417, 71980, 28093, 72422, 72424, 72429, 72434, 72439,
+ 72444, 72449, 72454, 72459, 72464, 72469, 72474, 72479, 72484, 72489,
+ 72494, 72500, 72505, 72510, 72515, 72520, 72525, 72530, 72535, 72540,
+ 72546, 72552, 72558, 72563, 72568, 72580, 72585, 1834, 67, 72590, 72595,
+ 30717, 30722, 30727, 30733, 30738, 72599, 30743, 20316, 72621, 72625,
+ 72629, 72634, 72638, 30747, 72642, 72650, 30752, 72657, 72660, 72665,
+ 72669, 7976, 72678, 30757, 20178, 72681, 72685, 1397, 72690, 30768,
+ 72693, 72698, 23837, 23847, 33172, 72703, 72708, 72713, 72718, 72724,
+ 72729, 72738, 72743, 72750, 72756, 72761, 72766, 72771, 72781, 72790,
+ 72795, 72803, 72807, 72815, 30582, 35192, 72822, 72828, 72833, 72838,
+ 72843, 72849, 72854, 72861, 72867, 72872, 72880, 72890, 72900, 72906,
+ 72911, 72917, 15801, 72924, 33992, 72937, 72942, 72948, 72961, 72967,
+ 72971, 72980, 72987, 72993, 73001, 73010, 73017, 73023, 73026, 23978,
+ 73030, 73037, 73043, 73051, 73056, 22156, 73062, 73065, 73073, 73081,
+ 73095, 73102, 73108, 73115, 73121, 30782, 73125, 73132, 73140, 73148,
+ 30787, 73154, 73160, 73165, 73175, 73181, 73190, 28822, 32647, 73198,
+ 73203, 73208, 73213, 73217, 13243, 37276, 73222, 73227, 30792, 59980,
+ 73231, 73236, 73240, 73249, 73257, 73263, 73268, 73274, 73281, 73287,
+ 73292, 73297, 73306, 73318, 73333, 31033, 73339, 14822, 30796, 73343,
+ 73350, 22262, 73356, 73363, 73372, 73379, 73388, 73394, 73399, 73407,
+ 73413, 30806, 73418, 73427, 72239, 73436, 73443, 73449, 73455, 73465,
+ 73473, 73480, 73484, 30811, 73487, 30817, 30823, 73492, 73500, 73508,
+ 73518, 73527, 73535, 73542, 73552, 30828, 73556, 73558, 73562, 73567,
+ 73571, 73575, 73581, 73586, 73590, 73601, 73606, 3011, 73610, 73617,
+ 73621, 73630, 73638, 73645, 73650, 73655, 60026, 73659, 73662, 73668,
+ 73676, 73682, 73686, 73691, 73698, 73703, 73709, 32678, 73714, 73717,
+ 73722, 73726, 73731, 73736, 73740, 73748, 23856, 23865, 73754, 73760,
+ 73766, 73771, 73775, 73778, 73788, 73797, 73802, 73808, 73815, 73821,
+ 73825, 73833, 73838, 32684, 73842, 73850, 73856, 73863, 73868, 73872,
+ 73877, 56211, 32690, 73883, 73888, 73892, 73897, 73902, 73907, 73911,
+ 73916, 73921, 73927, 73932, 73937, 73943, 73949, 73954, 73958, 73963,
+ 73968, 73973, 73977, 22261, 73982, 73987, 73993, 73999, 74005, 74010,
+ 74014, 74019, 74024, 74029, 74033, 74038, 74043, 74048, 74053, 74057,
+ 30832, 74065, 74069, 74077, 74085, 74096, 74101, 74105, 20622, 74110,
+ 74116, 74126, 74133, 74138, 74147, 74152, 74156, 74161, 74169, 74177,
+ 74184, 62751, 74190, 74198, 74205, 74216, 74222, 74226, 74232, 30842,
+ 74235, 74242, 74250, 74255, 37467, 74259, 74264, 74271, 74276, 7430,
+ 74280, 74288, 74295, 74302, 74308, 74322, 61055, 74330, 74336, 74340,
+ 74343, 74351, 74358, 74363, 74376, 74383, 74390, 74395, 58600, 74400,
+ 74403, 74410, 74416, 74420, 74428, 74438, 74448, 74457, 74465, 74476,
+ 74481, 74485, 74490, 74494, 33303, 19595, 33312, 74502, 74507, 74512,
+ 74517, 74522, 74527, 74532, 74536, 74541, 74546, 74551, 74556, 74561,
+ 74566, 74570, 74575, 74580, 74584, 74588, 74592, 74596, 74601, 74606,
+ 74610, 74615, 74619, 74623, 74628, 74633, 74638, 74643, 74647, 74652,
+ 74657, 74661, 74666, 74671, 74676, 74681, 74686, 74691, 74696, 74701,
+ 74706, 74711, 74716, 74721, 74726, 74731, 74736, 74741, 74746, 74751,
+ 74756, 74761, 74765, 74770, 74775, 74780, 74785, 74790, 74795, 74800,
+ 74805, 74810, 74815, 74820, 74824, 74829, 74833, 74838, 74843, 74848,
+ 74853, 74858, 74863, 74868, 74873, 74878, 74882, 74886, 74891, 74896,
+ 74900, 74905, 74910, 74914, 74919, 74924, 74929, 74934, 74938, 74943,
+ 74948, 74952, 74957, 74961, 74965, 74969, 74973, 74978, 74982, 74986,
+ 74990, 74994, 74998, 75002, 75006, 75010, 75014, 75019, 75024, 75029,
+ 75034, 75039, 75044, 75049, 75054, 75059, 75064, 75068, 75072, 75076,
+ 75080, 75084, 75088, 75093, 75097, 75102, 75106, 75111, 75116, 75120,
+ 75124, 75129, 75133, 75137, 75141, 75145, 75149, 75153, 75157, 75161,
+ 75165, 75169, 75173, 75177, 75181, 75185, 75190, 75195, 75199, 75203,
+ 75207, 75211, 75215, 75219, 75224, 75228, 75232, 75236, 75240, 75244,
+ 75248, 75253, 75257, 75262, 75266, 75270, 75274, 75278, 75282, 75286,
+ 75290, 75294, 75298, 75302, 75306, 75311, 75315, 75319, 75323, 75327,
+ 75331, 75335, 75339, 75343, 75347, 75351, 75355, 75360, 75364, 75368,
+ 75373, 75378, 75382, 75386, 75390, 75394, 75398, 75402, 75406, 75410,
+ 75415, 75419, 75424, 75428, 75433, 75437, 75442, 75446, 75452, 75457,
+ 75461, 75466, 75470, 75475, 75479, 75484, 75488, 75493, 1485, 75497,
+ 2783, 1723, 1728, 75501, 75505, 2787, 75509, 1366, 75514, 1332, 75518,
+ 2799, 75522, 75529, 75536, 75550, 2803, 5610, 75559, 75567, 75574, 75585,
+ 75594, 75601, 75613, 75626, 75639, 75650, 75655, 75662, 75674, 75678,
+ 2807, 10130, 75688, 75693, 75702, 75712, 2811, 75717, 75721, 75726,
+ 75733, 75739, 75747, 75759, 1337, 11399, 75769, 75773, 75779, 75793,
+ 75805, 75817, 75827, 75836, 75845, 75854, 75862, 75873, 75881, 3981,
+ 75891, 75900, 75906, 75921, 75928, 75934, 33433, 75939, 2835, 11403,
+ 75943, 75950, 7375, 75959, 2840, 30341, 75965, 58349, 75972, 75978,
+ 75989, 75995, 76002, 76008, 76016, 76023, 76029, 76039, 76048, 76059,
+ 76066, 76072, 76082, 76090, 76096, 76111, 76117, 76122, 76129, 76132,
+ 76138, 76145, 76151, 76159, 76168, 76176, 76182, 76191, 39265, 76205,
+ 76210, 13080, 76216, 76229, 76238, 76246, 76253, 76257, 76261, 76264,
+ 76271, 76278, 76286, 76294, 76303, 76311, 13011, 76319, 76324, 76328,
+ 76340, 76347, 76356, 780, 76366, 76375, 76386, 2856, 76390, 76394, 76400,
+ 76413, 76425, 76435, 76444, 24448, 76456, 76464, 76473, 76484, 76495,
+ 76505, 76515, 76524, 76532, 9709, 76539, 76543, 76548, 76553, 76559,
+ 1342, 10201, 76566, 76577, 76586, 76594, 76603, 76611, 76627, 76638,
+ 76647, 76655, 76667, 76678, 76694, 76704, 76725, 76738, 76746, 76753,
+ 13191, 76766, 76771, 76777, 4403, 76783, 76786, 76793, 76803, 6636,
+ 76810, 76815, 76820, 76828, 76836, 8189, 8198, 76841, 76852, 76857,
+ 76863, 2864, 2869, 76869, 9276, 76875, 76882, 76889, 76902, 2210, 50,
+ 76907, 76912, 76922, 76928, 76937, 76945, 76955, 76959, 76964, 76968,
+ 76980, 2892, 76988, 76996, 77001, 77012, 77023, 77032, 77037, 77043,
+ 77048, 77058, 77068, 77073, 77079, 77084, 77093, 19648, 77097, 4058, 20,
+ 77102, 77111, 77118, 77125, 77131, 77137, 834, 77142, 77147, 58666,
+ 77152, 77157, 77163, 77171, 77176, 77183, 77189, 77194, 35898, 39163,
+ 77200, 2896, 32, 77210, 77223, 77228, 77236, 77241, 77247, 2918, 26355,
+ 77252, 77260, 77267, 77272, 56453, 59647, 77281, 77285, 1668, 1777,
+ 77290, 77295, 77302, 1781, 247, 77309, 77315, 77320, 77327, 1785, 77332,
+ 77338, 77343, 77355, 4614, 77365, 1792, 77371, 77376, 77383, 77390,
+ 77405, 77412, 77423, 77431, 2577, 77435, 77447, 77452, 77456, 77462,
+ 26180, 2215, 77466, 77477, 77481, 77485, 77491, 77495, 77504, 77508,
+ 77519, 77523, 2261, 30170, 77527, 77537, 3031, 7804, 77545, 77550, 77554,
+ 77563, 77570, 77576, 3001, 15429, 77580, 77593, 77611, 77616, 77624,
+ 77632, 77642, 11505, 77654, 77667, 77674, 77681, 77697, 77704, 77710,
+ 1050, 77717, 77724, 77734, 77743, 77755, 40129, 77763, 3015, 10398,
+ 77766, 77774, 77778, 3019, 77782, 19444, 10414, 3697, 77786, 3025, 77790,
+ 77800, 77806, 77812, 77818, 77824, 77830, 77836, 77842, 77848, 77854,
+ 77860, 77866, 77872, 77878, 77884, 77890, 77896, 77902, 77908, 77914,
+ 77920, 77926, 77932, 77938, 77944, 77950, 77957, 77964, 77970, 77976,
+ 77982, 77988, 77994, 78000, 1347, 14339, 10436, 78006, 78011, 78016,
+ 78021, 78026, 78031, 78036, 78041, 78046, 78051, 78056, 78061, 78066,
+ 78071, 78076, 78081, 78086, 78091, 78096, 78101, 78106, 78111, 78116,
+ 78121, 78126, 78131, 78137, 78142, 78147, 78153, 78158, 78164, 78169,
+ 78174, 78180, 78185, 78190, 78195, 78200, 78205, 78210, 78215, 78220,
+ 77801, 77807, 77813, 77819, 77825, 77831, 77837, 77843, 77849, 77855,
+ 77861, 77867, 77873, 77879, 77885, 78226, 77891, 77897, 77903, 78232,
+ 77909, 77915, 77921, 77927, 77933, 77939, 77945, 77965, 78238, 78244,
+ 77971, 78250, 77977, 77983, 77989, 77995, 78001, 3046, 3051, 78256,
+ 78261, 78264, 78270, 78276, 78283, 78288, 78293, 2266,
};
/* code->name phrasebook */
#define phrasebook_shift 7
#define phrasebook_short 211
static unsigned char phrasebook[] = {
- 0, 219, 206, 244, 254, 77, 224, 143, 77, 50, 52, 247, 86, 52, 226, 57,
- 52, 254, 35, 253, 226, 42, 226, 131, 46, 226, 131, 253, 132, 94, 52, 249,
- 157, 240, 159, 243, 200, 219, 69, 219, 231, 21, 212, 79, 21, 116, 21,
- 109, 21, 166, 21, 163, 21, 180, 21, 189, 21, 198, 21, 195, 21, 200, 249,
- 164, 221, 70, 233, 39, 52, 245, 61, 52, 242, 107, 52, 224, 158, 77, 249,
- 156, 253, 122, 7, 6, 1, 61, 7, 6, 1, 253, 74, 7, 6, 1, 250, 252, 7, 6, 1,
- 249, 3, 7, 6, 1, 74, 7, 6, 1, 244, 230, 7, 6, 1, 243, 177, 7, 6, 1, 242,
- 41, 7, 6, 1, 72, 7, 6, 1, 235, 142, 7, 6, 1, 235, 27, 7, 6, 1, 150, 7, 6,
- 1, 183, 7, 6, 1, 204, 7, 6, 1, 75, 7, 6, 1, 226, 229, 7, 6, 1, 224, 240,
- 7, 6, 1, 149, 7, 6, 1, 197, 7, 6, 1, 218, 99, 7, 6, 1, 69, 7, 6, 1, 215,
- 79, 7, 6, 1, 214, 82, 7, 6, 1, 213, 166, 7, 6, 1, 213, 105, 7, 6, 1, 212,
- 152, 42, 41, 125, 223, 203, 219, 231, 46, 41, 125, 249, 224, 254, 174,
- 115, 232, 242, 242, 114, 254, 174, 7, 3, 1, 61, 7, 3, 1, 253, 74, 7, 3,
- 1, 250, 252, 7, 3, 1, 249, 3, 7, 3, 1, 74, 7, 3, 1, 244, 230, 7, 3, 1,
- 243, 177, 7, 3, 1, 242, 41, 7, 3, 1, 72, 7, 3, 1, 235, 142, 7, 3, 1, 235,
- 27, 7, 3, 1, 150, 7, 3, 1, 183, 7, 3, 1, 204, 7, 3, 1, 75, 7, 3, 1, 226,
- 229, 7, 3, 1, 224, 240, 7, 3, 1, 149, 7, 3, 1, 197, 7, 3, 1, 218, 99, 7,
- 3, 1, 69, 7, 3, 1, 215, 79, 7, 3, 1, 214, 82, 7, 3, 1, 213, 166, 7, 3, 1,
- 213, 105, 7, 3, 1, 212, 152, 42, 249, 40, 125, 71, 232, 242, 46, 249, 40,
- 125, 217, 42, 228, 184, 219, 206, 235, 191, 244, 254, 77, 250, 110, 52,
- 225, 108, 52, 249, 39, 52, 213, 31, 52, 251, 63, 134, 222, 92, 52, 247,
- 209, 249, 102, 52, 244, 105, 227, 21, 235, 235, 233, 66, 51, 254, 19,
- 224, 143, 77, 228, 163, 52, 219, 236, 240, 160, 223, 252, 52, 232, 37,
- 248, 22, 52, 225, 155, 52, 218, 223, 109, 218, 223, 166, 254, 164, 254,
- 174, 231, 41, 52, 225, 200, 52, 231, 37, 247, 74, 250, 117, 218, 223,
- 116, 231, 211, 227, 21, 235, 235, 223, 144, 51, 254, 19, 224, 143, 77,
- 214, 97, 243, 228, 122, 224, 166, 214, 97, 243, 228, 122, 242, 9, 214,
- 97, 243, 228, 133, 224, 164, 235, 191, 224, 158, 77, 7, 6, 1, 118, 2,
- 242, 113, 7, 6, 1, 118, 2, 179, 7, 6, 1, 118, 2, 249, 223, 7, 6, 1, 118,
- 2, 217, 42, 7, 6, 1, 118, 2, 247, 209, 7, 6, 1, 118, 2, 223, 131, 49, 7,
- 6, 1, 254, 148, 7, 6, 1, 250, 253, 2, 250, 117, 7, 6, 1, 191, 2, 242,
- 113, 7, 6, 1, 191, 2, 179, 7, 6, 1, 191, 2, 249, 223, 7, 6, 1, 191, 2,
- 247, 209, 7, 6, 1, 240, 146, 2, 242, 113, 7, 6, 1, 240, 146, 2, 179, 7,
- 6, 1, 240, 146, 2, 249, 223, 7, 6, 1, 240, 146, 2, 247, 209, 7, 6, 1,
- 245, 25, 7, 6, 1, 230, 98, 2, 217, 42, 7, 6, 1, 157, 2, 242, 113, 7, 6,
- 1, 157, 2, 179, 7, 6, 1, 157, 2, 249, 223, 7, 6, 1, 157, 2, 217, 42, 7,
- 6, 1, 157, 2, 247, 209, 230, 154, 52, 7, 6, 1, 157, 2, 90, 7, 6, 1, 111,
- 2, 242, 113, 7, 6, 1, 111, 2, 179, 7, 6, 1, 111, 2, 249, 223, 7, 6, 1,
- 111, 2, 247, 209, 7, 6, 1, 213, 106, 2, 179, 7, 6, 1, 217, 104, 7, 3, 1,
- 220, 255, 197, 7, 3, 1, 118, 2, 242, 113, 7, 3, 1, 118, 2, 179, 7, 3, 1,
- 118, 2, 249, 223, 7, 3, 1, 118, 2, 217, 42, 7, 3, 1, 118, 2, 247, 209, 7,
- 3, 1, 118, 2, 223, 131, 49, 7, 3, 1, 254, 148, 7, 3, 1, 250, 253, 2, 250,
- 117, 7, 3, 1, 191, 2, 242, 113, 7, 3, 1, 191, 2, 179, 7, 3, 1, 191, 2,
- 249, 223, 7, 3, 1, 191, 2, 247, 209, 7, 3, 1, 240, 146, 2, 242, 113, 7,
- 3, 1, 240, 146, 2, 179, 7, 3, 1, 240, 146, 2, 249, 223, 7, 3, 1, 240,
- 146, 2, 247, 209, 7, 3, 1, 245, 25, 7, 3, 1, 230, 98, 2, 217, 42, 7, 3,
- 1, 157, 2, 242, 113, 7, 3, 1, 157, 2, 179, 7, 3, 1, 157, 2, 249, 223, 7,
- 3, 1, 157, 2, 217, 42, 7, 3, 1, 157, 2, 247, 209, 247, 121, 52, 7, 3, 1,
- 157, 2, 90, 7, 3, 1, 111, 2, 242, 113, 7, 3, 1, 111, 2, 179, 7, 3, 1,
- 111, 2, 249, 223, 7, 3, 1, 111, 2, 247, 209, 7, 3, 1, 213, 106, 2, 179,
- 7, 3, 1, 217, 104, 7, 3, 1, 213, 106, 2, 247, 209, 7, 6, 1, 118, 2, 232,
- 37, 7, 3, 1, 118, 2, 232, 37, 7, 6, 1, 118, 2, 251, 74, 7, 3, 1, 118, 2,
- 251, 74, 7, 6, 1, 118, 2, 227, 90, 7, 3, 1, 118, 2, 227, 90, 7, 6, 1,
- 250, 253, 2, 179, 7, 3, 1, 250, 253, 2, 179, 7, 6, 1, 250, 253, 2, 249,
- 223, 7, 3, 1, 250, 253, 2, 249, 223, 7, 6, 1, 250, 253, 2, 62, 49, 7, 3,
- 1, 250, 253, 2, 62, 49, 7, 6, 1, 250, 253, 2, 250, 166, 7, 3, 1, 250,
- 253, 2, 250, 166, 7, 6, 1, 249, 4, 2, 250, 166, 7, 3, 1, 249, 4, 2, 250,
- 166, 7, 6, 1, 249, 4, 2, 90, 7, 3, 1, 249, 4, 2, 90, 7, 6, 1, 191, 2,
- 232, 37, 7, 3, 1, 191, 2, 232, 37, 7, 6, 1, 191, 2, 251, 74, 7, 3, 1,
- 191, 2, 251, 74, 7, 6, 1, 191, 2, 62, 49, 7, 3, 1, 191, 2, 62, 49, 7, 6,
- 1, 191, 2, 227, 90, 7, 3, 1, 191, 2, 227, 90, 7, 6, 1, 191, 2, 250, 166,
- 7, 3, 1, 191, 2, 250, 166, 7, 6, 1, 243, 178, 2, 249, 223, 7, 3, 1, 243,
- 178, 2, 249, 223, 7, 6, 1, 243, 178, 2, 251, 74, 7, 3, 1, 243, 178, 2,
- 251, 74, 7, 6, 1, 243, 178, 2, 62, 49, 7, 3, 1, 243, 178, 2, 62, 49, 7,
- 6, 1, 243, 178, 2, 250, 117, 7, 3, 1, 243, 178, 2, 250, 117, 7, 6, 1,
- 242, 42, 2, 249, 223, 7, 3, 1, 242, 42, 2, 249, 223, 7, 6, 1, 242, 42, 2,
- 90, 7, 3, 1, 242, 42, 2, 90, 7, 6, 1, 240, 146, 2, 217, 42, 7, 3, 1, 240,
- 146, 2, 217, 42, 7, 6, 1, 240, 146, 2, 232, 37, 7, 3, 1, 240, 146, 2,
- 232, 37, 7, 6, 1, 240, 146, 2, 251, 74, 7, 3, 1, 240, 146, 2, 251, 74, 7,
- 6, 1, 240, 146, 2, 227, 90, 7, 3, 1, 240, 146, 2, 227, 90, 7, 6, 1, 240,
- 146, 2, 62, 49, 7, 3, 1, 247, 73, 72, 7, 6, 26, 236, 26, 7, 3, 26, 236,
- 26, 7, 6, 1, 235, 143, 2, 249, 223, 7, 3, 1, 235, 143, 2, 249, 223, 7, 6,
- 1, 235, 28, 2, 250, 117, 7, 3, 1, 235, 28, 2, 250, 117, 7, 3, 1, 233,
- 248, 7, 6, 1, 233, 171, 2, 179, 7, 3, 1, 233, 171, 2, 179, 7, 6, 1, 233,
- 171, 2, 250, 117, 7, 3, 1, 233, 171, 2, 250, 117, 7, 6, 1, 233, 171, 2,
- 250, 166, 7, 3, 1, 233, 171, 2, 250, 166, 7, 6, 1, 233, 171, 2, 231, 37,
- 247, 74, 7, 3, 1, 233, 171, 2, 231, 37, 247, 74, 7, 6, 1, 233, 171, 2,
- 90, 7, 3, 1, 233, 171, 2, 90, 7, 6, 1, 230, 98, 2, 179, 7, 3, 1, 230, 98,
- 2, 179, 7, 6, 1, 230, 98, 2, 250, 117, 7, 3, 1, 230, 98, 2, 250, 117, 7,
- 6, 1, 230, 98, 2, 250, 166, 7, 3, 1, 230, 98, 2, 250, 166, 7, 3, 1, 230,
- 98, 225, 84, 251, 7, 253, 226, 7, 6, 1, 245, 96, 7, 3, 1, 245, 96, 7, 6,
- 1, 157, 2, 232, 37, 7, 3, 1, 157, 2, 232, 37, 7, 6, 1, 157, 2, 251, 74,
- 7, 3, 1, 157, 2, 251, 74, 7, 6, 1, 157, 2, 51, 179, 7, 3, 1, 157, 2, 51,
- 179, 7, 6, 26, 227, 99, 7, 3, 26, 227, 99, 7, 6, 1, 224, 113, 2, 179, 7,
- 3, 1, 224, 113, 2, 179, 7, 6, 1, 224, 113, 2, 250, 117, 7, 3, 1, 224,
- 113, 2, 250, 117, 7, 6, 1, 224, 113, 2, 250, 166, 7, 3, 1, 224, 113, 2,
- 250, 166, 7, 6, 1, 223, 4, 2, 179, 7, 3, 1, 223, 4, 2, 179, 7, 6, 1, 223,
- 4, 2, 249, 223, 7, 3, 1, 223, 4, 2, 249, 223, 7, 6, 1, 223, 4, 2, 250,
- 117, 7, 3, 1, 223, 4, 2, 250, 117, 7, 6, 1, 223, 4, 2, 250, 166, 7, 3, 1,
- 223, 4, 2, 250, 166, 7, 6, 1, 218, 100, 2, 250, 117, 7, 3, 1, 218, 100,
- 2, 250, 117, 7, 6, 1, 218, 100, 2, 250, 166, 7, 3, 1, 218, 100, 2, 250,
- 166, 7, 6, 1, 218, 100, 2, 90, 7, 3, 1, 218, 100, 2, 90, 7, 6, 1, 111, 2,
- 217, 42, 7, 3, 1, 111, 2, 217, 42, 7, 6, 1, 111, 2, 232, 37, 7, 3, 1,
- 111, 2, 232, 37, 7, 6, 1, 111, 2, 251, 74, 7, 3, 1, 111, 2, 251, 74, 7,
- 6, 1, 111, 2, 223, 131, 49, 7, 3, 1, 111, 2, 223, 131, 49, 7, 6, 1, 111,
- 2, 51, 179, 7, 3, 1, 111, 2, 51, 179, 7, 6, 1, 111, 2, 227, 90, 7, 3, 1,
- 111, 2, 227, 90, 7, 6, 1, 214, 83, 2, 249, 223, 7, 3, 1, 214, 83, 2, 249,
- 223, 7, 6, 1, 213, 106, 2, 249, 223, 7, 3, 1, 213, 106, 2, 249, 223, 7,
- 6, 1, 213, 106, 2, 247, 209, 7, 6, 1, 212, 153, 2, 179, 7, 3, 1, 212,
- 153, 2, 179, 7, 6, 1, 212, 153, 2, 62, 49, 7, 3, 1, 212, 153, 2, 62, 49,
- 7, 6, 1, 212, 153, 2, 250, 166, 7, 3, 1, 212, 153, 2, 250, 166, 7, 3, 1,
- 184, 197, 7, 3, 1, 54, 2, 90, 7, 6, 1, 54, 2, 101, 7, 6, 1, 54, 2, 216,
- 224, 7, 3, 1, 54, 2, 216, 224, 7, 6, 1, 160, 189, 7, 3, 1, 160, 189, 7,
- 6, 1, 227, 40, 75, 7, 6, 1, 250, 253, 2, 101, 7, 3, 1, 250, 253, 2, 101,
- 7, 6, 1, 254, 124, 249, 3, 7, 6, 1, 249, 4, 2, 101, 7, 6, 1, 249, 4, 2,
- 216, 224, 7, 3, 1, 249, 4, 2, 216, 224, 7, 3, 1, 216, 58, 248, 5, 7, 6,
- 1, 223, 202, 74, 7, 6, 1, 222, 113, 7, 6, 1, 227, 40, 74, 7, 6, 1, 244,
- 231, 2, 101, 7, 3, 1, 244, 231, 2, 101, 7, 6, 1, 243, 178, 2, 101, 7, 6,
- 1, 243, 83, 7, 3, 1, 240, 193, 7, 6, 1, 235, 183, 7, 6, 1, 240, 146, 2,
- 90, 7, 6, 1, 235, 28, 2, 101, 7, 3, 1, 235, 28, 2, 101, 7, 3, 1, 233,
- 171, 2, 134, 7, 3, 1, 233, 124, 2, 90, 7, 6, 1, 216, 58, 183, 7, 6, 1,
- 230, 98, 2, 42, 101, 7, 3, 1, 230, 98, 2, 184, 46, 233, 60, 7, 6, 1, 157,
- 2, 231, 37, 217, 42, 7, 6, 1, 157, 2, 240, 235, 7, 3, 1, 157, 2, 240,
- 235, 7, 6, 1, 227, 85, 7, 3, 1, 227, 85, 7, 6, 1, 226, 230, 2, 101, 7, 3,
- 1, 226, 230, 2, 101, 7, 1, 212, 205, 7, 6, 1, 160, 109, 7, 3, 1, 160,
- 109, 7, 6, 1, 245, 40, 7, 1, 223, 202, 245, 41, 232, 177, 7, 3, 1, 218,
- 100, 2, 226, 193, 101, 7, 6, 1, 218, 100, 2, 101, 7, 3, 1, 218, 100, 2,
- 101, 7, 6, 1, 218, 100, 2, 223, 207, 101, 7, 6, 1, 111, 2, 240, 235, 7,
- 3, 1, 111, 2, 240, 235, 7, 6, 1, 215, 128, 7, 6, 1, 215, 80, 2, 101, 7,
- 6, 1, 213, 106, 2, 101, 7, 3, 1, 213, 106, 2, 101, 7, 6, 1, 212, 153, 2,
- 90, 7, 3, 1, 212, 153, 2, 90, 7, 6, 1, 244, 232, 7, 6, 1, 244, 233, 223,
- 201, 7, 3, 1, 244, 233, 223, 201, 7, 3, 1, 244, 233, 2, 218, 27, 7, 1,
- 117, 2, 90, 7, 6, 1, 160, 180, 7, 3, 1, 160, 180, 7, 1, 235, 191, 242,
- 156, 219, 70, 2, 90, 7, 1, 213, 169, 7, 1, 247, 254, 249, 204, 7, 1, 233,
- 100, 249, 204, 7, 1, 254, 46, 249, 204, 7, 1, 223, 207, 249, 204, 7, 6,
- 1, 245, 251, 2, 250, 166, 7, 6, 1, 249, 4, 2, 3, 1, 212, 153, 2, 250,
- 166, 7, 3, 1, 245, 251, 2, 250, 166, 7, 6, 1, 232, 217, 7, 6, 1, 233,
- 171, 2, 3, 1, 235, 142, 7, 3, 1, 232, 217, 7, 6, 1, 229, 17, 7, 6, 1,
- 230, 98, 2, 3, 1, 235, 142, 7, 3, 1, 229, 17, 7, 6, 1, 118, 2, 250, 166,
- 7, 3, 1, 118, 2, 250, 166, 7, 6, 1, 240, 146, 2, 250, 166, 7, 3, 1, 240,
- 146, 2, 250, 166, 7, 6, 1, 157, 2, 250, 166, 7, 3, 1, 157, 2, 250, 166,
- 7, 6, 1, 111, 2, 250, 166, 7, 3, 1, 111, 2, 250, 166, 7, 6, 1, 111, 2,
- 247, 210, 24, 232, 37, 7, 3, 1, 111, 2, 247, 210, 24, 232, 37, 7, 6, 1,
- 111, 2, 247, 210, 24, 179, 7, 3, 1, 111, 2, 247, 210, 24, 179, 7, 6, 1,
- 111, 2, 247, 210, 24, 250, 166, 7, 3, 1, 111, 2, 247, 210, 24, 250, 166,
- 7, 6, 1, 111, 2, 247, 210, 24, 242, 113, 7, 3, 1, 111, 2, 247, 210, 24,
- 242, 113, 7, 3, 1, 216, 58, 74, 7, 6, 1, 118, 2, 247, 210, 24, 232, 37,
- 7, 3, 1, 118, 2, 247, 210, 24, 232, 37, 7, 6, 1, 118, 2, 62, 78, 24, 232,
- 37, 7, 3, 1, 118, 2, 62, 78, 24, 232, 37, 7, 6, 1, 254, 149, 2, 232, 37,
- 7, 3, 1, 254, 149, 2, 232, 37, 7, 6, 1, 243, 178, 2, 90, 7, 3, 1, 243,
- 178, 2, 90, 7, 6, 1, 243, 178, 2, 250, 166, 7, 3, 1, 243, 178, 2, 250,
- 166, 7, 6, 1, 235, 28, 2, 250, 166, 7, 3, 1, 235, 28, 2, 250, 166, 7, 6,
- 1, 157, 2, 227, 90, 7, 3, 1, 157, 2, 227, 90, 7, 6, 1, 157, 2, 227, 91,
- 24, 232, 37, 7, 3, 1, 157, 2, 227, 91, 24, 232, 37, 7, 6, 1, 244, 233, 2,
- 250, 166, 7, 3, 1, 244, 233, 2, 250, 166, 7, 3, 1, 235, 143, 2, 250, 166,
- 7, 6, 1, 245, 250, 7, 6, 1, 249, 4, 2, 3, 1, 212, 152, 7, 3, 1, 245, 250,
- 7, 6, 1, 243, 178, 2, 179, 7, 3, 1, 243, 178, 2, 179, 7, 6, 1, 240, 191,
- 7, 6, 1, 213, 169, 7, 6, 1, 230, 98, 2, 242, 113, 7, 3, 1, 230, 98, 2,
- 242, 113, 7, 6, 1, 118, 2, 223, 131, 78, 24, 179, 7, 3, 1, 118, 2, 223,
- 131, 78, 24, 179, 7, 6, 1, 254, 149, 2, 179, 7, 3, 1, 254, 149, 2, 179,
- 7, 6, 1, 157, 2, 219, 45, 24, 179, 7, 3, 1, 157, 2, 219, 45, 24, 179, 7,
- 6, 1, 118, 2, 51, 242, 113, 7, 3, 1, 118, 2, 51, 242, 113, 7, 6, 1, 118,
- 2, 235, 191, 251, 74, 7, 3, 1, 118, 2, 235, 191, 251, 74, 7, 6, 1, 191,
- 2, 51, 242, 113, 7, 3, 1, 191, 2, 51, 242, 113, 7, 6, 1, 191, 2, 235,
- 191, 251, 74, 7, 3, 1, 191, 2, 235, 191, 251, 74, 7, 6, 1, 240, 146, 2,
- 51, 242, 113, 7, 3, 1, 240, 146, 2, 51, 242, 113, 7, 6, 1, 240, 146, 2,
- 235, 191, 251, 74, 7, 3, 1, 240, 146, 2, 235, 191, 251, 74, 7, 6, 1, 157,
- 2, 51, 242, 113, 7, 3, 1, 157, 2, 51, 242, 113, 7, 6, 1, 157, 2, 235,
- 191, 251, 74, 7, 3, 1, 157, 2, 235, 191, 251, 74, 7, 6, 1, 224, 113, 2,
- 51, 242, 113, 7, 3, 1, 224, 113, 2, 51, 242, 113, 7, 6, 1, 224, 113, 2,
- 235, 191, 251, 74, 7, 3, 1, 224, 113, 2, 235, 191, 251, 74, 7, 6, 1, 111,
- 2, 51, 242, 113, 7, 3, 1, 111, 2, 51, 242, 113, 7, 6, 1, 111, 2, 235,
- 191, 251, 74, 7, 3, 1, 111, 2, 235, 191, 251, 74, 7, 6, 1, 223, 4, 2,
- 249, 158, 55, 7, 3, 1, 223, 4, 2, 249, 158, 55, 7, 6, 1, 218, 100, 2,
- 249, 158, 55, 7, 3, 1, 218, 100, 2, 249, 158, 55, 7, 6, 1, 212, 222, 7,
- 3, 1, 212, 222, 7, 6, 1, 242, 42, 2, 250, 166, 7, 3, 1, 242, 42, 2, 250,
- 166, 7, 6, 1, 230, 98, 2, 184, 46, 233, 60, 7, 3, 1, 249, 4, 2, 249, 41,
- 7, 6, 1, 227, 2, 7, 3, 1, 227, 2, 7, 6, 1, 212, 153, 2, 101, 7, 3, 1,
- 212, 153, 2, 101, 7, 6, 1, 118, 2, 62, 49, 7, 3, 1, 118, 2, 62, 49, 7, 6,
- 1, 191, 2, 250, 117, 7, 3, 1, 191, 2, 250, 117, 7, 6, 1, 157, 2, 247,
- 210, 24, 232, 37, 7, 3, 1, 157, 2, 247, 210, 24, 232, 37, 7, 6, 1, 157,
- 2, 217, 43, 24, 232, 37, 7, 3, 1, 157, 2, 217, 43, 24, 232, 37, 7, 6, 1,
- 157, 2, 62, 49, 7, 3, 1, 157, 2, 62, 49, 7, 6, 1, 157, 2, 62, 78, 24,
- 232, 37, 7, 3, 1, 157, 2, 62, 78, 24, 232, 37, 7, 6, 1, 213, 106, 2, 232,
- 37, 7, 3, 1, 213, 106, 2, 232, 37, 7, 3, 1, 233, 171, 2, 249, 41, 7, 3,
- 1, 230, 98, 2, 249, 41, 7, 3, 1, 218, 100, 2, 249, 41, 7, 3, 1, 247, 73,
- 235, 142, 7, 3, 1, 248, 89, 247, 172, 7, 3, 1, 224, 176, 247, 172, 7, 6,
- 1, 118, 2, 90, 7, 6, 1, 250, 253, 2, 90, 7, 3, 1, 250, 253, 2, 90, 7, 6,
- 1, 233, 171, 2, 134, 7, 6, 1, 218, 100, 2, 247, 207, 90, 7, 3, 1, 223, 4,
- 2, 218, 195, 218, 27, 7, 3, 1, 212, 153, 2, 218, 195, 218, 27, 7, 6, 1,
- 242, 156, 219, 69, 7, 3, 1, 242, 156, 219, 69, 7, 6, 1, 54, 2, 90, 7, 6,
- 1, 111, 134, 7, 6, 1, 216, 58, 215, 79, 7, 6, 1, 191, 2, 90, 7, 3, 1,
- 191, 2, 90, 7, 6, 1, 235, 143, 2, 90, 7, 3, 1, 235, 143, 2, 90, 7, 6, 1,
- 3, 224, 241, 2, 241, 38, 218, 27, 7, 3, 1, 224, 241, 2, 241, 38, 218, 27,
- 7, 6, 1, 224, 113, 2, 90, 7, 3, 1, 224, 113, 2, 90, 7, 6, 1, 213, 106, 2,
- 90, 7, 3, 1, 213, 106, 2, 90, 7, 3, 1, 216, 58, 61, 7, 3, 1, 254, 52, 7,
- 3, 1, 216, 58, 254, 52, 7, 3, 1, 54, 2, 101, 7, 3, 1, 227, 40, 75, 7, 3,
- 1, 250, 253, 2, 249, 41, 7, 3, 1, 249, 4, 2, 218, 27, 7, 3, 1, 249, 4, 2,
- 101, 7, 3, 1, 223, 202, 74, 7, 3, 1, 222, 113, 7, 3, 1, 222, 114, 2, 101,
- 7, 3, 1, 227, 40, 74, 7, 3, 1, 223, 202, 227, 40, 74, 7, 3, 1, 223, 202,
- 227, 40, 191, 2, 101, 7, 3, 1, 249, 193, 223, 202, 227, 40, 74, 7, 3, 1,
- 247, 73, 235, 143, 2, 90, 7, 3, 1, 243, 178, 2, 101, 7, 3, 1, 113, 243,
- 177, 7, 1, 3, 6, 243, 177, 7, 3, 1, 243, 83, 7, 3, 1, 224, 43, 240, 235,
- 7, 3, 1, 216, 58, 242, 41, 7, 3, 1, 242, 42, 2, 101, 7, 3, 1, 241, 192,
- 2, 101, 7, 3, 1, 240, 146, 2, 90, 7, 3, 1, 235, 183, 7, 1, 3, 6, 72, 7,
- 3, 1, 233, 171, 2, 231, 37, 217, 42, 7, 3, 1, 233, 171, 2, 251, 218, 7,
- 3, 1, 233, 171, 2, 223, 207, 101, 7, 3, 1, 233, 27, 7, 3, 1, 216, 58,
- 183, 7, 3, 1, 216, 58, 232, 110, 2, 184, 233, 60, 7, 3, 1, 232, 110, 2,
- 101, 7, 3, 1, 230, 98, 2, 42, 101, 7, 3, 1, 230, 98, 2, 223, 207, 101, 7,
- 1, 3, 6, 204, 7, 3, 1, 252, 54, 75, 7, 1, 3, 6, 227, 99, 7, 3, 1, 249,
- 193, 227, 67, 7, 3, 1, 226, 9, 7, 3, 1, 216, 58, 149, 7, 3, 1, 216, 58,
- 224, 113, 2, 184, 233, 60, 7, 3, 1, 216, 58, 224, 113, 2, 101, 7, 3, 1,
- 224, 113, 2, 184, 233, 60, 7, 3, 1, 224, 113, 2, 218, 27, 7, 3, 1, 224,
- 113, 2, 244, 56, 7, 3, 1, 223, 202, 224, 113, 2, 244, 56, 7, 1, 3, 6,
- 149, 7, 1, 3, 6, 235, 191, 149, 7, 3, 1, 223, 4, 2, 101, 7, 3, 1, 245,
- 40, 7, 3, 1, 247, 73, 235, 143, 2, 219, 45, 24, 101, 7, 3, 1, 219, 163,
- 223, 202, 245, 40, 7, 3, 1, 245, 41, 2, 249, 41, 7, 3, 1, 216, 58, 218,
- 99, 7, 3, 1, 218, 100, 2, 223, 207, 101, 7, 3, 1, 111, 134, 7, 3, 1, 215,
- 128, 7, 3, 1, 215, 80, 2, 101, 7, 3, 1, 216, 58, 215, 79, 7, 3, 1, 216,
- 58, 214, 82, 7, 3, 1, 216, 58, 213, 105, 7, 1, 3, 6, 213, 105, 7, 3, 1,
- 212, 153, 2, 223, 207, 101, 7, 3, 1, 212, 153, 2, 249, 41, 7, 3, 1, 244,
- 232, 7, 3, 1, 244, 233, 2, 249, 41, 7, 1, 242, 156, 219, 69, 7, 1, 226,
- 15, 214, 116, 243, 219, 7, 1, 235, 191, 242, 156, 219, 69, 7, 1, 219, 50,
- 250, 252, 7, 1, 251, 169, 249, 204, 7, 1, 3, 6, 253, 74, 7, 3, 1, 249,
- 193, 227, 40, 74, 7, 1, 3, 6, 243, 178, 2, 101, 7, 1, 3, 6, 242, 41, 7,
- 3, 1, 235, 143, 2, 249, 67, 7, 3, 1, 216, 58, 235, 27, 7, 1, 3, 6, 150,
- 7, 3, 1, 224, 241, 2, 101, 7, 1, 242, 156, 219, 70, 2, 90, 7, 1, 223,
- 202, 242, 156, 219, 70, 2, 90, 7, 3, 1, 245, 251, 247, 172, 7, 3, 1, 247,
- 233, 247, 172, 7, 3, 1, 245, 251, 247, 173, 2, 249, 41, 7, 3, 1, 216,
- 143, 247, 172, 7, 3, 1, 217, 188, 247, 172, 7, 3, 1, 217, 236, 247, 173,
- 2, 249, 41, 7, 3, 1, 244, 103, 247, 172, 7, 3, 1, 232, 158, 247, 172, 7,
- 3, 1, 232, 111, 247, 172, 7, 1, 251, 169, 226, 56, 7, 1, 251, 177, 226,
- 56, 7, 3, 1, 216, 58, 242, 42, 2, 244, 56, 7, 3, 1, 216, 58, 242, 42, 2,
- 244, 57, 24, 218, 27, 59, 1, 3, 242, 41, 59, 1, 3, 242, 42, 2, 101, 59,
- 1, 3, 235, 142, 59, 1, 3, 149, 59, 1, 3, 216, 58, 149, 59, 1, 3, 216, 58,
- 224, 113, 2, 101, 59, 1, 3, 6, 235, 191, 149, 59, 1, 3, 214, 82, 59, 1,
- 3, 213, 105, 59, 1, 225, 71, 59, 1, 51, 225, 71, 59, 1, 216, 58, 249,
- 157, 59, 1, 253, 226, 59, 1, 223, 202, 249, 157, 59, 1, 46, 151, 223,
- 130, 59, 1, 42, 151, 223, 130, 59, 1, 242, 156, 219, 69, 59, 1, 223, 202,
- 242, 156, 219, 69, 59, 1, 42, 253, 164, 59, 1, 46, 253, 164, 59, 1, 114,
- 253, 164, 59, 1, 119, 253, 164, 59, 1, 249, 224, 254, 174, 250, 166, 59,
- 1, 71, 232, 242, 59, 1, 232, 37, 59, 1, 254, 164, 254, 174, 59, 1, 242,
- 114, 254, 174, 59, 1, 115, 71, 232, 242, 59, 1, 115, 232, 37, 59, 1, 115,
- 242, 114, 254, 174, 59, 1, 115, 254, 164, 254, 174, 59, 1, 216, 180, 249,
- 164, 59, 1, 151, 216, 180, 249, 164, 59, 1, 250, 107, 46, 151, 223, 130,
- 59, 1, 250, 107, 42, 151, 223, 130, 59, 1, 114, 218, 36, 59, 1, 119, 218,
- 36, 59, 1, 94, 52, 59, 1, 230, 251, 52, 251, 74, 62, 49, 223, 131, 49,
- 227, 90, 3, 217, 42, 51, 254, 164, 254, 174, 59, 1, 223, 189, 101, 59, 1,
- 249, 71, 254, 174, 59, 1, 3, 243, 83, 59, 1, 3, 150, 59, 1, 3, 197, 59,
- 1, 3, 213, 166, 59, 1, 3, 223, 202, 242, 156, 219, 69, 59, 1, 244, 244,
- 160, 134, 59, 1, 124, 160, 134, 59, 1, 231, 38, 160, 134, 59, 1, 115,
- 160, 134, 59, 1, 244, 243, 160, 134, 59, 1, 212, 245, 247, 251, 160, 77,
- 59, 1, 213, 59, 247, 251, 160, 77, 59, 1, 214, 114, 59, 1, 215, 156, 59,
- 1, 51, 253, 226, 59, 1, 115, 119, 253, 164, 59, 1, 115, 114, 253, 164,
- 59, 1, 115, 42, 253, 164, 59, 1, 115, 46, 253, 164, 59, 1, 115, 223, 130,
- 59, 1, 231, 37, 242, 114, 254, 174, 59, 1, 231, 37, 51, 242, 114, 254,
- 174, 59, 1, 231, 37, 51, 254, 164, 254, 174, 59, 1, 115, 217, 42, 59, 1,
- 224, 48, 249, 164, 59, 1, 251, 234, 124, 216, 241, 59, 1, 245, 101, 124,
- 216, 241, 59, 1, 251, 234, 115, 216, 241, 59, 1, 245, 101, 115, 216, 241,
- 59, 1, 220, 234, 59, 1, 227, 40, 220, 234, 59, 1, 115, 42, 68, 37, 242,
- 114, 254, 174, 37, 254, 164, 254, 174, 37, 249, 224, 254, 174, 37, 217,
- 42, 37, 232, 37, 37, 226, 243, 37, 251, 74, 37, 62, 49, 37, 247, 209, 37,
- 241, 38, 49, 37, 223, 131, 49, 37, 51, 254, 164, 254, 174, 37, 250, 166,
- 37, 71, 232, 243, 49, 37, 51, 71, 232, 243, 49, 37, 51, 242, 114, 254,
- 174, 37, 250, 187, 37, 235, 191, 251, 74, 37, 216, 58, 249, 158, 49, 37,
- 249, 158, 49, 37, 223, 202, 249, 158, 49, 37, 249, 158, 78, 223, 148, 37,
- 242, 114, 254, 175, 55, 37, 254, 164, 254, 175, 55, 37, 42, 218, 37, 55,
- 37, 46, 218, 37, 55, 37, 42, 254, 19, 49, 37, 240, 235, 37, 42, 151, 223,
- 131, 55, 37, 114, 218, 37, 55, 37, 119, 218, 37, 55, 37, 94, 5, 55, 37,
- 230, 251, 5, 55, 37, 226, 191, 241, 38, 55, 37, 223, 207, 241, 38, 55,
- 37, 62, 55, 37, 247, 210, 55, 37, 223, 131, 55, 37, 249, 158, 55, 37,
- 250, 117, 37, 227, 90, 37, 71, 232, 243, 55, 37, 251, 68, 55, 37, 235,
- 191, 51, 253, 194, 55, 37, 250, 167, 55, 37, 249, 224, 254, 175, 55, 37,
- 251, 75, 55, 37, 235, 191, 251, 75, 55, 37, 217, 43, 55, 37, 232, 38, 55,
- 37, 115, 232, 242, 37, 51, 115, 232, 242, 37, 217, 43, 226, 244, 37, 220,
- 175, 219, 45, 226, 244, 37, 184, 219, 45, 226, 244, 37, 220, 175, 219,
- 232, 226, 244, 37, 184, 219, 232, 226, 244, 37, 46, 151, 223, 131, 55,
- 37, 235, 191, 251, 68, 55, 37, 41, 55, 37, 222, 99, 55, 37, 213, 167, 49,
- 37, 71, 217, 42, 37, 51, 226, 243, 37, 242, 114, 160, 77, 37, 254, 164,
- 160, 77, 37, 25, 226, 50, 37, 25, 234, 11, 37, 25, 247, 204, 216, 231,
- 37, 25, 212, 210, 37, 251, 68, 49, 37, 245, 61, 5, 55, 37, 51, 71, 232,
- 243, 55, 37, 42, 254, 19, 55, 37, 228, 163, 217, 43, 49, 37, 241, 44, 49,
- 37, 254, 57, 123, 211, 211, 49, 37, 42, 46, 76, 55, 37, 215, 124, 76, 55,
- 37, 242, 118, 235, 66, 37, 46, 253, 165, 49, 37, 42, 151, 223, 131, 49,
- 37, 244, 100, 37, 213, 167, 55, 37, 42, 253, 165, 55, 37, 46, 253, 165,
- 55, 37, 46, 253, 165, 24, 114, 253, 165, 55, 37, 46, 151, 223, 131, 49,
- 37, 62, 78, 223, 148, 37, 253, 133, 55, 37, 51, 223, 131, 55, 37, 212,
- 28, 49, 37, 51, 251, 75, 55, 37, 51, 251, 74, 37, 51, 232, 37, 37, 51,
- 232, 38, 55, 37, 51, 217, 42, 37, 51, 235, 191, 251, 74, 37, 51, 95, 76,
- 55, 37, 7, 3, 1, 61, 37, 7, 3, 1, 74, 37, 7, 3, 1, 72, 37, 7, 3, 1, 75,
- 37, 7, 3, 1, 69, 37, 7, 3, 1, 250, 252, 37, 7, 3, 1, 249, 3, 37, 7, 3, 1,
- 242, 41, 37, 7, 3, 1, 183, 37, 7, 3, 1, 149, 37, 7, 3, 1, 218, 99, 37, 7,
- 3, 1, 215, 79, 37, 7, 3, 1, 213, 166, 25, 6, 1, 241, 181, 25, 3, 1, 241,
- 181, 25, 6, 1, 253, 193, 222, 161, 25, 3, 1, 253, 193, 222, 161, 25, 228,
- 54, 52, 25, 232, 163, 228, 54, 52, 25, 6, 1, 226, 178, 247, 179, 25, 3,
- 1, 226, 178, 247, 179, 25, 212, 210, 25, 3, 223, 202, 232, 141, 220, 104,
- 87, 25, 3, 246, 72, 232, 141, 220, 104, 87, 25, 3, 223, 202, 246, 72,
- 232, 141, 220, 104, 87, 25, 224, 158, 77, 25, 216, 231, 25, 247, 204,
- 216, 231, 25, 6, 1, 254, 53, 2, 216, 231, 25, 254, 8, 217, 211, 25, 6, 1,
- 245, 64, 2, 216, 231, 25, 6, 1, 245, 29, 2, 216, 231, 25, 6, 1, 235, 184,
- 2, 216, 231, 25, 6, 1, 227, 66, 2, 216, 231, 25, 6, 1, 215, 129, 2, 216,
- 231, 25, 6, 1, 227, 68, 2, 216, 231, 25, 3, 1, 235, 184, 2, 247, 204, 24,
- 216, 231, 25, 6, 1, 254, 52, 25, 6, 1, 251, 203, 25, 6, 1, 243, 83, 25,
- 6, 1, 248, 5, 25, 6, 1, 245, 63, 25, 6, 1, 212, 78, 25, 6, 1, 245, 28,
- 25, 6, 1, 217, 132, 25, 6, 1, 235, 183, 25, 6, 1, 234, 227, 25, 6, 1,
- 233, 122, 25, 6, 1, 230, 172, 25, 6, 1, 228, 92, 25, 6, 1, 213, 145, 25,
- 6, 1, 227, 65, 25, 6, 1, 225, 240, 25, 6, 1, 223, 190, 25, 6, 1, 220,
- 103, 25, 6, 1, 217, 248, 25, 6, 1, 215, 128, 25, 6, 1, 226, 9, 25, 6, 1,
- 250, 47, 25, 6, 1, 225, 46, 25, 6, 1, 227, 67, 25, 6, 1, 235, 184, 2,
- 247, 203, 25, 6, 1, 215, 129, 2, 247, 203, 25, 3, 1, 254, 53, 2, 216,
- 231, 25, 3, 1, 245, 64, 2, 216, 231, 25, 3, 1, 245, 29, 2, 216, 231, 25,
- 3, 1, 235, 184, 2, 216, 231, 25, 3, 1, 215, 129, 2, 247, 204, 24, 216,
- 231, 25, 3, 1, 254, 52, 25, 3, 1, 251, 203, 25, 3, 1, 243, 83, 25, 3, 1,
- 248, 5, 25, 3, 1, 245, 63, 25, 3, 1, 212, 78, 25, 3, 1, 245, 28, 25, 3,
- 1, 217, 132, 25, 3, 1, 235, 183, 25, 3, 1, 234, 227, 25, 3, 1, 233, 122,
- 25, 3, 1, 230, 172, 25, 3, 1, 228, 92, 25, 3, 1, 213, 145, 25, 3, 1, 227,
- 65, 25, 3, 1, 225, 240, 25, 3, 1, 223, 190, 25, 3, 1, 40, 220, 103, 25,
- 3, 1, 220, 103, 25, 3, 1, 217, 248, 25, 3, 1, 215, 128, 25, 3, 1, 226, 9,
- 25, 3, 1, 250, 47, 25, 3, 1, 225, 46, 25, 3, 1, 227, 67, 25, 3, 1, 235,
- 184, 2, 247, 203, 25, 3, 1, 215, 129, 2, 247, 203, 25, 3, 1, 227, 66, 2,
- 216, 231, 25, 3, 1, 215, 129, 2, 216, 231, 25, 3, 1, 227, 68, 2, 216,
- 231, 25, 6, 234, 251, 87, 25, 251, 204, 87, 25, 217, 133, 87, 25, 215,
- 129, 2, 241, 38, 87, 25, 215, 129, 2, 254, 164, 24, 241, 38, 87, 25, 215,
- 129, 2, 247, 210, 24, 241, 38, 87, 25, 226, 10, 87, 25, 225, 241, 87, 25,
- 234, 251, 87, 25, 1, 253, 193, 234, 15, 25, 3, 1, 253, 193, 234, 15, 25,
- 1, 219, 77, 25, 3, 1, 219, 77, 25, 1, 247, 179, 25, 3, 1, 247, 179, 25,
- 1, 234, 15, 25, 3, 1, 234, 15, 25, 1, 222, 161, 25, 3, 1, 222, 161, 79,
- 6, 1, 220, 235, 79, 3, 1, 220, 235, 79, 6, 1, 244, 109, 79, 3, 1, 244,
- 109, 79, 6, 1, 234, 123, 79, 3, 1, 234, 123, 79, 6, 1, 241, 32, 79, 3, 1,
- 241, 32, 79, 6, 1, 243, 78, 79, 3, 1, 243, 78, 79, 6, 1, 220, 202, 79, 3,
- 1, 220, 202, 79, 6, 1, 248, 20, 79, 3, 1, 248, 20, 25, 234, 228, 87, 25,
- 223, 191, 87, 25, 232, 141, 220, 104, 87, 25, 1, 212, 215, 25, 6, 217,
- 133, 87, 25, 232, 141, 245, 64, 87, 25, 223, 202, 232, 141, 245, 64, 87,
- 25, 6, 1, 220, 187, 25, 3, 1, 220, 187, 25, 6, 232, 141, 220, 104, 87,
- 25, 6, 1, 222, 159, 25, 3, 1, 222, 159, 25, 223, 191, 2, 219, 45, 87, 25,
- 6, 223, 202, 232, 141, 220, 104, 87, 25, 6, 246, 72, 232, 141, 220, 104,
- 87, 25, 6, 223, 202, 246, 72, 232, 141, 220, 104, 87, 33, 6, 1, 236, 56,
- 2, 242, 113, 33, 6, 1, 235, 187, 33, 6, 1, 247, 114, 33, 6, 1, 242, 163,
- 33, 6, 1, 215, 172, 236, 55, 33, 6, 1, 245, 247, 33, 6, 1, 251, 5, 72,
- 33, 6, 1, 212, 255, 33, 6, 1, 235, 127, 33, 6, 1, 232, 216, 33, 6, 1,
- 229, 9, 33, 6, 1, 216, 132, 33, 6, 1, 234, 57, 33, 6, 1, 240, 146, 2,
- 242, 113, 33, 6, 1, 220, 175, 69, 33, 6, 1, 245, 243, 33, 6, 1, 61, 33,
- 6, 1, 251, 251, 33, 6, 1, 214, 232, 33, 6, 1, 242, 212, 33, 6, 1, 248,
- 41, 33, 6, 1, 236, 55, 33, 6, 1, 212, 67, 33, 6, 1, 212, 87, 33, 6, 1,
- 72, 33, 6, 1, 220, 175, 72, 33, 6, 1, 181, 33, 6, 1, 245, 131, 33, 6, 1,
- 245, 117, 33, 6, 1, 245, 108, 33, 6, 1, 75, 33, 6, 1, 226, 96, 33, 6, 1,
- 245, 55, 33, 6, 1, 245, 45, 33, 6, 1, 217, 229, 33, 6, 1, 69, 33, 6, 1,
- 245, 159, 33, 6, 1, 159, 33, 6, 1, 216, 136, 33, 6, 1, 250, 67, 33, 6, 1,
- 221, 24, 33, 6, 1, 220, 245, 33, 6, 1, 241, 242, 52, 33, 6, 1, 213, 18,
- 33, 6, 1, 219, 236, 52, 33, 6, 1, 74, 33, 6, 1, 212, 203, 33, 6, 1, 186,
- 33, 3, 1, 61, 33, 3, 1, 251, 251, 33, 3, 1, 214, 232, 33, 3, 1, 242, 212,
- 33, 3, 1, 248, 41, 33, 3, 1, 236, 55, 33, 3, 1, 212, 67, 33, 3, 1, 212,
- 87, 33, 3, 1, 72, 33, 3, 1, 220, 175, 72, 33, 3, 1, 181, 33, 3, 1, 245,
- 131, 33, 3, 1, 245, 117, 33, 3, 1, 245, 108, 33, 3, 1, 75, 33, 3, 1, 226,
- 96, 33, 3, 1, 245, 55, 33, 3, 1, 245, 45, 33, 3, 1, 217, 229, 33, 3, 1,
- 69, 33, 3, 1, 245, 159, 33, 3, 1, 159, 33, 3, 1, 216, 136, 33, 3, 1, 250,
- 67, 33, 3, 1, 221, 24, 33, 3, 1, 220, 245, 33, 3, 1, 241, 242, 52, 33, 3,
- 1, 213, 18, 33, 3, 1, 219, 236, 52, 33, 3, 1, 74, 33, 3, 1, 212, 203, 33,
- 3, 1, 186, 33, 3, 1, 236, 56, 2, 242, 113, 33, 3, 1, 235, 187, 33, 3, 1,
- 247, 114, 33, 3, 1, 242, 163, 33, 3, 1, 215, 172, 236, 55, 33, 3, 1, 245,
- 247, 33, 3, 1, 251, 5, 72, 33, 3, 1, 212, 255, 33, 3, 1, 235, 127, 33, 3,
- 1, 232, 216, 33, 3, 1, 229, 9, 33, 3, 1, 216, 132, 33, 3, 1, 234, 57, 33,
- 3, 1, 240, 146, 2, 242, 113, 33, 3, 1, 220, 175, 69, 33, 3, 1, 245, 243,
- 33, 6, 1, 227, 67, 33, 3, 1, 227, 67, 33, 6, 1, 213, 49, 33, 3, 1, 213,
- 49, 33, 6, 1, 235, 181, 74, 33, 3, 1, 235, 181, 74, 33, 6, 1, 232, 221,
- 212, 174, 33, 3, 1, 232, 221, 212, 174, 33, 6, 1, 235, 181, 232, 221,
- 212, 174, 33, 3, 1, 235, 181, 232, 221, 212, 174, 33, 6, 1, 251, 172,
- 212, 174, 33, 3, 1, 251, 172, 212, 174, 33, 6, 1, 235, 181, 251, 172,
- 212, 174, 33, 3, 1, 235, 181, 251, 172, 212, 174, 33, 6, 1, 233, 242, 33,
- 3, 1, 233, 242, 33, 6, 1, 225, 46, 33, 3, 1, 225, 46, 33, 6, 1, 244, 51,
- 33, 3, 1, 244, 51, 33, 6, 1, 235, 144, 33, 3, 1, 235, 144, 33, 6, 1, 235,
- 145, 2, 51, 242, 114, 254, 174, 33, 3, 1, 235, 145, 2, 51, 242, 114, 254,
- 174, 33, 6, 1, 215, 175, 33, 3, 1, 215, 175, 33, 6, 1, 223, 87, 227, 67,
- 33, 3, 1, 223, 87, 227, 67, 33, 6, 1, 227, 68, 2, 217, 18, 33, 3, 1, 227,
- 68, 2, 217, 18, 33, 6, 1, 227, 8, 33, 3, 1, 227, 8, 33, 6, 1, 234, 15,
- 33, 3, 1, 234, 15, 33, 217, 99, 52, 37, 33, 217, 18, 37, 33, 226, 192,
- 37, 33, 207, 225, 152, 37, 33, 225, 40, 225, 152, 37, 33, 225, 137, 37,
- 33, 240, 201, 217, 99, 52, 37, 33, 231, 4, 52, 33, 6, 1, 220, 175, 240,
- 146, 2, 218, 27, 33, 3, 1, 220, 175, 240, 146, 2, 218, 27, 33, 6, 1, 221,
- 66, 52, 33, 3, 1, 221, 66, 52, 33, 6, 1, 245, 56, 2, 217, 68, 33, 3, 1,
- 245, 56, 2, 217, 68, 33, 6, 1, 242, 213, 2, 215, 127, 33, 3, 1, 242, 213,
- 2, 215, 127, 33, 6, 1, 242, 213, 2, 90, 33, 3, 1, 242, 213, 2, 90, 33, 6,
- 1, 242, 213, 2, 231, 37, 101, 33, 3, 1, 242, 213, 2, 231, 37, 101, 33, 6,
- 1, 212, 68, 2, 247, 246, 33, 3, 1, 212, 68, 2, 247, 246, 33, 6, 1, 212,
- 88, 2, 247, 246, 33, 3, 1, 212, 88, 2, 247, 246, 33, 6, 1, 235, 17, 2,
- 247, 246, 33, 3, 1, 235, 17, 2, 247, 246, 33, 6, 1, 235, 17, 2, 71, 90,
- 33, 3, 1, 235, 17, 2, 71, 90, 33, 6, 1, 235, 17, 2, 90, 33, 3, 1, 235,
- 17, 2, 90, 33, 6, 1, 252, 44, 181, 33, 3, 1, 252, 44, 181, 33, 6, 1, 245,
- 109, 2, 247, 246, 33, 3, 1, 245, 109, 2, 247, 246, 33, 6, 26, 245, 109,
- 242, 212, 33, 3, 26, 245, 109, 242, 212, 33, 6, 1, 226, 97, 2, 231, 37,
- 101, 33, 3, 1, 226, 97, 2, 231, 37, 101, 33, 6, 1, 254, 180, 159, 33, 3,
- 1, 254, 180, 159, 33, 6, 1, 245, 46, 2, 247, 246, 33, 3, 1, 245, 46, 2,
- 247, 246, 33, 6, 1, 217, 230, 2, 247, 246, 33, 3, 1, 217, 230, 2, 247,
- 246, 33, 6, 1, 219, 61, 69, 33, 3, 1, 219, 61, 69, 33, 6, 1, 219, 61,
- 111, 2, 90, 33, 3, 1, 219, 61, 111, 2, 90, 33, 6, 1, 242, 30, 2, 247,
- 246, 33, 3, 1, 242, 30, 2, 247, 246, 33, 6, 26, 217, 230, 216, 136, 33,
- 3, 26, 217, 230, 216, 136, 33, 6, 1, 250, 68, 2, 247, 246, 33, 3, 1, 250,
- 68, 2, 247, 246, 33, 6, 1, 250, 68, 2, 71, 90, 33, 3, 1, 250, 68, 2, 71,
- 90, 33, 6, 1, 220, 213, 33, 3, 1, 220, 213, 33, 6, 1, 254, 180, 250, 67,
- 33, 3, 1, 254, 180, 250, 67, 33, 6, 1, 254, 180, 250, 68, 2, 247, 246,
- 33, 3, 1, 254, 180, 250, 68, 2, 247, 246, 33, 1, 226, 185, 33, 6, 1, 212,
- 68, 2, 251, 74, 33, 3, 1, 212, 68, 2, 251, 74, 33, 6, 1, 235, 17, 2, 101,
- 33, 3, 1, 235, 17, 2, 101, 33, 6, 1, 245, 132, 2, 218, 27, 33, 3, 1, 245,
- 132, 2, 218, 27, 33, 6, 1, 245, 109, 2, 101, 33, 3, 1, 245, 109, 2, 101,
- 33, 6, 1, 245, 109, 2, 218, 27, 33, 3, 1, 245, 109, 2, 218, 27, 33, 6, 1,
- 234, 133, 250, 67, 33, 3, 1, 234, 133, 250, 67, 33, 6, 1, 245, 118, 2,
- 218, 27, 33, 3, 1, 245, 118, 2, 218, 27, 33, 3, 1, 226, 185, 33, 6, 1,
- 118, 2, 251, 74, 33, 3, 1, 118, 2, 251, 74, 33, 6, 1, 118, 2, 247, 209,
- 33, 3, 1, 118, 2, 247, 209, 33, 6, 26, 118, 236, 55, 33, 3, 26, 118, 236,
- 55, 33, 6, 1, 236, 56, 2, 251, 74, 33, 3, 1, 236, 56, 2, 251, 74, 33, 6,
- 1, 222, 113, 33, 3, 1, 222, 113, 33, 6, 1, 222, 114, 2, 247, 209, 33, 3,
- 1, 222, 114, 2, 247, 209, 33, 6, 1, 212, 68, 2, 247, 209, 33, 3, 1, 212,
- 68, 2, 247, 209, 33, 6, 1, 212, 88, 2, 247, 209, 33, 3, 1, 212, 88, 2,
- 247, 209, 33, 6, 1, 254, 180, 245, 247, 33, 3, 1, 254, 180, 245, 247, 33,
- 6, 1, 240, 146, 2, 232, 37, 33, 3, 1, 240, 146, 2, 232, 37, 33, 6, 1,
- 240, 146, 2, 247, 209, 33, 3, 1, 240, 146, 2, 247, 209, 33, 6, 1, 157, 2,
- 247, 209, 33, 3, 1, 157, 2, 247, 209, 33, 6, 1, 252, 54, 75, 33, 3, 1,
- 252, 54, 75, 33, 6, 1, 252, 54, 157, 2, 247, 209, 33, 3, 1, 252, 54, 157,
- 2, 247, 209, 33, 6, 1, 191, 2, 247, 209, 33, 3, 1, 191, 2, 247, 209, 33,
- 6, 1, 111, 2, 232, 37, 33, 3, 1, 111, 2, 232, 37, 33, 6, 1, 111, 2, 247,
- 209, 33, 3, 1, 111, 2, 247, 209, 33, 6, 1, 111, 2, 51, 179, 33, 3, 1,
- 111, 2, 51, 179, 33, 6, 1, 250, 68, 2, 247, 209, 33, 3, 1, 250, 68, 2,
- 247, 209, 33, 6, 1, 242, 213, 2, 247, 246, 33, 3, 1, 242, 213, 2, 247,
- 246, 33, 6, 1, 213, 19, 2, 247, 209, 33, 3, 1, 213, 19, 2, 247, 209, 33,
- 6, 1, 242, 213, 2, 219, 45, 24, 101, 33, 3, 1, 242, 213, 2, 219, 45, 24,
- 101, 33, 6, 1, 242, 30, 2, 101, 33, 3, 1, 242, 30, 2, 101, 33, 6, 1, 242,
- 30, 2, 90, 33, 3, 1, 242, 30, 2, 90, 33, 6, 1, 234, 23, 248, 41, 33, 3,
- 1, 234, 23, 248, 41, 33, 6, 1, 234, 23, 247, 114, 33, 3, 1, 234, 23, 247,
- 114, 33, 6, 1, 234, 23, 212, 20, 33, 3, 1, 234, 23, 212, 20, 33, 6, 1,
- 234, 23, 245, 241, 33, 3, 1, 234, 23, 245, 241, 33, 6, 1, 234, 23, 232,
- 216, 33, 3, 1, 234, 23, 232, 216, 33, 6, 1, 234, 23, 229, 9, 33, 3, 1,
- 234, 23, 229, 9, 33, 6, 1, 234, 23, 220, 37, 33, 3, 1, 234, 23, 220, 37,
- 33, 6, 1, 234, 23, 217, 13, 33, 3, 1, 234, 23, 217, 13, 33, 6, 1, 223,
- 202, 212, 87, 33, 3, 1, 223, 202, 212, 87, 33, 6, 1, 245, 132, 2, 101,
- 33, 3, 1, 245, 132, 2, 101, 33, 6, 1, 233, 25, 33, 3, 1, 233, 25, 33, 6,
- 1, 223, 192, 33, 3, 1, 223, 192, 33, 6, 1, 213, 80, 33, 3, 1, 213, 80,
- 33, 6, 1, 224, 232, 33, 3, 1, 224, 232, 33, 6, 1, 214, 6, 33, 3, 1, 214,
- 6, 33, 6, 1, 254, 75, 181, 33, 3, 1, 254, 75, 181, 33, 6, 1, 245, 132, 2,
- 231, 37, 101, 33, 3, 1, 245, 132, 2, 231, 37, 101, 33, 6, 1, 245, 109, 2,
- 231, 37, 101, 33, 3, 1, 245, 109, 2, 231, 37, 101, 33, 6, 1, 226, 97, 2,
- 247, 246, 33, 3, 1, 226, 97, 2, 247, 246, 33, 6, 1, 220, 214, 2, 247,
- 246, 33, 3, 1, 220, 214, 2, 247, 246, 141, 6, 1, 253, 80, 141, 6, 1, 251,
- 216, 141, 6, 1, 242, 179, 141, 6, 1, 248, 164, 141, 6, 1, 245, 169, 141,
- 6, 1, 212, 109, 141, 6, 1, 245, 154, 141, 6, 1, 245, 30, 141, 6, 1, 108,
- 141, 6, 1, 212, 67, 141, 6, 1, 235, 224, 141, 6, 1, 232, 219, 141, 6, 1,
- 213, 148, 141, 6, 1, 250, 219, 141, 6, 1, 234, 171, 141, 6, 1, 241, 54,
- 141, 6, 1, 235, 139, 141, 6, 1, 242, 222, 141, 6, 1, 250, 62, 141, 6, 1,
- 231, 122, 141, 6, 1, 212, 255, 141, 6, 1, 228, 150, 141, 6, 1, 221, 24,
- 141, 6, 1, 214, 119, 141, 6, 1, 250, 92, 141, 6, 1, 226, 80, 141, 6, 1,
- 235, 112, 141, 6, 1, 203, 141, 6, 1, 222, 80, 141, 6, 1, 214, 156, 141,
- 6, 1, 217, 15, 141, 6, 1, 223, 245, 141, 6, 1, 249, 175, 141, 6, 1, 212,
- 240, 141, 6, 1, 225, 178, 141, 6, 1, 234, 182, 141, 6, 1, 227, 88, 141,
- 6, 1, 244, 111, 141, 59, 1, 42, 151, 223, 130, 141, 253, 226, 141, 245,
- 112, 77, 141, 244, 254, 77, 141, 249, 157, 141, 224, 158, 77, 141, 254,
- 181, 77, 141, 3, 1, 253, 80, 141, 3, 1, 251, 216, 141, 3, 1, 242, 179,
- 141, 3, 1, 248, 164, 141, 3, 1, 245, 169, 141, 3, 1, 212, 109, 141, 3, 1,
- 245, 154, 141, 3, 1, 245, 30, 141, 3, 1, 108, 141, 3, 1, 212, 67, 141, 3,
- 1, 235, 224, 141, 3, 1, 232, 219, 141, 3, 1, 213, 148, 141, 3, 1, 250,
- 219, 141, 3, 1, 234, 171, 141, 3, 1, 241, 54, 141, 3, 1, 235, 139, 141,
- 3, 1, 242, 222, 141, 3, 1, 250, 62, 141, 3, 1, 231, 122, 141, 3, 1, 212,
- 255, 141, 3, 1, 228, 150, 141, 3, 1, 221, 24, 141, 3, 1, 214, 119, 141,
- 3, 1, 250, 92, 141, 3, 1, 226, 80, 141, 3, 1, 235, 112, 141, 3, 1, 203,
- 141, 3, 1, 222, 80, 141, 3, 1, 214, 156, 141, 3, 1, 217, 15, 141, 3, 1,
- 223, 245, 141, 3, 1, 249, 175, 141, 3, 1, 212, 240, 141, 3, 1, 225, 178,
- 141, 3, 1, 234, 182, 141, 3, 1, 227, 88, 141, 3, 1, 244, 111, 141, 3, 26,
- 245, 170, 212, 240, 141, 243, 200, 219, 69, 141, 240, 160, 93, 254, 175,
- 245, 23, 93, 254, 175, 222, 81, 93, 254, 175, 221, 11, 93, 254, 175, 212,
- 97, 224, 215, 93, 254, 175, 212, 97, 243, 100, 93, 254, 175, 217, 28, 93,
- 254, 175, 223, 200, 93, 254, 175, 212, 96, 93, 254, 175, 226, 118, 93,
- 254, 175, 213, 11, 93, 254, 175, 217, 167, 93, 254, 175, 243, 17, 93,
- 254, 175, 243, 18, 230, 139, 93, 254, 175, 243, 15, 93, 254, 175, 224,
- 216, 226, 144, 93, 254, 175, 217, 206, 243, 32, 93, 254, 175, 226, 100,
- 93, 254, 175, 253, 116, 242, 22, 93, 254, 175, 230, 149, 93, 254, 175,
- 232, 13, 93, 254, 175, 231, 113, 93, 254, 175, 231, 114, 234, 183, 93,
- 254, 175, 248, 108, 93, 254, 175, 224, 227, 93, 254, 175, 217, 206, 224,
- 211, 93, 254, 175, 213, 21, 251, 217, 212, 221, 93, 254, 175, 227, 73,
- 93, 254, 175, 236, 14, 93, 254, 175, 248, 21, 93, 254, 175, 212, 26, 93,
- 152, 231, 206, 249, 228, 93, 225, 145, 220, 216, 93, 225, 145, 241, 233,
- 222, 81, 93, 225, 145, 241, 233, 226, 112, 93, 225, 145, 241, 233, 224,
- 220, 93, 225, 145, 241, 144, 93, 225, 145, 216, 134, 93, 225, 145, 222,
- 81, 93, 225, 145, 226, 112, 93, 225, 145, 224, 220, 93, 225, 145, 241,
- 47, 93, 225, 145, 241, 48, 241, 235, 31, 214, 236, 93, 225, 145, 224,
- 162, 93, 225, 145, 248, 151, 167, 231, 234, 93, 225, 145, 231, 105, 93,
- 225, 27, 231, 231, 93, 225, 145, 224, 59, 93, 225, 27, 226, 120, 93, 225,
- 145, 220, 201, 247, 74, 93, 225, 145, 220, 85, 247, 74, 93, 225, 27, 219,
- 237, 226, 114, 93, 152, 215, 131, 247, 74, 93, 152, 232, 163, 247, 74,
- 93, 225, 27, 228, 51, 242, 21, 93, 225, 145, 224, 221, 224, 215, 93, 1,
- 254, 78, 93, 1, 251, 205, 93, 1, 242, 177, 93, 1, 248, 134, 93, 1, 241,
- 222, 93, 1, 214, 236, 93, 1, 212, 90, 93, 1, 241, 182, 93, 1, 217, 183,
- 93, 1, 212, 224, 93, 1, 40, 234, 254, 93, 1, 234, 254, 93, 1, 233, 118,
- 93, 1, 40, 231, 129, 93, 1, 231, 129, 93, 1, 40, 228, 50, 93, 1, 228, 50,
- 93, 1, 222, 164, 93, 1, 253, 78, 93, 1, 40, 226, 96, 93, 1, 226, 96, 93,
- 1, 40, 216, 137, 93, 1, 216, 137, 93, 1, 224, 184, 93, 1, 223, 219, 93,
- 1, 220, 200, 93, 1, 217, 245, 93, 26, 212, 253, 51, 214, 236, 93, 26,
- 212, 253, 214, 237, 212, 224, 93, 26, 212, 253, 51, 212, 224, 93, 225,
- 27, 243, 17, 93, 225, 27, 243, 15, 12, 50, 52, 12, 5, 222, 158, 12, 243,
- 255, 231, 217, 12, 5, 222, 192, 253, 207, 249, 50, 223, 95, 253, 207,
- 243, 230, 223, 95, 12, 224, 27, 253, 207, 226, 58, 231, 6, 52, 253, 207,
- 226, 58, 217, 201, 217, 101, 52, 254, 126, 52, 12, 249, 157, 12, 248, 96,
- 221, 57, 12, 225, 147, 214, 218, 52, 12, 5, 230, 243, 12, 5, 222, 174,
- 254, 80, 214, 29, 12, 5, 254, 80, 253, 137, 12, 5, 224, 58, 254, 79, 12,
- 5, 224, 65, 254, 61, 254, 14, 12, 5, 218, 20, 12, 3, 124, 218, 29, 12, 3,
- 124, 26, 106, 2, 233, 127, 2, 213, 34, 12, 3, 124, 212, 101, 12, 3, 244,
- 133, 12, 3, 248, 129, 12, 3, 234, 210, 12, 221, 70, 12, 216, 169, 62,
- 225, 27, 77, 12, 224, 158, 77, 12, 1, 234, 214, 213, 34, 12, 1, 242, 2,
- 12, 1, 106, 2, 232, 33, 49, 12, 1, 106, 2, 192, 49, 12, 1, 214, 15, 2,
- 192, 49, 12, 1, 106, 2, 192, 55, 12, 1, 73, 2, 192, 49, 12, 1, 254, 78,
- 12, 1, 251, 230, 12, 1, 217, 216, 231, 227, 12, 1, 217, 215, 12, 1, 217,
- 145, 12, 1, 235, 124, 12, 1, 242, 18, 12, 1, 234, 135, 12, 1, 248, 140,
- 12, 1, 217, 155, 12, 1, 223, 245, 12, 1, 212, 101, 12, 1, 222, 85, 12, 1,
- 220, 239, 12, 1, 222, 195, 12, 1, 248, 159, 12, 1, 218, 29, 12, 1, 212,
- 104, 12, 1, 254, 103, 12, 1, 242, 220, 12, 1, 234, 181, 2, 117, 176, 49,
- 12, 1, 234, 181, 2, 133, 176, 55, 12, 1, 244, 136, 73, 2, 235, 191, 215,
- 79, 12, 1, 244, 136, 73, 2, 117, 176, 49, 12, 1, 244, 136, 73, 2, 133,
- 176, 49, 12, 217, 250, 12, 1, 244, 111, 12, 1, 224, 225, 12, 1, 234, 254,
- 12, 1, 233, 126, 12, 1, 231, 143, 12, 1, 228, 173, 12, 1, 241, 202, 12,
- 1, 214, 14, 12, 1, 106, 231, 255, 12, 1, 213, 34, 12, 244, 131, 12, 248,
- 127, 12, 234, 208, 12, 244, 133, 12, 248, 129, 12, 234, 210, 12, 221, 15,
- 12, 218, 246, 12, 232, 31, 49, 12, 192, 49, 12, 192, 55, 12, 219, 10,
- 254, 78, 12, 235, 191, 248, 129, 12, 152, 228, 174, 242, 194, 12, 211,
- 250, 12, 30, 5, 3, 215, 80, 49, 12, 30, 5, 235, 191, 3, 215, 80, 49, 12,
- 30, 5, 62, 55, 12, 223, 202, 248, 129, 12, 244, 134, 2, 117, 247, 72, 12,
- 214, 16, 192, 55, 253, 207, 21, 212, 79, 253, 207, 21, 116, 253, 207, 21,
- 109, 253, 207, 21, 166, 253, 207, 21, 163, 253, 207, 21, 180, 253, 207,
- 21, 189, 253, 207, 21, 198, 253, 207, 21, 195, 253, 207, 21, 200, 12,
- 226, 57, 52, 12, 248, 34, 221, 57, 12, 217, 99, 221, 57, 12, 244, 50,
- 225, 143, 219, 95, 12, 1, 247, 73, 251, 230, 12, 1, 247, 73, 224, 225,
- 12, 1, 218, 223, 254, 78, 12, 1, 106, 214, 30, 12, 1, 106, 2, 214, 16,
- 192, 49, 12, 1, 106, 2, 214, 16, 192, 55, 12, 1, 124, 242, 2, 12, 1, 124,
- 192, 254, 78, 12, 1, 124, 192, 214, 14, 12, 1, 111, 2, 192, 49, 12, 1,
- 124, 192, 213, 34, 12, 1, 216, 109, 12, 1, 216, 107, 12, 1, 251, 240, 12,
- 1, 217, 216, 2, 223, 130, 12, 1, 217, 216, 2, 133, 176, 78, 246, 57, 12,
- 1, 226, 80, 12, 1, 217, 213, 12, 1, 251, 228, 12, 1, 121, 2, 192, 49, 12,
- 1, 121, 2, 117, 176, 71, 49, 12, 1, 228, 14, 12, 1, 245, 254, 12, 1, 121,
- 2, 133, 176, 49, 12, 1, 217, 233, 12, 1, 217, 231, 12, 1, 248, 81, 12, 1,
- 248, 141, 2, 223, 130, 12, 1, 248, 141, 2, 62, 55, 12, 1, 248, 141, 2,
- 62, 251, 220, 24, 3, 218, 29, 12, 1, 248, 146, 12, 1, 248, 83, 12, 1,
- 246, 25, 12, 1, 248, 141, 2, 133, 176, 78, 246, 57, 12, 1, 248, 141, 2,
- 243, 237, 176, 49, 12, 1, 223, 77, 12, 1, 223, 246, 2, 3, 215, 79, 12, 1,
- 223, 246, 2, 223, 130, 12, 1, 223, 246, 2, 62, 55, 12, 1, 223, 246, 2, 3,
- 215, 80, 55, 12, 1, 223, 246, 2, 62, 251, 220, 24, 62, 49, 12, 1, 223,
- 246, 2, 117, 176, 49, 12, 1, 235, 121, 12, 1, 223, 246, 2, 243, 237, 176,
- 49, 12, 1, 222, 86, 2, 62, 251, 220, 24, 62, 49, 12, 1, 222, 86, 2, 133,
- 176, 55, 12, 1, 222, 86, 2, 133, 176, 251, 220, 24, 133, 176, 49, 12, 1,
- 222, 196, 2, 117, 176, 55, 12, 1, 222, 196, 2, 133, 176, 49, 12, 1, 218,
- 30, 2, 133, 176, 49, 12, 1, 254, 104, 2, 133, 176, 49, 12, 1, 247, 73,
- 244, 111, 12, 1, 244, 112, 2, 62, 230, 179, 55, 12, 1, 244, 112, 2, 62,
- 55, 12, 1, 214, 225, 12, 1, 244, 112, 2, 133, 176, 55, 12, 1, 226, 78,
- 12, 1, 224, 226, 2, 62, 49, 12, 1, 224, 226, 2, 133, 176, 49, 12, 1, 234,
- 180, 12, 1, 218, 195, 234, 254, 12, 1, 234, 255, 2, 223, 130, 12, 1, 234,
- 255, 2, 62, 49, 12, 1, 229, 161, 12, 1, 234, 255, 2, 133, 176, 55, 12, 1,
- 243, 97, 12, 1, 243, 98, 2, 223, 130, 12, 1, 229, 88, 12, 1, 243, 98, 2,
- 117, 176, 55, 12, 1, 242, 82, 12, 1, 243, 98, 2, 133, 176, 49, 12, 1,
- 233, 127, 2, 3, 215, 79, 12, 1, 233, 127, 2, 62, 49, 12, 1, 233, 127, 2,
- 133, 176, 49, 12, 1, 233, 127, 2, 133, 176, 55, 12, 1, 228, 174, 2, 62,
- 55, 12, 1, 228, 174, 242, 194, 12, 1, 223, 115, 12, 1, 228, 174, 2, 223,
- 130, 12, 1, 228, 174, 2, 133, 176, 49, 12, 1, 241, 203, 247, 95, 12, 1,
- 217, 234, 2, 62, 49, 12, 1, 241, 203, 2, 73, 49, 12, 1, 241, 203, 242,
- 147, 12, 1, 241, 203, 242, 148, 2, 192, 49, 12, 1, 217, 216, 231, 228,
- 242, 147, 12, 1, 214, 15, 2, 223, 130, 12, 1, 234, 82, 227, 99, 12, 1,
- 227, 99, 12, 1, 69, 12, 1, 212, 203, 12, 1, 234, 82, 212, 203, 12, 1,
- 214, 15, 2, 117, 176, 49, 12, 1, 214, 232, 12, 1, 244, 136, 213, 34, 12,
- 1, 73, 2, 218, 27, 12, 1, 73, 2, 3, 215, 79, 12, 1, 214, 15, 2, 62, 49,
- 12, 1, 74, 12, 1, 73, 2, 133, 176, 55, 12, 1, 73, 252, 52, 12, 1, 73,
- 252, 53, 2, 192, 49, 12, 243, 200, 219, 69, 12, 1, 254, 148, 12, 3, 124,
- 26, 222, 196, 2, 233, 127, 2, 106, 231, 255, 12, 3, 124, 26, 224, 226, 2,
- 233, 127, 2, 106, 231, 255, 12, 3, 124, 63, 70, 17, 12, 3, 124, 233, 127,
- 254, 78, 12, 3, 124, 235, 124, 12, 3, 124, 133, 247, 72, 12, 3, 124, 222,
- 85, 12, 245, 101, 65, 253, 82, 12, 219, 91, 65, 223, 49, 245, 132, 241,
- 141, 12, 3, 124, 223, 85, 212, 79, 12, 3, 124, 215, 130, 224, 8, 212, 79,
- 12, 3, 124, 247, 73, 241, 220, 65, 234, 135, 12, 3, 124, 63, 48, 17, 12,
- 3, 115, 222, 85, 12, 3, 124, 232, 32, 12, 3, 214, 14, 12, 3, 213, 34, 12,
- 3, 124, 213, 34, 12, 3, 124, 228, 173, 12, 225, 173, 65, 222, 184, 12,
- 245, 110, 250, 109, 115, 219, 69, 12, 245, 110, 250, 109, 124, 219, 69,
- 12, 223, 85, 124, 219, 70, 2, 244, 73, 250, 108, 12, 3, 115, 231, 143,
- 12, 1, 248, 141, 2, 235, 191, 215, 79, 12, 1, 223, 246, 2, 235, 191, 215,
- 79, 244, 246, 253, 207, 21, 212, 79, 244, 246, 253, 207, 21, 116, 244,
- 246, 253, 207, 21, 109, 244, 246, 253, 207, 21, 166, 244, 246, 253, 207,
- 21, 163, 244, 246, 253, 207, 21, 180, 244, 246, 253, 207, 21, 189, 244,
- 246, 253, 207, 21, 198, 244, 246, 253, 207, 21, 195, 244, 246, 253, 207,
- 21, 200, 12, 1, 220, 240, 2, 62, 55, 12, 1, 248, 160, 2, 62, 55, 12, 1,
- 242, 221, 2, 62, 55, 12, 5, 220, 84, 254, 35, 12, 5, 220, 84, 225, 115,
- 231, 122, 12, 1, 241, 203, 2, 235, 191, 215, 79, 175, 245, 101, 65, 226,
- 142, 175, 218, 219, 243, 200, 219, 69, 175, 219, 12, 243, 200, 219, 69,
- 175, 218, 219, 249, 164, 175, 219, 12, 249, 164, 175, 199, 249, 164, 175,
- 249, 165, 220, 34, 233, 70, 175, 249, 165, 220, 34, 223, 148, 175, 218,
- 219, 249, 165, 220, 34, 233, 70, 175, 219, 12, 249, 165, 220, 34, 223,
- 148, 175, 249, 119, 175, 241, 240, 227, 114, 175, 241, 240, 231, 103,
- 175, 241, 240, 253, 134, 175, 254, 181, 77, 175, 1, 254, 82, 175, 1, 218,
- 223, 254, 82, 175, 1, 251, 202, 175, 1, 243, 89, 175, 1, 243, 90, 243,
- 67, 175, 1, 248, 137, 175, 1, 247, 73, 248, 138, 223, 126, 175, 1, 241,
- 222, 175, 1, 214, 14, 175, 1, 212, 101, 175, 1, 241, 180, 175, 1, 217,
- 179, 175, 1, 217, 180, 243, 67, 175, 1, 212, 190, 175, 1, 212, 191, 241,
- 222, 175, 1, 234, 230, 175, 1, 233, 125, 175, 1, 231, 3, 175, 1, 228, 50,
- 175, 1, 221, 63, 175, 1, 40, 221, 63, 175, 1, 74, 175, 1, 226, 96, 175,
- 1, 223, 202, 226, 96, 175, 1, 222, 193, 175, 1, 224, 219, 175, 1, 223,
- 126, 175, 1, 220, 200, 175, 1, 217, 243, 175, 1, 226, 45, 251, 190, 175,
- 1, 226, 45, 242, 218, 175, 1, 226, 45, 247, 228, 175, 225, 36, 49, 175,
- 225, 36, 55, 175, 225, 36, 246, 71, 175, 212, 10, 49, 175, 212, 10, 55,
- 175, 212, 10, 246, 71, 175, 224, 24, 49, 175, 224, 24, 55, 175, 246, 72,
- 212, 17, 241, 31, 175, 246, 72, 212, 17, 254, 15, 175, 241, 225, 49, 175,
- 241, 225, 55, 175, 241, 224, 246, 71, 175, 245, 43, 49, 175, 245, 43, 55,
- 175, 223, 19, 175, 244, 105, 247, 74, 175, 224, 137, 175, 223, 45, 175,
- 117, 71, 176, 49, 175, 117, 71, 176, 55, 175, 133, 176, 49, 175, 133,
- 176, 55, 175, 227, 112, 232, 243, 49, 175, 227, 112, 232, 243, 55, 175,
- 230, 126, 175, 252, 51, 175, 1, 219, 233, 212, 73, 175, 1, 219, 233, 234,
- 128, 175, 1, 219, 233, 244, 123, 12, 1, 251, 231, 2, 133, 176, 240, 237,
- 55, 12, 1, 251, 231, 2, 62, 251, 220, 24, 133, 176, 49, 12, 1, 251, 231,
- 2, 133, 176, 225, 141, 215, 124, 55, 12, 1, 251, 231, 2, 133, 176, 225,
- 141, 215, 124, 251, 220, 24, 117, 176, 49, 12, 1, 251, 231, 2, 117, 176,
- 251, 220, 24, 62, 49, 12, 1, 251, 231, 2, 235, 191, 3, 215, 80, 55, 12,
- 1, 251, 231, 2, 3, 215, 79, 12, 1, 121, 2, 117, 176, 49, 12, 1, 121, 2,
- 133, 176, 225, 141, 215, 124, 55, 12, 1, 248, 141, 2, 117, 176, 214, 166,
- 251, 220, 24, 3, 218, 29, 12, 1, 248, 141, 2, 235, 191, 3, 215, 80, 55,
- 12, 1, 223, 246, 2, 90, 12, 1, 222, 86, 2, 243, 237, 176, 49, 12, 1, 254,
- 104, 2, 117, 176, 49, 12, 1, 254, 104, 2, 133, 176, 225, 141, 246, 58,
- 49, 12, 1, 254, 104, 2, 117, 176, 214, 166, 49, 12, 1, 244, 112, 2, 117,
- 176, 55, 12, 1, 244, 112, 2, 133, 176, 225, 141, 215, 124, 55, 12, 1,
- 234, 181, 2, 62, 49, 12, 1, 234, 181, 2, 133, 176, 49, 12, 1, 234, 181,
- 2, 133, 176, 225, 141, 215, 124, 55, 12, 1, 63, 2, 62, 49, 12, 1, 63, 2,
- 62, 55, 12, 1, 228, 174, 2, 117, 176, 55, 12, 1, 228, 174, 2, 3, 218, 29,
- 12, 1, 228, 174, 2, 3, 215, 79, 12, 1, 233, 127, 2, 134, 12, 1, 223, 246,
- 2, 117, 176, 214, 166, 49, 12, 1, 223, 246, 2, 192, 49, 12, 1, 222, 86,
- 2, 117, 176, 214, 166, 49, 12, 1, 121, 2, 3, 12, 1, 218, 30, 55, 12, 1,
- 121, 2, 3, 12, 1, 218, 30, 24, 117, 247, 72, 12, 1, 222, 86, 2, 3, 12, 1,
- 218, 30, 24, 117, 247, 72, 12, 1, 223, 246, 2, 3, 12, 1, 218, 30, 24,
- 117, 247, 72, 12, 1, 121, 2, 3, 12, 1, 218, 30, 49, 12, 1, 106, 2, 244,
- 246, 253, 207, 21, 117, 49, 12, 1, 106, 2, 244, 246, 253, 207, 21, 133,
- 49, 12, 1, 244, 136, 73, 2, 244, 246, 253, 207, 21, 117, 49, 12, 1, 244,
- 136, 73, 2, 244, 246, 253, 207, 21, 133, 49, 12, 1, 244, 136, 73, 2, 244,
- 246, 253, 207, 21, 243, 237, 55, 12, 1, 214, 15, 2, 244, 246, 253, 207,
- 21, 117, 49, 12, 1, 214, 15, 2, 244, 246, 253, 207, 21, 133, 49, 12, 1,
- 73, 252, 53, 2, 244, 246, 253, 207, 21, 117, 49, 12, 1, 73, 252, 53, 2,
- 244, 246, 253, 207, 21, 133, 49, 12, 1, 121, 2, 244, 246, 253, 207, 21,
- 243, 237, 55, 12, 1, 222, 86, 2, 244, 246, 253, 207, 21, 243, 237, 49,
- 12, 1, 222, 86, 2, 235, 191, 215, 79, 12, 1, 234, 255, 2, 117, 176, 49,
- 217, 158, 1, 242, 27, 217, 158, 1, 220, 248, 217, 158, 1, 228, 172, 217,
- 158, 1, 224, 74, 217, 158, 1, 252, 106, 217, 158, 1, 233, 22, 217, 158,
- 1, 235, 12, 217, 158, 1, 254, 68, 217, 158, 1, 214, 255, 217, 158, 1,
- 231, 142, 217, 158, 1, 244, 162, 217, 158, 1, 247, 231, 217, 158, 1, 217,
- 160, 217, 158, 1, 233, 153, 217, 158, 1, 243, 106, 217, 158, 1, 242, 153,
- 217, 158, 1, 222, 84, 217, 158, 1, 248, 94, 217, 158, 1, 212, 93, 217,
- 158, 1, 217, 244, 217, 158, 1, 213, 91, 217, 158, 1, 226, 107, 217, 158,
- 1, 235, 129, 217, 158, 1, 250, 70, 217, 158, 1, 216, 114, 217, 158, 1,
- 241, 173, 217, 158, 1, 234, 137, 217, 158, 1, 217, 159, 217, 158, 1, 212,
- 108, 217, 158, 1, 220, 238, 217, 158, 1, 222, 199, 217, 158, 1, 248, 162,
- 217, 158, 1, 108, 217, 158, 1, 212, 16, 217, 158, 1, 254, 101, 217, 158,
- 1, 242, 219, 217, 158, 1, 224, 229, 217, 158, 1, 214, 47, 217, 158, 254,
- 182, 217, 158, 254, 197, 217, 158, 240, 107, 217, 158, 245, 164, 217,
- 158, 215, 191, 217, 158, 227, 48, 217, 158, 245, 172, 217, 158, 244, 240,
- 217, 158, 227, 111, 217, 158, 227, 119, 217, 158, 218, 246, 217, 158, 1,
- 230, 43, 228, 224, 21, 212, 79, 228, 224, 21, 116, 228, 224, 21, 109,
- 228, 224, 21, 166, 228, 224, 21, 163, 228, 224, 21, 180, 228, 224, 21,
- 189, 228, 224, 21, 198, 228, 224, 21, 195, 228, 224, 21, 200, 228, 224,
- 1, 61, 228, 224, 1, 245, 165, 228, 224, 1, 72, 228, 224, 1, 74, 228, 224,
- 1, 69, 228, 224, 1, 227, 49, 228, 224, 1, 75, 228, 224, 1, 248, 152, 228,
- 224, 1, 204, 228, 224, 1, 252, 107, 228, 224, 1, 193, 228, 224, 1, 218,
- 52, 228, 224, 1, 235, 139, 228, 224, 1, 250, 92, 228, 224, 1, 248, 164,
- 228, 224, 1, 203, 228, 224, 1, 223, 81, 228, 224, 1, 222, 202, 228, 224,
- 1, 243, 55, 228, 224, 1, 244, 164, 228, 224, 1, 181, 228, 224, 1, 233,
- 157, 228, 224, 1, 230, 46, 213, 210, 228, 224, 1, 188, 228, 224, 1, 228,
- 23, 228, 224, 1, 205, 228, 224, 1, 159, 228, 224, 1, 214, 49, 228, 224,
- 1, 186, 228, 224, 1, 228, 24, 213, 210, 228, 224, 1, 235, 64, 235, 139,
- 228, 224, 1, 235, 64, 250, 92, 228, 224, 1, 235, 64, 203, 228, 224, 37,
- 220, 175, 124, 216, 241, 228, 224, 37, 220, 175, 115, 216, 241, 228, 224,
- 37, 220, 175, 223, 125, 216, 241, 228, 224, 37, 184, 247, 245, 216, 241,
- 228, 224, 37, 184, 124, 216, 241, 228, 224, 37, 184, 115, 216, 241, 228,
- 224, 37, 184, 223, 125, 216, 241, 228, 224, 37, 230, 13, 77, 228, 224,
- 37, 51, 62, 49, 228, 224, 124, 160, 253, 226, 228, 224, 115, 160, 253,
- 226, 228, 224, 16, 227, 50, 248, 1, 228, 224, 16, 243, 54, 228, 224, 249,
- 157, 228, 224, 244, 254, 77, 228, 224, 233, 132, 222, 167, 1, 254, 84,
- 222, 167, 1, 251, 151, 222, 167, 1, 243, 88, 222, 167, 1, 248, 139, 222,
- 167, 1, 235, 150, 222, 167, 1, 252, 106, 222, 167, 1, 212, 82, 222, 167,
- 1, 235, 158, 222, 167, 1, 217, 20, 222, 167, 1, 212, 173, 222, 167, 1,
- 235, 13, 222, 167, 1, 233, 150, 222, 167, 1, 231, 3, 222, 167, 1, 228,
- 50, 222, 167, 1, 220, 82, 222, 167, 1, 235, 251, 222, 167, 1, 244, 90,
- 222, 167, 1, 216, 139, 222, 167, 1, 224, 155, 222, 167, 1, 223, 126, 222,
- 167, 1, 221, 8, 222, 167, 1, 218, 48, 222, 167, 152, 235, 251, 222, 167,
- 152, 235, 250, 222, 167, 152, 227, 107, 222, 167, 152, 248, 150, 222,
- 167, 59, 1, 245, 68, 212, 173, 222, 167, 152, 245, 68, 212, 173, 222,
- 167, 30, 5, 184, 74, 222, 167, 30, 5, 74, 222, 167, 30, 5, 226, 242, 254,
- 232, 222, 167, 30, 5, 184, 254, 232, 222, 167, 30, 5, 254, 232, 222, 167,
- 30, 5, 226, 242, 61, 222, 167, 30, 5, 184, 61, 222, 167, 30, 5, 61, 222,
- 167, 59, 1, 220, 175, 61, 222, 167, 30, 5, 220, 175, 61, 222, 167, 30, 5,
- 184, 69, 222, 167, 30, 5, 69, 222, 167, 59, 1, 72, 222, 167, 30, 5, 184,
- 72, 222, 167, 30, 5, 72, 222, 167, 30, 5, 75, 222, 167, 30, 5, 218, 246,
- 222, 167, 152, 229, 174, 222, 167, 225, 27, 229, 174, 222, 167, 225, 27,
- 254, 123, 222, 167, 225, 27, 254, 23, 222, 167, 225, 27, 252, 34, 222,
- 167, 225, 27, 253, 117, 222, 167, 225, 27, 220, 188, 222, 167, 254, 181,
- 77, 222, 167, 225, 27, 231, 132, 224, 190, 222, 167, 225, 27, 212, 24,
- 222, 167, 225, 27, 224, 190, 222, 167, 225, 27, 212, 107, 222, 167, 225,
- 27, 216, 54, 222, 167, 225, 27, 253, 180, 222, 167, 225, 27, 219, 237,
- 231, 208, 222, 167, 225, 27, 254, 11, 231, 245, 1, 242, 7, 231, 245, 1,
- 254, 185, 231, 245, 1, 254, 121, 231, 245, 1, 254, 160, 231, 245, 1, 254,
- 114, 231, 245, 1, 215, 98, 231, 245, 1, 253, 76, 231, 245, 1, 235, 158,
- 231, 245, 1, 253, 114, 231, 245, 1, 254, 89, 231, 245, 1, 254, 94, 231,
- 245, 1, 254, 86, 231, 245, 1, 254, 45, 231, 245, 1, 254, 32, 231, 245, 1,
- 253, 152, 231, 245, 1, 235, 251, 231, 245, 1, 253, 239, 231, 245, 1, 253,
- 124, 231, 245, 1, 253, 215, 231, 245, 1, 253, 211, 231, 245, 1, 253, 146,
- 231, 245, 1, 253, 122, 231, 245, 1, 246, 10, 231, 245, 1, 235, 6, 231,
- 245, 1, 254, 103, 231, 245, 254, 127, 77, 231, 245, 214, 117, 77, 231,
- 245, 243, 29, 77, 231, 245, 225, 26, 82, 5, 235, 191, 250, 187, 82, 5,
- 250, 187, 82, 5, 253, 242, 82, 5, 214, 128, 82, 1, 220, 175, 61, 82, 1,
- 61, 82, 1, 254, 232, 82, 1, 72, 82, 1, 236, 28, 82, 1, 69, 82, 1, 215,
- 92, 82, 1, 161, 149, 82, 1, 161, 150, 82, 1, 250, 190, 74, 82, 1, 220,
- 175, 74, 82, 1, 74, 82, 1, 254, 108, 82, 1, 250, 190, 75, 82, 1, 220,
- 175, 75, 82, 1, 75, 82, 1, 253, 108, 82, 1, 181, 82, 1, 234, 138, 82, 1,
- 243, 110, 82, 1, 242, 225, 82, 1, 229, 159, 82, 1, 250, 219, 82, 1, 250,
- 92, 82, 1, 235, 139, 82, 1, 235, 115, 82, 1, 228, 23, 82, 1, 216, 115,
- 82, 1, 216, 105, 82, 1, 248, 86, 82, 1, 248, 70, 82, 1, 228, 198, 82, 1,
- 218, 52, 82, 1, 217, 161, 82, 1, 248, 164, 82, 1, 247, 232, 82, 1, 205,
- 82, 1, 228, 189, 82, 1, 193, 82, 1, 226, 23, 82, 1, 252, 107, 82, 1, 251,
- 195, 82, 1, 188, 82, 1, 186, 82, 1, 203, 82, 1, 223, 81, 82, 1, 233, 157,
- 82, 1, 232, 213, 82, 1, 232, 212, 82, 1, 215, 1, 82, 1, 221, 24, 82, 1,
- 219, 157, 82, 1, 222, 202, 82, 1, 159, 82, 30, 5, 227, 99, 82, 30, 5,
- 227, 47, 82, 5, 228, 60, 82, 5, 253, 91, 82, 30, 5, 254, 232, 82, 30, 5,
- 72, 82, 30, 5, 236, 28, 82, 30, 5, 69, 82, 30, 5, 215, 92, 82, 30, 5,
- 161, 149, 82, 30, 5, 161, 223, 82, 82, 30, 5, 250, 190, 74, 82, 30, 5,
- 220, 175, 74, 82, 30, 5, 74, 82, 30, 5, 254, 108, 82, 30, 5, 250, 190,
- 75, 82, 30, 5, 220, 175, 75, 82, 30, 5, 75, 82, 30, 5, 253, 108, 82, 5,
- 214, 133, 82, 30, 5, 225, 66, 74, 82, 30, 5, 253, 87, 82, 227, 70, 82,
- 219, 51, 5, 215, 185, 82, 219, 51, 5, 253, 244, 82, 242, 114, 254, 174,
- 82, 254, 164, 254, 174, 82, 30, 5, 250, 190, 184, 74, 82, 30, 5, 215,
- 183, 82, 30, 5, 215, 91, 82, 1, 224, 232, 82, 1, 234, 121, 82, 1, 242,
- 202, 82, 1, 212, 109, 82, 1, 248, 75, 82, 1, 223, 192, 82, 1, 244, 164,
- 82, 1, 212, 160, 82, 1, 161, 223, 82, 82, 1, 161, 232, 214, 82, 30, 5,
- 161, 150, 82, 30, 5, 161, 232, 214, 82, 248, 123, 82, 51, 248, 123, 82,
- 21, 212, 79, 82, 21, 116, 82, 21, 109, 82, 21, 166, 82, 21, 163, 82, 21,
- 180, 82, 21, 189, 82, 21, 198, 82, 21, 195, 82, 21, 200, 82, 254, 181,
- 52, 82, 5, 124, 219, 205, 247, 74, 82, 1, 250, 190, 61, 82, 1, 227, 99,
- 82, 1, 227, 47, 82, 1, 253, 87, 82, 1, 215, 183, 82, 1, 215, 91, 82, 1,
- 212, 75, 82, 1, 107, 186, 82, 1, 243, 5, 82, 1, 235, 99, 82, 1, 242, 156,
- 219, 69, 82, 1, 248, 76, 82, 1, 252, 31, 140, 5, 250, 187, 140, 5, 253,
- 242, 140, 5, 214, 128, 140, 1, 61, 140, 1, 254, 232, 140, 1, 72, 140, 1,
- 236, 28, 140, 1, 69, 140, 1, 215, 92, 140, 1, 161, 149, 140, 1, 161, 150,
- 140, 1, 74, 140, 1, 254, 108, 140, 1, 75, 140, 1, 253, 108, 140, 1, 181,
- 140, 1, 234, 138, 140, 1, 243, 110, 140, 1, 242, 225, 140, 1, 229, 159,
- 140, 1, 250, 219, 140, 1, 250, 92, 140, 1, 235, 139, 140, 1, 235, 115,
- 140, 1, 228, 23, 140, 1, 216, 115, 140, 1, 216, 105, 140, 1, 248, 86,
- 140, 1, 248, 70, 140, 1, 228, 198, 140, 1, 218, 52, 140, 1, 217, 161,
- 140, 1, 248, 164, 140, 1, 247, 232, 140, 1, 205, 140, 1, 193, 140, 1,
- 226, 23, 140, 1, 252, 107, 140, 1, 251, 195, 140, 1, 188, 140, 1, 186,
- 140, 1, 203, 140, 1, 233, 157, 140, 1, 221, 24, 140, 1, 219, 157, 140, 1,
- 222, 202, 140, 1, 159, 140, 5, 228, 60, 140, 5, 253, 91, 140, 30, 5, 254,
- 232, 140, 30, 5, 72, 140, 30, 5, 236, 28, 140, 30, 5, 69, 140, 30, 5,
- 215, 92, 140, 30, 5, 161, 149, 140, 30, 5, 161, 223, 82, 140, 30, 5, 74,
- 140, 30, 5, 254, 108, 140, 30, 5, 75, 140, 30, 5, 253, 108, 140, 5, 214,
- 133, 140, 1, 234, 130, 218, 52, 140, 253, 109, 233, 47, 77, 140, 1, 223,
- 81, 140, 1, 223, 192, 140, 1, 212, 160, 140, 1, 161, 223, 82, 140, 1,
- 161, 232, 214, 140, 30, 5, 161, 150, 140, 30, 5, 161, 232, 214, 140, 21,
- 212, 79, 140, 21, 116, 140, 21, 109, 140, 21, 166, 140, 21, 163, 140, 21,
- 180, 140, 21, 189, 140, 21, 198, 140, 21, 195, 140, 21, 200, 140, 1, 224,
- 77, 2, 231, 37, 247, 206, 140, 1, 224, 77, 2, 232, 163, 247, 206, 140,
- 223, 29, 77, 140, 223, 29, 52, 140, 249, 39, 228, 53, 116, 140, 249, 39,
- 228, 53, 109, 140, 249, 39, 228, 53, 166, 140, 249, 39, 228, 53, 163,
- 140, 249, 39, 228, 53, 122, 233, 40, 217, 154, 217, 149, 247, 255, 140,
- 249, 39, 248, 0, 220, 47, 140, 235, 159, 140, 243, 79, 77, 173, 5, 254,
- 159, 251, 166, 173, 5, 251, 166, 173, 5, 214, 128, 173, 1, 61, 173, 1,
- 254, 232, 173, 1, 72, 173, 1, 236, 28, 173, 1, 69, 173, 1, 215, 92, 173,
- 1, 245, 165, 173, 1, 254, 108, 173, 1, 227, 49, 173, 1, 253, 108, 173, 1,
- 181, 173, 1, 234, 138, 173, 1, 243, 110, 173, 1, 242, 225, 173, 1, 229,
- 159, 173, 1, 250, 219, 173, 1, 250, 92, 173, 1, 235, 139, 173, 1, 235,
- 115, 173, 1, 228, 23, 173, 1, 216, 115, 173, 1, 216, 105, 173, 1, 248,
- 86, 173, 1, 248, 70, 173, 1, 228, 198, 173, 1, 218, 52, 173, 1, 217, 161,
- 173, 1, 248, 164, 173, 1, 247, 232, 173, 1, 205, 173, 1, 193, 173, 1,
- 226, 23, 173, 1, 252, 107, 173, 1, 251, 195, 173, 1, 188, 173, 1, 186,
- 173, 1, 203, 173, 1, 233, 157, 173, 1, 232, 213, 173, 1, 215, 1, 173, 1,
- 221, 24, 173, 1, 222, 202, 173, 1, 159, 173, 5, 228, 60, 173, 30, 5, 254,
- 232, 173, 30, 5, 72, 173, 30, 5, 236, 28, 173, 30, 5, 69, 173, 30, 5,
- 215, 92, 173, 30, 5, 245, 165, 173, 30, 5, 254, 108, 173, 30, 5, 227, 49,
- 173, 30, 5, 253, 108, 173, 5, 214, 133, 173, 5, 215, 187, 173, 1, 234,
- 121, 173, 1, 242, 202, 173, 1, 212, 109, 173, 1, 223, 81, 173, 1, 244,
- 164, 173, 21, 212, 79, 173, 21, 116, 173, 21, 109, 173, 21, 166, 173, 21,
- 163, 173, 21, 180, 173, 21, 189, 173, 21, 198, 173, 21, 195, 173, 21,
- 200, 173, 217, 27, 173, 254, 158, 173, 235, 176, 173, 215, 117, 173, 245,
- 138, 227, 54, 173, 5, 213, 67, 164, 5, 250, 187, 164, 5, 253, 242, 164,
- 5, 214, 128, 164, 1, 61, 164, 1, 254, 232, 164, 1, 72, 164, 1, 236, 28,
- 164, 1, 69, 164, 1, 215, 92, 164, 1, 161, 149, 164, 1, 161, 150, 164, 30,
- 250, 190, 74, 164, 1, 74, 164, 1, 254, 108, 164, 30, 250, 190, 75, 164,
- 1, 75, 164, 1, 253, 108, 164, 1, 181, 164, 1, 234, 138, 164, 1, 243, 110,
- 164, 1, 242, 225, 164, 1, 229, 159, 164, 1, 250, 219, 164, 1, 250, 92,
- 164, 1, 235, 139, 164, 1, 235, 115, 164, 1, 228, 23, 164, 1, 216, 115,
- 164, 1, 216, 105, 164, 1, 248, 86, 164, 1, 248, 70, 164, 1, 228, 198,
- 164, 1, 218, 52, 164, 1, 217, 161, 164, 1, 248, 164, 164, 1, 247, 232,
- 164, 1, 205, 164, 1, 193, 164, 1, 226, 23, 164, 1, 252, 107, 164, 1, 251,
- 195, 164, 1, 188, 164, 1, 186, 164, 1, 203, 164, 1, 233, 157, 164, 1,
- 232, 213, 164, 1, 215, 1, 164, 1, 221, 24, 164, 1, 219, 157, 164, 1, 222,
- 202, 164, 1, 159, 164, 5, 228, 60, 164, 5, 253, 91, 164, 30, 5, 254, 232,
- 164, 30, 5, 72, 164, 30, 5, 236, 28, 164, 30, 5, 69, 164, 30, 5, 215, 92,
- 164, 30, 5, 161, 149, 164, 30, 5, 161, 223, 82, 164, 30, 5, 250, 190, 74,
- 164, 30, 5, 74, 164, 30, 5, 254, 108, 164, 30, 5, 250, 190, 75, 164, 30,
- 5, 75, 164, 30, 5, 253, 108, 164, 5, 214, 133, 164, 227, 70, 164, 1, 161,
- 223, 82, 164, 1, 161, 232, 214, 164, 30, 5, 161, 150, 164, 30, 5, 161,
- 232, 214, 164, 21, 212, 79, 164, 21, 116, 164, 21, 109, 164, 21, 166,
- 164, 21, 163, 164, 21, 180, 164, 21, 189, 164, 21, 198, 164, 21, 195,
- 164, 21, 200, 164, 223, 29, 52, 147, 5, 250, 187, 147, 5, 253, 242, 147,
- 5, 214, 128, 147, 1, 61, 147, 1, 254, 232, 147, 1, 72, 147, 1, 236, 28,
- 147, 1, 69, 147, 1, 215, 92, 147, 1, 161, 149, 147, 1, 161, 150, 147, 1,
- 74, 147, 1, 254, 108, 147, 1, 75, 147, 1, 253, 108, 147, 1, 181, 147, 1,
- 234, 138, 147, 1, 243, 110, 147, 1, 242, 225, 147, 1, 229, 159, 147, 1,
- 250, 219, 147, 1, 250, 92, 147, 1, 235, 139, 147, 1, 235, 115, 147, 1,
- 228, 23, 147, 1, 216, 115, 147, 1, 216, 105, 147, 1, 248, 86, 147, 1,
- 248, 70, 147, 1, 228, 198, 147, 1, 218, 52, 147, 1, 217, 161, 147, 1,
- 248, 164, 147, 1, 247, 232, 147, 1, 205, 147, 1, 193, 147, 1, 226, 23,
- 147, 1, 252, 107, 147, 1, 251, 195, 147, 1, 188, 147, 1, 186, 147, 1,
- 203, 147, 1, 233, 157, 147, 1, 232, 213, 147, 1, 215, 1, 147, 1, 221, 24,
- 147, 1, 219, 157, 147, 1, 222, 202, 147, 1, 159, 147, 5, 228, 60, 147, 5,
- 253, 91, 147, 30, 5, 254, 232, 147, 30, 5, 72, 147, 30, 5, 236, 28, 147,
- 30, 5, 69, 147, 30, 5, 215, 92, 147, 30, 5, 161, 149, 147, 30, 5, 161,
- 223, 82, 147, 30, 5, 74, 147, 30, 5, 254, 108, 147, 30, 5, 75, 147, 30,
- 5, 253, 108, 147, 5, 214, 133, 147, 254, 109, 233, 47, 77, 147, 253, 109,
- 233, 47, 77, 147, 1, 223, 81, 147, 1, 223, 192, 147, 1, 212, 160, 147, 1,
- 161, 223, 82, 147, 1, 161, 232, 214, 147, 30, 5, 161, 150, 147, 30, 5,
- 161, 232, 214, 147, 21, 212, 79, 147, 21, 116, 147, 21, 109, 147, 21,
- 166, 147, 21, 163, 147, 21, 180, 147, 21, 189, 147, 21, 198, 147, 21,
- 195, 147, 21, 200, 147, 235, 159, 147, 1, 214, 49, 147, 243, 228, 122,
- 224, 166, 147, 243, 228, 122, 242, 9, 147, 243, 228, 133, 224, 164, 147,
- 243, 228, 122, 220, 45, 147, 243, 228, 122, 245, 145, 147, 243, 228, 133,
- 220, 44, 178, 5, 253, 242, 178, 5, 214, 128, 178, 1, 61, 178, 1, 254,
- 232, 178, 1, 72, 178, 1, 236, 28, 178, 1, 69, 178, 1, 215, 92, 178, 1,
- 74, 178, 1, 245, 165, 178, 1, 254, 108, 178, 1, 75, 178, 1, 227, 49, 178,
- 1, 253, 108, 178, 1, 181, 178, 1, 229, 159, 178, 1, 250, 219, 178, 1,
- 235, 139, 178, 1, 228, 23, 178, 1, 216, 115, 178, 1, 228, 198, 178, 1,
- 218, 52, 178, 1, 205, 178, 1, 228, 189, 178, 1, 193, 178, 1, 188, 178, 1,
- 186, 178, 1, 203, 178, 1, 223, 81, 178, 1, 233, 157, 178, 1, 232, 213,
- 178, 1, 232, 212, 178, 1, 215, 1, 178, 1, 221, 24, 178, 1, 219, 157, 178,
- 1, 222, 202, 178, 1, 159, 178, 30, 5, 254, 232, 178, 30, 5, 72, 178, 30,
- 5, 236, 28, 178, 30, 5, 69, 178, 30, 5, 215, 92, 178, 30, 5, 74, 178, 30,
- 5, 245, 165, 178, 30, 5, 254, 108, 178, 30, 5, 75, 178, 30, 5, 227, 49,
- 178, 30, 5, 253, 108, 178, 5, 214, 133, 178, 227, 70, 178, 253, 109, 233,
- 47, 77, 178, 21, 212, 79, 178, 21, 116, 178, 21, 109, 178, 21, 166, 178,
- 21, 163, 178, 21, 180, 178, 21, 189, 178, 21, 198, 178, 21, 195, 178, 21,
- 200, 178, 50, 217, 200, 178, 50, 122, 240, 200, 178, 50, 122, 217, 100,
- 178, 248, 92, 52, 178, 230, 205, 52, 178, 213, 36, 52, 178, 248, 38, 52,
- 178, 249, 79, 52, 178, 253, 153, 78, 52, 178, 223, 29, 52, 178, 50, 52,
- 139, 5, 250, 187, 139, 5, 253, 242, 139, 5, 214, 128, 139, 1, 61, 139, 1,
- 254, 232, 139, 1, 72, 139, 1, 236, 28, 139, 1, 69, 139, 1, 215, 92, 139,
- 1, 161, 149, 139, 1, 161, 150, 139, 1, 74, 139, 1, 245, 165, 139, 1, 254,
- 108, 139, 1, 75, 139, 1, 227, 49, 139, 1, 253, 108, 139, 1, 181, 139, 1,
- 234, 138, 139, 1, 243, 110, 139, 1, 242, 225, 139, 1, 229, 159, 139, 1,
- 250, 219, 139, 1, 250, 92, 139, 1, 235, 139, 139, 1, 235, 115, 139, 1,
- 228, 23, 139, 1, 216, 115, 139, 1, 216, 105, 139, 1, 248, 86, 139, 1,
- 248, 70, 139, 1, 228, 198, 139, 1, 218, 52, 139, 1, 217, 161, 139, 1,
- 248, 164, 139, 1, 247, 232, 139, 1, 205, 139, 1, 193, 139, 1, 226, 23,
- 139, 1, 252, 107, 139, 1, 251, 195, 139, 1, 188, 139, 1, 186, 139, 1,
- 203, 139, 1, 223, 81, 139, 1, 233, 157, 139, 1, 232, 213, 139, 1, 215, 1,
- 139, 1, 221, 24, 139, 1, 219, 157, 139, 1, 222, 202, 139, 1, 159, 139, 5,
- 253, 91, 139, 30, 5, 254, 232, 139, 30, 5, 72, 139, 30, 5, 236, 28, 139,
- 30, 5, 69, 139, 30, 5, 215, 92, 139, 30, 5, 161, 149, 139, 30, 5, 161,
- 223, 82, 139, 30, 5, 74, 139, 30, 5, 245, 165, 139, 30, 5, 254, 108, 139,
- 30, 5, 75, 139, 30, 5, 227, 49, 139, 30, 5, 253, 108, 139, 5, 214, 133,
- 139, 233, 47, 77, 139, 254, 109, 233, 47, 77, 139, 1, 216, 141, 139, 1,
- 245, 249, 139, 1, 161, 223, 82, 139, 1, 161, 232, 214, 139, 30, 5, 161,
- 150, 139, 30, 5, 161, 232, 214, 139, 21, 212, 79, 139, 21, 116, 139, 21,
- 109, 139, 21, 166, 139, 21, 163, 139, 21, 180, 139, 21, 189, 139, 21,
- 198, 139, 21, 195, 139, 21, 200, 139, 243, 228, 21, 212, 80, 31, 227,
- 102, 225, 103, 65, 163, 139, 243, 228, 21, 122, 31, 227, 102, 225, 103,
- 65, 163, 139, 243, 228, 21, 117, 31, 227, 102, 225, 103, 65, 163, 139,
- 243, 228, 21, 133, 31, 227, 102, 225, 103, 65, 163, 139, 243, 228, 21,
- 122, 31, 245, 9, 225, 103, 65, 163, 139, 243, 228, 21, 117, 31, 245, 9,
- 225, 103, 65, 163, 139, 243, 228, 21, 133, 31, 245, 9, 225, 103, 65, 163,
- 139, 5, 216, 49, 155, 5, 253, 242, 155, 5, 214, 128, 155, 1, 61, 155, 1,
- 254, 232, 155, 1, 72, 155, 1, 236, 28, 155, 1, 69, 155, 1, 215, 92, 155,
- 1, 161, 149, 155, 1, 161, 150, 155, 1, 74, 155, 1, 245, 165, 155, 1, 254,
- 108, 155, 1, 75, 155, 1, 227, 49, 155, 1, 253, 108, 155, 1, 181, 155, 1,
- 234, 138, 155, 1, 243, 110, 155, 1, 242, 225, 155, 1, 229, 159, 155, 1,
- 250, 219, 155, 1, 250, 92, 155, 1, 235, 139, 155, 1, 235, 115, 155, 1,
- 228, 23, 155, 1, 216, 115, 155, 1, 216, 105, 155, 1, 248, 86, 155, 1,
- 248, 70, 155, 1, 228, 198, 155, 1, 218, 52, 155, 1, 217, 161, 155, 1,
- 248, 164, 155, 1, 247, 232, 155, 1, 205, 155, 1, 193, 155, 1, 226, 23,
- 155, 1, 252, 107, 155, 1, 251, 195, 155, 1, 188, 155, 1, 186, 155, 1,
- 203, 155, 1, 223, 81, 155, 1, 233, 157, 155, 1, 232, 213, 155, 1, 215, 1,
- 155, 1, 221, 24, 155, 1, 219, 157, 155, 1, 222, 202, 155, 1, 159, 155, 5,
- 228, 60, 155, 5, 253, 91, 155, 30, 5, 254, 232, 155, 30, 5, 72, 155, 30,
- 5, 236, 28, 155, 30, 5, 69, 155, 30, 5, 215, 92, 155, 30, 5, 161, 149,
- 155, 30, 5, 161, 223, 82, 155, 30, 5, 74, 155, 30, 5, 245, 165, 155, 30,
- 5, 254, 108, 155, 30, 5, 75, 155, 30, 5, 227, 49, 155, 30, 5, 253, 108,
- 155, 5, 214, 133, 155, 233, 47, 77, 155, 254, 109, 233, 47, 77, 155, 1,
- 244, 164, 155, 1, 161, 223, 82, 155, 1, 161, 232, 214, 155, 30, 5, 161,
- 150, 155, 30, 5, 161, 232, 214, 155, 21, 212, 79, 155, 21, 116, 155, 21,
- 109, 155, 21, 166, 155, 21, 163, 155, 21, 180, 155, 21, 189, 155, 21,
- 198, 155, 21, 195, 155, 21, 200, 155, 5, 235, 104, 155, 5, 215, 132, 130,
- 5, 253, 242, 130, 5, 214, 128, 130, 1, 61, 130, 1, 254, 232, 130, 1, 72,
- 130, 1, 236, 28, 130, 1, 69, 130, 1, 215, 92, 130, 1, 161, 149, 130, 1,
- 161, 150, 130, 1, 74, 130, 1, 245, 165, 130, 1, 254, 108, 130, 1, 75,
- 130, 1, 227, 49, 130, 1, 253, 108, 130, 1, 181, 130, 1, 234, 138, 130, 1,
- 243, 110, 130, 1, 242, 225, 130, 1, 229, 159, 130, 1, 250, 219, 130, 1,
- 250, 92, 130, 1, 235, 139, 130, 1, 235, 115, 130, 1, 228, 23, 130, 1,
- 216, 115, 130, 1, 216, 105, 130, 1, 248, 86, 130, 1, 248, 70, 130, 1,
- 228, 198, 130, 1, 218, 52, 130, 1, 217, 161, 130, 1, 248, 164, 130, 1,
- 247, 232, 130, 1, 205, 130, 1, 228, 189, 130, 1, 193, 130, 1, 226, 23,
- 130, 1, 252, 107, 130, 1, 251, 195, 130, 1, 188, 130, 1, 186, 130, 1,
- 203, 130, 1, 223, 81, 130, 1, 233, 157, 130, 1, 232, 213, 130, 1, 232,
- 212, 130, 1, 215, 1, 130, 1, 221, 24, 130, 1, 219, 157, 130, 1, 222, 202,
- 130, 1, 159, 130, 1, 216, 88, 130, 5, 253, 91, 130, 30, 5, 254, 232, 130,
- 30, 5, 72, 130, 30, 5, 236, 28, 130, 30, 5, 69, 130, 30, 5, 215, 92, 130,
- 30, 5, 161, 149, 130, 30, 5, 161, 223, 82, 130, 30, 5, 74, 130, 30, 5,
- 245, 165, 130, 30, 5, 254, 108, 130, 30, 5, 75, 130, 30, 5, 227, 49, 130,
- 30, 5, 253, 108, 130, 5, 214, 133, 130, 1, 62, 223, 225, 130, 253, 109,
- 233, 47, 77, 130, 1, 161, 223, 82, 130, 1, 161, 232, 214, 130, 30, 5,
- 161, 150, 130, 30, 5, 161, 232, 214, 130, 21, 212, 79, 130, 21, 116, 130,
- 21, 109, 130, 21, 166, 130, 21, 163, 130, 21, 180, 130, 21, 189, 130, 21,
- 198, 130, 21, 195, 130, 21, 200, 130, 50, 217, 200, 130, 50, 122, 240,
- 200, 130, 50, 122, 217, 100, 130, 243, 228, 122, 224, 166, 130, 243, 228,
- 122, 242, 9, 130, 243, 228, 133, 224, 164, 130, 248, 96, 77, 130, 1, 250,
- 36, 228, 199, 130, 1, 250, 36, 204, 130, 1, 250, 36, 223, 82, 130, 1,
- 250, 36, 150, 130, 1, 250, 36, 232, 214, 130, 1, 250, 36, 235, 27, 172,
- 5, 253, 241, 172, 5, 214, 127, 172, 1, 253, 81, 172, 1, 254, 187, 172, 1,
- 254, 128, 172, 1, 254, 143, 172, 1, 235, 149, 172, 1, 236, 27, 172, 1,
- 215, 84, 172, 1, 215, 86, 172, 1, 235, 171, 172, 1, 235, 172, 172, 1,
- 236, 13, 172, 1, 236, 15, 172, 1, 244, 241, 172, 1, 245, 161, 172, 1,
- 254, 96, 172, 1, 226, 232, 172, 1, 227, 43, 172, 1, 253, 94, 172, 1, 254,
- 55, 234, 193, 172, 1, 232, 14, 234, 193, 172, 1, 254, 55, 243, 58, 172,
- 1, 232, 14, 243, 58, 172, 1, 234, 234, 230, 40, 172, 1, 222, 152, 243,
- 58, 172, 1, 254, 55, 250, 149, 172, 1, 232, 14, 250, 149, 172, 1, 254,
- 55, 235, 128, 172, 1, 232, 14, 235, 128, 172, 1, 218, 46, 230, 40, 172,
- 1, 218, 46, 222, 151, 230, 41, 172, 1, 222, 152, 235, 128, 172, 1, 254,
- 55, 216, 113, 172, 1, 232, 14, 216, 113, 172, 1, 254, 55, 248, 77, 172,
- 1, 232, 14, 248, 77, 172, 1, 230, 124, 230, 2, 172, 1, 222, 152, 248, 77,
- 172, 1, 254, 55, 217, 237, 172, 1, 232, 14, 217, 237, 172, 1, 254, 55,
- 248, 90, 172, 1, 232, 14, 248, 90, 172, 1, 248, 119, 230, 2, 172, 1, 222,
- 152, 248, 90, 172, 1, 254, 55, 226, 102, 172, 1, 232, 14, 226, 102, 172,
- 1, 254, 55, 252, 32, 172, 1, 232, 14, 252, 32, 172, 1, 231, 195, 172, 1,
- 254, 40, 252, 32, 172, 1, 213, 42, 172, 1, 224, 26, 172, 1, 248, 119,
- 233, 91, 172, 1, 214, 234, 172, 1, 218, 46, 222, 128, 172, 1, 230, 124,
- 222, 128, 172, 1, 248, 119, 222, 128, 172, 1, 241, 226, 172, 1, 230, 124,
- 233, 91, 172, 1, 244, 125, 172, 5, 254, 85, 172, 30, 5, 254, 138, 172,
- 30, 5, 234, 161, 254, 145, 172, 30, 5, 247, 180, 254, 145, 172, 30, 5,
- 234, 161, 235, 168, 172, 30, 5, 247, 180, 235, 168, 172, 30, 5, 234, 161,
- 226, 212, 172, 30, 5, 247, 180, 226, 212, 172, 30, 5, 243, 99, 172, 30,
- 5, 234, 24, 172, 30, 5, 247, 180, 234, 24, 172, 30, 5, 234, 26, 248, 18,
- 172, 30, 5, 234, 25, 242, 28, 254, 138, 172, 30, 5, 234, 25, 242, 28,
- 247, 180, 254, 138, 172, 30, 5, 234, 25, 242, 28, 243, 57, 172, 30, 5,
- 243, 57, 172, 30, 5, 247, 180, 243, 99, 172, 30, 5, 247, 180, 243, 57,
- 172, 225, 27, 233, 228, 154, 137, 234, 38, 234, 250, 154, 137, 234, 114,
- 234, 134, 154, 137, 234, 114, 234, 107, 154, 137, 234, 114, 234, 104,
- 154, 137, 234, 114, 234, 111, 154, 137, 234, 114, 224, 46, 154, 137, 229,
- 91, 229, 78, 154, 137, 250, 24, 250, 83, 154, 137, 250, 24, 250, 32, 154,
- 137, 250, 24, 250, 82, 154, 137, 219, 243, 219, 242, 154, 137, 250, 24,
- 250, 20, 154, 137, 212, 236, 212, 243, 154, 137, 247, 100, 250, 89, 154,
- 137, 211, 211, 226, 111, 154, 137, 217, 110, 217, 153, 154, 137, 217,
- 110, 230, 21, 154, 137, 217, 110, 225, 243, 154, 137, 228, 186, 229, 180,
- 154, 137, 247, 100, 248, 19, 154, 137, 211, 211, 218, 6, 154, 137, 217,
- 110, 217, 85, 154, 137, 217, 110, 217, 157, 154, 137, 217, 110, 217, 107,
- 154, 137, 228, 186, 228, 92, 154, 137, 251, 129, 252, 83, 154, 137, 225,
- 151, 225, 174, 154, 137, 225, 254, 225, 245, 154, 137, 244, 13, 244, 164,
- 154, 137, 225, 254, 226, 17, 154, 137, 244, 13, 244, 141, 154, 137, 225,
- 254, 222, 162, 154, 137, 230, 232, 188, 154, 137, 212, 236, 213, 68, 154,
- 137, 223, 113, 223, 50, 154, 137, 223, 51, 154, 137, 232, 209, 232, 235,
- 154, 137, 232, 156, 154, 137, 213, 215, 214, 45, 154, 137, 219, 243, 222,
- 177, 154, 137, 219, 243, 223, 25, 154, 137, 219, 243, 219, 26, 154, 137,
- 241, 55, 241, 145, 154, 137, 232, 209, 250, 5, 154, 137, 157, 254, 24,
- 154, 137, 241, 55, 228, 181, 154, 137, 226, 195, 154, 137, 222, 146, 61,
- 154, 137, 232, 9, 242, 0, 154, 137, 222, 146, 254, 232, 154, 137, 222,
- 146, 254, 45, 154, 137, 222, 146, 72, 154, 137, 222, 146, 236, 28, 154,
- 137, 222, 146, 215, 183, 154, 137, 222, 146, 215, 181, 154, 137, 222,
- 146, 69, 154, 137, 222, 146, 215, 92, 154, 137, 226, 0, 154, 249, 39, 16,
- 252, 84, 154, 137, 222, 146, 74, 154, 137, 222, 146, 254, 148, 154, 137,
- 222, 146, 75, 154, 137, 222, 146, 254, 109, 232, 4, 154, 137, 222, 146,
- 254, 109, 232, 5, 154, 137, 233, 130, 154, 137, 232, 1, 154, 137, 232, 2,
- 154, 137, 232, 9, 245, 137, 154, 137, 232, 9, 217, 109, 154, 137, 232, 9,
- 216, 186, 154, 137, 232, 9, 250, 71, 154, 137, 217, 151, 154, 137, 229,
- 36, 154, 137, 213, 62, 154, 137, 244, 4, 154, 21, 212, 79, 154, 21, 116,
- 154, 21, 109, 154, 21, 166, 154, 21, 163, 154, 21, 180, 154, 21, 189,
- 154, 21, 198, 154, 21, 195, 154, 21, 200, 154, 137, 254, 20, 154, 137,
- 234, 112, 233, 112, 1, 234, 37, 233, 112, 1, 234, 114, 218, 235, 233,
- 112, 1, 234, 114, 218, 13, 233, 112, 1, 229, 90, 233, 112, 1, 249, 175,
- 233, 112, 1, 219, 243, 218, 13, 233, 112, 1, 227, 253, 233, 112, 1, 247,
- 99, 233, 112, 1, 108, 233, 112, 1, 217, 110, 218, 235, 233, 112, 1, 217,
- 110, 218, 13, 233, 112, 1, 228, 185, 233, 112, 1, 251, 128, 233, 112, 1,
- 225, 150, 233, 112, 1, 225, 254, 218, 235, 233, 112, 1, 244, 13, 218, 13,
- 233, 112, 1, 225, 254, 218, 13, 233, 112, 1, 244, 13, 218, 235, 233, 112,
- 1, 230, 231, 233, 112, 1, 212, 235, 233, 112, 1, 232, 209, 232, 235, 233,
- 112, 1, 232, 209, 232, 176, 233, 112, 1, 213, 214, 233, 112, 1, 219, 243,
- 218, 235, 233, 112, 1, 241, 55, 218, 235, 233, 112, 1, 75, 233, 112, 1,
- 241, 55, 218, 13, 233, 112, 245, 120, 233, 112, 30, 5, 61, 233, 112, 30,
- 5, 232, 9, 234, 239, 233, 112, 30, 5, 254, 232, 233, 112, 30, 5, 254, 45,
- 233, 112, 30, 5, 72, 233, 112, 30, 5, 236, 28, 233, 112, 30, 5, 213, 105,
- 233, 112, 30, 5, 212, 161, 233, 112, 30, 5, 69, 233, 112, 30, 5, 215, 92,
- 233, 112, 30, 5, 232, 9, 234, 22, 233, 112, 221, 65, 5, 232, 208, 233,
- 112, 221, 65, 5, 227, 253, 233, 112, 30, 5, 74, 233, 112, 30, 5, 245,
- 152, 233, 112, 30, 5, 75, 233, 112, 30, 5, 253, 83, 233, 112, 30, 5, 254,
- 108, 233, 112, 234, 38, 233, 157, 233, 112, 160, 232, 9, 245, 137, 233,
- 112, 160, 232, 9, 217, 109, 233, 112, 160, 232, 9, 217, 71, 233, 112,
- 160, 232, 9, 250, 155, 233, 112, 250, 192, 77, 233, 112, 229, 45, 233,
- 112, 21, 212, 79, 233, 112, 21, 116, 233, 112, 21, 109, 233, 112, 21,
- 166, 233, 112, 21, 163, 233, 112, 21, 180, 233, 112, 21, 189, 233, 112,
- 21, 198, 233, 112, 21, 195, 233, 112, 21, 200, 233, 112, 241, 55, 228,
- 185, 233, 112, 241, 55, 230, 231, 60, 4, 227, 70, 60, 152, 242, 94, 212,
- 247, 231, 59, 216, 147, 61, 60, 152, 242, 94, 212, 247, 231, 59, 255, 62,
- 223, 117, 251, 253, 188, 60, 152, 242, 94, 212, 247, 231, 59, 255, 62,
- 242, 94, 216, 131, 188, 60, 152, 70, 212, 247, 231, 59, 231, 158, 188,
- 60, 152, 249, 189, 212, 247, 231, 59, 221, 30, 188, 60, 152, 250, 171,
- 212, 247, 231, 59, 225, 244, 221, 18, 188, 60, 152, 212, 247, 231, 59,
- 216, 131, 221, 18, 188, 60, 152, 222, 126, 221, 17, 60, 152, 251, 57,
- 212, 247, 231, 58, 60, 152, 251, 146, 220, 183, 212, 247, 231, 58, 60,
- 152, 235, 194, 216, 130, 60, 152, 248, 12, 216, 131, 251, 56, 60, 152,
- 221, 17, 60, 152, 228, 2, 221, 17, 60, 152, 216, 131, 221, 17, 60, 152,
- 228, 2, 216, 131, 221, 17, 60, 152, 223, 133, 250, 59, 219, 168, 221, 17,
- 60, 152, 223, 195, 242, 122, 221, 17, 60, 152, 250, 171, 255, 66, 223,
- 55, 231, 157, 184, 250, 195, 60, 152, 242, 94, 216, 130, 60, 232, 197, 5,
- 250, 90, 223, 54, 60, 232, 197, 5, 233, 23, 223, 54, 60, 253, 128, 5,
- 221, 27, 243, 41, 255, 67, 223, 54, 60, 253, 128, 5, 255, 64, 193, 60,
- 253, 128, 5, 222, 101, 216, 126, 60, 5, 224, 23, 247, 111, 243, 40, 60,
- 5, 224, 23, 247, 111, 242, 152, 60, 5, 224, 23, 247, 111, 242, 95, 60, 5,
- 224, 23, 230, 37, 243, 40, 60, 5, 224, 23, 230, 37, 242, 152, 60, 5, 224,
- 23, 247, 111, 224, 23, 230, 36, 60, 21, 212, 79, 60, 21, 116, 60, 21,
- 109, 60, 21, 166, 60, 21, 163, 60, 21, 180, 60, 21, 189, 60, 21, 198, 60,
- 21, 195, 60, 21, 200, 60, 21, 151, 116, 60, 21, 151, 109, 60, 21, 151,
- 166, 60, 21, 151, 163, 60, 21, 151, 180, 60, 21, 151, 189, 60, 21, 151,
- 198, 60, 21, 151, 195, 60, 21, 151, 200, 60, 21, 151, 212, 79, 60, 152,
- 251, 59, 223, 54, 60, 152, 229, 151, 250, 254, 228, 11, 212, 18, 60, 152,
- 250, 171, 255, 66, 223, 55, 250, 255, 231, 15, 250, 195, 60, 152, 229,
- 151, 250, 254, 221, 28, 223, 54, 60, 152, 250, 68, 231, 58, 60, 152, 216,
- 142, 255, 63, 60, 152, 242, 81, 223, 55, 242, 44, 60, 152, 242, 81, 223,
- 55, 242, 50, 60, 152, 254, 25, 234, 129, 242, 44, 60, 152, 254, 25, 234,
- 129, 242, 50, 60, 5, 213, 55, 216, 129, 60, 5, 231, 230, 216, 129, 60, 1,
- 181, 60, 1, 234, 138, 60, 1, 243, 110, 60, 1, 242, 225, 60, 1, 229, 159,
- 60, 1, 250, 219, 60, 1, 250, 92, 60, 1, 235, 139, 60, 1, 228, 23, 60, 1,
- 216, 115, 60, 1, 216, 105, 60, 1, 248, 86, 60, 1, 248, 70, 60, 1, 228,
- 198, 60, 1, 218, 52, 60, 1, 217, 161, 60, 1, 248, 164, 60, 1, 247, 232,
- 60, 1, 205, 60, 1, 193, 60, 1, 226, 23, 60, 1, 252, 107, 60, 1, 251, 195,
- 60, 1, 188, 60, 1, 216, 141, 60, 1, 216, 133, 60, 1, 245, 249, 60, 1,
- 245, 244, 60, 1, 214, 49, 60, 1, 212, 75, 60, 1, 212, 109, 60, 1, 255,
- 69, 60, 1, 186, 60, 1, 203, 60, 1, 233, 157, 60, 1, 221, 24, 60, 1, 219,
- 157, 60, 1, 222, 202, 60, 1, 159, 60, 1, 61, 60, 1, 233, 241, 60, 1, 244,
- 46, 203, 60, 1, 234, 55, 60, 1, 223, 81, 60, 30, 5, 254, 232, 60, 30, 5,
- 72, 60, 30, 5, 236, 28, 60, 30, 5, 69, 60, 30, 5, 215, 92, 60, 30, 5,
- 161, 149, 60, 30, 5, 161, 223, 82, 60, 30, 5, 161, 150, 60, 30, 5, 161,
- 232, 214, 60, 30, 5, 74, 60, 30, 5, 245, 165, 60, 30, 5, 75, 60, 30, 5,
- 227, 49, 60, 5, 223, 118, 219, 28, 229, 160, 223, 112, 60, 5, 223, 117,
- 251, 252, 60, 30, 5, 223, 202, 72, 60, 30, 5, 223, 202, 236, 28, 60, 5,
- 228, 11, 212, 19, 230, 44, 248, 164, 60, 5, 219, 255, 233, 84, 60, 152,
- 242, 11, 60, 152, 226, 184, 60, 5, 233, 87, 223, 54, 60, 5, 213, 59, 223,
- 54, 60, 5, 233, 88, 216, 142, 250, 195, 60, 5, 231, 159, 250, 195, 60, 5,
- 242, 97, 250, 196, 223, 193, 60, 5, 242, 97, 231, 150, 223, 193, 60, 5,
- 235, 191, 231, 159, 250, 195, 60, 219, 18, 5, 233, 88, 216, 142, 250,
- 195, 60, 219, 18, 5, 231, 159, 250, 195, 60, 219, 18, 5, 235, 191, 231,
- 159, 250, 195, 60, 219, 18, 1, 181, 60, 219, 18, 1, 234, 138, 60, 219,
- 18, 1, 243, 110, 60, 219, 18, 1, 242, 225, 60, 219, 18, 1, 229, 159, 60,
- 219, 18, 1, 250, 219, 60, 219, 18, 1, 250, 92, 60, 219, 18, 1, 235, 139,
- 60, 219, 18, 1, 228, 23, 60, 219, 18, 1, 216, 115, 60, 219, 18, 1, 216,
- 105, 60, 219, 18, 1, 248, 86, 60, 219, 18, 1, 248, 70, 60, 219, 18, 1,
- 228, 198, 60, 219, 18, 1, 218, 52, 60, 219, 18, 1, 217, 161, 60, 219, 18,
- 1, 248, 164, 60, 219, 18, 1, 247, 232, 60, 219, 18, 1, 205, 60, 219, 18,
- 1, 193, 60, 219, 18, 1, 226, 23, 60, 219, 18, 1, 252, 107, 60, 219, 18,
- 1, 251, 195, 60, 219, 18, 1, 188, 60, 219, 18, 1, 216, 141, 60, 219, 18,
- 1, 216, 133, 60, 219, 18, 1, 245, 249, 60, 219, 18, 1, 245, 244, 60, 219,
- 18, 1, 214, 49, 60, 219, 18, 1, 212, 75, 60, 219, 18, 1, 212, 109, 60,
- 219, 18, 1, 255, 69, 60, 219, 18, 1, 186, 60, 219, 18, 1, 203, 60, 219,
- 18, 1, 233, 157, 60, 219, 18, 1, 221, 24, 60, 219, 18, 1, 219, 157, 60,
- 219, 18, 1, 222, 202, 60, 219, 18, 1, 159, 60, 219, 18, 1, 61, 60, 219,
- 18, 1, 233, 241, 60, 219, 18, 1, 244, 46, 214, 49, 60, 219, 18, 1, 244,
- 46, 186, 60, 219, 18, 1, 244, 46, 203, 60, 233, 239, 223, 52, 234, 138,
- 60, 233, 239, 223, 52, 234, 139, 250, 255, 231, 15, 250, 195, 60, 250,
- 184, 5, 107, 251, 246, 60, 250, 184, 5, 177, 251, 246, 60, 250, 184, 5,
- 250, 185, 217, 228, 60, 250, 184, 5, 222, 125, 255, 68, 60, 16, 246, 46,
- 251, 54, 60, 16, 224, 22, 223, 119, 60, 16, 226, 202, 243, 39, 60, 16,
- 224, 22, 223, 120, 223, 195, 242, 121, 60, 16, 225, 244, 193, 60, 16,
- 228, 170, 251, 54, 60, 16, 228, 170, 251, 55, 228, 2, 255, 65, 60, 16,
- 228, 170, 251, 55, 242, 96, 255, 65, 60, 16, 228, 170, 251, 55, 250, 255,
- 255, 65, 60, 5, 224, 23, 230, 37, 224, 23, 247, 110, 60, 5, 224, 23, 230,
- 37, 242, 95, 60, 152, 251, 58, 220, 183, 242, 191, 231, 59, 223, 194, 60,
- 152, 230, 233, 212, 247, 242, 191, 231, 59, 223, 194, 60, 152, 228, 2,
- 216, 130, 60, 152, 70, 251, 79, 223, 114, 212, 247, 231, 59, 231, 158,
- 188, 60, 152, 249, 189, 251, 79, 223, 114, 212, 247, 231, 59, 221, 30,
- 188, 223, 147, 218, 200, 52, 233, 69, 218, 200, 52, 223, 147, 218, 200,
- 5, 2, 247, 72, 233, 69, 218, 200, 5, 2, 247, 72, 60, 152, 233, 79, 231,
- 160, 223, 54, 60, 152, 216, 207, 231, 160, 223, 54, 64, 1, 181, 64, 1,
- 234, 138, 64, 1, 243, 110, 64, 1, 242, 225, 64, 1, 229, 159, 64, 1, 250,
- 219, 64, 1, 250, 92, 64, 1, 235, 139, 64, 1, 235, 115, 64, 1, 228, 23,
- 64, 1, 228, 187, 64, 1, 216, 115, 64, 1, 216, 105, 64, 1, 248, 86, 64, 1,
- 248, 70, 64, 1, 228, 198, 64, 1, 218, 52, 64, 1, 217, 161, 64, 1, 248,
- 164, 64, 1, 247, 232, 64, 1, 205, 64, 1, 193, 64, 1, 226, 23, 64, 1, 252,
- 107, 64, 1, 251, 195, 64, 1, 188, 64, 1, 186, 64, 1, 203, 64, 1, 233,
- 157, 64, 1, 214, 49, 64, 1, 222, 202, 64, 1, 159, 64, 1, 232, 213, 64, 1,
- 61, 64, 1, 221, 9, 61, 64, 1, 72, 64, 1, 236, 28, 64, 1, 69, 64, 1, 215,
- 92, 64, 1, 74, 64, 1, 230, 221, 74, 64, 1, 75, 64, 1, 253, 108, 64, 30,
- 5, 218, 15, 254, 232, 64, 30, 5, 254, 232, 64, 30, 5, 72, 64, 30, 5, 236,
- 28, 64, 30, 5, 69, 64, 30, 5, 215, 92, 64, 30, 5, 74, 64, 30, 5, 254,
- 108, 64, 30, 5, 230, 221, 236, 28, 64, 30, 5, 230, 221, 75, 64, 30, 5,
- 191, 49, 64, 5, 253, 242, 64, 5, 62, 55, 64, 5, 214, 128, 64, 5, 214,
- 133, 64, 5, 253, 150, 64, 249, 133, 5, 138, 186, 64, 249, 133, 5, 138,
- 203, 64, 249, 133, 5, 138, 214, 49, 64, 249, 133, 5, 138, 159, 64, 1,
- 242, 109, 222, 202, 64, 21, 212, 79, 64, 21, 116, 64, 21, 109, 64, 21,
- 166, 64, 21, 163, 64, 21, 180, 64, 21, 189, 64, 21, 198, 64, 21, 195, 64,
- 21, 200, 64, 5, 232, 221, 222, 91, 64, 5, 222, 91, 64, 16, 232, 205, 64,
- 16, 249, 152, 64, 16, 254, 125, 64, 16, 243, 24, 64, 1, 221, 24, 64, 1,
- 219, 157, 64, 1, 161, 149, 64, 1, 161, 223, 82, 64, 1, 161, 150, 64, 1,
- 161, 232, 214, 64, 30, 5, 161, 149, 64, 30, 5, 161, 223, 82, 64, 30, 5,
- 161, 150, 64, 30, 5, 161, 232, 214, 64, 1, 230, 221, 229, 159, 64, 1,
- 230, 221, 235, 115, 64, 1, 230, 221, 252, 31, 64, 1, 230, 221, 252, 26,
- 64, 249, 133, 5, 230, 221, 138, 205, 64, 249, 133, 5, 230, 221, 138, 188,
- 64, 249, 133, 5, 230, 221, 138, 233, 157, 64, 1, 221, 29, 234, 218, 221,
- 24, 64, 30, 5, 221, 29, 234, 218, 245, 22, 64, 160, 152, 221, 29, 234,
- 218, 241, 230, 64, 160, 152, 221, 29, 234, 218, 234, 189, 225, 253, 64,
- 1, 213, 248, 224, 252, 234, 218, 217, 161, 64, 1, 213, 248, 224, 252,
- 234, 218, 225, 2, 64, 30, 5, 213, 248, 224, 252, 234, 218, 245, 22, 64,
- 30, 5, 213, 248, 224, 252, 234, 218, 215, 183, 64, 5, 213, 248, 224, 252,
- 234, 218, 216, 240, 64, 5, 213, 248, 224, 252, 234, 218, 216, 239, 64, 5,
- 213, 248, 224, 252, 234, 218, 216, 238, 64, 5, 213, 248, 224, 252, 234,
- 218, 216, 237, 64, 5, 213, 248, 224, 252, 234, 218, 216, 236, 64, 1, 245,
- 175, 224, 252, 234, 218, 228, 198, 64, 1, 245, 175, 224, 252, 234, 218,
- 212, 168, 64, 1, 245, 175, 224, 252, 234, 218, 242, 193, 64, 30, 5, 243,
- 35, 234, 218, 72, 64, 30, 5, 234, 194, 227, 99, 64, 30, 5, 234, 194, 69,
- 64, 30, 5, 234, 194, 245, 165, 64, 1, 221, 9, 181, 64, 1, 221, 9, 234,
- 138, 64, 1, 221, 9, 243, 110, 64, 1, 221, 9, 250, 219, 64, 1, 221, 9,
- 212, 109, 64, 1, 221, 9, 228, 23, 64, 1, 221, 9, 248, 164, 64, 1, 221, 9,
- 205, 64, 1, 221, 9, 226, 23, 64, 1, 221, 9, 244, 164, 64, 1, 221, 9, 252,
- 107, 64, 1, 221, 9, 217, 161, 64, 1, 221, 9, 159, 64, 249, 133, 5, 221,
- 9, 138, 214, 49, 64, 30, 5, 221, 9, 254, 232, 64, 30, 5, 221, 9, 74, 64,
- 30, 5, 221, 9, 191, 49, 64, 30, 5, 221, 9, 40, 213, 105, 64, 5, 221, 9,
- 216, 239, 64, 5, 221, 9, 216, 238, 64, 5, 221, 9, 216, 236, 64, 5, 221,
- 9, 216, 235, 64, 5, 221, 9, 249, 91, 216, 239, 64, 5, 221, 9, 249, 91,
- 216, 238, 64, 5, 221, 9, 249, 91, 245, 111, 216, 241, 64, 1, 223, 39,
- 226, 190, 244, 164, 64, 5, 223, 39, 226, 190, 216, 236, 64, 221, 9, 21,
- 212, 79, 64, 221, 9, 21, 116, 64, 221, 9, 21, 109, 64, 221, 9, 21, 166,
- 64, 221, 9, 21, 163, 64, 221, 9, 21, 180, 64, 221, 9, 21, 189, 64, 221,
- 9, 21, 198, 64, 221, 9, 21, 195, 64, 221, 9, 21, 200, 64, 5, 234, 132,
- 216, 240, 64, 5, 234, 132, 216, 238, 64, 30, 5, 254, 98, 61, 64, 30, 5,
- 254, 98, 254, 108, 64, 16, 221, 9, 116, 64, 16, 221, 9, 244, 253, 100, 6,
- 1, 254, 32, 100, 6, 1, 252, 71, 100, 6, 1, 243, 82, 100, 6, 1, 247, 82,
- 100, 6, 1, 245, 108, 100, 6, 1, 214, 141, 100, 6, 1, 212, 82, 100, 6, 1,
- 218, 11, 100, 6, 1, 235, 251, 100, 6, 1, 234, 239, 100, 6, 1, 233, 104,
- 100, 6, 1, 231, 248, 100, 6, 1, 230, 15, 100, 6, 1, 227, 62, 100, 6, 1,
- 226, 145, 100, 6, 1, 212, 71, 100, 6, 1, 224, 61, 100, 6, 1, 222, 159,
- 100, 6, 1, 218, 1, 100, 6, 1, 215, 160, 100, 6, 1, 226, 16, 100, 6, 1,
- 234, 127, 100, 6, 1, 242, 217, 100, 6, 1, 224, 217, 100, 6, 1, 220, 200,
- 100, 6, 1, 250, 34, 100, 6, 1, 250, 195, 100, 6, 1, 235, 103, 100, 6, 1,
- 249, 233, 100, 6, 1, 250, 79, 100, 6, 1, 213, 151, 100, 6, 1, 235, 113,
- 100, 6, 1, 242, 24, 100, 6, 1, 241, 222, 100, 6, 1, 241, 160, 100, 6, 1,
- 214, 6, 100, 6, 1, 241, 243, 100, 6, 1, 241, 51, 100, 1, 254, 32, 100, 1,
- 252, 71, 100, 1, 243, 82, 100, 1, 247, 82, 100, 1, 245, 108, 100, 1, 214,
- 141, 100, 1, 212, 82, 100, 1, 218, 11, 100, 1, 235, 251, 100, 1, 234,
- 239, 100, 1, 233, 104, 100, 1, 231, 248, 100, 1, 230, 15, 100, 1, 227,
- 62, 100, 1, 226, 145, 100, 1, 212, 71, 100, 1, 224, 61, 100, 1, 222, 159,
- 100, 1, 218, 1, 100, 1, 215, 160, 100, 1, 226, 16, 100, 1, 234, 127, 100,
- 1, 242, 217, 100, 1, 224, 217, 100, 1, 220, 200, 100, 1, 250, 34, 100, 1,
- 250, 195, 100, 1, 235, 103, 100, 1, 249, 233, 100, 1, 250, 79, 100, 1,
- 213, 151, 100, 1, 235, 113, 100, 1, 242, 24, 100, 1, 241, 222, 100, 1,
- 241, 160, 100, 1, 214, 6, 100, 1, 241, 243, 100, 1, 241, 51, 100, 1, 244,
- 90, 100, 1, 212, 237, 100, 1, 245, 122, 100, 1, 216, 58, 243, 82, 100, 1,
- 254, 103, 100, 226, 143, 221, 57, 59, 1, 100, 230, 15, 23, 97, 234, 67,
- 23, 97, 219, 150, 23, 97, 229, 57, 23, 97, 217, 55, 23, 97, 219, 139, 23,
- 97, 223, 179, 23, 97, 231, 30, 23, 97, 225, 227, 23, 97, 219, 147, 23,
- 97, 220, 76, 23, 97, 219, 144, 23, 97, 236, 51, 23, 97, 249, 239, 23, 97,
- 219, 154, 23, 97, 250, 43, 23, 97, 234, 116, 23, 97, 217, 126, 23, 97,
- 226, 7, 23, 97, 241, 158, 23, 97, 229, 53, 23, 97, 219, 148, 23, 97, 229,
- 47, 23, 97, 229, 51, 23, 97, 217, 52, 23, 97, 223, 167, 23, 97, 219, 146,
- 23, 97, 223, 177, 23, 97, 234, 223, 23, 97, 231, 23, 23, 97, 234, 226,
- 23, 97, 225, 222, 23, 97, 225, 220, 23, 97, 225, 208, 23, 97, 225, 216,
- 23, 97, 225, 214, 23, 97, 225, 211, 23, 97, 225, 213, 23, 97, 225, 210,
- 23, 97, 225, 215, 23, 97, 225, 225, 23, 97, 225, 226, 23, 97, 225, 209,
- 23, 97, 225, 219, 23, 97, 234, 224, 23, 97, 234, 222, 23, 97, 220, 69,
- 23, 97, 220, 67, 23, 97, 220, 59, 23, 97, 220, 62, 23, 97, 220, 68, 23,
- 97, 220, 64, 23, 97, 220, 63, 23, 97, 220, 61, 23, 97, 220, 72, 23, 97,
- 220, 74, 23, 97, 220, 75, 23, 97, 220, 70, 23, 97, 220, 60, 23, 97, 220,
- 65, 23, 97, 220, 73, 23, 97, 250, 27, 23, 97, 250, 25, 23, 97, 250, 102,
- 23, 97, 250, 100, 23, 97, 226, 160, 23, 97, 236, 46, 23, 97, 236, 37, 23,
- 97, 236, 45, 23, 97, 236, 42, 23, 97, 236, 40, 23, 97, 236, 44, 23, 97,
- 219, 151, 23, 97, 236, 49, 23, 97, 236, 50, 23, 97, 236, 38, 23, 97, 236,
- 43, 23, 97, 213, 17, 23, 97, 249, 238, 23, 97, 250, 28, 23, 97, 250, 26,
- 23, 97, 250, 103, 23, 97, 250, 101, 23, 97, 250, 41, 23, 97, 250, 42, 23,
- 97, 250, 29, 23, 97, 250, 104, 23, 97, 226, 5, 23, 97, 234, 225, 23, 97,
- 219, 152, 23, 97, 213, 23, 23, 97, 234, 58, 23, 97, 229, 49, 23, 97, 229,
- 55, 23, 97, 229, 54, 23, 97, 217, 49, 23, 97, 244, 72, 23, 135, 244, 72,
- 23, 135, 61, 23, 135, 254, 148, 23, 135, 186, 23, 135, 213, 80, 23, 135,
- 245, 76, 23, 135, 74, 23, 135, 213, 27, 23, 135, 213, 38, 23, 135, 75,
- 23, 135, 214, 49, 23, 135, 214, 46, 23, 135, 227, 99, 23, 135, 212, 235,
- 23, 135, 69, 23, 135, 213, 252, 23, 135, 214, 6, 23, 135, 213, 235, 23,
- 135, 212, 203, 23, 135, 245, 22, 23, 135, 212, 255, 23, 135, 72, 23, 135,
- 255, 60, 23, 135, 255, 59, 23, 135, 213, 94, 23, 135, 213, 92, 23, 135,
- 245, 74, 23, 135, 245, 73, 23, 135, 245, 75, 23, 135, 213, 26, 23, 135,
- 213, 25, 23, 135, 227, 204, 23, 135, 227, 205, 23, 135, 227, 198, 23,
- 135, 227, 203, 23, 135, 227, 201, 23, 135, 212, 229, 23, 135, 212, 228,
- 23, 135, 212, 227, 23, 135, 212, 230, 23, 135, 212, 231, 23, 135, 215,
- 252, 23, 135, 215, 251, 23, 135, 215, 250, 23, 135, 215, 247, 23, 135,
- 215, 248, 23, 135, 212, 202, 23, 135, 212, 199, 23, 135, 212, 200, 23,
- 135, 212, 194, 23, 135, 212, 195, 23, 135, 212, 196, 23, 135, 212, 198,
- 23, 135, 245, 16, 23, 135, 245, 18, 23, 135, 212, 254, 23, 135, 240, 145,
- 23, 135, 240, 137, 23, 135, 240, 140, 23, 135, 240, 138, 23, 135, 240,
- 142, 23, 135, 240, 144, 23, 135, 253, 204, 23, 135, 253, 201, 23, 135,
- 253, 199, 23, 135, 253, 200, 23, 135, 219, 155, 23, 135, 255, 61, 23,
- 135, 213, 93, 23, 135, 213, 24, 23, 135, 227, 200, 23, 135, 227, 199, 23,
- 89, 234, 67, 23, 89, 219, 150, 23, 89, 234, 60, 23, 89, 229, 57, 23, 89,
- 229, 55, 23, 89, 229, 54, 23, 89, 217, 55, 23, 89, 223, 179, 23, 89, 223,
- 174, 23, 89, 223, 171, 23, 89, 223, 164, 23, 89, 223, 159, 23, 89, 223,
- 154, 23, 89, 223, 165, 23, 89, 223, 177, 23, 89, 231, 30, 23, 89, 225,
- 227, 23, 89, 225, 216, 23, 89, 220, 76, 23, 89, 219, 144, 23, 89, 236,
- 51, 23, 89, 249, 239, 23, 89, 250, 43, 23, 89, 234, 116, 23, 89, 217,
- 126, 23, 89, 226, 7, 23, 89, 241, 158, 23, 89, 234, 61, 23, 89, 234, 59,
- 23, 89, 229, 53, 23, 89, 229, 47, 23, 89, 229, 49, 23, 89, 229, 52, 23,
- 89, 229, 48, 23, 89, 217, 52, 23, 89, 217, 49, 23, 89, 223, 172, 23, 89,
- 223, 167, 23, 89, 223, 153, 23, 89, 223, 152, 23, 89, 219, 146, 23, 89,
- 223, 169, 23, 89, 223, 168, 23, 89, 223, 161, 23, 89, 223, 163, 23, 89,
- 223, 176, 23, 89, 223, 156, 23, 89, 223, 166, 23, 89, 223, 175, 23, 89,
- 223, 151, 23, 89, 231, 26, 23, 89, 231, 21, 23, 89, 231, 23, 23, 89, 231,
- 20, 23, 89, 231, 18, 23, 89, 231, 24, 23, 89, 231, 29, 23, 89, 231, 27,
- 23, 89, 234, 226, 23, 89, 225, 218, 23, 89, 225, 219, 23, 89, 225, 224,
- 23, 89, 234, 224, 23, 89, 220, 69, 23, 89, 220, 59, 23, 89, 220, 62, 23,
- 89, 220, 64, 23, 89, 226, 160, 23, 89, 236, 46, 23, 89, 236, 39, 23, 89,
- 219, 151, 23, 89, 236, 47, 23, 89, 213, 17, 23, 89, 213, 13, 23, 89, 213,
- 14, 23, 89, 226, 5, 23, 89, 234, 225, 23, 89, 241, 156, 23, 89, 241, 154,
- 23, 89, 241, 157, 23, 89, 241, 155, 23, 89, 213, 23, 23, 89, 234, 63, 23,
- 89, 234, 62, 23, 89, 234, 66, 23, 89, 234, 64, 23, 89, 234, 65, 23, 89,
- 219, 148, 28, 4, 159, 28, 4, 240, 212, 28, 4, 241, 165, 28, 4, 242, 27,
- 28, 4, 241, 204, 28, 4, 241, 222, 28, 4, 241, 54, 28, 4, 241, 53, 28, 4,
- 233, 157, 28, 4, 232, 156, 28, 4, 233, 13, 28, 4, 233, 156, 28, 4, 233,
- 74, 28, 4, 233, 82, 28, 4, 232, 208, 28, 4, 232, 129, 28, 4, 241, 174,
- 28, 4, 241, 168, 28, 4, 241, 170, 28, 4, 241, 173, 28, 4, 241, 171, 28,
- 4, 241, 172, 28, 4, 241, 169, 28, 4, 241, 167, 28, 4, 188, 28, 4, 230,
- 172, 28, 4, 231, 42, 28, 4, 232, 41, 28, 4, 231, 145, 28, 4, 231, 156,
- 28, 4, 230, 231, 28, 4, 230, 114, 28, 4, 218, 110, 28, 4, 218, 104, 28,
- 4, 218, 106, 28, 4, 218, 109, 28, 4, 218, 107, 28, 4, 218, 108, 28, 4,
- 218, 105, 28, 4, 218, 103, 28, 4, 203, 28, 4, 223, 51, 28, 4, 223, 188,
- 28, 4, 224, 74, 28, 4, 224, 1, 28, 4, 224, 21, 28, 4, 223, 112, 28, 4,
- 223, 21, 28, 4, 222, 202, 28, 4, 219, 27, 28, 4, 220, 117, 28, 4, 222,
- 200, 28, 4, 222, 89, 28, 4, 222, 100, 28, 4, 219, 242, 28, 4, 218, 198,
- 28, 4, 221, 24, 28, 4, 220, 150, 28, 4, 220, 212, 28, 4, 221, 20, 28, 4,
- 220, 241, 28, 4, 220, 243, 28, 4, 220, 187, 28, 4, 220, 134, 28, 4, 224,
- 232, 28, 4, 224, 175, 28, 4, 224, 198, 28, 4, 224, 231, 28, 4, 224, 212,
- 28, 4, 224, 213, 28, 4, 224, 187, 28, 4, 224, 186, 28, 4, 224, 131, 28,
- 4, 224, 127, 28, 4, 224, 130, 28, 4, 224, 128, 28, 4, 224, 129, 28, 4,
- 224, 210, 28, 4, 224, 204, 28, 4, 224, 206, 28, 4, 224, 209, 28, 4, 224,
- 207, 28, 4, 224, 208, 28, 4, 224, 205, 28, 4, 224, 203, 28, 4, 224, 199,
- 28, 4, 224, 202, 28, 4, 224, 200, 28, 4, 224, 201, 28, 4, 252, 107, 28,
- 4, 251, 54, 28, 4, 251, 184, 28, 4, 252, 106, 28, 4, 251, 242, 28, 4,
- 251, 251, 28, 4, 251, 128, 28, 4, 251, 12, 28, 4, 215, 1, 28, 4, 214, 99,
- 28, 4, 214, 154, 28, 4, 215, 0, 28, 4, 214, 227, 28, 4, 214, 232, 28, 4,
- 214, 119, 28, 4, 214, 91, 28, 4, 218, 52, 28, 4, 216, 82, 28, 4, 217, 71,
- 28, 4, 218, 49, 28, 4, 217, 219, 28, 4, 217, 229, 28, 4, 108, 28, 4, 216,
- 45, 28, 4, 250, 219, 28, 4, 249, 53, 28, 4, 249, 244, 28, 4, 250, 218,
- 28, 4, 250, 116, 28, 4, 250, 124, 28, 4, 249, 175, 28, 4, 249, 24, 28, 4,
- 213, 153, 28, 4, 213, 129, 28, 4, 213, 145, 28, 4, 213, 152, 28, 4, 213,
- 149, 28, 4, 213, 150, 28, 4, 213, 136, 28, 4, 213, 135, 28, 4, 213, 124,
- 28, 4, 213, 120, 28, 4, 213, 123, 28, 4, 213, 121, 28, 4, 213, 122, 28,
- 4, 205, 28, 4, 228, 92, 28, 4, 229, 64, 28, 4, 230, 43, 28, 4, 229, 184,
- 28, 4, 229, 187, 28, 4, 228, 185, 28, 4, 228, 31, 28, 4, 228, 23, 28, 4,
- 227, 247, 28, 4, 228, 10, 28, 4, 228, 22, 28, 4, 228, 16, 28, 4, 228, 17,
- 28, 4, 227, 253, 28, 4, 227, 239, 28, 4, 242, 156, 61, 28, 4, 242, 156,
- 69, 28, 4, 242, 156, 72, 28, 4, 242, 156, 254, 232, 28, 4, 242, 156, 245,
- 165, 28, 4, 242, 156, 74, 28, 4, 242, 156, 75, 28, 4, 242, 156, 214, 49,
- 28, 4, 181, 28, 4, 233, 238, 28, 4, 234, 101, 28, 4, 235, 14, 28, 4, 234,
- 187, 28, 4, 234, 188, 28, 4, 234, 37, 28, 4, 234, 36, 28, 4, 233, 204,
- 28, 4, 233, 198, 28, 4, 233, 203, 28, 4, 233, 199, 28, 4, 233, 200, 28,
- 4, 233, 193, 28, 4, 233, 187, 28, 4, 233, 189, 28, 4, 233, 192, 28, 4,
- 233, 190, 28, 4, 233, 191, 28, 4, 233, 188, 28, 4, 233, 186, 28, 4, 233,
- 182, 28, 4, 233, 185, 28, 4, 233, 183, 28, 4, 233, 184, 28, 4, 214, 49,
- 28, 4, 213, 183, 28, 4, 213, 235, 28, 4, 214, 48, 28, 4, 214, 1, 28, 4,
- 214, 6, 28, 4, 213, 214, 28, 4, 213, 213, 28, 4, 226, 15, 61, 28, 4, 226,
- 15, 69, 28, 4, 226, 15, 72, 28, 4, 226, 15, 254, 232, 28, 4, 226, 15,
- 245, 165, 28, 4, 226, 15, 74, 28, 4, 226, 15, 75, 28, 4, 212, 109, 28, 4,
- 212, 8, 28, 4, 212, 37, 28, 4, 212, 108, 28, 4, 212, 85, 28, 4, 212, 87,
- 28, 4, 212, 16, 28, 4, 211, 251, 28, 4, 212, 75, 28, 4, 212, 55, 28, 4,
- 212, 62, 28, 4, 212, 74, 28, 4, 212, 66, 28, 4, 212, 67, 28, 4, 212, 60,
- 28, 4, 212, 46, 28, 4, 186, 28, 4, 212, 203, 28, 4, 212, 255, 28, 4, 213,
- 91, 28, 4, 213, 35, 28, 4, 213, 38, 28, 4, 212, 235, 28, 4, 212, 226, 28,
- 4, 248, 164, 28, 4, 246, 33, 28, 4, 247, 211, 28, 4, 248, 163, 28, 4,
- 248, 28, 28, 4, 248, 41, 28, 4, 247, 99, 28, 4, 246, 2, 28, 4, 248, 86,
- 28, 4, 248, 51, 28, 4, 248, 63, 28, 4, 248, 85, 28, 4, 248, 73, 28, 4,
- 248, 74, 28, 4, 248, 56, 28, 4, 248, 42, 28, 4, 235, 139, 28, 4, 235, 54,
- 28, 4, 235, 110, 28, 4, 235, 138, 28, 4, 235, 125, 28, 4, 235, 127, 28,
- 4, 235, 71, 28, 4, 235, 35, 28, 4, 243, 110, 28, 4, 242, 92, 28, 4, 242,
- 190, 28, 4, 243, 107, 28, 4, 243, 31, 28, 4, 243, 38, 28, 4, 242, 150,
- 28, 4, 242, 149, 28, 4, 242, 59, 28, 4, 242, 55, 28, 4, 242, 58, 28, 4,
- 242, 56, 28, 4, 242, 57, 28, 4, 243, 5, 28, 4, 242, 241, 28, 4, 242, 251,
- 28, 4, 243, 4, 28, 4, 242, 255, 28, 4, 243, 0, 28, 4, 242, 245, 28, 4,
- 242, 230, 28, 4, 217, 161, 28, 4, 217, 90, 28, 4, 217, 128, 28, 4, 217,
- 160, 28, 4, 217, 147, 28, 4, 217, 148, 28, 4, 217, 109, 28, 4, 217, 82,
- 28, 4, 250, 92, 28, 4, 250, 6, 28, 4, 250, 47, 28, 4, 250, 91, 28, 4,
- 250, 64, 28, 4, 250, 67, 28, 4, 250, 23, 28, 4, 249, 251, 28, 4, 226, 23,
- 28, 4, 225, 246, 28, 4, 226, 9, 28, 4, 226, 22, 28, 4, 226, 11, 28, 4,
- 226, 12, 28, 4, 225, 253, 28, 4, 225, 242, 28, 4, 216, 141, 28, 4, 216,
- 122, 28, 4, 216, 125, 28, 4, 216, 140, 28, 4, 216, 135, 28, 4, 216, 136,
- 28, 4, 216, 124, 28, 4, 216, 120, 28, 4, 216, 5, 28, 4, 215, 253, 28, 4,
- 216, 1, 28, 4, 216, 4, 28, 4, 216, 2, 28, 4, 216, 3, 28, 4, 215, 255, 28,
- 4, 215, 254, 28, 4, 244, 164, 28, 4, 243, 205, 28, 4, 244, 90, 28, 4,
- 244, 163, 28, 4, 244, 116, 28, 4, 244, 123, 28, 4, 244, 12, 28, 4, 243,
- 188, 28, 4, 193, 28, 4, 225, 35, 28, 4, 225, 240, 28, 4, 226, 213, 28, 4,
- 226, 86, 28, 4, 226, 96, 28, 4, 225, 150, 28, 4, 225, 2, 28, 4, 223, 11,
- 28, 4, 230, 103, 28, 4, 243, 182, 28, 37, 243, 29, 24, 30, 233, 47, 77,
- 28, 37, 30, 233, 47, 77, 28, 37, 243, 29, 77, 28, 222, 92, 77, 28, 213,
- 195, 28, 243, 200, 219, 69, 28, 249, 157, 28, 221, 70, 28, 249, 164, 28,
- 225, 79, 249, 164, 28, 224, 158, 77, 28, 226, 143, 221, 57, 28, 21, 116,
- 28, 21, 109, 28, 21, 166, 28, 21, 163, 28, 21, 180, 28, 21, 189, 28, 21,
- 198, 28, 21, 195, 28, 21, 200, 28, 50, 217, 200, 28, 50, 216, 38, 28, 50,
- 217, 115, 28, 50, 243, 240, 28, 50, 244, 83, 28, 50, 220, 39, 28, 50,
- 221, 37, 28, 50, 245, 141, 28, 50, 229, 26, 28, 50, 240, 200, 28, 50,
- 217, 201, 217, 100, 28, 4, 222, 96, 230, 114, 28, 4, 230, 110, 28, 4,
- 230, 111, 28, 4, 230, 112, 28, 4, 222, 96, 251, 12, 28, 4, 251, 9, 28, 4,
- 251, 10, 28, 4, 251, 11, 28, 4, 222, 96, 243, 188, 28, 4, 243, 184, 28,
- 4, 243, 185, 28, 4, 243, 186, 28, 4, 222, 96, 225, 2, 28, 4, 224, 254,
- 28, 4, 224, 255, 28, 4, 225, 0, 28, 216, 242, 152, 212, 238, 28, 216,
- 242, 152, 247, 248, 28, 216, 242, 152, 223, 135, 28, 216, 242, 152, 220,
- 175, 223, 135, 28, 216, 242, 152, 247, 187, 28, 216, 242, 152, 234, 170,
- 28, 216, 242, 152, 250, 31, 28, 216, 242, 152, 241, 162, 28, 216, 242,
- 152, 247, 247, 28, 216, 242, 152, 233, 215, 158, 1, 61, 158, 1, 74, 158,
- 1, 72, 158, 1, 75, 158, 1, 69, 158, 1, 215, 79, 158, 1, 243, 110, 158, 1,
- 181, 158, 1, 243, 38, 158, 1, 242, 190, 158, 1, 242, 150, 158, 1, 242,
- 92, 158, 1, 242, 60, 158, 1, 159, 158, 1, 241, 222, 158, 1, 241, 165,
- 158, 1, 241, 54, 158, 1, 240, 212, 158, 1, 240, 193, 158, 1, 233, 157,
- 158, 1, 233, 82, 158, 1, 233, 13, 158, 1, 232, 208, 158, 1, 232, 156,
- 158, 1, 232, 130, 158, 1, 188, 158, 1, 231, 156, 158, 1, 231, 42, 158, 1,
- 230, 231, 158, 1, 230, 172, 158, 1, 205, 158, 1, 241, 76, 158, 1, 230,
- 31, 158, 1, 229, 187, 158, 1, 229, 64, 158, 1, 228, 185, 158, 1, 228, 92,
- 158, 1, 228, 33, 158, 1, 224, 174, 158, 1, 224, 161, 158, 1, 224, 154,
- 158, 1, 224, 146, 158, 1, 224, 135, 158, 1, 224, 133, 158, 1, 222, 202,
- 158, 1, 197, 158, 1, 222, 100, 158, 1, 220, 117, 158, 1, 219, 242, 158,
- 1, 219, 27, 158, 1, 218, 203, 158, 1, 248, 164, 158, 1, 218, 52, 158, 1,
- 248, 41, 158, 1, 217, 229, 158, 1, 247, 211, 158, 1, 217, 71, 158, 1,
- 247, 99, 158, 1, 246, 33, 158, 1, 246, 5, 158, 1, 247, 108, 158, 1, 217,
- 12, 158, 1, 217, 11, 158, 1, 217, 1, 158, 1, 217, 0, 158, 1, 216, 255,
- 158, 1, 216, 254, 158, 1, 216, 141, 158, 1, 216, 136, 158, 1, 216, 125,
- 158, 1, 216, 124, 158, 1, 216, 122, 158, 1, 216, 121, 158, 1, 214, 49,
- 158, 1, 214, 6, 158, 1, 213, 235, 158, 1, 213, 214, 158, 1, 213, 183,
- 158, 1, 213, 171, 158, 1, 186, 158, 1, 213, 38, 158, 1, 212, 255, 158, 1,
- 212, 235, 158, 1, 212, 203, 158, 1, 212, 169, 18, 19, 240, 160, 18, 19,
- 74, 18, 19, 254, 196, 18, 19, 72, 18, 19, 236, 28, 18, 19, 75, 18, 19,
- 227, 49, 18, 19, 213, 104, 227, 49, 18, 19, 66, 245, 165, 18, 19, 66, 72,
- 18, 19, 61, 18, 19, 254, 232, 18, 19, 214, 6, 18, 19, 148, 214, 6, 18,
- 19, 213, 235, 18, 19, 148, 213, 235, 18, 19, 213, 227, 18, 19, 148, 213,
- 227, 18, 19, 213, 214, 18, 19, 148, 213, 214, 18, 19, 213, 202, 18, 19,
- 148, 213, 202, 18, 19, 230, 11, 213, 202, 18, 19, 214, 49, 18, 19, 148,
- 214, 49, 18, 19, 214, 48, 18, 19, 148, 214, 48, 18, 19, 230, 11, 214, 48,
- 18, 19, 254, 108, 18, 19, 213, 104, 214, 82, 18, 19, 242, 156, 219, 69,
- 18, 19, 40, 179, 18, 19, 40, 242, 113, 18, 19, 40, 251, 101, 151, 223,
- 130, 18, 19, 40, 216, 227, 151, 223, 130, 18, 19, 40, 46, 151, 223, 130,
- 18, 19, 40, 223, 130, 18, 19, 40, 51, 179, 18, 19, 40, 51, 220, 175, 71,
- 219, 32, 18, 19, 40, 231, 37, 247, 74, 18, 19, 40, 220, 175, 199, 90, 18,
- 19, 40, 225, 156, 18, 19, 40, 119, 218, 36, 18, 19, 245, 108, 18, 19,
- 235, 251, 18, 19, 227, 62, 18, 19, 254, 32, 18, 19, 226, 96, 18, 19, 226,
- 211, 18, 19, 225, 240, 18, 19, 225, 203, 18, 19, 225, 150, 18, 19, 225,
- 129, 18, 19, 213, 104, 225, 129, 18, 19, 66, 241, 204, 18, 19, 66, 241,
- 165, 18, 19, 193, 18, 19, 226, 213, 18, 19, 225, 0, 18, 19, 148, 225, 0,
- 18, 19, 224, 254, 18, 19, 148, 224, 254, 18, 19, 224, 253, 18, 19, 148,
- 224, 253, 18, 19, 224, 251, 18, 19, 148, 224, 251, 18, 19, 224, 250, 18,
- 19, 148, 224, 250, 18, 19, 225, 2, 18, 19, 148, 225, 2, 18, 19, 225, 1,
- 18, 19, 148, 225, 1, 18, 19, 213, 104, 225, 1, 18, 19, 226, 229, 18, 19,
- 148, 226, 229, 18, 19, 66, 242, 41, 18, 19, 217, 229, 18, 19, 218, 47,
- 18, 19, 217, 71, 18, 19, 217, 57, 18, 19, 108, 18, 19, 216, 230, 18, 19,
- 213, 104, 216, 230, 18, 19, 66, 248, 28, 18, 19, 66, 247, 211, 18, 19,
- 218, 52, 18, 19, 218, 49, 18, 19, 216, 43, 18, 19, 148, 216, 43, 18, 19,
- 216, 27, 18, 19, 148, 216, 27, 18, 19, 216, 26, 18, 19, 148, 216, 26, 18,
- 19, 109, 18, 19, 148, 109, 18, 19, 216, 20, 18, 19, 148, 216, 20, 18, 19,
- 216, 45, 18, 19, 148, 216, 45, 18, 19, 216, 44, 18, 19, 148, 216, 44, 18,
- 19, 230, 11, 216, 44, 18, 19, 218, 99, 18, 19, 216, 112, 18, 19, 216, 96,
- 18, 19, 216, 95, 18, 19, 216, 115, 18, 19, 234, 188, 18, 19, 235, 11, 18,
- 19, 234, 101, 18, 19, 234, 92, 18, 19, 234, 37, 18, 19, 234, 19, 18, 19,
- 213, 104, 234, 19, 18, 19, 181, 18, 19, 235, 14, 18, 19, 233, 200, 18,
- 19, 148, 233, 200, 18, 19, 233, 198, 18, 19, 148, 233, 198, 18, 19, 233,
- 197, 18, 19, 148, 233, 197, 18, 19, 233, 196, 18, 19, 148, 233, 196, 18,
- 19, 233, 195, 18, 19, 148, 233, 195, 18, 19, 233, 204, 18, 19, 148, 233,
- 204, 18, 19, 233, 203, 18, 19, 148, 233, 203, 18, 19, 230, 11, 233, 203,
- 18, 19, 235, 27, 18, 19, 233, 205, 18, 19, 219, 214, 234, 182, 18, 19,
- 219, 214, 234, 93, 18, 19, 219, 214, 234, 32, 18, 19, 219, 214, 234, 252,
- 18, 19, 250, 124, 18, 19, 250, 217, 18, 19, 249, 244, 18, 19, 249, 234,
- 18, 19, 249, 175, 18, 19, 249, 113, 18, 19, 213, 104, 249, 113, 18, 19,
- 250, 219, 18, 19, 250, 218, 18, 19, 249, 22, 18, 19, 148, 249, 22, 18,
- 19, 249, 20, 18, 19, 148, 249, 20, 18, 19, 249, 19, 18, 19, 148, 249, 19,
- 18, 19, 249, 18, 18, 19, 148, 249, 18, 18, 19, 249, 17, 18, 19, 148, 249,
- 17, 18, 19, 249, 24, 18, 19, 148, 249, 24, 18, 19, 249, 23, 18, 19, 148,
- 249, 23, 18, 19, 230, 11, 249, 23, 18, 19, 250, 252, 18, 19, 222, 127,
- 217, 163, 18, 19, 231, 156, 18, 19, 232, 40, 18, 19, 231, 42, 18, 19,
- 231, 14, 18, 19, 230, 231, 18, 19, 230, 202, 18, 19, 213, 104, 230, 202,
- 18, 19, 188, 18, 19, 232, 41, 18, 19, 230, 112, 18, 19, 148, 230, 112,
- 18, 19, 230, 110, 18, 19, 148, 230, 110, 18, 19, 230, 109, 18, 19, 148,
- 230, 109, 18, 19, 230, 108, 18, 19, 148, 230, 108, 18, 19, 230, 107, 18,
- 19, 148, 230, 107, 18, 19, 230, 114, 18, 19, 148, 230, 114, 18, 19, 230,
- 113, 18, 19, 148, 230, 113, 18, 19, 230, 11, 230, 113, 18, 19, 183, 18,
- 19, 148, 183, 18, 19, 231, 45, 18, 19, 253, 121, 183, 18, 19, 222, 127,
- 183, 18, 19, 229, 187, 18, 19, 230, 42, 18, 19, 229, 64, 18, 19, 229, 39,
- 18, 19, 228, 185, 18, 19, 228, 175, 18, 19, 213, 104, 228, 175, 18, 19,
- 205, 18, 19, 230, 43, 18, 19, 228, 29, 18, 19, 148, 228, 29, 18, 19, 228,
- 31, 18, 19, 148, 228, 31, 18, 19, 228, 30, 18, 19, 148, 228, 30, 18, 19,
- 230, 11, 228, 30, 18, 19, 204, 18, 19, 66, 229, 161, 18, 19, 229, 69, 18,
- 19, 233, 82, 18, 19, 233, 155, 18, 19, 233, 13, 18, 19, 232, 255, 18, 19,
- 232, 208, 18, 19, 232, 180, 18, 19, 213, 104, 232, 180, 18, 19, 233, 157,
- 18, 19, 233, 156, 18, 19, 232, 127, 18, 19, 148, 232, 127, 18, 19, 232,
- 126, 18, 19, 148, 232, 126, 18, 19, 232, 125, 18, 19, 148, 232, 125, 18,
- 19, 232, 124, 18, 19, 148, 232, 124, 18, 19, 232, 123, 18, 19, 148, 232,
- 123, 18, 19, 232, 129, 18, 19, 148, 232, 129, 18, 19, 232, 128, 18, 19,
- 148, 232, 128, 18, 19, 150, 18, 19, 148, 150, 18, 19, 138, 150, 18, 19,
- 222, 100, 18, 19, 222, 198, 18, 19, 220, 117, 18, 19, 220, 101, 18, 19,
- 219, 242, 18, 19, 219, 226, 18, 19, 213, 104, 219, 226, 18, 19, 222, 202,
- 18, 19, 222, 200, 18, 19, 218, 194, 18, 19, 148, 218, 194, 18, 19, 218,
- 188, 18, 19, 148, 218, 188, 18, 19, 218, 187, 18, 19, 148, 218, 187, 18,
- 19, 218, 183, 18, 19, 148, 218, 183, 18, 19, 218, 182, 18, 19, 148, 218,
- 182, 18, 19, 218, 198, 18, 19, 148, 218, 198, 18, 19, 218, 197, 18, 19,
- 148, 218, 197, 18, 19, 230, 11, 218, 197, 18, 19, 197, 18, 19, 253, 121,
- 197, 18, 19, 218, 199, 18, 19, 251, 141, 197, 18, 19, 230, 197, 220, 36,
- 18, 19, 230, 11, 220, 27, 18, 19, 230, 11, 223, 2, 18, 19, 230, 11, 219,
- 167, 18, 19, 230, 11, 219, 29, 18, 19, 230, 11, 220, 26, 18, 19, 230, 11,
- 222, 103, 18, 19, 220, 243, 18, 19, 220, 212, 18, 19, 220, 207, 18, 19,
- 220, 187, 18, 19, 220, 181, 18, 19, 221, 24, 18, 19, 221, 20, 18, 19,
- 220, 132, 18, 19, 148, 220, 132, 18, 19, 220, 131, 18, 19, 148, 220, 131,
- 18, 19, 220, 130, 18, 19, 148, 220, 130, 18, 19, 220, 129, 18, 19, 148,
- 220, 129, 18, 19, 220, 128, 18, 19, 148, 220, 128, 18, 19, 220, 134, 18,
- 19, 148, 220, 134, 18, 19, 220, 133, 18, 19, 148, 220, 133, 18, 19, 221,
- 26, 18, 19, 213, 38, 18, 19, 213, 89, 18, 19, 212, 255, 18, 19, 212, 246,
- 18, 19, 212, 235, 18, 19, 212, 220, 18, 19, 213, 104, 212, 220, 18, 19,
- 186, 18, 19, 213, 91, 18, 19, 212, 166, 18, 19, 148, 212, 166, 18, 19,
- 212, 165, 18, 19, 148, 212, 165, 18, 19, 212, 164, 18, 19, 148, 212, 164,
- 18, 19, 212, 163, 18, 19, 148, 212, 163, 18, 19, 212, 162, 18, 19, 148,
- 212, 162, 18, 19, 212, 168, 18, 19, 148, 212, 168, 18, 19, 212, 167, 18,
- 19, 148, 212, 167, 18, 19, 230, 11, 212, 167, 18, 19, 213, 105, 18, 19,
- 251, 182, 213, 105, 18, 19, 148, 213, 105, 18, 19, 222, 127, 212, 255,
- 18, 19, 224, 21, 18, 19, 224, 112, 224, 21, 18, 19, 148, 233, 82, 18, 19,
- 224, 73, 18, 19, 223, 188, 18, 19, 223, 136, 18, 19, 223, 112, 18, 19,
- 223, 99, 18, 19, 148, 232, 208, 18, 19, 203, 18, 19, 224, 74, 18, 19,
- 148, 233, 157, 18, 19, 223, 20, 18, 19, 148, 223, 20, 18, 19, 149, 18,
- 19, 148, 149, 18, 19, 138, 149, 18, 19, 244, 123, 18, 19, 244, 161, 18,
- 19, 244, 90, 18, 19, 244, 77, 18, 19, 244, 12, 18, 19, 244, 3, 18, 19,
- 244, 164, 18, 19, 244, 163, 18, 19, 243, 187, 18, 19, 148, 243, 187, 18,
- 19, 244, 230, 18, 19, 217, 148, 18, 19, 230, 96, 217, 148, 18, 19, 217,
- 128, 18, 19, 230, 96, 217, 128, 18, 19, 217, 124, 18, 19, 230, 96, 217,
- 124, 18, 19, 217, 109, 18, 19, 217, 106, 18, 19, 217, 161, 18, 19, 217,
- 160, 18, 19, 217, 81, 18, 19, 148, 217, 81, 18, 19, 217, 163, 18, 19,
- 216, 103, 18, 19, 216, 101, 18, 19, 216, 100, 18, 19, 216, 105, 18, 19,
- 216, 106, 18, 19, 216, 18, 18, 19, 216, 17, 18, 19, 216, 16, 18, 19, 216,
- 19, 18, 19, 228, 49, 241, 222, 18, 19, 228, 49, 241, 165, 18, 19, 228,
- 49, 241, 147, 18, 19, 228, 49, 241, 54, 18, 19, 228, 49, 241, 39, 18, 19,
- 228, 49, 159, 18, 19, 228, 49, 242, 27, 18, 19, 228, 49, 242, 41, 18, 19,
- 228, 48, 242, 41, 18, 19, 241, 140, 18, 19, 224, 228, 18, 19, 224, 198,
- 18, 19, 224, 193, 18, 19, 224, 187, 18, 19, 224, 182, 18, 19, 224, 232,
- 18, 19, 224, 231, 18, 19, 224, 240, 18, 19, 217, 8, 18, 19, 217, 6, 18,
- 19, 217, 5, 18, 19, 217, 9, 18, 19, 148, 224, 21, 18, 19, 148, 223, 188,
- 18, 19, 148, 223, 112, 18, 19, 148, 203, 18, 19, 229, 157, 18, 19, 229,
- 113, 18, 19, 229, 109, 18, 19, 229, 90, 18, 19, 229, 85, 18, 19, 229,
- 159, 18, 19, 229, 158, 18, 19, 229, 161, 18, 19, 228, 196, 18, 19, 222,
- 127, 220, 243, 18, 19, 222, 127, 220, 212, 18, 19, 222, 127, 220, 187,
- 18, 19, 222, 127, 221, 24, 18, 19, 213, 200, 217, 148, 18, 19, 213, 200,
- 217, 128, 18, 19, 213, 200, 217, 109, 18, 19, 213, 200, 217, 161, 18, 19,
- 213, 200, 217, 163, 18, 19, 233, 19, 18, 19, 233, 18, 18, 19, 233, 17,
- 18, 19, 233, 16, 18, 19, 233, 25, 18, 19, 233, 24, 18, 19, 233, 26, 18,
- 19, 217, 162, 217, 148, 18, 19, 217, 162, 217, 128, 18, 19, 217, 162,
- 217, 124, 18, 19, 217, 162, 217, 109, 18, 19, 217, 162, 217, 106, 18, 19,
- 217, 162, 217, 161, 18, 19, 217, 162, 217, 160, 18, 19, 217, 162, 217,
- 163, 18, 19, 254, 97, 253, 74, 18, 19, 251, 141, 74, 18, 19, 251, 141,
- 72, 18, 19, 251, 141, 75, 18, 19, 251, 141, 61, 18, 19, 251, 141, 214, 6,
- 18, 19, 251, 141, 213, 235, 18, 19, 251, 141, 213, 214, 18, 19, 251, 141,
- 214, 49, 18, 19, 251, 141, 229, 187, 18, 19, 251, 141, 229, 64, 18, 19,
- 251, 141, 228, 185, 18, 19, 251, 141, 205, 18, 19, 251, 141, 234, 188,
- 18, 19, 251, 141, 234, 101, 18, 19, 251, 141, 234, 37, 18, 19, 251, 141,
- 181, 18, 19, 222, 127, 241, 222, 18, 19, 222, 127, 241, 165, 18, 19, 222,
- 127, 241, 54, 18, 19, 222, 127, 159, 18, 19, 66, 242, 196, 18, 19, 66,
- 242, 200, 18, 19, 66, 242, 212, 18, 19, 66, 242, 211, 18, 19, 66, 242,
- 201, 18, 19, 66, 242, 225, 18, 19, 66, 223, 51, 18, 19, 66, 223, 112, 18,
- 19, 66, 224, 21, 18, 19, 66, 224, 1, 18, 19, 66, 223, 188, 18, 19, 66,
- 203, 18, 19, 66, 213, 183, 18, 19, 66, 213, 214, 18, 19, 66, 214, 6, 18,
- 19, 66, 214, 1, 18, 19, 66, 213, 235, 18, 19, 66, 214, 49, 18, 19, 66,
- 240, 186, 18, 19, 66, 240, 187, 18, 19, 66, 240, 190, 18, 19, 66, 240,
- 189, 18, 19, 66, 240, 188, 18, 19, 66, 240, 192, 18, 19, 66, 217, 90, 18,
- 19, 66, 217, 109, 18, 19, 66, 217, 148, 18, 19, 66, 217, 147, 18, 19, 66,
- 217, 128, 18, 19, 66, 217, 161, 18, 19, 66, 216, 86, 18, 19, 66, 216, 95,
- 18, 19, 66, 216, 112, 18, 19, 66, 216, 111, 18, 19, 66, 216, 96, 18, 19,
- 66, 216, 115, 18, 19, 66, 225, 35, 18, 19, 66, 225, 150, 18, 19, 66, 226,
- 96, 18, 19, 66, 226, 86, 18, 19, 66, 225, 240, 18, 19, 66, 193, 18, 19,
- 66, 226, 229, 18, 19, 66, 242, 92, 18, 19, 66, 242, 150, 18, 19, 66, 243,
- 38, 18, 19, 66, 243, 31, 18, 19, 66, 242, 190, 18, 19, 66, 243, 110, 18,
- 19, 66, 234, 108, 18, 19, 66, 234, 113, 18, 19, 66, 234, 125, 18, 19, 66,
- 234, 124, 18, 19, 66, 234, 118, 18, 19, 66, 234, 138, 18, 19, 66, 234,
- 50, 18, 19, 66, 234, 51, 18, 19, 66, 234, 54, 18, 19, 66, 234, 53, 18,
- 19, 66, 234, 52, 18, 19, 66, 234, 55, 18, 19, 66, 234, 56, 18, 19, 66,
- 228, 92, 18, 19, 66, 228, 185, 18, 19, 66, 229, 187, 18, 19, 66, 229,
- 184, 18, 19, 66, 229, 64, 18, 19, 66, 205, 18, 19, 66, 230, 172, 18, 19,
- 66, 230, 231, 18, 19, 66, 231, 156, 18, 19, 66, 231, 145, 18, 19, 66,
- 231, 42, 18, 19, 66, 188, 18, 19, 66, 212, 203, 18, 19, 66, 212, 235, 18,
- 19, 66, 213, 38, 18, 19, 66, 213, 35, 18, 19, 66, 212, 255, 18, 19, 66,
- 186, 18, 19, 66, 235, 54, 18, 19, 222, 127, 235, 54, 18, 19, 66, 235, 71,
- 18, 19, 66, 235, 127, 18, 19, 66, 235, 125, 18, 19, 66, 235, 110, 18, 19,
- 222, 127, 235, 110, 18, 19, 66, 235, 139, 18, 19, 66, 235, 84, 18, 19,
- 66, 235, 88, 18, 19, 66, 235, 98, 18, 19, 66, 235, 97, 18, 19, 66, 235,
- 96, 18, 19, 66, 235, 99, 18, 19, 66, 232, 156, 18, 19, 66, 232, 208, 18,
- 19, 66, 233, 82, 18, 19, 66, 233, 74, 18, 19, 66, 233, 13, 18, 19, 66,
- 233, 157, 18, 19, 66, 247, 103, 18, 19, 66, 247, 104, 18, 19, 66, 247,
- 107, 18, 19, 66, 247, 106, 18, 19, 66, 247, 105, 18, 19, 66, 247, 108,
- 18, 19, 66, 233, 15, 18, 19, 66, 233, 17, 18, 19, 66, 233, 21, 18, 19,
- 66, 233, 20, 18, 19, 66, 233, 19, 18, 19, 66, 233, 25, 18, 19, 66, 217,
- 3, 18, 19, 66, 217, 5, 18, 19, 66, 217, 8, 18, 19, 66, 217, 7, 18, 19,
- 66, 217, 6, 18, 19, 66, 217, 9, 18, 19, 66, 216, 255, 18, 19, 66, 217, 0,
- 18, 19, 66, 217, 11, 18, 19, 66, 217, 10, 18, 19, 66, 217, 1, 18, 19, 66,
- 217, 12, 18, 19, 66, 212, 8, 18, 19, 66, 212, 16, 18, 19, 66, 212, 87,
- 18, 19, 66, 212, 85, 18, 19, 66, 212, 37, 18, 19, 66, 212, 109, 18, 19,
- 66, 212, 152, 18, 19, 66, 70, 212, 152, 18, 19, 66, 245, 239, 18, 19, 66,
- 245, 240, 18, 19, 66, 245, 247, 18, 19, 66, 245, 246, 18, 19, 66, 245,
- 242, 18, 19, 66, 245, 249, 18, 19, 66, 219, 27, 18, 19, 66, 219, 242, 18,
- 19, 66, 222, 100, 18, 19, 66, 222, 89, 18, 19, 66, 220, 117, 18, 19, 66,
- 222, 202, 18, 19, 66, 220, 150, 18, 19, 66, 220, 187, 18, 19, 66, 220,
- 243, 18, 19, 66, 220, 241, 18, 19, 66, 220, 212, 18, 19, 66, 221, 24, 18,
- 19, 66, 221, 26, 18, 19, 66, 216, 122, 18, 19, 66, 216, 124, 18, 19, 66,
- 216, 136, 18, 19, 66, 216, 135, 18, 19, 66, 216, 125, 18, 19, 66, 216,
- 141, 18, 19, 66, 250, 6, 18, 19, 66, 250, 23, 18, 19, 66, 250, 67, 18,
- 19, 66, 250, 64, 18, 19, 66, 250, 47, 18, 19, 66, 250, 92, 18, 19, 66,
- 216, 89, 18, 19, 66, 216, 90, 18, 19, 66, 216, 93, 18, 19, 66, 216, 92,
- 18, 19, 66, 216, 91, 18, 19, 66, 216, 94, 18, 19, 250, 48, 52, 18, 19,
- 243, 200, 219, 69, 18, 19, 224, 224, 18, 19, 229, 156, 18, 19, 228, 193,
- 18, 19, 228, 192, 18, 19, 228, 191, 18, 19, 228, 190, 18, 19, 228, 195,
- 18, 19, 228, 194, 18, 19, 213, 200, 217, 79, 18, 19, 213, 200, 217, 78,
- 18, 19, 213, 200, 217, 77, 18, 19, 213, 200, 217, 76, 18, 19, 213, 200,
- 217, 75, 18, 19, 213, 200, 217, 82, 18, 19, 213, 200, 217, 81, 18, 19,
- 213, 200, 40, 217, 163, 18, 19, 251, 141, 214, 82, 227, 92, 219, 207, 77,
- 227, 92, 1, 251, 224, 227, 92, 1, 232, 145, 227, 92, 1, 244, 120, 227,
- 92, 1, 222, 186, 227, 92, 1, 229, 24, 227, 92, 1, 215, 195, 227, 92, 1,
- 248, 142, 227, 92, 1, 217, 33, 227, 92, 1, 249, 167, 227, 92, 1, 250,
- 114, 227, 92, 1, 230, 161, 227, 92, 1, 242, 132, 227, 92, 1, 229, 147,
- 227, 92, 1, 219, 62, 227, 92, 1, 223, 46, 227, 92, 1, 254, 105, 227, 92,
- 1, 227, 53, 227, 92, 1, 215, 121, 227, 92, 1, 245, 187, 227, 92, 1, 235,
- 186, 227, 92, 1, 245, 188, 227, 92, 1, 227, 24, 227, 92, 1, 215, 176,
- 227, 92, 1, 236, 34, 227, 92, 1, 245, 185, 227, 92, 1, 226, 77, 227, 92,
- 244, 119, 77, 227, 92, 223, 202, 244, 119, 77, 168, 1, 244, 110, 244,
- 102, 244, 124, 244, 230, 168, 1, 215, 79, 168, 1, 215, 106, 215, 122, 69,
- 168, 1, 212, 205, 168, 1, 213, 105, 168, 1, 214, 82, 168, 1, 217, 84,
- 217, 83, 217, 104, 168, 1, 245, 25, 168, 1, 254, 4, 61, 168, 1, 227, 10,
- 75, 168, 1, 254, 177, 61, 168, 1, 254, 132, 168, 1, 232, 186, 75, 168, 1,
- 220, 168, 75, 168, 1, 75, 168, 1, 227, 99, 168, 1, 227, 62, 168, 1, 224,
- 55, 224, 67, 223, 244, 149, 168, 1, 234, 199, 168, 1, 250, 111, 168, 1,
- 234, 200, 235, 27, 168, 1, 243, 177, 168, 1, 245, 96, 168, 1, 243, 34,
- 242, 47, 243, 177, 168, 1, 243, 72, 168, 1, 213, 176, 213, 170, 214, 82,
- 168, 1, 242, 19, 242, 41, 168, 1, 242, 23, 242, 41, 168, 1, 232, 188,
- 242, 41, 168, 1, 220, 171, 242, 41, 168, 1, 230, 7, 228, 18, 230, 8, 204,
- 168, 1, 220, 169, 204, 168, 1, 246, 69, 168, 1, 235, 166, 235, 170, 235,
- 160, 72, 168, 1, 74, 168, 1, 235, 118, 235, 142, 168, 1, 243, 19, 168, 1,
- 232, 189, 254, 148, 168, 1, 220, 173, 61, 168, 1, 235, 152, 245, 72, 168,
- 1, 226, 40, 226, 61, 226, 229, 168, 1, 254, 72, 245, 71, 168, 1, 219,
- 211, 197, 168, 1, 220, 105, 232, 185, 197, 168, 1, 220, 167, 197, 168, 1,
- 250, 252, 168, 1, 212, 152, 168, 1, 217, 16, 217, 26, 216, 7, 218, 99,
- 168, 1, 220, 166, 218, 99, 168, 1, 249, 3, 168, 1, 251, 208, 251, 211,
- 251, 147, 253, 74, 168, 1, 220, 172, 253, 74, 168, 1, 246, 68, 168, 1,
- 227, 36, 168, 1, 245, 153, 245, 155, 74, 168, 1, 231, 241, 231, 249, 183,
- 168, 1, 232, 187, 183, 168, 1, 220, 170, 183, 168, 1, 233, 97, 233, 137,
- 232, 196, 150, 168, 1, 246, 70, 168, 1, 235, 227, 168, 1, 235, 228, 168,
- 1, 248, 153, 248, 158, 249, 3, 168, 1, 227, 6, 245, 24, 75, 168, 1, 245,
- 183, 168, 1, 235, 185, 168, 1, 249, 21, 168, 1, 250, 205, 168, 1, 250,
- 123, 168, 1, 219, 100, 168, 1, 232, 184, 168, 1, 220, 165, 168, 1, 240,
- 103, 168, 1, 224, 240, 168, 1, 213, 166, 168, 220, 81, 225, 26, 168, 230,
- 155, 225, 26, 168, 249, 71, 225, 26, 168, 253, 177, 87, 168, 216, 47, 87,
- 168, 251, 223, 87, 218, 32, 1, 61, 218, 32, 1, 72, 218, 32, 1, 69, 218,
- 32, 1, 181, 218, 32, 1, 243, 110, 218, 32, 1, 229, 159, 218, 32, 1, 218,
- 52, 218, 32, 1, 248, 164, 218, 32, 1, 205, 218, 32, 1, 193, 218, 32, 1,
- 252, 107, 218, 32, 1, 188, 218, 32, 1, 186, 218, 32, 1, 233, 157, 218,
- 32, 1, 214, 49, 218, 32, 1, 222, 202, 218, 32, 1, 159, 218, 32, 30, 5,
- 72, 218, 32, 30, 5, 69, 218, 32, 5, 214, 133, 241, 246, 1, 61, 241, 246,
- 1, 72, 241, 246, 1, 69, 241, 246, 1, 181, 241, 246, 1, 243, 110, 241,
- 246, 1, 229, 159, 241, 246, 1, 218, 52, 241, 246, 1, 248, 164, 241, 246,
- 1, 205, 241, 246, 1, 193, 241, 246, 1, 252, 107, 241, 246, 1, 188, 241,
- 246, 1, 186, 241, 246, 1, 203, 241, 246, 1, 233, 157, 241, 246, 1, 214,
- 49, 241, 246, 1, 222, 202, 241, 246, 1, 159, 241, 246, 30, 5, 72, 241,
- 246, 30, 5, 69, 241, 246, 5, 226, 176, 226, 2, 220, 81, 225, 26, 226, 2,
- 51, 225, 26, 251, 49, 1, 61, 251, 49, 1, 72, 251, 49, 1, 69, 251, 49, 1,
- 181, 251, 49, 1, 243, 110, 251, 49, 1, 229, 159, 251, 49, 1, 218, 52,
- 251, 49, 1, 248, 164, 251, 49, 1, 205, 251, 49, 1, 193, 251, 49, 1, 252,
- 107, 251, 49, 1, 188, 251, 49, 1, 186, 251, 49, 1, 203, 251, 49, 1, 233,
- 157, 251, 49, 1, 214, 49, 251, 49, 1, 222, 202, 251, 49, 1, 159, 251, 49,
- 30, 5, 72, 251, 49, 30, 5, 69, 218, 31, 1, 61, 218, 31, 1, 72, 218, 31,
- 1, 69, 218, 31, 1, 181, 218, 31, 1, 243, 110, 218, 31, 1, 229, 159, 218,
- 31, 1, 218, 52, 218, 31, 1, 248, 164, 218, 31, 1, 205, 218, 31, 1, 193,
- 218, 31, 1, 252, 107, 218, 31, 1, 188, 218, 31, 1, 186, 218, 31, 1, 233,
- 157, 218, 31, 1, 214, 49, 218, 31, 1, 222, 202, 218, 31, 30, 5, 72, 218,
- 31, 30, 5, 69, 84, 1, 181, 84, 1, 234, 138, 84, 1, 234, 37, 84, 1, 234,
- 113, 84, 1, 229, 90, 84, 1, 250, 219, 84, 1, 250, 92, 84, 1, 249, 175,
- 84, 1, 250, 23, 84, 1, 227, 253, 84, 1, 248, 164, 84, 1, 216, 105, 84, 1,
- 247, 99, 84, 1, 216, 100, 84, 1, 228, 188, 84, 1, 218, 52, 84, 1, 217,
- 161, 84, 1, 108, 84, 1, 217, 109, 84, 1, 228, 185, 84, 1, 252, 107, 84,
- 1, 226, 23, 84, 1, 225, 150, 84, 1, 225, 253, 84, 1, 230, 231, 84, 1,
- 212, 235, 84, 1, 223, 112, 84, 1, 232, 208, 84, 1, 214, 119, 84, 1, 221,
- 24, 84, 1, 219, 121, 84, 1, 222, 202, 84, 1, 159, 84, 1, 233, 157, 84, 1,
- 224, 232, 84, 235, 240, 30, 224, 218, 84, 235, 240, 30, 224, 231, 84,
- 235, 240, 30, 224, 198, 84, 235, 240, 30, 224, 193, 84, 235, 240, 30,
- 224, 175, 84, 235, 240, 30, 224, 147, 84, 235, 240, 30, 224, 135, 84,
- 235, 240, 30, 224, 134, 84, 235, 240, 30, 223, 12, 84, 235, 240, 30, 223,
- 5, 84, 235, 240, 30, 232, 121, 84, 235, 240, 30, 232, 112, 84, 235, 240,
- 30, 224, 213, 84, 235, 240, 30, 224, 224, 84, 235, 240, 30, 224, 183,
- 216, 15, 116, 84, 235, 240, 30, 224, 183, 216, 15, 109, 84, 235, 240, 30,
- 224, 214, 84, 30, 235, 226, 253, 215, 84, 30, 235, 226, 254, 232, 84, 30,
- 5, 254, 232, 84, 30, 5, 72, 84, 30, 5, 236, 28, 84, 30, 5, 213, 105, 84,
- 30, 5, 212, 161, 84, 30, 5, 69, 84, 30, 5, 215, 92, 84, 30, 5, 215, 196,
- 84, 30, 5, 227, 99, 84, 30, 5, 186, 84, 30, 5, 236, 55, 84, 30, 5, 74,
- 84, 30, 5, 254, 148, 84, 30, 5, 254, 108, 84, 30, 5, 227, 49, 84, 30, 5,
- 253, 108, 84, 5, 229, 37, 84, 5, 224, 19, 84, 5, 212, 172, 84, 5, 230,
- 123, 84, 5, 216, 171, 84, 5, 252, 62, 84, 5, 223, 107, 84, 5, 216, 251,
- 84, 5, 234, 246, 84, 5, 254, 110, 84, 5, 222, 160, 222, 154, 84, 5, 214,
- 130, 84, 5, 249, 170, 84, 5, 252, 37, 84, 5, 234, 131, 84, 5, 252, 57,
- 84, 5, 250, 197, 225, 204, 233, 209, 84, 5, 233, 54, 216, 230, 84, 5,
- 251, 197, 84, 5, 225, 255, 230, 169, 84, 5, 234, 18, 84, 249, 39, 16,
- 223, 181, 84, 5, 253, 90, 84, 5, 253, 111, 84, 21, 212, 79, 84, 21, 116,
- 84, 21, 109, 84, 21, 166, 84, 21, 163, 84, 21, 180, 84, 21, 189, 84, 21,
- 198, 84, 21, 195, 84, 21, 200, 84, 16, 233, 54, 253, 113, 219, 229, 84,
- 16, 233, 54, 253, 113, 230, 141, 84, 16, 233, 54, 253, 113, 225, 203, 84,
- 16, 233, 54, 253, 113, 251, 225, 84, 16, 233, 54, 253, 113, 251, 32, 84,
- 16, 233, 54, 253, 113, 225, 95, 84, 16, 233, 54, 253, 113, 225, 89, 84,
- 16, 233, 54, 253, 113, 225, 87, 84, 16, 233, 54, 253, 113, 225, 93, 84,
- 16, 233, 54, 253, 113, 225, 91, 81, 251, 159, 81, 245, 120, 81, 249, 157,
- 81, 243, 200, 219, 69, 81, 249, 164, 81, 243, 237, 247, 72, 81, 216, 250,
- 219, 236, 240, 160, 81, 220, 116, 4, 251, 98, 231, 217, 81, 231, 246,
- 249, 157, 81, 231, 246, 243, 200, 219, 69, 81, 229, 22, 81, 243, 223, 43,
- 222, 77, 116, 81, 243, 223, 43, 222, 77, 109, 81, 243, 223, 43, 222, 77,
- 166, 81, 30, 221, 57, 81, 21, 212, 79, 81, 21, 116, 81, 21, 109, 81, 21,
- 166, 81, 21, 163, 81, 21, 180, 81, 21, 189, 81, 21, 198, 81, 21, 195, 81,
- 21, 200, 81, 1, 61, 81, 1, 74, 81, 1, 72, 81, 1, 75, 81, 1, 69, 81, 1,
- 227, 99, 81, 1, 215, 183, 81, 1, 245, 165, 81, 1, 205, 81, 1, 254, 24,
- 81, 1, 252, 107, 81, 1, 193, 81, 1, 224, 232, 81, 1, 243, 110, 81, 1,
- 188, 81, 1, 233, 157, 81, 1, 222, 202, 81, 1, 221, 24, 81, 1, 218, 52,
- 81, 1, 248, 164, 81, 1, 250, 92, 81, 1, 235, 139, 81, 1, 186, 81, 1, 203,
- 81, 1, 214, 49, 81, 1, 244, 164, 81, 1, 181, 81, 1, 234, 138, 81, 1, 216,
- 141, 81, 1, 212, 109, 81, 1, 242, 27, 81, 1, 212, 9, 81, 1, 233, 25, 81,
- 1, 212, 62, 81, 1, 250, 47, 81, 1, 216, 250, 184, 30, 52, 81, 1, 216,
- 250, 74, 81, 1, 216, 250, 72, 81, 1, 216, 250, 75, 81, 1, 216, 250, 69,
- 81, 1, 216, 250, 227, 99, 81, 1, 216, 250, 215, 183, 81, 1, 216, 250,
- 254, 24, 81, 1, 216, 250, 252, 107, 81, 1, 216, 250, 193, 81, 1, 216,
- 250, 224, 232, 81, 1, 216, 250, 243, 110, 81, 1, 216, 250, 188, 81, 1,
- 216, 250, 218, 52, 81, 1, 216, 250, 248, 164, 81, 1, 216, 250, 250, 92,
- 81, 1, 216, 250, 235, 139, 81, 1, 216, 250, 216, 141, 81, 1, 216, 250,
- 186, 81, 1, 216, 250, 214, 49, 81, 1, 216, 250, 181, 81, 1, 216, 250,
- 243, 107, 81, 1, 216, 250, 242, 27, 81, 1, 216, 250, 235, 109, 81, 1,
- 216, 250, 229, 62, 81, 1, 216, 250, 245, 249, 81, 1, 220, 116, 74, 81, 1,
- 220, 116, 72, 81, 1, 220, 116, 235, 150, 81, 1, 220, 116, 215, 183, 81,
- 1, 220, 116, 69, 81, 1, 220, 116, 254, 24, 81, 1, 220, 116, 181, 81, 1,
- 220, 116, 243, 110, 81, 1, 220, 116, 159, 81, 1, 220, 116, 193, 81, 1,
- 220, 116, 221, 24, 81, 1, 220, 116, 218, 52, 81, 1, 220, 116, 248, 164,
- 81, 1, 220, 116, 235, 139, 81, 1, 220, 116, 244, 164, 81, 1, 220, 116,
- 243, 107, 81, 1, 220, 116, 242, 27, 81, 1, 220, 116, 216, 141, 81, 1,
- 220, 116, 212, 109, 81, 1, 220, 116, 224, 74, 81, 1, 220, 116, 250, 92,
- 81, 1, 220, 116, 212, 75, 81, 1, 231, 246, 72, 81, 1, 231, 246, 181, 81,
- 1, 231, 246, 203, 81, 1, 231, 246, 244, 164, 81, 1, 231, 246, 212, 75,
- 81, 1, 254, 71, 243, 92, 253, 243, 116, 81, 1, 254, 71, 243, 92, 214,
- 129, 116, 81, 1, 254, 71, 243, 92, 248, 131, 81, 1, 254, 71, 243, 92,
- 215, 193, 81, 1, 254, 71, 243, 92, 235, 191, 215, 193, 81, 1, 254, 71,
- 243, 92, 252, 74, 81, 1, 254, 71, 243, 92, 133, 252, 74, 81, 1, 254, 71,
- 243, 92, 61, 81, 1, 254, 71, 243, 92, 72, 81, 1, 254, 71, 243, 92, 181,
- 81, 1, 254, 71, 243, 92, 229, 159, 81, 1, 254, 71, 243, 92, 250, 219, 81,
- 1, 254, 71, 243, 92, 216, 115, 81, 1, 254, 71, 243, 92, 216, 105, 81, 1,
- 254, 71, 243, 92, 248, 86, 81, 1, 254, 71, 243, 92, 228, 198, 81, 1, 254,
- 71, 243, 92, 218, 52, 81, 1, 254, 71, 243, 92, 248, 164, 81, 1, 254, 71,
- 243, 92, 193, 81, 1, 254, 71, 243, 92, 226, 23, 81, 1, 254, 71, 243, 92,
- 219, 157, 81, 1, 254, 71, 243, 92, 212, 75, 81, 1, 254, 71, 243, 92, 212,
- 109, 81, 1, 254, 71, 243, 92, 254, 114, 81, 1, 216, 250, 254, 71, 243,
- 92, 218, 52, 81, 1, 216, 250, 254, 71, 243, 92, 212, 75, 81, 1, 231, 246,
- 254, 71, 243, 92, 242, 225, 81, 1, 231, 246, 254, 71, 243, 92, 229, 159,
- 81, 1, 231, 246, 254, 71, 243, 92, 250, 219, 81, 1, 231, 246, 254, 71,
- 243, 92, 235, 115, 81, 1, 231, 246, 254, 71, 243, 92, 216, 115, 81, 1,
- 231, 246, 254, 71, 243, 92, 248, 70, 81, 1, 231, 246, 254, 71, 243, 92,
- 218, 52, 81, 1, 231, 246, 254, 71, 243, 92, 247, 232, 81, 1, 231, 246,
- 254, 71, 243, 92, 219, 157, 81, 1, 231, 246, 254, 71, 243, 92, 249, 15,
- 81, 1, 231, 246, 254, 71, 243, 92, 212, 75, 81, 1, 231, 246, 254, 71,
- 243, 92, 212, 109, 81, 1, 254, 71, 243, 92, 151, 69, 81, 1, 254, 71, 243,
- 92, 151, 186, 81, 1, 231, 246, 254, 71, 243, 92, 251, 195, 81, 1, 254,
- 71, 243, 92, 248, 154, 81, 1, 231, 246, 254, 71, 243, 92, 233, 25, 18,
- 19, 226, 233, 18, 19, 253, 83, 18, 19, 254, 188, 18, 19, 214, 9, 18, 19,
- 225, 101, 18, 19, 226, 103, 18, 19, 224, 249, 18, 19, 217, 238, 18, 19,
- 234, 195, 18, 19, 233, 201, 18, 19, 231, 196, 18, 19, 228, 148, 18, 19,
- 230, 3, 18, 19, 233, 92, 18, 19, 219, 209, 18, 19, 222, 129, 18, 19, 220,
- 156, 18, 19, 220, 246, 18, 19, 220, 127, 18, 19, 212, 211, 18, 19, 213,
- 43, 18, 19, 224, 27, 18, 19, 228, 28, 18, 19, 227, 82, 228, 28, 18, 19,
- 228, 27, 18, 19, 227, 82, 228, 27, 18, 19, 228, 26, 18, 19, 227, 82, 228,
- 26, 18, 19, 228, 25, 18, 19, 227, 82, 228, 25, 18, 19, 223, 17, 18, 19,
- 223, 16, 18, 19, 223, 15, 18, 19, 223, 14, 18, 19, 223, 13, 18, 19, 223,
- 21, 18, 19, 227, 82, 226, 229, 18, 19, 227, 82, 218, 99, 18, 19, 227, 82,
- 235, 27, 18, 19, 227, 82, 250, 252, 18, 19, 227, 82, 183, 18, 19, 227,
- 82, 204, 18, 19, 227, 82, 197, 18, 19, 227, 82, 221, 26, 18, 19, 245,
- 175, 214, 82, 18, 19, 213, 248, 214, 82, 18, 19, 40, 3, 223, 130, 18, 19,
- 40, 224, 48, 247, 74, 18, 19, 224, 112, 223, 18, 18, 19, 148, 232, 180,
- 18, 19, 148, 233, 156, 18, 19, 217, 80, 18, 19, 217, 82, 18, 19, 216, 97,
- 18, 19, 216, 99, 18, 19, 216, 104, 18, 19, 217, 2, 18, 19, 217, 4, 18,
- 19, 222, 127, 220, 132, 18, 19, 222, 127, 220, 181, 18, 19, 222, 127,
- 241, 39, 18, 19, 66, 242, 54, 18, 19, 66, 248, 3, 243, 31, 18, 19, 66,
- 243, 107, 18, 19, 66, 242, 59, 18, 19, 222, 127, 235, 37, 18, 19, 66,
- 235, 35, 18, 19, 251, 244, 248, 3, 150, 18, 19, 251, 244, 248, 3, 149,
- 18, 19, 66, 247, 254, 197, 209, 214, 103, 233, 34, 209, 1, 181, 209, 1,
- 234, 138, 209, 1, 243, 110, 209, 1, 242, 225, 209, 1, 229, 159, 209, 1,
- 250, 219, 209, 1, 250, 92, 209, 1, 235, 139, 209, 1, 235, 115, 209, 1,
- 213, 60, 209, 1, 218, 52, 209, 1, 217, 161, 209, 1, 248, 164, 209, 1,
- 247, 232, 209, 1, 205, 209, 1, 193, 209, 1, 226, 23, 209, 1, 252, 107,
- 209, 1, 251, 195, 209, 1, 188, 209, 1, 186, 209, 1, 203, 209, 1, 233,
- 157, 209, 1, 214, 49, 209, 1, 221, 24, 209, 1, 219, 157, 209, 1, 222,
- 202, 209, 1, 159, 209, 30, 5, 61, 209, 30, 5, 72, 209, 30, 5, 69, 209,
- 30, 5, 245, 165, 209, 30, 5, 254, 108, 209, 30, 5, 227, 49, 209, 30, 5,
- 253, 108, 209, 30, 5, 74, 209, 30, 5, 75, 209, 219, 18, 1, 186, 209, 219,
- 18, 1, 203, 209, 219, 18, 1, 214, 49, 209, 3, 1, 181, 209, 3, 1, 229,
- 159, 209, 3, 1, 253, 242, 209, 3, 1, 218, 52, 209, 3, 1, 205, 209, 3, 1,
- 193, 209, 3, 1, 188, 209, 3, 1, 203, 209, 3, 1, 233, 157, 209, 5, 230,
- 159, 209, 5, 234, 177, 209, 5, 222, 201, 209, 5, 232, 180, 209, 244, 254,
- 77, 209, 224, 158, 77, 209, 21, 212, 79, 209, 21, 116, 209, 21, 109, 209,
- 21, 166, 209, 21, 163, 209, 21, 180, 209, 21, 189, 209, 21, 198, 209, 21,
- 195, 209, 21, 200, 38, 233, 83, 1, 181, 38, 233, 83, 1, 213, 153, 38,
- 233, 83, 1, 229, 159, 38, 233, 83, 1, 216, 141, 38, 233, 83, 1, 222, 202,
- 38, 233, 83, 1, 186, 38, 233, 83, 1, 218, 52, 38, 233, 83, 1, 217, 161,
- 38, 233, 83, 1, 233, 157, 38, 233, 83, 1, 193, 38, 233, 83, 1, 226, 23,
- 38, 233, 83, 1, 188, 38, 233, 83, 1, 244, 164, 38, 233, 83, 1, 215, 1,
- 38, 233, 83, 1, 159, 38, 233, 83, 1, 224, 232, 38, 233, 83, 1, 234, 138,
- 38, 233, 83, 1, 216, 133, 38, 233, 83, 1, 205, 38, 233, 83, 1, 61, 38,
- 233, 83, 1, 72, 38, 233, 83, 1, 245, 165, 38, 233, 83, 1, 245, 154, 38,
- 233, 83, 1, 69, 38, 233, 83, 1, 227, 49, 38, 233, 83, 1, 75, 38, 233, 83,
- 1, 215, 183, 38, 233, 83, 1, 74, 38, 233, 83, 1, 253, 106, 38, 233, 83,
- 1, 254, 108, 38, 233, 83, 1, 216, 239, 38, 233, 83, 1, 216, 238, 38, 233,
- 83, 1, 216, 237, 38, 233, 83, 1, 216, 236, 38, 233, 83, 1, 216, 235, 156,
- 38, 165, 1, 124, 224, 232, 156, 38, 165, 1, 115, 224, 232, 156, 38, 165,
- 1, 124, 181, 156, 38, 165, 1, 124, 213, 153, 156, 38, 165, 1, 124, 229,
- 159, 156, 38, 165, 1, 115, 181, 156, 38, 165, 1, 115, 213, 153, 156, 38,
- 165, 1, 115, 229, 159, 156, 38, 165, 1, 124, 216, 141, 156, 38, 165, 1,
- 124, 222, 202, 156, 38, 165, 1, 124, 186, 156, 38, 165, 1, 115, 216, 141,
- 156, 38, 165, 1, 115, 222, 202, 156, 38, 165, 1, 115, 186, 156, 38, 165,
- 1, 124, 218, 52, 156, 38, 165, 1, 124, 217, 161, 156, 38, 165, 1, 124,
- 205, 156, 38, 165, 1, 115, 218, 52, 156, 38, 165, 1, 115, 217, 161, 156,
- 38, 165, 1, 115, 205, 156, 38, 165, 1, 124, 193, 156, 38, 165, 1, 124,
- 226, 23, 156, 38, 165, 1, 124, 188, 156, 38, 165, 1, 115, 193, 156, 38,
- 165, 1, 115, 226, 23, 156, 38, 165, 1, 115, 188, 156, 38, 165, 1, 124,
- 244, 164, 156, 38, 165, 1, 124, 215, 1, 156, 38, 165, 1, 124, 233, 157,
- 156, 38, 165, 1, 115, 244, 164, 156, 38, 165, 1, 115, 215, 1, 156, 38,
- 165, 1, 115, 233, 157, 156, 38, 165, 1, 124, 159, 156, 38, 165, 1, 124,
- 248, 164, 156, 38, 165, 1, 124, 252, 107, 156, 38, 165, 1, 115, 159, 156,
- 38, 165, 1, 115, 248, 164, 156, 38, 165, 1, 115, 252, 107, 156, 38, 165,
- 1, 124, 233, 206, 156, 38, 165, 1, 124, 213, 126, 156, 38, 165, 1, 115,
- 233, 206, 156, 38, 165, 1, 115, 213, 126, 156, 38, 165, 1, 124, 219, 26,
- 156, 38, 165, 1, 115, 219, 26, 156, 38, 165, 30, 5, 30, 220, 163, 156,
- 38, 165, 30, 5, 254, 232, 156, 38, 165, 30, 5, 236, 28, 156, 38, 165, 30,
- 5, 69, 156, 38, 165, 30, 5, 215, 92, 156, 38, 165, 30, 5, 74, 156, 38,
- 165, 30, 5, 254, 148, 156, 38, 165, 30, 5, 75, 156, 38, 165, 30, 5, 227,
- 120, 156, 38, 165, 30, 5, 215, 183, 156, 38, 165, 30, 5, 253, 83, 156,
- 38, 165, 30, 5, 254, 188, 156, 38, 165, 30, 5, 215, 85, 156, 38, 165, 30,
- 5, 226, 233, 156, 38, 165, 30, 5, 227, 117, 156, 38, 165, 30, 5, 215,
- 180, 156, 38, 165, 30, 5, 235, 150, 156, 38, 165, 1, 40, 215, 79, 156,
- 38, 165, 1, 40, 229, 161, 156, 38, 165, 1, 40, 204, 156, 38, 165, 1, 40,
- 183, 156, 38, 165, 1, 40, 235, 27, 156, 38, 165, 1, 40, 249, 3, 156, 38,
- 165, 1, 40, 253, 74, 156, 38, 165, 160, 231, 221, 156, 38, 165, 160, 231,
- 220, 156, 38, 165, 21, 212, 79, 156, 38, 165, 21, 116, 156, 38, 165, 21,
- 109, 156, 38, 165, 21, 166, 156, 38, 165, 21, 163, 156, 38, 165, 21, 180,
- 156, 38, 165, 21, 189, 156, 38, 165, 21, 198, 156, 38, 165, 21, 195, 156,
- 38, 165, 21, 200, 156, 38, 165, 88, 21, 116, 156, 38, 165, 5, 233, 143,
- 156, 38, 165, 5, 233, 142, 84, 16, 226, 109, 84, 16, 230, 142, 234, 34,
- 84, 16, 225, 204, 234, 34, 84, 16, 251, 226, 234, 34, 84, 16, 251, 33,
- 234, 34, 84, 16, 225, 96, 234, 34, 84, 16, 225, 90, 234, 34, 84, 16, 225,
- 88, 234, 34, 84, 16, 225, 94, 234, 34, 84, 16, 225, 92, 234, 34, 84, 16,
- 248, 118, 234, 34, 84, 16, 248, 114, 234, 34, 84, 16, 248, 113, 234, 34,
- 84, 16, 248, 116, 234, 34, 84, 16, 248, 115, 234, 34, 84, 16, 248, 112,
- 234, 34, 84, 16, 216, 51, 84, 16, 230, 142, 223, 106, 84, 16, 225, 204,
- 223, 106, 84, 16, 251, 226, 223, 106, 84, 16, 251, 33, 223, 106, 84, 16,
- 225, 96, 223, 106, 84, 16, 225, 90, 223, 106, 84, 16, 225, 88, 223, 106,
- 84, 16, 225, 94, 223, 106, 84, 16, 225, 92, 223, 106, 84, 16, 248, 118,
- 223, 106, 84, 16, 248, 114, 223, 106, 84, 16, 248, 113, 223, 106, 84, 16,
- 248, 116, 223, 106, 84, 16, 248, 115, 223, 106, 84, 16, 248, 112, 223,
- 106, 251, 50, 1, 181, 251, 50, 1, 243, 110, 251, 50, 1, 229, 159, 251,
- 50, 1, 229, 108, 251, 50, 1, 193, 251, 50, 1, 252, 107, 251, 50, 1, 188,
- 251, 50, 1, 230, 175, 251, 50, 1, 218, 52, 251, 50, 1, 248, 164, 251, 50,
- 1, 205, 251, 50, 1, 228, 147, 251, 50, 1, 250, 219, 251, 50, 1, 235, 139,
- 251, 50, 1, 228, 23, 251, 50, 1, 228, 19, 251, 50, 1, 186, 251, 50, 1,
- 203, 251, 50, 1, 233, 157, 251, 50, 1, 215, 1, 251, 50, 1, 222, 202, 251,
- 50, 1, 61, 251, 50, 1, 159, 251, 50, 30, 5, 72, 251, 50, 30, 5, 69, 251,
- 50, 30, 5, 74, 251, 50, 30, 5, 75, 251, 50, 30, 5, 254, 148, 251, 50,
- 226, 187, 251, 50, 245, 101, 65, 222, 91, 38, 88, 1, 124, 181, 38, 88, 1,
- 124, 234, 138, 38, 88, 1, 124, 233, 193, 38, 88, 1, 115, 181, 38, 88, 1,
- 115, 233, 193, 38, 88, 1, 115, 234, 138, 38, 88, 1, 229, 159, 38, 88, 1,
- 124, 250, 219, 38, 88, 1, 124, 250, 92, 38, 88, 1, 115, 250, 219, 38, 88,
- 1, 115, 222, 202, 38, 88, 1, 115, 250, 92, 38, 88, 1, 228, 23, 38, 88, 1,
- 224, 32, 38, 88, 1, 124, 224, 30, 38, 88, 1, 248, 164, 38, 88, 1, 115,
- 224, 30, 38, 88, 1, 224, 41, 38, 88, 1, 124, 218, 52, 38, 88, 1, 124,
- 217, 161, 38, 88, 1, 115, 218, 52, 38, 88, 1, 115, 217, 161, 38, 88, 1,
- 205, 38, 88, 1, 252, 107, 38, 88, 1, 124, 193, 38, 88, 1, 124, 226, 23,
- 38, 88, 1, 124, 244, 164, 38, 88, 1, 115, 193, 38, 88, 1, 115, 244, 164,
- 38, 88, 1, 115, 226, 23, 38, 88, 1, 188, 38, 88, 1, 115, 186, 38, 88, 1,
- 124, 186, 38, 88, 1, 203, 38, 88, 1, 223, 48, 38, 88, 1, 233, 157, 38,
- 88, 1, 232, 151, 38, 88, 1, 214, 49, 38, 88, 1, 124, 221, 24, 38, 88, 1,
- 124, 219, 157, 38, 88, 1, 124, 222, 202, 38, 88, 1, 124, 159, 38, 88, 1,
- 232, 213, 38, 88, 1, 61, 38, 88, 1, 115, 159, 38, 88, 1, 72, 38, 88, 1,
- 236, 28, 38, 88, 1, 69, 38, 88, 1, 215, 92, 38, 88, 1, 245, 165, 38, 88,
- 1, 227, 49, 38, 88, 1, 233, 143, 38, 88, 1, 242, 109, 222, 202, 38, 88,
- 249, 133, 5, 138, 203, 38, 88, 249, 133, 5, 138, 233, 157, 38, 88, 249,
- 133, 5, 233, 158, 218, 9, 233, 133, 38, 88, 5, 232, 9, 234, 236, 233,
- 133, 38, 88, 249, 133, 5, 40, 229, 159, 38, 88, 249, 133, 5, 115, 193,
- 38, 88, 249, 133, 5, 124, 224, 31, 167, 115, 193, 38, 88, 249, 133, 5,
- 188, 38, 88, 249, 133, 5, 252, 107, 38, 88, 249, 133, 5, 222, 202, 38,
- 88, 5, 222, 181, 38, 88, 30, 5, 61, 38, 88, 30, 5, 232, 9, 222, 142, 38,
- 88, 30, 5, 254, 232, 38, 88, 30, 5, 218, 15, 254, 232, 38, 88, 30, 5, 72,
- 38, 88, 30, 5, 236, 28, 38, 88, 30, 5, 215, 183, 38, 88, 30, 5, 215, 91,
- 38, 88, 30, 5, 69, 38, 88, 30, 5, 215, 92, 38, 88, 30, 5, 75, 38, 88, 30,
- 5, 227, 121, 55, 38, 88, 30, 5, 226, 233, 38, 88, 30, 5, 74, 38, 88, 30,
- 5, 254, 148, 38, 88, 30, 5, 227, 49, 38, 88, 30, 5, 254, 108, 38, 88, 30,
- 5, 88, 254, 108, 38, 88, 30, 5, 227, 121, 49, 38, 88, 5, 232, 9, 234,
- 235, 38, 88, 5, 216, 240, 38, 88, 5, 216, 239, 38, 88, 5, 234, 106, 216,
- 238, 38, 88, 5, 234, 106, 216, 237, 38, 88, 5, 234, 106, 216, 236, 38,
- 88, 5, 224, 77, 242, 26, 38, 88, 5, 232, 9, 222, 168, 38, 88, 5, 234,
- 105, 234, 220, 38, 88, 37, 249, 55, 247, 74, 38, 88, 241, 33, 21, 212,
- 79, 38, 88, 241, 33, 21, 116, 38, 88, 241, 33, 21, 109, 38, 88, 241, 33,
- 21, 166, 38, 88, 241, 33, 21, 163, 38, 88, 241, 33, 21, 180, 38, 88, 241,
- 33, 21, 189, 38, 88, 241, 33, 21, 198, 38, 88, 241, 33, 21, 195, 38, 88,
- 241, 33, 21, 200, 38, 88, 88, 21, 212, 79, 38, 88, 88, 21, 116, 38, 88,
- 88, 21, 109, 38, 88, 88, 21, 166, 38, 88, 88, 21, 163, 38, 88, 88, 21,
- 180, 38, 88, 88, 21, 189, 38, 88, 88, 21, 198, 38, 88, 88, 21, 195, 38,
- 88, 88, 21, 200, 38, 88, 5, 213, 234, 38, 88, 5, 213, 233, 38, 88, 5,
- 222, 133, 38, 88, 5, 234, 166, 38, 88, 5, 240, 219, 38, 88, 5, 247, 88,
- 38, 88, 5, 223, 202, 223, 89, 224, 41, 38, 88, 5, 232, 9, 213, 61, 38,
- 88, 5, 235, 10, 38, 88, 5, 235, 9, 38, 88, 5, 222, 139, 38, 88, 5, 222,
- 138, 38, 88, 5, 241, 248, 38, 88, 5, 250, 216, 99, 5, 215, 170, 223, 183,
- 99, 5, 215, 170, 250, 189, 99, 5, 250, 120, 99, 5, 218, 215, 99, 5, 251,
- 156, 99, 1, 254, 92, 99, 1, 254, 93, 217, 221, 99, 1, 236, 24, 99, 1,
- 236, 25, 217, 221, 99, 1, 215, 173, 99, 1, 215, 174, 217, 221, 99, 1,
- 224, 77, 223, 229, 99, 1, 224, 77, 223, 230, 217, 221, 99, 1, 233, 158,
- 233, 48, 99, 1, 233, 158, 233, 49, 217, 221, 99, 1, 245, 136, 99, 1, 254,
- 106, 99, 1, 227, 78, 99, 1, 227, 79, 217, 221, 99, 1, 181, 99, 1, 235,
- 17, 232, 12, 99, 1, 243, 110, 99, 1, 243, 111, 242, 137, 99, 1, 229, 159,
- 99, 1, 250, 219, 99, 1, 250, 220, 233, 146, 99, 1, 235, 139, 99, 1, 235,
- 140, 235, 119, 99, 1, 228, 23, 99, 1, 218, 53, 233, 99, 99, 1, 218, 53,
- 230, 137, 232, 12, 99, 1, 248, 165, 230, 137, 254, 54, 99, 1, 248, 165,
- 230, 137, 232, 12, 99, 1, 230, 46, 224, 44, 99, 1, 218, 52, 99, 1, 218,
- 53, 217, 242, 99, 1, 248, 164, 99, 1, 248, 165, 232, 30, 99, 1, 205, 99,
- 1, 193, 99, 1, 226, 214, 234, 231, 99, 1, 252, 107, 99, 1, 252, 108, 234,
- 178, 99, 1, 188, 99, 1, 186, 99, 1, 203, 99, 1, 233, 157, 99, 1, 214, 49,
- 99, 1, 222, 203, 222, 189, 99, 1, 222, 203, 222, 149, 99, 1, 222, 202,
- 99, 1, 159, 99, 5, 223, 222, 99, 30, 5, 217, 221, 99, 30, 5, 215, 169,
- 99, 30, 5, 215, 170, 222, 145, 99, 30, 5, 218, 248, 99, 30, 5, 218, 249,
- 236, 16, 99, 30, 5, 224, 77, 223, 229, 99, 30, 5, 224, 77, 223, 230, 217,
- 221, 99, 30, 5, 233, 158, 233, 48, 99, 30, 5, 233, 158, 233, 49, 217,
- 221, 99, 30, 5, 218, 16, 99, 30, 5, 218, 17, 223, 229, 99, 30, 5, 218,
- 17, 217, 221, 99, 30, 5, 218, 17, 223, 230, 217, 221, 99, 30, 5, 226, 59,
- 99, 30, 5, 226, 60, 217, 221, 99, 254, 155, 254, 154, 99, 1, 234, 255,
- 222, 144, 99, 1, 234, 110, 222, 144, 99, 1, 216, 0, 222, 144, 99, 1, 245,
- 160, 222, 144, 99, 1, 214, 233, 222, 144, 99, 1, 212, 100, 222, 144, 99,
- 1, 253, 125, 222, 144, 99, 21, 212, 79, 99, 21, 116, 99, 21, 109, 99, 21,
- 166, 99, 21, 163, 99, 21, 180, 99, 21, 189, 99, 21, 198, 99, 21, 195, 99,
- 21, 200, 99, 226, 157, 99, 226, 182, 99, 213, 223, 99, 250, 168, 226,
- 175, 99, 250, 168, 220, 98, 99, 250, 168, 226, 130, 99, 226, 181, 99, 27,
- 16, 247, 80, 99, 27, 16, 248, 2, 99, 27, 16, 246, 19, 99, 27, 16, 248,
- 121, 99, 27, 16, 248, 122, 218, 215, 99, 27, 16, 247, 157, 99, 27, 16,
- 248, 157, 99, 27, 16, 247, 240, 99, 27, 16, 248, 143, 99, 27, 16, 248,
- 122, 243, 33, 99, 27, 16, 37, 217, 217, 99, 27, 16, 37, 245, 99, 99, 27,
- 16, 37, 234, 173, 99, 27, 16, 37, 234, 175, 99, 27, 16, 37, 235, 123, 99,
- 27, 16, 37, 234, 174, 2, 235, 123, 99, 27, 16, 37, 234, 176, 2, 235, 123,
- 99, 27, 16, 37, 251, 214, 99, 27, 16, 37, 242, 141, 99, 27, 16, 223, 146,
- 227, 40, 246, 29, 99, 27, 16, 223, 146, 227, 40, 248, 155, 99, 27, 16,
- 223, 146, 249, 193, 216, 75, 99, 27, 16, 223, 146, 249, 193, 218, 23, 99,
- 27, 16, 233, 68, 227, 40, 226, 170, 99, 27, 16, 233, 68, 227, 40, 225,
- 25, 99, 27, 16, 233, 68, 249, 193, 225, 170, 99, 27, 16, 233, 68, 249,
- 193, 225, 160, 99, 27, 16, 233, 68, 227, 40, 225, 193, 218, 237, 5, 226,
- 154, 218, 237, 5, 226, 166, 218, 237, 5, 226, 163, 218, 237, 1, 61, 218,
- 237, 1, 72, 218, 237, 1, 69, 218, 237, 1, 254, 148, 218, 237, 1, 75, 218,
- 237, 1, 74, 218, 237, 1, 245, 22, 218, 237, 1, 181, 218, 237, 1, 224,
- 232, 218, 237, 1, 243, 110, 218, 237, 1, 229, 159, 218, 237, 1, 250, 219,
- 218, 237, 1, 235, 139, 218, 237, 1, 212, 109, 218, 237, 1, 228, 23, 218,
- 237, 1, 218, 52, 218, 237, 1, 248, 164, 218, 237, 1, 205, 218, 237, 1,
- 193, 218, 237, 1, 244, 164, 218, 237, 1, 215, 1, 218, 237, 1, 252, 107,
- 218, 237, 1, 188, 218, 237, 1, 186, 218, 237, 1, 203, 218, 237, 1, 233,
- 157, 218, 237, 1, 214, 49, 218, 237, 1, 222, 202, 218, 237, 1, 213, 153,
- 218, 237, 1, 159, 218, 237, 249, 133, 5, 226, 179, 218, 237, 249, 133, 5,
- 226, 156, 218, 237, 249, 133, 5, 226, 153, 218, 237, 30, 5, 226, 169,
- 218, 237, 30, 5, 226, 152, 218, 237, 30, 5, 226, 173, 218, 237, 30, 5,
- 226, 162, 218, 237, 30, 5, 226, 180, 218, 237, 30, 5, 226, 171, 218, 237,
- 5, 226, 183, 218, 237, 1, 234, 138, 218, 237, 1, 218, 176, 218, 237, 21,
- 212, 79, 218, 237, 21, 116, 218, 237, 21, 109, 218, 237, 21, 166, 218,
- 237, 21, 163, 218, 237, 21, 180, 218, 237, 21, 189, 218, 237, 21, 198,
- 218, 237, 21, 195, 218, 237, 21, 200, 252, 40, 1, 61, 252, 40, 1, 220,
- 90, 61, 252, 40, 1, 159, 252, 40, 1, 220, 90, 159, 252, 40, 1, 231, 244,
- 159, 252, 40, 1, 252, 107, 252, 40, 1, 234, 217, 252, 107, 252, 40, 1,
- 193, 252, 40, 1, 220, 90, 193, 252, 40, 1, 205, 252, 40, 1, 231, 244,
- 205, 252, 40, 1, 214, 49, 252, 40, 1, 220, 90, 214, 49, 252, 40, 1, 226,
- 194, 214, 49, 252, 40, 1, 243, 110, 252, 40, 1, 220, 90, 243, 110, 252,
- 40, 1, 235, 139, 252, 40, 1, 248, 164, 252, 40, 1, 203, 252, 40, 1, 220,
- 90, 203, 252, 40, 1, 188, 252, 40, 1, 220, 90, 188, 252, 40, 1, 219, 213,
- 218, 52, 252, 40, 1, 228, 166, 218, 52, 252, 40, 1, 222, 202, 252, 40, 1,
- 220, 90, 222, 202, 252, 40, 1, 231, 244, 222, 202, 252, 40, 1, 186, 252,
- 40, 1, 220, 90, 186, 252, 40, 1, 229, 159, 252, 40, 1, 233, 157, 252, 40,
- 1, 220, 90, 233, 157, 252, 40, 1, 228, 23, 252, 40, 1, 250, 219, 252, 40,
- 1, 229, 228, 252, 40, 1, 231, 187, 252, 40, 1, 72, 252, 40, 1, 69, 252,
- 40, 5, 216, 244, 252, 40, 30, 5, 74, 252, 40, 30, 5, 226, 194, 74, 252,
- 40, 30, 5, 245, 165, 252, 40, 30, 5, 72, 252, 40, 30, 5, 234, 217, 72,
- 252, 40, 30, 5, 75, 252, 40, 30, 5, 234, 217, 75, 252, 40, 30, 5, 69,
- 252, 40, 30, 5, 111, 31, 220, 90, 222, 202, 252, 40, 249, 133, 5, 229,
- 161, 252, 40, 249, 133, 5, 242, 41, 252, 40, 226, 165, 252, 40, 226, 161,
- 252, 40, 16, 251, 164, 230, 46, 231, 104, 252, 40, 16, 251, 164, 225,
- 196, 252, 40, 16, 251, 164, 235, 51, 252, 40, 16, 251, 164, 226, 165,
- 182, 1, 181, 182, 1, 234, 48, 182, 1, 234, 138, 182, 1, 243, 110, 182, 1,
- 242, 162, 182, 1, 229, 159, 182, 1, 250, 219, 182, 1, 250, 92, 182, 1,
- 235, 139, 182, 1, 228, 23, 182, 1, 218, 52, 182, 1, 217, 161, 182, 1,
- 248, 164, 182, 1, 205, 182, 1, 193, 182, 1, 225, 174, 182, 1, 226, 23,
- 182, 1, 244, 164, 182, 1, 244, 44, 182, 1, 252, 107, 182, 1, 251, 145,
- 182, 1, 188, 182, 1, 230, 237, 182, 1, 216, 141, 182, 1, 216, 133, 182,
- 1, 245, 249, 182, 1, 186, 182, 1, 203, 182, 1, 233, 157, 182, 1, 159,
- 182, 1, 241, 139, 182, 1, 215, 1, 182, 1, 222, 202, 182, 1, 221, 24, 182,
- 1, 214, 49, 182, 1, 61, 182, 219, 18, 1, 186, 182, 219, 18, 1, 203, 182,
- 30, 5, 254, 232, 182, 30, 5, 72, 182, 30, 5, 75, 182, 30, 5, 227, 49,
- 182, 30, 5, 69, 182, 30, 5, 215, 92, 182, 30, 5, 74, 182, 249, 133, 5,
- 235, 27, 182, 249, 133, 5, 183, 182, 249, 133, 5, 150, 182, 249, 133, 5,
- 204, 182, 249, 133, 5, 226, 229, 182, 249, 133, 5, 149, 182, 249, 133, 5,
- 218, 99, 182, 249, 133, 5, 228, 5, 182, 249, 133, 5, 234, 235, 182, 5,
- 224, 42, 182, 5, 228, 60, 182, 225, 27, 218, 51, 182, 225, 27, 228, 13,
- 217, 74, 218, 51, 182, 225, 27, 250, 98, 182, 225, 27, 216, 128, 250, 98,
- 182, 225, 27, 216, 127, 182, 21, 212, 79, 182, 21, 116, 182, 21, 109,
- 182, 21, 166, 182, 21, 163, 182, 21, 180, 182, 21, 189, 182, 21, 198,
- 182, 21, 195, 182, 21, 200, 182, 1, 216, 115, 182, 1, 216, 105, 182, 1,
- 248, 86, 227, 76, 250, 40, 21, 212, 79, 227, 76, 250, 40, 21, 116, 227,
- 76, 250, 40, 21, 109, 227, 76, 250, 40, 21, 166, 227, 76, 250, 40, 21,
- 163, 227, 76, 250, 40, 21, 180, 227, 76, 250, 40, 21, 189, 227, 76, 250,
- 40, 21, 198, 227, 76, 250, 40, 21, 195, 227, 76, 250, 40, 21, 200, 227,
- 76, 250, 40, 1, 233, 157, 227, 76, 250, 40, 1, 253, 122, 227, 76, 250,
- 40, 1, 254, 121, 227, 76, 250, 40, 1, 254, 24, 227, 76, 250, 40, 1, 254,
- 86, 227, 76, 250, 40, 1, 233, 156, 227, 76, 250, 40, 1, 254, 194, 227,
- 76, 250, 40, 1, 254, 195, 227, 76, 250, 40, 1, 254, 193, 227, 76, 250,
- 40, 1, 254, 189, 227, 76, 250, 40, 1, 233, 13, 227, 76, 250, 40, 1, 235,
- 169, 227, 76, 250, 40, 1, 236, 29, 227, 76, 250, 40, 1, 235, 188, 227,
- 76, 250, 40, 1, 235, 177, 227, 76, 250, 40, 1, 232, 156, 227, 76, 250,
- 40, 1, 215, 190, 227, 76, 250, 40, 1, 215, 188, 227, 76, 250, 40, 1, 215,
- 139, 227, 76, 250, 40, 1, 215, 85, 227, 76, 250, 40, 1, 233, 82, 227, 76,
- 250, 40, 1, 245, 70, 227, 76, 250, 40, 1, 245, 168, 227, 76, 250, 40, 1,
- 245, 108, 227, 76, 250, 40, 1, 245, 49, 227, 76, 250, 40, 1, 232, 208,
- 227, 76, 250, 40, 1, 227, 5, 227, 76, 250, 40, 1, 227, 116, 227, 76, 250,
- 40, 1, 226, 249, 227, 76, 250, 40, 1, 227, 88, 227, 76, 250, 40, 230,
- 173, 216, 84, 227, 76, 250, 40, 243, 105, 216, 85, 227, 76, 250, 40, 230,
- 171, 216, 85, 227, 76, 250, 40, 223, 242, 227, 76, 250, 40, 226, 21, 227,
- 76, 250, 40, 254, 113, 227, 76, 250, 40, 225, 27, 230, 168, 227, 76, 250,
- 40, 225, 27, 51, 230, 168, 214, 229, 160, 234, 215, 214, 229, 160, 221,
- 0, 214, 229, 160, 225, 78, 214, 229, 5, 229, 40, 214, 229, 5, 213, 69,
- 231, 35, 218, 201, 214, 229, 160, 213, 69, 254, 118, 235, 240, 218, 201,
- 214, 229, 160, 213, 69, 235, 240, 218, 201, 214, 229, 160, 213, 69, 234,
- 203, 235, 240, 218, 201, 214, 229, 160, 250, 190, 55, 214, 229, 160, 213,
- 69, 234, 203, 235, 240, 218, 202, 222, 115, 214, 229, 160, 51, 218, 201,
- 214, 229, 160, 216, 169, 218, 201, 214, 229, 160, 234, 203, 253, 244,
- 214, 229, 160, 62, 55, 214, 229, 160, 117, 176, 55, 214, 229, 160, 133,
- 176, 55, 214, 229, 160, 223, 137, 234, 214, 235, 240, 218, 201, 214, 229,
- 160, 253, 120, 235, 240, 218, 201, 214, 229, 5, 214, 129, 218, 201, 214,
- 229, 5, 214, 129, 215, 185, 214, 229, 5, 223, 202, 214, 129, 215, 185,
- 214, 229, 5, 214, 129, 253, 244, 214, 229, 5, 223, 202, 214, 129, 253,
- 244, 214, 229, 5, 214, 129, 215, 186, 2, 218, 27, 214, 229, 5, 214, 129,
- 253, 245, 2, 218, 27, 214, 229, 5, 253, 243, 254, 2, 214, 229, 5, 253,
- 243, 252, 85, 214, 229, 5, 253, 243, 214, 252, 214, 229, 5, 253, 243,
- 214, 253, 2, 218, 27, 214, 229, 5, 217, 21, 214, 229, 5, 241, 176, 184,
- 253, 242, 214, 229, 5, 184, 253, 242, 214, 229, 5, 223, 53, 184, 253,
- 242, 214, 229, 5, 253, 243, 215, 192, 230, 160, 214, 229, 5, 253, 190, 7,
- 1, 3, 6, 61, 7, 1, 3, 6, 254, 148, 7, 3, 1, 216, 58, 254, 148, 7, 1, 3,
- 6, 252, 54, 253, 74, 7, 1, 3, 6, 250, 252, 7, 1, 3, 6, 249, 3, 7, 1, 3,
- 6, 245, 25, 7, 1, 3, 6, 74, 7, 3, 1, 216, 58, 227, 40, 74, 7, 3, 1, 216,
- 58, 72, 7, 1, 3, 6, 235, 142, 7, 1, 3, 6, 235, 27, 7, 1, 3, 6, 233, 171,
- 2, 90, 7, 1, 3, 6, 183, 7, 1, 3, 6, 223, 202, 204, 7, 1, 3, 6, 75, 7, 1,
- 3, 6, 227, 40, 75, 7, 3, 1, 220, 113, 75, 7, 3, 1, 220, 113, 227, 40, 75,
- 7, 3, 1, 220, 113, 157, 2, 90, 7, 3, 1, 216, 58, 227, 99, 7, 1, 3, 6,
- 227, 2, 7, 3, 1, 216, 227, 151, 75, 7, 3, 1, 251, 101, 151, 75, 7, 1, 3,
- 6, 226, 229, 7, 1, 3, 6, 223, 202, 149, 7, 1, 3, 6, 216, 58, 149, 7, 1,
- 3, 6, 218, 99, 7, 1, 3, 6, 69, 7, 3, 1, 220, 113, 69, 7, 3, 1, 220, 113,
- 247, 208, 69, 7, 3, 1, 220, 113, 216, 58, 183, 7, 1, 3, 6, 215, 79, 7, 1,
- 3, 6, 214, 82, 7, 1, 3, 6, 212, 152, 7, 1, 3, 6, 244, 232, 7, 1, 214,
- 116, 233, 105, 219, 182, 7, 1, 254, 103, 25, 1, 3, 6, 243, 83, 25, 1, 3,
- 6, 233, 122, 25, 1, 3, 6, 225, 240, 25, 1, 3, 6, 223, 190, 25, 1, 3, 6,
- 225, 46, 33, 1, 3, 6, 245, 131, 59, 1, 6, 61, 59, 1, 6, 254, 148, 59, 1,
- 6, 253, 74, 59, 1, 6, 252, 54, 253, 74, 59, 1, 6, 249, 3, 59, 1, 6, 74,
- 59, 1, 6, 223, 202, 74, 59, 1, 6, 243, 177, 59, 1, 6, 242, 41, 59, 1, 6,
- 72, 59, 1, 6, 235, 142, 59, 1, 6, 235, 27, 59, 1, 6, 150, 59, 1, 6, 183,
- 59, 1, 6, 204, 59, 1, 6, 223, 202, 204, 59, 1, 6, 75, 59, 1, 6, 227, 2,
- 59, 1, 6, 226, 229, 59, 1, 6, 149, 59, 1, 6, 218, 99, 59, 1, 6, 69, 59,
- 1, 6, 214, 82, 59, 1, 3, 61, 59, 1, 3, 216, 58, 61, 59, 1, 3, 254, 52,
- 59, 1, 3, 216, 58, 254, 148, 59, 1, 3, 253, 74, 59, 1, 3, 249, 3, 59, 1,
- 3, 74, 59, 1, 3, 222, 113, 59, 1, 3, 227, 40, 74, 59, 1, 3, 216, 58, 227,
- 40, 74, 59, 1, 3, 243, 177, 59, 1, 3, 216, 58, 72, 59, 1, 3, 235, 27, 59,
- 1, 3, 183, 59, 1, 3, 245, 96, 59, 1, 3, 75, 59, 1, 3, 227, 40, 75, 59, 1,
- 3, 216, 227, 151, 75, 59, 1, 3, 251, 101, 151, 75, 59, 1, 3, 226, 229,
- 59, 1, 3, 218, 99, 59, 1, 3, 69, 59, 1, 3, 220, 113, 69, 59, 1, 3, 216,
- 58, 183, 59, 1, 3, 215, 79, 59, 1, 3, 254, 103, 59, 1, 3, 251, 203, 59,
- 1, 3, 25, 243, 83, 59, 1, 3, 248, 5, 59, 1, 3, 25, 226, 9, 59, 1, 3, 250,
- 47, 7, 219, 10, 3, 1, 72, 7, 219, 10, 3, 1, 149, 7, 219, 10, 3, 1, 69, 7,
- 219, 10, 3, 1, 215, 79, 25, 219, 10, 3, 1, 251, 203, 25, 219, 10, 3, 1,
- 243, 83, 25, 219, 10, 3, 1, 223, 190, 25, 219, 10, 3, 1, 226, 9, 25, 219,
- 10, 3, 1, 250, 47, 7, 3, 1, 215, 183, 7, 3, 1, 54, 2, 231, 37, 217, 42,
- 7, 3, 1, 249, 4, 2, 231, 37, 217, 42, 7, 3, 1, 244, 231, 2, 231, 37, 217,
- 42, 7, 3, 1, 232, 110, 2, 231, 37, 217, 42, 7, 3, 1, 230, 98, 2, 231, 37,
- 217, 42, 7, 3, 1, 226, 230, 2, 231, 37, 217, 42, 7, 3, 1, 224, 113, 2,
- 231, 37, 217, 42, 7, 3, 1, 224, 113, 2, 244, 57, 24, 231, 37, 217, 42, 7,
- 3, 1, 223, 4, 2, 231, 37, 217, 42, 7, 3, 1, 218, 100, 2, 231, 37, 217,
- 42, 7, 3, 1, 212, 153, 2, 231, 37, 217, 42, 7, 3, 1, 216, 58, 243, 177,
- 59, 1, 33, 245, 108, 7, 3, 1, 235, 210, 243, 177, 7, 3, 1, 217, 164, 2,
- 219, 47, 7, 3, 6, 1, 240, 146, 2, 90, 7, 3, 1, 235, 184, 2, 90, 7, 3, 1,
- 226, 230, 2, 90, 7, 3, 6, 1, 111, 2, 90, 7, 3, 1, 215, 129, 2, 90, 7, 3,
- 1, 54, 2, 226, 193, 101, 7, 3, 1, 249, 4, 2, 226, 193, 101, 7, 3, 1, 244,
- 231, 2, 226, 193, 101, 7, 3, 1, 243, 178, 2, 226, 193, 101, 7, 3, 1, 235,
- 28, 2, 226, 193, 101, 7, 3, 1, 233, 171, 2, 226, 193, 101, 7, 3, 1, 232,
- 110, 2, 226, 193, 101, 7, 3, 1, 230, 98, 2, 226, 193, 101, 7, 3, 1, 226,
- 230, 2, 226, 193, 101, 7, 3, 1, 224, 113, 2, 226, 193, 101, 7, 3, 1, 223,
- 4, 2, 226, 193, 101, 7, 3, 1, 245, 41, 2, 226, 193, 101, 7, 3, 1, 215,
- 80, 2, 226, 193, 101, 7, 3, 1, 213, 167, 2, 226, 193, 101, 7, 3, 1, 212,
- 153, 2, 226, 193, 101, 7, 3, 1, 118, 2, 223, 207, 101, 7, 3, 1, 254, 53,
- 2, 223, 207, 101, 7, 3, 1, 249, 4, 2, 241, 38, 24, 218, 27, 7, 3, 1, 191,
- 2, 223, 207, 101, 7, 3, 1, 227, 40, 191, 2, 223, 207, 101, 7, 3, 1, 223,
- 202, 227, 40, 191, 2, 223, 207, 101, 7, 3, 1, 222, 114, 2, 223, 207, 101,
- 7, 3, 1, 240, 146, 2, 223, 207, 101, 7, 3, 1, 227, 40, 157, 2, 223, 207,
- 101, 7, 3, 1, 245, 41, 2, 223, 207, 101, 7, 3, 1, 111, 2, 223, 207, 101,
- 7, 3, 1, 244, 233, 2, 223, 207, 101, 59, 1, 3, 216, 58, 254, 52, 59, 1,
- 3, 250, 252, 59, 1, 3, 250, 253, 2, 249, 41, 59, 1, 3, 245, 25, 59, 1, 3,
- 223, 202, 227, 40, 74, 59, 1, 3, 244, 230, 59, 1, 3, 247, 73, 235, 143,
- 2, 90, 59, 1, 3, 113, 243, 177, 59, 1, 3, 216, 58, 242, 41, 59, 1, 3,
- 240, 146, 2, 90, 59, 1, 3, 235, 183, 59, 1, 3, 6, 72, 59, 1, 3, 6, 240,
- 146, 2, 90, 59, 1, 3, 235, 143, 2, 249, 67, 59, 1, 3, 233, 171, 2, 223,
- 207, 101, 59, 1, 3, 233, 171, 2, 226, 193, 101, 59, 1, 3, 6, 150, 59, 1,
- 3, 232, 110, 2, 101, 59, 1, 3, 216, 58, 232, 110, 2, 184, 233, 60, 59, 1,
- 3, 230, 98, 2, 42, 101, 59, 1, 3, 230, 98, 2, 223, 207, 101, 59, 1, 3, 6,
- 204, 59, 1, 3, 252, 54, 75, 59, 1, 3, 226, 9, 59, 1, 3, 223, 4, 2, 101,
- 59, 1, 3, 245, 40, 59, 1, 3, 218, 100, 2, 226, 193, 101, 59, 1, 3, 111,
- 134, 59, 1, 3, 215, 128, 59, 1, 3, 6, 69, 59, 1, 3, 215, 80, 2, 101, 59,
- 1, 3, 216, 58, 215, 79, 59, 1, 3, 212, 152, 59, 1, 3, 212, 153, 2, 223,
- 207, 101, 59, 1, 3, 212, 153, 2, 249, 41, 59, 1, 3, 244, 232, 59, 1, 3,
- 217, 132, 37, 246, 72, 242, 114, 254, 174, 37, 246, 72, 254, 164, 254,
- 174, 37, 219, 253, 55, 37, 218, 207, 77, 37, 232, 36, 37, 242, 111, 37,
- 232, 34, 37, 254, 162, 37, 242, 112, 37, 254, 163, 37, 7, 3, 1, 224, 113,
- 55, 37, 251, 73, 37, 232, 35, 37, 51, 249, 224, 49, 37, 227, 91, 49, 37,
- 212, 28, 55, 37, 235, 170, 55, 37, 215, 122, 49, 37, 215, 105, 49, 37, 7,
- 3, 1, 244, 32, 227, 40, 118, 49, 37, 7, 3, 1, 254, 148, 37, 7, 3, 1, 253,
- 240, 37, 7, 3, 1, 253, 92, 37, 7, 3, 1, 250, 253, 250, 117, 37, 7, 3, 1,
- 235, 210, 249, 3, 37, 7, 3, 1, 245, 25, 37, 7, 3, 1, 243, 177, 37, 7, 1,
- 3, 6, 243, 177, 37, 7, 3, 1, 235, 27, 37, 7, 3, 1, 150, 37, 7, 1, 3, 6,
- 150, 37, 7, 1, 3, 6, 183, 37, 7, 3, 1, 204, 37, 7, 1, 3, 6, 204, 37, 7,
- 1, 3, 6, 149, 37, 7, 3, 1, 224, 113, 223, 88, 37, 7, 3, 1, 197, 37, 7, 3,
- 1, 184, 197, 37, 7, 3, 1, 212, 152, 37, 51, 235, 191, 251, 75, 55, 37,
- 254, 57, 123, 211, 211, 55, 37, 42, 253, 165, 49, 37, 46, 253, 165, 24,
- 119, 253, 165, 55, 7, 6, 1, 118, 2, 223, 131, 55, 7, 3, 1, 118, 2, 223,
- 131, 55, 7, 6, 1, 54, 2, 62, 49, 7, 3, 1, 54, 2, 62, 49, 7, 6, 1, 54, 2,
- 62, 55, 7, 3, 1, 54, 2, 62, 55, 7, 6, 1, 54, 2, 232, 243, 55, 7, 3, 1,
- 54, 2, 232, 243, 55, 7, 6, 1, 250, 253, 2, 250, 118, 24, 179, 7, 3, 1,
- 250, 253, 2, 250, 118, 24, 179, 7, 6, 1, 249, 4, 2, 62, 49, 7, 3, 1, 249,
- 4, 2, 62, 49, 7, 6, 1, 249, 4, 2, 62, 55, 7, 3, 1, 249, 4, 2, 62, 55, 7,
- 6, 1, 249, 4, 2, 232, 243, 55, 7, 3, 1, 249, 4, 2, 232, 243, 55, 7, 6, 1,
- 249, 4, 2, 250, 117, 7, 3, 1, 249, 4, 2, 250, 117, 7, 6, 1, 249, 4, 2,
- 249, 224, 55, 7, 3, 1, 249, 4, 2, 249, 224, 55, 7, 6, 1, 191, 2, 232, 38,
- 24, 242, 113, 7, 3, 1, 191, 2, 232, 38, 24, 242, 113, 7, 6, 1, 191, 2,
- 232, 38, 24, 179, 7, 3, 1, 191, 2, 232, 38, 24, 179, 7, 6, 1, 191, 2,
- 249, 224, 55, 7, 3, 1, 191, 2, 249, 224, 55, 7, 6, 1, 191, 2, 217, 43,
- 55, 7, 3, 1, 191, 2, 217, 43, 55, 7, 6, 1, 191, 2, 250, 118, 24, 251, 74,
- 7, 3, 1, 191, 2, 250, 118, 24, 251, 74, 7, 6, 1, 244, 231, 2, 62, 49, 7,
- 3, 1, 244, 231, 2, 62, 49, 7, 6, 1, 243, 178, 2, 232, 37, 7, 3, 1, 243,
- 178, 2, 232, 37, 7, 6, 1, 242, 42, 2, 62, 49, 7, 3, 1, 242, 42, 2, 62,
- 49, 7, 6, 1, 242, 42, 2, 62, 55, 7, 3, 1, 242, 42, 2, 62, 55, 7, 6, 1,
- 242, 42, 2, 247, 209, 7, 3, 1, 242, 42, 2, 247, 209, 7, 6, 1, 242, 42, 2,
- 250, 117, 7, 3, 1, 242, 42, 2, 250, 117, 7, 6, 1, 242, 42, 2, 251, 75,
- 55, 7, 3, 1, 242, 42, 2, 251, 75, 55, 7, 6, 1, 240, 146, 2, 217, 43, 55,
- 7, 3, 1, 240, 146, 2, 217, 43, 55, 7, 6, 1, 240, 146, 2, 247, 210, 24,
- 179, 7, 3, 1, 240, 146, 2, 247, 210, 24, 179, 7, 6, 1, 235, 28, 2, 179,
- 7, 3, 1, 235, 28, 2, 179, 7, 6, 1, 235, 28, 2, 62, 55, 7, 3, 1, 235, 28,
- 2, 62, 55, 7, 6, 1, 235, 28, 2, 232, 243, 55, 7, 3, 1, 235, 28, 2, 232,
- 243, 55, 7, 6, 1, 233, 171, 2, 62, 55, 7, 3, 1, 233, 171, 2, 62, 55, 7,
- 6, 1, 233, 171, 2, 62, 251, 220, 24, 232, 37, 7, 3, 1, 233, 171, 2, 62,
- 251, 220, 24, 232, 37, 7, 6, 1, 233, 171, 2, 232, 243, 55, 7, 3, 1, 233,
- 171, 2, 232, 243, 55, 7, 6, 1, 233, 171, 2, 249, 224, 55, 7, 3, 1, 233,
- 171, 2, 249, 224, 55, 7, 6, 1, 232, 110, 2, 179, 7, 3, 1, 232, 110, 2,
- 179, 7, 6, 1, 232, 110, 2, 62, 49, 7, 3, 1, 232, 110, 2, 62, 49, 7, 6, 1,
- 232, 110, 2, 62, 55, 7, 3, 1, 232, 110, 2, 62, 55, 7, 6, 1, 230, 98, 2,
- 62, 49, 7, 3, 1, 230, 98, 2, 62, 49, 7, 6, 1, 230, 98, 2, 62, 55, 7, 3,
- 1, 230, 98, 2, 62, 55, 7, 6, 1, 230, 98, 2, 232, 243, 55, 7, 3, 1, 230,
- 98, 2, 232, 243, 55, 7, 6, 1, 230, 98, 2, 249, 224, 55, 7, 3, 1, 230, 98,
- 2, 249, 224, 55, 7, 6, 1, 157, 2, 217, 43, 24, 179, 7, 3, 1, 157, 2, 217,
- 43, 24, 179, 7, 6, 1, 157, 2, 217, 43, 24, 247, 209, 7, 3, 1, 157, 2,
- 217, 43, 24, 247, 209, 7, 6, 1, 157, 2, 232, 38, 24, 242, 113, 7, 3, 1,
- 157, 2, 232, 38, 24, 242, 113, 7, 6, 1, 157, 2, 232, 38, 24, 179, 7, 3,
- 1, 157, 2, 232, 38, 24, 179, 7, 6, 1, 226, 230, 2, 179, 7, 3, 1, 226,
- 230, 2, 179, 7, 6, 1, 226, 230, 2, 62, 49, 7, 3, 1, 226, 230, 2, 62, 49,
- 7, 6, 1, 224, 113, 2, 62, 49, 7, 3, 1, 224, 113, 2, 62, 49, 7, 6, 1, 224,
- 113, 2, 62, 55, 7, 3, 1, 224, 113, 2, 62, 55, 7, 6, 1, 224, 113, 2, 62,
- 251, 220, 24, 232, 37, 7, 3, 1, 224, 113, 2, 62, 251, 220, 24, 232, 37,
- 7, 6, 1, 224, 113, 2, 232, 243, 55, 7, 3, 1, 224, 113, 2, 232, 243, 55,
- 7, 6, 1, 223, 4, 2, 62, 49, 7, 3, 1, 223, 4, 2, 62, 49, 7, 6, 1, 223, 4,
- 2, 62, 55, 7, 3, 1, 223, 4, 2, 62, 55, 7, 6, 1, 223, 4, 2, 254, 164, 24,
- 62, 49, 7, 3, 1, 223, 4, 2, 254, 164, 24, 62, 49, 7, 6, 1, 223, 4, 2,
- 250, 167, 24, 62, 49, 7, 3, 1, 223, 4, 2, 250, 167, 24, 62, 49, 7, 6, 1,
- 223, 4, 2, 62, 251, 220, 24, 62, 49, 7, 3, 1, 223, 4, 2, 62, 251, 220,
- 24, 62, 49, 7, 6, 1, 218, 100, 2, 62, 49, 7, 3, 1, 218, 100, 2, 62, 49,
- 7, 6, 1, 218, 100, 2, 62, 55, 7, 3, 1, 218, 100, 2, 62, 55, 7, 6, 1, 218,
- 100, 2, 232, 243, 55, 7, 3, 1, 218, 100, 2, 232, 243, 55, 7, 6, 1, 218,
- 100, 2, 249, 224, 55, 7, 3, 1, 218, 100, 2, 249, 224, 55, 7, 6, 1, 111,
- 2, 247, 210, 55, 7, 3, 1, 111, 2, 247, 210, 55, 7, 6, 1, 111, 2, 217, 43,
- 55, 7, 3, 1, 111, 2, 217, 43, 55, 7, 6, 1, 111, 2, 249, 224, 55, 7, 3, 1,
- 111, 2, 249, 224, 55, 7, 6, 1, 111, 2, 217, 43, 24, 179, 7, 3, 1, 111, 2,
- 217, 43, 24, 179, 7, 6, 1, 111, 2, 232, 38, 24, 247, 209, 7, 3, 1, 111,
- 2, 232, 38, 24, 247, 209, 7, 6, 1, 215, 80, 2, 217, 42, 7, 3, 1, 215, 80,
- 2, 217, 42, 7, 6, 1, 215, 80, 2, 62, 55, 7, 3, 1, 215, 80, 2, 62, 55, 7,
- 6, 1, 214, 83, 2, 242, 113, 7, 3, 1, 214, 83, 2, 242, 113, 7, 6, 1, 214,
- 83, 2, 179, 7, 3, 1, 214, 83, 2, 179, 7, 6, 1, 214, 83, 2, 247, 209, 7,
- 3, 1, 214, 83, 2, 247, 209, 7, 6, 1, 214, 83, 2, 62, 49, 7, 3, 1, 214,
- 83, 2, 62, 49, 7, 6, 1, 214, 83, 2, 62, 55, 7, 3, 1, 214, 83, 2, 62, 55,
- 7, 6, 1, 213, 167, 2, 62, 49, 7, 3, 1, 213, 167, 2, 62, 49, 7, 6, 1, 213,
- 167, 2, 247, 209, 7, 3, 1, 213, 167, 2, 247, 209, 7, 6, 1, 213, 106, 2,
- 62, 49, 7, 3, 1, 213, 106, 2, 62, 49, 7, 6, 1, 212, 153, 2, 249, 223, 7,
- 3, 1, 212, 153, 2, 249, 223, 7, 6, 1, 212, 153, 2, 62, 55, 7, 3, 1, 212,
- 153, 2, 62, 55, 7, 6, 1, 212, 153, 2, 232, 243, 55, 7, 3, 1, 212, 153, 2,
- 232, 243, 55, 7, 3, 1, 242, 42, 2, 232, 243, 55, 7, 3, 1, 218, 100, 2,
- 247, 209, 7, 3, 1, 214, 83, 2, 223, 131, 49, 7, 3, 1, 213, 106, 2, 223,
- 131, 49, 7, 3, 1, 118, 2, 46, 151, 223, 130, 7, 3, 1, 184, 223, 4, 2, 62,
- 49, 7, 3, 1, 184, 223, 4, 2, 247, 207, 90, 7, 3, 1, 184, 223, 4, 2, 124,
- 90, 7, 6, 1, 220, 255, 197, 7, 3, 1, 248, 5, 7, 6, 1, 118, 2, 62, 55, 7,
- 3, 1, 118, 2, 62, 55, 7, 6, 1, 118, 2, 241, 38, 49, 7, 3, 1, 118, 2, 241,
- 38, 49, 7, 6, 1, 118, 2, 249, 224, 24, 179, 7, 3, 1, 118, 2, 249, 224,
- 24, 179, 7, 6, 1, 118, 2, 249, 224, 24, 242, 113, 7, 3, 1, 118, 2, 249,
- 224, 24, 242, 113, 7, 6, 1, 118, 2, 249, 224, 24, 241, 38, 49, 7, 3, 1,
- 118, 2, 249, 224, 24, 241, 38, 49, 7, 6, 1, 118, 2, 249, 224, 24, 217,
- 42, 7, 3, 1, 118, 2, 249, 224, 24, 217, 42, 7, 6, 1, 118, 2, 249, 224,
- 24, 62, 55, 7, 3, 1, 118, 2, 249, 224, 24, 62, 55, 7, 6, 1, 118, 2, 251,
- 75, 24, 179, 7, 3, 1, 118, 2, 251, 75, 24, 179, 7, 6, 1, 118, 2, 251, 75,
- 24, 242, 113, 7, 3, 1, 118, 2, 251, 75, 24, 242, 113, 7, 6, 1, 118, 2,
- 251, 75, 24, 241, 38, 49, 7, 3, 1, 118, 2, 251, 75, 24, 241, 38, 49, 7,
- 6, 1, 118, 2, 251, 75, 24, 217, 42, 7, 3, 1, 118, 2, 251, 75, 24, 217,
- 42, 7, 6, 1, 118, 2, 251, 75, 24, 62, 55, 7, 3, 1, 118, 2, 251, 75, 24,
- 62, 55, 7, 6, 1, 191, 2, 62, 55, 7, 3, 1, 191, 2, 62, 55, 7, 6, 1, 191,
- 2, 241, 38, 49, 7, 3, 1, 191, 2, 241, 38, 49, 7, 6, 1, 191, 2, 217, 42,
- 7, 3, 1, 191, 2, 217, 42, 7, 6, 1, 191, 2, 249, 224, 24, 179, 7, 3, 1,
- 191, 2, 249, 224, 24, 179, 7, 6, 1, 191, 2, 249, 224, 24, 242, 113, 7, 3,
- 1, 191, 2, 249, 224, 24, 242, 113, 7, 6, 1, 191, 2, 249, 224, 24, 241,
- 38, 49, 7, 3, 1, 191, 2, 249, 224, 24, 241, 38, 49, 7, 6, 1, 191, 2, 249,
- 224, 24, 217, 42, 7, 3, 1, 191, 2, 249, 224, 24, 217, 42, 7, 6, 1, 191,
- 2, 249, 224, 24, 62, 55, 7, 3, 1, 191, 2, 249, 224, 24, 62, 55, 7, 6, 1,
- 240, 146, 2, 241, 38, 49, 7, 3, 1, 240, 146, 2, 241, 38, 49, 7, 6, 1,
- 240, 146, 2, 62, 55, 7, 3, 1, 240, 146, 2, 62, 55, 7, 6, 1, 157, 2, 62,
- 55, 7, 3, 1, 157, 2, 62, 55, 7, 6, 1, 157, 2, 241, 38, 49, 7, 3, 1, 157,
- 2, 241, 38, 49, 7, 6, 1, 157, 2, 249, 224, 24, 179, 7, 3, 1, 157, 2, 249,
- 224, 24, 179, 7, 6, 1, 157, 2, 249, 224, 24, 242, 113, 7, 3, 1, 157, 2,
- 249, 224, 24, 242, 113, 7, 6, 1, 157, 2, 249, 224, 24, 241, 38, 49, 7, 3,
- 1, 157, 2, 249, 224, 24, 241, 38, 49, 7, 6, 1, 157, 2, 249, 224, 24, 217,
- 42, 7, 3, 1, 157, 2, 249, 224, 24, 217, 42, 7, 6, 1, 157, 2, 249, 224,
- 24, 62, 55, 7, 3, 1, 157, 2, 249, 224, 24, 62, 55, 7, 6, 1, 157, 2, 240,
- 236, 24, 179, 7, 3, 1, 157, 2, 240, 236, 24, 179, 7, 6, 1, 157, 2, 240,
- 236, 24, 242, 113, 7, 3, 1, 157, 2, 240, 236, 24, 242, 113, 7, 6, 1, 157,
- 2, 240, 236, 24, 241, 38, 49, 7, 3, 1, 157, 2, 240, 236, 24, 241, 38, 49,
- 7, 6, 1, 157, 2, 240, 236, 24, 217, 42, 7, 3, 1, 157, 2, 240, 236, 24,
- 217, 42, 7, 6, 1, 157, 2, 240, 236, 24, 62, 55, 7, 3, 1, 157, 2, 240,
- 236, 24, 62, 55, 7, 6, 1, 111, 2, 62, 55, 7, 3, 1, 111, 2, 62, 55, 7, 6,
- 1, 111, 2, 241, 38, 49, 7, 3, 1, 111, 2, 241, 38, 49, 7, 6, 1, 111, 2,
- 240, 236, 24, 179, 7, 3, 1, 111, 2, 240, 236, 24, 179, 7, 6, 1, 111, 2,
- 240, 236, 24, 242, 113, 7, 3, 1, 111, 2, 240, 236, 24, 242, 113, 7, 6, 1,
- 111, 2, 240, 236, 24, 241, 38, 49, 7, 3, 1, 111, 2, 240, 236, 24, 241,
- 38, 49, 7, 6, 1, 111, 2, 240, 236, 24, 217, 42, 7, 3, 1, 111, 2, 240,
- 236, 24, 217, 42, 7, 6, 1, 111, 2, 240, 236, 24, 62, 55, 7, 3, 1, 111, 2,
- 240, 236, 24, 62, 55, 7, 6, 1, 213, 106, 2, 242, 113, 7, 3, 1, 213, 106,
- 2, 242, 113, 7, 6, 1, 213, 106, 2, 62, 55, 7, 3, 1, 213, 106, 2, 62, 55,
- 7, 6, 1, 213, 106, 2, 241, 38, 49, 7, 3, 1, 213, 106, 2, 241, 38, 49, 7,
- 6, 1, 213, 106, 2, 217, 42, 7, 3, 1, 213, 106, 2, 217, 42, 7, 6, 1, 231,
- 36, 232, 214, 7, 3, 1, 231, 36, 232, 214, 7, 6, 1, 231, 36, 215, 79, 7,
- 3, 1, 231, 36, 215, 79, 7, 6, 1, 213, 106, 2, 232, 177, 7, 3, 1, 213,
- 106, 2, 232, 177, 25, 3, 1, 254, 53, 2, 225, 39, 25, 3, 1, 254, 53, 2,
- 248, 99, 25, 3, 1, 254, 53, 2, 225, 40, 24, 214, 245, 25, 3, 1, 254, 53,
- 2, 207, 24, 214, 245, 25, 3, 1, 254, 53, 2, 225, 40, 24, 226, 234, 25, 3,
- 1, 254, 53, 2, 207, 24, 226, 234, 25, 3, 1, 254, 53, 2, 225, 40, 24, 226,
- 50, 25, 3, 1, 254, 53, 2, 207, 24, 226, 50, 25, 6, 1, 254, 53, 2, 225,
- 39, 25, 6, 1, 254, 53, 2, 248, 99, 25, 6, 1, 254, 53, 2, 225, 40, 24,
- 214, 245, 25, 6, 1, 254, 53, 2, 207, 24, 214, 245, 25, 6, 1, 254, 53, 2,
- 225, 40, 24, 226, 234, 25, 6, 1, 254, 53, 2, 207, 24, 226, 234, 25, 6, 1,
- 254, 53, 2, 225, 40, 24, 226, 50, 25, 6, 1, 254, 53, 2, 207, 24, 226, 50,
- 25, 3, 1, 245, 64, 2, 225, 39, 25, 3, 1, 245, 64, 2, 248, 99, 25, 3, 1,
- 245, 64, 2, 225, 40, 24, 214, 245, 25, 3, 1, 245, 64, 2, 207, 24, 214,
- 245, 25, 3, 1, 245, 64, 2, 225, 40, 24, 226, 234, 25, 3, 1, 245, 64, 2,
- 207, 24, 226, 234, 25, 6, 1, 245, 64, 2, 225, 39, 25, 6, 1, 245, 64, 2,
- 248, 99, 25, 6, 1, 245, 64, 2, 225, 40, 24, 214, 245, 25, 6, 1, 245, 64,
- 2, 207, 24, 214, 245, 25, 6, 1, 245, 64, 2, 225, 40, 24, 226, 234, 25, 6,
- 1, 245, 64, 2, 207, 24, 226, 234, 25, 3, 1, 245, 29, 2, 225, 39, 25, 3,
- 1, 245, 29, 2, 248, 99, 25, 3, 1, 245, 29, 2, 225, 40, 24, 214, 245, 25,
- 3, 1, 245, 29, 2, 207, 24, 214, 245, 25, 3, 1, 245, 29, 2, 225, 40, 24,
- 226, 234, 25, 3, 1, 245, 29, 2, 207, 24, 226, 234, 25, 3, 1, 245, 29, 2,
- 225, 40, 24, 226, 50, 25, 3, 1, 245, 29, 2, 207, 24, 226, 50, 25, 6, 1,
- 245, 29, 2, 225, 39, 25, 6, 1, 245, 29, 2, 248, 99, 25, 6, 1, 245, 29, 2,
- 225, 40, 24, 214, 245, 25, 6, 1, 245, 29, 2, 207, 24, 214, 245, 25, 6, 1,
- 245, 29, 2, 225, 40, 24, 226, 234, 25, 6, 1, 245, 29, 2, 207, 24, 226,
- 234, 25, 6, 1, 245, 29, 2, 225, 40, 24, 226, 50, 25, 6, 1, 245, 29, 2,
- 207, 24, 226, 50, 25, 3, 1, 235, 184, 2, 225, 39, 25, 3, 1, 235, 184, 2,
- 248, 99, 25, 3, 1, 235, 184, 2, 225, 40, 24, 214, 245, 25, 3, 1, 235,
- 184, 2, 207, 24, 214, 245, 25, 3, 1, 235, 184, 2, 225, 40, 24, 226, 234,
- 25, 3, 1, 235, 184, 2, 207, 24, 226, 234, 25, 3, 1, 235, 184, 2, 225, 40,
- 24, 226, 50, 25, 3, 1, 235, 184, 2, 207, 24, 226, 50, 25, 6, 1, 235, 184,
- 2, 225, 39, 25, 6, 1, 235, 184, 2, 248, 99, 25, 6, 1, 235, 184, 2, 225,
- 40, 24, 214, 245, 25, 6, 1, 235, 184, 2, 207, 24, 214, 245, 25, 6, 1,
- 235, 184, 2, 225, 40, 24, 226, 234, 25, 6, 1, 235, 184, 2, 207, 24, 226,
- 234, 25, 6, 1, 235, 184, 2, 225, 40, 24, 226, 50, 25, 6, 1, 235, 184, 2,
- 207, 24, 226, 50, 25, 3, 1, 227, 66, 2, 225, 39, 25, 3, 1, 227, 66, 2,
- 248, 99, 25, 3, 1, 227, 66, 2, 225, 40, 24, 214, 245, 25, 3, 1, 227, 66,
- 2, 207, 24, 214, 245, 25, 3, 1, 227, 66, 2, 225, 40, 24, 226, 234, 25, 3,
- 1, 227, 66, 2, 207, 24, 226, 234, 25, 6, 1, 227, 66, 2, 225, 39, 25, 6,
- 1, 227, 66, 2, 248, 99, 25, 6, 1, 227, 66, 2, 225, 40, 24, 214, 245, 25,
- 6, 1, 227, 66, 2, 207, 24, 214, 245, 25, 6, 1, 227, 66, 2, 225, 40, 24,
- 226, 234, 25, 6, 1, 227, 66, 2, 207, 24, 226, 234, 25, 3, 1, 215, 129, 2,
- 225, 39, 25, 3, 1, 215, 129, 2, 248, 99, 25, 3, 1, 215, 129, 2, 225, 40,
- 24, 214, 245, 25, 3, 1, 215, 129, 2, 207, 24, 214, 245, 25, 3, 1, 215,
- 129, 2, 225, 40, 24, 226, 234, 25, 3, 1, 215, 129, 2, 207, 24, 226, 234,
- 25, 3, 1, 215, 129, 2, 225, 40, 24, 226, 50, 25, 3, 1, 215, 129, 2, 207,
- 24, 226, 50, 25, 6, 1, 215, 129, 2, 248, 99, 25, 6, 1, 215, 129, 2, 207,
- 24, 214, 245, 25, 6, 1, 215, 129, 2, 207, 24, 226, 234, 25, 6, 1, 215,
- 129, 2, 207, 24, 226, 50, 25, 3, 1, 227, 68, 2, 225, 39, 25, 3, 1, 227,
- 68, 2, 248, 99, 25, 3, 1, 227, 68, 2, 225, 40, 24, 214, 245, 25, 3, 1,
- 227, 68, 2, 207, 24, 214, 245, 25, 3, 1, 227, 68, 2, 225, 40, 24, 226,
- 234, 25, 3, 1, 227, 68, 2, 207, 24, 226, 234, 25, 3, 1, 227, 68, 2, 225,
- 40, 24, 226, 50, 25, 3, 1, 227, 68, 2, 207, 24, 226, 50, 25, 6, 1, 227,
- 68, 2, 225, 39, 25, 6, 1, 227, 68, 2, 248, 99, 25, 6, 1, 227, 68, 2, 225,
- 40, 24, 214, 245, 25, 6, 1, 227, 68, 2, 207, 24, 214, 245, 25, 6, 1, 227,
- 68, 2, 225, 40, 24, 226, 234, 25, 6, 1, 227, 68, 2, 207, 24, 226, 234,
- 25, 6, 1, 227, 68, 2, 225, 40, 24, 226, 50, 25, 6, 1, 227, 68, 2, 207,
- 24, 226, 50, 25, 3, 1, 254, 53, 2, 214, 245, 25, 3, 1, 254, 53, 2, 226,
- 234, 25, 3, 1, 245, 64, 2, 214, 245, 25, 3, 1, 245, 64, 2, 226, 234, 25,
- 3, 1, 245, 29, 2, 214, 245, 25, 3, 1, 245, 29, 2, 226, 234, 25, 3, 1,
- 235, 184, 2, 214, 245, 25, 3, 1, 235, 184, 2, 226, 234, 25, 3, 1, 227,
- 66, 2, 214, 245, 25, 3, 1, 227, 66, 2, 226, 234, 25, 3, 1, 215, 129, 2,
- 214, 245, 25, 3, 1, 215, 129, 2, 226, 234, 25, 3, 1, 227, 68, 2, 214,
- 245, 25, 3, 1, 227, 68, 2, 226, 234, 25, 3, 1, 254, 53, 2, 225, 40, 24,
- 212, 210, 25, 3, 1, 254, 53, 2, 207, 24, 212, 210, 25, 3, 1, 254, 53, 2,
- 225, 40, 24, 214, 246, 24, 212, 210, 25, 3, 1, 254, 53, 2, 207, 24, 214,
- 246, 24, 212, 210, 25, 3, 1, 254, 53, 2, 225, 40, 24, 226, 235, 24, 212,
- 210, 25, 3, 1, 254, 53, 2, 207, 24, 226, 235, 24, 212, 210, 25, 3, 1,
- 254, 53, 2, 225, 40, 24, 226, 51, 24, 212, 210, 25, 3, 1, 254, 53, 2,
- 207, 24, 226, 51, 24, 212, 210, 25, 6, 1, 254, 53, 2, 225, 40, 24, 225,
- 51, 25, 6, 1, 254, 53, 2, 207, 24, 225, 51, 25, 6, 1, 254, 53, 2, 225,
- 40, 24, 214, 246, 24, 225, 51, 25, 6, 1, 254, 53, 2, 207, 24, 214, 246,
- 24, 225, 51, 25, 6, 1, 254, 53, 2, 225, 40, 24, 226, 235, 24, 225, 51,
- 25, 6, 1, 254, 53, 2, 207, 24, 226, 235, 24, 225, 51, 25, 6, 1, 254, 53,
- 2, 225, 40, 24, 226, 51, 24, 225, 51, 25, 6, 1, 254, 53, 2, 207, 24, 226,
- 51, 24, 225, 51, 25, 3, 1, 245, 29, 2, 225, 40, 24, 212, 210, 25, 3, 1,
- 245, 29, 2, 207, 24, 212, 210, 25, 3, 1, 245, 29, 2, 225, 40, 24, 214,
- 246, 24, 212, 210, 25, 3, 1, 245, 29, 2, 207, 24, 214, 246, 24, 212, 210,
- 25, 3, 1, 245, 29, 2, 225, 40, 24, 226, 235, 24, 212, 210, 25, 3, 1, 245,
- 29, 2, 207, 24, 226, 235, 24, 212, 210, 25, 3, 1, 245, 29, 2, 225, 40,
- 24, 226, 51, 24, 212, 210, 25, 3, 1, 245, 29, 2, 207, 24, 226, 51, 24,
- 212, 210, 25, 6, 1, 245, 29, 2, 225, 40, 24, 225, 51, 25, 6, 1, 245, 29,
- 2, 207, 24, 225, 51, 25, 6, 1, 245, 29, 2, 225, 40, 24, 214, 246, 24,
- 225, 51, 25, 6, 1, 245, 29, 2, 207, 24, 214, 246, 24, 225, 51, 25, 6, 1,
- 245, 29, 2, 225, 40, 24, 226, 235, 24, 225, 51, 25, 6, 1, 245, 29, 2,
- 207, 24, 226, 235, 24, 225, 51, 25, 6, 1, 245, 29, 2, 225, 40, 24, 226,
- 51, 24, 225, 51, 25, 6, 1, 245, 29, 2, 207, 24, 226, 51, 24, 225, 51, 25,
- 3, 1, 227, 68, 2, 225, 40, 24, 212, 210, 25, 3, 1, 227, 68, 2, 207, 24,
- 212, 210, 25, 3, 1, 227, 68, 2, 225, 40, 24, 214, 246, 24, 212, 210, 25,
- 3, 1, 227, 68, 2, 207, 24, 214, 246, 24, 212, 210, 25, 3, 1, 227, 68, 2,
- 225, 40, 24, 226, 235, 24, 212, 210, 25, 3, 1, 227, 68, 2, 207, 24, 226,
- 235, 24, 212, 210, 25, 3, 1, 227, 68, 2, 225, 40, 24, 226, 51, 24, 212,
- 210, 25, 3, 1, 227, 68, 2, 207, 24, 226, 51, 24, 212, 210, 25, 6, 1, 227,
- 68, 2, 225, 40, 24, 225, 51, 25, 6, 1, 227, 68, 2, 207, 24, 225, 51, 25,
- 6, 1, 227, 68, 2, 225, 40, 24, 214, 246, 24, 225, 51, 25, 6, 1, 227, 68,
- 2, 207, 24, 214, 246, 24, 225, 51, 25, 6, 1, 227, 68, 2, 225, 40, 24,
- 226, 235, 24, 225, 51, 25, 6, 1, 227, 68, 2, 207, 24, 226, 235, 24, 225,
- 51, 25, 6, 1, 227, 68, 2, 225, 40, 24, 226, 51, 24, 225, 51, 25, 6, 1,
- 227, 68, 2, 207, 24, 226, 51, 24, 225, 51, 25, 3, 1, 254, 53, 2, 214,
- 101, 25, 3, 1, 254, 53, 2, 232, 37, 25, 3, 1, 254, 53, 2, 214, 246, 24,
- 212, 210, 25, 3, 1, 254, 53, 2, 212, 210, 25, 3, 1, 254, 53, 2, 226, 235,
- 24, 212, 210, 25, 3, 1, 254, 53, 2, 226, 50, 25, 3, 1, 254, 53, 2, 226,
- 51, 24, 212, 210, 25, 6, 1, 254, 53, 2, 214, 101, 25, 6, 1, 254, 53, 2,
- 232, 37, 25, 6, 1, 254, 53, 2, 214, 245, 25, 6, 1, 254, 53, 2, 226, 234,
- 25, 6, 1, 254, 53, 2, 225, 51, 25, 234, 11, 25, 225, 51, 25, 225, 39, 25,
- 226, 50, 25, 247, 204, 24, 226, 50, 25, 3, 1, 245, 29, 2, 214, 246, 24,
- 212, 210, 25, 3, 1, 245, 29, 2, 212, 210, 25, 3, 1, 245, 29, 2, 226, 235,
- 24, 212, 210, 25, 3, 1, 245, 29, 2, 226, 50, 25, 3, 1, 245, 29, 2, 226,
- 51, 24, 212, 210, 25, 6, 1, 245, 64, 2, 214, 245, 25, 6, 1, 245, 64, 2,
- 226, 234, 25, 6, 1, 245, 29, 2, 214, 245, 25, 6, 1, 245, 29, 2, 226, 234,
- 25, 6, 1, 245, 29, 2, 225, 51, 25, 225, 40, 24, 214, 245, 25, 225, 40,
- 24, 226, 234, 25, 225, 40, 24, 226, 50, 25, 3, 1, 235, 184, 2, 214, 101,
- 25, 3, 1, 235, 184, 2, 232, 37, 25, 3, 1, 235, 184, 2, 247, 204, 24, 214,
- 245, 25, 3, 1, 235, 184, 2, 247, 204, 24, 226, 234, 25, 3, 1, 235, 184,
- 2, 226, 50, 25, 3, 1, 235, 184, 2, 247, 204, 24, 226, 50, 25, 6, 1, 235,
- 184, 2, 214, 101, 25, 6, 1, 235, 184, 2, 232, 37, 25, 6, 1, 235, 184, 2,
- 214, 245, 25, 6, 1, 235, 184, 2, 226, 234, 25, 207, 24, 214, 245, 25,
- 207, 24, 226, 234, 25, 207, 24, 226, 50, 25, 3, 1, 215, 129, 2, 214, 101,
- 25, 3, 1, 215, 129, 2, 232, 37, 25, 3, 1, 215, 129, 2, 247, 204, 24, 214,
- 245, 25, 3, 1, 215, 129, 2, 247, 204, 24, 226, 234, 25, 3, 1, 223, 191,
- 2, 225, 39, 25, 3, 1, 223, 191, 2, 248, 99, 25, 3, 1, 215, 129, 2, 226,
- 50, 25, 3, 1, 215, 129, 2, 247, 204, 24, 226, 50, 25, 6, 1, 215, 129, 2,
- 214, 101, 25, 6, 1, 215, 129, 2, 232, 37, 25, 6, 1, 215, 129, 2, 214,
- 245, 25, 6, 1, 215, 129, 2, 226, 234, 25, 6, 1, 223, 191, 2, 248, 99, 25,
- 247, 204, 24, 214, 245, 25, 247, 204, 24, 226, 234, 25, 214, 245, 25, 3,
- 1, 227, 68, 2, 214, 246, 24, 212, 210, 25, 3, 1, 227, 68, 2, 212, 210,
- 25, 3, 1, 227, 68, 2, 226, 235, 24, 212, 210, 25, 3, 1, 227, 68, 2, 226,
- 50, 25, 3, 1, 227, 68, 2, 226, 51, 24, 212, 210, 25, 6, 1, 227, 66, 2,
- 214, 245, 25, 6, 1, 227, 66, 2, 226, 234, 25, 6, 1, 227, 68, 2, 214, 245,
- 25, 6, 1, 227, 68, 2, 226, 234, 25, 6, 1, 227, 68, 2, 225, 51, 25, 226,
- 234, 25, 248, 99, 245, 109, 224, 172, 245, 118, 224, 172, 245, 109, 219,
- 206, 245, 118, 219, 206, 217, 95, 219, 206, 243, 235, 219, 206, 220, 51,
- 219, 206, 244, 81, 219, 206, 225, 27, 219, 206, 217, 123, 219, 206, 242,
- 17, 219, 206, 212, 80, 213, 230, 219, 206, 212, 80, 213, 230, 228, 178,
- 212, 80, 213, 230, 235, 66, 233, 62, 77, 223, 140, 77, 240, 160, 228,
- 179, 240, 160, 244, 81, 248, 101, 245, 109, 248, 101, 245, 118, 248, 101,
- 199, 134, 51, 71, 232, 242, 51, 115, 232, 242, 42, 220, 81, 224, 143, 77,
- 46, 220, 81, 224, 143, 77, 220, 81, 232, 164, 224, 143, 77, 220, 81, 241,
- 149, 224, 143, 77, 42, 51, 224, 143, 77, 46, 51, 224, 143, 77, 51, 232,
- 164, 224, 143, 77, 51, 241, 149, 224, 143, 77, 248, 149, 51, 248, 149,
- 251, 42, 216, 180, 251, 42, 122, 62, 233, 80, 117, 62, 233, 80, 199, 245,
- 120, 240, 158, 225, 144, 232, 243, 221, 57, 226, 143, 221, 57, 233, 62,
- 245, 116, 223, 140, 245, 116, 225, 126, 247, 148, 243, 244, 233, 62, 226,
- 241, 223, 140, 226, 241, 230, 14, 228, 184, 219, 206, 226, 58, 231, 6,
- 52, 226, 58, 217, 201, 217, 101, 52, 225, 71, 51, 225, 71, 216, 169, 225,
- 71, 223, 202, 225, 71, 223, 202, 51, 225, 71, 223, 202, 216, 169, 225,
- 71, 250, 170, 220, 81, 233, 66, 254, 19, 224, 143, 77, 220, 81, 223, 144,
- 254, 19, 224, 143, 77, 224, 0, 77, 51, 244, 254, 77, 235, 198, 226, 243,
- 215, 150, 137, 217, 65, 250, 171, 235, 213, 225, 144, 253, 130, 240, 161,
- 251, 42, 243, 228, 220, 23, 42, 41, 251, 85, 2, 224, 152, 46, 41, 251,
- 85, 2, 224, 152, 51, 224, 158, 77, 224, 158, 244, 254, 77, 244, 254, 224,
- 158, 77, 217, 23, 5, 245, 30, 223, 202, 225, 200, 52, 83, 132, 251, 42,
- 83, 95, 251, 42, 115, 253, 132, 223, 202, 221, 70, 249, 194, 215, 134,
- 117, 253, 131, 254, 67, 214, 165, 249, 156, 230, 251, 52, 218, 179, 248,
- 101, 235, 191, 215, 150, 244, 21, 225, 27, 77, 133, 62, 225, 26, 224,
- 169, 225, 71, 243, 237, 62, 225, 26, 244, 50, 62, 225, 26, 117, 62, 225,
- 26, 243, 237, 62, 77, 246, 72, 249, 70, 216, 179, 71, 243, 237, 247, 72,
- 231, 147, 14, 219, 206, 213, 196, 235, 66, 243, 198, 253, 222, 235, 189,
- 217, 38, 235, 189, 221, 57, 235, 189, 225, 156, 235, 225, 218, 127, 218,
- 196, 254, 166, 218, 127, 218, 196, 235, 225, 12, 243, 245, 221, 3, 254,
- 166, 12, 243, 245, 221, 3, 230, 10, 21, 221, 4, 228, 180, 21, 221, 4,
- 218, 223, 212, 79, 218, 223, 7, 3, 1, 72, 218, 223, 163, 218, 223, 180,
- 218, 223, 189, 218, 223, 198, 218, 223, 195, 218, 223, 200, 218, 223, 94,
- 52, 218, 223, 230, 250, 218, 223, 245, 61, 52, 218, 223, 42, 226, 131,
- 218, 223, 46, 226, 131, 218, 223, 7, 3, 1, 204, 219, 10, 212, 79, 219,
- 10, 116, 219, 10, 109, 219, 10, 166, 219, 10, 163, 219, 10, 180, 219, 10,
- 189, 219, 10, 198, 219, 10, 195, 219, 10, 200, 219, 10, 94, 52, 219, 10,
- 230, 250, 219, 10, 245, 61, 52, 219, 10, 42, 226, 131, 219, 10, 46, 226,
- 131, 7, 219, 10, 3, 1, 61, 7, 219, 10, 3, 1, 74, 7, 219, 10, 3, 1, 75, 7,
- 219, 10, 3, 1, 213, 166, 7, 219, 10, 3, 1, 222, 113, 7, 219, 10, 3, 1,
- 242, 41, 7, 219, 10, 3, 1, 235, 27, 7, 219, 10, 3, 1, 150, 7, 219, 10, 3,
- 1, 183, 7, 219, 10, 3, 1, 204, 7, 219, 10, 3, 1, 226, 229, 7, 219, 10, 3,
- 1, 197, 7, 219, 10, 3, 1, 218, 99, 245, 13, 52, 249, 165, 52, 249, 57,
- 52, 243, 221, 243, 224, 52, 232, 227, 52, 231, 7, 52, 230, 29, 52, 226,
- 38, 52, 223, 29, 52, 213, 204, 52, 156, 220, 229, 52, 247, 81, 52, 245,
- 14, 52, 234, 85, 52, 216, 76, 52, 246, 55, 52, 243, 16, 226, 68, 52, 226,
- 36, 52, 242, 88, 52, 253, 98, 52, 240, 215, 52, 250, 119, 52, 232, 220,
- 216, 216, 52, 219, 188, 52, 217, 198, 52, 235, 238, 223, 29, 52, 37, 42,
- 241, 238, 49, 37, 46, 241, 238, 49, 37, 184, 71, 232, 243, 226, 244, 37,
- 220, 175, 71, 232, 243, 226, 244, 37, 253, 255, 76, 49, 37, 249, 195, 76,
- 49, 37, 42, 76, 49, 37, 46, 76, 49, 37, 223, 131, 226, 244, 37, 249, 195,
- 223, 131, 226, 244, 37, 253, 255, 223, 131, 226, 244, 37, 133, 176, 49,
- 37, 243, 237, 176, 49, 37, 245, 104, 249, 228, 37, 245, 104, 219, 166,
- 37, 245, 104, 247, 200, 37, 245, 104, 249, 229, 252, 97, 37, 42, 46, 76,
- 49, 37, 245, 104, 222, 107, 37, 245, 104, 234, 141, 37, 245, 104, 215,
- 126, 225, 141, 216, 183, 37, 223, 203, 219, 232, 226, 244, 37, 51, 71,
- 219, 45, 226, 244, 37, 254, 9, 87, 37, 216, 169, 215, 152, 37, 213, 232,
- 251, 68, 49, 37, 132, 76, 226, 244, 37, 184, 51, 219, 232, 226, 244, 37,
- 95, 241, 238, 2, 206, 246, 57, 37, 132, 241, 238, 2, 206, 246, 57, 37,
- 42, 76, 55, 37, 46, 76, 55, 37, 253, 133, 49, 254, 171, 227, 97, 254,
- 156, 211, 211, 217, 149, 219, 19, 187, 6, 250, 252, 248, 22, 250, 112,
- 250, 109, 232, 243, 87, 250, 172, 227, 97, 250, 212, 215, 159, 245, 15,
- 249, 130, 222, 104, 248, 22, 244, 147, 113, 3, 243, 177, 113, 6, 242, 41,
- 251, 142, 6, 242, 41, 187, 6, 242, 41, 225, 169, 249, 130, 225, 169, 249,
- 131, 110, 117, 225, 240, 113, 6, 72, 251, 142, 6, 72, 113, 6, 150, 113,
- 3, 150, 233, 171, 54, 252, 60, 87, 187, 6, 204, 228, 52, 52, 219, 218,
- 224, 12, 249, 101, 113, 6, 226, 229, 187, 6, 226, 229, 187, 6, 224, 240,
- 113, 6, 149, 251, 142, 6, 149, 187, 6, 149, 225, 76, 218, 21, 223, 214,
- 221, 53, 77, 217, 210, 52, 216, 210, 152, 52, 214, 217, 187, 6, 212, 152,
- 227, 1, 52, 227, 87, 52, 235, 191, 227, 87, 52, 251, 142, 6, 212, 152,
- 216, 58, 25, 3, 1, 235, 183, 234, 179, 52, 254, 16, 52, 113, 6, 253, 74,
- 251, 142, 6, 250, 252, 245, 33, 87, 113, 3, 74, 113, 6, 74, 113, 6, 244,
- 230, 216, 58, 6, 244, 230, 113, 6, 183, 113, 3, 75, 106, 87, 251, 206,
- 87, 242, 178, 87, 248, 135, 87, 235, 229, 219, 216, 223, 89, 6, 224, 240,
- 244, 150, 52, 187, 3, 225, 240, 187, 3, 243, 83, 187, 6, 243, 83, 187, 6,
- 225, 240, 187, 230, 97, 218, 241, 216, 58, 35, 6, 243, 177, 216, 58, 35,
- 6, 150, 223, 202, 35, 6, 150, 216, 58, 35, 6, 213, 105, 187, 32, 6, 249,
- 3, 187, 32, 3, 249, 3, 187, 32, 3, 74, 187, 32, 3, 72, 187, 32, 3, 235,
- 142, 225, 54, 232, 242, 216, 58, 254, 35, 226, 58, 52, 254, 88, 216, 58,
- 3, 244, 230, 16, 31, 222, 167, 219, 216, 214, 97, 243, 228, 122, 221, 39,
- 214, 97, 243, 228, 122, 229, 25, 214, 97, 243, 228, 122, 217, 194, 214,
- 97, 243, 228, 122, 217, 121, 214, 97, 243, 228, 117, 217, 119, 214, 97,
- 243, 228, 122, 244, 86, 214, 97, 243, 228, 117, 244, 85, 214, 97, 243,
- 228, 133, 244, 85, 214, 97, 243, 228, 243, 237, 244, 85, 214, 97, 243,
- 228, 122, 220, 43, 214, 97, 243, 228, 244, 50, 220, 41, 214, 97, 243,
- 228, 122, 245, 145, 214, 97, 243, 228, 133, 245, 143, 214, 97, 243, 228,
- 244, 50, 245, 143, 214, 97, 243, 228, 221, 43, 245, 143, 243, 228, 228,
- 53, 116, 223, 100, 228, 54, 116, 223, 100, 228, 54, 109, 223, 100, 228,
- 54, 166, 223, 100, 228, 54, 163, 223, 100, 228, 54, 180, 223, 100, 228,
- 54, 189, 223, 100, 228, 54, 198, 223, 100, 228, 54, 195, 223, 100, 228,
- 54, 200, 223, 100, 228, 54, 217, 200, 223, 100, 228, 54, 245, 124, 223,
- 100, 228, 54, 216, 41, 223, 100, 228, 54, 244, 83, 223, 100, 228, 54,
- 122, 240, 200, 223, 100, 228, 54, 244, 50, 240, 200, 223, 100, 228, 54,
- 122, 217, 100, 3, 223, 100, 228, 54, 116, 3, 223, 100, 228, 54, 109, 3,
- 223, 100, 228, 54, 166, 3, 223, 100, 228, 54, 163, 3, 223, 100, 228, 54,
- 180, 3, 223, 100, 228, 54, 189, 3, 223, 100, 228, 54, 198, 3, 223, 100,
- 228, 54, 195, 3, 223, 100, 228, 54, 200, 3, 223, 100, 228, 54, 217, 200,
- 3, 223, 100, 228, 54, 245, 124, 3, 223, 100, 228, 54, 216, 41, 3, 223,
- 100, 228, 54, 244, 83, 3, 223, 100, 228, 54, 122, 240, 200, 3, 223, 100,
- 228, 54, 244, 50, 240, 200, 3, 223, 100, 228, 54, 122, 217, 100, 223,
- 100, 228, 54, 122, 217, 101, 250, 253, 249, 3, 223, 100, 228, 54, 244,
- 50, 217, 100, 223, 100, 228, 54, 217, 201, 217, 100, 223, 100, 228, 54,
- 223, 202, 122, 240, 200, 7, 3, 1, 223, 202, 250, 252, 223, 100, 228, 54,
- 220, 53, 233, 101, 17, 223, 100, 228, 54, 244, 84, 245, 182, 17, 223,
- 100, 228, 54, 244, 84, 217, 100, 223, 100, 228, 54, 122, 240, 201, 217,
- 100, 214, 97, 243, 228, 212, 80, 217, 119, 132, 68, 215, 124, 68, 95, 68,
- 246, 58, 68, 42, 46, 68, 114, 119, 68, 228, 167, 213, 250, 68, 228, 167,
- 245, 176, 68, 219, 215, 245, 176, 68, 219, 215, 213, 250, 68, 132, 76, 2,
- 90, 95, 76, 2, 90, 132, 214, 20, 68, 95, 214, 20, 68, 132, 117, 241, 218,
- 68, 215, 124, 117, 241, 218, 68, 95, 117, 241, 218, 68, 246, 58, 117,
- 241, 218, 68, 132, 76, 2, 218, 27, 95, 76, 2, 218, 27, 132, 76, 243, 213,
- 134, 215, 124, 76, 243, 213, 134, 95, 76, 243, 213, 134, 246, 58, 76,
- 243, 213, 134, 114, 119, 76, 2, 252, 47, 132, 76, 2, 101, 95, 76, 2, 101,
- 132, 76, 2, 232, 177, 95, 76, 2, 232, 177, 42, 46, 214, 20, 68, 42, 46,
- 76, 2, 90, 246, 58, 212, 28, 68, 215, 124, 76, 2, 217, 30, 233, 61, 215,
- 124, 76, 2, 217, 30, 223, 138, 246, 58, 76, 2, 217, 30, 233, 61, 246, 58,
- 76, 2, 217, 30, 223, 138, 95, 76, 2, 249, 100, 246, 57, 246, 58, 76, 2,
- 249, 100, 233, 61, 253, 255, 216, 227, 221, 73, 68, 249, 195, 216, 227,
- 221, 73, 68, 228, 167, 213, 250, 76, 211, 211, 184, 134, 132, 76, 211,
- 211, 252, 60, 110, 95, 76, 211, 211, 134, 253, 255, 227, 40, 249, 229,
- 68, 249, 195, 227, 40, 249, 229, 68, 132, 241, 238, 2, 206, 215, 123,
- 132, 241, 238, 2, 206, 246, 57, 215, 124, 241, 238, 2, 206, 223, 138,
- 215, 124, 241, 238, 2, 206, 233, 61, 95, 241, 238, 2, 206, 215, 123, 95,
- 241, 238, 2, 206, 246, 57, 246, 58, 241, 238, 2, 206, 223, 138, 246, 58,
- 241, 238, 2, 206, 233, 61, 95, 76, 110, 132, 68, 215, 124, 76, 132, 65,
- 246, 58, 68, 132, 76, 110, 95, 68, 132, 226, 197, 253, 162, 215, 124,
- 226, 197, 253, 162, 95, 226, 197, 253, 162, 246, 58, 226, 197, 253, 162,
- 132, 241, 238, 110, 95, 241, 237, 95, 241, 238, 110, 132, 241, 237, 132,
- 51, 76, 2, 90, 42, 46, 51, 76, 2, 90, 95, 51, 76, 2, 90, 132, 51, 68,
- 215, 124, 51, 68, 95, 51, 68, 246, 58, 51, 68, 42, 46, 51, 68, 114, 119,
- 51, 68, 228, 167, 213, 250, 51, 68, 228, 167, 245, 176, 51, 68, 219, 215,
- 245, 176, 51, 68, 219, 215, 213, 250, 51, 68, 132, 216, 169, 68, 95, 216,
- 169, 68, 132, 219, 162, 68, 95, 219, 162, 68, 215, 124, 76, 2, 51, 90,
- 246, 58, 76, 2, 51, 90, 132, 248, 100, 68, 215, 124, 248, 100, 68, 95,
- 248, 100, 68, 246, 58, 248, 100, 68, 132, 76, 211, 211, 134, 95, 76, 211,
- 211, 134, 132, 67, 68, 215, 124, 67, 68, 95, 67, 68, 246, 58, 67, 68,
- 215, 124, 67, 76, 243, 213, 134, 215, 124, 67, 76, 227, 63, 226, 89, 215,
- 124, 67, 76, 227, 63, 226, 90, 2, 199, 134, 215, 124, 67, 76, 227, 63,
- 226, 90, 2, 71, 134, 215, 124, 67, 51, 68, 215, 124, 67, 51, 76, 227, 63,
- 226, 89, 95, 67, 76, 243, 213, 214, 40, 228, 167, 213, 250, 76, 211, 211,
- 249, 99, 219, 215, 245, 176, 76, 211, 211, 249, 99, 114, 119, 67, 68, 46,
- 76, 2, 3, 249, 228, 246, 58, 76, 132, 65, 215, 124, 68, 133, 95, 253,
- 162, 132, 76, 2, 71, 90, 95, 76, 2, 71, 90, 42, 46, 76, 2, 71, 90, 132,
- 76, 2, 51, 71, 90, 95, 76, 2, 51, 71, 90, 42, 46, 76, 2, 51, 71, 90, 132,
- 227, 38, 68, 95, 227, 38, 68, 42, 46, 227, 38, 68, 31, 254, 63, 249, 153,
- 226, 125, 247, 185, 217, 140, 244, 250, 217, 140, 247, 92, 228, 163, 244,
- 251, 245, 110, 221, 48, 235, 241, 230, 39, 245, 127, 227, 97, 228, 163,
- 254, 33, 245, 127, 227, 97, 3, 245, 127, 227, 97, 249, 125, 253, 153,
- 231, 126, 247, 92, 228, 163, 249, 127, 253, 153, 231, 126, 3, 249, 125,
- 253, 153, 231, 126, 245, 101, 65, 225, 56, 230, 97, 225, 63, 230, 97,
- 249, 104, 230, 97, 218, 241, 230, 251, 52, 230, 249, 52, 62, 225, 156,
- 247, 121, 220, 23, 221, 49, 230, 250, 253, 133, 227, 33, 223, 131, 227,
- 33, 251, 43, 227, 33, 41, 223, 95, 249, 50, 223, 95, 243, 230, 223, 95,
- 225, 52, 108, 235, 231, 46, 254, 18, 254, 18, 231, 153, 254, 18, 219,
- 187, 254, 18, 247, 123, 247, 92, 228, 163, 247, 126, 226, 136, 108, 228,
- 163, 226, 136, 108, 232, 199, 254, 27, 232, 199, 227, 24, 235, 195, 215,
- 146, 235, 208, 51, 235, 208, 216, 169, 235, 208, 249, 121, 235, 208, 218,
- 213, 235, 208, 214, 110, 235, 208, 249, 195, 235, 208, 249, 195, 249,
- 121, 235, 208, 253, 255, 249, 121, 235, 208, 217, 139, 251, 243, 224, 29,
- 225, 53, 62, 230, 250, 245, 0, 243, 22, 225, 53, 241, 43, 217, 43, 227,
- 33, 223, 202, 217, 42, 235, 191, 233, 89, 197, 220, 83, 214, 19, 213,
- 188, 225, 63, 228, 163, 217, 42, 230, 251, 217, 42, 253, 126, 123, 108,
- 228, 163, 253, 126, 123, 108, 253, 218, 123, 108, 253, 218, 251, 17, 228,
- 163, 254, 165, 123, 108, 229, 181, 253, 218, 228, 170, 254, 165, 123,
- 108, 254, 57, 123, 108, 228, 163, 254, 57, 123, 108, 254, 57, 123, 167,
- 123, 108, 216, 169, 217, 42, 254, 64, 123, 108, 245, 57, 108, 243, 21,
- 245, 57, 108, 247, 186, 251, 200, 253, 220, 217, 149, 232, 250, 243, 21,
- 123, 108, 253, 218, 123, 211, 211, 167, 217, 149, 236, 10, 227, 97, 236,
- 10, 65, 167, 253, 218, 123, 108, 249, 165, 245, 60, 245, 61, 249, 164,
- 223, 131, 235, 252, 123, 108, 223, 131, 123, 108, 249, 93, 108, 245, 32,
- 245, 59, 108, 219, 96, 245, 60, 248, 6, 123, 108, 123, 211, 211, 251, 7,
- 248, 23, 231, 153, 251, 6, 224, 156, 123, 108, 228, 163, 123, 108, 240,
- 97, 108, 228, 163, 240, 97, 108, 219, 49, 245, 57, 108, 233, 39, 167,
- 123, 108, 242, 107, 167, 123, 108, 233, 39, 110, 123, 108, 242, 107, 110,
- 123, 108, 233, 39, 251, 17, 228, 163, 123, 108, 242, 107, 251, 17, 228,
- 163, 123, 108, 230, 167, 233, 38, 230, 167, 242, 106, 251, 200, 228, 163,
- 245, 57, 108, 228, 163, 233, 38, 228, 163, 242, 106, 229, 181, 233, 39,
- 228, 170, 123, 108, 229, 181, 242, 107, 228, 170, 123, 108, 233, 39, 167,
- 245, 57, 108, 242, 107, 167, 245, 57, 108, 229, 181, 233, 39, 228, 170,
- 245, 57, 108, 229, 181, 242, 107, 228, 170, 245, 57, 108, 233, 39, 167,
- 242, 106, 242, 107, 167, 233, 38, 229, 181, 233, 39, 228, 170, 242, 106,
- 229, 181, 242, 107, 228, 170, 233, 38, 225, 82, 219, 0, 225, 83, 167,
- 123, 108, 219, 1, 167, 123, 108, 225, 83, 167, 245, 57, 108, 219, 1, 167,
- 245, 57, 108, 247, 92, 228, 163, 225, 85, 247, 92, 228, 163, 219, 2, 219,
- 9, 227, 97, 218, 222, 227, 97, 228, 163, 118, 219, 9, 227, 97, 228, 163,
- 118, 218, 222, 227, 97, 219, 9, 65, 167, 123, 108, 218, 222, 65, 167,
- 123, 108, 229, 181, 118, 219, 9, 65, 228, 170, 123, 108, 229, 181, 118,
- 218, 222, 65, 228, 170, 123, 108, 219, 9, 65, 2, 228, 163, 123, 108, 218,
- 222, 65, 2, 228, 163, 123, 108, 230, 151, 230, 152, 230, 153, 230, 152,
- 215, 146, 41, 236, 10, 227, 97, 41, 227, 17, 227, 97, 41, 236, 10, 65,
- 167, 123, 108, 41, 227, 17, 65, 167, 123, 108, 41, 250, 183, 41, 249, 43,
- 36, 225, 156, 36, 230, 250, 36, 217, 38, 36, 247, 121, 220, 23, 36, 62,
- 227, 33, 36, 223, 131, 227, 33, 36, 253, 133, 227, 33, 36, 245, 60, 36,
- 248, 101, 91, 225, 156, 91, 230, 250, 91, 217, 38, 91, 62, 227, 33, 46,
- 218, 36, 42, 218, 36, 119, 218, 36, 114, 218, 36, 253, 136, 230, 226,
- 216, 149, 243, 250, 216, 169, 71, 252, 60, 46, 216, 57, 51, 71, 252, 60,
- 51, 46, 216, 57, 247, 92, 228, 163, 225, 48, 228, 163, 216, 149, 247, 92,
- 228, 163, 243, 251, 229, 183, 51, 71, 252, 60, 51, 46, 216, 57, 225, 83,
- 215, 154, 223, 241, 219, 1, 215, 154, 223, 241, 228, 168, 219, 22, 227,
- 97, 249, 125, 253, 153, 228, 168, 219, 21, 228, 168, 219, 22, 65, 167,
- 123, 108, 249, 125, 253, 153, 228, 168, 219, 22, 167, 123, 108, 227, 17,
- 227, 97, 236, 10, 227, 97, 230, 157, 241, 185, 249, 136, 231, 200, 235,
- 205, 213, 133, 230, 22, 228, 169, 46, 254, 19, 2, 253, 195, 46, 216, 183,
- 230, 97, 232, 199, 254, 27, 230, 97, 232, 199, 227, 24, 230, 97, 235,
- 195, 230, 97, 215, 146, 247, 201, 227, 33, 62, 227, 33, 219, 96, 227, 33,
- 247, 121, 217, 38, 251, 90, 42, 228, 168, 244, 149, 221, 69, 225, 63, 46,
- 228, 168, 244, 149, 221, 69, 225, 63, 42, 221, 69, 225, 63, 46, 221, 69,
- 225, 63, 223, 202, 217, 43, 245, 60, 249, 40, 232, 199, 227, 24, 249, 40,
- 232, 199, 254, 27, 51, 219, 8, 51, 218, 221, 51, 235, 195, 51, 215, 146,
- 225, 179, 123, 24, 226, 136, 108, 233, 39, 2, 247, 74, 242, 107, 2, 247,
- 74, 214, 164, 230, 167, 233, 38, 214, 164, 230, 167, 242, 106, 233, 39,
- 123, 211, 211, 167, 242, 106, 242, 107, 123, 211, 211, 167, 233, 38, 123,
- 211, 211, 167, 233, 38, 123, 211, 211, 167, 242, 106, 123, 211, 211, 167,
- 225, 82, 123, 211, 211, 167, 219, 0, 247, 92, 228, 163, 225, 86, 167,
- 245, 62, 247, 92, 228, 163, 219, 3, 167, 245, 62, 228, 163, 41, 236, 10,
- 65, 167, 123, 108, 228, 163, 41, 227, 17, 65, 167, 123, 108, 41, 236, 10,
- 65, 167, 228, 163, 123, 108, 41, 227, 17, 65, 167, 228, 163, 123, 108,
- 233, 39, 251, 17, 228, 163, 245, 57, 108, 242, 107, 251, 17, 228, 163,
- 245, 57, 108, 225, 83, 251, 17, 228, 163, 245, 57, 108, 219, 1, 251, 17,
- 228, 163, 245, 57, 108, 228, 163, 228, 168, 219, 22, 227, 97, 247, 92,
- 228, 163, 249, 127, 253, 153, 228, 168, 219, 21, 228, 163, 228, 168, 219,
- 22, 65, 167, 123, 108, 247, 92, 228, 163, 249, 127, 253, 153, 228, 168,
- 219, 22, 167, 245, 62, 71, 245, 120, 231, 35, 199, 245, 120, 114, 46,
- 247, 207, 245, 120, 119, 46, 247, 207, 245, 120, 245, 127, 65, 2, 184,
- 199, 90, 245, 127, 65, 2, 71, 252, 60, 253, 123, 245, 101, 65, 199, 90,
- 3, 245, 127, 65, 2, 71, 252, 60, 253, 123, 245, 101, 65, 199, 90, 245,
- 127, 65, 2, 62, 49, 245, 127, 65, 2, 226, 247, 3, 245, 127, 65, 2, 226,
- 247, 245, 127, 65, 2, 215, 153, 245, 127, 65, 2, 117, 199, 219, 32, 249,
- 125, 2, 184, 199, 90, 249, 125, 2, 71, 252, 60, 253, 123, 245, 101, 65,
- 199, 90, 3, 249, 125, 2, 71, 252, 60, 253, 123, 245, 101, 65, 199, 90,
- 249, 125, 2, 226, 247, 3, 249, 125, 2, 226, 247, 212, 153, 174, 252, 91,
- 231, 125, 247, 202, 52, 245, 129, 68, 240, 221, 114, 253, 164, 119, 253,
- 164, 225, 59, 226, 41, 214, 16, 232, 242, 42, 250, 115, 46, 250, 115, 42,
- 244, 26, 46, 244, 26, 251, 101, 46, 249, 72, 251, 101, 42, 249, 72, 216,
- 227, 46, 249, 72, 216, 227, 42, 249, 72, 223, 202, 228, 163, 52, 41, 232,
- 159, 253, 195, 222, 83, 222, 90, 217, 210, 224, 13, 225, 121, 235, 235,
- 214, 145, 219, 166, 225, 173, 65, 235, 204, 52, 216, 58, 228, 163, 52,
- 214, 26, 240, 223, 216, 227, 42, 249, 99, 216, 227, 46, 249, 99, 251,
- 101, 42, 249, 99, 251, 101, 46, 249, 99, 216, 227, 151, 235, 208, 251,
- 101, 151, 235, 208, 243, 210, 220, 3, 114, 253, 165, 251, 201, 117, 199,
- 252, 49, 227, 26, 234, 144, 245, 53, 211, 211, 217, 149, 223, 148, 213,
- 167, 235, 252, 118, 224, 10, 251, 89, 234, 143, 233, 66, 254, 19, 125,
- 223, 144, 254, 19, 125, 245, 53, 211, 211, 217, 149, 233, 70, 251, 212,
- 223, 130, 249, 13, 254, 64, 253, 172, 218, 126, 216, 217, 223, 34, 247,
- 167, 227, 18, 249, 138, 218, 3, 220, 14, 249, 90, 249, 89, 194, 196, 16,
- 240, 143, 194, 196, 16, 219, 160, 224, 172, 194, 196, 16, 224, 173, 245,
- 62, 194, 196, 16, 224, 173, 247, 126, 194, 196, 16, 224, 173, 247, 200,
- 194, 196, 16, 224, 173, 235, 59, 194, 196, 16, 224, 173, 249, 228, 194,
- 196, 16, 249, 229, 219, 75, 194, 196, 16, 249, 229, 235, 59, 194, 196,
- 16, 220, 24, 134, 194, 196, 16, 252, 98, 134, 194, 196, 16, 224, 173,
- 220, 23, 194, 196, 16, 224, 173, 252, 97, 194, 196, 16, 224, 173, 233,
- 38, 194, 196, 16, 224, 173, 242, 106, 194, 196, 16, 132, 214, 251, 194,
- 196, 16, 95, 214, 251, 194, 196, 16, 224, 173, 132, 68, 194, 196, 16,
- 224, 173, 95, 68, 194, 196, 16, 249, 229, 252, 97, 194, 196, 16, 119,
- 218, 37, 215, 153, 194, 196, 16, 248, 6, 219, 75, 194, 196, 16, 224, 173,
- 119, 250, 170, 194, 196, 16, 224, 173, 248, 5, 194, 196, 16, 119, 218,
- 37, 235, 59, 194, 196, 16, 215, 124, 214, 251, 194, 196, 16, 224, 173,
- 215, 124, 68, 194, 196, 16, 114, 218, 37, 226, 247, 194, 196, 16, 248,
- 17, 219, 75, 194, 196, 16, 224, 173, 114, 250, 170, 194, 196, 16, 224,
- 173, 248, 16, 194, 196, 16, 114, 218, 37, 235, 59, 194, 196, 16, 246, 58,
- 214, 251, 194, 196, 16, 224, 173, 246, 58, 68, 194, 196, 16, 224, 142,
- 215, 153, 194, 196, 16, 248, 6, 215, 153, 194, 196, 16, 247, 201, 215,
- 153, 194, 196, 16, 235, 60, 215, 153, 194, 196, 16, 249, 229, 215, 153,
- 194, 196, 16, 114, 220, 185, 235, 59, 194, 196, 16, 224, 142, 224, 172,
- 194, 196, 16, 249, 229, 219, 95, 194, 196, 16, 224, 173, 249, 164, 194,
- 196, 16, 114, 218, 37, 247, 209, 194, 196, 16, 248, 17, 247, 209, 194,
- 196, 16, 219, 96, 247, 209, 194, 196, 16, 235, 60, 247, 209, 194, 196,
- 16, 249, 229, 247, 209, 194, 196, 16, 119, 220, 185, 219, 75, 194, 196,
- 16, 42, 220, 185, 219, 75, 194, 196, 16, 217, 43, 247, 209, 194, 196, 16,
- 242, 107, 247, 209, 194, 196, 16, 249, 158, 134, 194, 196, 16, 248, 17,
- 217, 42, 194, 196, 16, 212, 27, 194, 196, 16, 219, 76, 217, 42, 194, 196,
- 16, 221, 71, 215, 153, 194, 196, 16, 224, 173, 228, 163, 245, 62, 194,
- 196, 16, 224, 173, 224, 157, 194, 196, 16, 119, 250, 171, 217, 42, 194,
- 196, 16, 114, 250, 171, 217, 42, 194, 196, 16, 235, 183, 194, 196, 16,
- 223, 190, 194, 196, 16, 227, 67, 194, 196, 16, 254, 53, 215, 153, 194,
- 196, 16, 245, 64, 215, 153, 194, 196, 16, 235, 184, 215, 153, 194, 196,
- 16, 227, 68, 215, 153, 194, 196, 16, 254, 52, 228, 163, 250, 66, 77, 46,
- 254, 19, 2, 246, 58, 212, 28, 68, 220, 159, 227, 40, 251, 89, 251, 222,
- 87, 71, 232, 243, 2, 231, 37, 247, 74, 235, 213, 87, 249, 122, 215, 151,
- 87, 247, 141, 215, 151, 87, 245, 112, 87, 249, 149, 87, 67, 41, 2, 250,
- 109, 71, 232, 242, 245, 89, 87, 254, 48, 234, 145, 87, 241, 197, 87, 36,
- 199, 252, 60, 2, 228, 161, 36, 216, 184, 246, 60, 251, 63, 249, 229, 2,
- 228, 165, 68, 215, 149, 87, 230, 207, 87, 240, 156, 87, 227, 39, 242, 40,
- 87, 227, 39, 233, 169, 87, 226, 117, 87, 226, 116, 87, 247, 149, 249, 38,
- 16, 243, 245, 109, 219, 234, 87, 194, 196, 16, 224, 172, 248, 34, 221,
- 58, 234, 145, 87, 225, 73, 226, 200, 229, 164, 226, 200, 225, 69, 222,
- 108, 87, 249, 210, 222, 108, 87, 42, 226, 132, 215, 131, 101, 42, 226,
- 132, 244, 245, 42, 226, 132, 232, 163, 101, 46, 226, 132, 215, 131, 101,
- 46, 226, 132, 244, 245, 46, 226, 132, 232, 163, 101, 42, 41, 251, 85,
- 215, 131, 249, 99, 42, 41, 251, 85, 244, 245, 42, 41, 251, 85, 232, 163,
- 249, 99, 46, 41, 251, 85, 215, 131, 249, 99, 46, 41, 251, 85, 244, 245,
- 46, 41, 251, 85, 232, 163, 249, 99, 42, 249, 40, 251, 85, 215, 131, 101,
- 42, 249, 40, 251, 85, 231, 37, 225, 233, 42, 249, 40, 251, 85, 232, 163,
- 101, 249, 40, 251, 85, 244, 245, 46, 249, 40, 251, 85, 215, 131, 101, 46,
- 249, 40, 251, 85, 231, 37, 225, 233, 46, 249, 40, 251, 85, 232, 163, 101,
- 235, 209, 244, 245, 199, 232, 243, 244, 245, 215, 131, 42, 167, 232, 163,
- 46, 249, 40, 251, 85, 222, 91, 215, 131, 46, 167, 232, 163, 42, 249, 40,
- 251, 85, 222, 91, 218, 242, 216, 226, 218, 242, 251, 100, 216, 227, 41,
- 125, 251, 101, 41, 125, 251, 101, 41, 251, 85, 110, 216, 227, 41, 125,
- 34, 16, 251, 100, 42, 71, 92, 232, 242, 46, 71, 92, 232, 242, 199, 222,
- 123, 232, 241, 199, 222, 123, 232, 240, 199, 222, 123, 232, 239, 199,
- 222, 123, 232, 238, 247, 253, 16, 177, 71, 24, 216, 227, 223, 148, 247,
- 253, 16, 177, 71, 24, 251, 101, 223, 148, 247, 253, 16, 177, 71, 2, 249,
- 228, 247, 253, 16, 177, 119, 24, 199, 2, 249, 228, 247, 253, 16, 177,
- 114, 24, 199, 2, 249, 228, 247, 253, 16, 177, 71, 2, 216, 183, 247, 253,
- 16, 177, 119, 24, 199, 2, 216, 183, 247, 253, 16, 177, 114, 24, 199, 2,
- 216, 183, 247, 253, 16, 177, 71, 24, 214, 19, 247, 253, 16, 177, 119, 24,
- 199, 2, 214, 19, 247, 253, 16, 177, 114, 24, 199, 2, 214, 19, 247, 253,
- 16, 177, 119, 24, 241, 31, 247, 253, 16, 177, 114, 24, 241, 31, 247, 253,
- 16, 177, 71, 24, 216, 227, 233, 70, 247, 253, 16, 177, 71, 24, 251, 101,
- 233, 70, 41, 244, 1, 223, 206, 87, 245, 139, 87, 71, 232, 243, 244, 245,
- 231, 100, 251, 74, 231, 100, 184, 110, 220, 174, 231, 100, 220, 175, 110,
- 232, 190, 231, 100, 184, 110, 117, 220, 161, 231, 100, 117, 220, 162,
- 110, 232, 190, 231, 100, 117, 220, 162, 235, 67, 231, 100, 216, 166, 231,
- 100, 217, 176, 231, 100, 226, 63, 245, 180, 242, 100, 243, 191, 216, 227,
- 226, 131, 251, 101, 226, 131, 216, 227, 249, 40, 125, 251, 101, 249, 40,
- 125, 216, 227, 216, 219, 220, 233, 125, 251, 101, 216, 219, 220, 233,
- 125, 67, 216, 197, 251, 212, 223, 131, 2, 249, 228, 219, 60, 244, 33,
- 254, 177, 249, 37, 245, 128, 235, 195, 248, 34, 244, 247, 87, 83, 223,
- 144, 51, 216, 183, 83, 233, 66, 51, 216, 183, 83, 215, 133, 51, 216, 183,
- 83, 246, 59, 51, 216, 183, 83, 223, 144, 51, 216, 184, 2, 71, 134, 83,
- 233, 66, 51, 216, 184, 2, 71, 134, 83, 223, 144, 216, 184, 2, 51, 71,
- 134, 254, 81, 249, 196, 219, 66, 217, 39, 249, 196, 240, 224, 2, 244, 19,
- 222, 157, 16, 31, 228, 58, 16, 31, 219, 91, 65, 241, 217, 16, 31, 219,
- 91, 65, 217, 165, 16, 31, 245, 101, 65, 217, 165, 16, 31, 245, 101, 65,
- 216, 200, 16, 31, 245, 91, 16, 31, 254, 168, 16, 31, 251, 221, 16, 31,
- 252, 96, 16, 31, 199, 218, 38, 16, 31, 232, 243, 244, 114, 16, 31, 71,
- 218, 38, 16, 31, 243, 245, 244, 114, 16, 31, 250, 162, 223, 205, 16, 31,
- 220, 208, 226, 254, 16, 31, 220, 208, 235, 251, 16, 31, 248, 97, 232,
- 233, 245, 42, 16, 31, 247, 238, 249, 117, 116, 16, 31, 247, 238, 249,
- 117, 109, 16, 31, 247, 238, 249, 117, 166, 16, 31, 247, 238, 249, 117,
- 163, 16, 31, 146, 254, 168, 16, 31, 218, 123, 236, 57, 16, 31, 245, 101,
- 65, 216, 201, 251, 136, 16, 31, 250, 193, 16, 31, 245, 101, 65, 231, 146,
- 16, 31, 219, 6, 16, 31, 245, 42, 16, 31, 244, 76, 221, 57, 16, 31, 242,
- 99, 221, 57, 16, 31, 224, 14, 221, 57, 16, 31, 215, 145, 221, 57, 16, 31,
- 219, 206, 16, 31, 248, 14, 251, 139, 87, 227, 40, 251, 89, 16, 31, 229,
- 167, 16, 31, 248, 15, 243, 245, 109, 16, 31, 219, 7, 243, 245, 109, 227,
- 105, 101, 227, 105, 250, 87, 227, 105, 243, 248, 227, 105, 235, 191, 243,
- 248, 227, 105, 251, 219, 251, 53, 227, 105, 251, 96, 217, 65, 227, 105,
- 251, 82, 252, 65, 240, 96, 227, 105, 254, 36, 65, 250, 65, 227, 105, 248,
- 101, 227, 105, 249, 29, 254, 171, 228, 56, 227, 105, 51, 252, 97, 36, 21,
- 116, 36, 21, 109, 36, 21, 166, 36, 21, 163, 36, 21, 180, 36, 21, 189, 36,
- 21, 198, 36, 21, 195, 36, 21, 200, 36, 50, 217, 200, 36, 50, 245, 124,
- 36, 50, 216, 41, 36, 50, 217, 117, 36, 50, 243, 231, 36, 50, 244, 87, 36,
- 50, 220, 47, 36, 50, 221, 40, 36, 50, 245, 147, 36, 50, 229, 28, 36, 50,
- 216, 38, 86, 21, 116, 86, 21, 109, 86, 21, 166, 86, 21, 163, 86, 21, 180,
- 86, 21, 189, 86, 21, 198, 86, 21, 195, 86, 21, 200, 86, 50, 217, 200, 86,
- 50, 245, 124, 86, 50, 216, 41, 86, 50, 217, 117, 86, 50, 243, 231, 86,
- 50, 244, 87, 86, 50, 220, 47, 86, 50, 221, 40, 86, 50, 245, 147, 86, 50,
- 229, 28, 86, 50, 216, 38, 21, 122, 243, 200, 219, 69, 21, 117, 243, 200,
- 219, 69, 21, 133, 243, 200, 219, 69, 21, 243, 237, 243, 200, 219, 69, 21,
- 244, 50, 243, 200, 219, 69, 21, 220, 53, 243, 200, 219, 69, 21, 221, 43,
- 243, 200, 219, 69, 21, 245, 150, 243, 200, 219, 69, 21, 229, 31, 243,
- 200, 219, 69, 50, 217, 201, 243, 200, 219, 69, 50, 245, 125, 243, 200,
- 219, 69, 50, 216, 42, 243, 200, 219, 69, 50, 217, 118, 243, 200, 219, 69,
- 50, 243, 232, 243, 200, 219, 69, 50, 244, 88, 243, 200, 219, 69, 50, 220,
- 48, 243, 200, 219, 69, 50, 221, 41, 243, 200, 219, 69, 50, 245, 148, 243,
- 200, 219, 69, 50, 229, 29, 243, 200, 219, 69, 50, 216, 39, 243, 200, 219,
- 69, 86, 7, 3, 1, 61, 86, 7, 3, 1, 253, 74, 86, 7, 3, 1, 250, 252, 86, 7,
- 3, 1, 249, 3, 86, 7, 3, 1, 74, 86, 7, 3, 1, 244, 230, 86, 7, 3, 1, 243,
- 177, 86, 7, 3, 1, 242, 41, 86, 7, 3, 1, 72, 86, 7, 3, 1, 235, 142, 86, 7,
- 3, 1, 235, 27, 86, 7, 3, 1, 150, 86, 7, 3, 1, 183, 86, 7, 3, 1, 204, 86,
- 7, 3, 1, 75, 86, 7, 3, 1, 226, 229, 86, 7, 3, 1, 224, 240, 86, 7, 3, 1,
- 149, 86, 7, 3, 1, 197, 86, 7, 3, 1, 218, 99, 86, 7, 3, 1, 69, 86, 7, 3,
- 1, 215, 79, 86, 7, 3, 1, 214, 82, 86, 7, 3, 1, 213, 166, 86, 7, 3, 1,
- 213, 105, 86, 7, 3, 1, 212, 152, 36, 7, 6, 1, 61, 36, 7, 6, 1, 253, 74,
- 36, 7, 6, 1, 250, 252, 36, 7, 6, 1, 249, 3, 36, 7, 6, 1, 74, 36, 7, 6, 1,
- 244, 230, 36, 7, 6, 1, 243, 177, 36, 7, 6, 1, 242, 41, 36, 7, 6, 1, 72,
- 36, 7, 6, 1, 235, 142, 36, 7, 6, 1, 235, 27, 36, 7, 6, 1, 150, 36, 7, 6,
- 1, 183, 36, 7, 6, 1, 204, 36, 7, 6, 1, 75, 36, 7, 6, 1, 226, 229, 36, 7,
- 6, 1, 224, 240, 36, 7, 6, 1, 149, 36, 7, 6, 1, 197, 36, 7, 6, 1, 218, 99,
- 36, 7, 6, 1, 69, 36, 7, 6, 1, 215, 79, 36, 7, 6, 1, 214, 82, 36, 7, 6, 1,
- 213, 166, 36, 7, 6, 1, 213, 105, 36, 7, 6, 1, 212, 152, 36, 7, 3, 1, 61,
- 36, 7, 3, 1, 253, 74, 36, 7, 3, 1, 250, 252, 36, 7, 3, 1, 249, 3, 36, 7,
- 3, 1, 74, 36, 7, 3, 1, 244, 230, 36, 7, 3, 1, 243, 177, 36, 7, 3, 1, 242,
- 41, 36, 7, 3, 1, 72, 36, 7, 3, 1, 235, 142, 36, 7, 3, 1, 235, 27, 36, 7,
- 3, 1, 150, 36, 7, 3, 1, 183, 36, 7, 3, 1, 204, 36, 7, 3, 1, 75, 36, 7, 3,
- 1, 226, 229, 36, 7, 3, 1, 224, 240, 36, 7, 3, 1, 149, 36, 7, 3, 1, 197,
- 36, 7, 3, 1, 218, 99, 36, 7, 3, 1, 69, 36, 7, 3, 1, 215, 79, 36, 7, 3, 1,
- 214, 82, 36, 7, 3, 1, 213, 166, 36, 7, 3, 1, 213, 105, 36, 7, 3, 1, 212,
- 152, 36, 21, 212, 79, 146, 36, 50, 245, 124, 146, 36, 50, 216, 41, 146,
- 36, 50, 217, 117, 146, 36, 50, 243, 231, 146, 36, 50, 244, 87, 146, 36,
- 50, 220, 47, 146, 36, 50, 221, 40, 146, 36, 50, 245, 147, 146, 36, 50,
- 229, 28, 146, 36, 50, 216, 38, 51, 36, 21, 116, 51, 36, 21, 109, 51, 36,
- 21, 166, 51, 36, 21, 163, 51, 36, 21, 180, 51, 36, 21, 189, 51, 36, 21,
- 198, 51, 36, 21, 195, 51, 36, 21, 200, 51, 36, 50, 217, 200, 146, 36, 21,
- 212, 79, 92, 96, 177, 241, 31, 92, 96, 107, 241, 31, 92, 96, 177, 214,
- 216, 92, 96, 107, 214, 216, 92, 96, 177, 216, 169, 248, 102, 241, 31, 92,
- 96, 107, 216, 169, 248, 102, 241, 31, 92, 96, 177, 216, 169, 248, 102,
- 214, 216, 92, 96, 107, 216, 169, 248, 102, 214, 216, 92, 96, 177, 224,
- 169, 248, 102, 241, 31, 92, 96, 107, 224, 169, 248, 102, 241, 31, 92, 96,
- 177, 224, 169, 248, 102, 214, 216, 92, 96, 107, 224, 169, 248, 102, 214,
- 216, 92, 96, 177, 119, 24, 223, 148, 92, 96, 119, 177, 24, 46, 241, 205,
- 92, 96, 119, 107, 24, 46, 233, 2, 92, 96, 107, 119, 24, 223, 148, 92, 96,
- 177, 119, 24, 233, 70, 92, 96, 119, 177, 24, 42, 241, 205, 92, 96, 119,
- 107, 24, 42, 233, 2, 92, 96, 107, 119, 24, 233, 70, 92, 96, 177, 114, 24,
- 223, 148, 92, 96, 114, 177, 24, 46, 241, 205, 92, 96, 114, 107, 24, 46,
- 233, 2, 92, 96, 107, 114, 24, 223, 148, 92, 96, 177, 114, 24, 233, 70,
- 92, 96, 114, 177, 24, 42, 241, 205, 92, 96, 114, 107, 24, 42, 233, 2, 92,
- 96, 107, 114, 24, 233, 70, 92, 96, 177, 71, 24, 223, 148, 92, 96, 71,
- 177, 24, 46, 241, 205, 92, 96, 114, 107, 24, 46, 119, 233, 2, 92, 96,
- 119, 107, 24, 46, 114, 233, 2, 92, 96, 71, 107, 24, 46, 233, 2, 92, 96,
- 119, 177, 24, 46, 114, 241, 205, 92, 96, 114, 177, 24, 46, 119, 241, 205,
- 92, 96, 107, 71, 24, 223, 148, 92, 96, 177, 71, 24, 233, 70, 92, 96, 71,
- 177, 24, 42, 241, 205, 92, 96, 114, 107, 24, 42, 119, 233, 2, 92, 96,
- 119, 107, 24, 42, 114, 233, 2, 92, 96, 71, 107, 24, 42, 233, 2, 92, 96,
- 119, 177, 24, 42, 114, 241, 205, 92, 96, 114, 177, 24, 42, 119, 241, 205,
- 92, 96, 107, 71, 24, 233, 70, 92, 96, 177, 119, 24, 241, 31, 92, 96, 42,
- 107, 24, 46, 119, 233, 2, 92, 96, 46, 107, 24, 42, 119, 233, 2, 92, 96,
- 119, 177, 24, 199, 241, 205, 92, 96, 119, 107, 24, 199, 233, 2, 92, 96,
- 46, 177, 24, 42, 119, 241, 205, 92, 96, 42, 177, 24, 46, 119, 241, 205,
- 92, 96, 107, 119, 24, 241, 31, 92, 96, 177, 114, 24, 241, 31, 92, 96, 42,
- 107, 24, 46, 114, 233, 2, 92, 96, 46, 107, 24, 42, 114, 233, 2, 92, 96,
- 114, 177, 24, 199, 241, 205, 92, 96, 114, 107, 24, 199, 233, 2, 92, 96,
- 46, 177, 24, 42, 114, 241, 205, 92, 96, 42, 177, 24, 46, 114, 241, 205,
- 92, 96, 107, 114, 24, 241, 31, 92, 96, 177, 71, 24, 241, 31, 92, 96, 42,
- 107, 24, 46, 71, 233, 2, 92, 96, 46, 107, 24, 42, 71, 233, 2, 92, 96, 71,
- 177, 24, 199, 241, 205, 92, 96, 114, 107, 24, 119, 199, 233, 2, 92, 96,
- 119, 107, 24, 114, 199, 233, 2, 92, 96, 71, 107, 24, 199, 233, 2, 92, 96,
- 42, 114, 107, 24, 46, 119, 233, 2, 92, 96, 46, 114, 107, 24, 42, 119,
- 233, 2, 92, 96, 42, 119, 107, 24, 46, 114, 233, 2, 92, 96, 46, 119, 107,
- 24, 42, 114, 233, 2, 92, 96, 119, 177, 24, 114, 199, 241, 205, 92, 96,
- 114, 177, 24, 119, 199, 241, 205, 92, 96, 46, 177, 24, 42, 71, 241, 205,
- 92, 96, 42, 177, 24, 46, 71, 241, 205, 92, 96, 107, 71, 24, 241, 31, 92,
- 96, 177, 51, 248, 102, 241, 31, 92, 96, 107, 51, 248, 102, 241, 31, 92,
- 96, 177, 51, 248, 102, 214, 216, 92, 96, 107, 51, 248, 102, 214, 216, 92,
- 96, 51, 241, 31, 92, 96, 51, 214, 216, 92, 96, 119, 220, 81, 24, 46, 246,
- 67, 92, 96, 119, 51, 24, 46, 220, 80, 92, 96, 51, 119, 24, 223, 148, 92,
- 96, 119, 220, 81, 24, 42, 246, 67, 92, 96, 119, 51, 24, 42, 220, 80, 92,
- 96, 51, 119, 24, 233, 70, 92, 96, 114, 220, 81, 24, 46, 246, 67, 92, 96,
- 114, 51, 24, 46, 220, 80, 92, 96, 51, 114, 24, 223, 148, 92, 96, 114,
- 220, 81, 24, 42, 246, 67, 92, 96, 114, 51, 24, 42, 220, 80, 92, 96, 51,
- 114, 24, 233, 70, 92, 96, 71, 220, 81, 24, 46, 246, 67, 92, 96, 71, 51,
- 24, 46, 220, 80, 92, 96, 51, 71, 24, 223, 148, 92, 96, 71, 220, 81, 24,
- 42, 246, 67, 92, 96, 71, 51, 24, 42, 220, 80, 92, 96, 51, 71, 24, 233,
- 70, 92, 96, 119, 220, 81, 24, 199, 246, 67, 92, 96, 119, 51, 24, 199,
- 220, 80, 92, 96, 51, 119, 24, 241, 31, 92, 96, 114, 220, 81, 24, 199,
- 246, 67, 92, 96, 114, 51, 24, 199, 220, 80, 92, 96, 51, 114, 24, 241, 31,
- 92, 96, 71, 220, 81, 24, 199, 246, 67, 92, 96, 71, 51, 24, 199, 220, 80,
- 92, 96, 51, 71, 24, 241, 31, 92, 96, 177, 253, 196, 119, 24, 223, 148,
- 92, 96, 177, 253, 196, 119, 24, 233, 70, 92, 96, 177, 253, 196, 114, 24,
- 233, 70, 92, 96, 177, 253, 196, 114, 24, 223, 148, 92, 96, 177, 247, 207,
- 215, 131, 46, 211, 211, 232, 163, 233, 70, 92, 96, 177, 247, 207, 215,
- 131, 42, 211, 211, 232, 163, 223, 148, 92, 96, 177, 247, 207, 249, 70,
- 92, 96, 177, 233, 70, 92, 96, 177, 215, 134, 92, 96, 177, 223, 148, 92,
- 96, 177, 246, 60, 92, 96, 107, 233, 70, 92, 96, 107, 215, 134, 92, 96,
- 107, 223, 148, 92, 96, 107, 246, 60, 92, 96, 177, 42, 24, 107, 223, 148,
- 92, 96, 177, 114, 24, 107, 246, 60, 92, 96, 107, 42, 24, 177, 223, 148,
- 92, 96, 107, 114, 24, 177, 246, 60, 215, 131, 151, 251, 136, 232, 163,
- 122, 245, 146, 251, 136, 232, 163, 122, 224, 167, 251, 136, 232, 163,
- 133, 245, 144, 251, 136, 232, 163, 151, 251, 136, 232, 163, 244, 50, 245,
- 144, 251, 136, 232, 163, 133, 224, 165, 251, 136, 232, 163, 221, 43, 245,
- 144, 251, 136, 243, 200, 251, 136, 42, 221, 43, 245, 144, 251, 136, 42,
- 133, 224, 165, 251, 136, 42, 244, 50, 245, 144, 251, 136, 42, 151, 251,
- 136, 42, 133, 245, 144, 251, 136, 42, 122, 224, 167, 251, 136, 42, 122,
- 245, 146, 251, 136, 46, 151, 251, 136, 177, 221, 14, 231, 147, 221, 14,
- 248, 107, 221, 14, 215, 131, 122, 245, 146, 251, 136, 46, 122, 245, 146,
- 251, 136, 224, 171, 232, 163, 233, 70, 224, 171, 232, 163, 223, 148, 224,
- 171, 215, 131, 233, 70, 224, 171, 215, 131, 42, 24, 232, 163, 42, 24,
- 232, 163, 223, 148, 224, 171, 215, 131, 42, 24, 232, 163, 223, 148, 224,
- 171, 215, 131, 42, 24, 215, 131, 46, 24, 232, 163, 233, 70, 224, 171,
- 215, 131, 42, 24, 215, 131, 46, 24, 232, 163, 223, 148, 224, 171, 215,
- 131, 223, 148, 224, 171, 215, 131, 46, 24, 232, 163, 233, 70, 224, 171,
- 215, 131, 46, 24, 232, 163, 42, 24, 232, 163, 223, 148, 83, 219, 166, 67,
- 219, 166, 67, 41, 2, 223, 85, 249, 98, 67, 41, 249, 126, 83, 3, 219, 166,
- 41, 2, 199, 244, 74, 41, 2, 71, 244, 74, 41, 2, 227, 11, 249, 66, 244,
- 74, 41, 2, 215, 131, 42, 211, 211, 232, 163, 46, 244, 74, 41, 2, 215,
- 131, 46, 211, 211, 232, 163, 42, 244, 74, 41, 2, 247, 207, 249, 66, 244,
- 74, 83, 3, 219, 166, 67, 3, 219, 166, 83, 224, 9, 67, 224, 9, 83, 71,
- 224, 9, 67, 71, 224, 9, 83, 226, 134, 67, 226, 134, 83, 215, 133, 216,
- 183, 67, 215, 133, 216, 183, 83, 215, 133, 3, 216, 183, 67, 215, 133, 3,
- 216, 183, 83, 223, 144, 216, 183, 67, 223, 144, 216, 183, 83, 223, 144,
- 3, 216, 183, 67, 223, 144, 3, 216, 183, 83, 223, 144, 225, 142, 67, 223,
- 144, 225, 142, 83, 246, 59, 216, 183, 67, 246, 59, 216, 183, 83, 246, 59,
- 3, 216, 183, 67, 246, 59, 3, 216, 183, 83, 233, 66, 216, 183, 67, 233,
- 66, 216, 183, 83, 233, 66, 3, 216, 183, 67, 233, 66, 3, 216, 183, 83,
- 233, 66, 225, 142, 67, 233, 66, 225, 142, 83, 247, 200, 67, 247, 200, 67,
- 247, 201, 249, 126, 83, 3, 247, 200, 244, 58, 232, 159, 67, 249, 228,
- 246, 72, 249, 228, 249, 229, 2, 71, 244, 74, 251, 40, 83, 249, 228, 249,
- 229, 2, 42, 151, 251, 144, 249, 229, 2, 46, 151, 251, 144, 249, 229, 2,
- 232, 163, 151, 251, 144, 249, 229, 2, 215, 131, 151, 251, 144, 249, 229,
- 2, 215, 131, 46, 224, 171, 251, 144, 249, 229, 2, 254, 64, 251, 17, 215,
- 131, 42, 224, 171, 251, 144, 42, 151, 83, 249, 228, 46, 151, 83, 249,
- 228, 235, 192, 251, 42, 235, 192, 67, 249, 228, 215, 131, 151, 235, 192,
- 67, 249, 228, 232, 163, 151, 235, 192, 67, 249, 228, 215, 131, 42, 224,
- 171, 249, 226, 253, 195, 215, 131, 46, 224, 171, 249, 226, 253, 195, 232,
- 163, 46, 224, 171, 249, 226, 253, 195, 232, 163, 42, 224, 171, 249, 226,
- 253, 195, 215, 131, 151, 249, 228, 232, 163, 151, 249, 228, 83, 232, 163,
- 46, 216, 183, 83, 232, 163, 42, 216, 183, 83, 215, 131, 42, 216, 183, 83,
- 215, 131, 46, 216, 183, 67, 251, 42, 41, 2, 42, 151, 251, 144, 41, 2, 46,
- 151, 251, 144, 41, 2, 215, 131, 42, 247, 207, 151, 251, 144, 41, 2, 232,
- 163, 46, 247, 207, 151, 251, 144, 67, 41, 2, 71, 251, 155, 232, 242, 67,
- 215, 133, 216, 184, 2, 247, 74, 215, 133, 216, 184, 2, 42, 151, 251, 144,
- 215, 133, 216, 184, 2, 46, 151, 251, 144, 233, 108, 249, 228, 67, 41, 2,
- 215, 131, 42, 224, 170, 67, 41, 2, 232, 163, 42, 224, 170, 67, 41, 2,
- 232, 163, 46, 224, 170, 67, 41, 2, 215, 131, 46, 224, 170, 67, 249, 229,
- 2, 215, 131, 42, 224, 170, 67, 249, 229, 2, 232, 163, 42, 224, 170, 67,
- 249, 229, 2, 232, 163, 46, 224, 170, 67, 249, 229, 2, 215, 131, 46, 224,
- 170, 215, 131, 42, 216, 183, 215, 131, 46, 216, 183, 232, 163, 42, 216,
- 183, 67, 231, 147, 219, 166, 83, 231, 147, 219, 166, 67, 231, 147, 3,
- 219, 166, 83, 231, 147, 3, 219, 166, 232, 163, 46, 216, 183, 83, 218,
- 239, 2, 224, 25, 249, 184, 215, 164, 219, 244, 249, 160, 83, 219, 95, 67,
- 219, 95, 233, 0, 217, 86, 218, 238, 253, 149, 228, 182, 247, 245, 228,
- 182, 249, 135, 227, 29, 83, 217, 209, 67, 217, 209, 252, 75, 251, 89,
- 252, 75, 92, 2, 250, 65, 252, 75, 92, 2, 213, 166, 222, 169, 215, 165, 2,
- 224, 51, 246, 39, 240, 230, 251, 199, 67, 220, 182, 225, 233, 83, 220,
- 182, 225, 233, 221, 10, 223, 202, 223, 89, 244, 24, 241, 212, 251, 42,
- 83, 42, 225, 141, 235, 239, 83, 46, 225, 141, 235, 239, 67, 42, 225, 141,
- 235, 239, 67, 114, 225, 141, 235, 239, 67, 46, 225, 141, 235, 239, 67,
- 119, 225, 141, 235, 239, 220, 29, 24, 249, 69, 250, 152, 52, 224, 62, 52,
- 251, 162, 52, 250, 211, 254, 13, 227, 12, 249, 70, 250, 48, 223, 190,
- 249, 71, 65, 232, 173, 249, 71, 65, 235, 117, 219, 96, 24, 249, 76, 244,
- 136, 87, 254, 153, 221, 12, 242, 5, 24, 220, 115, 226, 95, 87, 212, 245,
- 213, 58, 216, 173, 31, 241, 207, 216, 173, 31, 233, 131, 216, 173, 31,
- 244, 65, 216, 173, 31, 217, 87, 216, 173, 31, 213, 224, 216, 173, 31,
- 214, 24, 216, 173, 31, 230, 185, 216, 173, 31, 245, 179, 213, 242, 65,
- 247, 226, 67, 243, 209, 244, 158, 67, 220, 2, 244, 158, 83, 220, 2, 244,
- 158, 67, 218, 239, 2, 224, 25, 244, 61, 224, 167, 230, 198, 233, 103,
- 224, 167, 230, 198, 231, 118, 244, 107, 52, 245, 179, 231, 253, 52, 235,
- 41, 222, 137, 215, 116, 229, 175, 225, 154, 253, 183, 217, 247, 243, 28,
- 250, 191, 233, 43, 214, 131, 233, 10, 222, 110, 222, 188, 250, 180, 253,
- 212, 225, 184, 67, 250, 54, 234, 87, 67, 250, 54, 224, 159, 67, 250, 54,
- 223, 97, 67, 250, 54, 251, 154, 67, 250, 54, 234, 39, 67, 250, 54, 226,
- 105, 83, 250, 54, 234, 87, 83, 250, 54, 224, 159, 83, 250, 54, 223, 97,
- 83, 250, 54, 251, 154, 83, 250, 54, 234, 39, 83, 250, 54, 226, 105, 83,
- 219, 204, 218, 251, 67, 241, 212, 218, 251, 67, 247, 201, 218, 251, 83,
- 249, 182, 218, 251, 67, 219, 204, 218, 251, 83, 241, 212, 218, 251, 83,
- 247, 201, 218, 251, 67, 249, 182, 218, 251, 240, 230, 219, 170, 224, 167,
- 228, 158, 245, 146, 228, 158, 251, 249, 245, 146, 228, 153, 251, 249,
- 220, 46, 228, 153, 230, 127, 244, 35, 52, 230, 127, 230, 9, 52, 230, 127,
- 220, 255, 52, 213, 250, 175, 249, 70, 245, 176, 175, 249, 70, 215, 142,
- 224, 5, 87, 224, 5, 16, 31, 216, 14, 225, 166, 224, 5, 16, 31, 216, 13,
- 225, 166, 224, 5, 16, 31, 216, 12, 225, 166, 224, 5, 16, 31, 216, 11,
- 225, 166, 224, 5, 16, 31, 216, 10, 225, 166, 224, 5, 16, 31, 216, 9, 225,
- 166, 224, 5, 16, 31, 216, 8, 225, 166, 224, 5, 16, 31, 243, 26, 231, 201,
- 83, 215, 142, 224, 5, 87, 224, 6, 226, 148, 87, 226, 124, 226, 148, 87,
- 226, 49, 226, 148, 52, 213, 240, 87, 247, 193, 244, 157, 247, 193, 244,
- 156, 247, 193, 244, 155, 247, 193, 244, 154, 247, 193, 244, 153, 247,
- 193, 244, 152, 67, 249, 229, 2, 62, 223, 148, 67, 249, 229, 2, 117, 247,
- 72, 83, 249, 229, 2, 67, 62, 223, 148, 83, 249, 229, 2, 117, 67, 247, 72,
- 230, 212, 31, 213, 58, 230, 212, 31, 212, 244, 247, 176, 31, 242, 108,
- 213, 58, 247, 176, 31, 233, 37, 212, 244, 247, 176, 31, 233, 37, 213, 58,
- 247, 176, 31, 242, 108, 212, 244, 67, 244, 42, 83, 244, 42, 242, 5, 24,
- 225, 236, 254, 29, 249, 68, 218, 180, 219, 103, 65, 254, 131, 222, 124,
- 254, 77, 244, 20, 243, 36, 219, 103, 65, 241, 187, 253, 115, 87, 244, 31,
- 226, 250, 67, 219, 95, 133, 232, 237, 249, 114, 223, 148, 133, 232, 237,
- 249, 114, 233, 70, 214, 34, 52, 124, 214, 111, 52, 246, 64, 244, 107, 52,
- 246, 64, 231, 253, 52, 235, 200, 244, 107, 24, 231, 253, 52, 231, 253,
- 24, 244, 107, 52, 231, 253, 2, 219, 45, 52, 231, 253, 2, 219, 45, 24,
- 231, 253, 24, 244, 107, 52, 71, 231, 253, 2, 219, 45, 52, 199, 231, 253,
- 2, 219, 45, 52, 231, 147, 67, 249, 228, 231, 147, 83, 249, 228, 231, 147,
- 3, 67, 249, 228, 231, 216, 87, 247, 119, 87, 215, 140, 226, 123, 87, 249,
- 169, 243, 196, 215, 112, 229, 170, 250, 95, 226, 188, 235, 47, 214, 162,
- 250, 30, 83, 230, 199, 232, 253, 221, 33, 221, 67, 224, 150, 221, 51,
- 219, 239, 252, 78, 252, 46, 91, 234, 144, 67, 246, 48, 231, 248, 67, 246,
- 48, 234, 87, 83, 246, 48, 231, 248, 83, 246, 48, 234, 87, 219, 245, 213,
- 216, 219, 248, 218, 239, 251, 227, 249, 184, 224, 50, 83, 219, 244, 217,
- 88, 249, 185, 24, 224, 50, 216, 58, 67, 220, 182, 225, 233, 216, 58, 83,
- 220, 182, 225, 233, 67, 247, 201, 235, 252, 219, 166, 249, 65, 233, 115,
- 247, 145, 250, 176, 227, 32, 225, 236, 250, 177, 220, 16, 241, 196, 2,
- 67, 249, 70, 36, 249, 65, 233, 115, 250, 88, 228, 186, 245, 83, 254, 50,
- 227, 57, 42, 214, 10, 216, 208, 83, 216, 21, 42, 214, 10, 216, 208, 67,
- 216, 21, 42, 214, 10, 216, 208, 83, 42, 233, 116, 231, 117, 67, 42, 233,
- 116, 231, 117, 246, 44, 220, 10, 52, 107, 67, 246, 59, 216, 183, 42, 249,
- 193, 245, 83, 91, 222, 169, 244, 143, 247, 207, 235, 252, 67, 249, 229,
- 235, 252, 83, 219, 166, 83, 216, 150, 223, 212, 42, 245, 82, 223, 212,
- 42, 245, 81, 253, 127, 16, 31, 215, 116, 107, 249, 229, 2, 219, 45, 24,
- 117, 176, 49, 226, 64, 223, 145, 235, 202, 226, 64, 233, 67, 235, 202,
- 226, 64, 235, 191, 226, 64, 83, 249, 71, 227, 63, 220, 209, 220, 197,
- 220, 154, 249, 254, 250, 158, 241, 143, 220, 54, 243, 37, 213, 216, 240,
- 210, 243, 37, 2, 241, 251, 231, 236, 16, 31, 233, 1, 230, 185, 215, 165,
- 227, 63, 242, 100, 243, 238, 244, 43, 235, 252, 241, 45, 244, 98, 222,
- 185, 41, 243, 237, 249, 98, 220, 32, 240, 105, 220, 35, 226, 44, 2, 252,
- 78, 217, 195, 235, 131, 252, 65, 87, 241, 215, 242, 110, 87, 243, 203,
- 225, 28, 249, 44, 227, 63, 83, 219, 166, 67, 244, 43, 2, 199, 231, 37,
- 83, 219, 46, 215, 131, 251, 140, 222, 112, 83, 222, 112, 232, 163, 251,
- 140, 222, 112, 67, 222, 112, 67, 107, 250, 66, 77, 217, 210, 232, 206,
- 52, 218, 4, 246, 43, 254, 99, 245, 78, 224, 48, 244, 54, 224, 48, 241,
- 254, 214, 152, 241, 254, 213, 186, 241, 254, 232, 163, 46, 226, 73, 226,
- 73, 215, 131, 46, 226, 73, 67, 229, 61, 83, 229, 61, 250, 66, 77, 107,
- 250, 66, 77, 230, 154, 213, 166, 107, 230, 154, 213, 166, 252, 75, 213,
- 166, 107, 252, 75, 213, 166, 226, 250, 25, 249, 70, 107, 25, 249, 70,
- 227, 40, 250, 109, 249, 70, 107, 227, 40, 250, 109, 249, 70, 7, 249, 70,
- 221, 13, 67, 7, 249, 70, 226, 250, 7, 249, 70, 231, 250, 249, 70, 219,
- 96, 65, 248, 95, 243, 237, 217, 223, 253, 132, 243, 237, 252, 76, 253,
- 132, 107, 243, 237, 252, 76, 253, 132, 243, 237, 249, 180, 253, 132, 83,
- 243, 237, 225, 143, 219, 95, 67, 243, 237, 225, 143, 219, 95, 219, 199,
- 219, 51, 226, 250, 67, 219, 95, 36, 67, 219, 95, 227, 40, 250, 109, 83,
- 219, 95, 83, 250, 109, 67, 219, 95, 226, 250, 83, 219, 95, 107, 226, 250,
- 83, 219, 95, 225, 192, 219, 95, 221, 13, 67, 219, 95, 107, 253, 132, 227,
- 40, 250, 109, 253, 132, 245, 150, 219, 176, 253, 132, 245, 150, 225, 143,
- 83, 219, 95, 245, 150, 225, 143, 225, 192, 219, 95, 220, 53, 225, 143,
- 83, 219, 95, 245, 150, 225, 143, 224, 7, 83, 219, 95, 107, 245, 150, 225,
- 143, 224, 7, 83, 219, 95, 216, 42, 225, 143, 83, 219, 95, 220, 48, 225,
- 143, 253, 132, 217, 223, 253, 132, 227, 40, 250, 109, 217, 223, 253, 132,
- 107, 217, 223, 253, 132, 220, 53, 226, 33, 83, 24, 67, 244, 23, 83, 244,
- 23, 67, 244, 23, 245, 150, 226, 33, 226, 250, 83, 244, 23, 36, 227, 40,
- 250, 109, 245, 150, 225, 143, 219, 95, 107, 217, 223, 225, 192, 253, 132,
- 219, 246, 217, 59, 216, 176, 219, 246, 107, 250, 51, 219, 246, 219, 201,
- 107, 219, 201, 252, 76, 253, 132, 245, 150, 217, 223, 225, 55, 253, 132,
- 107, 245, 150, 217, 223, 225, 55, 253, 132, 249, 71, 77, 221, 13, 67,
- 249, 228, 146, 91, 249, 71, 77, 232, 163, 46, 246, 41, 67, 219, 166, 215,
- 131, 46, 246, 41, 67, 219, 166, 232, 163, 46, 221, 13, 67, 219, 166, 215,
- 131, 46, 221, 13, 67, 219, 166, 83, 224, 158, 152, 227, 14, 67, 224, 158,
- 152, 227, 14, 67, 244, 254, 152, 227, 14, 83, 247, 201, 230, 251, 67,
- 213, 166, 107, 244, 254, 152, 87, 177, 71, 134, 231, 147, 71, 134, 107,
- 71, 134, 107, 220, 81, 216, 58, 249, 158, 224, 143, 152, 227, 14, 107,
- 220, 81, 249, 158, 224, 143, 152, 227, 14, 107, 51, 216, 58, 249, 158,
- 224, 143, 152, 227, 14, 107, 51, 249, 158, 224, 143, 152, 227, 14, 107,
- 115, 220, 81, 249, 158, 224, 143, 152, 227, 14, 107, 115, 51, 249, 158,
- 224, 143, 152, 227, 14, 249, 33, 219, 80, 226, 143, 5, 227, 14, 107, 244,
- 254, 152, 227, 14, 107, 241, 212, 244, 254, 152, 227, 14, 107, 83, 241,
- 211, 223, 89, 107, 83, 241, 212, 251, 42, 244, 24, 241, 211, 223, 89,
- 244, 24, 241, 212, 251, 42, 231, 147, 42, 226, 132, 227, 14, 231, 147,
- 46, 226, 132, 227, 14, 231, 147, 244, 32, 42, 226, 132, 227, 14, 231,
- 147, 244, 32, 46, 226, 132, 227, 14, 231, 147, 233, 66, 254, 19, 251, 85,
- 227, 14, 231, 147, 223, 144, 254, 19, 251, 85, 227, 14, 107, 233, 66,
- 254, 19, 224, 143, 152, 227, 14, 107, 223, 144, 254, 19, 224, 143, 152,
- 227, 14, 107, 233, 66, 254, 19, 251, 85, 227, 14, 107, 223, 144, 254, 19,
- 251, 85, 227, 14, 177, 42, 216, 219, 220, 233, 251, 85, 227, 14, 177, 46,
- 216, 219, 220, 233, 251, 85, 227, 14, 231, 147, 42, 249, 40, 251, 85,
- 227, 14, 231, 147, 46, 249, 40, 251, 85, 227, 14, 247, 156, 146, 36, 21,
- 116, 247, 156, 146, 36, 21, 109, 247, 156, 146, 36, 21, 166, 247, 156,
- 146, 36, 21, 163, 247, 156, 146, 36, 21, 180, 247, 156, 146, 36, 21, 189,
- 247, 156, 146, 36, 21, 198, 247, 156, 146, 36, 21, 195, 247, 156, 146,
- 36, 21, 200, 247, 156, 146, 36, 50, 217, 200, 247, 156, 36, 35, 21, 116,
- 247, 156, 36, 35, 21, 109, 247, 156, 36, 35, 21, 166, 247, 156, 36, 35,
- 21, 163, 247, 156, 36, 35, 21, 180, 247, 156, 36, 35, 21, 189, 247, 156,
- 36, 35, 21, 198, 247, 156, 36, 35, 21, 195, 247, 156, 36, 35, 21, 200,
- 247, 156, 36, 35, 50, 217, 200, 247, 156, 146, 36, 35, 21, 116, 247, 156,
- 146, 36, 35, 21, 109, 247, 156, 146, 36, 35, 21, 166, 247, 156, 146, 36,
- 35, 21, 163, 247, 156, 146, 36, 35, 21, 180, 247, 156, 146, 36, 35, 21,
- 189, 247, 156, 146, 36, 35, 21, 198, 247, 156, 146, 36, 35, 21, 195, 247,
- 156, 146, 36, 35, 21, 200, 247, 156, 146, 36, 35, 50, 217, 200, 107, 213,
- 231, 95, 68, 107, 94, 52, 107, 230, 251, 52, 107, 247, 121, 52, 107, 219,
- 215, 245, 176, 68, 107, 95, 68, 107, 228, 167, 245, 176, 68, 246, 52,
- 225, 145, 95, 68, 107, 223, 86, 95, 68, 216, 182, 95, 68, 107, 216, 182,
- 95, 68, 248, 100, 216, 182, 95, 68, 107, 248, 100, 216, 182, 95, 68, 83,
- 95, 68, 217, 97, 216, 225, 95, 253, 164, 217, 97, 251, 99, 95, 253, 164,
- 83, 95, 253, 164, 107, 83, 249, 33, 246, 58, 24, 95, 68, 107, 83, 249,
- 33, 215, 124, 24, 95, 68, 219, 163, 83, 95, 68, 107, 249, 145, 83, 95,
- 68, 223, 143, 67, 95, 68, 233, 65, 67, 95, 68, 252, 100, 221, 13, 67, 95,
- 68, 243, 211, 221, 13, 67, 95, 68, 107, 232, 163, 223, 142, 67, 95, 68,
- 107, 215, 131, 223, 142, 67, 95, 68, 228, 160, 232, 163, 223, 142, 67,
- 95, 68, 249, 40, 232, 177, 228, 160, 215, 131, 223, 142, 67, 95, 68, 36,
- 107, 67, 95, 68, 213, 237, 95, 68, 251, 143, 219, 215, 245, 176, 68, 251,
- 143, 95, 68, 251, 143, 228, 167, 245, 176, 68, 107, 251, 143, 219, 215,
- 245, 176, 68, 107, 251, 143, 95, 68, 107, 251, 143, 228, 167, 245, 176,
- 68, 217, 225, 95, 68, 107, 217, 224, 95, 68, 214, 2, 95, 68, 107, 214, 2,
- 95, 68, 227, 37, 95, 68, 51, 249, 40, 232, 177, 133, 247, 166, 254, 18,
- 67, 216, 184, 249, 126, 3, 67, 216, 183, 226, 47, 227, 40, 219, 8, 227,
- 40, 218, 221, 42, 223, 3, 252, 91, 248, 11, 46, 223, 3, 252, 91, 248, 11,
- 167, 2, 62, 235, 212, 223, 203, 219, 232, 225, 81, 219, 8, 218, 222, 225,
- 81, 219, 231, 71, 252, 60, 2, 199, 90, 184, 247, 120, 91, 232, 199, 254,
- 27, 91, 232, 199, 227, 24, 67, 247, 201, 2, 250, 107, 247, 74, 24, 2,
- 247, 74, 245, 127, 65, 227, 35, 215, 123, 232, 163, 46, 249, 100, 2, 247,
- 74, 215, 131, 42, 249, 100, 2, 247, 74, 42, 226, 252, 235, 69, 46, 226,
- 252, 235, 69, 243, 200, 226, 252, 235, 69, 233, 108, 114, 218, 36, 233,
- 108, 119, 218, 36, 42, 24, 46, 51, 216, 57, 42, 24, 46, 218, 36, 42, 230,
- 157, 184, 46, 218, 36, 184, 42, 218, 36, 114, 218, 37, 2, 249, 229, 49,
- 232, 160, 247, 125, 251, 7, 199, 223, 44, 67, 249, 144, 247, 200, 67,
- 249, 144, 247, 201, 2, 132, 217, 68, 67, 249, 144, 247, 201, 2, 95, 217,
- 68, 67, 41, 2, 132, 217, 68, 67, 41, 2, 95, 217, 68, 14, 42, 67, 41, 125,
- 14, 46, 67, 41, 125, 14, 42, 254, 19, 125, 14, 46, 254, 19, 125, 14, 42,
- 51, 254, 19, 125, 14, 46, 51, 254, 19, 125, 14, 42, 67, 216, 219, 220,
- 233, 125, 14, 46, 67, 216, 219, 220, 233, 125, 14, 42, 244, 32, 226, 131,
- 14, 46, 244, 32, 226, 131, 215, 124, 224, 169, 68, 246, 58, 224, 169, 68,
- 253, 255, 243, 74, 249, 229, 68, 249, 195, 243, 74, 249, 229, 68, 46, 76,
- 2, 36, 225, 156, 184, 132, 68, 184, 95, 68, 184, 42, 46, 68, 184, 132,
- 51, 68, 184, 95, 51, 68, 184, 42, 46, 51, 68, 184, 132, 76, 243, 213,
- 134, 184, 95, 76, 243, 213, 134, 184, 132, 51, 76, 243, 213, 134, 184,
- 95, 51, 76, 243, 213, 134, 184, 95, 219, 162, 68, 44, 45, 251, 138, 44,
- 45, 247, 71, 44, 45, 246, 199, 44, 45, 247, 70, 44, 45, 246, 135, 44, 45,
- 247, 6, 44, 45, 246, 198, 44, 45, 247, 69, 44, 45, 246, 103, 44, 45, 246,
- 230, 44, 45, 246, 166, 44, 45, 247, 37, 44, 45, 246, 134, 44, 45, 247, 5,
- 44, 45, 246, 197, 44, 45, 247, 68, 44, 45, 246, 87, 44, 45, 246, 214, 44,
- 45, 246, 150, 44, 45, 247, 21, 44, 45, 246, 118, 44, 45, 246, 245, 44,
- 45, 246, 181, 44, 45, 247, 52, 44, 45, 246, 102, 44, 45, 246, 229, 44,
- 45, 246, 165, 44, 45, 247, 36, 44, 45, 246, 133, 44, 45, 247, 4, 44, 45,
- 246, 196, 44, 45, 247, 67, 44, 45, 246, 79, 44, 45, 246, 206, 44, 45,
- 246, 142, 44, 45, 247, 13, 44, 45, 246, 110, 44, 45, 246, 237, 44, 45,
- 246, 173, 44, 45, 247, 44, 44, 45, 246, 94, 44, 45, 246, 221, 44, 45,
- 246, 157, 44, 45, 247, 28, 44, 45, 246, 125, 44, 45, 246, 252, 44, 45,
- 246, 188, 44, 45, 247, 59, 44, 45, 246, 86, 44, 45, 246, 213, 44, 45,
- 246, 149, 44, 45, 247, 20, 44, 45, 246, 117, 44, 45, 246, 244, 44, 45,
- 246, 180, 44, 45, 247, 51, 44, 45, 246, 101, 44, 45, 246, 228, 44, 45,
- 246, 164, 44, 45, 247, 35, 44, 45, 246, 132, 44, 45, 247, 3, 44, 45, 246,
- 195, 44, 45, 247, 66, 44, 45, 246, 75, 44, 45, 246, 202, 44, 45, 246,
- 138, 44, 45, 247, 9, 44, 45, 246, 106, 44, 45, 246, 233, 44, 45, 246,
- 169, 44, 45, 247, 40, 44, 45, 246, 90, 44, 45, 246, 217, 44, 45, 246,
- 153, 44, 45, 247, 24, 44, 45, 246, 121, 44, 45, 246, 248, 44, 45, 246,
- 184, 44, 45, 247, 55, 44, 45, 246, 82, 44, 45, 246, 209, 44, 45, 246,
- 145, 44, 45, 247, 16, 44, 45, 246, 113, 44, 45, 246, 240, 44, 45, 246,
- 176, 44, 45, 247, 47, 44, 45, 246, 97, 44, 45, 246, 224, 44, 45, 246,
- 160, 44, 45, 247, 31, 44, 45, 246, 128, 44, 45, 246, 255, 44, 45, 246,
- 191, 44, 45, 247, 62, 44, 45, 246, 78, 44, 45, 246, 205, 44, 45, 246,
- 141, 44, 45, 247, 12, 44, 45, 246, 109, 44, 45, 246, 236, 44, 45, 246,
- 172, 44, 45, 247, 43, 44, 45, 246, 93, 44, 45, 246, 220, 44, 45, 246,
- 156, 44, 45, 247, 27, 44, 45, 246, 124, 44, 45, 246, 251, 44, 45, 246,
- 187, 44, 45, 247, 58, 44, 45, 246, 85, 44, 45, 246, 212, 44, 45, 246,
- 148, 44, 45, 247, 19, 44, 45, 246, 116, 44, 45, 246, 243, 44, 45, 246,
- 179, 44, 45, 247, 50, 44, 45, 246, 100, 44, 45, 246, 227, 44, 45, 246,
- 163, 44, 45, 247, 34, 44, 45, 246, 131, 44, 45, 247, 2, 44, 45, 246, 194,
- 44, 45, 247, 65, 44, 45, 246, 73, 44, 45, 246, 200, 44, 45, 246, 136, 44,
- 45, 247, 7, 44, 45, 246, 104, 44, 45, 246, 231, 44, 45, 246, 167, 44, 45,
- 247, 38, 44, 45, 246, 88, 44, 45, 246, 215, 44, 45, 246, 151, 44, 45,
- 247, 22, 44, 45, 246, 119, 44, 45, 246, 246, 44, 45, 246, 182, 44, 45,
- 247, 53, 44, 45, 246, 80, 44, 45, 246, 207, 44, 45, 246, 143, 44, 45,
- 247, 14, 44, 45, 246, 111, 44, 45, 246, 238, 44, 45, 246, 174, 44, 45,
- 247, 45, 44, 45, 246, 95, 44, 45, 246, 222, 44, 45, 246, 158, 44, 45,
- 247, 29, 44, 45, 246, 126, 44, 45, 246, 253, 44, 45, 246, 189, 44, 45,
- 247, 60, 44, 45, 246, 76, 44, 45, 246, 203, 44, 45, 246, 139, 44, 45,
- 247, 10, 44, 45, 246, 107, 44, 45, 246, 234, 44, 45, 246, 170, 44, 45,
- 247, 41, 44, 45, 246, 91, 44, 45, 246, 218, 44, 45, 246, 154, 44, 45,
- 247, 25, 44, 45, 246, 122, 44, 45, 246, 249, 44, 45, 246, 185, 44, 45,
- 247, 56, 44, 45, 246, 83, 44, 45, 246, 210, 44, 45, 246, 146, 44, 45,
- 247, 17, 44, 45, 246, 114, 44, 45, 246, 241, 44, 45, 246, 177, 44, 45,
- 247, 48, 44, 45, 246, 98, 44, 45, 246, 225, 44, 45, 246, 161, 44, 45,
- 247, 32, 44, 45, 246, 129, 44, 45, 247, 0, 44, 45, 246, 192, 44, 45, 247,
- 63, 44, 45, 246, 74, 44, 45, 246, 201, 44, 45, 246, 137, 44, 45, 247, 8,
- 44, 45, 246, 105, 44, 45, 246, 232, 44, 45, 246, 168, 44, 45, 247, 39,
- 44, 45, 246, 89, 44, 45, 246, 216, 44, 45, 246, 152, 44, 45, 247, 23, 44,
- 45, 246, 120, 44, 45, 246, 247, 44, 45, 246, 183, 44, 45, 247, 54, 44,
- 45, 246, 81, 44, 45, 246, 208, 44, 45, 246, 144, 44, 45, 247, 15, 44, 45,
- 246, 112, 44, 45, 246, 239, 44, 45, 246, 175, 44, 45, 247, 46, 44, 45,
- 246, 96, 44, 45, 246, 223, 44, 45, 246, 159, 44, 45, 247, 30, 44, 45,
- 246, 127, 44, 45, 246, 254, 44, 45, 246, 190, 44, 45, 247, 61, 44, 45,
- 246, 77, 44, 45, 246, 204, 44, 45, 246, 140, 44, 45, 247, 11, 44, 45,
- 246, 108, 44, 45, 246, 235, 44, 45, 246, 171, 44, 45, 247, 42, 44, 45,
- 246, 92, 44, 45, 246, 219, 44, 45, 246, 155, 44, 45, 247, 26, 44, 45,
- 246, 123, 44, 45, 246, 250, 44, 45, 246, 186, 44, 45, 247, 57, 44, 45,
- 246, 84, 44, 45, 246, 211, 44, 45, 246, 147, 44, 45, 247, 18, 44, 45,
- 246, 115, 44, 45, 246, 242, 44, 45, 246, 178, 44, 45, 247, 49, 44, 45,
- 246, 99, 44, 45, 246, 226, 44, 45, 246, 162, 44, 45, 247, 33, 44, 45,
- 246, 130, 44, 45, 247, 1, 44, 45, 246, 193, 44, 45, 247, 64, 95, 216, 24,
- 76, 2, 71, 90, 95, 216, 24, 76, 2, 51, 71, 90, 132, 51, 76, 2, 71, 90,
- 95, 51, 76, 2, 71, 90, 42, 46, 51, 76, 2, 71, 90, 95, 216, 24, 76, 243,
- 213, 134, 132, 51, 76, 243, 213, 134, 95, 51, 76, 243, 213, 134, 246, 58,
- 76, 2, 199, 90, 215, 124, 76, 2, 199, 90, 215, 124, 216, 169, 68, 246,
- 58, 216, 169, 68, 132, 51, 248, 102, 68, 95, 51, 248, 102, 68, 132, 216,
- 169, 248, 102, 68, 95, 216, 169, 248, 102, 68, 95, 216, 24, 216, 169,
- 248, 102, 68, 95, 76, 2, 246, 72, 219, 79, 215, 124, 76, 211, 211, 134,
- 246, 58, 76, 211, 211, 134, 95, 76, 2, 218, 28, 2, 71, 90, 95, 76, 2,
- 218, 28, 2, 51, 71, 90, 95, 216, 24, 76, 2, 218, 27, 95, 216, 24, 76, 2,
- 218, 28, 2, 71, 90, 95, 216, 24, 76, 2, 218, 28, 2, 51, 71, 90, 132, 253,
- 166, 95, 253, 166, 132, 51, 253, 166, 95, 51, 253, 166, 132, 76, 211,
- 211, 83, 247, 200, 95, 76, 211, 211, 83, 247, 200, 132, 76, 243, 213,
- 252, 60, 211, 211, 83, 247, 200, 95, 76, 243, 213, 252, 60, 211, 211, 83,
- 247, 200, 228, 167, 213, 250, 24, 219, 215, 245, 176, 68, 228, 167, 245,
- 176, 24, 219, 215, 213, 250, 68, 228, 167, 213, 250, 76, 2, 101, 228,
- 167, 245, 176, 76, 2, 101, 219, 215, 245, 176, 76, 2, 101, 219, 215, 213,
- 250, 76, 2, 101, 228, 167, 213, 250, 76, 24, 228, 167, 245, 176, 68, 228,
- 167, 245, 176, 76, 24, 219, 215, 245, 176, 68, 219, 215, 245, 176, 76,
- 24, 219, 215, 213, 250, 68, 219, 215, 213, 250, 76, 24, 228, 167, 213,
- 250, 68, 223, 125, 247, 207, 249, 65, 244, 143, 247, 206, 244, 143, 247,
- 207, 249, 65, 223, 125, 247, 206, 219, 215, 245, 176, 76, 249, 65, 228,
- 167, 245, 176, 68, 228, 167, 245, 176, 76, 249, 65, 219, 215, 245, 176,
- 68, 244, 143, 247, 207, 249, 65, 228, 167, 245, 176, 68, 223, 125, 247,
- 207, 249, 65, 219, 215, 245, 176, 68, 228, 167, 245, 176, 76, 249, 65,
- 228, 167, 213, 250, 68, 228, 167, 213, 250, 76, 249, 65, 228, 167, 245,
- 176, 68, 214, 20, 76, 225, 141, 247, 147, 223, 148, 76, 225, 141, 95,
- 217, 141, 249, 32, 215, 123, 76, 225, 141, 95, 217, 141, 249, 32, 246,
- 57, 76, 225, 141, 246, 58, 217, 141, 249, 32, 233, 61, 76, 225, 141, 246,
- 58, 217, 141, 249, 32, 223, 138, 223, 141, 253, 196, 249, 195, 68, 233,
- 64, 253, 196, 253, 255, 68, 216, 227, 253, 196, 253, 255, 68, 251, 101,
- 253, 196, 253, 255, 68, 216, 227, 253, 196, 249, 195, 76, 2, 230, 250,
- 216, 227, 253, 196, 253, 255, 76, 2, 225, 156, 232, 163, 46, 221, 72,
- 249, 195, 68, 232, 163, 42, 221, 72, 253, 255, 68, 253, 255, 249, 193,
- 249, 229, 68, 249, 195, 249, 193, 249, 229, 68, 95, 76, 78, 220, 175,
- 132, 68, 132, 76, 78, 220, 175, 95, 68, 220, 175, 95, 76, 78, 132, 68,
- 95, 76, 2, 94, 55, 132, 76, 2, 94, 55, 95, 76, 217, 93, 213, 166, 42, 46,
- 76, 217, 93, 3, 249, 228, 215, 124, 216, 24, 76, 243, 213, 3, 249, 228,
- 42, 206, 114, 46, 206, 119, 241, 237, 42, 206, 119, 46, 206, 114, 241,
- 237, 114, 206, 46, 119, 206, 42, 241, 237, 114, 206, 42, 119, 206, 46,
- 241, 237, 42, 206, 114, 46, 206, 114, 241, 237, 114, 206, 46, 119, 206,
- 46, 241, 237, 42, 206, 119, 46, 206, 119, 241, 237, 114, 206, 42, 119,
- 206, 42, 241, 237, 132, 241, 238, 2, 206, 114, 211, 211, 134, 95, 241,
- 238, 2, 206, 114, 211, 211, 134, 215, 124, 241, 238, 2, 206, 46, 211,
- 211, 134, 246, 58, 241, 238, 2, 206, 46, 211, 211, 134, 132, 241, 238, 2,
- 206, 119, 211, 211, 134, 95, 241, 238, 2, 206, 119, 211, 211, 134, 215,
- 124, 241, 238, 2, 206, 42, 211, 211, 134, 246, 58, 241, 238, 2, 206, 42,
- 211, 211, 134, 132, 241, 238, 2, 206, 114, 243, 213, 134, 95, 241, 238,
- 2, 206, 114, 243, 213, 134, 215, 124, 241, 238, 2, 206, 46, 243, 213,
- 134, 246, 58, 241, 238, 2, 206, 46, 243, 213, 134, 132, 241, 238, 2, 206,
- 119, 243, 213, 134, 95, 241, 238, 2, 206, 119, 243, 213, 134, 215, 124,
- 241, 238, 2, 206, 42, 243, 213, 134, 246, 58, 241, 238, 2, 206, 42, 243,
- 213, 134, 132, 241, 238, 2, 206, 114, 78, 132, 241, 238, 2, 206, 246, 60,
- 215, 124, 241, 238, 2, 206, 42, 251, 207, 215, 124, 241, 238, 2, 206,
- 223, 148, 95, 241, 238, 2, 206, 114, 78, 95, 241, 238, 2, 206, 246, 60,
- 246, 58, 241, 238, 2, 206, 42, 251, 207, 246, 58, 241, 238, 2, 206, 223,
- 148, 132, 241, 238, 2, 206, 114, 78, 95, 241, 238, 2, 206, 215, 134, 132,
- 241, 238, 2, 206, 119, 78, 95, 241, 238, 2, 206, 246, 60, 95, 241, 238,
- 2, 206, 114, 78, 132, 241, 238, 2, 206, 215, 134, 95, 241, 238, 2, 206,
- 119, 78, 132, 241, 238, 2, 206, 246, 60, 132, 241, 238, 2, 206, 114, 78,
- 184, 248, 101, 132, 241, 238, 2, 206, 119, 251, 220, 184, 248, 101, 95,
- 241, 238, 2, 206, 114, 78, 184, 248, 101, 95, 241, 238, 2, 206, 119, 251,
- 220, 184, 248, 101, 215, 124, 241, 238, 2, 206, 42, 251, 207, 246, 58,
- 241, 238, 2, 206, 223, 148, 246, 58, 241, 238, 2, 206, 42, 251, 207, 215,
- 124, 241, 238, 2, 206, 223, 148, 46, 51, 76, 2, 223, 85, 241, 219, 245,
- 61, 5, 78, 95, 68, 217, 43, 227, 34, 78, 95, 68, 132, 76, 78, 217, 43,
- 227, 33, 95, 76, 78, 217, 43, 227, 33, 95, 76, 78, 254, 57, 123, 108,
- 233, 39, 78, 132, 68, 132, 76, 217, 93, 233, 38, 242, 107, 78, 95, 68,
- 219, 9, 78, 95, 68, 132, 76, 217, 93, 219, 8, 218, 222, 78, 132, 68, 42,
- 244, 60, 218, 27, 46, 244, 60, 218, 27, 114, 244, 60, 218, 27, 119, 244,
- 60, 218, 27, 216, 169, 71, 252, 60, 248, 11, 212, 153, 174, 219, 174,
- 212, 153, 174, 216, 15, 249, 164, 42, 67, 249, 40, 125, 46, 67, 249, 40,
- 125, 42, 67, 226, 131, 46, 67, 226, 131, 212, 153, 174, 42, 236, 10, 125,
- 212, 153, 174, 46, 236, 10, 125, 212, 153, 174, 42, 251, 165, 125, 212,
- 153, 174, 46, 251, 165, 125, 42, 41, 251, 85, 2, 215, 153, 46, 41, 251,
- 85, 2, 215, 153, 42, 41, 251, 85, 2, 217, 69, 235, 252, 216, 227, 249,
- 99, 46, 41, 251, 85, 2, 217, 69, 235, 252, 251, 101, 249, 99, 42, 41,
- 251, 85, 2, 217, 69, 235, 252, 251, 101, 249, 99, 46, 41, 251, 85, 2,
- 217, 69, 235, 252, 216, 227, 249, 99, 42, 254, 19, 251, 85, 2, 247, 74,
- 46, 254, 19, 251, 85, 2, 247, 74, 42, 253, 196, 233, 39, 125, 46, 253,
- 196, 242, 107, 125, 51, 42, 253, 196, 242, 107, 125, 51, 46, 253, 196,
- 233, 39, 125, 42, 83, 216, 219, 220, 233, 125, 46, 83, 216, 219, 220,
- 233, 125, 246, 72, 244, 104, 71, 212, 28, 232, 242, 231, 153, 254, 19,
- 227, 35, 233, 70, 46, 254, 19, 214, 244, 2, 219, 166, 231, 153, 46, 254,
- 19, 2, 247, 74, 254, 19, 2, 223, 4, 235, 212, 254, 164, 254, 18, 219,
- 187, 254, 19, 227, 35, 233, 70, 219, 187, 254, 19, 227, 35, 215, 134,
- 216, 58, 254, 18, 223, 202, 254, 18, 254, 19, 2, 215, 153, 223, 202, 254,
- 19, 2, 215, 153, 227, 112, 254, 19, 227, 35, 215, 134, 227, 112, 254, 19,
- 227, 35, 246, 60, 231, 153, 254, 19, 2, 227, 40, 253, 176, 245, 98, 235,
- 252, 76, 225, 141, 114, 24, 223, 148, 231, 153, 254, 19, 2, 227, 40, 253,
- 176, 245, 98, 235, 252, 76, 225, 141, 114, 24, 233, 70, 231, 153, 254,
- 19, 2, 227, 40, 253, 176, 245, 98, 235, 252, 76, 225, 141, 119, 24, 223,
- 148, 231, 153, 254, 19, 2, 227, 40, 253, 176, 245, 98, 235, 252, 76, 225,
- 141, 119, 24, 233, 70, 231, 153, 254, 19, 2, 227, 40, 253, 176, 245, 98,
- 235, 252, 76, 225, 141, 46, 24, 215, 134, 231, 153, 254, 19, 2, 227, 40,
- 253, 176, 245, 98, 235, 252, 76, 225, 141, 42, 24, 215, 134, 231, 153,
- 254, 19, 2, 227, 40, 253, 176, 245, 98, 235, 252, 76, 225, 141, 46, 24,
- 246, 60, 231, 153, 254, 19, 2, 227, 40, 253, 176, 245, 98, 235, 252, 76,
- 225, 141, 42, 24, 246, 60, 223, 202, 245, 110, 221, 48, 245, 110, 221,
- 49, 2, 226, 247, 245, 110, 221, 49, 2, 3, 249, 229, 49, 245, 110, 221,
- 49, 2, 46, 76, 49, 245, 110, 221, 49, 2, 42, 76, 49, 249, 229, 2, 199,
- 134, 36, 71, 134, 36, 226, 135, 36, 223, 203, 219, 231, 36, 226, 47, 249,
- 229, 247, 125, 251, 7, 199, 252, 60, 24, 216, 227, 151, 247, 125, 251, 7,
- 71, 134, 249, 229, 2, 218, 224, 213, 166, 36, 253, 254, 247, 121, 52,
- 114, 76, 217, 93, 249, 228, 36, 67, 251, 42, 36, 251, 42, 36, 233, 38,
- 36, 242, 106, 249, 229, 2, 3, 249, 229, 211, 211, 217, 149, 223, 148,
- 249, 229, 2, 117, 199, 219, 33, 211, 211, 217, 149, 223, 148, 91, 223,
- 125, 247, 207, 220, 23, 91, 244, 143, 247, 207, 220, 23, 91, 253, 132,
- 91, 3, 249, 228, 91, 219, 166, 117, 235, 68, 219, 164, 216, 184, 2, 62,
- 49, 216, 184, 2, 215, 153, 223, 4, 235, 252, 216, 183, 216, 184, 2, 221,
- 55, 253, 123, 251, 100, 46, 216, 184, 78, 42, 216, 183, 42, 216, 184,
- 251, 207, 71, 134, 71, 252, 60, 251, 207, 46, 216, 183, 251, 91, 2, 42,
- 151, 251, 144, 251, 91, 2, 46, 151, 251, 144, 83, 251, 90, 29, 2, 42,
- 151, 251, 144, 29, 2, 46, 151, 251, 144, 67, 240, 223, 83, 240, 223, 42,
- 213, 229, 244, 104, 46, 213, 229, 244, 104, 42, 51, 213, 229, 244, 104,
- 46, 51, 213, 229, 244, 104, 235, 244, 235, 231, 217, 66, 110, 235, 231,
- 235, 232, 229, 183, 2, 71, 134, 246, 66, 230, 157, 41, 2, 249, 120, 226,
- 251, 235, 242, 253, 152, 220, 144, 225, 63, 245, 61, 5, 24, 220, 25, 226,
- 135, 245, 61, 5, 24, 220, 25, 226, 136, 2, 217, 43, 49, 240, 97, 211,
- 211, 24, 220, 25, 226, 135, 242, 159, 219, 94, 217, 138, 246, 59, 216,
- 184, 2, 42, 151, 251, 144, 246, 59, 216, 184, 2, 46, 151, 251, 144, 83,
- 247, 201, 2, 119, 68, 83, 232, 159, 67, 249, 229, 2, 119, 68, 83, 249,
- 229, 2, 119, 68, 245, 48, 67, 219, 166, 245, 48, 83, 219, 166, 245, 48,
- 67, 247, 200, 245, 48, 83, 247, 200, 245, 48, 67, 249, 228, 245, 48, 83,
- 249, 228, 223, 43, 223, 203, 219, 232, 227, 33, 219, 232, 2, 226, 247,
- 223, 203, 219, 232, 2, 199, 90, 251, 172, 219, 231, 251, 172, 223, 203,
- 219, 231, 51, 225, 156, 216, 169, 225, 156, 233, 66, 249, 33, 254, 19,
- 125, 223, 144, 249, 33, 254, 19, 125, 217, 31, 230, 248, 230, 97, 36, 62,
- 227, 33, 230, 97, 36, 94, 227, 33, 230, 97, 36, 29, 227, 33, 230, 97,
- 215, 147, 227, 34, 2, 247, 74, 230, 97, 215, 147, 227, 34, 2, 225, 156,
- 230, 97, 41, 235, 196, 227, 33, 230, 97, 41, 215, 147, 227, 33, 117, 232,
- 199, 24, 227, 33, 117, 232, 199, 167, 227, 33, 230, 97, 29, 227, 33, 230,
- 224, 117, 218, 244, 218, 242, 2, 235, 208, 224, 169, 235, 209, 227, 33,
- 244, 68, 226, 127, 235, 208, 235, 209, 2, 51, 90, 235, 209, 253, 89, 2,
- 220, 23, 249, 225, 243, 197, 253, 255, 235, 206, 232, 243, 235, 207, 2,
- 224, 8, 226, 110, 253, 173, 225, 135, 232, 243, 235, 207, 2, 221, 72,
- 226, 110, 253, 173, 225, 135, 232, 243, 235, 207, 228, 163, 235, 246,
- 217, 149, 225, 135, 235, 209, 253, 173, 118, 225, 145, 227, 33, 224, 163,
- 235, 209, 227, 33, 235, 209, 2, 132, 76, 2, 101, 235, 209, 2, 29, 52,
- 235, 209, 2, 235, 195, 235, 209, 2, 215, 146, 235, 209, 2, 226, 247, 235,
- 209, 2, 215, 153, 235, 69, 233, 108, 42, 216, 184, 227, 33, 212, 153,
- 174, 222, 119, 249, 148, 212, 153, 174, 222, 119, 225, 188, 212, 153,
- 174, 222, 119, 225, 60, 94, 5, 2, 3, 249, 229, 49, 94, 5, 2, 249, 224,
- 254, 175, 49, 94, 5, 2, 217, 43, 49, 94, 5, 2, 62, 55, 94, 5, 2, 217, 43,
- 55, 94, 5, 2, 219, 10, 109, 94, 5, 2, 83, 216, 183, 230, 251, 5, 2, 249,
- 158, 49, 230, 251, 5, 2, 62, 55, 230, 251, 5, 2, 244, 143, 247, 72, 230,
- 251, 5, 2, 223, 125, 247, 72, 94, 5, 235, 252, 42, 151, 249, 228, 94, 5,
- 235, 252, 46, 151, 249, 228, 214, 231, 167, 249, 71, 225, 63, 230, 154,
- 5, 2, 62, 49, 230, 154, 5, 2, 215, 153, 221, 69, 225, 64, 2, 251, 101,
- 249, 192, 220, 5, 225, 63, 230, 154, 5, 235, 252, 42, 151, 249, 228, 230,
- 154, 5, 235, 252, 46, 151, 249, 228, 36, 230, 154, 5, 2, 249, 224, 254,
- 174, 230, 154, 5, 235, 252, 51, 249, 228, 36, 247, 121, 52, 94, 5, 235,
- 252, 216, 183, 230, 251, 5, 235, 252, 216, 183, 230, 154, 5, 235, 252,
- 216, 183, 235, 203, 225, 63, 223, 139, 235, 203, 225, 63, 212, 153, 174,
- 223, 240, 249, 148, 254, 43, 167, 249, 104, 235, 196, 2, 247, 74, 215,
- 147, 2, 230, 251, 52, 215, 147, 2, 226, 247, 235, 196, 2, 226, 247, 235,
- 196, 2, 232, 199, 254, 27, 215, 147, 2, 232, 199, 227, 24, 215, 147, 78,
- 235, 195, 235, 196, 78, 215, 146, 215, 147, 78, 252, 60, 78, 235, 195,
- 235, 196, 78, 252, 60, 78, 215, 146, 215, 147, 251, 207, 24, 235, 68, 2,
- 215, 146, 235, 196, 251, 207, 24, 235, 68, 2, 235, 195, 249, 193, 215,
- 147, 2, 221, 54, 249, 193, 235, 196, 2, 221, 54, 51, 41, 235, 195, 51,
- 41, 215, 146, 249, 193, 215, 147, 2, 221, 55, 24, 220, 5, 225, 63, 232,
- 199, 24, 2, 62, 49, 232, 199, 167, 2, 62, 49, 51, 232, 199, 254, 27, 51,
- 232, 199, 227, 24, 117, 235, 197, 232, 199, 254, 27, 117, 235, 197, 232,
- 199, 227, 24, 220, 13, 233, 108, 227, 24, 220, 13, 233, 108, 254, 27,
- 232, 199, 167, 226, 245, 232, 199, 254, 27, 232, 199, 24, 2, 231, 37,
- 219, 79, 232, 199, 167, 2, 231, 37, 219, 79, 232, 199, 24, 2, 199, 248,
- 101, 232, 199, 167, 2, 199, 248, 101, 232, 199, 24, 2, 51, 226, 247, 232,
- 199, 24, 2, 215, 153, 232, 199, 24, 2, 51, 215, 153, 3, 214, 228, 2, 215,
- 153, 232, 199, 167, 2, 51, 226, 247, 232, 199, 167, 2, 51, 215, 153, 212,
- 153, 174, 247, 83, 253, 246, 212, 153, 174, 224, 40, 253, 246, 245, 61,
- 5, 2, 62, 55, 240, 97, 2, 62, 49, 216, 169, 199, 252, 60, 2, 51, 71, 90,
- 216, 169, 199, 252, 60, 2, 216, 169, 71, 90, 217, 43, 227, 34, 2, 62, 49,
- 217, 43, 227, 34, 2, 223, 125, 247, 72, 220, 88, 230, 251, 220, 87, 249,
- 139, 2, 62, 49, 245, 61, 2, 253, 132, 254, 57, 123, 211, 211, 2, 249,
- 224, 254, 174, 253, 218, 123, 167, 123, 108, 245, 61, 5, 78, 94, 52, 94,
- 5, 78, 245, 61, 52, 245, 61, 5, 78, 217, 43, 227, 33, 51, 249, 165, 245,
- 62, 117, 249, 134, 245, 61, 220, 102, 133, 249, 134, 245, 61, 220, 102,
- 245, 61, 5, 2, 117, 176, 78, 24, 117, 176, 55, 245, 57, 2, 243, 237, 176,
- 49, 233, 39, 2, 249, 229, 235, 212, 242, 107, 2, 249, 229, 235, 212, 233,
- 39, 2, 224, 158, 152, 49, 242, 107, 2, 224, 158, 152, 49, 233, 39, 167,
- 220, 25, 123, 108, 242, 107, 167, 220, 25, 123, 108, 233, 39, 167, 220,
- 25, 123, 211, 211, 2, 62, 235, 212, 242, 107, 167, 220, 25, 123, 211,
- 211, 2, 62, 235, 212, 233, 39, 167, 220, 25, 123, 211, 211, 2, 62, 49,
- 242, 107, 167, 220, 25, 123, 211, 211, 2, 62, 49, 233, 39, 167, 220, 25,
- 123, 211, 211, 2, 62, 78, 223, 148, 242, 107, 167, 220, 25, 123, 211,
- 211, 2, 62, 78, 233, 70, 233, 39, 167, 253, 219, 242, 107, 167, 253, 219,
- 233, 39, 24, 220, 79, 228, 163, 123, 108, 242, 107, 24, 220, 79, 228,
- 163, 123, 108, 233, 39, 24, 228, 163, 253, 219, 242, 107, 24, 228, 163,
- 253, 219, 233, 39, 78, 246, 65, 123, 78, 242, 106, 242, 107, 78, 246, 65,
- 123, 78, 233, 38, 233, 39, 78, 220, 88, 167, 245, 62, 242, 107, 78, 220,
- 88, 167, 245, 62, 233, 39, 78, 220, 88, 78, 242, 106, 242, 107, 78, 220,
- 88, 78, 233, 38, 233, 39, 78, 242, 107, 78, 246, 65, 245, 62, 242, 107,
- 78, 233, 39, 78, 246, 65, 245, 62, 233, 39, 78, 220, 25, 123, 78, 242,
- 107, 78, 220, 25, 245, 62, 242, 107, 78, 220, 25, 123, 78, 233, 39, 78,
- 220, 25, 245, 62, 220, 25, 123, 211, 211, 167, 233, 38, 220, 25, 123,
- 211, 211, 167, 242, 106, 220, 25, 123, 211, 211, 167, 233, 39, 2, 62,
- 235, 212, 220, 25, 123, 211, 211, 167, 242, 107, 2, 62, 235, 212, 246,
- 65, 123, 211, 211, 167, 233, 38, 246, 65, 123, 211, 211, 167, 242, 106,
- 246, 65, 220, 25, 123, 211, 211, 167, 233, 38, 246, 65, 220, 25, 123,
- 211, 211, 167, 242, 106, 220, 88, 167, 233, 38, 220, 88, 167, 242, 106,
- 220, 88, 78, 233, 39, 78, 245, 61, 52, 220, 88, 78, 242, 107, 78, 245,
- 61, 52, 51, 229, 173, 233, 38, 51, 229, 173, 242, 106, 51, 229, 173, 233,
- 39, 2, 215, 153, 242, 107, 226, 245, 233, 38, 242, 107, 251, 207, 233,
- 38, 233, 39, 249, 193, 251, 7, 249, 34, 242, 107, 249, 193, 251, 7, 249,
- 34, 233, 39, 249, 193, 251, 7, 249, 35, 78, 220, 25, 245, 62, 242, 107,
- 249, 193, 251, 7, 249, 35, 78, 220, 25, 245, 62, 220, 6, 217, 153, 233,
- 106, 217, 153, 220, 6, 217, 154, 167, 123, 108, 233, 106, 217, 154, 167,
- 123, 108, 245, 61, 5, 2, 251, 37, 49, 225, 83, 78, 220, 79, 245, 61, 52,
- 219, 1, 78, 220, 79, 245, 61, 52, 225, 83, 78, 220, 79, 228, 163, 123,
- 108, 219, 1, 78, 220, 79, 228, 163, 123, 108, 225, 83, 78, 245, 61, 52,
- 219, 1, 78, 245, 61, 52, 225, 83, 78, 228, 163, 123, 108, 219, 1, 78,
- 228, 163, 123, 108, 225, 83, 78, 254, 57, 123, 108, 219, 1, 78, 254, 57,
- 123, 108, 225, 83, 78, 228, 163, 254, 57, 123, 108, 219, 1, 78, 228, 163,
- 254, 57, 123, 108, 51, 225, 82, 51, 219, 0, 219, 9, 2, 247, 74, 218, 222,
- 2, 247, 74, 219, 9, 2, 94, 5, 55, 218, 222, 2, 94, 5, 55, 219, 9, 2, 230,
- 154, 5, 55, 218, 222, 2, 230, 154, 5, 55, 219, 9, 65, 167, 123, 211, 211,
- 2, 62, 49, 218, 222, 65, 167, 123, 211, 211, 2, 62, 49, 219, 9, 65, 78,
- 245, 61, 52, 218, 222, 65, 78, 245, 61, 52, 219, 9, 65, 78, 217, 43, 227,
- 33, 218, 222, 65, 78, 217, 43, 227, 33, 219, 9, 65, 78, 254, 57, 123,
- 108, 218, 222, 65, 78, 254, 57, 123, 108, 219, 9, 65, 78, 228, 163, 123,
- 108, 218, 222, 65, 78, 228, 163, 123, 108, 41, 42, 227, 40, 92, 227, 33,
- 41, 46, 227, 40, 92, 227, 33, 249, 193, 219, 8, 249, 193, 218, 221, 249,
- 193, 219, 9, 167, 123, 108, 249, 193, 218, 222, 167, 123, 108, 219, 9,
- 78, 218, 221, 218, 222, 78, 219, 8, 219, 9, 78, 219, 8, 218, 222, 78,
- 218, 221, 218, 222, 251, 207, 219, 8, 218, 222, 251, 207, 24, 235, 68,
- 251, 7, 248, 102, 2, 219, 8, 245, 127, 65, 227, 35, 246, 57, 225, 180, 2,
- 217, 220, 216, 226, 216, 198, 235, 195, 243, 246, 228, 176, 220, 175, 42,
- 218, 36, 220, 175, 119, 218, 36, 220, 175, 114, 218, 36, 226, 48, 2, 197,
- 71, 252, 60, 216, 169, 46, 216, 57, 51, 71, 252, 60, 42, 216, 57, 71,
- 252, 60, 51, 42, 216, 57, 51, 71, 252, 60, 51, 42, 216, 57, 184, 248,
- 102, 243, 213, 42, 231, 127, 65, 51, 214, 216, 220, 175, 119, 218, 37, 2,
- 226, 247, 220, 175, 114, 218, 37, 2, 215, 153, 220, 175, 114, 218, 37,
- 78, 220, 175, 119, 218, 36, 51, 119, 218, 36, 51, 114, 218, 36, 51, 219,
- 45, 228, 163, 52, 223, 202, 51, 219, 45, 228, 163, 52, 247, 92, 228, 163,
- 247, 127, 2, 223, 202, 229, 182, 220, 23, 71, 232, 243, 2, 249, 229, 49,
- 71, 232, 243, 2, 249, 229, 55, 119, 218, 37, 2, 249, 229, 55, 226, 136,
- 2, 199, 90, 226, 136, 2, 217, 43, 227, 33, 216, 169, 71, 252, 60, 251,
- 167, 223, 241, 216, 169, 71, 252, 60, 2, 199, 90, 216, 169, 249, 165,
- 227, 33, 216, 169, 229, 173, 233, 38, 216, 169, 229, 173, 242, 106, 246,
- 65, 220, 25, 233, 39, 167, 123, 108, 246, 65, 220, 25, 242, 107, 167,
- 123, 108, 216, 169, 219, 232, 251, 167, 223, 241, 233, 108, 216, 169, 71,
- 252, 60, 227, 33, 51, 219, 232, 227, 33, 67, 71, 134, 230, 97, 67, 71,
- 134, 228, 167, 245, 176, 67, 68, 228, 167, 213, 250, 67, 68, 219, 215,
- 245, 176, 67, 68, 219, 215, 213, 250, 67, 68, 42, 46, 67, 68, 132, 83,
- 68, 215, 124, 83, 68, 246, 58, 83, 68, 228, 167, 245, 176, 83, 68, 228,
- 167, 213, 250, 83, 68, 219, 215, 245, 176, 83, 68, 219, 215, 213, 250,
- 83, 68, 42, 46, 83, 68, 114, 119, 83, 68, 95, 76, 2, 217, 30, 246, 57,
- 95, 76, 2, 217, 30, 215, 123, 132, 76, 2, 217, 30, 246, 57, 132, 76, 2,
- 217, 30, 215, 123, 41, 2, 216, 227, 151, 251, 144, 41, 2, 251, 101, 151,
- 251, 144, 41, 2, 215, 131, 46, 247, 207, 151, 251, 144, 41, 2, 232, 163,
- 42, 247, 207, 151, 251, 144, 247, 201, 2, 42, 151, 251, 144, 247, 201, 2,
- 46, 151, 251, 144, 247, 201, 2, 216, 227, 151, 251, 144, 247, 201, 2,
- 251, 101, 151, 251, 144, 246, 72, 219, 166, 83, 233, 108, 219, 166, 67,
- 233, 108, 219, 166, 83, 214, 164, 3, 219, 166, 67, 214, 164, 3, 219, 166,
- 83, 226, 65, 67, 226, 65, 67, 241, 178, 83, 241, 178, 199, 83, 241, 178,
- 83, 233, 108, 249, 228, 83, 231, 147, 247, 200, 67, 231, 147, 247, 200,
- 83, 231, 147, 232, 159, 67, 231, 147, 232, 159, 83, 3, 247, 200, 83, 3,
- 232, 159, 67, 3, 232, 159, 83, 199, 245, 121, 67, 199, 245, 121, 83, 71,
- 245, 121, 67, 71, 245, 121, 42, 76, 2, 3, 249, 228, 133, 132, 253, 162,
- 42, 76, 2, 36, 225, 156, 184, 132, 219, 162, 68, 132, 216, 24, 76, 2, 71,
- 90, 132, 216, 24, 76, 2, 51, 71, 90, 132, 216, 24, 76, 243, 213, 134,
- 132, 216, 24, 216, 169, 248, 102, 68, 132, 76, 2, 246, 72, 219, 79, 132,
- 76, 2, 218, 28, 2, 71, 90, 132, 76, 2, 218, 28, 2, 51, 71, 90, 132, 216,
- 24, 76, 2, 218, 27, 132, 216, 24, 76, 2, 218, 28, 2, 71, 90, 132, 216,
- 24, 76, 2, 218, 28, 2, 51, 71, 90, 132, 76, 217, 93, 213, 166, 214, 20,
- 76, 225, 141, 247, 147, 233, 70, 245, 61, 5, 78, 132, 68, 223, 203, 217,
- 43, 227, 34, 78, 132, 68, 132, 76, 78, 223, 203, 254, 57, 123, 108, 95,
- 76, 217, 93, 242, 106, 95, 76, 217, 93, 218, 221, 132, 224, 169, 68, 95,
- 224, 169, 68, 223, 203, 217, 43, 227, 34, 78, 95, 68, 95, 76, 78, 223,
- 203, 254, 57, 123, 108, 217, 43, 227, 34, 78, 132, 68, 132, 76, 78, 254,
- 57, 123, 108, 132, 76, 78, 223, 203, 217, 43, 227, 33, 95, 76, 78, 223,
- 203, 217, 43, 227, 33, 67, 231, 147, 219, 95, 83, 3, 219, 95, 67, 3, 219,
- 95, 83, 223, 144, 226, 65, 67, 223, 144, 226, 65, 107, 233, 108, 249,
- 228, 107, 226, 248, 2, 226, 248, 235, 212, 107, 249, 229, 2, 249, 229,
- 235, 212, 107, 249, 228, 107, 36, 222, 169, 136, 6, 1, 253, 75, 136, 6,
- 1, 251, 46, 136, 6, 1, 214, 230, 136, 6, 1, 242, 161, 136, 6, 1, 247, 94,
- 136, 6, 1, 213, 12, 136, 6, 1, 212, 61, 136, 6, 1, 245, 245, 136, 6, 1,
- 212, 84, 136, 6, 1, 235, 146, 136, 6, 1, 70, 235, 146, 136, 6, 1, 72,
- 136, 6, 1, 247, 112, 136, 6, 1, 234, 245, 136, 6, 1, 232, 215, 136, 6, 1,
- 230, 101, 136, 6, 1, 230, 12, 136, 6, 1, 227, 51, 136, 6, 1, 225, 138,
- 136, 6, 1, 223, 124, 136, 6, 1, 220, 11, 136, 6, 1, 216, 46, 136, 6, 1,
- 215, 171, 136, 6, 1, 243, 216, 136, 6, 1, 241, 184, 136, 6, 1, 227, 3,
- 136, 6, 1, 226, 96, 136, 6, 1, 220, 153, 136, 6, 1, 216, 125, 136, 6, 1,
- 250, 12, 136, 6, 1, 221, 24, 136, 6, 1, 213, 18, 136, 6, 1, 213, 20, 136,
- 6, 1, 213, 47, 136, 6, 1, 219, 185, 159, 136, 6, 1, 212, 203, 136, 6, 1,
- 3, 212, 174, 136, 6, 1, 3, 212, 175, 2, 218, 27, 136, 6, 1, 212, 235,
- 136, 6, 1, 235, 182, 3, 212, 174, 136, 6, 1, 251, 172, 212, 174, 136, 6,
- 1, 235, 182, 251, 172, 212, 174, 136, 6, 1, 244, 51, 136, 6, 1, 235, 144,
- 136, 6, 1, 220, 152, 136, 6, 1, 216, 160, 61, 136, 6, 1, 233, 98, 230,
- 101, 136, 3, 1, 253, 75, 136, 3, 1, 251, 46, 136, 3, 1, 214, 230, 136, 3,
- 1, 242, 161, 136, 3, 1, 247, 94, 136, 3, 1, 213, 12, 136, 3, 1, 212, 61,
- 136, 3, 1, 245, 245, 136, 3, 1, 212, 84, 136, 3, 1, 235, 146, 136, 3, 1,
- 70, 235, 146, 136, 3, 1, 72, 136, 3, 1, 247, 112, 136, 3, 1, 234, 245,
- 136, 3, 1, 232, 215, 136, 3, 1, 230, 101, 136, 3, 1, 230, 12, 136, 3, 1,
- 227, 51, 136, 3, 1, 225, 138, 136, 3, 1, 223, 124, 136, 3, 1, 220, 11,
- 136, 3, 1, 216, 46, 136, 3, 1, 215, 171, 136, 3, 1, 243, 216, 136, 3, 1,
- 241, 184, 136, 3, 1, 227, 3, 136, 3, 1, 226, 96, 136, 3, 1, 220, 153,
- 136, 3, 1, 216, 125, 136, 3, 1, 250, 12, 136, 3, 1, 221, 24, 136, 3, 1,
- 213, 18, 136, 3, 1, 213, 20, 136, 3, 1, 213, 47, 136, 3, 1, 219, 185,
- 159, 136, 3, 1, 212, 203, 136, 3, 1, 3, 212, 174, 136, 3, 1, 3, 212, 175,
- 2, 218, 27, 136, 3, 1, 212, 235, 136, 3, 1, 235, 182, 3, 212, 174, 136,
- 3, 1, 251, 172, 212, 174, 136, 3, 1, 235, 182, 251, 172, 212, 174, 136,
- 3, 1, 244, 51, 136, 3, 1, 235, 144, 136, 3, 1, 220, 152, 136, 3, 1, 216,
- 160, 61, 136, 3, 1, 233, 98, 230, 101, 7, 6, 1, 233, 171, 2, 51, 134, 7,
- 3, 1, 233, 171, 2, 51, 134, 7, 6, 1, 233, 171, 2, 231, 37, 217, 42, 7, 6,
- 1, 226, 230, 2, 90, 7, 6, 1, 224, 113, 2, 218, 27, 7, 3, 1, 118, 2, 90,
- 7, 3, 1, 218, 100, 2, 247, 207, 90, 7, 6, 1, 242, 42, 2, 247, 246, 7, 3,
- 1, 242, 42, 2, 247, 246, 7, 6, 1, 235, 28, 2, 247, 246, 7, 3, 1, 235, 28,
- 2, 247, 246, 7, 6, 1, 212, 153, 2, 247, 246, 7, 3, 1, 212, 153, 2, 247,
- 246, 7, 6, 1, 254, 52, 7, 6, 1, 232, 110, 2, 101, 7, 6, 1, 216, 58, 61,
- 7, 6, 1, 216, 58, 254, 52, 7, 3, 1, 215, 80, 2, 46, 101, 7, 6, 1, 214,
- 83, 2, 101, 7, 3, 1, 214, 83, 2, 101, 7, 3, 1, 215, 80, 2, 249, 41, 7, 6,
- 1, 151, 242, 41, 7, 3, 1, 151, 242, 41, 7, 3, 1, 218, 25, 226, 9, 7, 3,
- 1, 191, 2, 228, 161, 7, 3, 1, 216, 58, 224, 113, 2, 218, 27, 7, 3, 1,
- 157, 2, 115, 223, 131, 235, 212, 7, 1, 3, 6, 216, 58, 74, 7, 219, 10, 3,
- 1, 235, 142, 59, 1, 6, 215, 79, 7, 6, 1, 223, 4, 2, 218, 195, 218, 27, 7,
- 6, 1, 212, 153, 2, 218, 195, 218, 27, 79, 6, 1, 254, 73, 79, 3, 1, 254,
- 73, 79, 6, 1, 214, 151, 79, 3, 1, 214, 151, 79, 6, 1, 243, 83, 79, 3, 1,
- 243, 83, 79, 6, 1, 248, 136, 79, 3, 1, 248, 136, 79, 6, 1, 245, 151, 79,
- 3, 1, 245, 151, 79, 6, 1, 219, 220, 79, 3, 1, 219, 220, 79, 6, 1, 212,
- 94, 79, 3, 1, 212, 94, 79, 6, 1, 241, 231, 79, 3, 1, 241, 231, 79, 6, 1,
- 217, 130, 79, 3, 1, 217, 130, 79, 6, 1, 240, 109, 79, 3, 1, 240, 109, 79,
- 6, 1, 234, 232, 79, 3, 1, 234, 232, 79, 6, 1, 233, 96, 79, 3, 1, 233, 96,
- 79, 6, 1, 231, 42, 79, 3, 1, 231, 42, 79, 6, 1, 229, 64, 79, 3, 1, 229,
- 64, 79, 6, 1, 233, 242, 79, 3, 1, 233, 242, 79, 6, 1, 75, 79, 3, 1, 75,
- 79, 6, 1, 225, 240, 79, 3, 1, 225, 240, 79, 6, 1, 223, 112, 79, 3, 1,
- 223, 112, 79, 6, 1, 220, 91, 79, 3, 1, 220, 91, 79, 6, 1, 217, 248, 79,
- 3, 1, 217, 248, 79, 6, 1, 215, 196, 79, 3, 1, 215, 196, 79, 6, 1, 244,
- 90, 79, 3, 1, 244, 90, 79, 6, 1, 234, 118, 79, 3, 1, 234, 118, 79, 6, 1,
- 225, 46, 79, 3, 1, 225, 46, 79, 6, 1, 227, 44, 79, 3, 1, 227, 44, 79, 6,
- 1, 247, 205, 254, 78, 79, 3, 1, 247, 205, 254, 78, 79, 6, 1, 53, 79, 254,
- 103, 79, 3, 1, 53, 79, 254, 103, 79, 6, 1, 249, 55, 245, 151, 79, 3, 1,
- 249, 55, 245, 151, 79, 6, 1, 247, 205, 234, 232, 79, 3, 1, 247, 205, 234,
- 232, 79, 6, 1, 247, 205, 229, 64, 79, 3, 1, 247, 205, 229, 64, 79, 6, 1,
- 249, 55, 229, 64, 79, 3, 1, 249, 55, 229, 64, 79, 6, 1, 53, 79, 227, 44,
- 79, 3, 1, 53, 79, 227, 44, 79, 6, 1, 222, 161, 79, 3, 1, 222, 161, 79, 6,
- 1, 249, 68, 220, 235, 79, 3, 1, 249, 68, 220, 235, 79, 6, 1, 53, 79, 220,
- 235, 79, 3, 1, 53, 79, 220, 235, 79, 6, 1, 53, 79, 245, 40, 79, 3, 1, 53,
- 79, 245, 40, 79, 6, 1, 254, 90, 234, 123, 79, 3, 1, 254, 90, 234, 123,
- 79, 6, 1, 247, 205, 241, 32, 79, 3, 1, 247, 205, 241, 32, 79, 6, 1, 53,
- 79, 241, 32, 79, 3, 1, 53, 79, 241, 32, 79, 6, 1, 53, 79, 159, 79, 3, 1,
- 53, 79, 159, 79, 6, 1, 233, 170, 159, 79, 3, 1, 233, 170, 159, 79, 6, 1,
- 53, 79, 241, 201, 79, 3, 1, 53, 79, 241, 201, 79, 6, 1, 53, 79, 241, 234,
- 79, 3, 1, 53, 79, 241, 234, 79, 6, 1, 53, 79, 243, 78, 79, 3, 1, 53, 79,
- 243, 78, 79, 6, 1, 53, 79, 247, 115, 79, 3, 1, 53, 79, 247, 115, 79, 6,
- 1, 53, 79, 220, 202, 79, 3, 1, 53, 79, 220, 202, 79, 6, 1, 53, 228, 63,
- 220, 202, 79, 3, 1, 53, 228, 63, 220, 202, 79, 6, 1, 53, 228, 63, 229,
- 113, 79, 3, 1, 53, 228, 63, 229, 113, 79, 6, 1, 53, 228, 63, 228, 10, 79,
- 3, 1, 53, 228, 63, 228, 10, 79, 6, 1, 53, 228, 63, 214, 21, 79, 3, 1, 53,
- 228, 63, 214, 21, 79, 16, 234, 250, 79, 16, 231, 43, 223, 112, 79, 16,
- 225, 241, 223, 112, 79, 16, 219, 87, 79, 16, 217, 249, 223, 112, 79, 16,
- 234, 119, 223, 112, 79, 16, 220, 203, 220, 91, 79, 6, 1, 249, 55, 220,
- 235, 79, 3, 1, 249, 55, 220, 235, 79, 6, 1, 249, 55, 243, 78, 79, 3, 1,
- 249, 55, 243, 78, 79, 37, 229, 65, 49, 79, 37, 219, 179, 253, 139, 79,
- 37, 219, 179, 233, 45, 79, 53, 228, 63, 243, 200, 219, 69, 79, 53, 228,
- 63, 247, 149, 224, 158, 77, 79, 53, 228, 63, 235, 234, 224, 158, 77, 79,
- 53, 228, 63, 214, 218, 247, 124, 79, 243, 228, 122, 242, 9, 79, 243, 200,
- 219, 69, 79, 230, 194, 247, 124, 100, 3, 1, 254, 32, 100, 3, 1, 252, 71,
- 100, 3, 1, 243, 82, 100, 3, 1, 247, 82, 100, 3, 1, 245, 108, 100, 3, 1,
- 214, 141, 100, 3, 1, 212, 82, 100, 3, 1, 218, 11, 100, 3, 1, 235, 251,
- 100, 3, 1, 234, 239, 100, 3, 1, 233, 104, 100, 3, 1, 231, 248, 100, 3, 1,
- 230, 15, 100, 3, 1, 227, 62, 100, 3, 1, 226, 145, 100, 3, 1, 212, 71,
- 100, 3, 1, 224, 61, 100, 3, 1, 222, 159, 100, 3, 1, 218, 1, 100, 3, 1,
- 215, 160, 100, 3, 1, 226, 16, 100, 3, 1, 234, 127, 100, 3, 1, 242, 217,
- 100, 3, 1, 224, 217, 100, 3, 1, 220, 200, 100, 3, 1, 250, 34, 100, 3, 1,
- 250, 195, 100, 3, 1, 235, 103, 100, 3, 1, 249, 233, 100, 3, 1, 250, 79,
- 100, 3, 1, 213, 151, 100, 3, 1, 235, 113, 100, 3, 1, 242, 24, 100, 3, 1,
- 241, 222, 100, 3, 1, 241, 160, 100, 3, 1, 214, 6, 100, 3, 1, 241, 243,
- 100, 3, 1, 241, 51, 217, 62, 1, 186, 217, 62, 1, 213, 87, 217, 62, 1,
- 213, 86, 217, 62, 1, 213, 76, 217, 62, 1, 213, 74, 217, 62, 1, 251, 209,
- 254, 176, 213, 70, 217, 62, 1, 213, 70, 217, 62, 1, 213, 84, 217, 62, 1,
- 213, 81, 217, 62, 1, 213, 83, 217, 62, 1, 213, 82, 217, 62, 1, 213, 3,
- 217, 62, 1, 213, 78, 217, 62, 1, 213, 68, 217, 62, 1, 216, 79, 213, 68,
- 217, 62, 1, 213, 65, 217, 62, 1, 213, 72, 217, 62, 1, 251, 209, 254, 176,
- 213, 72, 217, 62, 1, 216, 79, 213, 72, 217, 62, 1, 213, 71, 217, 62, 1,
- 213, 91, 217, 62, 1, 213, 66, 217, 62, 1, 216, 79, 213, 66, 217, 62, 1,
- 213, 56, 217, 62, 1, 216, 79, 213, 56, 217, 62, 1, 212, 255, 217, 62, 1,
- 213, 40, 217, 62, 1, 254, 112, 213, 40, 217, 62, 1, 216, 79, 213, 40,
- 217, 62, 1, 213, 64, 217, 62, 1, 213, 63, 217, 62, 1, 213, 60, 217, 62,
- 1, 216, 79, 213, 73, 217, 62, 1, 216, 79, 213, 58, 217, 62, 1, 213, 57,
- 217, 62, 1, 212, 203, 217, 62, 1, 213, 54, 217, 62, 1, 213, 53, 217, 62,
- 1, 213, 75, 217, 62, 1, 216, 79, 213, 75, 217, 62, 1, 253, 79, 213, 75,
- 217, 62, 1, 213, 52, 217, 62, 1, 213, 50, 217, 62, 1, 213, 51, 217, 62,
- 1, 213, 49, 217, 62, 1, 213, 48, 217, 62, 1, 213, 85, 217, 62, 1, 213,
- 46, 217, 62, 1, 213, 45, 217, 62, 1, 213, 44, 217, 62, 1, 213, 43, 217,
- 62, 1, 213, 41, 217, 62, 1, 217, 241, 213, 41, 217, 62, 1, 213, 39, 217,
- 62, 59, 1, 233, 149, 77, 217, 62, 221, 58, 77, 217, 62, 249, 133, 235,
- 66, 28, 4, 232, 207, 28, 4, 230, 230, 28, 4, 223, 110, 28, 4, 219, 241,
- 28, 4, 220, 186, 28, 4, 251, 127, 28, 4, 216, 252, 28, 4, 249, 174, 28,
- 4, 228, 183, 28, 4, 227, 252, 28, 4, 242, 156, 227, 120, 28, 4, 212, 15,
- 28, 4, 247, 97, 28, 4, 248, 55, 28, 4, 235, 70, 28, 4, 217, 108, 28, 4,
- 250, 22, 28, 4, 225, 252, 28, 4, 225, 149, 28, 4, 242, 231, 28, 4, 242,
- 227, 28, 4, 242, 228, 28, 4, 242, 229, 28, 4, 219, 157, 28, 4, 219, 117,
- 28, 4, 219, 128, 28, 4, 219, 156, 28, 4, 219, 132, 28, 4, 219, 133, 28,
- 4, 219, 121, 28, 4, 250, 146, 28, 4, 250, 126, 28, 4, 250, 128, 28, 4,
- 250, 145, 28, 4, 250, 143, 28, 4, 250, 144, 28, 4, 250, 127, 28, 4, 211,
- 242, 28, 4, 211, 222, 28, 4, 211, 233, 28, 4, 211, 241, 28, 4, 211, 236,
- 28, 4, 211, 237, 28, 4, 211, 225, 28, 4, 250, 142, 28, 4, 250, 129, 28,
- 4, 250, 131, 28, 4, 250, 141, 28, 4, 250, 139, 28, 4, 250, 140, 28, 4,
- 250, 130, 28, 4, 224, 125, 28, 4, 224, 115, 28, 4, 224, 121, 28, 4, 224,
- 124, 28, 4, 224, 122, 28, 4, 224, 123, 28, 4, 224, 120, 28, 4, 233, 181,
- 28, 4, 233, 173, 28, 4, 233, 176, 28, 4, 233, 180, 28, 4, 233, 177, 28,
- 4, 233, 178, 28, 4, 233, 174, 28, 4, 213, 118, 28, 4, 213, 108, 28, 4,
- 213, 114, 28, 4, 213, 117, 28, 4, 213, 115, 28, 4, 213, 116, 28, 4, 213,
- 113, 28, 4, 242, 52, 28, 4, 242, 43, 28, 4, 242, 46, 28, 4, 242, 51, 28,
- 4, 242, 48, 28, 4, 242, 49, 28, 4, 242, 45, 37, 33, 1, 251, 251, 37, 33,
- 1, 214, 232, 37, 33, 1, 242, 212, 37, 33, 1, 248, 41, 37, 33, 1, 212, 67,
- 37, 33, 1, 212, 87, 37, 33, 1, 181, 37, 33, 1, 245, 131, 37, 33, 1, 245,
- 117, 37, 33, 1, 245, 108, 37, 33, 1, 75, 37, 33, 1, 226, 96, 37, 33, 1,
- 245, 55, 37, 33, 1, 245, 45, 37, 33, 1, 217, 229, 37, 33, 1, 159, 37, 33,
- 1, 216, 136, 37, 33, 1, 250, 67, 37, 33, 1, 221, 24, 37, 33, 1, 220, 245,
- 37, 33, 1, 244, 51, 37, 33, 1, 245, 44, 37, 33, 1, 61, 37, 33, 1, 236,
- 55, 37, 33, 1, 247, 113, 37, 33, 1, 230, 210, 215, 175, 37, 33, 1, 213,
- 49, 37, 33, 1, 212, 203, 37, 33, 1, 235, 181, 61, 37, 33, 1, 232, 221,
- 212, 174, 37, 33, 1, 251, 172, 212, 174, 37, 33, 1, 235, 181, 251, 172,
- 212, 174, 46, 254, 19, 219, 5, 231, 217, 46, 254, 19, 246, 72, 219, 5,
- 231, 217, 42, 219, 5, 125, 46, 219, 5, 125, 42, 246, 72, 219, 5, 125, 46,
- 246, 72, 219, 5, 125, 224, 48, 235, 199, 231, 217, 224, 48, 246, 72, 235,
- 199, 231, 217, 246, 72, 216, 199, 231, 217, 42, 216, 199, 125, 46, 216,
- 199, 125, 224, 48, 219, 166, 42, 224, 48, 227, 64, 125, 46, 224, 48, 227,
- 64, 125, 245, 166, 249, 97, 226, 141, 243, 247, 226, 141, 223, 202, 243,
- 247, 226, 141, 240, 157, 246, 72, 227, 115, 246, 58, 254, 28, 215, 124,
- 254, 28, 246, 72, 223, 144, 254, 18, 51, 227, 112, 240, 160, 235, 191,
- 235, 198, 226, 186, 251, 81, 240, 161, 2, 247, 209, 217, 43, 2, 223, 131,
- 49, 42, 115, 226, 133, 125, 46, 115, 226, 133, 125, 217, 43, 2, 62, 49,
- 217, 43, 2, 62, 55, 42, 71, 252, 60, 2, 224, 152, 46, 71, 252, 60, 2,
- 224, 152, 216, 227, 42, 151, 125, 216, 227, 46, 151, 125, 251, 101, 42,
- 151, 125, 251, 101, 46, 151, 125, 42, 220, 113, 111, 125, 46, 220, 113,
- 111, 125, 42, 51, 226, 131, 46, 51, 226, 131, 117, 176, 110, 122, 62,
- 225, 26, 122, 62, 110, 117, 176, 225, 26, 91, 243, 237, 62, 225, 26, 244,
- 50, 62, 77, 223, 202, 224, 158, 77, 71, 217, 42, 223, 131, 225, 144, 213,
- 196, 221, 58, 231, 37, 247, 74, 9, 34, 223, 227, 9, 34, 249, 203, 9, 34,
- 222, 95, 116, 9, 34, 222, 95, 109, 9, 34, 222, 95, 166, 9, 34, 226, 43,
- 9, 34, 251, 89, 9, 34, 218, 40, 9, 34, 234, 42, 116, 9, 34, 234, 42, 109,
- 9, 34, 247, 122, 9, 34, 222, 98, 9, 34, 3, 116, 9, 34, 3, 109, 9, 34,
- 233, 121, 116, 9, 34, 233, 121, 109, 9, 34, 233, 121, 166, 9, 34, 233,
- 121, 163, 9, 34, 219, 252, 9, 34, 217, 98, 9, 34, 219, 250, 116, 9, 34,
- 219, 250, 109, 9, 34, 241, 212, 116, 9, 34, 241, 212, 109, 9, 34, 241,
- 254, 9, 34, 224, 39, 9, 34, 250, 19, 9, 34, 218, 238, 9, 34, 230, 198, 9,
- 34, 248, 39, 9, 34, 230, 190, 9, 34, 249, 218, 9, 34, 214, 25, 116, 9,
- 34, 214, 25, 109, 9, 34, 244, 65, 9, 34, 226, 106, 116, 9, 34, 226, 106,
- 109, 9, 34, 220, 86, 151, 216, 194, 216, 146, 9, 34, 249, 84, 9, 34, 247,
- 90, 9, 34, 235, 135, 9, 34, 251, 122, 65, 249, 187, 9, 34, 244, 239, 9,
- 34, 219, 181, 116, 9, 34, 219, 181, 109, 9, 34, 252, 73, 9, 34, 220, 93,
- 9, 34, 250, 249, 220, 93, 9, 34, 229, 172, 116, 9, 34, 229, 172, 109, 9,
- 34, 229, 172, 166, 9, 34, 229, 172, 163, 9, 34, 231, 111, 9, 34, 220,
- 237, 9, 34, 224, 45, 9, 34, 245, 4, 9, 34, 227, 75, 9, 34, 251, 61, 116,
- 9, 34, 251, 61, 109, 9, 34, 231, 151, 9, 34, 230, 193, 9, 34, 242, 117,
- 116, 9, 34, 242, 117, 109, 9, 34, 242, 117, 166, 9, 34, 217, 60, 9, 34,
- 249, 186, 9, 34, 213, 250, 116, 9, 34, 213, 250, 109, 9, 34, 250, 249,
- 222, 89, 9, 34, 220, 86, 240, 235, 9, 34, 240, 235, 9, 34, 250, 249, 219,
- 190, 9, 34, 250, 249, 220, 232, 9, 34, 244, 1, 9, 34, 250, 249, 250, 160,
- 9, 34, 220, 86, 214, 41, 9, 34, 214, 42, 116, 9, 34, 214, 42, 109, 9, 34,
- 249, 220, 9, 34, 250, 249, 242, 142, 9, 34, 184, 116, 9, 34, 184, 109, 9,
- 34, 250, 249, 232, 190, 9, 34, 250, 249, 243, 64, 9, 34, 230, 189, 116,
- 9, 34, 230, 189, 109, 9, 34, 224, 50, 9, 34, 251, 130, 9, 34, 250, 249,
- 218, 7, 233, 76, 9, 34, 250, 249, 233, 77, 9, 34, 250, 249, 213, 224, 9,
- 34, 250, 249, 244, 15, 9, 34, 245, 174, 116, 9, 34, 245, 174, 109, 9, 34,
- 245, 174, 166, 9, 34, 250, 249, 245, 173, 9, 34, 241, 219, 9, 34, 250,
- 249, 240, 232, 9, 34, 251, 119, 9, 34, 242, 198, 9, 34, 250, 249, 244,
- 59, 9, 34, 250, 249, 251, 160, 9, 34, 250, 249, 222, 172, 9, 34, 220, 86,
- 213, 243, 9, 34, 220, 86, 213, 32, 9, 34, 250, 249, 243, 214, 9, 34, 235,
- 141, 245, 8, 9, 34, 250, 249, 245, 8, 9, 34, 235, 141, 216, 228, 9, 34,
- 250, 249, 216, 228, 9, 34, 235, 141, 246, 50, 9, 34, 250, 249, 246, 50,
- 9, 34, 216, 55, 9, 34, 235, 141, 216, 55, 9, 34, 250, 249, 216, 55, 57,
- 34, 116, 57, 34, 232, 242, 57, 34, 247, 74, 57, 34, 220, 23, 57, 34, 222,
- 94, 57, 34, 101, 57, 34, 109, 57, 34, 233, 9, 57, 34, 231, 248, 57, 34,
- 233, 57, 57, 34, 245, 88, 57, 34, 195, 57, 34, 119, 251, 89, 57, 34, 249,
- 86, 57, 34, 240, 104, 57, 34, 218, 40, 57, 34, 227, 40, 251, 89, 57, 34,
- 234, 41, 57, 34, 225, 104, 57, 34, 213, 190, 57, 34, 219, 175, 57, 34,
- 46, 227, 40, 251, 89, 57, 34, 241, 161, 245, 103, 57, 34, 217, 200, 57,
- 34, 247, 122, 57, 34, 222, 98, 57, 34, 249, 203, 57, 34, 225, 65, 57, 34,
- 254, 120, 57, 34, 230, 180, 57, 34, 245, 103, 57, 34, 245, 179, 57, 34,
- 222, 118, 57, 34, 242, 150, 57, 34, 242, 151, 220, 9, 57, 34, 245, 7, 57,
- 34, 251, 171, 57, 34, 213, 208, 57, 34, 250, 38, 57, 34, 223, 98, 57, 34,
- 235, 247, 57, 34, 220, 7, 57, 34, 233, 120, 57, 34, 249, 95, 57, 34, 219,
- 169, 57, 34, 230, 185, 57, 34, 223, 121, 57, 34, 213, 193, 57, 34, 227,
- 56, 57, 34, 216, 61, 57, 34, 246, 35, 57, 34, 220, 175, 217, 98, 57, 34,
- 246, 72, 249, 203, 57, 34, 184, 219, 48, 57, 34, 117, 241, 249, 57, 34,
- 220, 180, 57, 34, 251, 95, 57, 34, 219, 249, 57, 34, 251, 65, 57, 34,
- 219, 78, 57, 34, 241, 211, 57, 34, 242, 10, 57, 34, 247, 77, 57, 34, 241,
- 254, 57, 34, 251, 81, 57, 34, 224, 39, 57, 34, 222, 106, 57, 34, 247,
- 151, 57, 34, 253, 84, 57, 34, 219, 166, 57, 34, 228, 162, 57, 34, 218,
- 238, 57, 34, 222, 129, 57, 34, 230, 198, 57, 34, 216, 193, 57, 34, 233,
- 145, 57, 34, 219, 69, 57, 34, 248, 39, 57, 34, 214, 5, 57, 34, 247, 100,
- 228, 162, 57, 34, 249, 154, 57, 34, 243, 194, 57, 34, 249, 214, 57, 34,
- 219, 82, 57, 34, 214, 24, 57, 34, 244, 65, 57, 34, 249, 211, 57, 34, 244,
- 129, 57, 34, 51, 213, 166, 57, 34, 151, 216, 194, 216, 146, 57, 34, 220,
- 17, 57, 34, 244, 139, 57, 34, 249, 84, 57, 34, 247, 90, 57, 34, 225, 62,
- 57, 34, 235, 135, 57, 34, 231, 131, 57, 34, 217, 41, 57, 34, 218, 190,
- 57, 34, 233, 3, 57, 34, 215, 103, 57, 34, 244, 89, 57, 34, 251, 122, 65,
- 249, 187, 57, 34, 220, 114, 57, 34, 246, 72, 217, 195, 57, 34, 213, 238,
- 57, 34, 220, 31, 57, 34, 247, 139, 57, 34, 244, 239, 57, 34, 219, 193,
- 57, 34, 68, 57, 34, 219, 71, 57, 34, 219, 180, 57, 34, 216, 212, 57, 34,
- 242, 123, 57, 34, 250, 151, 57, 34, 219, 99, 57, 34, 252, 73, 57, 34,
- 223, 184, 57, 34, 220, 93, 57, 34, 235, 130, 57, 34, 229, 171, 57, 34,
- 220, 237, 57, 34, 244, 118, 57, 34, 227, 75, 57, 34, 254, 27, 57, 34,
- 225, 162, 57, 34, 245, 183, 57, 34, 251, 60, 57, 34, 231, 151, 57, 34,
- 230, 252, 57, 34, 221, 76, 57, 34, 253, 167, 57, 34, 230, 193, 57, 34,
- 216, 232, 57, 34, 227, 31, 57, 34, 251, 124, 57, 34, 219, 67, 57, 34,
- 249, 163, 57, 34, 242, 116, 57, 34, 217, 60, 57, 34, 235, 214, 57, 34,
- 251, 134, 57, 34, 214, 42, 245, 103, 57, 34, 249, 186, 57, 34, 213, 249,
- 57, 34, 222, 89, 57, 34, 240, 235, 57, 34, 219, 190, 57, 34, 214, 254,
- 57, 34, 251, 248, 57, 34, 225, 205, 57, 34, 252, 92, 57, 34, 220, 232,
- 57, 34, 224, 3, 57, 34, 223, 37, 57, 34, 244, 1, 57, 34, 251, 123, 57,
- 34, 250, 160, 57, 34, 251, 149, 57, 34, 230, 195, 57, 34, 214, 41, 57,
- 34, 249, 220, 57, 34, 213, 221, 57, 34, 247, 132, 57, 34, 214, 142, 57,
- 34, 242, 142, 57, 34, 232, 190, 57, 34, 243, 64, 57, 34, 230, 188, 57,
- 34, 220, 22, 57, 34, 220, 175, 218, 26, 251, 160, 57, 34, 224, 50, 57,
- 34, 251, 130, 57, 34, 213, 185, 57, 34, 244, 158, 57, 34, 233, 76, 57,
- 34, 218, 7, 233, 76, 57, 34, 233, 72, 57, 34, 219, 217, 57, 34, 233, 77,
- 57, 34, 213, 224, 57, 34, 244, 15, 57, 34, 245, 173, 57, 34, 241, 219,
- 57, 34, 243, 226, 57, 34, 240, 232, 57, 34, 251, 119, 57, 34, 218, 14,
- 57, 34, 242, 16, 57, 34, 244, 82, 57, 34, 222, 197, 213, 221, 57, 34,
- 250, 153, 57, 34, 242, 198, 57, 34, 244, 59, 57, 34, 251, 160, 57, 34,
- 222, 172, 57, 34, 248, 25, 57, 34, 213, 243, 57, 34, 241, 194, 57, 34,
- 213, 32, 57, 34, 231, 5, 57, 34, 251, 144, 57, 34, 245, 113, 57, 34, 243,
- 214, 57, 34, 216, 167, 57, 34, 246, 37, 57, 34, 224, 33, 57, 34, 228,
- 164, 57, 34, 245, 8, 57, 34, 216, 228, 57, 34, 246, 50, 57, 34, 216, 55,
- 57, 34, 244, 17, 105, 247, 244, 137, 42, 211, 211, 223, 148, 105, 247,
- 244, 137, 78, 211, 211, 55, 105, 247, 244, 137, 42, 211, 211, 231, 37,
- 24, 223, 148, 105, 247, 244, 137, 78, 211, 211, 231, 37, 24, 55, 105,
- 247, 244, 137, 243, 200, 218, 210, 105, 247, 244, 137, 218, 211, 243,
- 213, 49, 105, 247, 244, 137, 218, 211, 243, 213, 55, 105, 247, 244, 137,
- 218, 211, 243, 213, 233, 70, 105, 247, 244, 137, 218, 211, 243, 213, 215,
- 131, 233, 70, 105, 247, 244, 137, 218, 211, 243, 213, 215, 131, 223, 148,
- 105, 247, 244, 137, 218, 211, 243, 213, 232, 163, 233, 70, 105, 247, 244,
- 137, 226, 246, 105, 219, 206, 105, 249, 157, 105, 243, 200, 219, 69, 247,
- 129, 77, 235, 131, 235, 233, 219, 98, 87, 105, 235, 156, 77, 105, 249,
- 189, 77, 105, 50, 212, 79, 42, 254, 19, 125, 46, 254, 19, 125, 42, 51,
- 254, 19, 125, 46, 51, 254, 19, 125, 42, 249, 100, 125, 46, 249, 100, 125,
- 42, 67, 249, 100, 125, 46, 67, 249, 100, 125, 42, 83, 233, 44, 125, 46,
- 83, 233, 44, 125, 225, 117, 77, 243, 8, 77, 42, 216, 219, 220, 233, 125,
- 46, 216, 219, 220, 233, 125, 42, 67, 233, 44, 125, 46, 67, 233, 44, 125,
- 42, 67, 216, 219, 220, 233, 125, 46, 67, 216, 219, 220, 233, 125, 42, 67,
- 41, 125, 46, 67, 41, 125, 214, 20, 248, 101, 223, 202, 51, 225, 72, 224,
- 143, 77, 51, 225, 72, 224, 143, 77, 115, 51, 225, 72, 224, 143, 77, 225,
- 117, 152, 244, 158, 241, 247, 228, 54, 116, 241, 247, 228, 54, 109, 241,
- 247, 228, 54, 166, 241, 247, 228, 54, 163, 241, 247, 228, 54, 180, 241,
- 247, 228, 54, 189, 241, 247, 228, 54, 198, 241, 247, 228, 54, 195, 241,
- 247, 228, 54, 200, 105, 233, 29, 160, 77, 105, 223, 125, 160, 77, 105,
- 247, 251, 160, 77, 105, 245, 87, 160, 77, 23, 220, 81, 62, 160, 77, 23,
- 51, 62, 160, 77, 214, 16, 248, 101, 71, 234, 238, 223, 228, 77, 71, 234,
- 238, 223, 228, 2, 214, 116, 219, 218, 77, 71, 234, 238, 223, 228, 152,
- 215, 131, 242, 9, 71, 234, 238, 223, 228, 2, 214, 116, 219, 218, 152,
- 215, 131, 242, 9, 71, 234, 238, 223, 228, 152, 232, 163, 242, 9, 36, 225,
- 117, 77, 105, 201, 232, 243, 244, 115, 221, 58, 87, 241, 247, 228, 54,
- 217, 200, 241, 247, 228, 54, 216, 38, 241, 247, 228, 54, 217, 115, 71,
- 105, 235, 156, 77, 231, 203, 77, 226, 127, 254, 49, 77, 105, 43, 235,
- 235, 105, 151, 244, 75, 219, 206, 142, 1, 3, 61, 142, 1, 61, 142, 1, 3,
- 72, 142, 1, 72, 142, 1, 3, 69, 142, 1, 69, 142, 1, 3, 74, 142, 1, 74,
- 142, 1, 3, 75, 142, 1, 75, 142, 1, 181, 142, 1, 243, 110, 142, 1, 234,
- 101, 142, 1, 242, 190, 142, 1, 233, 238, 142, 1, 242, 92, 142, 1, 234,
- 188, 142, 1, 243, 38, 142, 1, 234, 37, 142, 1, 242, 150, 142, 1, 222,
- 202, 142, 1, 212, 109, 142, 1, 220, 117, 142, 1, 212, 37, 142, 1, 219,
- 27, 142, 1, 212, 8, 142, 1, 222, 100, 142, 1, 212, 87, 142, 1, 219, 242,
- 142, 1, 212, 16, 142, 1, 218, 52, 142, 1, 248, 164, 142, 1, 217, 71, 142,
- 1, 247, 211, 142, 1, 3, 216, 82, 142, 1, 216, 82, 142, 1, 246, 33, 142,
- 1, 217, 229, 142, 1, 248, 41, 142, 1, 108, 142, 1, 247, 99, 142, 1, 205,
- 142, 1, 229, 64, 142, 1, 228, 92, 142, 1, 229, 187, 142, 1, 228, 185,
- 142, 1, 159, 142, 1, 252, 107, 142, 1, 193, 142, 1, 241, 165, 142, 1,
- 251, 184, 142, 1, 225, 240, 142, 1, 240, 212, 142, 1, 251, 54, 142, 1,
- 225, 35, 142, 1, 241, 222, 142, 1, 251, 251, 142, 1, 226, 96, 142, 1,
- 241, 54, 142, 1, 251, 128, 142, 1, 225, 150, 142, 1, 188, 142, 1, 231,
- 42, 142, 1, 230, 172, 142, 1, 231, 156, 142, 1, 230, 231, 142, 1, 3, 186,
- 142, 1, 186, 142, 1, 3, 212, 203, 142, 1, 212, 203, 142, 1, 3, 212, 235,
- 142, 1, 212, 235, 142, 1, 203, 142, 1, 223, 188, 142, 1, 223, 51, 142, 1,
- 224, 21, 142, 1, 223, 112, 142, 1, 3, 214, 49, 142, 1, 214, 49, 142, 1,
- 213, 235, 142, 1, 214, 6, 142, 1, 213, 214, 142, 1, 204, 142, 1, 214, 99,
- 142, 1, 3, 181, 142, 1, 3, 234, 188, 37, 234, 206, 214, 116, 219, 218,
- 77, 37, 234, 206, 221, 75, 219, 218, 77, 234, 206, 214, 116, 219, 218,
- 77, 234, 206, 221, 75, 219, 218, 77, 142, 235, 156, 77, 142, 214, 116,
- 235, 156, 77, 142, 247, 173, 212, 216, 234, 206, 51, 240, 160, 56, 1, 3,
- 61, 56, 1, 61, 56, 1, 3, 72, 56, 1, 72, 56, 1, 3, 69, 56, 1, 69, 56, 1,
- 3, 74, 56, 1, 74, 56, 1, 3, 75, 56, 1, 75, 56, 1, 181, 56, 1, 243, 110,
- 56, 1, 234, 101, 56, 1, 242, 190, 56, 1, 233, 238, 56, 1, 242, 92, 56, 1,
- 234, 188, 56, 1, 243, 38, 56, 1, 234, 37, 56, 1, 242, 150, 56, 1, 222,
- 202, 56, 1, 212, 109, 56, 1, 220, 117, 56, 1, 212, 37, 56, 1, 219, 27,
- 56, 1, 212, 8, 56, 1, 222, 100, 56, 1, 212, 87, 56, 1, 219, 242, 56, 1,
- 212, 16, 56, 1, 218, 52, 56, 1, 248, 164, 56, 1, 217, 71, 56, 1, 247,
- 211, 56, 1, 3, 216, 82, 56, 1, 216, 82, 56, 1, 246, 33, 56, 1, 217, 229,
- 56, 1, 248, 41, 56, 1, 108, 56, 1, 247, 99, 56, 1, 205, 56, 1, 229, 64,
- 56, 1, 228, 92, 56, 1, 229, 187, 56, 1, 228, 185, 56, 1, 159, 56, 1, 252,
- 107, 56, 1, 193, 56, 1, 241, 165, 56, 1, 251, 184, 56, 1, 225, 240, 56,
- 1, 240, 212, 56, 1, 251, 54, 56, 1, 225, 35, 56, 1, 241, 222, 56, 1, 251,
- 251, 56, 1, 226, 96, 56, 1, 241, 54, 56, 1, 251, 128, 56, 1, 225, 150,
- 56, 1, 188, 56, 1, 231, 42, 56, 1, 230, 172, 56, 1, 231, 156, 56, 1, 230,
- 231, 56, 1, 3, 186, 56, 1, 186, 56, 1, 3, 212, 203, 56, 1, 212, 203, 56,
- 1, 3, 212, 235, 56, 1, 212, 235, 56, 1, 203, 56, 1, 223, 188, 56, 1, 223,
- 51, 56, 1, 224, 21, 56, 1, 223, 112, 56, 1, 3, 214, 49, 56, 1, 214, 49,
- 56, 1, 213, 235, 56, 1, 214, 6, 56, 1, 213, 214, 56, 1, 204, 56, 1, 214,
- 99, 56, 1, 3, 181, 56, 1, 3, 234, 188, 56, 1, 215, 1, 56, 1, 214, 154,
- 56, 1, 214, 232, 56, 1, 214, 119, 56, 231, 37, 247, 74, 234, 206, 225,
- 57, 219, 218, 77, 56, 235, 156, 77, 56, 214, 116, 235, 156, 77, 56, 247,
- 173, 234, 8, 202, 1, 253, 74, 202, 1, 226, 229, 202, 1, 183, 202, 1, 244,
- 230, 202, 1, 249, 3, 202, 1, 218, 99, 202, 1, 204, 202, 1, 150, 202, 1,
- 243, 177, 202, 1, 235, 27, 202, 1, 242, 41, 202, 1, 235, 142, 202, 1,
- 224, 240, 202, 1, 213, 166, 202, 1, 212, 76, 202, 1, 250, 93, 202, 1,
- 221, 26, 202, 1, 149, 202, 1, 212, 152, 202, 1, 250, 252, 202, 1, 197,
- 202, 1, 61, 202, 1, 75, 202, 1, 74, 202, 1, 245, 154, 202, 1, 254, 108,
- 202, 1, 245, 152, 202, 1, 253, 108, 202, 1, 227, 2, 202, 1, 254, 32, 202,
- 1, 245, 108, 202, 1, 254, 24, 202, 1, 245, 96, 202, 1, 245, 55, 202, 1,
- 72, 202, 1, 69, 202, 1, 235, 154, 202, 1, 215, 79, 202, 1, 229, 161, 202,
- 1, 242, 154, 202, 1, 236, 29, 23, 1, 234, 67, 23, 1, 219, 150, 23, 1,
- 234, 60, 23, 1, 229, 57, 23, 1, 229, 55, 23, 1, 229, 54, 23, 1, 217, 55,
- 23, 1, 219, 139, 23, 1, 223, 179, 23, 1, 223, 174, 23, 1, 223, 171, 23,
- 1, 223, 164, 23, 1, 223, 159, 23, 1, 223, 154, 23, 1, 223, 165, 23, 1,
- 223, 177, 23, 1, 231, 30, 23, 1, 225, 227, 23, 1, 219, 147, 23, 1, 225,
- 216, 23, 1, 220, 76, 23, 1, 219, 144, 23, 1, 236, 51, 23, 1, 249, 239,
- 23, 1, 219, 154, 23, 1, 250, 43, 23, 1, 234, 116, 23, 1, 217, 126, 23, 1,
- 226, 7, 23, 1, 241, 158, 23, 1, 61, 23, 1, 254, 148, 23, 1, 186, 23, 1,
- 213, 80, 23, 1, 245, 76, 23, 1, 74, 23, 1, 213, 27, 23, 1, 213, 38, 23,
- 1, 75, 23, 1, 214, 49, 23, 1, 214, 46, 23, 1, 227, 99, 23, 1, 212, 235,
- 23, 1, 69, 23, 1, 213, 252, 23, 1, 214, 6, 23, 1, 213, 235, 23, 1, 212,
- 203, 23, 1, 245, 22, 23, 1, 212, 255, 23, 1, 72, 23, 244, 72, 23, 1, 219,
- 148, 23, 1, 229, 47, 23, 1, 229, 49, 23, 1, 229, 52, 23, 1, 223, 172, 23,
- 1, 223, 153, 23, 1, 223, 161, 23, 1, 223, 166, 23, 1, 223, 151, 23, 1,
- 231, 23, 23, 1, 231, 20, 23, 1, 231, 24, 23, 1, 234, 226, 23, 1, 225,
- 222, 23, 1, 225, 208, 23, 1, 225, 214, 23, 1, 225, 211, 23, 1, 225, 225,
- 23, 1, 225, 209, 23, 1, 234, 224, 23, 1, 234, 222, 23, 1, 220, 69, 23, 1,
- 220, 67, 23, 1, 220, 59, 23, 1, 220, 64, 23, 1, 220, 74, 23, 1, 226, 160,
- 23, 1, 219, 151, 23, 1, 213, 17, 23, 1, 213, 13, 23, 1, 213, 14, 23, 1,
- 234, 225, 23, 1, 219, 152, 23, 1, 213, 23, 23, 1, 212, 229, 23, 1, 212,
- 228, 23, 1, 212, 231, 23, 1, 212, 194, 23, 1, 212, 195, 23, 1, 212, 198,
- 23, 1, 253, 204, 23, 1, 253, 198, 105, 254, 10, 232, 232, 77, 105, 254,
- 10, 223, 203, 77, 105, 254, 10, 122, 77, 105, 254, 10, 117, 77, 105, 254,
- 10, 133, 77, 105, 254, 10, 243, 237, 77, 105, 254, 10, 216, 227, 77, 105,
- 254, 10, 231, 37, 77, 105, 254, 10, 251, 101, 77, 105, 254, 10, 244, 61,
- 77, 105, 254, 10, 222, 95, 77, 105, 254, 10, 217, 122, 77, 105, 254, 10,
- 243, 230, 77, 105, 254, 10, 241, 208, 77, 105, 254, 10, 245, 180, 77,
- 105, 254, 10, 231, 249, 77, 202, 1, 251, 54, 202, 1, 212, 37, 202, 1,
- 235, 110, 202, 1, 242, 92, 202, 1, 245, 165, 202, 1, 245, 93, 202, 1,
- 227, 49, 202, 1, 227, 53, 202, 1, 235, 177, 202, 1, 254, 12, 202, 1, 235,
- 221, 202, 1, 215, 139, 202, 1, 236, 11, 202, 1, 229, 142, 202, 1, 254,
- 102, 202, 1, 253, 103, 202, 1, 254, 45, 202, 1, 227, 70, 202, 1, 227, 55,
- 202, 1, 235, 218, 202, 40, 1, 226, 229, 202, 40, 1, 218, 99, 202, 40, 1,
- 235, 27, 202, 40, 1, 242, 41, 202, 1, 242, 226, 202, 1, 233, 26, 202, 1,
- 211, 249, 9, 219, 45, 218, 99, 9, 219, 45, 213, 245, 9, 219, 45, 213,
- 146, 9, 219, 45, 251, 8, 9, 219, 45, 218, 199, 9, 219, 45, 240, 150, 9,
- 219, 45, 240, 154, 9, 219, 45, 240, 218, 9, 219, 45, 240, 151, 9, 219,
- 45, 218, 102, 9, 219, 45, 240, 153, 9, 219, 45, 240, 149, 9, 219, 45,
- 240, 216, 9, 219, 45, 240, 152, 9, 219, 45, 240, 148, 9, 219, 45, 204, 9,
- 219, 45, 242, 41, 9, 219, 45, 197, 9, 219, 45, 226, 229, 9, 219, 45, 219,
- 208, 9, 219, 45, 249, 3, 9, 219, 45, 240, 155, 9, 219, 45, 241, 175, 9,
- 219, 45, 218, 111, 9, 219, 45, 218, 178, 9, 219, 45, 219, 107, 9, 219,
- 45, 221, 31, 9, 219, 45, 226, 98, 9, 219, 45, 224, 242, 9, 219, 45, 216,
- 253, 9, 219, 45, 218, 101, 9, 219, 45, 218, 189, 9, 219, 45, 240, 162, 9,
- 219, 45, 240, 147, 9, 219, 45, 226, 25, 9, 219, 45, 224, 240, 56, 1, 3,
- 233, 238, 56, 1, 3, 220, 117, 56, 1, 3, 219, 27, 56, 1, 3, 108, 56, 1, 3,
- 228, 92, 56, 1, 3, 159, 56, 1, 3, 241, 165, 56, 1, 3, 240, 212, 56, 1, 3,
- 241, 222, 56, 1, 3, 241, 54, 56, 1, 3, 230, 172, 56, 1, 3, 203, 56, 1, 3,
- 223, 188, 56, 1, 3, 223, 51, 56, 1, 3, 224, 21, 56, 1, 3, 223, 112, 86,
- 23, 234, 67, 86, 23, 229, 57, 86, 23, 217, 55, 86, 23, 223, 179, 86, 23,
- 231, 30, 86, 23, 225, 227, 86, 23, 220, 76, 86, 23, 236, 51, 86, 23, 249,
- 239, 86, 23, 250, 43, 86, 23, 234, 116, 86, 23, 217, 126, 86, 23, 226, 7,
- 86, 23, 241, 158, 86, 23, 234, 68, 61, 86, 23, 229, 58, 61, 86, 23, 217,
- 56, 61, 86, 23, 223, 180, 61, 86, 23, 231, 31, 61, 86, 23, 225, 228, 61,
- 86, 23, 220, 77, 61, 86, 23, 236, 52, 61, 86, 23, 249, 240, 61, 86, 23,
- 250, 44, 61, 86, 23, 234, 117, 61, 86, 23, 217, 127, 61, 86, 23, 226, 8,
- 61, 86, 23, 241, 159, 61, 86, 23, 249, 240, 69, 86, 234, 12, 137, 227,
- 83, 86, 234, 12, 137, 157, 240, 212, 86, 143, 116, 86, 143, 109, 86, 143,
- 166, 86, 143, 163, 86, 143, 180, 86, 143, 189, 86, 143, 198, 86, 143,
- 195, 86, 143, 200, 86, 143, 217, 200, 86, 143, 230, 198, 86, 143, 244,
- 65, 86, 143, 214, 24, 86, 143, 213, 201, 86, 143, 231, 106, 86, 143, 245,
- 179, 86, 143, 218, 238, 86, 143, 219, 72, 86, 143, 241, 228, 86, 143,
- 219, 238, 86, 143, 230, 24, 86, 143, 219, 192, 86, 143, 244, 71, 86, 143,
- 249, 140, 86, 143, 233, 148, 86, 143, 223, 223, 86, 143, 250, 203, 86,
- 143, 219, 30, 86, 143, 218, 220, 86, 143, 245, 86, 86, 143, 223, 215, 86,
- 143, 254, 59, 86, 143, 244, 97, 86, 143, 223, 213, 86, 143, 221, 76, 86,
- 143, 224, 20, 36, 143, 224, 157, 36, 143, 234, 89, 36, 143, 222, 116, 36,
- 143, 234, 8, 36, 50, 217, 201, 227, 63, 83, 219, 166, 36, 50, 216, 39,
- 227, 63, 83, 219, 166, 36, 50, 217, 116, 227, 63, 83, 219, 166, 36, 50,
- 243, 241, 227, 63, 83, 219, 166, 36, 50, 244, 84, 227, 63, 83, 219, 166,
- 36, 50, 220, 40, 227, 63, 83, 219, 166, 36, 50, 221, 38, 227, 63, 83,
- 219, 166, 36, 50, 245, 142, 227, 63, 83, 219, 166, 226, 123, 52, 36, 50,
- 216, 39, 116, 36, 50, 216, 39, 109, 36, 50, 216, 39, 166, 36, 50, 216,
- 39, 163, 36, 50, 216, 39, 180, 36, 50, 216, 39, 189, 36, 50, 216, 39,
- 198, 36, 50, 216, 39, 195, 36, 50, 216, 39, 200, 36, 50, 217, 115, 36,
- 50, 217, 116, 116, 36, 50, 217, 116, 109, 36, 50, 217, 116, 166, 36, 50,
- 217, 116, 163, 36, 50, 217, 116, 180, 36, 23, 234, 67, 36, 23, 229, 57,
- 36, 23, 217, 55, 36, 23, 223, 179, 36, 23, 231, 30, 36, 23, 225, 227, 36,
- 23, 220, 76, 36, 23, 236, 51, 36, 23, 249, 239, 36, 23, 250, 43, 36, 23,
- 234, 116, 36, 23, 217, 126, 36, 23, 226, 7, 36, 23, 241, 158, 36, 23,
- 234, 68, 61, 36, 23, 229, 58, 61, 36, 23, 217, 56, 61, 36, 23, 223, 180,
- 61, 36, 23, 231, 31, 61, 36, 23, 225, 228, 61, 36, 23, 220, 77, 61, 36,
- 23, 236, 52, 61, 36, 23, 249, 240, 61, 36, 23, 250, 44, 61, 36, 23, 234,
- 117, 61, 36, 23, 217, 127, 61, 36, 23, 226, 8, 61, 36, 23, 241, 159, 61,
- 36, 234, 12, 137, 250, 84, 36, 234, 12, 137, 235, 50, 36, 23, 236, 52,
- 69, 234, 12, 219, 98, 87, 36, 143, 116, 36, 143, 109, 36, 143, 166, 36,
- 143, 163, 36, 143, 180, 36, 143, 189, 36, 143, 198, 36, 143, 195, 36,
- 143, 200, 36, 143, 217, 200, 36, 143, 230, 198, 36, 143, 244, 65, 36,
- 143, 214, 24, 36, 143, 213, 201, 36, 143, 231, 106, 36, 143, 245, 179,
- 36, 143, 218, 238, 36, 143, 219, 72, 36, 143, 241, 228, 36, 143, 219,
- 238, 36, 143, 230, 24, 36, 143, 219, 192, 36, 143, 244, 71, 36, 143, 249,
- 140, 36, 143, 233, 148, 36, 143, 222, 93, 36, 143, 231, 252, 36, 143,
- 244, 106, 36, 143, 218, 250, 36, 143, 245, 1, 36, 143, 225, 68, 36, 143,
- 253, 112, 36, 143, 235, 157, 36, 143, 223, 213, 36, 143, 249, 103, 36,
- 143, 249, 94, 36, 143, 241, 151, 36, 143, 250, 108, 36, 143, 232, 165,
- 36, 143, 233, 70, 36, 143, 223, 148, 36, 143, 231, 148, 36, 143, 223,
- 237, 36, 143, 219, 30, 36, 143, 218, 220, 36, 143, 245, 86, 36, 143, 223,
- 215, 36, 143, 254, 59, 36, 143, 229, 43, 36, 50, 217, 116, 189, 36, 50,
- 217, 116, 198, 36, 50, 217, 116, 195, 36, 50, 217, 116, 200, 36, 50, 243,
- 240, 36, 50, 243, 241, 116, 36, 50, 243, 241, 109, 36, 50, 243, 241, 166,
- 36, 50, 243, 241, 163, 36, 50, 243, 241, 180, 36, 50, 243, 241, 189, 36,
- 50, 243, 241, 198, 36, 50, 243, 241, 195, 36, 50, 243, 241, 200, 36, 50,
- 244, 83, 105, 201, 16, 31, 235, 133, 105, 201, 16, 31, 244, 117, 105,
- 201, 16, 31, 231, 223, 105, 201, 16, 31, 253, 217, 105, 201, 16, 31, 231,
- 196, 105, 201, 16, 31, 235, 48, 105, 201, 16, 31, 235, 49, 105, 201, 16,
- 31, 253, 104, 105, 201, 16, 31, 221, 56, 105, 201, 16, 31, 227, 104, 105,
- 201, 16, 31, 228, 151, 105, 201, 16, 31, 248, 36, 41, 241, 175, 41, 245,
- 51, 41, 245, 10, 232, 248, 233, 12, 52, 36, 56, 61, 36, 56, 72, 36, 56,
- 69, 36, 56, 74, 36, 56, 75, 36, 56, 181, 36, 56, 234, 101, 36, 56, 233,
- 238, 36, 56, 234, 188, 36, 56, 234, 37, 36, 56, 222, 202, 36, 56, 220,
- 117, 36, 56, 219, 27, 36, 56, 222, 100, 36, 56, 219, 242, 36, 56, 218,
- 52, 36, 56, 217, 71, 36, 56, 216, 82, 36, 56, 217, 229, 36, 56, 108, 36,
- 56, 205, 36, 56, 229, 64, 36, 56, 228, 92, 36, 56, 229, 187, 36, 56, 228,
- 185, 36, 56, 159, 36, 56, 241, 165, 36, 56, 240, 212, 36, 56, 241, 222,
- 36, 56, 241, 54, 36, 56, 188, 36, 56, 231, 42, 36, 56, 230, 172, 36, 56,
- 231, 156, 36, 56, 230, 231, 36, 56, 186, 36, 56, 212, 203, 36, 56, 212,
- 235, 36, 56, 203, 36, 56, 223, 188, 36, 56, 223, 51, 36, 56, 224, 21, 36,
- 56, 223, 112, 36, 56, 214, 49, 36, 56, 213, 235, 36, 56, 214, 6, 36, 56,
- 213, 214, 41, 253, 238, 41, 253, 154, 41, 254, 6, 41, 254, 190, 41, 235,
- 223, 41, 235, 193, 41, 215, 137, 41, 245, 31, 41, 245, 163, 41, 227, 52,
- 41, 227, 46, 41, 234, 249, 41, 234, 219, 41, 234, 216, 41, 243, 68, 41,
- 243, 77, 41, 242, 180, 41, 242, 176, 41, 233, 172, 41, 242, 169, 41, 234,
- 81, 41, 234, 80, 41, 234, 79, 41, 234, 78, 41, 242, 67, 41, 242, 66, 41,
- 233, 214, 41, 233, 216, 41, 234, 184, 41, 234, 10, 41, 234, 17, 41, 222,
- 187, 41, 222, 153, 41, 220, 57, 41, 221, 61, 41, 221, 60, 41, 248, 161,
- 41, 247, 243, 41, 247, 75, 41, 216, 243, 41, 230, 20, 41, 228, 152, 41,
- 242, 14, 41, 226, 208, 41, 226, 207, 41, 252, 105, 41, 225, 237, 41, 225,
- 201, 41, 225, 202, 41, 251, 157, 41, 240, 211, 41, 240, 207, 41, 251, 20,
- 41, 240, 194, 41, 241, 199, 41, 226, 35, 41, 226, 69, 41, 241, 183, 41,
- 226, 66, 41, 226, 82, 41, 251, 237, 41, 225, 140, 41, 251, 106, 41, 241,
- 42, 41, 225, 130, 41, 241, 35, 41, 241, 37, 41, 232, 7, 41, 232, 3, 41,
- 232, 11, 41, 231, 213, 41, 231, 238, 41, 231, 10, 41, 230, 245, 41, 230,
- 244, 41, 231, 138, 41, 231, 135, 41, 231, 139, 41, 213, 90, 41, 213, 88,
- 41, 212, 192, 41, 223, 123, 41, 223, 127, 41, 223, 28, 41, 223, 23, 41,
- 223, 235, 41, 223, 232, 41, 214, 22, 105, 201, 16, 31, 240, 226, 212, 79,
- 105, 201, 16, 31, 240, 226, 116, 105, 201, 16, 31, 240, 226, 109, 105,
- 201, 16, 31, 240, 226, 166, 105, 201, 16, 31, 240, 226, 163, 105, 201,
- 16, 31, 240, 226, 180, 105, 201, 16, 31, 240, 226, 189, 105, 201, 16, 31,
- 240, 226, 198, 105, 201, 16, 31, 240, 226, 195, 105, 201, 16, 31, 240,
- 226, 200, 105, 201, 16, 31, 240, 226, 217, 200, 105, 201, 16, 31, 240,
- 226, 245, 124, 105, 201, 16, 31, 240, 226, 216, 41, 105, 201, 16, 31,
- 240, 226, 217, 117, 105, 201, 16, 31, 240, 226, 243, 231, 105, 201, 16,
- 31, 240, 226, 244, 87, 105, 201, 16, 31, 240, 226, 220, 47, 105, 201, 16,
- 31, 240, 226, 221, 40, 105, 201, 16, 31, 240, 226, 245, 147, 105, 201,
- 16, 31, 240, 226, 229, 28, 105, 201, 16, 31, 240, 226, 216, 38, 105, 201,
- 16, 31, 240, 226, 216, 32, 105, 201, 16, 31, 240, 226, 216, 28, 105, 201,
- 16, 31, 240, 226, 216, 29, 105, 201, 16, 31, 240, 226, 216, 34, 41, 240,
- 217, 41, 248, 164, 41, 253, 108, 41, 134, 41, 226, 249, 41, 226, 99, 41,
- 247, 101, 41, 247, 102, 219, 165, 41, 247, 102, 249, 49, 41, 235, 154,
- 41, 245, 54, 230, 25, 241, 200, 41, 245, 54, 230, 25, 218, 120, 41, 245,
- 54, 230, 25, 218, 24, 41, 245, 54, 230, 25, 231, 134, 41, 249, 96, 41,
- 226, 214, 254, 34, 41, 205, 41, 230, 173, 61, 41, 188, 41, 181, 41, 234,
- 191, 41, 231, 192, 41, 243, 56, 41, 250, 206, 41, 234, 190, 41, 226, 26,
- 41, 229, 163, 41, 230, 173, 244, 230, 41, 230, 173, 243, 177, 41, 231,
- 82, 41, 234, 140, 41, 240, 155, 41, 234, 103, 41, 231, 44, 41, 242, 192,
- 41, 217, 73, 41, 230, 173, 150, 41, 230, 238, 41, 247, 109, 41, 234, 49,
- 41, 244, 14, 41, 228, 200, 41, 230, 173, 183, 41, 230, 235, 41, 249, 176,
- 41, 234, 43, 41, 230, 236, 219, 165, 41, 249, 177, 219, 165, 41, 232,
- 110, 219, 165, 41, 234, 44, 219, 165, 41, 230, 236, 249, 49, 41, 249,
- 177, 249, 49, 41, 232, 110, 249, 49, 41, 234, 44, 249, 49, 41, 232, 110,
- 110, 197, 41, 232, 110, 110, 223, 4, 219, 165, 41, 193, 41, 234, 4, 41,
- 230, 175, 41, 242, 127, 41, 224, 66, 41, 224, 67, 110, 197, 41, 224, 67,
- 110, 223, 4, 219, 165, 41, 225, 47, 41, 228, 124, 41, 230, 173, 197, 41,
- 230, 174, 41, 225, 4, 41, 228, 33, 41, 230, 173, 215, 79, 41, 230, 120,
- 41, 233, 207, 41, 230, 121, 231, 138, 41, 225, 3, 41, 228, 32, 41, 230,
- 173, 214, 82, 41, 230, 115, 41, 233, 205, 41, 230, 116, 231, 138, 41,
- 235, 28, 227, 86, 41, 232, 110, 227, 86, 41, 254, 45, 41, 251, 87, 41,
- 250, 147, 41, 250, 125, 41, 250, 253, 110, 234, 140, 41, 249, 175, 41,
- 248, 88, 41, 242, 53, 41, 159, 41, 240, 218, 41, 235, 251, 41, 234, 56,
- 41, 234, 44, 250, 182, 41, 233, 240, 41, 232, 211, 41, 232, 210, 41, 232,
- 200, 41, 232, 122, 41, 231, 193, 220, 7, 41, 231, 9, 41, 230, 222, 41,
- 226, 24, 41, 225, 153, 41, 225, 99, 41, 225, 97, 41, 219, 159, 41, 218,
- 203, 41, 214, 8, 41, 215, 80, 110, 183, 41, 118, 110, 183, 105, 201, 16,
- 31, 248, 92, 116, 105, 201, 16, 31, 248, 92, 109, 105, 201, 16, 31, 248,
- 92, 166, 105, 201, 16, 31, 248, 92, 163, 105, 201, 16, 31, 248, 92, 180,
- 105, 201, 16, 31, 248, 92, 189, 105, 201, 16, 31, 248, 92, 198, 105, 201,
- 16, 31, 248, 92, 195, 105, 201, 16, 31, 248, 92, 200, 105, 201, 16, 31,
- 248, 92, 217, 200, 105, 201, 16, 31, 248, 92, 245, 124, 105, 201, 16, 31,
- 248, 92, 216, 41, 105, 201, 16, 31, 248, 92, 217, 117, 105, 201, 16, 31,
- 248, 92, 243, 231, 105, 201, 16, 31, 248, 92, 244, 87, 105, 201, 16, 31,
- 248, 92, 220, 47, 105, 201, 16, 31, 248, 92, 221, 40, 105, 201, 16, 31,
- 248, 92, 245, 147, 105, 201, 16, 31, 248, 92, 229, 28, 105, 201, 16, 31,
- 248, 92, 216, 38, 105, 201, 16, 31, 248, 92, 216, 32, 105, 201, 16, 31,
- 248, 92, 216, 28, 105, 201, 16, 31, 248, 92, 216, 29, 105, 201, 16, 31,
- 248, 92, 216, 34, 105, 201, 16, 31, 248, 92, 216, 35, 105, 201, 16, 31,
- 248, 92, 216, 30, 105, 201, 16, 31, 248, 92, 216, 31, 105, 201, 16, 31,
- 248, 92, 216, 37, 105, 201, 16, 31, 248, 92, 216, 33, 105, 201, 16, 31,
- 248, 92, 217, 115, 105, 201, 16, 31, 248, 92, 217, 114, 41, 243, 94, 241,
- 177, 31, 217, 149, 249, 80, 241, 207, 241, 177, 31, 217, 149, 224, 15,
- 245, 179, 241, 177, 31, 247, 183, 253, 123, 217, 149, 251, 232, 241, 177,
- 31, 212, 214, 244, 7, 241, 177, 31, 214, 43, 241, 177, 31, 249, 142, 241,
- 177, 31, 217, 149, 253, 174, 241, 177, 31, 241, 46, 216, 249, 241, 177,
- 31, 3, 218, 12, 241, 177, 31, 216, 195, 241, 177, 31, 226, 94, 241, 177,
- 31, 219, 97, 241, 177, 31, 244, 108, 241, 177, 31, 242, 109, 225, 120,
- 241, 177, 31, 230, 225, 241, 177, 31, 245, 85, 241, 177, 31, 244, 8, 241,
- 177, 31, 213, 194, 227, 63, 217, 149, 248, 37, 241, 177, 31, 253, 221,
- 241, 177, 31, 249, 124, 241, 177, 31, 251, 150, 217, 92, 241, 177, 31,
- 242, 125, 241, 177, 31, 219, 177, 253, 237, 241, 177, 31, 223, 205, 241,
- 177, 31, 235, 217, 241, 177, 31, 242, 109, 218, 12, 241, 177, 31, 230,
- 181, 249, 98, 241, 177, 31, 242, 109, 225, 77, 241, 177, 31, 217, 149,
- 254, 178, 214, 24, 241, 177, 31, 217, 149, 249, 201, 244, 65, 241, 177,
- 31, 235, 230, 241, 177, 31, 246, 12, 241, 177, 31, 223, 208, 241, 177,
- 31, 242, 109, 225, 104, 241, 177, 31, 225, 61, 241, 177, 31, 248, 106,
- 65, 217, 149, 233, 2, 241, 177, 31, 217, 149, 244, 142, 241, 177, 31,
- 227, 29, 241, 177, 31, 227, 108, 241, 177, 31, 248, 10, 241, 177, 31,
- 248, 30, 241, 177, 31, 235, 243, 241, 177, 31, 251, 77, 241, 177, 31,
- 249, 159, 211, 211, 231, 141, 241, 177, 31, 243, 63, 216, 249, 241, 177,
- 31, 225, 12, 215, 125, 241, 177, 31, 227, 28, 241, 177, 31, 217, 149,
- 213, 254, 241, 177, 31, 223, 198, 241, 177, 31, 217, 149, 250, 153, 241,
- 177, 31, 217, 149, 253, 170, 217, 87, 241, 177, 31, 217, 149, 234, 185,
- 219, 74, 230, 185, 241, 177, 31, 247, 239, 241, 177, 31, 217, 149, 231,
- 215, 232, 8, 241, 177, 31, 254, 179, 241, 177, 31, 217, 149, 214, 38,
- 241, 177, 31, 217, 149, 243, 23, 213, 224, 241, 177, 31, 217, 149, 235,
- 55, 233, 131, 241, 177, 31, 247, 136, 241, 177, 31, 232, 249, 241, 177,
- 31, 235, 220, 216, 145, 241, 177, 31, 3, 225, 77, 241, 177, 31, 254, 122,
- 249, 151, 241, 177, 31, 251, 235, 249, 151, 8, 4, 235, 158, 8, 4, 235,
- 151, 8, 4, 72, 8, 4, 235, 180, 8, 4, 236, 53, 8, 4, 236, 36, 8, 4, 236,
- 55, 8, 4, 236, 54, 8, 4, 253, 122, 8, 4, 253, 85, 8, 4, 61, 8, 4, 253,
- 239, 8, 4, 215, 135, 8, 4, 215, 138, 8, 4, 215, 136, 8, 4, 227, 8, 8, 4,
- 226, 238, 8, 4, 75, 8, 4, 227, 41, 8, 4, 245, 2, 8, 4, 74, 8, 4, 213,
- 183, 8, 4, 251, 151, 8, 4, 251, 148, 8, 4, 251, 184, 8, 4, 251, 161, 8,
- 4, 251, 174, 8, 4, 251, 173, 8, 4, 251, 176, 8, 4, 251, 175, 8, 4, 252,
- 41, 8, 4, 252, 33, 8, 4, 252, 107, 8, 4, 252, 61, 8, 4, 251, 30, 8, 4,
- 251, 34, 8, 4, 251, 31, 8, 4, 251, 105, 8, 4, 251, 89, 8, 4, 251, 128, 8,
- 4, 251, 110, 8, 4, 251, 198, 8, 4, 251, 251, 8, 4, 251, 210, 8, 4, 251,
- 16, 8, 4, 251, 13, 8, 4, 251, 54, 8, 4, 251, 29, 8, 4, 251, 23, 8, 4,
- 251, 27, 8, 4, 251, 1, 8, 4, 251, 0, 8, 4, 251, 6, 8, 4, 251, 4, 8, 4,
- 251, 2, 8, 4, 251, 3, 8, 4, 225, 181, 8, 4, 225, 177, 8, 4, 225, 240, 8,
- 4, 225, 191, 8, 4, 225, 207, 8, 4, 225, 234, 8, 4, 225, 230, 8, 4, 226,
- 113, 8, 4, 226, 104, 8, 4, 193, 8, 4, 226, 149, 8, 4, 225, 21, 8, 4, 225,
- 23, 8, 4, 225, 22, 8, 4, 225, 113, 8, 4, 225, 102, 8, 4, 225, 150, 8, 4,
- 225, 125, 8, 4, 225, 8, 8, 4, 225, 5, 8, 4, 225, 35, 8, 4, 225, 20, 8, 4,
- 225, 13, 8, 4, 225, 18, 8, 4, 224, 244, 8, 4, 224, 243, 8, 4, 224, 248,
- 8, 4, 224, 247, 8, 4, 224, 245, 8, 4, 224, 246, 8, 4, 252, 16, 8, 4, 252,
- 15, 8, 4, 252, 22, 8, 4, 252, 17, 8, 4, 252, 19, 8, 4, 252, 18, 8, 4,
- 252, 21, 8, 4, 252, 20, 8, 4, 252, 28, 8, 4, 252, 27, 8, 4, 252, 31, 8,
- 4, 252, 29, 8, 4, 252, 7, 8, 4, 252, 9, 8, 4, 252, 8, 8, 4, 252, 12, 8,
- 4, 252, 11, 8, 4, 252, 14, 8, 4, 252, 13, 8, 4, 252, 23, 8, 4, 252, 26,
- 8, 4, 252, 24, 8, 4, 252, 3, 8, 4, 252, 2, 8, 4, 252, 10, 8, 4, 252, 6,
- 8, 4, 252, 4, 8, 4, 252, 5, 8, 4, 251, 255, 8, 4, 251, 254, 8, 4, 252, 1,
- 8, 4, 252, 0, 8, 4, 229, 248, 8, 4, 229, 247, 8, 4, 229, 253, 8, 4, 229,
- 249, 8, 4, 229, 250, 8, 4, 229, 252, 8, 4, 229, 251, 8, 4, 229, 255, 8,
- 4, 229, 254, 8, 4, 230, 1, 8, 4, 230, 0, 8, 4, 229, 244, 8, 4, 229, 243,
- 8, 4, 229, 246, 8, 4, 229, 245, 8, 4, 229, 238, 8, 4, 229, 237, 8, 4,
- 229, 242, 8, 4, 229, 241, 8, 4, 229, 239, 8, 4, 229, 240, 8, 4, 229, 232,
- 8, 4, 229, 231, 8, 4, 229, 236, 8, 4, 229, 235, 8, 4, 229, 233, 8, 4,
- 229, 234, 8, 4, 241, 96, 8, 4, 241, 95, 8, 4, 241, 101, 8, 4, 241, 97, 8,
- 4, 241, 98, 8, 4, 241, 100, 8, 4, 241, 99, 8, 4, 241, 104, 8, 4, 241,
- 103, 8, 4, 241, 106, 8, 4, 241, 105, 8, 4, 241, 87, 8, 4, 241, 89, 8, 4,
- 241, 88, 8, 4, 241, 92, 8, 4, 241, 91, 8, 4, 241, 94, 8, 4, 241, 93, 8,
- 4, 241, 83, 8, 4, 241, 82, 8, 4, 241, 90, 8, 4, 241, 86, 8, 4, 241, 84,
- 8, 4, 241, 85, 8, 4, 241, 77, 8, 4, 241, 81, 8, 4, 241, 80, 8, 4, 241,
- 78, 8, 4, 241, 79, 8, 4, 230, 241, 8, 4, 230, 240, 8, 4, 231, 42, 8, 4,
- 230, 247, 8, 4, 231, 16, 8, 4, 231, 34, 8, 4, 231, 32, 8, 4, 231, 202, 8,
- 4, 231, 198, 8, 4, 188, 8, 4, 231, 235, 8, 4, 230, 144, 8, 4, 230, 143,
- 8, 4, 230, 147, 8, 4, 230, 145, 8, 4, 230, 191, 8, 4, 230, 177, 8, 4,
- 230, 231, 8, 4, 230, 196, 8, 4, 231, 93, 8, 4, 231, 156, 8, 4, 230, 125,
- 8, 4, 230, 122, 8, 4, 230, 172, 8, 4, 230, 140, 8, 4, 230, 133, 8, 4,
- 230, 138, 8, 4, 230, 100, 8, 4, 230, 99, 8, 4, 230, 105, 8, 4, 230, 102,
- 8, 4, 244, 52, 8, 4, 244, 47, 8, 4, 244, 90, 8, 4, 244, 67, 8, 4, 244,
- 135, 8, 4, 244, 126, 8, 4, 244, 164, 8, 4, 244, 138, 8, 4, 243, 229, 8,
- 4, 244, 12, 8, 4, 243, 252, 8, 4, 243, 190, 8, 4, 243, 189, 8, 4, 243,
- 205, 8, 4, 243, 195, 8, 4, 243, 193, 8, 4, 243, 194, 8, 4, 243, 180, 8,
- 4, 243, 179, 8, 4, 243, 183, 8, 4, 243, 181, 8, 4, 214, 125, 8, 4, 214,
- 120, 8, 4, 214, 154, 8, 4, 214, 134, 8, 4, 214, 146, 8, 4, 214, 143, 8,
- 4, 214, 148, 8, 4, 214, 147, 8, 4, 214, 239, 8, 4, 214, 235, 8, 4, 215,
- 1, 8, 4, 214, 250, 8, 4, 214, 106, 8, 4, 214, 102, 8, 4, 214, 119, 8, 4,
- 214, 107, 8, 4, 214, 155, 8, 4, 214, 221, 8, 4, 214, 93, 8, 4, 214, 92,
- 8, 4, 214, 99, 8, 4, 214, 96, 8, 4, 214, 94, 8, 4, 214, 95, 8, 4, 214,
- 86, 8, 4, 214, 85, 8, 4, 214, 90, 8, 4, 214, 89, 8, 4, 214, 87, 8, 4,
- 214, 88, 8, 4, 247, 130, 8, 4, 247, 118, 8, 4, 247, 211, 8, 4, 247, 155,
- 8, 4, 247, 188, 8, 4, 247, 192, 8, 4, 247, 191, 8, 4, 248, 98, 8, 4, 248,
- 93, 8, 4, 248, 164, 8, 4, 248, 117, 8, 4, 246, 17, 8, 4, 246, 18, 8, 4,
- 247, 74, 8, 4, 246, 56, 8, 4, 247, 99, 8, 4, 247, 76, 8, 4, 247, 237, 8,
- 4, 248, 41, 8, 4, 247, 252, 8, 4, 246, 8, 8, 4, 246, 6, 8, 4, 246, 33, 8,
- 4, 246, 16, 8, 4, 246, 11, 8, 4, 246, 14, 8, 4, 217, 20, 8, 4, 217, 14,
- 8, 4, 217, 71, 8, 4, 217, 29, 8, 4, 217, 63, 8, 4, 217, 65, 8, 4, 217,
- 64, 8, 4, 217, 253, 8, 4, 217, 240, 8, 4, 218, 52, 8, 4, 218, 5, 8, 4,
- 216, 66, 8, 4, 216, 65, 8, 4, 216, 68, 8, 4, 216, 67, 8, 4, 216, 218, 8,
- 4, 216, 214, 8, 4, 108, 8, 4, 216, 226, 8, 4, 217, 166, 8, 4, 217, 229,
- 8, 4, 217, 190, 8, 4, 216, 52, 8, 4, 216, 48, 8, 4, 216, 82, 8, 4, 216,
- 64, 8, 4, 216, 53, 8, 4, 216, 62, 8, 4, 248, 58, 8, 4, 248, 57, 8, 4,
- 248, 63, 8, 4, 248, 59, 8, 4, 248, 60, 8, 4, 248, 62, 8, 4, 248, 61, 8,
- 4, 248, 79, 8, 4, 248, 78, 8, 4, 248, 86, 8, 4, 248, 80, 8, 4, 248, 48,
- 8, 4, 248, 50, 8, 4, 248, 49, 8, 4, 248, 53, 8, 4, 248, 52, 8, 4, 248,
- 56, 8, 4, 248, 54, 8, 4, 248, 71, 8, 4, 248, 74, 8, 4, 248, 72, 8, 4,
- 248, 44, 8, 4, 248, 43, 8, 4, 248, 51, 8, 4, 248, 47, 8, 4, 248, 45, 8,
- 4, 248, 46, 8, 4, 229, 206, 8, 4, 229, 205, 8, 4, 229, 213, 8, 4, 229,
- 208, 8, 4, 229, 209, 8, 4, 229, 210, 8, 4, 229, 222, 8, 4, 229, 221, 8,
- 4, 229, 228, 8, 4, 229, 223, 8, 4, 229, 198, 8, 4, 229, 197, 8, 4, 229,
- 204, 8, 4, 229, 199, 8, 4, 229, 214, 8, 4, 229, 220, 8, 4, 229, 218, 8,
- 4, 229, 190, 8, 4, 229, 189, 8, 4, 229, 195, 8, 4, 229, 193, 8, 4, 229,
- 191, 8, 4, 229, 192, 8, 4, 241, 63, 8, 4, 241, 62, 8, 4, 241, 69, 8, 4,
- 241, 64, 8, 4, 241, 66, 8, 4, 241, 65, 8, 4, 241, 68, 8, 4, 241, 67, 8,
- 4, 241, 74, 8, 4, 241, 73, 8, 4, 241, 76, 8, 4, 241, 75, 8, 4, 241, 57,
- 8, 4, 241, 58, 8, 4, 241, 60, 8, 4, 241, 59, 8, 4, 241, 61, 8, 4, 241,
- 70, 8, 4, 241, 72, 8, 4, 241, 71, 8, 4, 241, 56, 8, 4, 229, 20, 8, 4,
- 229, 18, 8, 4, 229, 64, 8, 4, 229, 23, 8, 4, 229, 46, 8, 4, 229, 60, 8,
- 4, 229, 59, 8, 4, 230, 5, 8, 4, 205, 8, 4, 230, 17, 8, 4, 228, 42, 8, 4,
- 228, 44, 8, 4, 228, 43, 8, 4, 228, 162, 8, 4, 228, 149, 8, 4, 228, 185,
- 8, 4, 228, 171, 8, 4, 229, 165, 8, 4, 229, 187, 8, 4, 229, 176, 8, 4,
- 228, 37, 8, 4, 228, 34, 8, 4, 228, 92, 8, 4, 228, 41, 8, 4, 228, 39, 8,
- 4, 228, 40, 8, 4, 241, 127, 8, 4, 241, 126, 8, 4, 241, 132, 8, 4, 241,
- 128, 8, 4, 241, 129, 8, 4, 241, 131, 8, 4, 241, 130, 8, 4, 241, 137, 8,
- 4, 241, 136, 8, 4, 241, 139, 8, 4, 241, 138, 8, 4, 241, 119, 8, 4, 241,
- 121, 8, 4, 241, 120, 8, 4, 241, 123, 8, 4, 241, 125, 8, 4, 241, 124, 8,
- 4, 241, 133, 8, 4, 241, 135, 8, 4, 241, 134, 8, 4, 241, 115, 8, 4, 241,
- 114, 8, 4, 241, 122, 8, 4, 241, 118, 8, 4, 241, 116, 8, 4, 241, 117, 8,
- 4, 241, 109, 8, 4, 241, 108, 8, 4, 241, 113, 8, 4, 241, 112, 8, 4, 241,
- 110, 8, 4, 241, 111, 8, 4, 232, 224, 8, 4, 232, 218, 8, 4, 233, 13, 8, 4,
- 232, 231, 8, 4, 233, 5, 8, 4, 233, 4, 8, 4, 233, 8, 8, 4, 233, 6, 8, 4,
- 233, 102, 8, 4, 233, 93, 8, 4, 233, 157, 8, 4, 233, 111, 8, 4, 232, 137,
- 8, 4, 232, 136, 8, 4, 232, 139, 8, 4, 232, 138, 8, 4, 232, 171, 8, 4,
- 232, 161, 8, 4, 232, 208, 8, 4, 232, 175, 8, 4, 233, 28, 8, 4, 233, 82,
- 8, 4, 233, 41, 8, 4, 232, 132, 8, 4, 232, 131, 8, 4, 232, 156, 8, 4, 232,
- 135, 8, 4, 232, 133, 8, 4, 232, 134, 8, 4, 232, 114, 8, 4, 232, 113, 8,
- 4, 232, 121, 8, 4, 232, 117, 8, 4, 232, 115, 8, 4, 232, 116, 8, 4, 242,
- 165, 8, 4, 242, 164, 8, 4, 242, 190, 8, 4, 242, 175, 8, 4, 242, 182, 8,
- 4, 242, 181, 8, 4, 242, 184, 8, 4, 242, 183, 8, 4, 243, 65, 8, 4, 243,
- 60, 8, 4, 243, 110, 8, 4, 243, 75, 8, 4, 242, 72, 8, 4, 242, 71, 8, 4,
- 242, 74, 8, 4, 242, 73, 8, 4, 242, 130, 8, 4, 242, 128, 8, 4, 242, 150,
- 8, 4, 242, 138, 8, 4, 243, 9, 8, 4, 243, 7, 8, 4, 243, 38, 8, 4, 243, 20,
- 8, 4, 242, 62, 8, 4, 242, 61, 8, 4, 242, 92, 8, 4, 242, 70, 8, 4, 242,
- 63, 8, 4, 242, 69, 8, 4, 234, 70, 8, 4, 234, 69, 8, 4, 234, 101, 8, 4,
- 234, 84, 8, 4, 234, 94, 8, 4, 234, 97, 8, 4, 234, 95, 8, 4, 234, 207, 8,
- 4, 234, 196, 8, 4, 181, 8, 4, 234, 233, 8, 4, 233, 221, 8, 4, 233, 226,
- 8, 4, 233, 223, 8, 4, 234, 9, 8, 4, 234, 5, 8, 4, 234, 37, 8, 4, 234, 16,
- 8, 4, 234, 162, 8, 4, 234, 146, 8, 4, 234, 188, 8, 4, 234, 165, 8, 4,
- 233, 210, 8, 4, 233, 208, 8, 4, 233, 238, 8, 4, 233, 220, 8, 4, 233, 213,
- 8, 4, 233, 217, 8, 4, 242, 247, 8, 4, 242, 246, 8, 4, 242, 251, 8, 4,
- 242, 248, 8, 4, 242, 250, 8, 4, 242, 249, 8, 4, 243, 2, 8, 4, 243, 1, 8,
- 4, 243, 5, 8, 4, 243, 3, 8, 4, 242, 238, 8, 4, 242, 237, 8, 4, 242, 240,
- 8, 4, 242, 239, 8, 4, 242, 243, 8, 4, 242, 242, 8, 4, 242, 245, 8, 4,
- 242, 244, 8, 4, 242, 253, 8, 4, 242, 252, 8, 4, 243, 0, 8, 4, 242, 254,
- 8, 4, 242, 233, 8, 4, 242, 232, 8, 4, 242, 241, 8, 4, 242, 236, 8, 4,
- 242, 234, 8, 4, 242, 235, 8, 4, 231, 60, 8, 4, 231, 61, 8, 4, 231, 79, 8,
- 4, 231, 78, 8, 4, 231, 81, 8, 4, 231, 80, 8, 4, 231, 51, 8, 4, 231, 53,
- 8, 4, 231, 52, 8, 4, 231, 56, 8, 4, 231, 55, 8, 4, 231, 58, 8, 4, 231,
- 57, 8, 4, 231, 62, 8, 4, 231, 64, 8, 4, 231, 63, 8, 4, 231, 47, 8, 4,
- 231, 46, 8, 4, 231, 54, 8, 4, 231, 50, 8, 4, 231, 48, 8, 4, 231, 49, 8,
- 4, 240, 172, 8, 4, 240, 171, 8, 4, 240, 178, 8, 4, 240, 173, 8, 4, 240,
- 175, 8, 4, 240, 174, 8, 4, 240, 177, 8, 4, 240, 176, 8, 4, 240, 183, 8,
- 4, 240, 182, 8, 4, 240, 185, 8, 4, 240, 184, 8, 4, 240, 164, 8, 4, 240,
- 163, 8, 4, 240, 166, 8, 4, 240, 165, 8, 4, 240, 168, 8, 4, 240, 167, 8,
- 4, 240, 170, 8, 4, 240, 169, 8, 4, 240, 179, 8, 4, 240, 181, 8, 4, 240,
- 180, 8, 4, 229, 110, 8, 4, 229, 112, 8, 4, 229, 111, 8, 4, 229, 150, 8,
- 4, 229, 149, 8, 4, 229, 159, 8, 4, 229, 153, 8, 4, 229, 73, 8, 4, 229,
- 72, 8, 4, 229, 74, 8, 4, 229, 82, 8, 4, 229, 79, 8, 4, 229, 90, 8, 4,
- 229, 84, 8, 4, 229, 143, 8, 4, 229, 148, 8, 4, 229, 145, 8, 4, 241, 142,
- 8, 4, 241, 152, 8, 4, 241, 160, 8, 4, 241, 234, 8, 4, 241, 227, 8, 4,
- 159, 8, 4, 241, 245, 8, 4, 240, 196, 8, 4, 240, 195, 8, 4, 240, 198, 8,
- 4, 240, 197, 8, 4, 240, 229, 8, 4, 240, 220, 8, 4, 241, 54, 8, 4, 241,
- 34, 8, 4, 241, 179, 8, 4, 241, 222, 8, 4, 241, 190, 8, 4, 214, 27, 8, 4,
- 214, 12, 8, 4, 214, 49, 8, 4, 214, 35, 8, 4, 213, 173, 8, 4, 213, 175, 8,
- 4, 213, 174, 8, 4, 213, 191, 8, 4, 213, 214, 8, 4, 213, 197, 8, 4, 213,
- 246, 8, 4, 214, 6, 8, 4, 213, 251, 8, 4, 212, 23, 8, 4, 212, 22, 8, 4,
- 212, 37, 8, 4, 212, 25, 8, 4, 212, 30, 8, 4, 212, 32, 8, 4, 212, 31, 8,
- 4, 212, 95, 8, 4, 212, 92, 8, 4, 212, 109, 8, 4, 212, 98, 8, 4, 212, 1,
- 8, 4, 212, 3, 8, 4, 212, 2, 8, 4, 212, 12, 8, 4, 212, 11, 8, 4, 212, 16,
- 8, 4, 212, 13, 8, 4, 212, 77, 8, 4, 212, 87, 8, 4, 212, 81, 8, 4, 211,
- 253, 8, 4, 211, 252, 8, 4, 212, 8, 8, 4, 212, 0, 8, 4, 211, 254, 8, 4,
- 211, 255, 8, 4, 211, 244, 8, 4, 211, 243, 8, 4, 211, 249, 8, 4, 211, 247,
- 8, 4, 211, 245, 8, 4, 211, 246, 8, 4, 249, 221, 8, 4, 249, 217, 8, 4,
- 249, 244, 8, 4, 249, 230, 8, 4, 249, 241, 8, 4, 249, 235, 8, 4, 249, 243,
- 8, 4, 249, 242, 8, 4, 250, 156, 8, 4, 250, 150, 8, 4, 250, 219, 8, 4,
- 250, 183, 8, 4, 249, 45, 8, 4, 249, 47, 8, 4, 249, 46, 8, 4, 249, 92, 8,
- 4, 249, 83, 8, 4, 249, 175, 8, 4, 249, 108, 8, 4, 250, 94, 8, 4, 250,
- 124, 8, 4, 250, 99, 8, 4, 249, 26, 8, 4, 249, 25, 8, 4, 249, 53, 8, 4,
- 249, 43, 8, 4, 249, 31, 8, 4, 249, 42, 8, 4, 249, 6, 8, 4, 249, 5, 8, 4,
- 249, 16, 8, 4, 249, 12, 8, 4, 249, 7, 8, 4, 249, 9, 8, 4, 211, 227, 8, 4,
- 211, 226, 8, 4, 211, 233, 8, 4, 211, 228, 8, 4, 211, 230, 8, 4, 211, 229,
- 8, 4, 211, 232, 8, 4, 211, 231, 8, 4, 211, 239, 8, 4, 211, 238, 8, 4,
- 211, 242, 8, 4, 211, 240, 8, 4, 211, 223, 8, 4, 211, 225, 8, 4, 211, 224,
- 8, 4, 211, 234, 8, 4, 211, 237, 8, 4, 211, 235, 8, 4, 211, 218, 8, 4,
- 211, 222, 8, 4, 211, 221, 8, 4, 211, 219, 8, 4, 211, 220, 8, 4, 211, 213,
- 8, 4, 211, 212, 8, 4, 211, 217, 8, 4, 211, 216, 8, 4, 211, 214, 8, 4,
- 211, 215, 8, 4, 227, 224, 8, 4, 227, 223, 8, 4, 227, 229, 8, 4, 227, 225,
- 8, 4, 227, 226, 8, 4, 227, 228, 8, 4, 227, 227, 8, 4, 227, 234, 8, 4,
- 227, 233, 8, 4, 227, 237, 8, 4, 227, 236, 8, 4, 227, 217, 8, 4, 227, 218,
- 8, 4, 227, 221, 8, 4, 227, 222, 8, 4, 227, 230, 8, 4, 227, 232, 8, 4,
- 227, 212, 8, 4, 227, 220, 8, 4, 227, 216, 8, 4, 227, 213, 8, 4, 227, 214,
- 8, 4, 227, 207, 8, 4, 227, 206, 8, 4, 227, 211, 8, 4, 227, 210, 8, 4,
- 227, 208, 8, 4, 227, 209, 8, 4, 220, 55, 8, 4, 189, 8, 4, 220, 117, 8, 4,
- 220, 58, 8, 4, 220, 109, 8, 4, 220, 112, 8, 4, 220, 110, 8, 4, 222, 142,
- 8, 4, 222, 132, 8, 4, 222, 202, 8, 4, 222, 150, 8, 4, 218, 228, 8, 4,
- 218, 230, 8, 4, 218, 229, 8, 4, 219, 221, 8, 4, 219, 210, 8, 4, 219, 242,
- 8, 4, 219, 224, 8, 4, 221, 35, 8, 4, 222, 100, 8, 4, 221, 59, 8, 4, 218,
- 206, 8, 4, 218, 204, 8, 4, 219, 27, 8, 4, 218, 227, 8, 4, 218, 209, 8, 4,
- 218, 217, 8, 4, 218, 113, 8, 4, 218, 112, 8, 4, 218, 177, 8, 4, 218, 119,
- 8, 4, 218, 114, 8, 4, 218, 118, 8, 4, 219, 123, 8, 4, 219, 122, 8, 4,
- 219, 128, 8, 4, 219, 124, 8, 4, 219, 125, 8, 4, 219, 127, 8, 4, 219, 126,
- 8, 4, 219, 135, 8, 4, 219, 134, 8, 4, 219, 157, 8, 4, 219, 136, 8, 4,
- 219, 119, 8, 4, 219, 118, 8, 4, 219, 121, 8, 4, 219, 120, 8, 4, 219, 130,
- 8, 4, 219, 133, 8, 4, 219, 131, 8, 4, 219, 115, 8, 4, 219, 114, 8, 4,
- 219, 117, 8, 4, 219, 116, 8, 4, 219, 109, 8, 4, 219, 108, 8, 4, 219, 113,
- 8, 4, 219, 112, 8, 4, 219, 110, 8, 4, 219, 111, 8, 4, 212, 70, 8, 4, 212,
- 69, 8, 4, 212, 75, 8, 4, 212, 72, 8, 4, 212, 52, 8, 4, 212, 54, 8, 4,
- 212, 53, 8, 4, 212, 57, 8, 4, 212, 56, 8, 4, 212, 60, 8, 4, 212, 58, 8,
- 4, 212, 64, 8, 4, 212, 63, 8, 4, 212, 67, 8, 4, 212, 65, 8, 4, 212, 48,
- 8, 4, 212, 47, 8, 4, 212, 55, 8, 4, 212, 51, 8, 4, 212, 49, 8, 4, 212,
- 50, 8, 4, 212, 40, 8, 4, 212, 39, 8, 4, 212, 44, 8, 4, 212, 43, 8, 4,
- 212, 41, 8, 4, 212, 42, 8, 4, 250, 72, 8, 4, 250, 69, 8, 4, 250, 92, 8,
- 4, 250, 80, 8, 4, 250, 2, 8, 4, 250, 1, 8, 4, 250, 4, 8, 4, 250, 3, 8, 4,
- 250, 16, 8, 4, 250, 15, 8, 4, 250, 23, 8, 4, 250, 18, 8, 4, 250, 52, 8,
- 4, 250, 50, 8, 4, 250, 67, 8, 4, 250, 58, 8, 4, 249, 252, 8, 4, 250, 6,
- 8, 4, 250, 0, 8, 4, 249, 253, 8, 4, 249, 255, 8, 4, 249, 246, 8, 4, 249,
- 245, 8, 4, 249, 250, 8, 4, 249, 249, 8, 4, 249, 247, 8, 4, 249, 248, 8,
- 4, 223, 80, 8, 4, 223, 81, 8, 4, 223, 67, 8, 4, 223, 68, 8, 4, 223, 71,
- 8, 4, 223, 70, 8, 4, 223, 73, 8, 4, 223, 72, 8, 4, 223, 75, 8, 4, 223,
- 74, 8, 4, 223, 79, 8, 4, 223, 76, 8, 4, 223, 63, 8, 4, 223, 62, 8, 4,
- 223, 69, 8, 4, 223, 66, 8, 4, 223, 64, 8, 4, 223, 65, 8, 4, 223, 57, 8,
- 4, 223, 56, 8, 4, 223, 61, 8, 4, 223, 60, 8, 4, 223, 58, 8, 4, 223, 59,
- 8, 4, 228, 145, 8, 4, 228, 144, 8, 4, 228, 147, 8, 4, 228, 146, 8, 4,
- 228, 137, 8, 4, 228, 139, 8, 4, 228, 138, 8, 4, 228, 141, 8, 4, 228, 140,
- 8, 4, 228, 143, 8, 4, 228, 142, 8, 4, 228, 132, 8, 4, 228, 131, 8, 4,
- 228, 136, 8, 4, 228, 135, 8, 4, 228, 133, 8, 4, 228, 134, 8, 4, 228, 126,
- 8, 4, 228, 125, 8, 4, 228, 130, 8, 4, 228, 129, 8, 4, 228, 127, 8, 4,
- 228, 128, 8, 4, 220, 251, 8, 4, 220, 247, 8, 4, 221, 24, 8, 4, 221, 6, 8,
- 4, 220, 140, 8, 4, 220, 142, 8, 4, 220, 141, 8, 4, 220, 160, 8, 4, 220,
- 157, 8, 4, 220, 187, 8, 4, 220, 178, 8, 4, 220, 222, 8, 4, 220, 215, 8,
- 4, 220, 243, 8, 4, 220, 230, 8, 4, 220, 136, 8, 4, 220, 135, 8, 4, 220,
- 150, 8, 4, 220, 139, 8, 4, 220, 137, 8, 4, 220, 138, 8, 4, 220, 120, 8,
- 4, 220, 119, 8, 4, 220, 126, 8, 4, 220, 123, 8, 4, 220, 121, 8, 4, 220,
- 122, 8, 4, 224, 33, 8, 4, 224, 28, 8, 4, 203, 8, 4, 224, 39, 8, 4, 223,
- 31, 8, 4, 223, 33, 8, 4, 223, 32, 8, 4, 223, 90, 8, 4, 223, 83, 8, 4,
- 223, 112, 8, 4, 223, 94, 8, 4, 223, 196, 8, 4, 224, 21, 8, 4, 223, 231,
- 8, 4, 223, 24, 8, 4, 223, 22, 8, 4, 223, 51, 8, 4, 223, 30, 8, 4, 223,
- 26, 8, 4, 223, 27, 8, 4, 223, 7, 8, 4, 223, 6, 8, 4, 223, 12, 8, 4, 223,
- 10, 8, 4, 223, 8, 8, 4, 223, 9, 8, 4, 235, 101, 8, 4, 235, 100, 8, 4,
- 235, 110, 8, 4, 235, 102, 8, 4, 235, 106, 8, 4, 235, 105, 8, 4, 235, 108,
- 8, 4, 235, 107, 8, 4, 235, 44, 8, 4, 235, 43, 8, 4, 235, 46, 8, 4, 235,
- 45, 8, 4, 235, 59, 8, 4, 235, 57, 8, 4, 235, 71, 8, 4, 235, 61, 8, 4,
- 235, 38, 8, 4, 235, 36, 8, 4, 235, 54, 8, 4, 235, 42, 8, 4, 235, 39, 8,
- 4, 235, 40, 8, 4, 235, 30, 8, 4, 235, 29, 8, 4, 235, 34, 8, 4, 235, 33,
- 8, 4, 235, 31, 8, 4, 235, 32, 8, 4, 224, 191, 8, 4, 224, 189, 8, 4, 224,
- 198, 8, 4, 224, 192, 8, 4, 224, 195, 8, 4, 224, 194, 8, 4, 224, 197, 8,
- 4, 224, 196, 8, 4, 224, 144, 8, 4, 224, 141, 8, 4, 224, 146, 8, 4, 224,
- 145, 8, 4, 224, 178, 8, 4, 224, 177, 8, 4, 224, 187, 8, 4, 224, 181, 8,
- 4, 224, 136, 8, 4, 224, 132, 8, 4, 224, 175, 8, 4, 224, 140, 8, 4, 224,
- 138, 8, 4, 224, 139, 8, 4, 224, 116, 8, 4, 224, 114, 8, 4, 224, 126, 8,
- 4, 224, 119, 8, 4, 224, 117, 8, 4, 224, 118, 8, 4, 235, 90, 8, 4, 235,
- 89, 8, 4, 235, 96, 8, 4, 235, 91, 8, 4, 235, 93, 8, 4, 235, 92, 8, 4,
- 235, 95, 8, 4, 235, 94, 8, 4, 235, 81, 8, 4, 235, 83, 8, 4, 235, 82, 8,
- 4, 235, 86, 8, 4, 235, 85, 8, 4, 235, 88, 8, 4, 235, 87, 8, 4, 235, 77,
- 8, 4, 235, 76, 8, 4, 235, 84, 8, 4, 235, 80, 8, 4, 235, 78, 8, 4, 235,
- 79, 8, 4, 235, 73, 8, 4, 235, 72, 8, 4, 235, 75, 8, 4, 235, 74, 8, 4,
- 228, 249, 8, 4, 228, 248, 8, 4, 229, 0, 8, 4, 228, 250, 8, 4, 228, 252,
- 8, 4, 228, 251, 8, 4, 228, 255, 8, 4, 228, 253, 8, 4, 228, 238, 8, 4,
- 228, 239, 8, 4, 228, 244, 8, 4, 228, 243, 8, 4, 228, 247, 8, 4, 228, 245,
- 8, 4, 228, 233, 8, 4, 228, 242, 8, 4, 228, 237, 8, 4, 228, 234, 8, 4,
- 228, 235, 8, 4, 228, 228, 8, 4, 228, 227, 8, 4, 228, 232, 8, 4, 228, 231,
- 8, 4, 228, 229, 8, 4, 228, 230, 8, 4, 228, 0, 8, 4, 227, 255, 8, 4, 228,
- 10, 8, 4, 228, 4, 8, 4, 228, 7, 8, 4, 228, 6, 8, 4, 228, 9, 8, 4, 228, 8,
- 8, 4, 227, 243, 8, 4, 227, 245, 8, 4, 227, 244, 8, 4, 227, 249, 8, 4,
- 227, 248, 8, 4, 227, 253, 8, 4, 227, 250, 8, 4, 227, 241, 8, 4, 227, 240,
- 8, 4, 227, 247, 8, 4, 227, 242, 8, 4, 213, 138, 8, 4, 213, 137, 8, 4,
- 213, 145, 8, 4, 213, 140, 8, 4, 213, 142, 8, 4, 213, 141, 8, 4, 213, 144,
- 8, 4, 213, 143, 8, 4, 213, 127, 8, 4, 213, 128, 8, 4, 213, 132, 8, 4,
- 213, 131, 8, 4, 213, 136, 8, 4, 213, 134, 8, 4, 213, 109, 8, 4, 213, 107,
- 8, 4, 213, 119, 8, 4, 213, 112, 8, 4, 213, 110, 8, 4, 213, 111, 8, 4,
- 212, 241, 8, 4, 212, 239, 8, 4, 212, 255, 8, 4, 212, 242, 8, 4, 212, 249,
- 8, 4, 212, 248, 8, 4, 212, 252, 8, 4, 212, 250, 8, 4, 212, 182, 8, 4,
- 212, 181, 8, 4, 212, 185, 8, 4, 212, 183, 8, 4, 212, 215, 8, 4, 212, 212,
- 8, 4, 212, 235, 8, 4, 212, 219, 8, 4, 212, 173, 8, 4, 212, 170, 8, 4,
- 212, 203, 8, 4, 212, 180, 8, 4, 212, 176, 8, 4, 212, 177, 8, 4, 212, 155,
- 8, 4, 212, 154, 8, 4, 212, 161, 8, 4, 212, 158, 8, 4, 212, 156, 8, 4,
- 212, 157, 8, 34, 224, 178, 8, 34, 233, 13, 8, 34, 234, 70, 8, 34, 228, 4,
- 8, 34, 249, 12, 8, 34, 219, 128, 8, 34, 242, 244, 8, 34, 243, 20, 8, 34,
- 231, 42, 8, 34, 240, 172, 8, 34, 232, 116, 8, 34, 252, 3, 8, 34, 230,
- 196, 8, 34, 212, 235, 8, 34, 225, 8, 8, 34, 240, 166, 8, 34, 217, 253, 8,
- 34, 243, 110, 8, 34, 212, 0, 8, 34, 249, 6, 8, 34, 248, 46, 8, 34, 251,
- 27, 8, 34, 242, 240, 8, 34, 227, 250, 8, 34, 216, 82, 8, 34, 227, 41, 8,
- 34, 235, 77, 8, 34, 212, 12, 8, 34, 224, 244, 8, 34, 241, 94, 8, 34, 212,
- 241, 8, 34, 214, 95, 8, 34, 220, 126, 8, 34, 214, 221, 8, 34, 212, 109,
- 8, 34, 235, 71, 8, 34, 227, 216, 8, 34, 235, 75, 8, 34, 242, 130, 8, 34,
- 235, 95, 8, 34, 213, 214, 8, 34, 246, 33, 8, 34, 220, 138, 8, 34, 233, 8,
- 8, 34, 249, 16, 8, 34, 249, 46, 8, 34, 249, 230, 8, 34, 240, 169, 8, 34,
- 220, 251, 8, 34, 211, 255, 8, 34, 220, 178, 8, 34, 250, 67, 8, 34, 211,
- 230, 8, 34, 229, 252, 8, 34, 234, 188, 232, 225, 1, 252, 107, 232, 225,
- 1, 193, 232, 225, 1, 226, 23, 232, 225, 1, 248, 164, 232, 225, 1, 218,
- 52, 232, 225, 1, 217, 161, 232, 225, 1, 243, 110, 232, 225, 1, 181, 232,
- 225, 1, 234, 138, 232, 225, 1, 235, 139, 232, 225, 1, 250, 219, 232, 225,
- 1, 250, 92, 232, 225, 1, 245, 249, 232, 225, 1, 216, 141, 232, 225, 1,
- 216, 133, 232, 225, 1, 188, 232, 225, 1, 205, 232, 225, 1, 233, 157, 232,
- 225, 1, 222, 202, 232, 225, 1, 212, 75, 232, 225, 1, 212, 109, 232, 225,
- 1, 229, 159, 232, 225, 1, 159, 232, 225, 1, 213, 153, 232, 225, 1, 241,
- 174, 232, 225, 1, 244, 164, 232, 225, 1, 214, 49, 232, 225, 1, 221, 24,
- 232, 225, 1, 186, 232, 225, 1, 242, 225, 232, 225, 1, 61, 232, 225, 1,
- 254, 148, 232, 225, 1, 74, 232, 225, 1, 245, 22, 232, 225, 1, 72, 232,
- 225, 1, 75, 232, 225, 1, 69, 232, 225, 1, 215, 183, 232, 225, 1, 215,
- 178, 232, 225, 1, 227, 99, 232, 225, 1, 160, 230, 104, 217, 71, 232, 225,
- 1, 160, 230, 46, 225, 150, 232, 225, 1, 160, 230, 104, 249, 15, 232, 225,
- 1, 160, 230, 104, 251, 128, 232, 225, 1, 160, 230, 104, 205, 232, 225, 1,
- 160, 230, 104, 235, 116, 232, 225, 225, 27, 249, 157, 232, 225, 225, 27,
- 243, 200, 219, 69, 39, 4, 245, 165, 39, 4, 245, 162, 39, 4, 241, 204, 39,
- 4, 214, 1, 39, 4, 214, 0, 39, 4, 226, 86, 39, 4, 251, 191, 39, 4, 251,
- 242, 39, 4, 231, 179, 39, 4, 234, 0, 39, 4, 231, 73, 39, 4, 243, 51, 39,
- 4, 244, 116, 39, 4, 214, 227, 39, 4, 217, 219, 39, 4, 217, 147, 39, 4,
- 247, 224, 39, 4, 247, 221, 39, 4, 233, 74, 39, 4, 224, 1, 39, 4, 248, 28,
- 39, 4, 229, 219, 39, 4, 222, 89, 39, 4, 220, 241, 39, 4, 212, 85, 39, 4,
- 212, 66, 39, 4, 250, 116, 39, 4, 235, 125, 39, 4, 229, 7, 39, 4, 213, 35,
- 39, 4, 234, 187, 39, 4, 229, 136, 39, 4, 243, 31, 39, 4, 231, 145, 39, 4,
- 229, 184, 39, 4, 228, 16, 39, 4, 72, 39, 4, 235, 251, 39, 4, 241, 165,
- 39, 4, 241, 146, 39, 4, 213, 235, 39, 4, 213, 226, 39, 4, 225, 240, 39,
- 4, 251, 189, 39, 4, 251, 184, 39, 4, 231, 172, 39, 4, 233, 253, 39, 4,
- 231, 70, 39, 4, 243, 47, 39, 4, 244, 90, 39, 4, 214, 154, 39, 4, 217, 71,
- 39, 4, 217, 128, 39, 4, 247, 216, 39, 4, 247, 220, 39, 4, 233, 13, 39, 4,
- 223, 188, 39, 4, 247, 211, 39, 4, 229, 213, 39, 4, 220, 117, 39, 4, 220,
- 212, 39, 4, 212, 37, 39, 4, 212, 62, 39, 4, 249, 244, 39, 4, 235, 110,
- 39, 4, 229, 0, 39, 4, 212, 255, 39, 4, 234, 101, 39, 4, 229, 128, 39, 4,
- 242, 190, 39, 4, 231, 42, 39, 4, 229, 64, 39, 4, 228, 10, 39, 4, 61, 39,
- 4, 254, 32, 39, 4, 229, 155, 39, 4, 159, 39, 4, 242, 1, 39, 4, 214, 49,
- 39, 4, 214, 39, 39, 4, 193, 39, 4, 251, 195, 39, 4, 252, 107, 39, 4, 231,
- 187, 39, 4, 234, 4, 39, 4, 234, 3, 39, 4, 231, 77, 39, 4, 243, 55, 39, 4,
- 244, 164, 39, 4, 215, 1, 39, 4, 218, 52, 39, 4, 217, 161, 39, 4, 247,
- 232, 39, 4, 247, 223, 39, 4, 233, 157, 39, 4, 203, 39, 4, 248, 164, 39,
- 4, 229, 228, 39, 4, 222, 202, 39, 4, 221, 24, 39, 4, 212, 109, 39, 4,
- 212, 75, 39, 4, 250, 219, 39, 4, 235, 139, 39, 4, 229, 16, 39, 4, 186,
- 39, 4, 181, 39, 4, 234, 239, 39, 4, 229, 141, 39, 4, 243, 110, 39, 4,
- 188, 39, 4, 205, 39, 4, 228, 23, 39, 4, 227, 49, 39, 4, 227, 45, 39, 4,
- 241, 39, 39, 4, 213, 202, 39, 4, 213, 198, 39, 4, 225, 129, 39, 4, 251,
- 187, 39, 4, 251, 118, 39, 4, 231, 167, 39, 4, 233, 251, 39, 4, 231, 66,
- 39, 4, 243, 43, 39, 4, 244, 3, 39, 4, 214, 108, 39, 4, 216, 230, 39, 4,
- 217, 106, 39, 4, 247, 214, 39, 4, 247, 218, 39, 4, 232, 180, 39, 4, 223,
- 99, 39, 4, 247, 79, 39, 4, 229, 200, 39, 4, 219, 226, 39, 4, 220, 181,
- 39, 4, 212, 14, 39, 4, 212, 59, 39, 4, 249, 113, 39, 4, 235, 62, 39, 4,
- 228, 246, 39, 4, 212, 220, 39, 4, 234, 19, 39, 4, 229, 126, 39, 4, 242,
- 140, 39, 4, 230, 202, 39, 4, 228, 175, 39, 4, 227, 251, 39, 4, 69, 39, 4,
- 215, 160, 39, 4, 240, 212, 39, 4, 240, 202, 39, 4, 213, 183, 39, 4, 213,
- 177, 39, 4, 225, 35, 39, 4, 251, 186, 39, 4, 251, 54, 39, 4, 231, 166,
- 39, 4, 233, 249, 39, 4, 231, 65, 39, 4, 243, 42, 39, 4, 243, 205, 39, 4,
- 214, 99, 39, 4, 216, 82, 39, 4, 217, 90, 39, 4, 247, 212, 39, 4, 247,
- 217, 39, 4, 232, 156, 39, 4, 223, 51, 39, 4, 246, 33, 39, 4, 229, 195,
- 39, 4, 219, 27, 39, 4, 220, 150, 39, 4, 212, 8, 39, 4, 212, 55, 39, 4,
- 249, 53, 39, 4, 235, 54, 39, 4, 228, 242, 39, 4, 212, 203, 39, 4, 233,
- 238, 39, 4, 229, 125, 39, 4, 242, 92, 39, 4, 230, 172, 39, 4, 228, 92,
- 39, 4, 227, 247, 39, 4, 75, 39, 4, 227, 62, 39, 4, 229, 86, 39, 4, 241,
- 54, 39, 4, 241, 42, 39, 4, 213, 214, 39, 4, 213, 203, 39, 4, 225, 150,
- 39, 4, 251, 188, 39, 4, 251, 128, 39, 4, 231, 168, 39, 4, 233, 252, 39,
- 4, 231, 68, 39, 4, 243, 45, 39, 4, 243, 44, 39, 4, 244, 12, 39, 4, 214,
- 119, 39, 4, 108, 39, 4, 217, 109, 39, 4, 247, 215, 39, 4, 247, 219, 39,
- 4, 232, 208, 39, 4, 223, 112, 39, 4, 247, 99, 39, 4, 229, 204, 39, 4,
- 219, 242, 39, 4, 220, 187, 39, 4, 212, 16, 39, 4, 212, 60, 39, 4, 249,
- 175, 39, 4, 235, 71, 39, 4, 228, 247, 39, 4, 212, 235, 39, 4, 234, 37,
- 39, 4, 229, 127, 39, 4, 242, 150, 39, 4, 230, 231, 39, 4, 228, 185, 39,
- 4, 227, 253, 39, 4, 74, 39, 4, 245, 108, 39, 4, 229, 146, 39, 4, 241,
- 222, 39, 4, 241, 193, 39, 4, 214, 6, 39, 4, 213, 253, 39, 4, 226, 96, 39,
- 4, 251, 192, 39, 4, 251, 251, 39, 4, 231, 180, 39, 4, 234, 1, 39, 4, 233,
- 255, 39, 4, 231, 74, 39, 4, 243, 52, 39, 4, 243, 50, 39, 4, 244, 123, 39,
- 4, 214, 232, 39, 4, 217, 229, 39, 4, 217, 148, 39, 4, 247, 225, 39, 4,
- 247, 222, 39, 4, 233, 82, 39, 4, 224, 21, 39, 4, 248, 41, 39, 4, 229,
- 220, 39, 4, 222, 100, 39, 4, 220, 243, 39, 4, 212, 87, 39, 4, 212, 67,
- 39, 4, 250, 124, 39, 4, 235, 127, 39, 4, 229, 9, 39, 4, 213, 38, 39, 4,
- 234, 188, 39, 4, 229, 137, 39, 4, 229, 133, 39, 4, 243, 38, 39, 4, 243,
- 27, 39, 4, 231, 156, 39, 4, 229, 187, 39, 4, 228, 17, 39, 4, 229, 161,
- 39, 4, 233, 46, 39, 249, 157, 39, 243, 200, 219, 69, 39, 224, 158, 77,
- 39, 4, 229, 203, 244, 164, 39, 4, 229, 203, 181, 39, 4, 229, 203, 219,
- 226, 39, 16, 244, 113, 39, 16, 234, 186, 39, 16, 217, 34, 39, 16, 229,
- 39, 39, 16, 252, 66, 39, 16, 244, 163, 39, 16, 218, 49, 39, 16, 248, 121,
- 39, 16, 247, 78, 39, 16, 233, 227, 39, 16, 216, 234, 39, 16, 247, 98, 39,
- 16, 235, 63, 39, 21, 212, 79, 39, 21, 116, 39, 21, 109, 39, 21, 166, 39,
- 21, 163, 39, 21, 180, 39, 21, 189, 39, 21, 198, 39, 21, 195, 39, 21, 200,
- 39, 4, 229, 203, 188, 39, 4, 229, 203, 247, 99, 33, 6, 1, 212, 83, 33, 3,
- 1, 212, 83, 33, 6, 1, 245, 245, 33, 3, 1, 245, 245, 33, 6, 1, 223, 202,
- 245, 247, 33, 3, 1, 223, 202, 245, 247, 33, 6, 1, 235, 183, 33, 3, 1,
- 235, 183, 33, 6, 1, 247, 113, 33, 3, 1, 247, 113, 33, 6, 1, 230, 210,
- 215, 175, 33, 3, 1, 230, 210, 215, 175, 33, 6, 1, 251, 64, 227, 67, 33,
- 3, 1, 251, 64, 227, 67, 33, 6, 1, 229, 169, 213, 22, 33, 3, 1, 229, 169,
- 213, 22, 33, 6, 1, 213, 19, 2, 252, 102, 213, 22, 33, 3, 1, 213, 19, 2,
- 252, 102, 213, 22, 33, 6, 1, 235, 181, 213, 49, 33, 3, 1, 235, 181, 213,
- 49, 33, 6, 1, 223, 202, 212, 203, 33, 3, 1, 223, 202, 212, 203, 33, 6, 1,
- 235, 181, 61, 33, 3, 1, 235, 181, 61, 33, 6, 1, 249, 193, 232, 221, 212,
- 174, 33, 3, 1, 249, 193, 232, 221, 212, 174, 33, 6, 1, 251, 137, 212,
- 174, 33, 3, 1, 251, 137, 212, 174, 33, 6, 1, 235, 181, 249, 193, 232,
- 221, 212, 174, 33, 3, 1, 235, 181, 249, 193, 232, 221, 212, 174, 33, 6,
- 1, 212, 237, 33, 3, 1, 212, 237, 33, 6, 1, 223, 202, 216, 136, 33, 3, 1,
- 223, 202, 216, 136, 33, 6, 1, 219, 236, 248, 41, 33, 3, 1, 219, 236, 248,
- 41, 33, 6, 1, 219, 236, 245, 131, 33, 3, 1, 219, 236, 245, 131, 33, 6, 1,
- 219, 236, 245, 117, 33, 3, 1, 219, 236, 245, 117, 33, 6, 1, 230, 214, 75,
- 33, 3, 1, 230, 214, 75, 33, 6, 1, 251, 163, 75, 33, 3, 1, 251, 163, 75,
- 33, 6, 1, 51, 230, 214, 75, 33, 3, 1, 51, 230, 214, 75, 33, 1, 230, 156,
- 75, 37, 33, 214, 84, 37, 33, 217, 201, 231, 4, 52, 37, 33, 240, 201, 231,
- 4, 52, 37, 33, 217, 101, 231, 4, 52, 220, 21, 253, 132, 37, 33, 234, 198,
- 37, 33, 226, 101, 33, 234, 198, 33, 226, 101, 33, 6, 1, 246, 1, 33, 3, 1,
- 246, 1, 33, 6, 1, 245, 238, 33, 3, 1, 245, 238, 33, 6, 1, 212, 45, 33, 3,
- 1, 212, 45, 33, 6, 1, 250, 140, 33, 3, 1, 250, 140, 33, 6, 1, 245, 237,
- 33, 3, 1, 245, 237, 33, 6, 1, 217, 230, 2, 231, 37, 101, 33, 3, 1, 217,
- 230, 2, 231, 37, 101, 33, 6, 1, 216, 43, 33, 3, 1, 216, 43, 33, 6, 1,
- 216, 119, 33, 3, 1, 216, 119, 33, 6, 1, 216, 123, 33, 3, 1, 216, 123, 33,
- 6, 1, 217, 235, 33, 3, 1, 217, 235, 33, 6, 1, 240, 190, 33, 3, 1, 240,
- 190, 33, 6, 1, 220, 132, 33, 3, 1, 220, 132, 20, 1, 61, 20, 1, 181, 20,
- 1, 69, 20, 1, 233, 238, 20, 1, 245, 165, 20, 1, 224, 1, 20, 1, 218, 35,
- 20, 1, 75, 20, 1, 228, 10, 20, 1, 72, 20, 1, 233, 157, 20, 1, 193, 20, 1,
- 223, 136, 20, 1, 223, 182, 20, 1, 233, 73, 20, 1, 231, 144, 20, 1, 218,
- 49, 20, 1, 229, 226, 20, 1, 229, 14, 20, 1, 183, 20, 1, 218, 205, 20, 1,
- 230, 172, 20, 1, 220, 207, 20, 1, 220, 117, 20, 1, 220, 217, 20, 1, 221,
- 44, 20, 1, 233, 177, 20, 1, 234, 162, 20, 1, 228, 64, 20, 1, 228, 92, 20,
- 1, 228, 241, 20, 1, 212, 217, 20, 1, 220, 150, 20, 1, 212, 178, 20, 1,
- 186, 20, 1, 228, 120, 20, 1, 234, 148, 20, 1, 226, 27, 20, 1, 229, 7, 20,
- 1, 228, 101, 20, 1, 225, 30, 20, 1, 213, 180, 20, 1, 226, 86, 20, 1, 244,
- 116, 20, 1, 223, 51, 20, 1, 232, 156, 20, 1, 231, 42, 20, 1, 229, 64, 20,
- 1, 223, 204, 20, 1, 224, 61, 20, 1, 234, 171, 20, 1, 229, 93, 20, 1, 229,
- 141, 20, 1, 229, 159, 20, 1, 220, 187, 20, 1, 225, 33, 20, 1, 243, 205,
- 20, 1, 244, 6, 20, 1, 214, 49, 20, 1, 205, 20, 1, 233, 13, 20, 1, 225,
- 240, 20, 1, 232, 174, 20, 1, 234, 37, 20, 1, 231, 177, 20, 1, 223, 233,
- 20, 1, 231, 122, 20, 1, 188, 20, 1, 217, 71, 20, 1, 234, 101, 20, 1, 230,
- 231, 20, 1, 231, 185, 20, 1, 217, 183, 20, 1, 234, 4, 20, 1, 217, 200,
- 20, 1, 228, 93, 20, 1, 222, 166, 20, 1, 244, 160, 20, 1, 234, 6, 20, 1,
- 234, 33, 20, 37, 152, 234, 14, 20, 37, 152, 216, 74, 20, 229, 13, 20,
- 243, 200, 219, 69, 20, 249, 164, 20, 249, 157, 20, 221, 70, 20, 224, 158,
- 77, 59, 1, 250, 33, 160, 212, 245, 225, 193, 59, 1, 250, 33, 160, 213,
- 59, 225, 193, 59, 1, 250, 33, 160, 212, 245, 221, 7, 59, 1, 250, 33, 160,
- 213, 59, 221, 7, 59, 1, 250, 33, 160, 212, 245, 224, 175, 59, 1, 250, 33,
- 160, 213, 59, 224, 175, 59, 1, 250, 33, 160, 212, 245, 223, 51, 59, 1,
- 250, 33, 160, 213, 59, 223, 51, 59, 1, 244, 244, 246, 72, 160, 134, 59,
- 1, 124, 246, 72, 160, 134, 59, 1, 231, 38, 246, 72, 160, 134, 59, 1, 115,
- 246, 72, 160, 134, 59, 1, 244, 243, 246, 72, 160, 134, 59, 1, 244, 244,
- 246, 72, 233, 63, 160, 134, 59, 1, 124, 246, 72, 233, 63, 160, 134, 59,
- 1, 231, 38, 246, 72, 233, 63, 160, 134, 59, 1, 115, 246, 72, 233, 63,
- 160, 134, 59, 1, 244, 243, 246, 72, 233, 63, 160, 134, 59, 1, 244, 244,
- 233, 63, 160, 134, 59, 1, 124, 233, 63, 160, 134, 59, 1, 231, 38, 233,
- 63, 160, 134, 59, 1, 115, 233, 63, 160, 134, 59, 1, 244, 243, 233, 63,
- 160, 134, 59, 1, 62, 71, 134, 59, 1, 62, 220, 23, 59, 1, 62, 199, 134,
- 59, 1, 232, 163, 46, 249, 100, 254, 18, 59, 1, 224, 48, 114, 68, 59, 1,
- 224, 48, 119, 68, 59, 1, 224, 48, 244, 254, 77, 59, 1, 224, 48, 235, 191,
- 244, 254, 77, 59, 1, 115, 235, 191, 244, 254, 77, 59, 1, 219, 51, 24,
- 124, 216, 241, 59, 1, 219, 51, 24, 115, 216, 241, 7, 6, 1, 245, 156, 254,
- 78, 7, 3, 1, 245, 156, 254, 78, 7, 6, 1, 245, 156, 254, 103, 7, 3, 1,
- 245, 156, 254, 103, 7, 6, 1, 241, 191, 7, 3, 1, 241, 191, 7, 6, 1, 216,
- 6, 7, 3, 1, 216, 6, 7, 6, 1, 216, 187, 7, 3, 1, 216, 187, 7, 6, 1, 249,
- 51, 7, 3, 1, 249, 51, 7, 6, 1, 249, 52, 2, 249, 157, 7, 3, 1, 249, 52, 2,
- 249, 157, 7, 1, 3, 6, 244, 230, 7, 1, 3, 6, 197, 7, 6, 1, 254, 232, 7, 3,
- 1, 254, 232, 7, 6, 1, 253, 240, 7, 3, 1, 253, 240, 7, 6, 1, 253, 108, 7,
- 3, 1, 253, 108, 7, 6, 1, 253, 92, 7, 3, 1, 253, 92, 7, 6, 1, 253, 93, 2,
- 199, 134, 7, 3, 1, 253, 93, 2, 199, 134, 7, 6, 1, 253, 83, 7, 3, 1, 253,
- 83, 7, 6, 1, 223, 202, 250, 253, 2, 247, 74, 7, 3, 1, 223, 202, 250, 253,
- 2, 247, 74, 7, 6, 1, 235, 28, 2, 90, 7, 3, 1, 235, 28, 2, 90, 7, 6, 1,
- 235, 28, 2, 247, 207, 90, 7, 3, 1, 235, 28, 2, 247, 207, 90, 7, 6, 1,
- 235, 28, 2, 219, 45, 24, 247, 207, 90, 7, 3, 1, 235, 28, 2, 219, 45, 24,
- 247, 207, 90, 7, 6, 1, 251, 63, 150, 7, 3, 1, 251, 63, 150, 7, 6, 1, 233,
- 171, 2, 124, 90, 7, 3, 1, 233, 171, 2, 124, 90, 7, 6, 1, 157, 2, 184,
- 219, 45, 226, 244, 7, 3, 1, 157, 2, 184, 219, 45, 226, 244, 7, 6, 1, 157,
- 2, 232, 177, 7, 3, 1, 157, 2, 232, 177, 7, 6, 1, 227, 49, 7, 3, 1, 227,
- 49, 7, 6, 1, 226, 230, 2, 219, 45, 217, 93, 247, 246, 7, 3, 1, 226, 230,
- 2, 219, 45, 217, 93, 247, 246, 7, 6, 1, 226, 230, 2, 244, 22, 7, 3, 1,
- 226, 230, 2, 244, 22, 7, 6, 1, 226, 230, 2, 219, 161, 218, 27, 7, 3, 1,
- 226, 230, 2, 219, 161, 218, 27, 7, 6, 1, 224, 241, 2, 219, 45, 217, 93,
- 247, 246, 7, 3, 1, 224, 241, 2, 219, 45, 217, 93, 247, 246, 7, 6, 1, 224,
- 241, 2, 247, 207, 90, 7, 3, 1, 224, 241, 2, 247, 207, 90, 7, 6, 1, 224,
- 113, 223, 88, 7, 3, 1, 224, 113, 223, 88, 7, 6, 1, 223, 41, 223, 88, 7,
- 3, 1, 223, 41, 223, 88, 7, 6, 1, 215, 80, 2, 247, 207, 90, 7, 3, 1, 215,
- 80, 2, 247, 207, 90, 7, 6, 1, 214, 90, 7, 3, 1, 214, 90, 7, 6, 1, 214,
- 126, 212, 152, 7, 3, 1, 214, 126, 212, 152, 7, 6, 1, 217, 105, 2, 90, 7,
- 3, 1, 217, 105, 2, 90, 7, 6, 1, 217, 105, 2, 219, 45, 217, 93, 247, 246,
- 7, 3, 1, 217, 105, 2, 219, 45, 217, 93, 247, 246, 7, 6, 1, 214, 222, 7,
- 3, 1, 214, 222, 7, 6, 1, 245, 30, 7, 3, 1, 245, 30, 7, 6, 1, 235, 169, 7,
- 3, 1, 235, 169, 7, 6, 1, 249, 146, 7, 3, 1, 249, 146, 59, 1, 215, 104, 7,
- 3, 1, 246, 24, 7, 3, 1, 232, 142, 7, 3, 1, 230, 150, 7, 3, 1, 228, 57, 7,
- 3, 1, 223, 40, 7, 1, 3, 6, 223, 40, 7, 3, 1, 216, 72, 7, 3, 1, 215, 167,
- 7, 6, 1, 235, 210, 249, 3, 7, 3, 1, 235, 210, 249, 3, 7, 6, 1, 235, 210,
- 244, 230, 7, 3, 1, 235, 210, 244, 230, 7, 6, 1, 235, 210, 243, 177, 7, 6,
- 1, 216, 58, 235, 210, 243, 177, 7, 3, 1, 216, 58, 235, 210, 243, 177, 7,
- 6, 1, 216, 58, 150, 7, 3, 1, 216, 58, 150, 7, 6, 1, 235, 210, 149, 7, 3,
- 1, 235, 210, 149, 7, 6, 1, 235, 210, 197, 7, 3, 1, 235, 210, 197, 7, 6,
- 1, 235, 210, 218, 99, 7, 3, 1, 235, 210, 218, 99, 59, 1, 115, 249, 224,
- 254, 174, 59, 1, 249, 164, 59, 1, 220, 175, 245, 61, 52, 7, 6, 1, 222,
- 170, 7, 3, 1, 222, 170, 7, 6, 1, 216, 58, 242, 41, 7, 3, 1, 233, 171, 2,
- 223, 207, 241, 38, 24, 251, 218, 7, 6, 1, 230, 98, 2, 247, 246, 7, 3, 1,
- 230, 98, 2, 247, 246, 7, 6, 1, 243, 178, 2, 227, 112, 90, 7, 3, 1, 243,
- 178, 2, 227, 112, 90, 7, 6, 1, 235, 28, 2, 227, 112, 90, 7, 3, 1, 235,
- 28, 2, 227, 112, 90, 7, 6, 1, 230, 98, 2, 227, 112, 90, 7, 3, 1, 230, 98,
- 2, 227, 112, 90, 7, 6, 1, 224, 113, 2, 227, 112, 90, 7, 3, 1, 224, 113,
- 2, 227, 112, 90, 7, 6, 1, 223, 4, 2, 227, 112, 90, 7, 3, 1, 223, 4, 2,
- 227, 112, 90, 7, 1, 3, 6, 216, 58, 183, 7, 245, 66, 1, 223, 202, 244,
- 230, 7, 245, 66, 1, 223, 202, 226, 229, 7, 245, 66, 1, 235, 191, 183, 7,
- 245, 66, 1, 240, 146, 232, 182, 7, 245, 66, 1, 253, 193, 183, 218, 175,
- 230, 32, 1, 61, 218, 175, 230, 32, 1, 72, 218, 175, 230, 32, 5, 246, 3,
- 218, 175, 230, 32, 1, 69, 218, 175, 230, 32, 1, 74, 218, 175, 230, 32, 1,
- 75, 218, 175, 230, 32, 5, 241, 236, 218, 175, 230, 32, 1, 234, 37, 218,
- 175, 230, 32, 1, 234, 113, 218, 175, 230, 32, 1, 242, 150, 218, 175, 230,
- 32, 1, 242, 200, 218, 175, 230, 32, 5, 253, 242, 218, 175, 230, 32, 1,
- 249, 175, 218, 175, 230, 32, 1, 250, 23, 218, 175, 230, 32, 1, 235, 71,
- 218, 175, 230, 32, 1, 235, 111, 218, 175, 230, 32, 1, 216, 95, 218, 175,
- 230, 32, 1, 216, 100, 218, 175, 230, 32, 1, 248, 56, 218, 175, 230, 32,
- 1, 248, 65, 218, 175, 230, 32, 1, 108, 218, 175, 230, 32, 1, 217, 109,
- 218, 175, 230, 32, 1, 247, 99, 218, 175, 230, 32, 1, 247, 215, 218, 175,
- 230, 32, 1, 228, 185, 218, 175, 230, 32, 1, 225, 150, 218, 175, 230, 32,
- 1, 225, 253, 218, 175, 230, 32, 1, 251, 128, 218, 175, 230, 32, 1, 251,
- 188, 218, 175, 230, 32, 1, 230, 231, 218, 175, 230, 32, 1, 223, 112, 218,
- 175, 230, 32, 1, 232, 208, 218, 175, 230, 32, 1, 223, 73, 218, 175, 230,
- 32, 1, 219, 242, 218, 175, 230, 32, 1, 241, 54, 218, 175, 230, 32, 30, 5,
- 61, 218, 175, 230, 32, 30, 5, 72, 218, 175, 230, 32, 30, 5, 69, 218, 175,
- 230, 32, 30, 5, 74, 218, 175, 230, 32, 30, 5, 227, 49, 218, 175, 230, 32,
- 225, 146, 231, 221, 218, 175, 230, 32, 225, 146, 231, 220, 218, 175, 230,
- 32, 225, 146, 231, 219, 218, 175, 230, 32, 225, 146, 231, 218, 228, 167,
- 235, 237, 243, 228, 122, 224, 166, 228, 167, 235, 237, 243, 228, 122,
- 242, 9, 228, 167, 235, 237, 243, 228, 133, 224, 164, 228, 167, 235, 237,
- 243, 228, 122, 220, 45, 228, 167, 235, 237, 243, 228, 122, 245, 145, 228,
- 167, 235, 237, 243, 228, 133, 220, 44, 228, 167, 235, 237, 224, 167, 77,
- 228, 167, 235, 237, 225, 172, 77, 228, 167, 235, 237, 223, 29, 77, 228,
- 167, 235, 237, 224, 168, 77, 226, 20, 1, 181, 226, 20, 1, 234, 138, 226,
- 20, 1, 243, 110, 226, 20, 1, 229, 159, 226, 20, 1, 250, 219, 226, 20, 1,
- 250, 92, 226, 20, 1, 235, 139, 226, 20, 1, 228, 23, 226, 20, 1, 218, 52,
- 226, 20, 1, 217, 161, 226, 20, 1, 248, 164, 226, 20, 1, 205, 226, 20, 1,
- 193, 226, 20, 1, 226, 23, 226, 20, 1, 252, 107, 226, 20, 1, 188, 226, 20,
- 1, 216, 141, 226, 20, 1, 216, 133, 226, 20, 1, 245, 249, 226, 20, 1, 214,
- 49, 226, 20, 1, 212, 75, 226, 20, 1, 212, 109, 226, 20, 1, 3, 61, 226,
- 20, 1, 186, 226, 20, 1, 203, 226, 20, 1, 233, 157, 226, 20, 1, 221, 24,
- 226, 20, 1, 222, 202, 226, 20, 1, 159, 226, 20, 1, 61, 226, 20, 1, 72,
- 226, 20, 1, 69, 226, 20, 1, 74, 226, 20, 1, 75, 226, 20, 1, 224, 232,
- 226, 20, 1, 213, 153, 226, 20, 1, 244, 164, 226, 20, 1, 243, 5, 226, 20,
- 1, 245, 165, 226, 20, 219, 18, 1, 214, 49, 226, 20, 219, 18, 1, 186, 226,
- 20, 1, 216, 115, 226, 20, 1, 216, 105, 226, 20, 1, 248, 86, 226, 20, 1,
- 228, 198, 226, 20, 1, 254, 50, 186, 226, 20, 1, 214, 115, 221, 24, 226,
- 20, 1, 214, 116, 159, 226, 20, 1, 253, 138, 244, 164, 226, 20, 219, 18,
- 1, 203, 226, 20, 218, 225, 1, 203, 226, 20, 1, 250, 187, 226, 20, 220,
- 81, 241, 220, 77, 226, 20, 51, 241, 220, 77, 226, 20, 152, 221, 17, 226,
- 20, 152, 51, 221, 17, 169, 5, 253, 242, 169, 5, 214, 128, 169, 1, 61,
- 169, 1, 254, 232, 169, 1, 72, 169, 1, 236, 28, 169, 1, 69, 169, 1, 215,
- 92, 169, 1, 161, 149, 169, 1, 161, 223, 82, 169, 1, 161, 150, 169, 1,
- 161, 232, 214, 169, 1, 74, 169, 1, 245, 165, 169, 1, 254, 108, 169, 1,
- 75, 169, 1, 227, 49, 169, 1, 253, 108, 169, 1, 181, 169, 1, 234, 138,
- 169, 1, 243, 110, 169, 1, 242, 225, 169, 1, 229, 159, 169, 1, 250, 219,
- 169, 1, 250, 92, 169, 1, 235, 139, 169, 1, 235, 115, 169, 1, 228, 23,
- 169, 1, 216, 115, 169, 1, 216, 105, 169, 1, 248, 86, 169, 1, 248, 70,
- 169, 1, 228, 198, 169, 1, 218, 52, 169, 1, 217, 161, 169, 1, 248, 164,
- 169, 1, 247, 232, 169, 1, 205, 169, 1, 193, 169, 1, 226, 23, 169, 1, 252,
- 107, 169, 1, 251, 195, 169, 1, 188, 169, 1, 186, 169, 1, 203, 169, 1,
- 233, 157, 169, 1, 215, 1, 169, 1, 221, 24, 169, 1, 219, 157, 169, 1, 222,
- 202, 169, 1, 159, 169, 1, 232, 213, 169, 249, 133, 5, 242, 25, 169, 30,
- 5, 254, 232, 169, 30, 5, 72, 169, 30, 5, 236, 28, 169, 30, 5, 69, 169,
- 30, 5, 215, 92, 169, 30, 5, 161, 149, 169, 30, 5, 161, 223, 82, 169, 30,
- 5, 161, 150, 169, 30, 5, 161, 232, 214, 169, 30, 5, 74, 169, 30, 5, 245,
- 165, 169, 30, 5, 254, 108, 169, 30, 5, 75, 169, 30, 5, 227, 49, 169, 30,
- 5, 253, 108, 169, 5, 214, 133, 169, 248, 123, 169, 51, 248, 123, 169, 21,
- 212, 79, 169, 21, 116, 169, 21, 109, 169, 21, 166, 169, 21, 163, 169, 21,
- 180, 169, 21, 189, 169, 21, 198, 169, 21, 195, 169, 21, 200, 37, 82, 21,
- 212, 79, 37, 82, 21, 116, 37, 82, 21, 109, 37, 82, 21, 166, 37, 82, 21,
- 163, 37, 82, 21, 180, 37, 82, 21, 189, 37, 82, 21, 198, 37, 82, 21, 195,
- 37, 82, 21, 200, 37, 82, 1, 61, 37, 82, 1, 69, 37, 82, 1, 181, 37, 82, 1,
- 205, 37, 82, 1, 193, 37, 82, 1, 203, 37, 82, 1, 214, 154, 37, 82, 5, 253,
- 91, 82, 5, 219, 205, 250, 187, 82, 5, 250, 188, 214, 133, 82, 5, 51, 250,
- 188, 214, 133, 82, 5, 250, 188, 109, 82, 5, 250, 188, 166, 82, 5, 250,
- 188, 253, 91, 82, 5, 225, 11, 82, 243, 76, 244, 72, 82, 250, 170, 82,
- 241, 214, 234, 194, 233, 14, 21, 212, 79, 234, 194, 233, 14, 21, 116,
- 234, 194, 233, 14, 21, 109, 234, 194, 233, 14, 21, 166, 234, 194, 233,
- 14, 21, 163, 234, 194, 233, 14, 21, 180, 234, 194, 233, 14, 21, 189, 234,
- 194, 233, 14, 21, 198, 234, 194, 233, 14, 21, 195, 234, 194, 233, 14, 21,
- 200, 234, 194, 233, 14, 1, 181, 234, 194, 233, 14, 1, 234, 138, 234, 194,
- 233, 14, 1, 243, 110, 234, 194, 233, 14, 1, 229, 159, 234, 194, 233, 14,
- 1, 222, 202, 234, 194, 233, 14, 1, 221, 24, 234, 194, 233, 14, 1, 212,
- 109, 234, 194, 233, 14, 1, 228, 23, 234, 194, 233, 14, 1, 218, 52, 234,
- 194, 233, 14, 1, 240, 214, 234, 194, 233, 14, 1, 205, 234, 194, 233, 14,
- 1, 193, 234, 194, 233, 14, 1, 226, 23, 234, 194, 233, 14, 1, 188, 234,
- 194, 233, 14, 1, 248, 164, 234, 194, 233, 14, 1, 252, 107, 234, 194, 233,
- 14, 1, 203, 234, 194, 233, 14, 1, 186, 234, 194, 233, 14, 1, 233, 157,
- 234, 194, 233, 14, 1, 214, 49, 234, 194, 233, 14, 1, 217, 161, 234, 194,
- 233, 14, 1, 159, 234, 194, 233, 14, 1, 215, 1, 234, 194, 233, 14, 1, 250,
- 219, 234, 194, 233, 14, 1, 61, 234, 194, 233, 14, 1, 227, 99, 234, 194,
- 233, 14, 1, 72, 234, 194, 233, 14, 1, 227, 49, 234, 194, 233, 14, 30,
- 215, 183, 234, 194, 233, 14, 30, 74, 234, 194, 233, 14, 30, 69, 234, 194,
- 233, 14, 30, 245, 165, 234, 194, 233, 14, 30, 75, 234, 194, 233, 14, 160,
- 225, 163, 234, 194, 233, 14, 160, 250, 200, 234, 194, 233, 14, 160, 250,
- 201, 225, 163, 234, 194, 233, 14, 5, 249, 20, 234, 194, 233, 14, 5, 220,
- 125, 223, 243, 1, 181, 223, 243, 1, 243, 110, 223, 243, 1, 229, 159, 223,
- 243, 1, 218, 52, 223, 243, 1, 248, 164, 223, 243, 1, 205, 223, 243, 1,
- 193, 223, 243, 1, 252, 107, 223, 243, 1, 188, 223, 243, 1, 250, 219, 223,
- 243, 1, 235, 139, 223, 243, 1, 228, 23, 223, 243, 1, 222, 202, 223, 243,
- 1, 203, 223, 243, 1, 233, 157, 223, 243, 1, 186, 223, 243, 1, 214, 49,
- 223, 243, 1, 159, 223, 243, 1, 231, 187, 223, 243, 1, 229, 141, 223, 243,
- 1, 229, 228, 223, 243, 1, 227, 254, 223, 243, 1, 61, 223, 243, 30, 5, 72,
- 223, 243, 30, 5, 69, 223, 243, 30, 5, 74, 223, 243, 30, 5, 254, 108, 223,
- 243, 30, 5, 75, 223, 243, 30, 5, 253, 108, 223, 243, 30, 5, 245, 22, 223,
- 243, 30, 5, 245, 189, 223, 243, 249, 133, 5, 229, 161, 223, 243, 249,
- 133, 5, 204, 223, 243, 249, 133, 5, 149, 223, 243, 249, 133, 5, 242, 41,
- 223, 243, 214, 133, 223, 243, 222, 92, 77, 23, 97, 217, 51, 23, 97, 217,
- 50, 23, 97, 217, 48, 23, 97, 217, 53, 23, 97, 223, 174, 23, 97, 223, 158,
- 23, 97, 223, 153, 23, 97, 223, 155, 23, 97, 223, 171, 23, 97, 223, 164,
- 23, 97, 223, 157, 23, 97, 223, 176, 23, 97, 223, 159, 23, 97, 223, 178,
- 23, 97, 223, 175, 23, 97, 231, 26, 23, 97, 231, 17, 23, 97, 231, 20, 23,
- 97, 225, 212, 23, 97, 225, 223, 23, 97, 225, 224, 23, 97, 219, 142, 23,
- 97, 236, 41, 23, 97, 236, 48, 23, 97, 219, 153, 23, 97, 219, 140, 23, 97,
- 226, 6, 23, 97, 241, 153, 23, 97, 219, 137, 144, 5, 226, 155, 144, 5,
- 250, 121, 144, 5, 233, 90, 144, 5, 213, 228, 144, 1, 61, 144, 1, 240,
- 146, 234, 197, 144, 1, 72, 144, 1, 236, 28, 144, 1, 69, 144, 1, 226, 214,
- 250, 97, 144, 1, 229, 160, 233, 52, 144, 1, 229, 160, 233, 53, 224, 34,
- 144, 1, 74, 144, 1, 254, 108, 144, 1, 75, 144, 1, 181, 144, 1, 235, 17,
- 222, 144, 144, 1, 235, 17, 230, 136, 144, 1, 243, 110, 144, 1, 243, 111,
- 230, 136, 144, 1, 229, 159, 144, 1, 250, 219, 144, 1, 250, 220, 230, 136,
- 144, 1, 235, 139, 144, 1, 228, 24, 230, 136, 144, 1, 235, 140, 232, 12,
- 144, 1, 228, 23, 144, 1, 216, 115, 144, 1, 216, 116, 232, 12, 144, 1,
- 248, 86, 144, 1, 248, 87, 232, 12, 144, 1, 230, 46, 230, 136, 144, 1,
- 218, 52, 144, 1, 218, 53, 230, 136, 144, 1, 248, 164, 144, 1, 248, 165,
- 232, 12, 144, 1, 205, 144, 1, 193, 144, 1, 226, 214, 230, 136, 144, 1,
- 252, 107, 144, 1, 252, 108, 230, 136, 144, 1, 188, 144, 1, 186, 144, 1,
- 203, 144, 1, 224, 77, 254, 115, 144, 1, 233, 157, 144, 1, 214, 49, 144,
- 1, 222, 203, 230, 136, 144, 1, 222, 203, 232, 12, 144, 1, 222, 202, 144,
- 1, 159, 144, 5, 250, 122, 217, 203, 144, 30, 5, 217, 254, 144, 30, 5,
- 216, 246, 144, 30, 5, 213, 178, 144, 30, 5, 213, 179, 231, 133, 144, 30,
- 5, 218, 248, 144, 30, 5, 218, 249, 231, 121, 144, 30, 5, 218, 16, 144,
- 30, 5, 247, 146, 230, 135, 144, 30, 5, 226, 59, 144, 249, 133, 5, 234,
- 164, 144, 249, 133, 5, 226, 71, 144, 249, 133, 5, 250, 207, 144, 226,
- 167, 144, 42, 223, 221, 144, 46, 223, 221, 144, 226, 203, 254, 26, 144,
- 226, 203, 232, 29, 144, 226, 203, 232, 146, 144, 226, 203, 213, 223, 144,
- 226, 203, 226, 168, 144, 226, 203, 232, 234, 144, 226, 203, 232, 140,
- 144, 226, 203, 254, 154, 144, 226, 203, 254, 155, 254, 154, 144, 226,
- 203, 225, 183, 144, 216, 58, 226, 203, 225, 183, 144, 226, 164, 144, 21,
- 212, 79, 144, 21, 116, 144, 21, 109, 144, 21, 166, 144, 21, 163, 144, 21,
- 180, 144, 21, 189, 144, 21, 198, 144, 21, 195, 144, 21, 200, 144, 226,
- 203, 217, 22, 216, 70, 144, 226, 203, 235, 165, 162, 1, 61, 162, 1, 72,
- 162, 1, 69, 162, 1, 74, 162, 1, 254, 108, 162, 1, 75, 162, 1, 181, 162,
- 1, 234, 138, 162, 1, 243, 110, 162, 1, 242, 225, 162, 1, 229, 75, 162, 1,
- 229, 159, 162, 1, 250, 92, 162, 1, 250, 49, 162, 1, 235, 139, 162, 1,
- 235, 115, 162, 1, 229, 66, 162, 1, 229, 68, 162, 1, 229, 67, 162, 1, 218,
- 52, 162, 1, 217, 161, 162, 1, 248, 164, 162, 1, 247, 232, 162, 1, 228,
- 62, 162, 1, 205, 162, 1, 248, 86, 162, 1, 193, 162, 1, 225, 100, 162, 1,
- 226, 23, 162, 1, 252, 107, 162, 1, 251, 195, 162, 1, 230, 165, 162, 1,
- 188, 162, 1, 252, 31, 162, 1, 186, 162, 1, 203, 162, 1, 233, 157, 162, 1,
- 215, 1, 162, 1, 219, 157, 162, 1, 222, 202, 162, 1, 159, 162, 30, 5, 254,
- 232, 162, 30, 5, 72, 162, 30, 5, 236, 28, 162, 30, 5, 245, 152, 162, 30,
- 5, 69, 162, 30, 5, 227, 99, 162, 30, 5, 75, 162, 30, 5, 254, 108, 162,
- 30, 5, 253, 108, 162, 30, 5, 215, 183, 162, 249, 133, 5, 186, 162, 249,
- 133, 5, 203, 162, 249, 133, 5, 233, 157, 162, 249, 133, 5, 214, 49, 162,
- 1, 40, 235, 27, 162, 1, 40, 243, 177, 162, 1, 40, 229, 161, 162, 249,
- 133, 5, 40, 229, 161, 162, 1, 40, 250, 93, 162, 1, 40, 218, 99, 162, 1,
- 40, 204, 162, 1, 40, 226, 229, 162, 1, 40, 213, 105, 162, 1, 40, 149,
- 162, 1, 40, 150, 162, 1, 40, 219, 158, 162, 249, 133, 5, 40, 183, 162,
- 249, 133, 5, 40, 242, 41, 162, 21, 212, 79, 162, 21, 116, 162, 21, 109,
- 162, 21, 166, 162, 21, 163, 162, 21, 180, 162, 21, 189, 162, 21, 198,
- 162, 21, 195, 162, 21, 200, 162, 225, 27, 219, 183, 162, 225, 27, 248,
- 123, 162, 225, 27, 51, 248, 123, 162, 225, 27, 216, 169, 248, 123, 64, 1,
- 234, 132, 243, 110, 64, 1, 234, 132, 250, 219, 64, 1, 234, 132, 250, 92,
- 64, 1, 234, 132, 235, 139, 64, 1, 234, 132, 235, 115, 64, 1, 234, 132,
- 228, 23, 64, 1, 234, 132, 216, 115, 64, 1, 234, 132, 216, 105, 64, 1,
- 234, 132, 248, 86, 64, 1, 234, 132, 248, 70, 64, 1, 234, 132, 247, 232,
- 64, 1, 234, 132, 205, 64, 1, 234, 132, 222, 202, 64, 1, 234, 132, 159,
- 64, 1, 234, 132, 241, 174, 64, 1, 234, 132, 244, 164, 64, 59, 1, 234,
- 132, 224, 2, 64, 1, 234, 132, 213, 153, 64, 1, 234, 132, 212, 109, 64, 1,
- 234, 132, 203, 64, 232, 198, 234, 132, 227, 117, 64, 232, 198, 234, 132,
- 224, 188, 64, 232, 198, 234, 132, 241, 107, 64, 16, 254, 98, 244, 253,
- 64, 16, 254, 98, 116, 64, 16, 254, 98, 109, 64, 1, 254, 98, 203, 64, 5,
- 226, 151, 234, 218, 216, 241, 38, 190, 1, 115, 234, 37, 38, 190, 1, 124,
- 234, 37, 38, 190, 1, 115, 234, 113, 38, 190, 1, 124, 234, 113, 38, 190,
- 1, 115, 234, 120, 38, 190, 1, 124, 234, 120, 38, 190, 1, 115, 242, 150,
- 38, 190, 1, 124, 242, 150, 38, 190, 1, 115, 229, 90, 38, 190, 1, 124,
- 229, 90, 38, 190, 1, 115, 249, 175, 38, 190, 1, 124, 249, 175, 38, 190,
- 1, 115, 250, 23, 38, 190, 1, 124, 250, 23, 38, 190, 1, 115, 219, 242, 38,
- 190, 1, 124, 219, 242, 38, 190, 1, 115, 227, 253, 38, 190, 1, 124, 227,
- 253, 38, 190, 1, 115, 247, 99, 38, 190, 1, 124, 247, 99, 38, 190, 1, 115,
- 108, 38, 190, 1, 124, 108, 38, 190, 1, 115, 217, 109, 38, 190, 1, 124,
- 217, 109, 38, 190, 1, 115, 228, 185, 38, 190, 1, 124, 228, 185, 38, 190,
- 1, 115, 251, 128, 38, 190, 1, 124, 251, 128, 38, 190, 1, 115, 225, 150,
- 38, 190, 1, 124, 225, 150, 38, 190, 1, 115, 225, 253, 38, 190, 1, 124,
- 225, 253, 38, 190, 1, 115, 244, 12, 38, 190, 1, 124, 244, 12, 38, 190, 1,
- 115, 230, 231, 38, 190, 1, 124, 230, 231, 38, 190, 1, 115, 212, 235, 38,
- 190, 1, 124, 212, 235, 38, 190, 1, 115, 223, 112, 38, 190, 1, 124, 223,
- 112, 38, 190, 1, 115, 232, 208, 38, 190, 1, 124, 232, 208, 38, 190, 1,
- 115, 214, 119, 38, 190, 1, 124, 214, 119, 38, 190, 1, 115, 241, 54, 38,
- 190, 1, 124, 241, 54, 38, 190, 1, 115, 75, 38, 190, 1, 124, 75, 38, 190,
- 232, 9, 234, 235, 38, 190, 30, 254, 232, 38, 190, 30, 72, 38, 190, 30,
- 215, 183, 38, 190, 30, 69, 38, 190, 30, 74, 38, 190, 30, 75, 38, 190,
- 232, 9, 234, 115, 38, 190, 30, 240, 111, 38, 190, 30, 215, 182, 38, 190,
- 30, 215, 196, 38, 190, 30, 253, 106, 38, 190, 30, 253, 83, 38, 190, 30,
- 254, 32, 38, 190, 30, 254, 45, 38, 190, 160, 232, 9, 245, 137, 38, 190,
- 160, 232, 9, 228, 61, 38, 190, 160, 232, 9, 217, 109, 38, 190, 160, 232,
- 9, 219, 228, 38, 190, 16, 234, 22, 38, 190, 16, 228, 61, 38, 190, 16,
- 222, 168, 38, 190, 16, 241, 55, 241, 50, 38, 190, 16, 234, 31, 234, 30,
- 28, 4, 216, 98, 28, 4, 216, 101, 28, 4, 216, 104, 28, 4, 216, 102, 28, 4,
- 216, 103, 28, 4, 216, 100, 28, 4, 248, 64, 28, 4, 248, 66, 28, 4, 248,
- 69, 28, 4, 248, 67, 28, 4, 248, 68, 28, 4, 248, 65, 28, 4, 245, 239, 28,
- 4, 245, 242, 28, 4, 245, 248, 28, 4, 245, 246, 28, 4, 245, 247, 28, 4,
- 245, 240, 28, 4, 250, 138, 28, 4, 250, 132, 28, 4, 250, 134, 28, 4, 250,
- 137, 28, 4, 250, 135, 28, 4, 250, 136, 28, 4, 250, 133, 28, 4, 252, 31,
- 28, 4, 252, 10, 28, 4, 252, 22, 28, 4, 252, 30, 28, 4, 252, 25, 28, 4,
- 252, 26, 28, 4, 252, 14, 231, 140, 231, 194, 1, 234, 28, 231, 140, 231,
- 194, 1, 222, 168, 231, 140, 231, 194, 1, 233, 133, 231, 140, 231, 194, 1,
- 230, 241, 231, 140, 231, 194, 1, 193, 231, 140, 231, 194, 1, 205, 231,
- 140, 231, 194, 1, 250, 39, 231, 140, 231, 194, 1, 217, 44, 231, 140, 231,
- 194, 1, 234, 109, 231, 140, 231, 194, 1, 229, 80, 231, 140, 231, 194, 1,
- 217, 103, 231, 140, 231, 194, 1, 214, 44, 231, 140, 231, 194, 1, 213, 58,
- 231, 140, 231, 194, 1, 240, 206, 231, 140, 231, 194, 1, 215, 160, 231,
- 140, 231, 194, 1, 72, 231, 140, 231, 194, 1, 226, 18, 231, 140, 231, 194,
- 1, 253, 118, 231, 140, 231, 194, 1, 242, 143, 231, 140, 231, 194, 1, 235,
- 114, 231, 140, 231, 194, 1, 224, 57, 231, 140, 231, 194, 1, 252, 107,
- 231, 140, 231, 194, 1, 235, 103, 231, 140, 231, 194, 1, 247, 171, 231,
- 140, 231, 194, 1, 242, 197, 231, 140, 231, 194, 1, 247, 213, 231, 140,
- 231, 194, 1, 251, 194, 231, 140, 231, 194, 1, 234, 29, 232, 181, 231,
- 140, 231, 194, 1, 233, 134, 232, 181, 231, 140, 231, 194, 1, 230, 242,
- 232, 181, 231, 140, 231, 194, 1, 226, 214, 232, 181, 231, 140, 231, 194,
- 1, 230, 46, 232, 181, 231, 140, 231, 194, 1, 217, 45, 232, 181, 231, 140,
- 231, 194, 1, 229, 81, 232, 181, 231, 140, 231, 194, 1, 240, 146, 232,
- 181, 231, 140, 231, 194, 30, 5, 227, 61, 231, 140, 231, 194, 30, 5, 235,
- 249, 231, 140, 231, 194, 30, 5, 254, 31, 231, 140, 231, 194, 30, 5, 213,
- 29, 231, 140, 231, 194, 30, 5, 219, 219, 231, 140, 231, 194, 30, 5, 215,
- 157, 231, 140, 231, 194, 30, 5, 250, 60, 231, 140, 231, 194, 30, 5, 228,
- 47, 231, 140, 231, 194, 250, 61, 231, 140, 231, 194, 232, 143, 235, 148,
- 231, 140, 231, 194, 253, 216, 235, 148, 231, 140, 231, 194, 21, 212, 79,
- 231, 140, 231, 194, 21, 116, 231, 140, 231, 194, 21, 109, 231, 140, 231,
- 194, 21, 166, 231, 140, 231, 194, 21, 163, 231, 140, 231, 194, 21, 180,
- 231, 140, 231, 194, 21, 189, 231, 140, 231, 194, 21, 198, 231, 140, 231,
- 194, 21, 195, 231, 140, 231, 194, 21, 200, 23, 135, 227, 197, 23, 135,
- 227, 202, 23, 135, 212, 234, 23, 135, 212, 233, 23, 135, 212, 232, 23,
- 135, 215, 246, 23, 135, 215, 249, 23, 135, 212, 201, 23, 135, 212, 197,
- 23, 135, 245, 21, 23, 135, 245, 19, 23, 135, 245, 20, 23, 135, 245, 17,
- 23, 135, 240, 136, 23, 135, 240, 135, 23, 135, 240, 133, 23, 135, 240,
- 134, 23, 135, 240, 139, 23, 135, 240, 132, 23, 135, 240, 131, 23, 135,
- 240, 141, 23, 135, 253, 203, 23, 135, 253, 202, 23, 89, 229, 50, 23, 89,
- 229, 56, 23, 89, 219, 139, 23, 89, 219, 138, 23, 89, 217, 50, 23, 89,
- 217, 48, 23, 89, 217, 47, 23, 89, 217, 53, 23, 89, 217, 54, 23, 89, 217,
- 46, 23, 89, 223, 158, 23, 89, 223, 173, 23, 89, 219, 145, 23, 89, 223,
- 170, 23, 89, 223, 160, 23, 89, 223, 162, 23, 89, 223, 149, 23, 89, 223,
- 150, 23, 89, 234, 223, 23, 89, 231, 25, 23, 89, 231, 19, 23, 89, 219,
- 149, 23, 89, 231, 22, 23, 89, 231, 28, 23, 89, 225, 208, 23, 89, 225,
- 217, 23, 89, 225, 221, 23, 89, 219, 147, 23, 89, 225, 211, 23, 89, 225,
- 225, 23, 89, 225, 226, 23, 89, 220, 68, 23, 89, 220, 71, 23, 89, 219,
- 143, 23, 89, 219, 141, 23, 89, 220, 66, 23, 89, 220, 74, 23, 89, 220, 75,
- 23, 89, 220, 60, 23, 89, 220, 73, 23, 89, 226, 158, 23, 89, 226, 159, 23,
- 89, 213, 15, 23, 89, 213, 16, 23, 89, 249, 237, 23, 89, 249, 236, 23, 89,
- 219, 154, 23, 89, 226, 4, 23, 89, 226, 3, 9, 13, 238, 17, 9, 13, 238, 16,
- 9, 13, 238, 15, 9, 13, 238, 14, 9, 13, 238, 13, 9, 13, 238, 12, 9, 13,
- 238, 11, 9, 13, 238, 10, 9, 13, 238, 9, 9, 13, 238, 8, 9, 13, 238, 7, 9,
- 13, 238, 6, 9, 13, 238, 5, 9, 13, 238, 4, 9, 13, 238, 3, 9, 13, 238, 2,
- 9, 13, 238, 1, 9, 13, 238, 0, 9, 13, 237, 255, 9, 13, 237, 254, 9, 13,
- 237, 253, 9, 13, 237, 252, 9, 13, 237, 251, 9, 13, 237, 250, 9, 13, 237,
- 249, 9, 13, 237, 248, 9, 13, 237, 247, 9, 13, 237, 246, 9, 13, 237, 245,
- 9, 13, 237, 244, 9, 13, 237, 243, 9, 13, 237, 242, 9, 13, 237, 241, 9,
- 13, 237, 240, 9, 13, 237, 239, 9, 13, 237, 238, 9, 13, 237, 237, 9, 13,
- 237, 236, 9, 13, 237, 235, 9, 13, 237, 234, 9, 13, 237, 233, 9, 13, 237,
- 232, 9, 13, 237, 231, 9, 13, 237, 230, 9, 13, 237, 229, 9, 13, 237, 228,
- 9, 13, 237, 227, 9, 13, 237, 226, 9, 13, 237, 225, 9, 13, 237, 224, 9,
- 13, 237, 223, 9, 13, 237, 222, 9, 13, 237, 221, 9, 13, 237, 220, 9, 13,
- 237, 219, 9, 13, 237, 218, 9, 13, 237, 217, 9, 13, 237, 216, 9, 13, 237,
- 215, 9, 13, 237, 214, 9, 13, 237, 213, 9, 13, 237, 212, 9, 13, 237, 211,
- 9, 13, 237, 210, 9, 13, 237, 209, 9, 13, 237, 208, 9, 13, 237, 207, 9,
- 13, 237, 206, 9, 13, 237, 205, 9, 13, 237, 204, 9, 13, 237, 203, 9, 13,
- 237, 202, 9, 13, 237, 201, 9, 13, 237, 200, 9, 13, 237, 199, 9, 13, 237,
- 198, 9, 13, 237, 197, 9, 13, 237, 196, 9, 13, 237, 195, 9, 13, 237, 194,
- 9, 13, 237, 193, 9, 13, 237, 192, 9, 13, 237, 191, 9, 13, 237, 190, 9,
- 13, 237, 189, 9, 13, 237, 188, 9, 13, 237, 187, 9, 13, 237, 186, 9, 13,
- 237, 185, 9, 13, 237, 184, 9, 13, 237, 183, 9, 13, 237, 182, 9, 13, 237,
- 181, 9, 13, 237, 180, 9, 13, 237, 179, 9, 13, 237, 178, 9, 13, 237, 177,
- 9, 13, 237, 176, 9, 13, 237, 175, 9, 13, 237, 174, 9, 13, 237, 173, 9,
- 13, 237, 172, 9, 13, 237, 171, 9, 13, 237, 170, 9, 13, 237, 169, 9, 13,
- 237, 168, 9, 13, 237, 167, 9, 13, 237, 166, 9, 13, 237, 165, 9, 13, 237,
- 164, 9, 13, 237, 163, 9, 13, 237, 162, 9, 13, 237, 161, 9, 13, 237, 160,
- 9, 13, 237, 159, 9, 13, 237, 158, 9, 13, 237, 157, 9, 13, 237, 156, 9,
- 13, 237, 155, 9, 13, 237, 154, 9, 13, 237, 153, 9, 13, 237, 152, 9, 13,
- 237, 151, 9, 13, 237, 150, 9, 13, 237, 149, 9, 13, 237, 148, 9, 13, 237,
- 147, 9, 13, 237, 146, 9, 13, 237, 145, 9, 13, 237, 144, 9, 13, 237, 143,
- 9, 13, 237, 142, 9, 13, 237, 141, 9, 13, 237, 140, 9, 13, 237, 139, 9,
- 13, 237, 138, 9, 13, 237, 137, 9, 13, 237, 136, 9, 13, 237, 135, 9, 13,
- 237, 134, 9, 13, 237, 133, 9, 13, 237, 132, 9, 13, 237, 131, 9, 13, 237,
- 130, 9, 13, 237, 129, 9, 13, 237, 128, 9, 13, 237, 127, 9, 13, 237, 126,
- 9, 13, 237, 125, 9, 13, 237, 124, 9, 13, 237, 123, 9, 13, 237, 122, 9,
- 13, 237, 121, 9, 13, 237, 120, 9, 13, 237, 119, 9, 13, 237, 118, 9, 13,
- 237, 117, 9, 13, 237, 116, 9, 13, 237, 115, 9, 13, 237, 114, 9, 13, 237,
- 113, 9, 13, 237, 112, 9, 13, 237, 111, 9, 13, 237, 110, 9, 13, 237, 109,
- 9, 13, 237, 108, 9, 13, 237, 107, 9, 13, 237, 106, 9, 13, 237, 105, 9,
- 13, 237, 104, 9, 13, 237, 103, 9, 13, 237, 102, 9, 13, 237, 101, 9, 13,
- 237, 100, 9, 13, 237, 99, 9, 13, 237, 98, 9, 13, 237, 97, 9, 13, 237, 96,
- 9, 13, 237, 95, 9, 13, 237, 94, 9, 13, 237, 93, 9, 13, 237, 92, 9, 13,
- 237, 91, 9, 13, 237, 90, 9, 13, 237, 89, 9, 13, 237, 88, 9, 13, 237, 87,
- 9, 13, 237, 86, 9, 13, 237, 85, 9, 13, 237, 84, 9, 13, 237, 83, 9, 13,
- 237, 82, 9, 13, 237, 81, 9, 13, 237, 80, 9, 13, 237, 79, 9, 13, 237, 78,
- 9, 13, 237, 77, 9, 13, 237, 76, 9, 13, 237, 75, 9, 13, 237, 74, 9, 13,
- 237, 73, 9, 13, 237, 72, 9, 13, 237, 71, 9, 13, 237, 70, 9, 13, 237, 69,
- 9, 13, 237, 68, 9, 13, 237, 67, 9, 13, 237, 66, 9, 13, 237, 65, 9, 13,
- 237, 64, 9, 13, 237, 63, 9, 13, 237, 62, 9, 13, 237, 61, 9, 13, 237, 60,
- 9, 13, 237, 59, 9, 13, 237, 58, 9, 13, 237, 57, 9, 13, 237, 56, 9, 13,
- 237, 55, 9, 13, 237, 54, 9, 13, 237, 53, 9, 13, 237, 52, 9, 13, 237, 51,
- 9, 13, 237, 50, 9, 13, 237, 49, 9, 13, 237, 48, 9, 13, 237, 47, 9, 13,
- 237, 46, 9, 13, 237, 45, 9, 13, 237, 44, 9, 13, 237, 43, 9, 13, 237, 42,
- 9, 13, 237, 41, 9, 13, 237, 40, 9, 13, 237, 39, 9, 13, 237, 38, 9, 13,
- 237, 37, 9, 13, 237, 36, 9, 13, 237, 35, 9, 13, 237, 34, 9, 13, 237, 33,
- 9, 13, 237, 32, 9, 13, 237, 31, 9, 13, 237, 30, 9, 13, 237, 29, 9, 13,
- 237, 28, 9, 13, 237, 27, 9, 13, 237, 26, 9, 13, 237, 25, 9, 13, 237, 24,
- 9, 13, 237, 23, 9, 13, 237, 22, 9, 13, 237, 21, 9, 13, 237, 20, 9, 13,
- 237, 19, 9, 13, 237, 18, 9, 13, 237, 17, 9, 13, 237, 16, 9, 13, 237, 15,
- 9, 13, 237, 14, 9, 13, 237, 13, 9, 13, 237, 12, 9, 13, 237, 11, 9, 13,
- 237, 10, 9, 13, 237, 9, 9, 13, 237, 8, 9, 13, 237, 7, 9, 13, 237, 6, 9,
- 13, 237, 5, 9, 13, 237, 4, 9, 13, 237, 3, 9, 13, 237, 2, 9, 13, 237, 1,
- 9, 13, 237, 0, 9, 13, 236, 255, 9, 13, 236, 254, 9, 13, 236, 253, 9, 13,
- 236, 252, 9, 13, 236, 251, 9, 13, 236, 250, 9, 13, 236, 249, 9, 13, 236,
- 248, 9, 13, 236, 247, 9, 13, 236, 246, 9, 13, 236, 245, 9, 13, 236, 244,
- 9, 13, 236, 243, 9, 13, 236, 242, 9, 13, 236, 241, 9, 13, 236, 240, 9,
- 13, 236, 239, 9, 13, 236, 238, 9, 13, 236, 237, 9, 13, 236, 236, 9, 13,
- 236, 235, 9, 13, 236, 234, 9, 13, 236, 233, 9, 13, 236, 232, 9, 13, 236,
- 231, 9, 13, 236, 230, 9, 13, 236, 229, 9, 13, 236, 228, 9, 13, 236, 227,
- 9, 13, 236, 226, 9, 13, 236, 225, 9, 13, 236, 224, 9, 13, 236, 223, 9,
- 13, 236, 222, 9, 13, 236, 221, 9, 13, 236, 220, 9, 13, 236, 219, 9, 13,
- 236, 218, 9, 13, 236, 217, 9, 13, 236, 216, 9, 13, 236, 215, 9, 13, 236,
- 214, 9, 13, 236, 213, 9, 13, 236, 212, 9, 13, 236, 211, 9, 13, 236, 210,
- 9, 13, 236, 209, 9, 13, 236, 208, 9, 13, 236, 207, 9, 13, 236, 206, 9,
- 13, 236, 205, 9, 13, 236, 204, 9, 13, 236, 203, 9, 13, 236, 202, 9, 13,
- 236, 201, 9, 13, 236, 200, 9, 13, 236, 199, 9, 13, 236, 198, 9, 13, 236,
- 197, 9, 13, 236, 196, 9, 13, 236, 195, 9, 13, 236, 194, 9, 13, 236, 193,
- 9, 13, 236, 192, 9, 13, 236, 191, 9, 13, 236, 190, 9, 13, 236, 189, 9,
- 13, 236, 188, 9, 13, 236, 187, 9, 13, 236, 186, 9, 13, 236, 185, 9, 13,
- 236, 184, 9, 13, 236, 183, 9, 13, 236, 182, 9, 13, 236, 181, 9, 13, 236,
- 180, 9, 13, 236, 179, 9, 13, 236, 178, 9, 13, 236, 177, 9, 13, 236, 176,
- 9, 13, 236, 175, 9, 13, 236, 174, 9, 13, 236, 173, 9, 13, 236, 172, 9,
- 13, 236, 171, 9, 13, 236, 170, 9, 13, 236, 169, 9, 13, 236, 168, 9, 13,
- 236, 167, 9, 13, 236, 166, 9, 13, 236, 165, 9, 13, 236, 164, 9, 13, 236,
- 163, 9, 13, 236, 162, 9, 13, 236, 161, 9, 13, 236, 160, 9, 13, 236, 159,
- 9, 13, 236, 158, 9, 13, 236, 157, 9, 13, 236, 156, 9, 13, 236, 155, 9,
- 13, 236, 154, 9, 13, 236, 153, 9, 13, 236, 152, 9, 13, 236, 151, 9, 13,
- 236, 150, 9, 13, 236, 149, 9, 13, 236, 148, 9, 13, 236, 147, 9, 13, 236,
- 146, 9, 13, 236, 145, 9, 13, 236, 144, 9, 13, 236, 143, 9, 13, 236, 142,
- 9, 13, 236, 141, 9, 13, 236, 140, 9, 13, 236, 139, 9, 13, 236, 138, 9,
- 13, 236, 137, 9, 13, 236, 136, 9, 13, 236, 135, 9, 13, 236, 134, 9, 13,
- 236, 133, 9, 13, 236, 132, 9, 13, 236, 131, 9, 13, 236, 130, 9, 13, 236,
- 129, 9, 13, 236, 128, 9, 13, 236, 127, 9, 13, 236, 126, 9, 13, 236, 125,
- 9, 13, 236, 124, 9, 13, 236, 123, 9, 13, 236, 122, 9, 13, 236, 121, 9,
- 13, 236, 120, 9, 13, 236, 119, 9, 13, 236, 118, 9, 13, 236, 117, 9, 13,
- 236, 116, 9, 13, 236, 115, 9, 13, 236, 114, 9, 13, 236, 113, 9, 13, 236,
- 112, 9, 13, 236, 111, 9, 13, 236, 110, 9, 13, 236, 109, 9, 13, 236, 108,
- 9, 13, 236, 107, 9, 13, 236, 106, 9, 13, 236, 105, 9, 13, 236, 104, 9,
- 13, 236, 103, 9, 13, 236, 102, 9, 13, 236, 101, 9, 13, 236, 100, 9, 13,
- 236, 99, 9, 13, 236, 98, 9, 13, 236, 97, 9, 13, 236, 96, 9, 13, 236, 95,
- 9, 13, 236, 94, 9, 13, 236, 93, 9, 13, 236, 92, 9, 13, 236, 91, 9, 13,
- 236, 90, 9, 13, 236, 89, 9, 13, 236, 88, 9, 13, 236, 87, 9, 13, 236, 86,
- 9, 13, 236, 85, 9, 13, 236, 84, 9, 13, 236, 83, 9, 13, 236, 82, 9, 13,
- 236, 81, 9, 13, 236, 80, 9, 13, 236, 79, 9, 13, 236, 78, 9, 13, 236, 77,
- 9, 13, 236, 76, 9, 13, 236, 75, 9, 13, 236, 74, 9, 13, 236, 73, 9, 13,
- 236, 72, 9, 13, 236, 71, 9, 13, 236, 70, 9, 13, 236, 69, 9, 13, 236, 68,
- 9, 13, 236, 67, 9, 13, 236, 66, 9, 13, 236, 65, 9, 13, 236, 64, 9, 13,
- 236, 63, 9, 13, 236, 62, 9, 13, 236, 61, 9, 13, 236, 60, 7, 3, 26, 244,
- 94, 7, 3, 26, 244, 90, 7, 3, 26, 244, 45, 7, 3, 26, 244, 93, 7, 3, 26,
- 244, 92, 7, 3, 26, 184, 223, 4, 218, 99, 7, 3, 26, 219, 107, 141, 3, 26,
- 231, 123, 228, 150, 141, 3, 26, 231, 123, 245, 169, 141, 3, 26, 231, 123,
- 235, 224, 141, 3, 26, 214, 157, 228, 150, 141, 3, 26, 231, 123, 213, 148,
- 93, 1, 212, 225, 2, 241, 144, 93, 225, 145, 235, 53, 214, 243, 93, 26,
- 212, 253, 212, 225, 212, 225, 226, 112, 93, 1, 254, 48, 253, 78, 93, 1,
- 213, 232, 254, 78, 93, 1, 213, 232, 248, 134, 93, 1, 213, 232, 241, 222,
- 93, 1, 213, 232, 234, 254, 93, 1, 213, 232, 233, 118, 93, 1, 213, 232,
- 40, 231, 129, 93, 1, 213, 232, 223, 219, 93, 1, 213, 232, 217, 245, 93,
- 1, 254, 48, 94, 52, 93, 1, 220, 201, 2, 220, 201, 247, 74, 93, 1, 220,
- 201, 2, 220, 85, 247, 74, 93, 1, 220, 201, 2, 248, 151, 24, 220, 201,
- 247, 74, 93, 1, 220, 201, 2, 248, 151, 24, 220, 85, 247, 74, 93, 1, 106,
- 2, 226, 112, 93, 1, 106, 2, 224, 220, 93, 1, 106, 2, 231, 234, 93, 1,
- 251, 206, 2, 248, 150, 93, 1, 242, 178, 2, 248, 150, 93, 1, 248, 135, 2,
- 248, 150, 93, 1, 241, 223, 2, 231, 234, 93, 1, 214, 237, 2, 248, 150, 93,
- 1, 212, 91, 2, 248, 150, 93, 1, 217, 184, 2, 248, 150, 93, 1, 212, 225,
- 2, 248, 150, 93, 1, 40, 234, 255, 2, 248, 150, 93, 1, 234, 255, 2, 248,
- 150, 93, 1, 233, 119, 2, 248, 150, 93, 1, 231, 130, 2, 248, 150, 93, 1,
- 228, 51, 2, 248, 150, 93, 1, 222, 165, 2, 248, 150, 93, 1, 40, 226, 97,
- 2, 248, 150, 93, 1, 226, 97, 2, 248, 150, 93, 1, 216, 138, 2, 248, 150,
- 93, 1, 224, 185, 2, 248, 150, 93, 1, 223, 220, 2, 248, 150, 93, 1, 220,
- 201, 2, 248, 150, 93, 1, 217, 246, 2, 248, 150, 93, 1, 214, 237, 2, 241,
- 47, 93, 1, 251, 206, 2, 224, 59, 93, 1, 234, 255, 2, 224, 59, 93, 1, 226,
- 97, 2, 224, 59, 93, 26, 106, 233, 118, 12, 1, 106, 214, 31, 48, 17, 12,
- 1, 106, 214, 31, 40, 17, 12, 1, 251, 241, 48, 17, 12, 1, 251, 241, 40,
- 17, 12, 1, 251, 241, 70, 17, 12, 1, 251, 241, 138, 17, 12, 1, 226, 81,
- 48, 17, 12, 1, 226, 81, 40, 17, 12, 1, 226, 81, 70, 17, 12, 1, 226, 81,
- 138, 17, 12, 1, 251, 229, 48, 17, 12, 1, 251, 229, 40, 17, 12, 1, 251,
- 229, 70, 17, 12, 1, 251, 229, 138, 17, 12, 1, 216, 108, 48, 17, 12, 1,
- 216, 108, 40, 17, 12, 1, 216, 108, 70, 17, 12, 1, 216, 108, 138, 17, 12,
- 1, 217, 214, 48, 17, 12, 1, 217, 214, 40, 17, 12, 1, 217, 214, 70, 17,
- 12, 1, 217, 214, 138, 17, 12, 1, 216, 110, 48, 17, 12, 1, 216, 110, 40,
- 17, 12, 1, 216, 110, 70, 17, 12, 1, 216, 110, 138, 17, 12, 1, 214, 226,
- 48, 17, 12, 1, 214, 226, 40, 17, 12, 1, 214, 226, 70, 17, 12, 1, 214,
- 226, 138, 17, 12, 1, 226, 79, 48, 17, 12, 1, 226, 79, 40, 17, 12, 1, 226,
- 79, 70, 17, 12, 1, 226, 79, 138, 17, 12, 1, 245, 255, 48, 17, 12, 1, 245,
- 255, 40, 17, 12, 1, 245, 255, 70, 17, 12, 1, 245, 255, 138, 17, 12, 1,
- 228, 15, 48, 17, 12, 1, 228, 15, 40, 17, 12, 1, 228, 15, 70, 17, 12, 1,
- 228, 15, 138, 17, 12, 1, 217, 234, 48, 17, 12, 1, 217, 234, 40, 17, 12,
- 1, 217, 234, 70, 17, 12, 1, 217, 234, 138, 17, 12, 1, 217, 232, 48, 17,
- 12, 1, 217, 232, 40, 17, 12, 1, 217, 232, 70, 17, 12, 1, 217, 232, 138,
- 17, 12, 1, 248, 84, 48, 17, 12, 1, 248, 84, 40, 17, 12, 1, 248, 147, 48,
- 17, 12, 1, 248, 147, 40, 17, 12, 1, 246, 26, 48, 17, 12, 1, 246, 26, 40,
- 17, 12, 1, 248, 82, 48, 17, 12, 1, 248, 82, 40, 17, 12, 1, 235, 122, 48,
- 17, 12, 1, 235, 122, 40, 17, 12, 1, 223, 78, 48, 17, 12, 1, 223, 78, 40,
- 17, 12, 1, 234, 181, 48, 17, 12, 1, 234, 181, 40, 17, 12, 1, 234, 181,
- 70, 17, 12, 1, 234, 181, 138, 17, 12, 1, 243, 98, 48, 17, 12, 1, 243, 98,
- 40, 17, 12, 1, 243, 98, 70, 17, 12, 1, 243, 98, 138, 17, 12, 1, 242, 83,
- 48, 17, 12, 1, 242, 83, 40, 17, 12, 1, 242, 83, 70, 17, 12, 1, 242, 83,
- 138, 17, 12, 1, 229, 89, 48, 17, 12, 1, 229, 89, 40, 17, 12, 1, 229, 89,
- 70, 17, 12, 1, 229, 89, 138, 17, 12, 1, 228, 174, 242, 195, 48, 17, 12,
- 1, 228, 174, 242, 195, 40, 17, 12, 1, 223, 116, 48, 17, 12, 1, 223, 116,
- 40, 17, 12, 1, 223, 116, 70, 17, 12, 1, 223, 116, 138, 17, 12, 1, 241,
- 203, 2, 73, 78, 48, 17, 12, 1, 241, 203, 2, 73, 78, 40, 17, 12, 1, 241,
- 203, 242, 148, 48, 17, 12, 1, 241, 203, 242, 148, 40, 17, 12, 1, 241,
- 203, 242, 148, 70, 17, 12, 1, 241, 203, 242, 148, 138, 17, 12, 1, 241,
- 203, 247, 96, 48, 17, 12, 1, 241, 203, 247, 96, 40, 17, 12, 1, 241, 203,
- 247, 96, 70, 17, 12, 1, 241, 203, 247, 96, 138, 17, 12, 1, 73, 252, 53,
- 48, 17, 12, 1, 73, 252, 53, 40, 17, 12, 1, 73, 252, 53, 2, 192, 78, 48,
- 17, 12, 1, 73, 252, 53, 2, 192, 78, 40, 17, 12, 16, 62, 49, 12, 16, 62,
- 55, 12, 16, 117, 176, 49, 12, 16, 117, 176, 55, 12, 16, 133, 176, 49, 12,
- 16, 133, 176, 55, 12, 16, 133, 176, 225, 141, 246, 58, 49, 12, 16, 133,
- 176, 225, 141, 246, 58, 55, 12, 16, 243, 237, 176, 49, 12, 16, 243, 237,
- 176, 55, 12, 16, 51, 71, 252, 60, 55, 12, 16, 117, 176, 214, 166, 49, 12,
- 16, 117, 176, 214, 166, 55, 12, 16, 223, 130, 12, 16, 3, 218, 30, 49, 12,
- 16, 3, 218, 30, 55, 12, 1, 229, 162, 48, 17, 12, 1, 229, 162, 40, 17, 12,
- 1, 229, 162, 70, 17, 12, 1, 229, 162, 138, 17, 12, 1, 111, 48, 17, 12, 1,
- 111, 40, 17, 12, 1, 227, 100, 48, 17, 12, 1, 227, 100, 40, 17, 12, 1,
- 212, 204, 48, 17, 12, 1, 212, 204, 40, 17, 12, 1, 111, 2, 192, 78, 48,
- 17, 12, 1, 214, 233, 48, 17, 12, 1, 214, 233, 40, 17, 12, 1, 234, 82,
- 227, 100, 48, 17, 12, 1, 234, 82, 227, 100, 40, 17, 12, 1, 234, 82, 212,
- 204, 48, 17, 12, 1, 234, 82, 212, 204, 40, 17, 12, 1, 191, 48, 17, 12, 1,
- 191, 40, 17, 12, 1, 191, 70, 17, 12, 1, 191, 138, 17, 12, 1, 215, 177,
- 234, 192, 234, 82, 106, 210, 70, 17, 12, 1, 215, 177, 234, 192, 234, 82,
- 106, 210, 138, 17, 12, 26, 73, 2, 192, 78, 2, 106, 48, 17, 12, 26, 73, 2,
- 192, 78, 2, 106, 40, 17, 12, 26, 73, 2, 192, 78, 2, 254, 149, 48, 17, 12,
- 26, 73, 2, 192, 78, 2, 254, 149, 40, 17, 12, 26, 73, 2, 192, 78, 2, 214,
- 15, 48, 17, 12, 26, 73, 2, 192, 78, 2, 214, 15, 40, 17, 12, 26, 73, 2,
- 192, 78, 2, 111, 48, 17, 12, 26, 73, 2, 192, 78, 2, 111, 40, 17, 12, 26,
- 73, 2, 192, 78, 2, 227, 100, 48, 17, 12, 26, 73, 2, 192, 78, 2, 227, 100,
- 40, 17, 12, 26, 73, 2, 192, 78, 2, 212, 204, 48, 17, 12, 26, 73, 2, 192,
- 78, 2, 212, 204, 40, 17, 12, 26, 73, 2, 192, 78, 2, 191, 48, 17, 12, 26,
- 73, 2, 192, 78, 2, 191, 40, 17, 12, 26, 73, 2, 192, 78, 2, 191, 70, 17,
- 12, 26, 215, 177, 234, 82, 73, 2, 192, 78, 2, 106, 210, 48, 17, 12, 26,
- 215, 177, 234, 82, 73, 2, 192, 78, 2, 106, 210, 40, 17, 12, 26, 215, 177,
- 234, 82, 73, 2, 192, 78, 2, 106, 210, 70, 17, 12, 1, 244, 136, 73, 48,
- 17, 12, 1, 244, 136, 73, 40, 17, 12, 1, 244, 136, 73, 70, 17, 12, 1, 244,
- 136, 73, 138, 17, 12, 26, 73, 2, 192, 78, 2, 145, 48, 17, 12, 26, 73, 2,
- 192, 78, 2, 121, 48, 17, 12, 26, 73, 2, 192, 78, 2, 63, 48, 17, 12, 26,
- 73, 2, 192, 78, 2, 106, 210, 48, 17, 12, 26, 73, 2, 192, 78, 2, 73, 48,
- 17, 12, 26, 251, 231, 2, 145, 48, 17, 12, 26, 251, 231, 2, 121, 48, 17,
- 12, 26, 251, 231, 2, 234, 136, 48, 17, 12, 26, 251, 231, 2, 63, 48, 17,
- 12, 26, 251, 231, 2, 106, 210, 48, 17, 12, 26, 251, 231, 2, 73, 48, 17,
- 12, 26, 217, 216, 2, 145, 48, 17, 12, 26, 217, 216, 2, 121, 48, 17, 12,
- 26, 217, 216, 2, 234, 136, 48, 17, 12, 26, 217, 216, 2, 63, 48, 17, 12,
- 26, 217, 216, 2, 106, 210, 48, 17, 12, 26, 217, 216, 2, 73, 48, 17, 12,
- 26, 217, 146, 2, 145, 48, 17, 12, 26, 217, 146, 2, 63, 48, 17, 12, 26,
- 217, 146, 2, 106, 210, 48, 17, 12, 26, 217, 146, 2, 73, 48, 17, 12, 26,
- 145, 2, 121, 48, 17, 12, 26, 145, 2, 63, 48, 17, 12, 26, 121, 2, 145, 48,
- 17, 12, 26, 121, 2, 63, 48, 17, 12, 26, 234, 136, 2, 145, 48, 17, 12, 26,
- 234, 136, 2, 121, 48, 17, 12, 26, 234, 136, 2, 63, 48, 17, 12, 26, 222,
- 86, 2, 145, 48, 17, 12, 26, 222, 86, 2, 121, 48, 17, 12, 26, 222, 86, 2,
- 234, 136, 48, 17, 12, 26, 222, 86, 2, 63, 48, 17, 12, 26, 222, 196, 2,
- 121, 48, 17, 12, 26, 222, 196, 2, 63, 48, 17, 12, 26, 248, 160, 2, 145,
- 48, 17, 12, 26, 248, 160, 2, 121, 48, 17, 12, 26, 248, 160, 2, 234, 136,
- 48, 17, 12, 26, 248, 160, 2, 63, 48, 17, 12, 26, 218, 30, 2, 121, 48, 17,
- 12, 26, 218, 30, 2, 63, 48, 17, 12, 26, 212, 105, 2, 63, 48, 17, 12, 26,
- 254, 104, 2, 145, 48, 17, 12, 26, 254, 104, 2, 63, 48, 17, 12, 26, 242,
- 221, 2, 145, 48, 17, 12, 26, 242, 221, 2, 63, 48, 17, 12, 26, 244, 112,
- 2, 145, 48, 17, 12, 26, 244, 112, 2, 121, 48, 17, 12, 26, 244, 112, 2,
- 234, 136, 48, 17, 12, 26, 244, 112, 2, 63, 48, 17, 12, 26, 244, 112, 2,
- 106, 210, 48, 17, 12, 26, 244, 112, 2, 73, 48, 17, 12, 26, 224, 226, 2,
- 121, 48, 17, 12, 26, 224, 226, 2, 63, 48, 17, 12, 26, 224, 226, 2, 106,
- 210, 48, 17, 12, 26, 224, 226, 2, 73, 48, 17, 12, 26, 234, 255, 2, 106,
- 48, 17, 12, 26, 234, 255, 2, 145, 48, 17, 12, 26, 234, 255, 2, 121, 48,
- 17, 12, 26, 234, 255, 2, 234, 136, 48, 17, 12, 26, 234, 255, 2, 233, 127,
- 48, 17, 12, 26, 234, 255, 2, 63, 48, 17, 12, 26, 234, 255, 2, 106, 210,
- 48, 17, 12, 26, 234, 255, 2, 73, 48, 17, 12, 26, 233, 127, 2, 145, 48,
- 17, 12, 26, 233, 127, 2, 121, 48, 17, 12, 26, 233, 127, 2, 234, 136, 48,
- 17, 12, 26, 233, 127, 2, 63, 48, 17, 12, 26, 233, 127, 2, 106, 210, 48,
- 17, 12, 26, 233, 127, 2, 73, 48, 17, 12, 26, 63, 2, 145, 48, 17, 12, 26,
- 63, 2, 121, 48, 17, 12, 26, 63, 2, 234, 136, 48, 17, 12, 26, 63, 2, 63,
- 48, 17, 12, 26, 63, 2, 106, 210, 48, 17, 12, 26, 63, 2, 73, 48, 17, 12,
- 26, 228, 174, 2, 145, 48, 17, 12, 26, 228, 174, 2, 121, 48, 17, 12, 26,
- 228, 174, 2, 234, 136, 48, 17, 12, 26, 228, 174, 2, 63, 48, 17, 12, 26,
- 228, 174, 2, 106, 210, 48, 17, 12, 26, 228, 174, 2, 73, 48, 17, 12, 26,
- 241, 203, 2, 145, 48, 17, 12, 26, 241, 203, 2, 63, 48, 17, 12, 26, 241,
- 203, 2, 106, 210, 48, 17, 12, 26, 241, 203, 2, 73, 48, 17, 12, 26, 73, 2,
- 145, 48, 17, 12, 26, 73, 2, 121, 48, 17, 12, 26, 73, 2, 234, 136, 48, 17,
- 12, 26, 73, 2, 63, 48, 17, 12, 26, 73, 2, 106, 210, 48, 17, 12, 26, 73,
- 2, 73, 48, 17, 12, 26, 217, 156, 2, 218, 223, 106, 48, 17, 12, 26, 223,
- 246, 2, 218, 223, 106, 48, 17, 12, 26, 106, 210, 2, 218, 223, 106, 48,
- 17, 12, 26, 221, 16, 2, 248, 128, 48, 17, 12, 26, 221, 16, 2, 234, 209,
- 48, 17, 12, 26, 221, 16, 2, 244, 134, 48, 17, 12, 26, 221, 16, 2, 248,
- 130, 48, 17, 12, 26, 221, 16, 2, 234, 211, 48, 17, 12, 26, 221, 16, 2,
- 218, 223, 106, 48, 17, 12, 26, 73, 2, 192, 78, 2, 223, 246, 40, 17, 12,
- 26, 73, 2, 192, 78, 2, 212, 102, 40, 17, 12, 26, 73, 2, 192, 78, 2, 63,
- 40, 17, 12, 26, 73, 2, 192, 78, 2, 228, 174, 40, 17, 12, 26, 73, 2, 192,
- 78, 2, 106, 210, 40, 17, 12, 26, 73, 2, 192, 78, 2, 73, 40, 17, 12, 26,
- 251, 231, 2, 223, 246, 40, 17, 12, 26, 251, 231, 2, 212, 102, 40, 17, 12,
- 26, 251, 231, 2, 63, 40, 17, 12, 26, 251, 231, 2, 228, 174, 40, 17, 12,
- 26, 251, 231, 2, 106, 210, 40, 17, 12, 26, 251, 231, 2, 73, 40, 17, 12,
- 26, 217, 216, 2, 223, 246, 40, 17, 12, 26, 217, 216, 2, 212, 102, 40, 17,
- 12, 26, 217, 216, 2, 63, 40, 17, 12, 26, 217, 216, 2, 228, 174, 40, 17,
- 12, 26, 217, 216, 2, 106, 210, 40, 17, 12, 26, 217, 216, 2, 73, 40, 17,
- 12, 26, 217, 146, 2, 223, 246, 40, 17, 12, 26, 217, 146, 2, 212, 102, 40,
- 17, 12, 26, 217, 146, 2, 63, 40, 17, 12, 26, 217, 146, 2, 228, 174, 40,
- 17, 12, 26, 217, 146, 2, 106, 210, 40, 17, 12, 26, 217, 146, 2, 73, 40,
- 17, 12, 26, 244, 112, 2, 106, 210, 40, 17, 12, 26, 244, 112, 2, 73, 40,
- 17, 12, 26, 224, 226, 2, 106, 210, 40, 17, 12, 26, 224, 226, 2, 73, 40,
- 17, 12, 26, 234, 255, 2, 106, 40, 17, 12, 26, 234, 255, 2, 233, 127, 40,
- 17, 12, 26, 234, 255, 2, 63, 40, 17, 12, 26, 234, 255, 2, 106, 210, 40,
- 17, 12, 26, 234, 255, 2, 73, 40, 17, 12, 26, 233, 127, 2, 63, 40, 17, 12,
- 26, 233, 127, 2, 106, 210, 40, 17, 12, 26, 233, 127, 2, 73, 40, 17, 12,
- 26, 63, 2, 106, 40, 17, 12, 26, 63, 2, 63, 40, 17, 12, 26, 228, 174, 2,
- 223, 246, 40, 17, 12, 26, 228, 174, 2, 212, 102, 40, 17, 12, 26, 228,
- 174, 2, 63, 40, 17, 12, 26, 228, 174, 2, 228, 174, 40, 17, 12, 26, 228,
- 174, 2, 106, 210, 40, 17, 12, 26, 228, 174, 2, 73, 40, 17, 12, 26, 106,
- 210, 2, 218, 223, 106, 40, 17, 12, 26, 73, 2, 223, 246, 40, 17, 12, 26,
- 73, 2, 212, 102, 40, 17, 12, 26, 73, 2, 63, 40, 17, 12, 26, 73, 2, 228,
- 174, 40, 17, 12, 26, 73, 2, 106, 210, 40, 17, 12, 26, 73, 2, 73, 40, 17,
- 12, 26, 73, 2, 192, 78, 2, 145, 70, 17, 12, 26, 73, 2, 192, 78, 2, 121,
- 70, 17, 12, 26, 73, 2, 192, 78, 2, 234, 136, 70, 17, 12, 26, 73, 2, 192,
- 78, 2, 63, 70, 17, 12, 26, 73, 2, 192, 78, 2, 241, 203, 70, 17, 12, 26,
- 251, 231, 2, 145, 70, 17, 12, 26, 251, 231, 2, 121, 70, 17, 12, 26, 251,
- 231, 2, 234, 136, 70, 17, 12, 26, 251, 231, 2, 63, 70, 17, 12, 26, 251,
- 231, 2, 241, 203, 70, 17, 12, 26, 217, 216, 2, 145, 70, 17, 12, 26, 217,
- 216, 2, 121, 70, 17, 12, 26, 217, 216, 2, 234, 136, 70, 17, 12, 26, 217,
- 216, 2, 63, 70, 17, 12, 26, 217, 216, 2, 241, 203, 70, 17, 12, 26, 217,
- 146, 2, 63, 70, 17, 12, 26, 145, 2, 121, 70, 17, 12, 26, 145, 2, 63, 70,
- 17, 12, 26, 121, 2, 145, 70, 17, 12, 26, 121, 2, 63, 70, 17, 12, 26, 234,
- 136, 2, 145, 70, 17, 12, 26, 234, 136, 2, 63, 70, 17, 12, 26, 222, 86, 2,
- 145, 70, 17, 12, 26, 222, 86, 2, 121, 70, 17, 12, 26, 222, 86, 2, 234,
- 136, 70, 17, 12, 26, 222, 86, 2, 63, 70, 17, 12, 26, 222, 196, 2, 121,
- 70, 17, 12, 26, 222, 196, 2, 234, 136, 70, 17, 12, 26, 222, 196, 2, 63,
- 70, 17, 12, 26, 248, 160, 2, 145, 70, 17, 12, 26, 248, 160, 2, 121, 70,
- 17, 12, 26, 248, 160, 2, 234, 136, 70, 17, 12, 26, 248, 160, 2, 63, 70,
- 17, 12, 26, 218, 30, 2, 121, 70, 17, 12, 26, 212, 105, 2, 63, 70, 17, 12,
- 26, 254, 104, 2, 145, 70, 17, 12, 26, 254, 104, 2, 63, 70, 17, 12, 26,
- 242, 221, 2, 145, 70, 17, 12, 26, 242, 221, 2, 63, 70, 17, 12, 26, 244,
- 112, 2, 145, 70, 17, 12, 26, 244, 112, 2, 121, 70, 17, 12, 26, 244, 112,
- 2, 234, 136, 70, 17, 12, 26, 244, 112, 2, 63, 70, 17, 12, 26, 224, 226,
- 2, 121, 70, 17, 12, 26, 224, 226, 2, 63, 70, 17, 12, 26, 234, 255, 2,
- 145, 70, 17, 12, 26, 234, 255, 2, 121, 70, 17, 12, 26, 234, 255, 2, 234,
- 136, 70, 17, 12, 26, 234, 255, 2, 233, 127, 70, 17, 12, 26, 234, 255, 2,
- 63, 70, 17, 12, 26, 233, 127, 2, 145, 70, 17, 12, 26, 233, 127, 2, 121,
- 70, 17, 12, 26, 233, 127, 2, 234, 136, 70, 17, 12, 26, 233, 127, 2, 63,
- 70, 17, 12, 26, 233, 127, 2, 241, 203, 70, 17, 12, 26, 63, 2, 145, 70,
- 17, 12, 26, 63, 2, 121, 70, 17, 12, 26, 63, 2, 234, 136, 70, 17, 12, 26,
- 63, 2, 63, 70, 17, 12, 26, 228, 174, 2, 145, 70, 17, 12, 26, 228, 174, 2,
- 121, 70, 17, 12, 26, 228, 174, 2, 234, 136, 70, 17, 12, 26, 228, 174, 2,
- 63, 70, 17, 12, 26, 228, 174, 2, 241, 203, 70, 17, 12, 26, 241, 203, 2,
- 145, 70, 17, 12, 26, 241, 203, 2, 63, 70, 17, 12, 26, 241, 203, 2, 218,
- 223, 106, 70, 17, 12, 26, 73, 2, 145, 70, 17, 12, 26, 73, 2, 121, 70, 17,
- 12, 26, 73, 2, 234, 136, 70, 17, 12, 26, 73, 2, 63, 70, 17, 12, 26, 73,
- 2, 241, 203, 70, 17, 12, 26, 73, 2, 192, 78, 2, 63, 138, 17, 12, 26, 73,
- 2, 192, 78, 2, 241, 203, 138, 17, 12, 26, 251, 231, 2, 63, 138, 17, 12,
- 26, 251, 231, 2, 241, 203, 138, 17, 12, 26, 217, 216, 2, 63, 138, 17, 12,
- 26, 217, 216, 2, 241, 203, 138, 17, 12, 26, 217, 146, 2, 63, 138, 17, 12,
- 26, 217, 146, 2, 241, 203, 138, 17, 12, 26, 222, 86, 2, 63, 138, 17, 12,
- 26, 222, 86, 2, 241, 203, 138, 17, 12, 26, 220, 240, 2, 63, 138, 17, 12,
- 26, 220, 240, 2, 241, 203, 138, 17, 12, 26, 234, 255, 2, 233, 127, 138,
- 17, 12, 26, 234, 255, 2, 63, 138, 17, 12, 26, 233, 127, 2, 63, 138, 17,
- 12, 26, 228, 174, 2, 63, 138, 17, 12, 26, 228, 174, 2, 241, 203, 138, 17,
- 12, 26, 73, 2, 63, 138, 17, 12, 26, 73, 2, 241, 203, 138, 17, 12, 26,
- 221, 16, 2, 244, 134, 138, 17, 12, 26, 221, 16, 2, 248, 130, 138, 17, 12,
- 26, 221, 16, 2, 234, 211, 138, 17, 12, 26, 218, 30, 2, 106, 210, 48, 17,
- 12, 26, 218, 30, 2, 73, 48, 17, 12, 26, 254, 104, 2, 106, 210, 48, 17,
- 12, 26, 254, 104, 2, 73, 48, 17, 12, 26, 242, 221, 2, 106, 210, 48, 17,
- 12, 26, 242, 221, 2, 73, 48, 17, 12, 26, 222, 86, 2, 106, 210, 48, 17,
- 12, 26, 222, 86, 2, 73, 48, 17, 12, 26, 220, 240, 2, 106, 210, 48, 17,
- 12, 26, 220, 240, 2, 73, 48, 17, 12, 26, 121, 2, 106, 210, 48, 17, 12,
- 26, 121, 2, 73, 48, 17, 12, 26, 145, 2, 106, 210, 48, 17, 12, 26, 145, 2,
- 73, 48, 17, 12, 26, 234, 136, 2, 106, 210, 48, 17, 12, 26, 234, 136, 2,
- 73, 48, 17, 12, 26, 222, 196, 2, 106, 210, 48, 17, 12, 26, 222, 196, 2,
- 73, 48, 17, 12, 26, 248, 160, 2, 106, 210, 48, 17, 12, 26, 248, 160, 2,
- 73, 48, 17, 12, 26, 220, 240, 2, 145, 48, 17, 12, 26, 220, 240, 2, 121,
- 48, 17, 12, 26, 220, 240, 2, 234, 136, 48, 17, 12, 26, 220, 240, 2, 63,
- 48, 17, 12, 26, 220, 240, 2, 223, 246, 48, 17, 12, 26, 222, 86, 2, 223,
- 246, 48, 17, 12, 26, 222, 196, 2, 223, 246, 48, 17, 12, 26, 248, 160, 2,
- 223, 246, 48, 17, 12, 26, 218, 30, 2, 106, 210, 40, 17, 12, 26, 218, 30,
- 2, 73, 40, 17, 12, 26, 254, 104, 2, 106, 210, 40, 17, 12, 26, 254, 104,
- 2, 73, 40, 17, 12, 26, 242, 221, 2, 106, 210, 40, 17, 12, 26, 242, 221,
- 2, 73, 40, 17, 12, 26, 222, 86, 2, 106, 210, 40, 17, 12, 26, 222, 86, 2,
- 73, 40, 17, 12, 26, 220, 240, 2, 106, 210, 40, 17, 12, 26, 220, 240, 2,
- 73, 40, 17, 12, 26, 121, 2, 106, 210, 40, 17, 12, 26, 121, 2, 73, 40, 17,
- 12, 26, 145, 2, 106, 210, 40, 17, 12, 26, 145, 2, 73, 40, 17, 12, 26,
- 234, 136, 2, 106, 210, 40, 17, 12, 26, 234, 136, 2, 73, 40, 17, 12, 26,
- 222, 196, 2, 106, 210, 40, 17, 12, 26, 222, 196, 2, 73, 40, 17, 12, 26,
- 248, 160, 2, 106, 210, 40, 17, 12, 26, 248, 160, 2, 73, 40, 17, 12, 26,
- 220, 240, 2, 145, 40, 17, 12, 26, 220, 240, 2, 121, 40, 17, 12, 26, 220,
- 240, 2, 234, 136, 40, 17, 12, 26, 220, 240, 2, 63, 40, 17, 12, 26, 220,
- 240, 2, 223, 246, 40, 17, 12, 26, 222, 86, 2, 223, 246, 40, 17, 12, 26,
- 222, 196, 2, 223, 246, 40, 17, 12, 26, 248, 160, 2, 223, 246, 40, 17, 12,
- 26, 220, 240, 2, 145, 70, 17, 12, 26, 220, 240, 2, 121, 70, 17, 12, 26,
- 220, 240, 2, 234, 136, 70, 17, 12, 26, 220, 240, 2, 63, 70, 17, 12, 26,
- 222, 86, 2, 241, 203, 70, 17, 12, 26, 220, 240, 2, 241, 203, 70, 17, 12,
- 26, 218, 30, 2, 63, 70, 17, 12, 26, 222, 86, 2, 145, 138, 17, 12, 26,
- 222, 86, 2, 121, 138, 17, 12, 26, 222, 86, 2, 234, 136, 138, 17, 12, 26,
- 220, 240, 2, 145, 138, 17, 12, 26, 220, 240, 2, 121, 138, 17, 12, 26,
- 220, 240, 2, 234, 136, 138, 17, 12, 26, 218, 30, 2, 63, 138, 17, 12, 26,
- 212, 105, 2, 63, 138, 17, 12, 26, 106, 2, 244, 132, 40, 17, 12, 26, 106,
- 2, 244, 132, 48, 17, 227, 13, 42, 226, 131, 227, 13, 46, 226, 131, 12,
- 26, 217, 216, 2, 145, 2, 63, 70, 17, 12, 26, 217, 216, 2, 121, 2, 145,
- 40, 17, 12, 26, 217, 216, 2, 121, 2, 145, 70, 17, 12, 26, 217, 216, 2,
- 121, 2, 63, 70, 17, 12, 26, 217, 216, 2, 234, 136, 2, 63, 70, 17, 12, 26,
- 217, 216, 2, 63, 2, 145, 70, 17, 12, 26, 217, 216, 2, 63, 2, 121, 70, 17,
- 12, 26, 217, 216, 2, 63, 2, 234, 136, 70, 17, 12, 26, 145, 2, 63, 2, 121,
- 40, 17, 12, 26, 145, 2, 63, 2, 121, 70, 17, 12, 26, 121, 2, 63, 2, 73,
- 40, 17, 12, 26, 121, 2, 63, 2, 106, 210, 40, 17, 12, 26, 222, 86, 2, 121,
- 2, 145, 70, 17, 12, 26, 222, 86, 2, 145, 2, 121, 70, 17, 12, 26, 222, 86,
- 2, 145, 2, 106, 210, 40, 17, 12, 26, 222, 86, 2, 63, 2, 121, 40, 17, 12,
- 26, 222, 86, 2, 63, 2, 121, 70, 17, 12, 26, 222, 86, 2, 63, 2, 145, 70,
- 17, 12, 26, 222, 86, 2, 63, 2, 63, 40, 17, 12, 26, 222, 86, 2, 63, 2, 63,
- 70, 17, 12, 26, 222, 196, 2, 121, 2, 121, 40, 17, 12, 26, 222, 196, 2,
- 121, 2, 121, 70, 17, 12, 26, 222, 196, 2, 63, 2, 63, 40, 17, 12, 26, 220,
- 240, 2, 121, 2, 63, 40, 17, 12, 26, 220, 240, 2, 121, 2, 63, 70, 17, 12,
- 26, 220, 240, 2, 145, 2, 73, 40, 17, 12, 26, 220, 240, 2, 63, 2, 234,
- 136, 40, 17, 12, 26, 220, 240, 2, 63, 2, 234, 136, 70, 17, 12, 26, 220,
- 240, 2, 63, 2, 63, 40, 17, 12, 26, 220, 240, 2, 63, 2, 63, 70, 17, 12,
- 26, 248, 160, 2, 121, 2, 106, 210, 40, 17, 12, 26, 248, 160, 2, 234, 136,
- 2, 63, 40, 17, 12, 26, 248, 160, 2, 234, 136, 2, 63, 70, 17, 12, 26, 218,
- 30, 2, 63, 2, 121, 40, 17, 12, 26, 218, 30, 2, 63, 2, 121, 70, 17, 12,
- 26, 218, 30, 2, 63, 2, 63, 70, 17, 12, 26, 218, 30, 2, 63, 2, 73, 40, 17,
- 12, 26, 254, 104, 2, 145, 2, 63, 40, 17, 12, 26, 254, 104, 2, 63, 2, 63,
- 40, 17, 12, 26, 254, 104, 2, 63, 2, 63, 70, 17, 12, 26, 254, 104, 2, 63,
- 2, 106, 210, 40, 17, 12, 26, 242, 221, 2, 63, 2, 63, 40, 17, 12, 26, 242,
- 221, 2, 63, 2, 73, 40, 17, 12, 26, 242, 221, 2, 63, 2, 106, 210, 40, 17,
- 12, 26, 244, 112, 2, 234, 136, 2, 63, 40, 17, 12, 26, 244, 112, 2, 234,
- 136, 2, 63, 70, 17, 12, 26, 224, 226, 2, 63, 2, 121, 40, 17, 12, 26, 224,
- 226, 2, 63, 2, 63, 40, 17, 12, 26, 233, 127, 2, 121, 2, 63, 40, 17, 12,
- 26, 233, 127, 2, 121, 2, 73, 40, 17, 12, 26, 233, 127, 2, 121, 2, 106,
- 210, 40, 17, 12, 26, 233, 127, 2, 145, 2, 145, 70, 17, 12, 26, 233, 127,
- 2, 145, 2, 145, 40, 17, 12, 26, 233, 127, 2, 234, 136, 2, 63, 40, 17, 12,
- 26, 233, 127, 2, 234, 136, 2, 63, 70, 17, 12, 26, 233, 127, 2, 63, 2,
- 121, 40, 17, 12, 26, 233, 127, 2, 63, 2, 121, 70, 17, 12, 26, 63, 2, 121,
- 2, 145, 70, 17, 12, 26, 63, 2, 121, 2, 63, 70, 17, 12, 26, 63, 2, 121, 2,
- 73, 40, 17, 12, 26, 63, 2, 145, 2, 121, 70, 17, 12, 26, 63, 2, 145, 2,
- 63, 70, 17, 12, 26, 63, 2, 234, 136, 2, 145, 70, 17, 12, 26, 63, 2, 234,
- 136, 2, 63, 70, 17, 12, 26, 63, 2, 145, 2, 234, 136, 70, 17, 12, 26, 241,
- 203, 2, 63, 2, 145, 70, 17, 12, 26, 241, 203, 2, 63, 2, 63, 70, 17, 12,
- 26, 228, 174, 2, 121, 2, 63, 70, 17, 12, 26, 228, 174, 2, 121, 2, 106,
- 210, 40, 17, 12, 26, 228, 174, 2, 145, 2, 63, 40, 17, 12, 26, 228, 174,
- 2, 145, 2, 63, 70, 17, 12, 26, 228, 174, 2, 145, 2, 106, 210, 40, 17, 12,
- 26, 228, 174, 2, 63, 2, 73, 40, 17, 12, 26, 228, 174, 2, 63, 2, 106, 210,
- 40, 17, 12, 26, 73, 2, 63, 2, 63, 40, 17, 12, 26, 73, 2, 63, 2, 63, 70,
- 17, 12, 26, 251, 231, 2, 234, 136, 2, 73, 40, 17, 12, 26, 217, 216, 2,
- 145, 2, 73, 40, 17, 12, 26, 217, 216, 2, 145, 2, 106, 210, 40, 17, 12,
- 26, 217, 216, 2, 234, 136, 2, 73, 40, 17, 12, 26, 217, 216, 2, 234, 136,
- 2, 106, 210, 40, 17, 12, 26, 217, 216, 2, 63, 2, 73, 40, 17, 12, 26, 217,
- 216, 2, 63, 2, 106, 210, 40, 17, 12, 26, 145, 2, 63, 2, 73, 40, 17, 12,
- 26, 145, 2, 121, 2, 106, 210, 40, 17, 12, 26, 145, 2, 63, 2, 106, 210,
- 40, 17, 12, 26, 222, 86, 2, 234, 136, 2, 106, 210, 40, 17, 12, 26, 222,
- 196, 2, 121, 2, 73, 40, 17, 12, 26, 220, 240, 2, 121, 2, 73, 40, 17, 12,
- 26, 248, 160, 2, 121, 2, 73, 40, 17, 12, 26, 233, 127, 2, 145, 2, 73, 40,
- 17, 12, 26, 233, 127, 2, 63, 2, 73, 40, 17, 12, 26, 73, 2, 121, 2, 73,
- 40, 17, 12, 26, 73, 2, 145, 2, 73, 40, 17, 12, 26, 73, 2, 63, 2, 73, 40,
- 17, 12, 26, 63, 2, 63, 2, 73, 40, 17, 12, 26, 224, 226, 2, 63, 2, 73, 40,
- 17, 12, 26, 228, 174, 2, 121, 2, 73, 40, 17, 12, 26, 224, 226, 2, 63, 2,
- 121, 70, 17, 12, 26, 233, 127, 2, 121, 2, 63, 70, 17, 12, 26, 254, 104,
- 2, 63, 2, 73, 40, 17, 12, 26, 234, 255, 2, 63, 2, 73, 40, 17, 12, 26,
- 228, 174, 2, 145, 2, 121, 70, 17, 12, 26, 63, 2, 234, 136, 2, 73, 40, 17,
- 12, 26, 233, 127, 2, 145, 2, 63, 70, 17, 12, 26, 234, 255, 2, 63, 2, 63,
- 40, 17, 12, 26, 233, 127, 2, 145, 2, 63, 40, 17, 12, 26, 228, 174, 2,
- 145, 2, 121, 40, 17, 12, 26, 145, 2, 121, 2, 73, 40, 17, 12, 26, 121, 2,
- 145, 2, 73, 40, 17, 12, 26, 63, 2, 145, 2, 73, 40, 17, 12, 26, 244, 112,
- 2, 63, 2, 73, 40, 17, 12, 26, 251, 231, 2, 121, 2, 73, 40, 17, 12, 26,
- 234, 255, 2, 63, 2, 63, 70, 17, 12, 26, 254, 104, 2, 145, 2, 63, 70, 17,
- 12, 26, 222, 196, 2, 63, 2, 63, 70, 17, 12, 26, 222, 86, 2, 234, 136, 2,
- 73, 40, 17, 12, 26, 228, 174, 2, 145, 2, 73, 40, 17, 12, 26, 222, 175,
- 215, 102, 253, 153, 234, 13, 219, 70, 5, 48, 17, 12, 26, 224, 222, 215,
- 102, 253, 153, 234, 13, 219, 70, 5, 48, 17, 12, 26, 254, 62, 48, 17, 12,
- 26, 254, 91, 48, 17, 12, 26, 230, 223, 48, 17, 12, 26, 222, 176, 48, 17,
- 12, 26, 224, 35, 48, 17, 12, 26, 254, 80, 48, 17, 12, 26, 214, 33, 48,
- 17, 12, 26, 222, 175, 48, 17, 12, 26, 222, 174, 254, 80, 214, 32, 12, 26,
- 235, 134, 223, 187, 52, 12, 26, 251, 153, 253, 209, 253, 210, 43, 222,
- 76, 43, 221, 221, 43, 221, 153, 43, 221, 142, 43, 221, 131, 43, 221, 120,
- 43, 221, 109, 43, 221, 98, 43, 221, 87, 43, 222, 75, 43, 222, 64, 43,
- 222, 53, 43, 222, 42, 43, 222, 31, 43, 222, 20, 43, 222, 9, 225, 74, 243,
- 245, 31, 71, 249, 157, 225, 74, 243, 245, 31, 71, 105, 249, 157, 225, 74,
- 243, 245, 31, 71, 105, 243, 200, 219, 69, 225, 74, 243, 245, 31, 71, 249,
- 164, 225, 74, 243, 245, 31, 71, 221, 70, 225, 74, 243, 245, 31, 71, 244,
- 254, 77, 225, 74, 243, 245, 31, 71, 224, 158, 77, 225, 74, 243, 245, 31,
- 71, 42, 67, 233, 44, 125, 225, 74, 243, 245, 31, 71, 46, 67, 233, 44,
- 251, 83, 225, 74, 243, 245, 31, 71, 199, 245, 120, 37, 26, 42, 242, 9,
- 37, 26, 46, 242, 9, 37, 51, 217, 43, 42, 242, 9, 37, 51, 217, 43, 46,
- 242, 9, 37, 232, 38, 42, 242, 9, 37, 232, 38, 46, 242, 9, 37, 249, 137,
- 232, 37, 225, 74, 243, 245, 31, 71, 117, 62, 233, 80, 225, 74, 243, 245,
- 31, 71, 245, 118, 248, 101, 225, 74, 243, 245, 31, 71, 245, 109, 248,
- 101, 225, 74, 243, 245, 31, 71, 115, 232, 242, 225, 74, 243, 245, 31, 71,
- 214, 16, 115, 232, 242, 225, 74, 243, 245, 31, 71, 42, 226, 131, 225, 74,
- 243, 245, 31, 71, 46, 226, 131, 225, 74, 243, 245, 31, 71, 42, 249, 40,
- 125, 225, 74, 243, 245, 31, 71, 46, 249, 40, 125, 225, 74, 243, 245, 31,
- 71, 42, 216, 219, 220, 233, 125, 225, 74, 243, 245, 31, 71, 46, 216, 219,
- 220, 233, 125, 225, 74, 243, 245, 31, 71, 42, 83, 233, 44, 125, 225, 74,
- 243, 245, 31, 71, 46, 83, 233, 44, 125, 225, 74, 243, 245, 31, 71, 42,
- 51, 254, 19, 125, 225, 74, 243, 245, 31, 71, 46, 51, 254, 19, 125, 225,
- 74, 243, 245, 31, 71, 42, 254, 19, 125, 225, 74, 243, 245, 31, 71, 46,
- 254, 19, 125, 225, 74, 243, 245, 31, 71, 42, 249, 100, 125, 225, 74, 243,
- 245, 31, 71, 46, 249, 100, 125, 225, 74, 243, 245, 31, 71, 42, 67, 249,
- 100, 125, 225, 74, 243, 245, 31, 71, 46, 67, 249, 100, 125, 221, 52, 247,
- 74, 67, 221, 52, 247, 74, 225, 74, 243, 245, 31, 71, 42, 41, 125, 225,
- 74, 243, 245, 31, 71, 46, 41, 125, 248, 100, 226, 243, 250, 106, 226,
- 243, 214, 16, 226, 243, 51, 214, 16, 226, 243, 248, 100, 115, 232, 242,
- 250, 106, 115, 232, 242, 214, 16, 115, 232, 242, 3, 249, 157, 3, 105,
- 249, 157, 3, 243, 200, 219, 69, 3, 221, 70, 3, 249, 164, 3, 224, 158, 77,
- 3, 244, 254, 77, 3, 245, 118, 248, 101, 3, 42, 226, 131, 3, 46, 226, 131,
- 3, 42, 249, 40, 125, 3, 46, 249, 40, 125, 3, 42, 216, 219, 220, 233, 125,
- 3, 46, 216, 219, 220, 233, 125, 3, 50, 52, 3, 254, 35, 3, 253, 132, 3,
- 94, 52, 3, 240, 159, 3, 233, 39, 52, 3, 242, 107, 52, 3, 245, 61, 52, 3,
- 223, 203, 219, 231, 3, 247, 86, 52, 3, 226, 57, 52, 3, 249, 156, 253,
- 122, 12, 244, 132, 48, 17, 12, 217, 251, 2, 244, 132, 49, 12, 248, 128,
- 48, 17, 12, 218, 28, 243, 227, 12, 234, 209, 48, 17, 12, 244, 134, 48,
- 17, 12, 244, 134, 138, 17, 12, 248, 130, 48, 17, 12, 248, 130, 138, 17,
- 12, 234, 211, 48, 17, 12, 234, 211, 138, 17, 12, 221, 16, 48, 17, 12,
- 221, 16, 138, 17, 12, 218, 247, 48, 17, 12, 218, 247, 138, 17, 12, 1,
- 192, 48, 17, 12, 1, 106, 2, 232, 33, 78, 48, 17, 12, 1, 106, 2, 232, 33,
- 78, 40, 17, 12, 1, 106, 2, 192, 78, 48, 17, 12, 1, 106, 2, 192, 78, 40,
- 17, 12, 1, 214, 15, 2, 192, 78, 48, 17, 12, 1, 214, 15, 2, 192, 78, 40,
- 17, 12, 1, 106, 2, 192, 251, 220, 48, 17, 12, 1, 106, 2, 192, 251, 220,
- 40, 17, 12, 1, 73, 2, 192, 78, 48, 17, 12, 1, 73, 2, 192, 78, 40, 17, 12,
- 1, 73, 2, 192, 78, 70, 17, 12, 1, 73, 2, 192, 78, 138, 17, 12, 1, 106,
- 48, 17, 12, 1, 106, 40, 17, 12, 1, 251, 231, 48, 17, 12, 1, 251, 231, 40,
- 17, 12, 1, 251, 231, 70, 17, 12, 1, 251, 231, 138, 17, 12, 1, 217, 216,
- 231, 228, 48, 17, 12, 1, 217, 216, 231, 228, 40, 17, 12, 1, 217, 216, 48,
- 17, 12, 1, 217, 216, 40, 17, 12, 1, 217, 216, 70, 17, 12, 1, 217, 216,
- 138, 17, 12, 1, 217, 146, 48, 17, 12, 1, 217, 146, 40, 17, 12, 1, 217,
- 146, 70, 17, 12, 1, 217, 146, 138, 17, 12, 1, 145, 48, 17, 12, 1, 145,
- 40, 17, 12, 1, 145, 70, 17, 12, 1, 145, 138, 17, 12, 1, 121, 48, 17, 12,
- 1, 121, 40, 17, 12, 1, 121, 70, 17, 12, 1, 121, 138, 17, 12, 1, 234, 136,
- 48, 17, 12, 1, 234, 136, 40, 17, 12, 1, 234, 136, 70, 17, 12, 1, 234,
- 136, 138, 17, 12, 1, 248, 141, 48, 17, 12, 1, 248, 141, 40, 17, 12, 1,
- 217, 156, 48, 17, 12, 1, 217, 156, 40, 17, 12, 1, 223, 246, 48, 17, 12,
- 1, 223, 246, 40, 17, 12, 1, 212, 102, 48, 17, 12, 1, 212, 102, 40, 17,
- 12, 1, 222, 86, 48, 17, 12, 1, 222, 86, 40, 17, 12, 1, 222, 86, 70, 17,
- 12, 1, 222, 86, 138, 17, 12, 1, 220, 240, 48, 17, 12, 1, 220, 240, 40,
- 17, 12, 1, 220, 240, 70, 17, 12, 1, 220, 240, 138, 17, 12, 1, 222, 196,
- 48, 17, 12, 1, 222, 196, 40, 17, 12, 1, 222, 196, 70, 17, 12, 1, 222,
- 196, 138, 17, 12, 1, 248, 160, 48, 17, 12, 1, 248, 160, 40, 17, 12, 1,
- 248, 160, 70, 17, 12, 1, 248, 160, 138, 17, 12, 1, 218, 30, 48, 17, 12,
- 1, 218, 30, 40, 17, 12, 1, 218, 30, 70, 17, 12, 1, 218, 30, 138, 17, 12,
- 1, 212, 105, 48, 17, 12, 1, 212, 105, 40, 17, 12, 1, 212, 105, 70, 17,
- 12, 1, 212, 105, 138, 17, 12, 1, 254, 104, 48, 17, 12, 1, 254, 104, 40,
- 17, 12, 1, 254, 104, 70, 17, 12, 1, 254, 104, 138, 17, 12, 1, 242, 221,
- 48, 17, 12, 1, 242, 221, 40, 17, 12, 1, 242, 221, 70, 17, 12, 1, 242,
- 221, 138, 17, 12, 1, 244, 112, 48, 17, 12, 1, 244, 112, 40, 17, 12, 1,
- 244, 112, 70, 17, 12, 1, 244, 112, 138, 17, 12, 1, 224, 226, 48, 17, 12,
- 1, 224, 226, 40, 17, 12, 1, 224, 226, 70, 17, 12, 1, 224, 226, 138, 17,
- 12, 1, 234, 255, 48, 17, 12, 1, 234, 255, 40, 17, 12, 1, 234, 255, 70,
- 17, 12, 1, 234, 255, 138, 17, 12, 1, 233, 127, 48, 17, 12, 1, 233, 127,
- 40, 17, 12, 1, 233, 127, 70, 17, 12, 1, 233, 127, 138, 17, 12, 1, 63, 48,
- 17, 12, 1, 63, 40, 17, 12, 1, 63, 70, 17, 12, 1, 63, 138, 17, 12, 1, 228,
- 174, 48, 17, 12, 1, 228, 174, 40, 17, 12, 1, 228, 174, 70, 17, 12, 1,
- 228, 174, 138, 17, 12, 1, 241, 203, 48, 17, 12, 1, 241, 203, 40, 17, 12,
- 1, 241, 203, 70, 17, 12, 1, 241, 203, 138, 17, 12, 1, 214, 15, 48, 17,
- 12, 1, 214, 15, 40, 17, 12, 1, 106, 210, 48, 17, 12, 1, 106, 210, 40, 17,
- 12, 1, 73, 48, 17, 12, 1, 73, 40, 17, 12, 1, 73, 70, 17, 12, 1, 73, 138,
- 17, 12, 26, 233, 127, 2, 106, 2, 232, 33, 78, 48, 17, 12, 26, 233, 127,
- 2, 106, 2, 232, 33, 78, 40, 17, 12, 26, 233, 127, 2, 106, 2, 192, 78, 48,
- 17, 12, 26, 233, 127, 2, 106, 2, 192, 78, 40, 17, 12, 26, 233, 127, 2,
- 106, 2, 192, 251, 220, 48, 17, 12, 26, 233, 127, 2, 106, 2, 192, 251,
- 220, 40, 17, 12, 26, 233, 127, 2, 106, 48, 17, 12, 26, 233, 127, 2, 106,
- 40, 17, 212, 80, 213, 230, 228, 184, 219, 206, 120, 244, 254, 77, 120,
- 224, 143, 77, 120, 50, 52, 120, 247, 86, 52, 120, 226, 57, 52, 120, 254,
- 35, 120, 253, 226, 120, 42, 226, 131, 120, 46, 226, 131, 120, 253, 132,
- 120, 94, 52, 120, 249, 157, 120, 240, 159, 120, 243, 200, 219, 69, 120,
- 219, 231, 120, 21, 212, 79, 120, 21, 116, 120, 21, 109, 120, 21, 166,
- 120, 21, 163, 120, 21, 180, 120, 21, 189, 120, 21, 198, 120, 21, 195,
- 120, 21, 200, 120, 249, 164, 120, 221, 70, 120, 233, 39, 52, 120, 245,
- 61, 52, 120, 242, 107, 52, 120, 224, 158, 77, 120, 249, 156, 253, 122,
- 120, 7, 6, 1, 61, 120, 7, 6, 1, 253, 74, 120, 7, 6, 1, 250, 252, 120, 7,
- 6, 1, 249, 3, 120, 7, 6, 1, 74, 120, 7, 6, 1, 244, 230, 120, 7, 6, 1,
- 243, 177, 120, 7, 6, 1, 242, 41, 120, 7, 6, 1, 72, 120, 7, 6, 1, 235,
- 142, 120, 7, 6, 1, 235, 27, 120, 7, 6, 1, 150, 120, 7, 6, 1, 183, 120, 7,
- 6, 1, 204, 120, 7, 6, 1, 75, 120, 7, 6, 1, 226, 229, 120, 7, 6, 1, 224,
- 240, 120, 7, 6, 1, 149, 120, 7, 6, 1, 197, 120, 7, 6, 1, 218, 99, 120, 7,
- 6, 1, 69, 120, 7, 6, 1, 215, 79, 120, 7, 6, 1, 214, 82, 120, 7, 6, 1,
- 213, 166, 120, 7, 6, 1, 213, 105, 120, 7, 6, 1, 212, 152, 120, 42, 41,
- 125, 120, 223, 203, 219, 231, 120, 46, 41, 125, 120, 249, 224, 254, 174,
- 120, 115, 232, 242, 120, 242, 114, 254, 174, 120, 7, 3, 1, 61, 120, 7, 3,
- 1, 253, 74, 120, 7, 3, 1, 250, 252, 120, 7, 3, 1, 249, 3, 120, 7, 3, 1,
- 74, 120, 7, 3, 1, 244, 230, 120, 7, 3, 1, 243, 177, 120, 7, 3, 1, 242,
- 41, 120, 7, 3, 1, 72, 120, 7, 3, 1, 235, 142, 120, 7, 3, 1, 235, 27, 120,
- 7, 3, 1, 150, 120, 7, 3, 1, 183, 120, 7, 3, 1, 204, 120, 7, 3, 1, 75,
- 120, 7, 3, 1, 226, 229, 120, 7, 3, 1, 224, 240, 120, 7, 3, 1, 149, 120,
- 7, 3, 1, 197, 120, 7, 3, 1, 218, 99, 120, 7, 3, 1, 69, 120, 7, 3, 1, 215,
- 79, 120, 7, 3, 1, 214, 82, 120, 7, 3, 1, 213, 166, 120, 7, 3, 1, 213,
- 105, 120, 7, 3, 1, 212, 152, 120, 42, 249, 40, 125, 120, 71, 232, 242,
- 120, 46, 249, 40, 125, 120, 217, 42, 120, 42, 67, 226, 131, 120, 46, 67,
- 226, 131, 98, 105, 243, 200, 219, 69, 98, 42, 249, 100, 125, 98, 46, 249,
- 100, 125, 98, 105, 249, 157, 98, 56, 231, 37, 247, 74, 98, 56, 1, 213,
- 214, 98, 56, 1, 3, 61, 98, 56, 1, 3, 72, 98, 56, 1, 3, 69, 98, 56, 1, 3,
- 74, 98, 56, 1, 3, 75, 98, 56, 1, 3, 186, 98, 56, 1, 3, 212, 203, 98, 56,
- 1, 3, 212, 235, 98, 56, 1, 3, 216, 82, 98, 234, 206, 225, 57, 219, 218,
- 77, 98, 56, 1, 61, 98, 56, 1, 72, 98, 56, 1, 69, 98, 56, 1, 74, 98, 56,
- 1, 75, 98, 56, 1, 181, 98, 56, 1, 234, 101, 98, 56, 1, 233, 238, 98, 56,
- 1, 234, 188, 98, 56, 1, 234, 37, 98, 56, 1, 222, 202, 98, 56, 1, 220,
- 117, 98, 56, 1, 219, 27, 98, 56, 1, 222, 100, 98, 56, 1, 219, 242, 98,
- 56, 1, 218, 52, 98, 56, 1, 217, 71, 98, 56, 1, 216, 82, 98, 56, 1, 217,
- 229, 98, 56, 1, 108, 98, 56, 1, 205, 98, 56, 1, 229, 64, 98, 56, 1, 228,
- 92, 98, 56, 1, 229, 187, 98, 56, 1, 228, 185, 98, 56, 1, 159, 98, 56, 1,
- 241, 165, 98, 56, 1, 240, 212, 98, 56, 1, 241, 222, 98, 56, 1, 241, 54,
- 98, 56, 1, 188, 98, 56, 1, 231, 42, 98, 56, 1, 230, 172, 98, 56, 1, 231,
- 156, 98, 56, 1, 230, 231, 98, 56, 1, 186, 98, 56, 1, 212, 203, 98, 56, 1,
- 212, 235, 98, 56, 1, 203, 98, 56, 1, 223, 188, 98, 56, 1, 223, 51, 98,
- 56, 1, 224, 21, 98, 56, 1, 223, 112, 98, 56, 1, 214, 49, 98, 56, 1, 204,
- 98, 56, 214, 116, 219, 218, 77, 98, 56, 221, 75, 219, 218, 77, 98, 23,
- 244, 72, 98, 23, 1, 234, 67, 98, 23, 1, 219, 150, 98, 23, 1, 234, 60, 98,
- 23, 1, 229, 57, 98, 23, 1, 229, 55, 98, 23, 1, 229, 54, 98, 23, 1, 217,
- 55, 98, 23, 1, 219, 139, 98, 23, 1, 223, 179, 98, 23, 1, 223, 174, 98,
- 23, 1, 223, 171, 98, 23, 1, 223, 164, 98, 23, 1, 223, 159, 98, 23, 1,
- 223, 154, 98, 23, 1, 223, 165, 98, 23, 1, 223, 177, 98, 23, 1, 231, 30,
- 98, 23, 1, 225, 227, 98, 23, 1, 219, 147, 98, 23, 1, 225, 216, 98, 23, 1,
- 220, 76, 98, 23, 1, 219, 144, 98, 23, 1, 236, 51, 98, 23, 1, 249, 239,
- 98, 23, 1, 219, 154, 98, 23, 1, 250, 43, 98, 23, 1, 234, 116, 98, 23, 1,
- 217, 126, 98, 23, 1, 226, 7, 98, 23, 1, 241, 158, 98, 23, 1, 61, 98, 23,
- 1, 254, 148, 98, 23, 1, 186, 98, 23, 1, 213, 80, 98, 23, 1, 245, 76, 98,
- 23, 1, 74, 98, 23, 1, 213, 27, 98, 23, 1, 213, 38, 98, 23, 1, 75, 98, 23,
- 1, 214, 49, 98, 23, 1, 214, 46, 98, 23, 1, 227, 99, 98, 23, 1, 212, 235,
- 98, 23, 1, 69, 98, 23, 1, 213, 252, 98, 23, 1, 214, 6, 98, 23, 1, 213,
- 235, 98, 23, 1, 212, 203, 98, 23, 1, 245, 22, 98, 23, 1, 212, 255, 98,
- 23, 1, 72, 120, 250, 110, 52, 120, 225, 108, 52, 120, 228, 163, 52, 120,
- 232, 37, 120, 251, 63, 134, 120, 213, 31, 52, 120, 213, 204, 52, 98, 243,
- 243, 177, 214, 216, 98, 132, 68, 98, 215, 124, 68, 98, 95, 68, 98, 246,
- 58, 68, 98, 83, 219, 166, 98, 67, 249, 228, 235, 201, 254, 10, 254, 29,
- 235, 201, 254, 10, 221, 57, 235, 201, 254, 10, 217, 189, 227, 113, 223,
- 224, 250, 78, 223, 224, 250, 78, 58, 54, 4, 253, 58, 61, 58, 54, 4, 253,
- 27, 74, 58, 54, 4, 253, 36, 72, 58, 54, 4, 253, 4, 75, 58, 54, 4, 253,
- 54, 69, 58, 54, 4, 253, 73, 248, 164, 58, 54, 4, 253, 20, 248, 41, 58,
- 54, 4, 253, 60, 247, 211, 58, 54, 4, 253, 50, 247, 99, 58, 54, 4, 253,
- 14, 246, 33, 58, 54, 4, 253, 8, 235, 139, 58, 54, 4, 253, 19, 235, 127,
- 58, 54, 4, 253, 29, 235, 71, 58, 54, 4, 253, 0, 235, 54, 58, 54, 4, 252,
- 244, 181, 58, 54, 4, 253, 21, 234, 188, 58, 54, 4, 252, 254, 234, 101,
- 58, 54, 4, 252, 251, 234, 37, 58, 54, 4, 252, 240, 233, 238, 58, 54, 4,
- 252, 241, 188, 58, 54, 4, 253, 51, 231, 156, 58, 54, 4, 252, 248, 231,
- 42, 58, 54, 4, 253, 49, 230, 231, 58, 54, 4, 253, 41, 230, 172, 58, 54,
- 4, 253, 62, 205, 58, 54, 4, 253, 40, 229, 187, 58, 54, 4, 253, 34, 229,
- 64, 58, 54, 4, 253, 13, 228, 185, 58, 54, 4, 253, 10, 228, 92, 58, 54, 4,
- 253, 69, 193, 58, 54, 4, 252, 249, 226, 96, 58, 54, 4, 253, 26, 225, 240,
- 58, 54, 4, 253, 53, 225, 150, 58, 54, 4, 253, 15, 225, 35, 58, 54, 4,
- 253, 48, 224, 232, 58, 54, 4, 252, 243, 224, 213, 58, 54, 4, 253, 43,
- 224, 198, 58, 54, 4, 253, 32, 224, 187, 58, 54, 4, 253, 5, 203, 58, 54,
- 4, 253, 37, 224, 21, 58, 54, 4, 253, 12, 223, 188, 58, 54, 4, 253, 71,
- 223, 112, 58, 54, 4, 253, 38, 223, 51, 58, 54, 4, 253, 33, 222, 202, 58,
- 54, 4, 253, 56, 222, 100, 58, 54, 4, 253, 24, 220, 117, 58, 54, 4, 253,
- 52, 219, 242, 58, 54, 4, 253, 7, 219, 27, 58, 54, 4, 253, 6, 218, 52, 58,
- 54, 4, 253, 67, 217, 229, 58, 54, 4, 253, 28, 217, 71, 58, 54, 4, 253,
- 65, 108, 58, 54, 4, 252, 252, 216, 82, 58, 54, 4, 253, 11, 214, 49, 58,
- 54, 4, 252, 246, 214, 6, 58, 54, 4, 253, 25, 213, 235, 58, 54, 4, 253,
- 23, 213, 214, 58, 54, 4, 253, 47, 212, 109, 58, 54, 4, 252, 247, 212, 87,
- 58, 54, 4, 253, 44, 212, 16, 58, 54, 4, 253, 39, 254, 234, 58, 54, 4,
- 253, 22, 254, 233, 58, 54, 4, 252, 237, 253, 108, 58, 54, 4, 252, 250,
- 246, 1, 58, 54, 4, 252, 233, 246, 0, 58, 54, 4, 253, 17, 228, 31, 58, 54,
- 4, 253, 35, 225, 34, 58, 54, 4, 253, 3, 225, 37, 58, 54, 4, 252, 245,
- 224, 76, 58, 54, 4, 253, 31, 224, 75, 58, 54, 4, 252, 253, 223, 111, 58,
- 54, 4, 252, 255, 218, 50, 58, 54, 4, 252, 235, 216, 43, 58, 54, 4, 252,
- 232, 109, 58, 54, 16, 253, 46, 58, 54, 16, 253, 45, 58, 54, 16, 253, 42,
- 58, 54, 16, 253, 30, 58, 54, 16, 253, 18, 58, 54, 16, 253, 16, 58, 54,
- 16, 253, 9, 58, 54, 16, 253, 2, 58, 54, 16, 253, 1, 58, 54, 16, 252, 242,
- 58, 54, 16, 252, 239, 58, 54, 16, 252, 238, 58, 54, 16, 252, 236, 58, 54,
- 16, 252, 234, 58, 54, 102, 252, 231, 231, 248, 58, 54, 102, 252, 230,
- 213, 208, 58, 54, 102, 252, 229, 248, 25, 58, 54, 102, 252, 228, 245, 58,
- 58, 54, 102, 252, 227, 231, 222, 58, 54, 102, 252, 226, 219, 101, 58, 54,
- 102, 252, 225, 245, 4, 58, 54, 102, 252, 224, 224, 45, 58, 54, 102, 252,
- 223, 220, 242, 58, 54, 102, 252, 222, 241, 221, 58, 54, 102, 252, 221,
- 219, 212, 58, 54, 102, 252, 220, 251, 126, 58, 54, 102, 252, 219, 249,
- 84, 58, 54, 102, 252, 218, 251, 44, 58, 54, 102, 252, 217, 213, 243, 58,
- 54, 102, 252, 216, 252, 56, 58, 54, 102, 252, 215, 227, 71, 58, 54, 102,
- 252, 214, 219, 186, 58, 54, 102, 252, 213, 249, 11, 58, 54, 230, 212,
- 252, 212, 234, 229, 58, 54, 230, 212, 252, 211, 234, 237, 58, 54, 102,
- 252, 210, 227, 84, 58, 54, 102, 252, 209, 213, 221, 58, 54, 102, 252,
- 208, 58, 54, 230, 212, 252, 207, 253, 188, 58, 54, 230, 212, 252, 206,
- 231, 116, 58, 54, 102, 252, 205, 251, 62, 58, 54, 102, 252, 204, 242,
- 142, 58, 54, 102, 252, 203, 58, 54, 102, 252, 202, 213, 199, 58, 54, 102,
- 252, 201, 58, 54, 102, 252, 200, 58, 54, 102, 252, 199, 240, 235, 58, 54,
- 102, 252, 198, 58, 54, 102, 252, 197, 58, 54, 102, 252, 196, 58, 54, 230,
- 212, 252, 194, 216, 56, 58, 54, 102, 252, 193, 58, 54, 102, 252, 192, 58,
- 54, 102, 252, 191, 249, 187, 58, 54, 102, 252, 190, 58, 54, 102, 252,
- 189, 58, 54, 102, 252, 188, 243, 69, 58, 54, 102, 252, 187, 253, 175, 58,
- 54, 102, 252, 186, 58, 54, 102, 252, 185, 58, 54, 102, 252, 184, 58, 54,
- 102, 252, 183, 58, 54, 102, 252, 182, 58, 54, 102, 252, 181, 58, 54, 102,
- 252, 180, 58, 54, 102, 252, 179, 58, 54, 102, 252, 178, 58, 54, 102, 252,
- 177, 230, 204, 58, 54, 102, 252, 176, 58, 54, 102, 252, 175, 216, 193,
- 58, 54, 102, 252, 174, 58, 54, 102, 252, 173, 58, 54, 102, 252, 172, 58,
- 54, 102, 252, 171, 58, 54, 102, 252, 170, 58, 54, 102, 252, 169, 58, 54,
- 102, 252, 168, 58, 54, 102, 252, 167, 58, 54, 102, 252, 166, 58, 54, 102,
- 252, 165, 58, 54, 102, 252, 164, 58, 54, 102, 252, 163, 241, 195, 58, 54,
- 102, 252, 142, 243, 253, 58, 54, 102, 252, 139, 252, 36, 58, 54, 102,
- 252, 134, 219, 193, 58, 54, 102, 252, 133, 68, 58, 54, 102, 252, 132, 58,
- 54, 102, 252, 131, 218, 181, 58, 54, 102, 252, 130, 58, 54, 102, 252,
- 129, 58, 54, 102, 252, 128, 213, 239, 250, 75, 58, 54, 102, 252, 127,
- 250, 75, 58, 54, 102, 252, 126, 250, 76, 243, 225, 58, 54, 102, 252, 125,
- 213, 241, 58, 54, 102, 252, 124, 58, 54, 102, 252, 123, 58, 54, 230, 212,
- 252, 122, 247, 150, 58, 54, 102, 252, 121, 58, 54, 102, 252, 120, 58, 54,
- 102, 252, 118, 58, 54, 102, 252, 117, 58, 54, 102, 252, 116, 58, 54, 102,
- 252, 115, 248, 104, 58, 54, 102, 252, 114, 58, 54, 102, 252, 113, 58, 54,
- 102, 252, 112, 58, 54, 102, 252, 111, 58, 54, 102, 252, 110, 58, 54, 102,
- 214, 163, 252, 195, 58, 54, 102, 214, 163, 252, 162, 58, 54, 102, 214,
- 163, 252, 161, 58, 54, 102, 214, 163, 252, 160, 58, 54, 102, 214, 163,
- 252, 159, 58, 54, 102, 214, 163, 252, 158, 58, 54, 102, 214, 163, 252,
- 157, 58, 54, 102, 214, 163, 252, 156, 58, 54, 102, 214, 163, 252, 155,
- 58, 54, 102, 214, 163, 252, 154, 58, 54, 102, 214, 163, 252, 153, 58, 54,
- 102, 214, 163, 252, 152, 58, 54, 102, 214, 163, 252, 151, 58, 54, 102,
- 214, 163, 252, 150, 58, 54, 102, 214, 163, 252, 149, 58, 54, 102, 214,
- 163, 252, 148, 58, 54, 102, 214, 163, 252, 147, 58, 54, 102, 214, 163,
- 252, 146, 58, 54, 102, 214, 163, 252, 145, 58, 54, 102, 214, 163, 252,
- 144, 58, 54, 102, 214, 163, 252, 143, 58, 54, 102, 214, 163, 252, 141,
- 58, 54, 102, 214, 163, 252, 140, 58, 54, 102, 214, 163, 252, 138, 58, 54,
- 102, 214, 163, 252, 137, 58, 54, 102, 214, 163, 252, 136, 58, 54, 102,
- 214, 163, 252, 135, 58, 54, 102, 214, 163, 252, 119, 58, 54, 102, 214,
- 163, 252, 109, 254, 141, 213, 196, 221, 58, 232, 242, 254, 141, 213, 196,
- 221, 58, 247, 74, 254, 141, 250, 66, 77, 254, 141, 50, 116, 254, 141, 50,
- 109, 254, 141, 50, 166, 254, 141, 50, 163, 254, 141, 50, 180, 254, 141,
- 50, 189, 254, 141, 50, 198, 254, 141, 50, 195, 254, 141, 50, 200, 254,
- 141, 50, 217, 200, 254, 141, 50, 216, 38, 254, 141, 50, 217, 115, 254,
- 141, 50, 243, 240, 254, 141, 50, 244, 83, 254, 141, 50, 220, 39, 254,
- 141, 50, 221, 37, 254, 141, 50, 245, 141, 254, 141, 50, 229, 26, 254,
- 141, 50, 122, 240, 200, 254, 141, 50, 117, 240, 200, 254, 141, 50, 133,
- 240, 200, 254, 141, 50, 243, 237, 240, 200, 254, 141, 50, 244, 50, 240,
- 200, 254, 141, 50, 220, 53, 240, 200, 254, 141, 50, 221, 43, 240, 200,
- 254, 141, 50, 245, 150, 240, 200, 254, 141, 50, 229, 31, 240, 200, 254,
- 141, 50, 122, 217, 100, 254, 141, 50, 117, 217, 100, 254, 141, 50, 133,
- 217, 100, 254, 141, 50, 243, 237, 217, 100, 254, 141, 50, 244, 50, 217,
- 100, 254, 141, 50, 220, 53, 217, 100, 254, 141, 50, 221, 43, 217, 100,
- 254, 141, 50, 245, 150, 217, 100, 254, 141, 50, 229, 31, 217, 100, 254,
- 141, 50, 217, 201, 217, 100, 254, 141, 50, 216, 39, 217, 100, 254, 141,
- 50, 217, 116, 217, 100, 254, 141, 50, 243, 241, 217, 100, 254, 141, 50,
- 244, 84, 217, 100, 254, 141, 50, 220, 40, 217, 100, 254, 141, 50, 221,
- 38, 217, 100, 254, 141, 50, 245, 142, 217, 100, 254, 141, 50, 229, 27,
- 217, 100, 254, 141, 213, 255, 252, 48, 215, 144, 254, 141, 213, 255, 244,
- 61, 219, 4, 254, 141, 213, 255, 222, 95, 219, 4, 254, 141, 213, 255, 217,
- 122, 219, 4, 254, 141, 213, 255, 243, 230, 219, 4, 254, 141, 246, 36,
- 231, 155, 244, 61, 219, 4, 254, 141, 232, 228, 231, 155, 244, 61, 219, 4,
- 254, 141, 231, 155, 222, 95, 219, 4, 254, 141, 231, 155, 217, 122, 219,
- 4, 25, 254, 167, 253, 110, 122, 224, 166, 25, 254, 167, 253, 110, 122,
- 242, 9, 25, 254, 167, 253, 110, 122, 246, 54, 25, 254, 167, 253, 110,
- 180, 25, 254, 167, 253, 110, 244, 83, 25, 254, 167, 253, 110, 244, 50,
- 240, 200, 25, 254, 167, 253, 110, 244, 50, 217, 100, 25, 254, 167, 253,
- 110, 244, 84, 217, 100, 25, 254, 167, 253, 110, 244, 50, 218, 18, 25,
- 254, 167, 253, 110, 217, 201, 218, 18, 25, 254, 167, 253, 110, 244, 84,
- 218, 18, 25, 254, 167, 253, 110, 122, 240, 201, 218, 18, 25, 254, 167,
- 253, 110, 244, 50, 240, 201, 218, 18, 25, 254, 167, 253, 110, 122, 217,
- 101, 218, 18, 25, 254, 167, 253, 110, 244, 50, 217, 101, 218, 18, 25,
- 254, 167, 253, 110, 244, 50, 219, 90, 25, 254, 167, 253, 110, 217, 201,
- 219, 90, 25, 254, 167, 253, 110, 244, 84, 219, 90, 25, 254, 167, 253,
- 110, 122, 240, 201, 219, 90, 25, 254, 167, 253, 110, 244, 50, 240, 201,
- 219, 90, 25, 254, 167, 253, 110, 122, 217, 101, 219, 90, 25, 254, 167,
- 253, 110, 217, 201, 217, 101, 219, 90, 25, 254, 167, 253, 110, 244, 84,
- 217, 101, 219, 90, 25, 254, 167, 253, 110, 217, 201, 230, 234, 25, 254,
- 167, 241, 189, 122, 225, 164, 25, 254, 167, 217, 134, 116, 25, 254, 167,
- 241, 186, 116, 25, 254, 167, 245, 67, 109, 25, 254, 167, 217, 134, 109,
- 25, 254, 167, 249, 8, 117, 246, 53, 25, 254, 167, 245, 67, 117, 246, 53,
- 25, 254, 167, 216, 161, 180, 25, 254, 167, 216, 161, 217, 200, 25, 254,
- 167, 216, 161, 217, 201, 254, 50, 17, 25, 254, 167, 241, 186, 217, 200,
- 25, 254, 167, 231, 108, 217, 200, 25, 254, 167, 217, 134, 217, 200, 25,
- 254, 167, 217, 134, 217, 115, 25, 254, 167, 216, 161, 244, 83, 25, 254,
- 167, 216, 161, 244, 84, 254, 50, 17, 25, 254, 167, 241, 186, 244, 83, 25,
- 254, 167, 217, 134, 244, 83, 25, 254, 167, 217, 134, 122, 240, 200, 25,
- 254, 167, 217, 134, 133, 240, 200, 25, 254, 167, 245, 67, 244, 50, 240,
- 200, 25, 254, 167, 216, 161, 244, 50, 240, 200, 25, 254, 167, 217, 134,
- 244, 50, 240, 200, 25, 254, 167, 250, 159, 244, 50, 240, 200, 25, 254,
- 167, 230, 4, 244, 50, 240, 200, 25, 254, 167, 217, 134, 122, 217, 100,
- 25, 254, 167, 217, 134, 244, 50, 217, 100, 25, 254, 167, 248, 8, 244, 50,
- 230, 234, 25, 254, 167, 219, 58, 244, 84, 230, 234, 25, 122, 151, 52, 25,
- 122, 151, 5, 254, 50, 17, 25, 117, 217, 120, 52, 25, 133, 224, 165, 52,
- 25, 213, 36, 52, 25, 218, 19, 52, 25, 246, 55, 52, 25, 227, 110, 52, 25,
- 117, 227, 109, 52, 25, 133, 227, 109, 52, 25, 243, 237, 227, 109, 52, 25,
- 244, 50, 227, 109, 52, 25, 231, 102, 52, 25, 233, 179, 252, 48, 52, 25,
- 232, 223, 52, 25, 226, 255, 52, 25, 213, 147, 52, 25, 253, 158, 52, 25,
- 253, 171, 52, 25, 242, 120, 52, 25, 216, 144, 252, 48, 52, 25, 212, 80,
- 52, 223, 100, 221, 34, 52, 223, 100, 215, 155, 52, 223, 100, 221, 62, 52,
- 223, 100, 221, 32, 52, 223, 100, 247, 165, 221, 32, 52, 223, 100, 220,
- 94, 52, 223, 100, 248, 4, 52, 223, 100, 224, 151, 52, 223, 100, 221, 50,
- 52, 223, 100, 246, 15, 52, 223, 100, 253, 153, 52, 223, 100, 250, 105,
- 52, 226, 19, 247, 143, 5, 226, 88, 226, 19, 247, 143, 5, 225, 158, 241,
- 219, 226, 19, 247, 143, 5, 217, 252, 241, 219, 226, 19, 247, 143, 5, 250,
- 179, 226, 19, 247, 143, 5, 250, 38, 226, 19, 247, 143, 5, 213, 208, 226,
- 19, 247, 143, 5, 241, 195, 226, 19, 247, 143, 5, 243, 61, 226, 19, 247,
- 143, 5, 217, 70, 226, 19, 247, 143, 5, 68, 226, 19, 247, 143, 5, 251, 95,
- 226, 19, 247, 143, 5, 220, 209, 226, 19, 247, 143, 5, 249, 181, 226, 19,
- 247, 143, 5, 231, 247, 226, 19, 247, 143, 5, 231, 199, 226, 19, 247, 143,
- 5, 222, 134, 226, 19, 247, 143, 5, 233, 9, 226, 19, 247, 143, 5, 251,
- 113, 226, 19, 247, 143, 5, 250, 163, 225, 167, 226, 19, 247, 143, 5, 247,
- 87, 226, 19, 247, 143, 5, 249, 161, 226, 19, 247, 143, 5, 220, 15, 226,
- 19, 247, 143, 5, 249, 162, 226, 19, 247, 143, 5, 251, 239, 226, 19, 247,
- 143, 5, 220, 196, 226, 19, 247, 143, 5, 240, 235, 226, 19, 247, 143, 5,
- 241, 163, 226, 19, 247, 143, 5, 251, 41, 233, 60, 226, 19, 247, 143, 5,
- 250, 156, 226, 19, 247, 143, 5, 224, 45, 226, 19, 247, 143, 5, 245, 186,
- 226, 19, 247, 143, 5, 246, 61, 226, 19, 247, 143, 5, 216, 69, 226, 19,
- 247, 143, 5, 251, 242, 226, 19, 247, 143, 5, 225, 168, 216, 193, 226, 19,
- 247, 143, 5, 214, 140, 226, 19, 247, 143, 5, 226, 146, 226, 19, 247, 143,
- 5, 223, 92, 226, 19, 247, 143, 5, 232, 252, 226, 19, 247, 143, 5, 226,
- 239, 252, 101, 226, 19, 247, 143, 5, 244, 17, 226, 19, 247, 143, 5, 242,
- 115, 226, 19, 247, 143, 5, 219, 59, 226, 19, 247, 143, 5, 3, 253, 84,
- 226, 19, 247, 143, 5, 214, 16, 252, 67, 226, 19, 247, 143, 5, 37, 227,
- 112, 90, 232, 120, 1, 61, 232, 120, 1, 74, 232, 120, 1, 253, 74, 232,
- 120, 1, 251, 196, 232, 120, 1, 243, 177, 232, 120, 1, 249, 3, 232, 120,
- 1, 72, 232, 120, 1, 214, 82, 232, 120, 1, 212, 152, 232, 120, 1, 217,
- 163, 232, 120, 1, 235, 142, 232, 120, 1, 235, 27, 232, 120, 1, 224, 240,
- 232, 120, 1, 150, 232, 120, 1, 183, 232, 120, 1, 204, 232, 120, 1, 230,
- 235, 232, 120, 1, 228, 199, 232, 120, 1, 69, 232, 120, 1, 226, 229, 232,
- 120, 1, 234, 56, 232, 120, 1, 149, 232, 120, 1, 197, 232, 120, 1, 218,
- 99, 232, 120, 1, 216, 118, 232, 120, 1, 254, 32, 232, 120, 1, 245, 108,
- 232, 120, 1, 242, 41, 232, 120, 1, 213, 166, 250, 169, 1, 61, 250, 169,
- 1, 226, 215, 250, 169, 1, 249, 3, 250, 169, 1, 150, 250, 169, 1, 215, 90,
- 250, 169, 1, 149, 250, 169, 1, 233, 86, 250, 169, 1, 254, 234, 250, 169,
- 1, 224, 240, 250, 169, 1, 253, 74, 250, 169, 1, 183, 250, 169, 1, 75,
- 250, 169, 1, 248, 166, 250, 169, 1, 218, 99, 250, 169, 1, 221, 26, 250,
- 169, 1, 221, 25, 250, 169, 1, 197, 250, 169, 1, 250, 251, 250, 169, 1,
- 69, 250, 169, 1, 228, 199, 250, 169, 1, 213, 166, 250, 169, 1, 204, 250,
- 169, 1, 216, 117, 250, 169, 1, 226, 229, 250, 169, 1, 219, 158, 250, 169,
- 1, 72, 250, 169, 1, 74, 250, 169, 1, 215, 87, 250, 169, 1, 235, 27, 250,
- 169, 1, 235, 18, 250, 169, 1, 229, 230, 250, 169, 1, 215, 92, 250, 169,
- 1, 243, 177, 250, 169, 1, 243, 112, 250, 169, 1, 219, 107, 250, 169, 1,
- 219, 106, 250, 169, 1, 229, 161, 250, 169, 1, 236, 28, 250, 169, 1, 250,
- 250, 250, 169, 1, 216, 118, 250, 169, 1, 215, 89, 250, 169, 1, 223, 82,
- 250, 169, 1, 231, 192, 250, 169, 1, 231, 191, 250, 169, 1, 231, 190, 250,
- 169, 1, 231, 189, 250, 169, 1, 233, 85, 250, 169, 1, 245, 190, 250, 169,
- 1, 215, 88, 53, 32, 1, 61, 53, 32, 1, 251, 251, 53, 32, 1, 234, 188, 53,
- 32, 1, 248, 41, 53, 32, 1, 74, 53, 32, 1, 214, 232, 53, 32, 1, 212, 87,
- 53, 32, 1, 241, 222, 53, 32, 1, 217, 148, 53, 32, 1, 72, 53, 32, 1, 181,
- 53, 32, 1, 245, 131, 53, 32, 1, 245, 117, 53, 32, 1, 245, 108, 53, 32, 1,
- 245, 40, 53, 32, 1, 75, 53, 32, 1, 226, 96, 53, 32, 1, 220, 243, 53, 32,
- 1, 233, 238, 53, 32, 1, 245, 55, 53, 32, 1, 245, 45, 53, 32, 1, 217, 229,
- 53, 32, 1, 69, 53, 32, 1, 245, 134, 53, 32, 1, 226, 12, 53, 32, 1, 234,
- 125, 53, 32, 1, 245, 159, 53, 32, 1, 245, 47, 53, 32, 1, 250, 67, 53, 32,
- 1, 236, 28, 53, 32, 1, 215, 92, 53, 32, 228, 54, 116, 53, 32, 228, 54,
- 180, 53, 32, 228, 54, 217, 200, 53, 32, 228, 54, 244, 83, 242, 129, 1,
- 254, 111, 242, 129, 1, 252, 82, 242, 129, 1, 242, 187, 242, 129, 1, 248,
- 148, 242, 129, 1, 254, 107, 242, 129, 1, 224, 223, 242, 129, 1, 235, 153,
- 242, 129, 1, 242, 20, 242, 129, 1, 217, 111, 242, 129, 1, 245, 140, 242,
- 129, 1, 233, 211, 242, 129, 1, 233, 136, 242, 129, 1, 231, 242, 242, 129,
- 1, 230, 6, 242, 129, 1, 235, 120, 242, 129, 1, 215, 107, 242, 129, 1,
- 226, 196, 242, 129, 1, 229, 26, 242, 129, 1, 224, 56, 242, 129, 1, 222,
- 136, 242, 129, 1, 217, 212, 242, 129, 1, 213, 219, 242, 129, 1, 244, 146,
- 242, 129, 1, 236, 32, 242, 129, 1, 240, 191, 242, 129, 1, 227, 7, 242,
- 129, 1, 229, 31, 240, 200, 215, 179, 1, 254, 56, 215, 179, 1, 251, 203,
- 215, 179, 1, 243, 84, 215, 179, 1, 234, 138, 215, 179, 1, 248, 5, 215,
- 179, 1, 241, 54, 215, 179, 1, 213, 214, 215, 179, 1, 212, 78, 215, 179,
- 1, 240, 228, 215, 179, 1, 217, 183, 215, 179, 1, 212, 224, 215, 179, 1,
- 234, 254, 215, 179, 1, 220, 200, 215, 179, 1, 233, 122, 215, 179, 1, 231,
- 129, 215, 179, 1, 247, 229, 215, 179, 1, 228, 50, 215, 179, 1, 212, 8,
- 215, 179, 1, 222, 163, 215, 179, 1, 254, 103, 215, 179, 1, 225, 35, 215,
- 179, 1, 222, 194, 215, 179, 1, 224, 180, 215, 179, 1, 224, 36, 215, 179,
- 1, 217, 152, 215, 179, 1, 242, 220, 215, 179, 1, 108, 215, 179, 1, 72,
- 215, 179, 1, 69, 215, 179, 1, 219, 117, 215, 179, 213, 196, 247, 124, 53,
- 226, 45, 5, 61, 53, 226, 45, 5, 72, 53, 226, 45, 5, 69, 53, 226, 45, 5,
- 181, 53, 226, 45, 5, 233, 238, 53, 226, 45, 5, 243, 110, 53, 226, 45, 5,
- 242, 92, 53, 226, 45, 5, 213, 153, 53, 226, 45, 5, 250, 219, 53, 226, 45,
- 5, 235, 139, 53, 226, 45, 5, 235, 110, 53, 226, 45, 5, 218, 52, 53, 226,
- 45, 5, 216, 82, 53, 226, 45, 5, 248, 164, 53, 226, 45, 5, 247, 211, 53,
- 226, 45, 5, 246, 33, 53, 226, 45, 5, 217, 161, 53, 226, 45, 5, 193, 53,
- 226, 45, 5, 252, 107, 53, 226, 45, 5, 244, 164, 53, 226, 45, 5, 205, 53,
- 226, 45, 5, 228, 92, 53, 226, 45, 5, 188, 53, 226, 45, 5, 231, 42, 53,
- 226, 45, 5, 230, 172, 53, 226, 45, 5, 186, 53, 226, 45, 5, 215, 1, 53,
- 226, 45, 5, 214, 154, 53, 226, 45, 5, 203, 53, 226, 45, 5, 223, 51, 53,
- 226, 45, 5, 233, 157, 53, 226, 45, 5, 222, 202, 53, 226, 45, 5, 212, 109,
- 53, 226, 45, 5, 221, 24, 53, 226, 45, 5, 219, 157, 53, 226, 45, 5, 159,
- 53, 226, 45, 5, 253, 102, 53, 226, 45, 5, 253, 101, 53, 226, 45, 5, 253,
- 100, 53, 226, 45, 5, 213, 130, 53, 226, 45, 5, 248, 145, 53, 226, 45, 5,
- 248, 144, 53, 226, 45, 5, 252, 88, 53, 226, 45, 5, 251, 14, 53, 226, 45,
- 213, 196, 247, 124, 53, 226, 45, 50, 116, 53, 226, 45, 50, 109, 53, 226,
- 45, 50, 217, 200, 53, 226, 45, 50, 216, 38, 53, 226, 45, 50, 240, 200,
- 171, 6, 1, 184, 72, 171, 6, 1, 184, 74, 171, 6, 1, 184, 61, 171, 6, 1,
- 184, 254, 114, 171, 6, 1, 184, 75, 171, 6, 1, 184, 227, 49, 171, 6, 1,
- 220, 175, 72, 171, 6, 1, 220, 175, 74, 171, 6, 1, 220, 175, 61, 171, 6,
- 1, 220, 175, 254, 114, 171, 6, 1, 220, 175, 75, 171, 6, 1, 220, 175, 227,
- 49, 171, 6, 1, 253, 83, 171, 6, 1, 226, 240, 171, 6, 1, 213, 183, 171, 6,
- 1, 213, 35, 171, 6, 1, 242, 41, 171, 6, 1, 226, 86, 171, 6, 1, 251, 242,
- 171, 6, 1, 217, 219, 171, 6, 1, 248, 28, 171, 6, 1, 250, 64, 171, 6, 1,
- 235, 125, 171, 6, 1, 234, 195, 171, 6, 1, 243, 59, 171, 6, 1, 245, 159,
- 171, 6, 1, 214, 227, 171, 6, 1, 245, 25, 171, 6, 1, 217, 147, 171, 6, 1,
- 245, 45, 171, 6, 1, 212, 85, 171, 6, 1, 245, 40, 171, 6, 1, 212, 66, 171,
- 6, 1, 245, 55, 171, 6, 1, 245, 131, 171, 6, 1, 245, 117, 171, 6, 1, 245,
- 108, 171, 6, 1, 245, 96, 171, 6, 1, 227, 85, 171, 6, 1, 245, 5, 171, 3,
- 1, 184, 72, 171, 3, 1, 184, 74, 171, 3, 1, 184, 61, 171, 3, 1, 184, 254,
- 114, 171, 3, 1, 184, 75, 171, 3, 1, 184, 227, 49, 171, 3, 1, 220, 175,
- 72, 171, 3, 1, 220, 175, 74, 171, 3, 1, 220, 175, 61, 171, 3, 1, 220,
- 175, 254, 114, 171, 3, 1, 220, 175, 75, 171, 3, 1, 220, 175, 227, 49,
- 171, 3, 1, 253, 83, 171, 3, 1, 226, 240, 171, 3, 1, 213, 183, 171, 3, 1,
- 213, 35, 171, 3, 1, 242, 41, 171, 3, 1, 226, 86, 171, 3, 1, 251, 242,
- 171, 3, 1, 217, 219, 171, 3, 1, 248, 28, 171, 3, 1, 250, 64, 171, 3, 1,
- 235, 125, 171, 3, 1, 234, 195, 171, 3, 1, 243, 59, 171, 3, 1, 245, 159,
- 171, 3, 1, 214, 227, 171, 3, 1, 245, 25, 171, 3, 1, 217, 147, 171, 3, 1,
- 245, 45, 171, 3, 1, 212, 85, 171, 3, 1, 245, 40, 171, 3, 1, 212, 66, 171,
- 3, 1, 245, 55, 171, 3, 1, 245, 131, 171, 3, 1, 245, 117, 171, 3, 1, 245,
- 108, 171, 3, 1, 245, 96, 171, 3, 1, 227, 85, 171, 3, 1, 245, 5, 220, 249,
- 1, 226, 84, 220, 249, 1, 216, 218, 220, 249, 1, 234, 100, 220, 249, 1,
- 244, 116, 220, 249, 1, 217, 125, 220, 249, 1, 219, 242, 220, 249, 1, 218,
- 214, 220, 249, 1, 249, 254, 220, 249, 1, 213, 37, 220, 249, 1, 240, 199,
- 220, 249, 1, 251, 183, 220, 249, 1, 248, 40, 220, 249, 1, 243, 96, 220,
- 249, 1, 214, 104, 220, 249, 1, 217, 129, 220, 249, 1, 212, 14, 220, 249,
- 1, 231, 154, 220, 249, 1, 235, 52, 220, 249, 1, 213, 212, 220, 249, 1,
- 242, 29, 220, 249, 1, 232, 195, 220, 249, 1, 231, 2, 220, 249, 1, 236,
- 35, 220, 249, 1, 245, 158, 220, 249, 1, 253, 146, 220, 249, 1, 254, 152,
- 220, 249, 1, 227, 62, 220, 249, 1, 213, 199, 220, 249, 1, 226, 254, 220,
- 249, 1, 254, 114, 220, 249, 1, 223, 109, 220, 249, 1, 228, 50, 220, 249,
- 1, 245, 173, 220, 249, 1, 254, 119, 220, 249, 1, 240, 104, 220, 249, 1,
- 215, 134, 220, 249, 1, 227, 118, 220, 249, 1, 227, 42, 220, 249, 1, 227,
- 84, 220, 249, 1, 253, 86, 220, 249, 1, 253, 189, 220, 249, 1, 227, 24,
- 220, 249, 1, 254, 100, 220, 249, 1, 245, 49, 220, 249, 1, 253, 168, 220,
- 249, 1, 245, 183, 220, 249, 1, 240, 110, 220, 249, 1, 213, 4, 227, 9, 1,
- 254, 78, 227, 9, 1, 252, 107, 227, 9, 1, 218, 52, 227, 9, 1, 235, 139,
- 227, 9, 1, 213, 153, 227, 9, 1, 234, 138, 227, 9, 1, 248, 27, 227, 9, 1,
- 203, 227, 9, 1, 222, 202, 227, 9, 1, 220, 206, 227, 9, 1, 247, 232, 227,
- 9, 1, 250, 148, 227, 9, 1, 243, 110, 227, 9, 1, 244, 164, 227, 9, 1, 224,
- 230, 227, 9, 1, 235, 13, 227, 9, 1, 233, 152, 227, 9, 1, 231, 13, 227, 9,
- 1, 228, 35, 227, 9, 1, 214, 14, 227, 9, 1, 159, 227, 9, 1, 186, 227, 9,
- 1, 61, 227, 9, 1, 74, 227, 9, 1, 72, 227, 9, 1, 75, 227, 9, 1, 69, 227,
- 9, 1, 254, 232, 227, 9, 1, 245, 165, 227, 9, 1, 227, 49, 227, 9, 21, 212,
- 79, 227, 9, 21, 116, 227, 9, 21, 109, 227, 9, 21, 166, 227, 9, 21, 163,
- 227, 9, 21, 180, 227, 9, 21, 189, 227, 9, 21, 198, 227, 9, 21, 195, 227,
- 9, 21, 200, 249, 10, 4, 61, 249, 10, 4, 74, 249, 10, 4, 72, 249, 10, 4,
- 75, 249, 10, 4, 69, 249, 10, 4, 235, 139, 249, 10, 4, 235, 71, 249, 10,
- 4, 181, 249, 10, 4, 234, 188, 249, 10, 4, 234, 101, 249, 10, 4, 234, 37,
- 249, 10, 4, 233, 238, 249, 10, 4, 233, 157, 249, 10, 4, 233, 82, 249, 10,
- 4, 233, 13, 249, 10, 4, 232, 208, 249, 10, 4, 232, 156, 249, 10, 4, 188,
- 249, 10, 4, 231, 156, 249, 10, 4, 231, 42, 249, 10, 4, 230, 231, 249, 10,
- 4, 230, 172, 249, 10, 4, 205, 249, 10, 4, 229, 187, 249, 10, 4, 229, 64,
- 249, 10, 4, 228, 185, 249, 10, 4, 228, 92, 249, 10, 4, 193, 249, 10, 4,
- 226, 96, 249, 10, 4, 225, 240, 249, 10, 4, 225, 150, 249, 10, 4, 225, 35,
- 249, 10, 4, 203, 249, 10, 4, 224, 21, 249, 10, 4, 223, 188, 249, 10, 4,
- 223, 112, 249, 10, 4, 223, 51, 249, 10, 4, 222, 202, 249, 10, 4, 222,
- 100, 249, 10, 4, 220, 117, 249, 10, 4, 219, 242, 249, 10, 4, 219, 27,
- 249, 10, 4, 218, 52, 249, 10, 4, 217, 229, 249, 10, 4, 217, 71, 249, 10,
- 4, 108, 249, 10, 4, 216, 82, 249, 10, 4, 214, 49, 249, 10, 4, 214, 6,
- 249, 10, 4, 213, 235, 249, 10, 4, 213, 214, 249, 10, 4, 213, 153, 249,
- 10, 4, 213, 150, 249, 10, 4, 212, 109, 249, 10, 4, 212, 16, 235, 253,
- 253, 197, 1, 254, 76, 235, 253, 253, 197, 1, 251, 202, 235, 253, 253,
- 197, 1, 242, 177, 235, 253, 253, 197, 1, 248, 133, 235, 253, 253, 197, 1,
- 241, 222, 235, 253, 253, 197, 1, 214, 14, 235, 253, 253, 197, 1, 212, 90,
- 235, 253, 253, 197, 1, 241, 180, 235, 253, 253, 197, 1, 217, 179, 235,
- 253, 253, 197, 1, 212, 223, 235, 253, 253, 197, 1, 234, 230, 235, 253,
- 253, 197, 1, 233, 117, 235, 253, 253, 197, 1, 231, 129, 235, 253, 253,
- 197, 1, 228, 50, 235, 253, 253, 197, 1, 222, 164, 235, 253, 253, 197, 1,
- 253, 78, 235, 253, 253, 197, 1, 226, 96, 235, 253, 253, 197, 1, 222, 193,
- 235, 253, 253, 197, 1, 224, 179, 235, 253, 253, 197, 1, 223, 219, 235,
- 253, 253, 197, 1, 220, 200, 235, 253, 253, 197, 1, 217, 243, 235, 253,
- 253, 197, 222, 92, 52, 235, 253, 253, 197, 50, 116, 235, 253, 253, 197,
- 50, 109, 235, 253, 253, 197, 50, 166, 235, 253, 253, 197, 50, 217, 200,
- 235, 253, 253, 197, 50, 216, 38, 235, 253, 253, 197, 50, 122, 240, 200,
- 235, 253, 253, 197, 50, 122, 217, 100, 235, 253, 253, 197, 50, 217, 201,
- 217, 100, 225, 251, 1, 254, 74, 225, 251, 1, 251, 205, 225, 251, 1, 243,
- 85, 225, 251, 1, 248, 7, 225, 251, 1, 241, 222, 225, 251, 1, 214, 21,
- 225, 251, 1, 212, 103, 225, 251, 1, 241, 182, 225, 251, 1, 217, 183, 225,
- 251, 1, 212, 224, 225, 251, 1, 234, 254, 225, 251, 1, 233, 123, 225, 251,
- 1, 231, 129, 225, 251, 1, 228, 50, 225, 251, 1, 221, 64, 225, 251, 1,
- 254, 103, 225, 251, 1, 226, 96, 225, 251, 1, 222, 194, 225, 251, 1, 224,
- 184, 225, 251, 1, 223, 91, 225, 251, 1, 220, 200, 225, 251, 1, 217, 248,
- 225, 251, 50, 116, 225, 251, 50, 217, 200, 225, 251, 50, 216, 38, 225,
- 251, 50, 122, 240, 200, 225, 251, 50, 109, 225, 251, 50, 166, 225, 251,
- 213, 196, 221, 57, 232, 119, 1, 61, 232, 119, 1, 253, 74, 232, 119, 1,
- 243, 177, 232, 119, 1, 249, 3, 232, 119, 1, 74, 232, 119, 1, 215, 79,
- 232, 119, 1, 72, 232, 119, 1, 213, 105, 232, 119, 1, 235, 27, 232, 119,
- 1, 150, 232, 119, 1, 183, 232, 119, 1, 204, 232, 119, 1, 75, 232, 119, 1,
- 149, 232, 119, 1, 219, 158, 232, 119, 1, 218, 99, 232, 119, 1, 69, 232,
- 119, 1, 244, 230, 232, 119, 1, 224, 240, 232, 119, 1, 197, 232, 119, 1,
- 216, 118, 232, 119, 1, 254, 32, 232, 119, 1, 245, 108, 232, 119, 1, 232,
- 121, 232, 119, 1, 228, 199, 232, 119, 1, 250, 252, 232, 119, 216, 180,
- 77, 234, 126, 1, 61, 234, 126, 30, 5, 72, 234, 126, 30, 5, 69, 234, 126,
- 30, 5, 161, 149, 234, 126, 30, 5, 74, 234, 126, 30, 5, 75, 234, 126, 30,
- 233, 47, 77, 234, 126, 5, 51, 223, 131, 55, 234, 126, 5, 253, 242, 234,
- 126, 5, 214, 128, 234, 126, 1, 181, 234, 126, 1, 234, 138, 234, 126, 1,
- 243, 110, 234, 126, 1, 242, 225, 234, 126, 1, 250, 219, 234, 126, 1, 250,
- 92, 234, 126, 1, 235, 139, 234, 126, 1, 228, 23, 234, 126, 1, 216, 115,
- 234, 126, 1, 216, 105, 234, 126, 1, 248, 86, 234, 126, 1, 248, 70, 234,
- 126, 1, 228, 198, 234, 126, 1, 218, 52, 234, 126, 1, 217, 161, 234, 126,
- 1, 248, 164, 234, 126, 1, 247, 232, 234, 126, 1, 205, 234, 126, 1, 193,
- 234, 126, 1, 226, 23, 234, 126, 1, 252, 107, 234, 126, 1, 251, 195, 234,
- 126, 1, 188, 234, 126, 1, 186, 234, 126, 1, 203, 234, 126, 1, 233, 157,
- 234, 126, 1, 215, 1, 234, 126, 1, 221, 24, 234, 126, 1, 219, 157, 234,
- 126, 1, 222, 202, 234, 126, 1, 212, 109, 234, 126, 1, 159, 234, 126, 1,
- 234, 55, 234, 126, 1, 216, 87, 234, 126, 5, 252, 60, 49, 234, 126, 5,
- 250, 154, 234, 126, 5, 62, 55, 234, 126, 214, 133, 234, 126, 21, 116,
- 234, 126, 21, 109, 234, 126, 21, 166, 234, 126, 21, 163, 234, 126, 50,
- 217, 200, 234, 126, 50, 216, 38, 234, 126, 50, 122, 240, 200, 234, 126,
- 50, 122, 217, 100, 234, 126, 225, 27, 247, 74, 234, 126, 225, 27, 3, 249,
- 228, 234, 126, 225, 27, 249, 228, 234, 126, 225, 27, 249, 77, 134, 234,
- 126, 225, 27, 231, 243, 234, 126, 225, 27, 232, 170, 234, 126, 225, 27,
- 248, 123, 234, 126, 225, 27, 51, 248, 123, 234, 126, 225, 27, 232, 236,
- 53, 219, 215, 253, 208, 1, 241, 222, 53, 219, 215, 253, 208, 1, 233, 117,
- 53, 219, 215, 253, 208, 1, 241, 180, 53, 219, 215, 253, 208, 1, 231, 129,
- 53, 219, 215, 253, 208, 1, 224, 179, 53, 219, 215, 253, 208, 1, 214, 14,
- 53, 219, 215, 253, 208, 1, 220, 200, 53, 219, 215, 253, 208, 1, 223, 219,
- 53, 219, 215, 253, 208, 1, 251, 202, 53, 219, 215, 253, 208, 1, 217, 243,
- 53, 219, 215, 253, 208, 1, 222, 142, 53, 219, 215, 253, 208, 1, 234, 230,
- 53, 219, 215, 253, 208, 1, 228, 50, 53, 219, 215, 253, 208, 1, 234, 122,
- 53, 219, 215, 253, 208, 1, 222, 193, 53, 219, 215, 253, 208, 1, 222, 164,
- 53, 219, 215, 253, 208, 1, 244, 123, 53, 219, 215, 253, 208, 1, 254, 78,
- 53, 219, 215, 253, 208, 1, 253, 77, 53, 219, 215, 253, 208, 1, 247, 230,
- 53, 219, 215, 253, 208, 1, 242, 177, 53, 219, 215, 253, 208, 1, 248, 133,
- 53, 219, 215, 253, 208, 1, 242, 214, 53, 219, 215, 253, 208, 1, 217, 179,
- 53, 219, 215, 253, 208, 1, 212, 89, 53, 219, 215, 253, 208, 1, 247, 227,
- 53, 219, 215, 253, 208, 1, 212, 223, 53, 219, 215, 253, 208, 1, 217, 150,
- 53, 219, 215, 253, 208, 1, 217, 131, 53, 219, 215, 253, 208, 50, 116, 53,
- 219, 215, 253, 208, 50, 244, 83, 53, 219, 215, 253, 208, 128, 235, 235,
- 253, 88, 1, 61, 253, 88, 1, 254, 232, 253, 88, 1, 253, 240, 253, 88, 1,
- 254, 191, 253, 88, 1, 254, 32, 253, 88, 1, 254, 192, 253, 88, 1, 254,
- 148, 253, 88, 1, 254, 144, 253, 88, 1, 74, 253, 88, 1, 245, 165, 253, 88,
- 1, 75, 253, 88, 1, 227, 49, 253, 88, 1, 72, 253, 88, 1, 236, 28, 253, 88,
- 1, 69, 253, 88, 1, 215, 92, 253, 88, 1, 234, 188, 253, 88, 1, 213, 150,
- 253, 88, 1, 213, 116, 253, 88, 1, 213, 125, 253, 88, 1, 243, 38, 253, 88,
- 1, 243, 0, 253, 88, 1, 242, 212, 253, 88, 1, 250, 124, 253, 88, 1, 235,
- 127, 253, 88, 1, 217, 229, 253, 88, 1, 217, 148, 253, 88, 1, 248, 41,
- 253, 88, 1, 247, 225, 253, 88, 1, 216, 112, 253, 88, 1, 226, 96, 253, 88,
- 1, 244, 123, 253, 88, 1, 251, 251, 253, 88, 1, 251, 192, 253, 88, 1, 229,
- 148, 253, 88, 1, 229, 70, 253, 88, 1, 229, 71, 253, 88, 1, 229, 187, 253,
- 88, 1, 228, 17, 253, 88, 1, 228, 197, 253, 88, 1, 231, 156, 253, 88, 1,
- 241, 102, 253, 88, 1, 212, 159, 253, 88, 1, 213, 38, 253, 88, 1, 214,
- 232, 253, 88, 1, 224, 21, 253, 88, 1, 233, 82, 253, 88, 1, 222, 100, 253,
- 88, 1, 212, 87, 253, 88, 1, 220, 243, 253, 88, 1, 212, 67, 253, 88, 1,
- 220, 124, 253, 88, 1, 219, 129, 253, 88, 1, 241, 222, 253, 88, 254, 181,
- 77, 217, 32, 117, 176, 110, 122, 62, 225, 26, 3, 117, 176, 110, 122, 62,
- 225, 26, 233, 108, 117, 176, 110, 122, 62, 225, 26, 233, 108, 122, 62,
- 110, 117, 176, 225, 26, 233, 108, 117, 223, 129, 110, 122, 223, 131, 225,
- 26, 233, 108, 122, 223, 131, 110, 117, 223, 129, 225, 26, 235, 215, 226,
- 126, 1, 254, 76, 235, 215, 226, 126, 1, 251, 202, 235, 215, 226, 126, 1,
- 242, 177, 235, 215, 226, 126, 1, 248, 133, 235, 215, 226, 126, 1, 241,
- 222, 235, 215, 226, 126, 1, 214, 14, 235, 215, 226, 126, 1, 212, 90, 235,
- 215, 226, 126, 1, 241, 180, 235, 215, 226, 126, 1, 217, 179, 235, 215,
- 226, 126, 1, 212, 223, 235, 215, 226, 126, 1, 234, 230, 235, 215, 226,
- 126, 1, 233, 117, 235, 215, 226, 126, 1, 231, 129, 235, 215, 226, 126, 1,
- 228, 50, 235, 215, 226, 126, 1, 222, 164, 235, 215, 226, 126, 1, 253, 78,
- 235, 215, 226, 126, 1, 226, 96, 235, 215, 226, 126, 1, 222, 193, 235,
- 215, 226, 126, 1, 224, 179, 235, 215, 226, 126, 1, 223, 219, 235, 215,
- 226, 126, 1, 220, 200, 235, 215, 226, 126, 1, 217, 243, 235, 215, 226,
- 126, 50, 116, 235, 215, 226, 126, 50, 109, 235, 215, 226, 126, 50, 166,
- 235, 215, 226, 126, 50, 163, 235, 215, 226, 126, 50, 217, 200, 235, 215,
- 226, 126, 50, 216, 38, 235, 215, 226, 126, 50, 122, 240, 200, 235, 215,
- 226, 126, 50, 122, 217, 100, 235, 215, 226, 198, 1, 254, 76, 235, 215,
- 226, 198, 1, 251, 202, 235, 215, 226, 198, 1, 242, 177, 235, 215, 226,
- 198, 1, 248, 133, 235, 215, 226, 198, 1, 241, 222, 235, 215, 226, 198, 1,
- 214, 13, 235, 215, 226, 198, 1, 212, 90, 235, 215, 226, 198, 1, 241, 180,
- 235, 215, 226, 198, 1, 217, 179, 235, 215, 226, 198, 1, 212, 223, 235,
- 215, 226, 198, 1, 234, 230, 235, 215, 226, 198, 1, 233, 117, 235, 215,
- 226, 198, 1, 231, 128, 235, 215, 226, 198, 1, 228, 50, 235, 215, 226,
- 198, 1, 222, 164, 235, 215, 226, 198, 1, 226, 96, 235, 215, 226, 198, 1,
- 222, 193, 235, 215, 226, 198, 1, 220, 200, 235, 215, 226, 198, 1, 217,
- 243, 235, 215, 226, 198, 50, 116, 235, 215, 226, 198, 50, 109, 235, 215,
- 226, 198, 50, 166, 235, 215, 226, 198, 50, 163, 235, 215, 226, 198, 50,
- 217, 200, 235, 215, 226, 198, 50, 216, 38, 235, 215, 226, 198, 50, 122,
- 240, 200, 235, 215, 226, 198, 50, 122, 217, 100, 53, 185, 1, 227, 16, 61,
- 53, 185, 1, 213, 28, 61, 53, 185, 1, 213, 28, 254, 148, 53, 185, 1, 227,
- 16, 72, 53, 185, 1, 213, 28, 72, 53, 185, 1, 213, 28, 74, 53, 185, 1,
- 227, 16, 75, 53, 185, 1, 227, 16, 227, 99, 53, 185, 1, 213, 28, 227, 99,
- 53, 185, 1, 227, 16, 254, 185, 53, 185, 1, 213, 28, 254, 185, 53, 185, 1,
- 227, 16, 254, 147, 53, 185, 1, 213, 28, 254, 147, 53, 185, 1, 227, 16,
- 254, 121, 53, 185, 1, 213, 28, 254, 121, 53, 185, 1, 227, 16, 254, 142,
- 53, 185, 1, 213, 28, 254, 142, 53, 185, 1, 227, 16, 254, 160, 53, 185, 1,
- 213, 28, 254, 160, 53, 185, 1, 227, 16, 254, 146, 53, 185, 1, 227, 16,
- 244, 236, 53, 185, 1, 213, 28, 244, 236, 53, 185, 1, 227, 16, 253, 83,
- 53, 185, 1, 213, 28, 253, 83, 53, 185, 1, 227, 16, 254, 129, 53, 185, 1,
- 213, 28, 254, 129, 53, 185, 1, 227, 16, 254, 140, 53, 185, 1, 213, 28,
- 254, 140, 53, 185, 1, 227, 16, 227, 98, 53, 185, 1, 213, 28, 227, 98, 53,
- 185, 1, 227, 16, 254, 86, 53, 185, 1, 213, 28, 254, 86, 53, 185, 1, 227,
- 16, 254, 139, 53, 185, 1, 227, 16, 245, 119, 53, 185, 1, 227, 16, 245,
- 117, 53, 185, 1, 227, 16, 254, 32, 53, 185, 1, 227, 16, 254, 137, 53,
- 185, 1, 213, 28, 254, 137, 53, 185, 1, 227, 16, 245, 90, 53, 185, 1, 213,
- 28, 245, 90, 53, 185, 1, 227, 16, 245, 105, 53, 185, 1, 213, 28, 245,
- 105, 53, 185, 1, 227, 16, 245, 77, 53, 185, 1, 213, 28, 245, 77, 53, 185,
- 1, 213, 28, 254, 24, 53, 185, 1, 227, 16, 245, 96, 53, 185, 1, 213, 28,
- 254, 136, 53, 185, 1, 227, 16, 245, 70, 53, 185, 1, 227, 16, 227, 41, 53,
- 185, 1, 227, 16, 240, 106, 53, 185, 1, 227, 16, 245, 171, 53, 185, 1,
- 213, 28, 245, 171, 53, 185, 1, 227, 16, 253, 215, 53, 185, 1, 213, 28,
- 253, 215, 53, 185, 1, 227, 16, 235, 179, 53, 185, 1, 213, 28, 235, 179,
- 53, 185, 1, 227, 16, 227, 25, 53, 185, 1, 213, 28, 227, 25, 53, 185, 1,
- 227, 16, 253, 211, 53, 185, 1, 213, 28, 253, 211, 53, 185, 1, 227, 16,
- 254, 135, 53, 185, 1, 227, 16, 253, 152, 53, 185, 1, 227, 16, 254, 133,
- 53, 185, 1, 227, 16, 253, 146, 53, 185, 1, 213, 28, 253, 146, 53, 185, 1,
- 227, 16, 245, 40, 53, 185, 1, 213, 28, 245, 40, 53, 185, 1, 227, 16, 253,
- 122, 53, 185, 1, 213, 28, 253, 122, 53, 185, 1, 227, 16, 254, 130, 53,
- 185, 1, 213, 28, 254, 130, 53, 185, 1, 227, 16, 227, 8, 53, 185, 1, 227,
- 16, 252, 45, 223, 38, 21, 116, 223, 38, 21, 109, 223, 38, 21, 166, 223,
- 38, 21, 163, 223, 38, 21, 180, 223, 38, 21, 189, 223, 38, 21, 198, 223,
- 38, 21, 195, 223, 38, 21, 200, 223, 38, 50, 217, 200, 223, 38, 50, 216,
- 38, 223, 38, 50, 217, 115, 223, 38, 50, 243, 240, 223, 38, 50, 244, 83,
- 223, 38, 50, 220, 39, 223, 38, 50, 221, 37, 223, 38, 50, 245, 141, 223,
- 38, 50, 229, 26, 223, 38, 50, 122, 240, 200, 223, 38, 50, 117, 240, 200,
- 223, 38, 50, 133, 240, 200, 223, 38, 50, 243, 237, 240, 200, 223, 38, 50,
- 244, 50, 240, 200, 223, 38, 50, 220, 53, 240, 200, 223, 38, 50, 221, 43,
- 240, 200, 223, 38, 50, 245, 150, 240, 200, 223, 38, 50, 229, 31, 240,
- 200, 223, 38, 243, 228, 122, 242, 9, 223, 38, 243, 228, 122, 224, 166,
- 223, 38, 243, 228, 122, 217, 121, 223, 38, 243, 228, 117, 217, 119, 112,
- 5, 250, 187, 112, 5, 253, 242, 112, 5, 214, 128, 112, 5, 235, 104, 112,
- 5, 215, 132, 112, 1, 61, 112, 1, 254, 232, 112, 1, 72, 112, 1, 236, 28,
- 112, 1, 69, 112, 1, 215, 92, 112, 1, 161, 149, 112, 1, 161, 223, 82, 112,
- 1, 161, 150, 112, 1, 161, 232, 214, 112, 1, 74, 112, 1, 254, 108, 112, 1,
- 75, 112, 1, 253, 108, 112, 1, 181, 112, 1, 234, 138, 112, 1, 243, 110,
- 112, 1, 242, 225, 112, 1, 229, 159, 112, 1, 250, 219, 112, 1, 250, 92,
- 112, 1, 235, 139, 112, 1, 235, 115, 112, 1, 228, 23, 112, 1, 216, 115,
- 112, 1, 216, 105, 112, 1, 248, 86, 112, 1, 248, 70, 112, 1, 228, 198,
- 112, 1, 218, 52, 112, 1, 217, 161, 112, 1, 248, 164, 112, 1, 247, 232,
- 112, 1, 205, 112, 1, 193, 112, 1, 226, 23, 112, 1, 252, 107, 112, 1, 251,
- 195, 112, 1, 188, 112, 1, 186, 112, 1, 203, 112, 1, 233, 157, 112, 1,
- 215, 1, 112, 1, 221, 24, 112, 1, 219, 157, 112, 1, 222, 202, 112, 1, 159,
- 112, 1, 232, 213, 112, 1, 53, 178, 232, 212, 112, 1, 53, 178, 223, 81,
- 112, 1, 53, 178, 228, 189, 112, 30, 5, 254, 232, 112, 30, 5, 251, 193,
- 254, 232, 112, 30, 5, 72, 112, 30, 5, 236, 28, 112, 30, 5, 69, 112, 30,
- 5, 215, 92, 112, 30, 5, 161, 149, 112, 30, 5, 161, 223, 82, 112, 30, 5,
- 161, 150, 112, 30, 5, 161, 232, 214, 112, 30, 5, 74, 112, 30, 5, 254,
- 108, 112, 30, 5, 75, 112, 30, 5, 253, 108, 112, 214, 133, 112, 248, 123,
- 112, 51, 248, 123, 112, 225, 27, 247, 74, 112, 225, 27, 51, 247, 74, 112,
- 225, 27, 232, 242, 112, 225, 27, 249, 77, 134, 112, 225, 27, 232, 170,
- 112, 50, 116, 112, 50, 109, 112, 50, 166, 112, 50, 163, 112, 50, 180,
- 112, 50, 189, 112, 50, 198, 112, 50, 195, 112, 50, 200, 112, 50, 217,
- 200, 112, 50, 216, 38, 112, 50, 217, 115, 112, 50, 243, 240, 112, 50,
- 244, 83, 112, 50, 220, 39, 112, 50, 221, 37, 112, 50, 245, 141, 112, 50,
- 229, 26, 112, 50, 122, 240, 200, 112, 50, 122, 217, 100, 112, 21, 212,
- 79, 112, 21, 116, 112, 21, 109, 112, 21, 166, 112, 21, 163, 112, 21, 180,
- 112, 21, 189, 112, 21, 198, 112, 21, 195, 112, 21, 200, 208, 5, 250, 187,
- 208, 5, 253, 242, 208, 5, 214, 128, 208, 1, 61, 208, 1, 254, 232, 208, 1,
- 72, 208, 1, 236, 28, 208, 1, 69, 208, 1, 215, 92, 208, 1, 74, 208, 1,
- 254, 108, 208, 1, 75, 208, 1, 253, 108, 208, 1, 181, 208, 1, 234, 138,
- 208, 1, 243, 110, 208, 1, 242, 225, 208, 1, 229, 159, 208, 1, 250, 219,
- 208, 1, 250, 92, 208, 1, 235, 139, 208, 1, 235, 115, 208, 1, 228, 23,
- 208, 1, 216, 115, 208, 1, 216, 105, 208, 1, 248, 86, 208, 1, 248, 75,
- 208, 1, 248, 70, 208, 1, 223, 192, 208, 1, 228, 198, 208, 1, 218, 52,
- 208, 1, 217, 161, 208, 1, 248, 164, 208, 1, 247, 232, 208, 1, 205, 208,
- 1, 193, 208, 1, 226, 23, 208, 1, 252, 107, 208, 1, 251, 195, 208, 1, 188,
- 208, 1, 186, 208, 1, 203, 208, 1, 233, 157, 208, 1, 215, 1, 208, 1, 221,
- 24, 208, 1, 219, 157, 208, 1, 222, 202, 208, 1, 159, 208, 30, 5, 254,
- 232, 208, 30, 5, 72, 208, 30, 5, 236, 28, 208, 30, 5, 69, 208, 30, 5,
- 215, 92, 208, 30, 5, 74, 208, 30, 5, 254, 108, 208, 30, 5, 75, 208, 30,
- 5, 253, 108, 208, 5, 214, 133, 208, 5, 228, 60, 208, 254, 181, 52, 208,
- 245, 80, 52, 208, 50, 52, 208, 222, 92, 77, 208, 51, 222, 92, 77, 208,
- 248, 123, 208, 51, 248, 123, 15, 5, 61, 15, 5, 118, 29, 61, 15, 5, 118,
- 29, 252, 94, 15, 5, 118, 29, 243, 81, 217, 192, 15, 5, 118, 29, 159, 15,
- 5, 118, 29, 236, 30, 15, 5, 118, 29, 233, 139, 242, 75, 15, 5, 118, 29,
- 230, 131, 15, 5, 118, 29, 222, 190, 15, 5, 254, 234, 15, 5, 254, 185, 15,
- 5, 254, 186, 29, 253, 144, 15, 5, 254, 186, 29, 246, 22, 242, 75, 15, 5,
- 254, 186, 29, 243, 94, 15, 5, 254, 186, 29, 243, 81, 217, 192, 15, 5,
- 254, 186, 29, 159, 15, 5, 254, 186, 29, 236, 31, 242, 75, 15, 5, 254,
- 186, 29, 236, 4, 15, 5, 254, 186, 29, 233, 140, 15, 5, 254, 186, 29, 220,
- 228, 15, 5, 254, 186, 29, 111, 94, 111, 94, 69, 15, 5, 254, 186, 242, 75,
- 15, 5, 254, 183, 15, 5, 254, 184, 29, 252, 79, 15, 5, 254, 184, 29, 243,
- 81, 217, 192, 15, 5, 254, 184, 29, 231, 157, 94, 245, 108, 15, 5, 254,
- 184, 29, 221, 22, 15, 5, 254, 184, 29, 218, 22, 15, 5, 254, 160, 15, 5,
- 254, 94, 15, 5, 254, 95, 29, 245, 50, 15, 5, 254, 95, 29, 220, 190, 94,
- 242, 166, 15, 5, 254, 86, 15, 5, 254, 87, 29, 254, 86, 15, 5, 254, 87,
- 29, 247, 168, 15, 5, 254, 87, 29, 242, 166, 15, 5, 254, 87, 29, 159, 15,
- 5, 254, 87, 29, 235, 3, 15, 5, 254, 87, 29, 234, 101, 15, 5, 254, 87, 29,
- 220, 243, 15, 5, 254, 87, 29, 215, 100, 15, 5, 254, 83, 15, 5, 254, 76,
- 15, 5, 254, 41, 15, 5, 254, 42, 29, 220, 243, 15, 5, 254, 32, 15, 5, 254,
- 33, 110, 254, 32, 15, 5, 254, 33, 133, 217, 38, 15, 5, 254, 33, 94, 230,
- 35, 227, 30, 254, 33, 94, 230, 34, 15, 5, 254, 33, 94, 230, 35, 219, 165,
- 15, 5, 254, 5, 15, 5, 253, 235, 15, 5, 253, 205, 15, 5, 253, 206, 29,
- 233, 217, 15, 5, 253, 179, 15, 5, 253, 151, 15, 5, 253, 146, 15, 5, 253,
- 147, 212, 33, 217, 192, 15, 5, 253, 147, 235, 7, 217, 192, 15, 5, 253,
- 147, 110, 253, 147, 216, 78, 110, 216, 78, 216, 78, 110, 216, 78, 226,
- 149, 15, 5, 253, 147, 110, 253, 147, 110, 253, 146, 15, 5, 253, 147, 110,
- 253, 147, 110, 253, 147, 249, 65, 253, 147, 110, 253, 147, 110, 253, 146,
- 15, 5, 253, 144, 15, 5, 253, 141, 15, 5, 252, 107, 15, 5, 252, 94, 15, 5,
- 252, 89, 15, 5, 252, 86, 15, 5, 252, 80, 15, 5, 252, 81, 110, 252, 80,
- 15, 5, 252, 79, 15, 5, 134, 15, 5, 252, 59, 15, 5, 251, 184, 15, 5, 251,
- 185, 29, 61, 15, 5, 251, 185, 29, 243, 72, 15, 5, 251, 185, 29, 236, 31,
- 242, 75, 15, 5, 251, 54, 15, 5, 251, 55, 110, 251, 55, 254, 185, 15, 5,
- 251, 55, 110, 251, 55, 215, 160, 15, 5, 251, 55, 249, 65, 251, 54, 15, 5,
- 251, 38, 15, 5, 251, 39, 110, 251, 38, 15, 5, 251, 27, 15, 5, 251, 26,
- 15, 5, 248, 164, 15, 5, 248, 155, 15, 5, 248, 156, 234, 75, 29, 118, 94,
- 231, 210, 15, 5, 248, 156, 234, 75, 29, 254, 41, 15, 5, 248, 156, 234,
- 75, 29, 252, 79, 15, 5, 248, 156, 234, 75, 29, 251, 184, 15, 5, 248, 156,
- 234, 75, 29, 243, 110, 15, 5, 248, 156, 234, 75, 29, 243, 111, 94, 231,
- 210, 15, 5, 248, 156, 234, 75, 29, 242, 190, 15, 5, 248, 156, 234, 75,
- 29, 242, 173, 15, 5, 248, 156, 234, 75, 29, 242, 84, 15, 5, 248, 156,
- 234, 75, 29, 159, 15, 5, 248, 156, 234, 75, 29, 235, 177, 15, 5, 248,
- 156, 234, 75, 29, 235, 178, 94, 232, 156, 15, 5, 248, 156, 234, 75, 29,
- 234, 247, 15, 5, 248, 156, 234, 75, 29, 233, 157, 15, 5, 248, 156, 234,
- 75, 29, 232, 156, 15, 5, 248, 156, 234, 75, 29, 232, 157, 94, 231, 209,
- 15, 5, 248, 156, 234, 75, 29, 232, 142, 15, 5, 248, 156, 234, 75, 29,
- 229, 187, 15, 5, 248, 156, 234, 75, 29, 226, 150, 94, 226, 149, 15, 5,
- 248, 156, 234, 75, 29, 220, 117, 15, 5, 248, 156, 234, 75, 29, 218, 22,
- 15, 5, 248, 156, 234, 75, 29, 215, 198, 94, 242, 173, 15, 5, 248, 156,
- 234, 75, 29, 215, 100, 15, 5, 248, 132, 15, 5, 248, 111, 15, 5, 248, 110,
- 15, 5, 248, 109, 15, 5, 247, 211, 15, 5, 247, 194, 15, 5, 247, 169, 15,
- 5, 247, 170, 29, 220, 243, 15, 5, 247, 168, 15, 5, 247, 158, 15, 5, 247,
- 159, 234, 213, 111, 242, 76, 247, 139, 15, 5, 247, 139, 15, 5, 246, 33,
- 15, 5, 246, 34, 110, 246, 33, 15, 5, 246, 34, 242, 75, 15, 5, 246, 34,
- 220, 225, 15, 5, 246, 31, 15, 5, 246, 32, 29, 245, 37, 15, 5, 246, 30,
- 15, 5, 246, 29, 15, 5, 246, 28, 15, 5, 246, 27, 15, 5, 246, 23, 15, 5,
- 246, 21, 15, 5, 246, 22, 242, 75, 15, 5, 246, 22, 242, 76, 242, 75, 15,
- 5, 246, 20, 15, 5, 246, 13, 15, 5, 74, 15, 5, 191, 29, 226, 149, 15, 5,
- 191, 110, 191, 228, 51, 110, 228, 50, 15, 5, 245, 190, 15, 5, 245, 191,
- 29, 118, 94, 242, 30, 94, 248, 164, 15, 5, 245, 191, 29, 243, 72, 15, 5,
- 245, 191, 29, 231, 42, 15, 5, 245, 191, 29, 222, 179, 15, 5, 245, 191,
- 29, 220, 243, 15, 5, 245, 191, 29, 69, 15, 5, 245, 167, 15, 5, 245, 157,
- 15, 5, 245, 131, 15, 5, 245, 108, 15, 5, 245, 109, 29, 243, 80, 15, 5,
- 245, 109, 29, 243, 81, 217, 192, 15, 5, 245, 109, 29, 231, 156, 15, 5,
- 245, 109, 249, 65, 245, 108, 15, 5, 245, 109, 227, 30, 245, 108, 15, 5,
- 245, 109, 219, 165, 15, 5, 245, 52, 15, 5, 245, 50, 15, 5, 245, 37, 15,
- 5, 244, 234, 15, 5, 244, 235, 29, 61, 15, 5, 244, 235, 29, 118, 94, 233,
- 128, 15, 5, 244, 235, 29, 118, 94, 233, 129, 29, 233, 128, 15, 5, 244,
- 235, 29, 254, 32, 15, 5, 244, 235, 29, 252, 94, 15, 5, 244, 235, 29, 246,
- 22, 242, 75, 15, 5, 244, 235, 29, 246, 22, 242, 76, 242, 75, 15, 5, 244,
- 235, 29, 159, 15, 5, 244, 235, 29, 242, 30, 242, 75, 15, 5, 244, 235, 29,
- 236, 31, 242, 75, 15, 5, 244, 235, 29, 234, 212, 15, 5, 244, 235, 29,
- 234, 213, 219, 165, 15, 5, 244, 235, 29, 233, 236, 15, 5, 244, 235, 29,
- 233, 157, 15, 5, 244, 235, 29, 233, 129, 29, 233, 128, 15, 5, 244, 235,
- 29, 233, 13, 15, 5, 244, 235, 29, 232, 156, 15, 5, 244, 235, 29, 215,
- 197, 15, 5, 244, 235, 29, 215, 188, 15, 5, 243, 110, 15, 5, 243, 111,
- 242, 75, 15, 5, 243, 108, 15, 5, 243, 109, 29, 118, 94, 248, 165, 94,
- 159, 15, 5, 243, 109, 29, 118, 94, 159, 15, 5, 243, 109, 29, 118, 94,
- 236, 30, 15, 5, 243, 109, 29, 254, 184, 217, 193, 94, 218, 41, 15, 5,
- 243, 109, 29, 254, 32, 15, 5, 243, 109, 29, 253, 146, 15, 5, 243, 109,
- 29, 253, 145, 94, 243, 94, 15, 5, 243, 109, 29, 252, 94, 15, 5, 243, 109,
- 29, 252, 60, 94, 203, 15, 5, 243, 109, 29, 251, 27, 15, 5, 243, 109, 29,
- 251, 28, 94, 203, 15, 5, 243, 109, 29, 248, 164, 15, 5, 243, 109, 29,
- 247, 211, 15, 5, 243, 109, 29, 247, 170, 29, 220, 243, 15, 5, 243, 109,
- 29, 246, 31, 15, 5, 243, 109, 29, 245, 131, 15, 5, 243, 109, 29, 245,
- 132, 94, 233, 157, 15, 5, 243, 109, 29, 245, 108, 15, 5, 243, 109, 29,
- 245, 109, 29, 243, 81, 217, 192, 15, 5, 243, 109, 29, 243, 81, 217, 192,
- 15, 5, 243, 109, 29, 243, 72, 15, 5, 243, 109, 29, 242, 190, 15, 5, 243,
- 109, 29, 242, 188, 15, 5, 243, 109, 29, 242, 189, 94, 61, 15, 5, 243,
- 109, 29, 242, 174, 94, 219, 27, 15, 5, 243, 109, 29, 242, 30, 94, 232,
- 157, 94, 245, 37, 15, 5, 243, 109, 29, 242, 12, 15, 5, 243, 109, 29, 242,
- 13, 94, 233, 157, 15, 5, 243, 109, 29, 241, 166, 94, 233, 13, 15, 5, 243,
- 109, 29, 240, 208, 15, 5, 243, 109, 29, 236, 31, 242, 75, 15, 5, 243,
- 109, 29, 235, 164, 94, 240, 213, 94, 253, 146, 15, 5, 243, 109, 29, 234,
- 247, 15, 5, 243, 109, 29, 234, 212, 15, 5, 243, 109, 29, 234, 98, 15, 5,
- 243, 109, 29, 234, 99, 94, 233, 128, 15, 5, 243, 109, 29, 233, 237, 94,
- 254, 32, 15, 5, 243, 109, 29, 233, 157, 15, 5, 243, 109, 29, 231, 157,
- 94, 245, 108, 15, 5, 243, 109, 29, 231, 42, 15, 5, 243, 109, 29, 228, 50,
- 15, 5, 243, 109, 29, 228, 51, 110, 228, 50, 15, 5, 243, 109, 29, 193, 15,
- 5, 243, 109, 29, 222, 179, 15, 5, 243, 109, 29, 222, 147, 15, 5, 243,
- 109, 29, 220, 243, 15, 5, 243, 109, 29, 220, 244, 94, 216, 62, 15, 5,
- 243, 109, 29, 220, 210, 15, 5, 243, 109, 29, 218, 244, 15, 5, 243, 109,
- 29, 218, 22, 15, 5, 243, 109, 29, 69, 15, 5, 243, 109, 29, 215, 188, 15,
- 5, 243, 109, 29, 215, 189, 94, 246, 33, 15, 5, 243, 109, 110, 243, 108,
- 15, 5, 243, 103, 15, 5, 243, 104, 249, 65, 243, 103, 15, 5, 243, 101, 15,
- 5, 243, 102, 110, 243, 102, 243, 73, 110, 243, 72, 15, 5, 243, 94, 15, 5,
- 243, 95, 243, 102, 110, 243, 102, 243, 73, 110, 243, 72, 15, 5, 243, 93,
- 15, 5, 243, 91, 15, 5, 243, 82, 15, 5, 243, 80, 15, 5, 243, 81, 217, 192,
- 15, 5, 243, 81, 110, 243, 80, 15, 5, 243, 81, 249, 65, 243, 80, 15, 5,
- 243, 72, 15, 5, 243, 71, 15, 5, 243, 66, 15, 5, 243, 12, 15, 5, 243, 13,
- 29, 233, 217, 15, 5, 242, 190, 15, 5, 242, 191, 29, 74, 15, 5, 242, 191,
- 29, 69, 15, 5, 242, 191, 249, 65, 242, 190, 15, 5, 242, 188, 15, 5, 242,
- 189, 110, 242, 188, 15, 5, 242, 189, 249, 65, 242, 188, 15, 5, 242, 185,
- 15, 5, 242, 173, 15, 5, 242, 174, 242, 75, 15, 5, 242, 171, 15, 5, 242,
- 172, 29, 118, 94, 236, 30, 15, 5, 242, 172, 29, 243, 81, 217, 192, 15, 5,
- 242, 172, 29, 236, 30, 15, 5, 242, 172, 29, 232, 157, 94, 236, 30, 15, 5,
- 242, 172, 29, 193, 15, 5, 242, 168, 15, 5, 242, 166, 15, 5, 242, 167,
- 249, 65, 242, 166, 15, 5, 242, 167, 29, 252, 94, 15, 5, 242, 167, 29,
- 218, 22, 15, 5, 242, 167, 217, 192, 15, 5, 242, 92, 15, 5, 242, 93, 249,
- 65, 242, 92, 15, 5, 242, 90, 15, 5, 242, 91, 29, 234, 247, 15, 5, 242,
- 91, 29, 234, 248, 29, 236, 31, 242, 75, 15, 5, 242, 91, 29, 228, 50, 15,
- 5, 242, 91, 29, 222, 180, 94, 216, 77, 15, 5, 242, 91, 242, 75, 15, 5,
- 242, 84, 15, 5, 242, 85, 29, 118, 94, 233, 217, 15, 5, 242, 85, 29, 233,
- 217, 15, 5, 242, 85, 110, 242, 85, 232, 149, 15, 5, 242, 79, 15, 5, 242,
- 77, 15, 5, 242, 78, 29, 220, 243, 15, 5, 242, 69, 15, 5, 242, 68, 15, 5,
- 242, 65, 15, 5, 242, 64, 15, 5, 159, 15, 5, 242, 30, 217, 192, 15, 5,
- 242, 30, 242, 75, 15, 5, 242, 12, 15, 5, 241, 165, 15, 5, 241, 166, 29,
- 253, 146, 15, 5, 241, 166, 29, 253, 144, 15, 5, 241, 166, 29, 252, 94,
- 15, 5, 241, 166, 29, 247, 139, 15, 5, 241, 166, 29, 243, 101, 15, 5, 241,
- 166, 29, 234, 90, 15, 5, 241, 166, 29, 228, 50, 15, 5, 241, 166, 29, 220,
- 243, 15, 5, 241, 166, 29, 69, 15, 5, 240, 212, 15, 5, 240, 208, 15, 5,
- 240, 209, 29, 254, 32, 15, 5, 240, 209, 29, 242, 12, 15, 5, 240, 209, 29,
- 234, 212, 15, 5, 240, 209, 29, 232, 226, 15, 5, 240, 209, 29, 215, 188,
- 15, 5, 240, 205, 15, 5, 72, 15, 5, 240, 146, 61, 15, 5, 240, 108, 15, 5,
- 236, 58, 15, 5, 236, 59, 110, 236, 59, 251, 27, 15, 5, 236, 59, 110, 236,
- 59, 219, 165, 15, 5, 236, 33, 15, 5, 236, 30, 15, 5, 236, 31, 247, 194,
- 15, 5, 236, 31, 223, 188, 15, 5, 236, 31, 110, 236, 31, 220, 194, 110,
- 220, 194, 215, 189, 110, 215, 188, 15, 5, 236, 31, 242, 75, 15, 5, 236,
- 22, 15, 5, 236, 23, 29, 243, 81, 217, 192, 15, 5, 236, 21, 15, 5, 236,
- 11, 15, 5, 236, 12, 29, 218, 22, 15, 5, 236, 12, 249, 65, 236, 11, 15, 5,
- 236, 12, 227, 30, 236, 11, 15, 5, 236, 12, 219, 165, 15, 5, 236, 4, 15,
- 5, 235, 251, 15, 5, 235, 177, 15, 5, 235, 163, 15, 5, 181, 15, 5, 235,
- 17, 29, 61, 15, 5, 235, 17, 29, 254, 160, 15, 5, 235, 17, 29, 254, 161,
- 94, 233, 236, 15, 5, 235, 17, 29, 253, 144, 15, 5, 235, 17, 29, 252, 94,
- 15, 5, 235, 17, 29, 252, 79, 15, 5, 235, 17, 29, 134, 15, 5, 235, 17, 29,
- 251, 184, 15, 5, 235, 17, 29, 245, 50, 15, 5, 235, 17, 29, 245, 37, 15,
- 5, 235, 17, 29, 243, 110, 15, 5, 235, 17, 29, 243, 94, 15, 5, 235, 17,
- 29, 243, 81, 217, 192, 15, 5, 235, 17, 29, 243, 72, 15, 5, 235, 17, 29,
- 243, 73, 94, 221, 23, 94, 61, 15, 5, 235, 17, 29, 242, 190, 15, 5, 235,
- 17, 29, 242, 173, 15, 5, 235, 17, 29, 242, 167, 94, 222, 147, 15, 5, 235,
- 17, 29, 242, 167, 249, 65, 242, 166, 15, 5, 235, 17, 29, 242, 92, 15, 5,
- 235, 17, 29, 242, 68, 15, 5, 235, 17, 29, 236, 30, 15, 5, 235, 17, 29,
- 236, 11, 15, 5, 235, 17, 29, 234, 247, 15, 5, 235, 17, 29, 234, 101, 15,
- 5, 235, 17, 29, 234, 98, 15, 5, 235, 17, 29, 233, 13, 15, 5, 235, 17, 29,
- 232, 156, 15, 5, 235, 17, 29, 231, 156, 15, 5, 235, 17, 29, 231, 157, 94,
- 246, 33, 15, 5, 235, 17, 29, 231, 157, 94, 242, 190, 15, 5, 235, 17, 29,
- 231, 157, 94, 217, 229, 15, 5, 235, 17, 29, 231, 42, 15, 5, 235, 17, 29,
- 231, 43, 94, 228, 45, 15, 5, 235, 17, 29, 229, 187, 15, 5, 235, 17, 29,
- 228, 50, 15, 5, 235, 17, 29, 225, 240, 15, 5, 235, 17, 29, 223, 51, 15,
- 5, 235, 17, 29, 222, 202, 15, 5, 235, 17, 29, 222, 147, 15, 5, 235, 17,
- 29, 221, 24, 15, 5, 235, 17, 29, 220, 243, 15, 5, 235, 17, 29, 220, 210,
- 15, 5, 235, 17, 29, 220, 150, 15, 5, 235, 17, 29, 220, 108, 15, 5, 235,
- 17, 29, 218, 252, 15, 5, 235, 17, 29, 218, 1, 15, 5, 235, 17, 29, 69, 15,
- 5, 235, 17, 29, 215, 197, 15, 5, 235, 17, 29, 215, 188, 15, 5, 235, 17,
- 29, 215, 163, 29, 193, 15, 5, 235, 17, 29, 215, 100, 15, 5, 235, 17, 29,
- 212, 37, 15, 5, 235, 15, 15, 5, 235, 16, 249, 65, 235, 15, 15, 5, 235, 8,
- 15, 5, 235, 5, 15, 5, 235, 3, 15, 5, 235, 2, 15, 5, 235, 0, 15, 5, 235,
- 1, 110, 235, 0, 15, 5, 234, 247, 15, 5, 234, 248, 29, 236, 31, 242, 75,
- 15, 5, 234, 243, 15, 5, 234, 244, 29, 252, 94, 15, 5, 234, 244, 249, 65,
- 234, 243, 15, 5, 234, 241, 15, 5, 234, 240, 15, 5, 234, 212, 15, 5, 234,
- 213, 233, 141, 29, 111, 110, 233, 141, 29, 69, 15, 5, 234, 213, 110, 234,
- 213, 233, 141, 29, 111, 110, 233, 141, 29, 69, 15, 5, 234, 163, 15, 5,
- 234, 101, 15, 5, 234, 102, 29, 252, 94, 15, 5, 234, 102, 29, 69, 15, 5,
- 234, 102, 29, 215, 188, 15, 5, 234, 98, 15, 5, 234, 90, 15, 5, 234, 77,
- 15, 5, 234, 76, 15, 5, 234, 74, 15, 5, 234, 75, 110, 234, 74, 15, 5, 233,
- 238, 15, 5, 233, 239, 110, 241, 166, 29, 253, 145, 233, 239, 110, 241,
- 166, 29, 253, 144, 15, 5, 233, 236, 15, 5, 233, 234, 15, 5, 233, 235,
- 214, 244, 17, 15, 5, 233, 233, 15, 5, 233, 230, 15, 5, 233, 231, 242, 75,
- 15, 5, 233, 229, 15, 5, 233, 217, 15, 5, 233, 218, 227, 30, 233, 217, 15,
- 5, 233, 212, 15, 5, 233, 194, 15, 5, 233, 157, 15, 5, 233, 140, 15, 5,
- 233, 141, 29, 61, 15, 5, 233, 141, 29, 118, 94, 248, 165, 94, 159, 15, 5,
- 233, 141, 29, 118, 94, 243, 72, 15, 5, 233, 141, 29, 118, 94, 233, 128,
- 15, 5, 233, 141, 29, 254, 86, 15, 5, 233, 141, 29, 254, 32, 15, 5, 233,
- 141, 29, 253, 147, 212, 33, 217, 192, 15, 5, 233, 141, 29, 252, 94, 15,
- 5, 233, 141, 29, 251, 184, 15, 5, 233, 141, 29, 248, 111, 15, 5, 233,
- 141, 29, 245, 108, 15, 5, 233, 141, 29, 243, 110, 15, 5, 233, 141, 29,
- 243, 72, 15, 5, 233, 141, 29, 242, 84, 15, 5, 233, 141, 29, 242, 85, 94,
- 242, 84, 15, 5, 233, 141, 29, 159, 15, 5, 233, 141, 29, 242, 12, 15, 5,
- 233, 141, 29, 241, 166, 29, 228, 50, 15, 5, 233, 141, 29, 236, 31, 242,
- 75, 15, 5, 233, 141, 29, 236, 11, 15, 5, 233, 141, 29, 236, 12, 94, 159,
- 15, 5, 233, 141, 29, 236, 12, 94, 232, 156, 15, 5, 233, 141, 29, 234,
- 101, 15, 5, 233, 141, 29, 234, 90, 15, 5, 233, 141, 29, 233, 236, 15, 5,
- 233, 141, 29, 233, 230, 15, 5, 233, 141, 29, 233, 231, 94, 241, 166, 94,
- 61, 15, 5, 233, 141, 29, 233, 140, 15, 5, 233, 141, 29, 232, 226, 15, 5,
- 233, 141, 29, 232, 156, 15, 5, 233, 141, 29, 232, 144, 15, 5, 233, 141,
- 29, 231, 156, 15, 5, 233, 141, 29, 231, 157, 94, 245, 108, 15, 5, 233,
- 141, 29, 230, 131, 15, 5, 233, 141, 29, 229, 187, 15, 5, 233, 141, 29,
- 220, 244, 94, 218, 244, 15, 5, 233, 141, 29, 220, 190, 94, 242, 167, 94,
- 245, 50, 15, 5, 233, 141, 29, 220, 190, 94, 242, 167, 217, 192, 15, 5,
- 233, 141, 29, 220, 148, 15, 5, 233, 141, 29, 220, 149, 94, 220, 148, 15,
- 5, 233, 141, 29, 218, 244, 15, 5, 233, 141, 29, 218, 33, 15, 5, 233, 141,
- 29, 218, 22, 15, 5, 233, 141, 29, 217, 230, 94, 118, 94, 219, 28, 94,
- 205, 15, 5, 233, 141, 29, 69, 15, 5, 233, 141, 29, 111, 94, 61, 15, 5,
- 233, 141, 29, 111, 94, 111, 94, 69, 15, 5, 233, 141, 29, 215, 198, 94,
- 253, 146, 15, 5, 233, 141, 29, 215, 188, 15, 5, 233, 141, 29, 215, 100,
- 15, 5, 233, 141, 219, 165, 15, 5, 233, 138, 15, 5, 233, 139, 29, 220,
- 243, 15, 5, 233, 139, 29, 220, 244, 94, 218, 244, 15, 5, 233, 139, 242,
- 75, 15, 5, 233, 139, 242, 76, 110, 233, 139, 242, 76, 220, 243, 15, 5,
- 233, 135, 15, 5, 233, 128, 15, 5, 233, 129, 29, 233, 128, 15, 5, 233,
- 126, 15, 5, 233, 127, 29, 233, 217, 15, 5, 233, 127, 29, 233, 218, 94,
- 223, 51, 15, 5, 233, 13, 15, 5, 232, 254, 15, 5, 232, 245, 15, 5, 232,
- 226, 15, 5, 232, 156, 15, 5, 232, 157, 29, 252, 94, 15, 5, 232, 154, 15,
- 5, 232, 155, 29, 254, 86, 15, 5, 232, 155, 29, 252, 94, 15, 5, 232, 155,
- 29, 245, 37, 15, 5, 232, 155, 29, 245, 38, 217, 192, 15, 5, 232, 155, 29,
- 243, 81, 217, 192, 15, 5, 232, 155, 29, 241, 166, 29, 252, 94, 15, 5,
- 232, 155, 29, 236, 11, 15, 5, 232, 155, 29, 235, 5, 15, 5, 232, 155, 29,
- 235, 3, 15, 5, 232, 155, 29, 235, 4, 94, 253, 146, 15, 5, 232, 155, 29,
- 234, 101, 15, 5, 232, 155, 29, 233, 158, 94, 253, 146, 15, 5, 232, 155,
- 29, 233, 140, 15, 5, 232, 155, 29, 231, 157, 94, 245, 108, 15, 5, 232,
- 155, 29, 229, 187, 15, 5, 232, 155, 29, 228, 92, 15, 5, 232, 155, 29,
- 220, 118, 94, 253, 146, 15, 5, 232, 155, 29, 220, 100, 94, 251, 54, 15,
- 5, 232, 155, 29, 216, 77, 15, 5, 232, 155, 217, 192, 15, 5, 232, 155,
- 249, 65, 232, 154, 15, 5, 232, 155, 227, 30, 232, 154, 15, 5, 232, 155,
- 219, 165, 15, 5, 232, 155, 220, 225, 15, 5, 232, 153, 15, 5, 232, 149,
- 15, 5, 232, 150, 110, 232, 149, 15, 5, 232, 150, 227, 30, 232, 149, 15,
- 5, 232, 150, 220, 225, 15, 5, 232, 147, 15, 5, 232, 144, 15, 5, 232, 142,
- 15, 5, 232, 143, 110, 232, 142, 15, 5, 232, 143, 110, 232, 143, 243, 73,
- 110, 243, 72, 15, 5, 188, 15, 5, 232, 43, 29, 218, 22, 15, 5, 232, 43,
- 242, 75, 15, 5, 232, 42, 15, 5, 232, 15, 15, 5, 231, 229, 15, 5, 231,
- 210, 15, 5, 231, 209, 15, 5, 231, 156, 15, 5, 231, 112, 15, 5, 231, 42,
- 15, 5, 231, 1, 15, 5, 230, 172, 15, 5, 230, 173, 110, 230, 172, 15, 5,
- 230, 163, 15, 5, 230, 164, 242, 75, 15, 5, 230, 148, 15, 5, 230, 134, 15,
- 5, 230, 131, 15, 5, 230, 132, 29, 61, 15, 5, 230, 132, 29, 233, 217, 15,
- 5, 230, 132, 29, 212, 109, 15, 5, 230, 132, 110, 230, 131, 15, 5, 230,
- 132, 110, 230, 132, 29, 118, 94, 205, 15, 5, 230, 132, 249, 65, 230, 131,
- 15, 5, 230, 129, 15, 5, 230, 130, 29, 61, 15, 5, 230, 130, 29, 118, 94,
- 247, 211, 15, 5, 230, 130, 29, 247, 211, 15, 5, 230, 130, 242, 75, 15, 5,
- 205, 15, 5, 230, 45, 15, 5, 230, 34, 15, 5, 230, 35, 235, 190, 15, 5,
- 230, 35, 29, 220, 151, 217, 192, 15, 5, 230, 35, 227, 30, 230, 34, 15, 5,
- 230, 33, 15, 5, 230, 28, 228, 36, 15, 5, 230, 27, 15, 5, 230, 26, 15, 5,
- 229, 187, 15, 5, 229, 188, 29, 61, 15, 5, 229, 188, 29, 215, 188, 15, 5,
- 229, 188, 220, 225, 15, 5, 229, 64, 15, 5, 229, 65, 29, 74, 15, 5, 229,
- 63, 15, 5, 229, 34, 15, 5, 229, 35, 29, 243, 81, 217, 192, 15, 5, 229,
- 35, 29, 243, 73, 94, 243, 81, 217, 192, 15, 5, 229, 32, 15, 5, 229, 33,
- 29, 254, 32, 15, 5, 229, 33, 29, 253, 146, 15, 5, 229, 33, 29, 253, 147,
- 94, 253, 146, 15, 5, 229, 33, 29, 242, 84, 15, 5, 229, 33, 29, 231, 157,
- 94, 243, 81, 217, 192, 15, 5, 229, 33, 29, 229, 187, 15, 5, 229, 33, 29,
- 228, 50, 15, 5, 229, 33, 29, 220, 243, 15, 5, 229, 33, 29, 220, 244, 94,
- 118, 254, 32, 15, 5, 229, 33, 29, 220, 244, 94, 253, 146, 15, 5, 229, 33,
- 29, 220, 244, 94, 253, 147, 94, 253, 146, 15, 5, 229, 33, 29, 215, 198,
- 94, 253, 146, 15, 5, 229, 33, 29, 215, 100, 15, 5, 229, 21, 15, 5, 228,
- 92, 15, 5, 228, 65, 15, 5, 228, 50, 15, 5, 228, 51, 233, 139, 29, 243,
- 72, 15, 5, 228, 51, 233, 139, 29, 231, 210, 15, 5, 228, 51, 233, 139, 29,
- 222, 179, 15, 5, 228, 51, 233, 139, 29, 222, 180, 110, 228, 51, 233, 139,
- 29, 222, 179, 15, 5, 228, 51, 233, 139, 29, 215, 100, 15, 5, 228, 51,
- 217, 192, 15, 5, 228, 51, 110, 228, 50, 15, 5, 228, 51, 249, 65, 228, 50,
- 15, 5, 228, 51, 249, 65, 228, 51, 233, 139, 110, 233, 138, 15, 5, 228,
- 45, 15, 5, 228, 46, 254, 184, 29, 253, 141, 15, 5, 228, 46, 254, 184, 29,
- 251, 184, 15, 5, 228, 46, 254, 184, 29, 246, 29, 15, 5, 228, 46, 254,
- 184, 29, 242, 84, 15, 5, 228, 46, 254, 184, 29, 236, 31, 242, 75, 15, 5,
- 228, 46, 254, 184, 29, 235, 3, 15, 5, 228, 46, 254, 184, 29, 233, 157,
- 15, 5, 228, 46, 254, 184, 29, 229, 187, 15, 5, 228, 46, 254, 184, 29,
- 220, 97, 15, 5, 228, 46, 254, 184, 29, 215, 197, 15, 5, 228, 46, 234, 75,
- 29, 251, 184, 15, 5, 228, 46, 234, 75, 29, 251, 185, 69, 15, 5, 193, 15,
- 5, 226, 204, 15, 5, 226, 174, 15, 5, 226, 149, 15, 5, 226, 37, 15, 5,
- 225, 240, 15, 5, 225, 241, 29, 61, 15, 5, 225, 241, 29, 254, 185, 15, 5,
- 225, 241, 29, 251, 184, 15, 5, 225, 241, 29, 251, 54, 15, 5, 225, 241,
- 29, 74, 15, 5, 225, 241, 29, 72, 15, 5, 225, 241, 29, 240, 108, 15, 5,
- 225, 241, 29, 69, 15, 5, 225, 241, 29, 215, 197, 15, 5, 225, 241, 249,
- 65, 225, 240, 15, 5, 225, 185, 15, 5, 225, 186, 29, 234, 243, 15, 5, 225,
- 186, 29, 215, 188, 15, 5, 225, 186, 29, 212, 109, 15, 5, 225, 186, 227,
- 30, 225, 185, 15, 5, 203, 15, 5, 224, 72, 15, 5, 223, 188, 15, 5, 223,
- 51, 15, 5, 222, 202, 15, 5, 222, 191, 228, 36, 15, 5, 222, 190, 15, 5,
- 222, 191, 29, 61, 15, 5, 222, 191, 29, 246, 33, 15, 5, 222, 191, 29, 246,
- 31, 15, 5, 222, 191, 29, 159, 15, 5, 222, 191, 29, 234, 247, 15, 5, 222,
- 191, 29, 233, 217, 15, 5, 222, 191, 29, 232, 142, 15, 5, 222, 191, 29,
- 231, 42, 15, 5, 222, 191, 29, 228, 50, 15, 5, 222, 191, 29, 222, 179, 15,
- 5, 222, 191, 29, 220, 210, 15, 5, 222, 191, 29, 218, 41, 15, 5, 222, 191,
- 29, 215, 197, 15, 5, 222, 191, 29, 215, 194, 15, 5, 222, 191, 29, 215,
- 167, 15, 5, 222, 191, 29, 215, 121, 15, 5, 222, 191, 29, 215, 100, 15, 5,
- 222, 191, 110, 222, 190, 15, 5, 222, 191, 242, 75, 15, 5, 222, 179, 15,
- 5, 222, 180, 233, 141, 29, 253, 144, 15, 5, 222, 155, 15, 5, 222, 147,
- 15, 5, 221, 24, 15, 5, 221, 22, 15, 5, 221, 23, 29, 61, 15, 5, 221, 23,
- 29, 252, 94, 15, 5, 221, 23, 29, 242, 166, 15, 5, 221, 23, 29, 229, 187,
- 15, 5, 221, 23, 29, 220, 148, 15, 5, 221, 23, 29, 216, 62, 15, 5, 221,
- 23, 29, 69, 15, 5, 221, 23, 29, 111, 94, 61, 15, 5, 221, 21, 15, 5, 221,
- 19, 15, 5, 221, 1, 15, 5, 220, 243, 15, 5, 220, 244, 240, 212, 15, 5,
- 220, 244, 110, 220, 244, 243, 102, 110, 243, 102, 243, 73, 110, 243, 72,
- 15, 5, 220, 244, 110, 220, 244, 218, 42, 110, 218, 42, 243, 73, 110, 243,
- 72, 15, 5, 220, 236, 15, 5, 220, 231, 15, 5, 220, 228, 15, 5, 220, 227,
- 15, 5, 220, 224, 15, 5, 220, 210, 15, 5, 220, 211, 29, 61, 15, 5, 220,
- 211, 29, 236, 11, 15, 5, 220, 204, 15, 5, 220, 205, 29, 61, 15, 5, 220,
- 205, 29, 252, 80, 15, 5, 220, 205, 29, 251, 38, 15, 5, 220, 205, 29, 247,
- 158, 15, 5, 220, 205, 29, 243, 72, 15, 5, 220, 205, 29, 236, 30, 15, 5,
- 220, 205, 29, 236, 31, 242, 75, 15, 5, 220, 205, 29, 233, 212, 15, 5,
- 220, 205, 29, 232, 144, 15, 5, 220, 205, 29, 230, 163, 15, 5, 220, 205,
- 29, 222, 179, 15, 5, 220, 198, 15, 5, 220, 193, 15, 5, 220, 194, 217,
- 192, 15, 5, 220, 194, 110, 220, 194, 251, 28, 110, 251, 27, 15, 5, 220,
- 189, 15, 5, 220, 150, 15, 5, 220, 151, 110, 235, 191, 220, 150, 15, 5,
- 220, 148, 15, 5, 220, 147, 15, 5, 220, 117, 15, 5, 220, 118, 242, 75, 15,
- 5, 220, 108, 15, 5, 220, 106, 15, 5, 220, 107, 110, 220, 107, 220, 148,
- 15, 5, 220, 99, 15, 5, 220, 97, 15, 5, 219, 27, 15, 5, 219, 28, 110, 219,
- 27, 15, 5, 218, 255, 15, 5, 218, 254, 15, 5, 218, 252, 15, 5, 218, 244,
- 15, 5, 218, 243, 15, 5, 218, 217, 15, 5, 218, 216, 15, 5, 218, 52, 15, 5,
- 218, 53, 253, 132, 15, 5, 218, 53, 29, 241, 165, 15, 5, 218, 53, 29, 231,
- 42, 15, 5, 218, 53, 242, 75, 15, 5, 218, 41, 15, 5, 218, 42, 110, 218,
- 42, 229, 65, 110, 229, 65, 247, 140, 110, 247, 139, 15, 5, 218, 42, 219,
- 165, 15, 5, 218, 33, 15, 5, 126, 29, 251, 184, 15, 5, 126, 29, 242, 84,
- 15, 5, 126, 29, 220, 243, 15, 5, 126, 29, 220, 150, 15, 5, 126, 29, 216,
- 77, 15, 5, 126, 29, 215, 188, 15, 5, 218, 22, 15, 5, 218, 1, 15, 5, 217,
- 229, 15, 5, 217, 230, 242, 75, 15, 5, 217, 71, 15, 5, 217, 72, 217, 192,
- 15, 5, 217, 44, 15, 5, 217, 25, 15, 5, 217, 26, 29, 218, 22, 15, 5, 217,
- 26, 110, 217, 25, 15, 5, 217, 26, 110, 217, 26, 243, 102, 110, 243, 102,
- 243, 73, 110, 243, 72, 15, 5, 216, 82, 15, 5, 216, 77, 15, 5, 216, 75,
- 15, 5, 216, 72, 15, 5, 216, 62, 15, 5, 216, 63, 110, 216, 63, 212, 110,
- 110, 212, 109, 15, 5, 69, 15, 5, 111, 242, 84, 15, 5, 111, 111, 69, 15,
- 5, 111, 110, 111, 226, 214, 110, 226, 214, 243, 73, 110, 243, 72, 15, 5,
- 111, 110, 111, 218, 218, 110, 218, 217, 15, 5, 111, 110, 111, 111, 223,
- 202, 110, 111, 223, 201, 15, 5, 215, 197, 15, 5, 215, 194, 15, 5, 215,
- 188, 15, 5, 215, 189, 233, 212, 15, 5, 215, 189, 29, 252, 94, 15, 5, 215,
- 189, 29, 231, 42, 15, 5, 215, 189, 29, 111, 94, 111, 94, 69, 15, 5, 215,
- 189, 29, 111, 94, 111, 94, 111, 242, 75, 15, 5, 215, 189, 242, 75, 15, 5,
- 215, 189, 220, 225, 15, 5, 215, 189, 220, 226, 29, 252, 94, 15, 5, 215,
- 184, 15, 5, 215, 167, 15, 5, 215, 168, 29, 233, 140, 15, 5, 215, 168, 29,
- 231, 157, 94, 248, 164, 15, 5, 215, 168, 29, 221, 22, 15, 5, 215, 168,
- 29, 69, 15, 5, 215, 166, 15, 5, 215, 162, 15, 5, 215, 163, 29, 234, 212,
- 15, 5, 215, 163, 29, 193, 15, 5, 215, 160, 15, 5, 215, 161, 242, 75, 15,
- 5, 215, 121, 15, 5, 215, 122, 249, 65, 215, 121, 15, 5, 215, 122, 220,
- 225, 15, 5, 215, 119, 15, 5, 215, 120, 29, 118, 94, 159, 15, 5, 215, 120,
- 29, 118, 94, 205, 15, 5, 215, 120, 29, 254, 86, 15, 5, 215, 120, 29, 159,
- 15, 5, 215, 120, 29, 228, 50, 15, 5, 215, 120, 29, 215, 197, 15, 5, 215,
- 120, 29, 215, 198, 94, 253, 146, 15, 5, 215, 120, 29, 215, 198, 94, 251,
- 184, 15, 5, 215, 118, 15, 5, 215, 115, 15, 5, 215, 114, 15, 5, 215, 110,
- 15, 5, 215, 111, 29, 61, 15, 5, 215, 111, 29, 253, 141, 15, 5, 215, 111,
- 29, 134, 15, 5, 215, 111, 29, 246, 23, 15, 5, 215, 111, 29, 243, 110, 15,
- 5, 215, 111, 29, 243, 94, 15, 5, 215, 111, 29, 243, 81, 217, 192, 15, 5,
- 215, 111, 29, 243, 72, 15, 5, 215, 111, 29, 242, 92, 15, 5, 215, 111, 29,
- 159, 15, 5, 215, 111, 29, 236, 30, 15, 5, 215, 111, 29, 236, 11, 15, 5,
- 215, 111, 29, 235, 163, 15, 5, 215, 111, 29, 234, 101, 15, 5, 215, 111,
- 29, 232, 142, 15, 5, 215, 111, 29, 231, 1, 15, 5, 215, 111, 29, 193, 15,
- 5, 215, 111, 29, 220, 243, 15, 5, 215, 111, 29, 220, 106, 15, 5, 215,
- 111, 29, 216, 82, 15, 5, 215, 111, 29, 111, 94, 242, 84, 15, 5, 215, 111,
- 29, 215, 188, 15, 5, 215, 111, 29, 215, 108, 15, 5, 215, 108, 15, 5, 215,
- 109, 29, 69, 15, 5, 215, 100, 15, 5, 215, 101, 29, 61, 15, 5, 215, 101,
- 29, 233, 238, 15, 5, 215, 101, 29, 233, 217, 15, 5, 215, 101, 29, 218,
- 22, 15, 5, 215, 96, 15, 5, 215, 99, 15, 5, 215, 97, 15, 5, 215, 93, 15,
- 5, 215, 82, 15, 5, 215, 83, 29, 234, 212, 15, 5, 215, 81, 15, 5, 212,
- 109, 15, 5, 212, 110, 217, 192, 15, 5, 212, 110, 91, 29, 233, 217, 15, 5,
- 212, 106, 15, 5, 212, 99, 15, 5, 212, 86, 15, 5, 212, 37, 15, 5, 212, 38,
- 110, 212, 37, 15, 5, 212, 36, 15, 5, 212, 34, 15, 5, 212, 35, 235, 7,
- 217, 192, 15, 5, 212, 29, 15, 5, 212, 21, 15, 5, 212, 8, 15, 5, 212, 6,
- 15, 5, 212, 7, 29, 61, 15, 5, 212, 5, 15, 5, 212, 4, 15, 128, 5, 117,
- 253, 146, 15, 128, 5, 133, 253, 146, 15, 128, 5, 243, 237, 253, 146, 15,
- 128, 5, 244, 50, 253, 146, 15, 128, 5, 220, 53, 253, 146, 15, 128, 5,
- 221, 43, 253, 146, 15, 128, 5, 245, 150, 253, 146, 15, 128, 5, 229, 31,
- 253, 146, 15, 128, 5, 133, 247, 139, 15, 128, 5, 243, 237, 247, 139, 15,
- 128, 5, 244, 50, 247, 139, 15, 128, 5, 220, 53, 247, 139, 15, 128, 5,
- 221, 43, 247, 139, 15, 128, 5, 245, 150, 247, 139, 15, 128, 5, 229, 31,
- 247, 139, 15, 128, 5, 243, 237, 69, 15, 128, 5, 244, 50, 69, 15, 128, 5,
- 220, 53, 69, 15, 128, 5, 221, 43, 69, 15, 128, 5, 245, 150, 69, 15, 128,
- 5, 229, 31, 69, 15, 128, 5, 122, 243, 14, 15, 128, 5, 117, 243, 14, 15,
- 128, 5, 133, 243, 14, 15, 128, 5, 243, 237, 243, 14, 15, 128, 5, 244, 50,
- 243, 14, 15, 128, 5, 220, 53, 243, 14, 15, 128, 5, 221, 43, 243, 14, 15,
- 128, 5, 245, 150, 243, 14, 15, 128, 5, 229, 31, 243, 14, 15, 128, 5, 122,
- 243, 11, 15, 128, 5, 117, 243, 11, 15, 128, 5, 133, 243, 11, 15, 128, 5,
- 243, 237, 243, 11, 15, 128, 5, 244, 50, 243, 11, 15, 128, 5, 117, 221, 1,
- 15, 128, 5, 133, 221, 1, 15, 128, 5, 133, 221, 2, 214, 244, 17, 15, 128,
- 5, 243, 237, 221, 1, 15, 128, 5, 244, 50, 221, 1, 15, 128, 5, 220, 53,
- 221, 1, 15, 128, 5, 221, 43, 221, 1, 15, 128, 5, 245, 150, 221, 1, 15,
- 128, 5, 229, 31, 221, 1, 15, 128, 5, 122, 220, 252, 15, 128, 5, 117, 220,
- 252, 15, 128, 5, 133, 220, 252, 15, 128, 5, 133, 220, 253, 214, 244, 17,
- 15, 128, 5, 243, 237, 220, 252, 15, 128, 5, 244, 50, 220, 252, 15, 128,
- 5, 221, 2, 29, 243, 95, 94, 247, 139, 15, 128, 5, 221, 2, 29, 243, 95,
- 94, 231, 1, 15, 128, 5, 122, 251, 24, 15, 128, 5, 117, 251, 24, 15, 128,
- 5, 133, 251, 24, 15, 128, 5, 133, 251, 25, 214, 244, 17, 15, 128, 5, 243,
- 237, 251, 24, 15, 128, 5, 244, 50, 251, 24, 15, 128, 5, 133, 214, 244,
- 243, 245, 245, 39, 15, 128, 5, 133, 214, 244, 243, 245, 245, 36, 15, 128,
- 5, 243, 237, 214, 244, 243, 245, 232, 246, 15, 128, 5, 243, 237, 214,
- 244, 243, 245, 232, 244, 15, 128, 5, 243, 237, 214, 244, 243, 245, 232,
- 247, 61, 15, 128, 5, 243, 237, 214, 244, 243, 245, 232, 247, 253, 74, 15,
- 128, 5, 220, 53, 214, 244, 243, 245, 253, 143, 15, 128, 5, 221, 43, 214,
- 244, 243, 245, 236, 3, 15, 128, 5, 221, 43, 214, 244, 243, 245, 236, 5,
- 61, 15, 128, 5, 221, 43, 214, 244, 243, 245, 236, 5, 253, 74, 15, 128, 5,
- 245, 150, 214, 244, 243, 245, 215, 95, 15, 128, 5, 245, 150, 214, 244,
- 243, 245, 215, 94, 15, 128, 5, 229, 31, 214, 244, 243, 245, 236, 19, 15,
- 128, 5, 229, 31, 214, 244, 243, 245, 236, 18, 15, 128, 5, 229, 31, 214,
- 244, 243, 245, 236, 17, 15, 128, 5, 229, 31, 214, 244, 243, 245, 236, 20,
- 61, 15, 128, 5, 117, 253, 147, 217, 192, 15, 128, 5, 133, 253, 147, 217,
- 192, 15, 128, 5, 243, 237, 253, 147, 217, 192, 15, 128, 5, 244, 50, 253,
- 147, 217, 192, 15, 128, 5, 220, 53, 253, 147, 217, 192, 15, 128, 5, 122,
- 252, 69, 15, 128, 5, 117, 252, 69, 15, 128, 5, 133, 252, 69, 15, 128, 5,
- 243, 237, 252, 69, 15, 128, 5, 243, 237, 252, 70, 214, 244, 17, 15, 128,
- 5, 244, 50, 252, 69, 15, 128, 5, 244, 50, 252, 70, 214, 244, 17, 15, 128,
- 5, 229, 41, 15, 128, 5, 229, 42, 15, 128, 5, 122, 245, 35, 15, 128, 5,
- 117, 245, 35, 15, 128, 5, 122, 217, 122, 247, 139, 15, 128, 5, 117, 217,
- 120, 247, 139, 15, 128, 5, 244, 50, 220, 42, 247, 139, 15, 128, 5, 122,
- 217, 122, 214, 244, 243, 245, 61, 15, 128, 5, 117, 217, 120, 214, 244,
- 243, 245, 61, 15, 128, 5, 122, 245, 146, 253, 146, 15, 128, 5, 122, 224,
- 167, 253, 146, 15, 128, 5, 53, 253, 135, 122, 220, 43, 15, 128, 5, 53,
- 253, 135, 122, 224, 166, 15, 225, 27, 5, 53, 253, 135, 213, 196, 247,
- 124, 15, 225, 27, 5, 71, 249, 164, 15, 225, 27, 5, 247, 207, 249, 164,
- 15, 225, 27, 5, 247, 207, 216, 179, 10, 11, 255, 58, 10, 11, 255, 57, 10,
- 11, 255, 56, 10, 11, 255, 55, 10, 11, 255, 54, 10, 11, 255, 53, 10, 11,
- 255, 52, 10, 11, 255, 51, 10, 11, 255, 50, 10, 11, 255, 49, 10, 11, 255,
- 48, 10, 11, 255, 47, 10, 11, 255, 46, 10, 11, 255, 45, 10, 11, 255, 44,
- 10, 11, 255, 43, 10, 11, 255, 42, 10, 11, 255, 41, 10, 11, 255, 40, 10,
- 11, 255, 39, 10, 11, 255, 38, 10, 11, 255, 37, 10, 11, 255, 36, 10, 11,
- 255, 35, 10, 11, 255, 34, 10, 11, 255, 33, 10, 11, 255, 32, 10, 11, 255,
- 31, 10, 11, 255, 30, 10, 11, 255, 29, 10, 11, 255, 28, 10, 11, 255, 27,
- 10, 11, 255, 26, 10, 11, 255, 25, 10, 11, 255, 24, 10, 11, 255, 23, 10,
- 11, 255, 22, 10, 11, 255, 21, 10, 11, 255, 20, 10, 11, 255, 19, 10, 11,
- 255, 18, 10, 11, 255, 17, 10, 11, 255, 16, 10, 11, 255, 15, 10, 11, 255,
- 14, 10, 11, 255, 13, 10, 11, 255, 12, 10, 11, 255, 11, 10, 11, 255, 10,
- 10, 11, 255, 9, 10, 11, 255, 8, 10, 11, 255, 7, 10, 11, 255, 6, 10, 11,
- 255, 5, 10, 11, 255, 4, 10, 11, 255, 3, 10, 11, 255, 2, 10, 11, 255, 1,
- 10, 11, 255, 0, 10, 11, 254, 255, 10, 11, 254, 254, 10, 11, 254, 253, 10,
- 11, 254, 252, 10, 11, 254, 251, 10, 11, 254, 250, 10, 11, 254, 249, 10,
- 11, 254, 248, 10, 11, 254, 247, 10, 11, 254, 246, 10, 11, 254, 245, 10,
- 11, 254, 244, 10, 11, 254, 243, 10, 11, 254, 242, 10, 11, 254, 241, 10,
- 11, 254, 240, 10, 11, 254, 239, 10, 11, 254, 238, 10, 11, 254, 237, 10,
- 11, 254, 236, 10, 11, 254, 235, 10, 11, 253, 72, 10, 11, 253, 70, 10, 11,
- 253, 68, 10, 11, 253, 66, 10, 11, 253, 64, 10, 11, 253, 63, 10, 11, 253,
- 61, 10, 11, 253, 59, 10, 11, 253, 57, 10, 11, 253, 55, 10, 11, 250, 248,
- 10, 11, 250, 247, 10, 11, 250, 246, 10, 11, 250, 245, 10, 11, 250, 244,
- 10, 11, 250, 243, 10, 11, 250, 242, 10, 11, 250, 241, 10, 11, 250, 240,
- 10, 11, 250, 239, 10, 11, 250, 238, 10, 11, 250, 237, 10, 11, 250, 236,
- 10, 11, 250, 235, 10, 11, 250, 234, 10, 11, 250, 233, 10, 11, 250, 232,
- 10, 11, 250, 231, 10, 11, 250, 230, 10, 11, 250, 229, 10, 11, 250, 228,
- 10, 11, 250, 227, 10, 11, 250, 226, 10, 11, 250, 225, 10, 11, 250, 224,
- 10, 11, 250, 223, 10, 11, 250, 222, 10, 11, 250, 221, 10, 11, 249, 2, 10,
- 11, 249, 1, 10, 11, 249, 0, 10, 11, 248, 255, 10, 11, 248, 254, 10, 11,
- 248, 253, 10, 11, 248, 252, 10, 11, 248, 251, 10, 11, 248, 250, 10, 11,
- 248, 249, 10, 11, 248, 248, 10, 11, 248, 247, 10, 11, 248, 246, 10, 11,
- 248, 245, 10, 11, 248, 244, 10, 11, 248, 243, 10, 11, 248, 242, 10, 11,
- 248, 241, 10, 11, 248, 240, 10, 11, 248, 239, 10, 11, 248, 238, 10, 11,
- 248, 237, 10, 11, 248, 236, 10, 11, 248, 235, 10, 11, 248, 234, 10, 11,
- 248, 233, 10, 11, 248, 232, 10, 11, 248, 231, 10, 11, 248, 230, 10, 11,
- 248, 229, 10, 11, 248, 228, 10, 11, 248, 227, 10, 11, 248, 226, 10, 11,
- 248, 225, 10, 11, 248, 224, 10, 11, 248, 223, 10, 11, 248, 222, 10, 11,
- 248, 221, 10, 11, 248, 220, 10, 11, 248, 219, 10, 11, 248, 218, 10, 11,
- 248, 217, 10, 11, 248, 216, 10, 11, 248, 215, 10, 11, 248, 214, 10, 11,
- 248, 213, 10, 11, 248, 212, 10, 11, 248, 211, 10, 11, 248, 210, 10, 11,
- 248, 209, 10, 11, 248, 208, 10, 11, 248, 207, 10, 11, 248, 206, 10, 11,
- 248, 205, 10, 11, 248, 204, 10, 11, 248, 203, 10, 11, 248, 202, 10, 11,
- 248, 201, 10, 11, 248, 200, 10, 11, 248, 199, 10, 11, 248, 198, 10, 11,
- 248, 197, 10, 11, 248, 196, 10, 11, 248, 195, 10, 11, 248, 194, 10, 11,
- 248, 193, 10, 11, 248, 192, 10, 11, 248, 191, 10, 11, 248, 190, 10, 11,
- 248, 189, 10, 11, 248, 188, 10, 11, 248, 187, 10, 11, 248, 186, 10, 11,
- 248, 185, 10, 11, 248, 184, 10, 11, 248, 183, 10, 11, 248, 182, 10, 11,
- 248, 181, 10, 11, 248, 180, 10, 11, 248, 179, 10, 11, 248, 178, 10, 11,
- 248, 177, 10, 11, 248, 176, 10, 11, 248, 175, 10, 11, 248, 174, 10, 11,
- 248, 173, 10, 11, 248, 172, 10, 11, 248, 171, 10, 11, 248, 170, 10, 11,
- 248, 169, 10, 11, 248, 168, 10, 11, 248, 167, 10, 11, 245, 235, 10, 11,
- 245, 234, 10, 11, 245, 233, 10, 11, 245, 232, 10, 11, 245, 231, 10, 11,
- 245, 230, 10, 11, 245, 229, 10, 11, 245, 228, 10, 11, 245, 227, 10, 11,
- 245, 226, 10, 11, 245, 225, 10, 11, 245, 224, 10, 11, 245, 223, 10, 11,
- 245, 222, 10, 11, 245, 221, 10, 11, 245, 220, 10, 11, 245, 219, 10, 11,
- 245, 218, 10, 11, 245, 217, 10, 11, 245, 216, 10, 11, 245, 215, 10, 11,
- 245, 214, 10, 11, 245, 213, 10, 11, 245, 212, 10, 11, 245, 211, 10, 11,
- 245, 210, 10, 11, 245, 209, 10, 11, 245, 208, 10, 11, 245, 207, 10, 11,
- 245, 206, 10, 11, 245, 205, 10, 11, 245, 204, 10, 11, 245, 203, 10, 11,
- 245, 202, 10, 11, 245, 201, 10, 11, 245, 200, 10, 11, 245, 199, 10, 11,
- 245, 198, 10, 11, 245, 197, 10, 11, 245, 196, 10, 11, 245, 195, 10, 11,
- 245, 194, 10, 11, 245, 193, 10, 11, 245, 192, 10, 11, 244, 229, 10, 11,
- 244, 228, 10, 11, 244, 227, 10, 11, 244, 226, 10, 11, 244, 225, 10, 11,
- 244, 224, 10, 11, 244, 223, 10, 11, 244, 222, 10, 11, 244, 221, 10, 11,
- 244, 220, 10, 11, 244, 219, 10, 11, 244, 218, 10, 11, 244, 217, 10, 11,
- 244, 216, 10, 11, 244, 215, 10, 11, 244, 214, 10, 11, 244, 213, 10, 11,
- 244, 212, 10, 11, 244, 211, 10, 11, 244, 210, 10, 11, 244, 209, 10, 11,
- 244, 208, 10, 11, 244, 207, 10, 11, 244, 206, 10, 11, 244, 205, 10, 11,
- 244, 204, 10, 11, 244, 203, 10, 11, 244, 202, 10, 11, 244, 201, 10, 11,
- 244, 200, 10, 11, 244, 199, 10, 11, 244, 198, 10, 11, 244, 197, 10, 11,
- 244, 196, 10, 11, 244, 195, 10, 11, 244, 194, 10, 11, 244, 193, 10, 11,
- 244, 192, 10, 11, 244, 191, 10, 11, 244, 190, 10, 11, 244, 189, 10, 11,
- 244, 188, 10, 11, 244, 187, 10, 11, 244, 186, 10, 11, 244, 185, 10, 11,
- 244, 184, 10, 11, 244, 183, 10, 11, 244, 182, 10, 11, 244, 181, 10, 11,
- 244, 180, 10, 11, 244, 179, 10, 11, 244, 178, 10, 11, 244, 177, 10, 11,
- 244, 176, 10, 11, 244, 175, 10, 11, 244, 174, 10, 11, 244, 173, 10, 11,
- 244, 172, 10, 11, 244, 171, 10, 11, 244, 170, 10, 11, 244, 169, 10, 11,
- 244, 168, 10, 11, 244, 167, 10, 11, 244, 166, 10, 11, 244, 165, 10, 11,
- 243, 176, 10, 11, 243, 175, 10, 11, 243, 174, 10, 11, 243, 173, 10, 11,
- 243, 172, 10, 11, 243, 171, 10, 11, 243, 170, 10, 11, 243, 169, 10, 11,
- 243, 168, 10, 11, 243, 167, 10, 11, 243, 166, 10, 11, 243, 165, 10, 11,
- 243, 164, 10, 11, 243, 163, 10, 11, 243, 162, 10, 11, 243, 161, 10, 11,
- 243, 160, 10, 11, 243, 159, 10, 11, 243, 158, 10, 11, 243, 157, 10, 11,
- 243, 156, 10, 11, 243, 155, 10, 11, 243, 154, 10, 11, 243, 153, 10, 11,
- 243, 152, 10, 11, 243, 151, 10, 11, 243, 150, 10, 11, 243, 149, 10, 11,
- 243, 148, 10, 11, 243, 147, 10, 11, 243, 146, 10, 11, 243, 145, 10, 11,
- 243, 144, 10, 11, 243, 143, 10, 11, 243, 142, 10, 11, 243, 141, 10, 11,
- 243, 140, 10, 11, 243, 139, 10, 11, 243, 138, 10, 11, 243, 137, 10, 11,
- 243, 136, 10, 11, 243, 135, 10, 11, 243, 134, 10, 11, 243, 133, 10, 11,
- 243, 132, 10, 11, 243, 131, 10, 11, 243, 130, 10, 11, 243, 129, 10, 11,
- 243, 128, 10, 11, 243, 127, 10, 11, 243, 126, 10, 11, 243, 125, 10, 11,
- 243, 124, 10, 11, 243, 123, 10, 11, 243, 122, 10, 11, 243, 121, 10, 11,
- 243, 120, 10, 11, 243, 119, 10, 11, 243, 118, 10, 11, 243, 117, 10, 11,
- 243, 116, 10, 11, 243, 115, 10, 11, 243, 114, 10, 11, 243, 113, 10, 11,
- 242, 39, 10, 11, 242, 38, 10, 11, 242, 37, 10, 11, 242, 36, 10, 11, 242,
- 35, 10, 11, 242, 34, 10, 11, 242, 33, 10, 11, 242, 32, 10, 11, 242, 31,
- 10, 11, 240, 130, 10, 11, 240, 129, 10, 11, 240, 128, 10, 11, 240, 127,
- 10, 11, 240, 126, 10, 11, 240, 125, 10, 11, 240, 124, 10, 11, 240, 123,
- 10, 11, 240, 122, 10, 11, 240, 121, 10, 11, 240, 120, 10, 11, 240, 119,
- 10, 11, 240, 118, 10, 11, 240, 117, 10, 11, 240, 116, 10, 11, 240, 115,
- 10, 11, 240, 114, 10, 11, 240, 113, 10, 11, 240, 112, 10, 11, 235, 26,
- 10, 11, 235, 25, 10, 11, 235, 24, 10, 11, 235, 23, 10, 11, 235, 22, 10,
- 11, 235, 21, 10, 11, 235, 20, 10, 11, 235, 19, 10, 11, 233, 168, 10, 11,
- 233, 167, 10, 11, 233, 166, 10, 11, 233, 165, 10, 11, 233, 164, 10, 11,
- 233, 163, 10, 11, 233, 162, 10, 11, 233, 161, 10, 11, 233, 160, 10, 11,
- 233, 159, 10, 11, 232, 109, 10, 11, 232, 108, 10, 11, 232, 107, 10, 11,
- 232, 106, 10, 11, 232, 105, 10, 11, 232, 104, 10, 11, 232, 103, 10, 11,
- 232, 102, 10, 11, 232, 101, 10, 11, 232, 100, 10, 11, 232, 99, 10, 11,
- 232, 98, 10, 11, 232, 97, 10, 11, 232, 96, 10, 11, 232, 95, 10, 11, 232,
- 94, 10, 11, 232, 93, 10, 11, 232, 92, 10, 11, 232, 91, 10, 11, 232, 90,
- 10, 11, 232, 89, 10, 11, 232, 88, 10, 11, 232, 87, 10, 11, 232, 86, 10,
- 11, 232, 85, 10, 11, 232, 84, 10, 11, 232, 83, 10, 11, 232, 82, 10, 11,
- 232, 81, 10, 11, 232, 80, 10, 11, 232, 79, 10, 11, 232, 78, 10, 11, 232,
- 77, 10, 11, 232, 76, 10, 11, 232, 75, 10, 11, 232, 74, 10, 11, 232, 73,
- 10, 11, 232, 72, 10, 11, 232, 71, 10, 11, 232, 70, 10, 11, 232, 69, 10,
- 11, 232, 68, 10, 11, 232, 67, 10, 11, 232, 66, 10, 11, 232, 65, 10, 11,
- 232, 64, 10, 11, 232, 63, 10, 11, 232, 62, 10, 11, 232, 61, 10, 11, 232,
- 60, 10, 11, 232, 59, 10, 11, 232, 58, 10, 11, 232, 57, 10, 11, 232, 56,
- 10, 11, 232, 55, 10, 11, 232, 54, 10, 11, 232, 53, 10, 11, 232, 52, 10,
- 11, 232, 51, 10, 11, 232, 50, 10, 11, 232, 49, 10, 11, 232, 48, 10, 11,
- 232, 47, 10, 11, 232, 46, 10, 11, 232, 45, 10, 11, 232, 44, 10, 11, 230,
- 95, 10, 11, 230, 94, 10, 11, 230, 93, 10, 11, 230, 92, 10, 11, 230, 91,
- 10, 11, 230, 90, 10, 11, 230, 89, 10, 11, 230, 88, 10, 11, 230, 87, 10,
- 11, 230, 86, 10, 11, 230, 85, 10, 11, 230, 84, 10, 11, 230, 83, 10, 11,
- 230, 82, 10, 11, 230, 81, 10, 11, 230, 80, 10, 11, 230, 79, 10, 11, 230,
- 78, 10, 11, 230, 77, 10, 11, 230, 76, 10, 11, 230, 75, 10, 11, 230, 74,
- 10, 11, 230, 73, 10, 11, 230, 72, 10, 11, 230, 71, 10, 11, 230, 70, 10,
- 11, 230, 69, 10, 11, 230, 68, 10, 11, 230, 67, 10, 11, 230, 66, 10, 11,
- 230, 65, 10, 11, 230, 64, 10, 11, 230, 63, 10, 11, 230, 62, 10, 11, 230,
- 61, 10, 11, 230, 60, 10, 11, 230, 59, 10, 11, 230, 58, 10, 11, 230, 57,
- 10, 11, 230, 56, 10, 11, 230, 55, 10, 11, 230, 54, 10, 11, 230, 53, 10,
- 11, 230, 52, 10, 11, 230, 51, 10, 11, 230, 50, 10, 11, 230, 49, 10, 11,
- 230, 48, 10, 11, 230, 47, 10, 11, 228, 222, 10, 11, 228, 221, 10, 11,
- 228, 220, 10, 11, 228, 219, 10, 11, 228, 218, 10, 11, 228, 217, 10, 11,
- 228, 216, 10, 11, 228, 215, 10, 11, 228, 214, 10, 11, 228, 213, 10, 11,
- 228, 212, 10, 11, 228, 211, 10, 11, 228, 210, 10, 11, 228, 209, 10, 11,
- 228, 208, 10, 11, 228, 207, 10, 11, 228, 206, 10, 11, 228, 205, 10, 11,
- 228, 204, 10, 11, 228, 203, 10, 11, 228, 202, 10, 11, 228, 201, 10, 11,
- 228, 91, 10, 11, 228, 90, 10, 11, 228, 89, 10, 11, 228, 88, 10, 11, 228,
- 87, 10, 11, 228, 86, 10, 11, 228, 85, 10, 11, 228, 84, 10, 11, 228, 83,
- 10, 11, 228, 82, 10, 11, 228, 81, 10, 11, 228, 80, 10, 11, 228, 79, 10,
- 11, 228, 78, 10, 11, 228, 77, 10, 11, 228, 76, 10, 11, 228, 75, 10, 11,
- 228, 74, 10, 11, 228, 73, 10, 11, 228, 72, 10, 11, 228, 71, 10, 11, 228,
- 70, 10, 11, 228, 69, 10, 11, 228, 68, 10, 11, 228, 67, 10, 11, 228, 66,
+ 0, 219, 225, 245, 119, 79, 224, 178, 79, 51, 53, 247, 207, 53, 226, 93,
+ 53, 254, 162, 254, 97, 43, 226, 168, 47, 226, 168, 254, 3, 95, 53, 250,
+ 23, 241, 20, 244, 64, 219, 83, 219, 250, 21, 212, 79, 21, 118, 21, 112,
+ 21, 170, 21, 167, 21, 185, 21, 192, 21, 200, 21, 198, 21, 203, 250, 30,
+ 221, 93, 233, 137, 53, 245, 182, 53, 242, 228, 53, 224, 193, 79, 250, 22,
+ 253, 249, 7, 6, 1, 63, 7, 6, 1, 253, 201, 7, 6, 1, 251, 121, 7, 6, 1,
+ 249, 125, 7, 6, 1, 77, 7, 6, 1, 245, 95, 7, 6, 1, 244, 41, 7, 6, 1, 242,
+ 162, 7, 6, 1, 75, 7, 6, 1, 236, 3, 7, 6, 1, 235, 141, 7, 6, 1, 155, 7, 6,
+ 1, 184, 7, 6, 1, 206, 7, 6, 1, 78, 7, 6, 1, 227, 11, 7, 6, 1, 225, 19, 7,
+ 6, 1, 152, 7, 6, 1, 196, 7, 6, 1, 218, 113, 7, 6, 1, 72, 7, 6, 1, 211,
+ 211, 7, 6, 1, 214, 85, 7, 6, 1, 213, 169, 7, 6, 1, 213, 108, 7, 6, 1,
+ 212, 152, 43, 42, 125, 223, 237, 219, 250, 47, 42, 125, 250, 91, 255, 46,
+ 117, 233, 83, 242, 234, 255, 46, 7, 4, 1, 63, 7, 4, 1, 253, 201, 7, 4, 1,
+ 251, 121, 7, 4, 1, 249, 125, 7, 4, 1, 77, 7, 4, 1, 245, 95, 7, 4, 1, 244,
+ 41, 7, 4, 1, 242, 162, 7, 4, 1, 75, 7, 4, 1, 236, 3, 7, 4, 1, 235, 141,
+ 7, 4, 1, 155, 7, 4, 1, 184, 7, 4, 1, 206, 7, 4, 1, 78, 7, 4, 1, 227, 11,
+ 7, 4, 1, 225, 19, 7, 4, 1, 152, 7, 4, 1, 196, 7, 4, 1, 218, 113, 7, 4, 1,
+ 72, 7, 4, 1, 211, 211, 7, 4, 1, 214, 85, 7, 4, 1, 213, 169, 7, 4, 1, 213,
+ 108, 7, 4, 1, 212, 152, 43, 249, 163, 125, 66, 233, 83, 47, 249, 163,
+ 125, 177, 228, 227, 219, 225, 236, 52, 245, 119, 79, 250, 233, 53, 225,
+ 144, 53, 249, 162, 53, 213, 32, 53, 251, 188, 134, 222, 115, 53, 248, 74,
+ 249, 225, 53, 244, 225, 227, 59, 236, 96, 233, 164, 52, 254, 146, 224,
+ 178, 79, 228, 206, 53, 219, 255, 241, 21, 224, 30, 53, 232, 110, 248,
+ 143, 53, 225, 191, 53, 218, 237, 112, 218, 237, 170, 255, 36, 255, 46,
+ 231, 111, 53, 225, 236, 53, 231, 107, 247, 195, 250, 240, 218, 237, 118,
+ 232, 26, 227, 59, 236, 96, 223, 178, 52, 254, 146, 224, 178, 79, 214,
+ 101, 244, 92, 124, 224, 201, 214, 101, 244, 92, 124, 242, 129, 214, 101,
+ 244, 92, 137, 224, 199, 236, 52, 224, 193, 79, 7, 6, 1, 111, 2, 209, 7,
+ 6, 1, 111, 2, 138, 7, 6, 1, 111, 2, 250, 90, 7, 6, 1, 111, 2, 177, 7, 6,
+ 1, 111, 2, 248, 74, 7, 6, 1, 111, 2, 223, 165, 50, 7, 6, 1, 255, 20, 7,
+ 6, 1, 251, 122, 2, 250, 240, 7, 6, 1, 154, 2, 209, 7, 6, 1, 154, 2, 138,
+ 7, 6, 1, 154, 2, 250, 90, 7, 6, 1, 154, 2, 248, 74, 7, 6, 1, 241, 7, 2,
+ 209, 7, 6, 1, 241, 7, 2, 138, 7, 6, 1, 241, 7, 2, 250, 90, 7, 6, 1, 241,
+ 7, 2, 248, 74, 7, 6, 1, 245, 146, 7, 6, 1, 230, 167, 2, 177, 7, 6, 1,
+ 141, 2, 209, 7, 6, 1, 141, 2, 138, 7, 6, 1, 141, 2, 250, 90, 7, 6, 1,
+ 141, 2, 177, 7, 6, 1, 141, 2, 248, 74, 230, 224, 53, 7, 6, 1, 141, 2, 91,
+ 7, 6, 1, 103, 2, 209, 7, 6, 1, 103, 2, 138, 7, 6, 1, 103, 2, 250, 90, 7,
+ 6, 1, 103, 2, 248, 74, 7, 6, 1, 213, 109, 2, 138, 7, 6, 1, 217, 117, 7,
+ 4, 1, 221, 21, 196, 7, 4, 1, 111, 2, 209, 7, 4, 1, 111, 2, 138, 7, 4, 1,
+ 111, 2, 250, 90, 7, 4, 1, 111, 2, 177, 7, 4, 1, 111, 2, 248, 74, 7, 4, 1,
+ 111, 2, 223, 165, 50, 7, 4, 1, 255, 20, 7, 4, 1, 251, 122, 2, 250, 240,
+ 7, 4, 1, 154, 2, 209, 7, 4, 1, 154, 2, 138, 7, 4, 1, 154, 2, 250, 90, 7,
+ 4, 1, 154, 2, 248, 74, 7, 4, 1, 241, 7, 2, 209, 7, 4, 1, 241, 7, 2, 138,
+ 7, 4, 1, 241, 7, 2, 250, 90, 7, 4, 1, 241, 7, 2, 248, 74, 7, 4, 1, 245,
+ 146, 7, 4, 1, 230, 167, 2, 177, 7, 4, 1, 141, 2, 209, 7, 4, 1, 141, 2,
+ 138, 7, 4, 1, 141, 2, 250, 90, 7, 4, 1, 141, 2, 177, 7, 4, 1, 141, 2,
+ 248, 74, 247, 242, 53, 7, 4, 1, 141, 2, 91, 7, 4, 1, 103, 2, 209, 7, 4,
+ 1, 103, 2, 138, 7, 4, 1, 103, 2, 250, 90, 7, 4, 1, 103, 2, 248, 74, 7, 4,
+ 1, 213, 109, 2, 138, 7, 4, 1, 217, 117, 7, 4, 1, 213, 109, 2, 248, 74, 7,
+ 6, 1, 111, 2, 232, 110, 7, 4, 1, 111, 2, 232, 110, 7, 6, 1, 111, 2, 251,
+ 199, 7, 4, 1, 111, 2, 251, 199, 7, 6, 1, 111, 2, 227, 127, 7, 4, 1, 111,
+ 2, 227, 127, 7, 6, 1, 251, 122, 2, 138, 7, 4, 1, 251, 122, 2, 138, 7, 6,
+ 1, 251, 122, 2, 250, 90, 7, 4, 1, 251, 122, 2, 250, 90, 7, 6, 1, 251,
+ 122, 2, 62, 50, 7, 4, 1, 251, 122, 2, 62, 50, 7, 6, 1, 251, 122, 2, 251,
+ 34, 7, 4, 1, 251, 122, 2, 251, 34, 7, 6, 1, 249, 126, 2, 251, 34, 7, 4,
+ 1, 249, 126, 2, 251, 34, 7, 6, 1, 249, 126, 2, 91, 7, 4, 1, 249, 126, 2,
+ 91, 7, 6, 1, 154, 2, 232, 110, 7, 4, 1, 154, 2, 232, 110, 7, 6, 1, 154,
+ 2, 251, 199, 7, 4, 1, 154, 2, 251, 199, 7, 6, 1, 154, 2, 62, 50, 7, 4, 1,
+ 154, 2, 62, 50, 7, 6, 1, 154, 2, 227, 127, 7, 4, 1, 154, 2, 227, 127, 7,
+ 6, 1, 154, 2, 251, 34, 7, 4, 1, 154, 2, 251, 34, 7, 6, 1, 244, 42, 2,
+ 250, 90, 7, 4, 1, 244, 42, 2, 250, 90, 7, 6, 1, 244, 42, 2, 251, 199, 7,
+ 4, 1, 244, 42, 2, 251, 199, 7, 6, 1, 244, 42, 2, 62, 50, 7, 4, 1, 244,
+ 42, 2, 62, 50, 7, 6, 1, 244, 42, 2, 250, 240, 7, 4, 1, 244, 42, 2, 250,
+ 240, 7, 6, 1, 242, 163, 2, 250, 90, 7, 4, 1, 242, 163, 2, 250, 90, 7, 6,
+ 1, 242, 163, 2, 91, 7, 4, 1, 242, 163, 2, 91, 7, 6, 1, 241, 7, 2, 177, 7,
+ 4, 1, 241, 7, 2, 177, 7, 6, 1, 241, 7, 2, 232, 110, 7, 4, 1, 241, 7, 2,
+ 232, 110, 7, 6, 1, 241, 7, 2, 251, 199, 7, 4, 1, 241, 7, 2, 251, 199, 7,
+ 6, 1, 241, 7, 2, 227, 127, 7, 4, 1, 241, 7, 2, 227, 127, 7, 6, 1, 241, 7,
+ 2, 62, 50, 7, 4, 1, 247, 194, 75, 7, 6, 26, 236, 143, 7, 4, 26, 236, 143,
+ 7, 6, 1, 236, 4, 2, 250, 90, 7, 4, 1, 236, 4, 2, 250, 90, 7, 6, 1, 235,
+ 142, 2, 250, 240, 7, 4, 1, 235, 142, 2, 250, 240, 7, 4, 1, 234, 103, 7,
+ 6, 1, 234, 13, 2, 138, 7, 4, 1, 234, 13, 2, 138, 7, 6, 1, 234, 13, 2,
+ 250, 240, 7, 4, 1, 234, 13, 2, 250, 240, 7, 6, 1, 234, 13, 2, 251, 34, 7,
+ 4, 1, 234, 13, 2, 251, 34, 7, 6, 1, 234, 13, 2, 231, 107, 247, 195, 7, 4,
+ 1, 234, 13, 2, 231, 107, 247, 195, 7, 6, 1, 234, 13, 2, 91, 7, 4, 1, 234,
+ 13, 2, 91, 7, 6, 1, 230, 167, 2, 138, 7, 4, 1, 230, 167, 2, 138, 7, 6, 1,
+ 230, 167, 2, 250, 240, 7, 4, 1, 230, 167, 2, 250, 240, 7, 6, 1, 230, 167,
+ 2, 251, 34, 7, 4, 1, 230, 167, 2, 251, 34, 7, 4, 1, 230, 167, 225, 120,
+ 251, 132, 254, 97, 7, 6, 1, 245, 217, 7, 4, 1, 245, 217, 7, 6, 1, 141, 2,
+ 232, 110, 7, 4, 1, 141, 2, 232, 110, 7, 6, 1, 141, 2, 251, 199, 7, 4, 1,
+ 141, 2, 251, 199, 7, 6, 1, 141, 2, 52, 138, 7, 4, 1, 141, 2, 52, 138, 7,
+ 6, 26, 227, 136, 7, 4, 26, 227, 136, 7, 6, 1, 224, 148, 2, 138, 7, 4, 1,
+ 224, 148, 2, 138, 7, 6, 1, 224, 148, 2, 250, 240, 7, 4, 1, 224, 148, 2,
+ 250, 240, 7, 6, 1, 224, 148, 2, 251, 34, 7, 4, 1, 224, 148, 2, 251, 34,
+ 7, 6, 1, 223, 29, 2, 138, 7, 4, 1, 223, 29, 2, 138, 7, 6, 1, 223, 29, 2,
+ 250, 90, 7, 4, 1, 223, 29, 2, 250, 90, 7, 6, 1, 223, 29, 2, 250, 240, 7,
+ 4, 1, 223, 29, 2, 250, 240, 7, 6, 1, 223, 29, 2, 251, 34, 7, 4, 1, 223,
+ 29, 2, 251, 34, 7, 6, 1, 218, 114, 2, 250, 240, 7, 4, 1, 218, 114, 2,
+ 250, 240, 7, 6, 1, 218, 114, 2, 251, 34, 7, 4, 1, 218, 114, 2, 251, 34,
+ 7, 6, 1, 218, 114, 2, 91, 7, 4, 1, 218, 114, 2, 91, 7, 6, 1, 103, 2, 177,
+ 7, 4, 1, 103, 2, 177, 7, 6, 1, 103, 2, 232, 110, 7, 4, 1, 103, 2, 232,
+ 110, 7, 6, 1, 103, 2, 251, 199, 7, 4, 1, 103, 2, 251, 199, 7, 6, 1, 103,
+ 2, 223, 165, 50, 7, 4, 1, 103, 2, 223, 165, 50, 7, 6, 1, 103, 2, 52, 138,
+ 7, 4, 1, 103, 2, 52, 138, 7, 6, 1, 103, 2, 227, 127, 7, 4, 1, 103, 2,
+ 227, 127, 7, 6, 1, 214, 86, 2, 250, 90, 7, 4, 1, 214, 86, 2, 250, 90, 7,
+ 6, 1, 213, 109, 2, 250, 90, 7, 4, 1, 213, 109, 2, 250, 90, 7, 6, 1, 213,
+ 109, 2, 248, 74, 7, 6, 1, 212, 153, 2, 138, 7, 4, 1, 212, 153, 2, 138, 7,
+ 6, 1, 212, 153, 2, 62, 50, 7, 4, 1, 212, 153, 2, 62, 50, 7, 6, 1, 212,
+ 153, 2, 251, 34, 7, 4, 1, 212, 153, 2, 251, 34, 7, 4, 1, 187, 196, 7, 4,
+ 1, 57, 2, 91, 7, 6, 1, 57, 2, 102, 7, 6, 1, 57, 2, 216, 237, 7, 4, 1, 57,
+ 2, 216, 237, 7, 6, 1, 161, 192, 7, 4, 1, 161, 192, 7, 6, 1, 210, 78, 7,
+ 6, 1, 251, 122, 2, 102, 7, 4, 1, 251, 122, 2, 102, 7, 6, 1, 254, 252,
+ 249, 125, 7, 6, 1, 249, 126, 2, 102, 7, 6, 1, 249, 126, 2, 216, 237, 7,
+ 4, 1, 249, 126, 2, 216, 237, 7, 4, 1, 216, 66, 248, 126, 7, 6, 1, 223,
+ 236, 77, 7, 6, 1, 222, 136, 7, 6, 1, 210, 77, 7, 6, 1, 245, 96, 2, 102,
+ 7, 4, 1, 245, 96, 2, 102, 7, 6, 1, 244, 42, 2, 102, 7, 6, 1, 243, 203, 7,
+ 4, 1, 241, 54, 7, 6, 1, 236, 44, 7, 6, 1, 241, 7, 2, 91, 7, 6, 1, 235,
+ 142, 2, 102, 7, 4, 1, 235, 142, 2, 102, 7, 4, 1, 234, 13, 2, 134, 7, 4,
+ 1, 233, 222, 2, 91, 7, 6, 1, 216, 66, 184, 7, 6, 1, 230, 167, 2, 43, 102,
+ 7, 4, 1, 230, 167, 2, 187, 47, 233, 158, 7, 6, 1, 141, 2, 231, 107, 177,
+ 7, 6, 1, 141, 2, 241, 97, 7, 4, 1, 141, 2, 241, 97, 7, 6, 1, 227, 122, 7,
+ 4, 1, 227, 122, 7, 6, 1, 227, 12, 2, 102, 7, 4, 1, 227, 12, 2, 102, 7, 1,
+ 212, 206, 7, 6, 1, 161, 112, 7, 4, 1, 161, 112, 7, 6, 1, 245, 161, 7, 1,
+ 223, 236, 245, 162, 232, 251, 7, 4, 1, 218, 114, 2, 226, 230, 102, 7, 6,
+ 1, 218, 114, 2, 102, 7, 4, 1, 218, 114, 2, 102, 7, 6, 1, 218, 114, 2,
+ 223, 241, 102, 7, 6, 1, 103, 2, 241, 97, 7, 4, 1, 103, 2, 241, 97, 7, 6,
+ 1, 215, 134, 7, 6, 1, 215, 86, 2, 102, 7, 6, 1, 213, 109, 2, 102, 7, 4,
+ 1, 213, 109, 2, 102, 7, 6, 1, 212, 153, 2, 91, 7, 4, 1, 212, 153, 2, 91,
+ 7, 6, 1, 245, 97, 7, 6, 1, 245, 98, 223, 235, 7, 4, 1, 245, 98, 223, 235,
+ 7, 4, 1, 245, 98, 2, 218, 40, 7, 1, 119, 2, 91, 7, 6, 1, 161, 185, 7, 4,
+ 1, 161, 185, 7, 1, 236, 52, 243, 20, 219, 84, 2, 91, 7, 1, 213, 172, 7,
+ 1, 248, 119, 250, 71, 7, 1, 233, 199, 250, 71, 7, 1, 254, 173, 250, 71,
+ 7, 1, 223, 241, 250, 71, 7, 6, 1, 246, 116, 2, 251, 34, 7, 6, 1, 249,
+ 126, 2, 4, 1, 212, 153, 2, 251, 34, 7, 4, 1, 246, 116, 2, 251, 34, 7, 6,
+ 1, 233, 58, 7, 6, 1, 234, 13, 2, 4, 1, 236, 3, 7, 4, 1, 233, 58, 7, 6, 1,
+ 229, 81, 7, 6, 1, 230, 167, 2, 4, 1, 236, 3, 7, 4, 1, 229, 81, 7, 6, 1,
+ 111, 2, 251, 34, 7, 4, 1, 111, 2, 251, 34, 7, 6, 1, 241, 7, 2, 251, 34,
+ 7, 4, 1, 241, 7, 2, 251, 34, 7, 6, 1, 141, 2, 251, 34, 7, 4, 1, 141, 2,
+ 251, 34, 7, 6, 1, 103, 2, 251, 34, 7, 4, 1, 103, 2, 251, 34, 7, 6, 1,
+ 103, 2, 248, 75, 22, 232, 110, 7, 4, 1, 103, 2, 248, 75, 22, 232, 110, 7,
+ 6, 1, 103, 2, 248, 75, 22, 138, 7, 4, 1, 103, 2, 248, 75, 22, 138, 7, 6,
+ 1, 103, 2, 248, 75, 22, 251, 34, 7, 4, 1, 103, 2, 248, 75, 22, 251, 34,
+ 7, 6, 1, 103, 2, 248, 75, 22, 209, 7, 4, 1, 103, 2, 248, 75, 22, 209, 7,
+ 4, 1, 216, 66, 77, 7, 6, 1, 111, 2, 248, 75, 22, 232, 110, 7, 4, 1, 111,
+ 2, 248, 75, 22, 232, 110, 7, 6, 1, 111, 2, 62, 74, 22, 232, 110, 7, 4, 1,
+ 111, 2, 62, 74, 22, 232, 110, 7, 6, 1, 255, 21, 2, 232, 110, 7, 4, 1,
+ 255, 21, 2, 232, 110, 7, 6, 1, 244, 42, 2, 91, 7, 4, 1, 244, 42, 2, 91,
+ 7, 6, 1, 244, 42, 2, 251, 34, 7, 4, 1, 244, 42, 2, 251, 34, 7, 6, 1, 235,
+ 142, 2, 251, 34, 7, 4, 1, 235, 142, 2, 251, 34, 7, 6, 1, 141, 2, 227,
+ 127, 7, 4, 1, 141, 2, 227, 127, 7, 6, 1, 141, 2, 227, 128, 22, 232, 110,
+ 7, 4, 1, 141, 2, 227, 128, 22, 232, 110, 7, 6, 1, 245, 98, 2, 251, 34, 7,
+ 4, 1, 245, 98, 2, 251, 34, 7, 4, 1, 236, 4, 2, 251, 34, 7, 6, 1, 246,
+ 115, 7, 6, 1, 249, 126, 2, 4, 1, 212, 152, 7, 4, 1, 246, 115, 7, 6, 1,
+ 244, 42, 2, 138, 7, 4, 1, 244, 42, 2, 138, 7, 6, 1, 241, 52, 7, 6, 1,
+ 213, 172, 7, 6, 1, 230, 167, 2, 209, 7, 4, 1, 230, 167, 2, 209, 7, 6, 1,
+ 111, 2, 223, 165, 74, 22, 138, 7, 4, 1, 111, 2, 223, 165, 74, 22, 138, 7,
+ 6, 1, 255, 21, 2, 138, 7, 4, 1, 255, 21, 2, 138, 7, 6, 1, 141, 2, 219,
+ 59, 22, 138, 7, 4, 1, 141, 2, 219, 59, 22, 138, 7, 6, 1, 111, 2, 52, 209,
+ 7, 4, 1, 111, 2, 52, 209, 7, 6, 1, 111, 2, 236, 52, 251, 199, 7, 4, 1,
+ 111, 2, 236, 52, 251, 199, 7, 6, 1, 154, 2, 52, 209, 7, 4, 1, 154, 2, 52,
+ 209, 7, 6, 1, 154, 2, 236, 52, 251, 199, 7, 4, 1, 154, 2, 236, 52, 251,
+ 199, 7, 6, 1, 241, 7, 2, 52, 209, 7, 4, 1, 241, 7, 2, 52, 209, 7, 6, 1,
+ 241, 7, 2, 236, 52, 251, 199, 7, 4, 1, 241, 7, 2, 236, 52, 251, 199, 7,
+ 6, 1, 141, 2, 52, 209, 7, 4, 1, 141, 2, 52, 209, 7, 6, 1, 141, 2, 236,
+ 52, 251, 199, 7, 4, 1, 141, 2, 236, 52, 251, 199, 7, 6, 1, 224, 148, 2,
+ 52, 209, 7, 4, 1, 224, 148, 2, 52, 209, 7, 6, 1, 224, 148, 2, 236, 52,
+ 251, 199, 7, 4, 1, 224, 148, 2, 236, 52, 251, 199, 7, 6, 1, 103, 2, 52,
+ 209, 7, 4, 1, 103, 2, 52, 209, 7, 6, 1, 103, 2, 236, 52, 251, 199, 7, 4,
+ 1, 103, 2, 236, 52, 251, 199, 7, 6, 1, 223, 29, 2, 250, 24, 55, 7, 4, 1,
+ 223, 29, 2, 250, 24, 55, 7, 6, 1, 218, 114, 2, 250, 24, 55, 7, 4, 1, 218,
+ 114, 2, 250, 24, 55, 7, 6, 1, 212, 223, 7, 4, 1, 212, 223, 7, 6, 1, 242,
+ 163, 2, 251, 34, 7, 4, 1, 242, 163, 2, 251, 34, 7, 6, 1, 230, 167, 2,
+ 187, 47, 233, 158, 7, 4, 1, 249, 126, 2, 249, 164, 7, 6, 1, 227, 40, 7,
+ 4, 1, 227, 40, 7, 6, 1, 212, 153, 2, 102, 7, 4, 1, 212, 153, 2, 102, 7,
+ 6, 1, 111, 2, 62, 50, 7, 4, 1, 111, 2, 62, 50, 7, 6, 1, 154, 2, 250, 240,
+ 7, 4, 1, 154, 2, 250, 240, 7, 6, 1, 141, 2, 248, 75, 22, 232, 110, 7, 4,
+ 1, 141, 2, 248, 75, 22, 232, 110, 7, 6, 1, 141, 2, 217, 56, 22, 232, 110,
+ 7, 4, 1, 141, 2, 217, 56, 22, 232, 110, 7, 6, 1, 141, 2, 62, 50, 7, 4, 1,
+ 141, 2, 62, 50, 7, 6, 1, 141, 2, 62, 74, 22, 232, 110, 7, 4, 1, 141, 2,
+ 62, 74, 22, 232, 110, 7, 6, 1, 213, 109, 2, 232, 110, 7, 4, 1, 213, 109,
+ 2, 232, 110, 7, 4, 1, 234, 13, 2, 249, 164, 7, 4, 1, 230, 167, 2, 249,
+ 164, 7, 4, 1, 218, 114, 2, 249, 164, 7, 4, 1, 247, 194, 236, 3, 7, 4, 1,
+ 248, 210, 248, 37, 7, 4, 1, 224, 211, 248, 37, 7, 6, 1, 111, 2, 91, 7, 6,
+ 1, 251, 122, 2, 91, 7, 4, 1, 251, 122, 2, 91, 7, 6, 1, 234, 13, 2, 134,
+ 7, 6, 1, 218, 114, 2, 248, 72, 91, 7, 4, 1, 223, 29, 2, 218, 209, 218,
+ 40, 7, 4, 1, 212, 153, 2, 218, 209, 218, 40, 7, 6, 1, 243, 20, 219, 83,
+ 7, 4, 1, 243, 20, 219, 83, 7, 6, 1, 57, 2, 91, 7, 6, 1, 103, 134, 7, 6,
+ 1, 216, 66, 211, 211, 7, 6, 1, 154, 2, 91, 7, 4, 1, 154, 2, 91, 7, 6, 1,
+ 236, 4, 2, 91, 7, 4, 1, 236, 4, 2, 91, 7, 6, 1, 4, 225, 20, 2, 241, 157,
+ 218, 40, 7, 4, 1, 225, 20, 2, 241, 157, 218, 40, 7, 6, 1, 224, 148, 2,
+ 91, 7, 4, 1, 224, 148, 2, 91, 7, 6, 1, 213, 109, 2, 91, 7, 4, 1, 213,
+ 109, 2, 91, 7, 4, 1, 216, 66, 63, 7, 4, 1, 254, 179, 7, 4, 1, 216, 66,
+ 254, 179, 7, 4, 1, 57, 2, 102, 7, 4, 1, 210, 78, 7, 4, 1, 251, 122, 2,
+ 249, 164, 7, 4, 1, 249, 126, 2, 218, 40, 7, 4, 1, 249, 126, 2, 102, 7, 4,
+ 1, 223, 236, 77, 7, 4, 1, 222, 136, 7, 4, 1, 222, 137, 2, 102, 7, 4, 1,
+ 210, 77, 7, 4, 1, 223, 236, 210, 77, 7, 4, 1, 223, 236, 210, 154, 2, 102,
+ 7, 4, 1, 250, 60, 223, 236, 210, 77, 7, 4, 1, 247, 194, 236, 4, 2, 91, 7,
+ 4, 1, 244, 42, 2, 102, 7, 4, 1, 115, 244, 41, 7, 1, 4, 6, 244, 41, 7, 4,
+ 1, 243, 203, 7, 4, 1, 224, 78, 241, 97, 7, 4, 1, 216, 66, 242, 162, 7, 4,
+ 1, 242, 163, 2, 102, 7, 4, 1, 242, 55, 2, 102, 7, 4, 1, 241, 7, 2, 91, 7,
+ 4, 1, 236, 44, 7, 1, 4, 6, 75, 7, 4, 1, 234, 13, 2, 231, 107, 177, 7, 4,
+ 1, 234, 13, 2, 252, 88, 7, 4, 1, 234, 13, 2, 223, 241, 102, 7, 4, 1, 233,
+ 125, 7, 4, 1, 216, 66, 184, 7, 4, 1, 216, 66, 232, 183, 2, 187, 233, 158,
+ 7, 4, 1, 232, 183, 2, 102, 7, 4, 1, 230, 167, 2, 43, 102, 7, 4, 1, 230,
+ 167, 2, 223, 241, 102, 7, 1, 4, 6, 206, 7, 4, 1, 252, 180, 78, 7, 1, 4,
+ 6, 227, 136, 7, 4, 1, 250, 60, 227, 104, 7, 4, 1, 226, 45, 7, 4, 1, 216,
+ 66, 152, 7, 4, 1, 216, 66, 224, 148, 2, 187, 233, 158, 7, 4, 1, 216, 66,
+ 224, 148, 2, 102, 7, 4, 1, 224, 148, 2, 187, 233, 158, 7, 4, 1, 224, 148,
+ 2, 218, 40, 7, 4, 1, 224, 148, 2, 244, 176, 7, 4, 1, 223, 236, 224, 148,
+ 2, 244, 176, 7, 1, 4, 6, 152, 7, 1, 4, 6, 236, 52, 152, 7, 4, 1, 223, 29,
+ 2, 102, 7, 4, 1, 245, 161, 7, 4, 1, 247, 194, 236, 4, 2, 219, 59, 22,
+ 102, 7, 4, 1, 219, 182, 223, 236, 245, 161, 7, 4, 1, 245, 162, 2, 249,
+ 164, 7, 4, 1, 216, 66, 218, 113, 7, 4, 1, 218, 114, 2, 223, 241, 102, 7,
+ 4, 1, 103, 134, 7, 4, 1, 215, 134, 7, 4, 1, 215, 86, 2, 102, 7, 4, 1,
+ 216, 66, 211, 211, 7, 4, 1, 216, 66, 214, 85, 7, 4, 1, 216, 66, 213, 108,
+ 7, 1, 4, 6, 213, 108, 7, 4, 1, 212, 153, 2, 223, 241, 102, 7, 4, 1, 212,
+ 153, 2, 249, 164, 7, 4, 1, 245, 97, 7, 4, 1, 245, 98, 2, 249, 164, 7, 1,
+ 243, 20, 219, 83, 7, 1, 226, 51, 214, 120, 244, 83, 7, 1, 236, 52, 243,
+ 20, 219, 83, 7, 1, 219, 64, 251, 121, 7, 1, 252, 38, 250, 71, 7, 1, 4, 6,
+ 253, 201, 7, 4, 1, 250, 60, 210, 77, 7, 1, 4, 6, 244, 42, 2, 102, 7, 1,
+ 4, 6, 242, 162, 7, 4, 1, 236, 4, 2, 249, 190, 7, 4, 1, 216, 66, 235, 141,
+ 7, 1, 4, 6, 155, 7, 4, 1, 225, 20, 2, 102, 7, 1, 243, 20, 219, 84, 2, 91,
+ 7, 1, 223, 236, 243, 20, 219, 84, 2, 91, 7, 4, 1, 246, 116, 248, 37, 7,
+ 4, 1, 248, 98, 248, 37, 7, 4, 1, 246, 116, 248, 38, 2, 249, 164, 7, 4, 1,
+ 216, 156, 248, 37, 7, 4, 1, 217, 201, 248, 37, 7, 4, 1, 217, 249, 248,
+ 38, 2, 249, 164, 7, 4, 1, 244, 223, 248, 37, 7, 4, 1, 232, 232, 248, 37,
+ 7, 4, 1, 232, 184, 248, 37, 7, 1, 252, 38, 226, 92, 7, 1, 252, 46, 226,
+ 92, 7, 4, 1, 216, 66, 242, 163, 2, 244, 176, 7, 4, 1, 216, 66, 242, 163,
+ 2, 244, 177, 22, 218, 40, 59, 1, 4, 242, 162, 59, 1, 4, 242, 163, 2, 102,
+ 59, 1, 4, 236, 3, 59, 1, 4, 152, 59, 1, 4, 216, 66, 152, 59, 1, 4, 216,
+ 66, 224, 148, 2, 102, 59, 1, 4, 6, 236, 52, 152, 59, 1, 4, 214, 85, 59,
+ 1, 4, 213, 108, 59, 1, 225, 107, 59, 1, 52, 225, 107, 59, 1, 216, 66,
+ 250, 23, 59, 1, 254, 97, 59, 1, 223, 236, 250, 23, 59, 1, 47, 157, 223,
+ 164, 59, 1, 43, 157, 223, 164, 59, 1, 243, 20, 219, 83, 59, 1, 223, 236,
+ 243, 20, 219, 83, 59, 1, 43, 254, 35, 59, 1, 47, 254, 35, 59, 1, 116,
+ 254, 35, 59, 1, 121, 254, 35, 59, 1, 250, 91, 255, 46, 251, 34, 59, 1,
+ 66, 233, 83, 59, 1, 232, 110, 59, 1, 255, 36, 255, 46, 59, 1, 242, 234,
+ 255, 46, 59, 1, 117, 66, 233, 83, 59, 1, 117, 232, 110, 59, 1, 117, 242,
+ 234, 255, 46, 59, 1, 117, 255, 36, 255, 46, 59, 1, 216, 193, 250, 30, 59,
+ 1, 157, 216, 193, 250, 30, 59, 1, 250, 230, 47, 157, 223, 164, 59, 1,
+ 250, 230, 43, 157, 223, 164, 59, 1, 116, 218, 50, 59, 1, 121, 218, 50,
+ 59, 1, 95, 53, 59, 1, 231, 65, 53, 251, 199, 62, 50, 223, 165, 50, 227,
+ 127, 4, 177, 52, 255, 36, 255, 46, 59, 1, 223, 223, 102, 59, 1, 249, 194,
+ 255, 46, 59, 1, 4, 243, 203, 59, 1, 4, 155, 59, 1, 4, 196, 59, 1, 4, 213,
+ 169, 59, 1, 4, 223, 236, 243, 20, 219, 83, 59, 1, 245, 109, 161, 134, 59,
+ 1, 127, 161, 134, 59, 1, 231, 108, 161, 134, 59, 1, 117, 161, 134, 59, 1,
+ 245, 108, 161, 134, 59, 1, 212, 246, 248, 116, 161, 79, 59, 1, 213, 61,
+ 248, 116, 161, 79, 59, 1, 214, 118, 59, 1, 215, 162, 59, 1, 52, 254, 97,
+ 59, 1, 117, 121, 254, 35, 59, 1, 117, 116, 254, 35, 59, 1, 117, 43, 254,
+ 35, 59, 1, 117, 47, 254, 35, 59, 1, 117, 223, 164, 59, 1, 231, 107, 242,
+ 234, 255, 46, 59, 1, 231, 107, 52, 242, 234, 255, 46, 59, 1, 231, 107,
+ 52, 255, 36, 255, 46, 59, 1, 117, 177, 59, 1, 224, 83, 250, 30, 59, 1,
+ 252, 104, 127, 216, 254, 59, 1, 245, 222, 127, 216, 254, 59, 1, 252, 104,
+ 117, 216, 254, 59, 1, 245, 222, 117, 216, 254, 59, 1, 220, 255, 59, 1,
+ 210, 220, 255, 59, 1, 117, 43, 71, 38, 242, 234, 255, 46, 38, 255, 36,
+ 255, 46, 38, 250, 91, 255, 46, 38, 177, 38, 232, 110, 38, 227, 25, 38,
+ 251, 199, 38, 62, 50, 38, 248, 74, 38, 241, 157, 50, 38, 223, 165, 50,
+ 38, 52, 255, 36, 255, 46, 38, 251, 34, 38, 66, 233, 84, 50, 38, 52, 66,
+ 233, 84, 50, 38, 52, 242, 234, 255, 46, 38, 251, 55, 38, 236, 52, 251,
+ 199, 38, 216, 66, 250, 24, 50, 38, 250, 24, 50, 38, 223, 236, 250, 24,
+ 50, 38, 250, 24, 74, 223, 182, 38, 242, 234, 255, 47, 55, 38, 255, 36,
+ 255, 47, 55, 38, 43, 218, 51, 55, 38, 47, 218, 51, 55, 38, 43, 254, 146,
+ 50, 38, 241, 97, 38, 43, 157, 223, 165, 55, 38, 116, 218, 51, 55, 38,
+ 121, 218, 51, 55, 38, 95, 5, 55, 38, 231, 65, 5, 55, 38, 226, 228, 241,
+ 157, 55, 38, 223, 241, 241, 157, 55, 38, 62, 55, 38, 248, 75, 55, 38,
+ 223, 165, 55, 38, 250, 24, 55, 38, 250, 240, 38, 227, 127, 38, 66, 233,
+ 84, 55, 38, 251, 193, 55, 38, 236, 52, 52, 254, 65, 55, 38, 251, 35, 55,
+ 38, 250, 91, 255, 47, 55, 38, 251, 200, 55, 38, 236, 52, 251, 200, 55,
+ 38, 217, 56, 55, 38, 232, 111, 55, 38, 117, 233, 83, 38, 52, 117, 233,
+ 83, 38, 217, 56, 227, 26, 38, 220, 196, 219, 59, 227, 26, 38, 187, 219,
+ 59, 227, 26, 38, 220, 196, 219, 251, 227, 26, 38, 187, 219, 251, 227, 26,
+ 38, 47, 157, 223, 165, 55, 38, 236, 52, 251, 193, 55, 38, 42, 55, 38,
+ 222, 122, 55, 38, 213, 170, 50, 38, 66, 177, 38, 52, 227, 25, 38, 242,
+ 234, 161, 79, 38, 255, 36, 161, 79, 38, 25, 226, 86, 38, 25, 234, 122,
+ 38, 25, 248, 69, 216, 244, 38, 25, 212, 211, 38, 251, 193, 50, 38, 245,
+ 182, 5, 55, 38, 52, 66, 233, 84, 55, 38, 43, 254, 146, 55, 38, 228, 206,
+ 217, 56, 50, 38, 241, 163, 50, 38, 254, 184, 126, 217, 10, 50, 38, 43,
+ 47, 80, 55, 38, 215, 130, 80, 55, 38, 242, 238, 235, 180, 38, 47, 254,
+ 36, 50, 38, 43, 157, 223, 165, 50, 38, 244, 220, 38, 213, 170, 55, 38,
+ 43, 254, 36, 55, 38, 47, 254, 36, 55, 38, 47, 254, 36, 22, 116, 254, 36,
+ 55, 38, 47, 157, 223, 165, 50, 38, 62, 74, 223, 182, 38, 254, 4, 55, 38,
+ 52, 223, 165, 55, 38, 212, 28, 50, 38, 52, 251, 200, 55, 38, 52, 251,
+ 199, 38, 52, 232, 110, 38, 52, 232, 111, 55, 38, 52, 177, 38, 52, 236,
+ 52, 251, 199, 38, 52, 96, 80, 55, 38, 7, 4, 1, 63, 38, 7, 4, 1, 77, 38,
+ 7, 4, 1, 75, 38, 7, 4, 1, 78, 38, 7, 4, 1, 72, 38, 7, 4, 1, 251, 121, 38,
+ 7, 4, 1, 249, 125, 38, 7, 4, 1, 242, 162, 38, 7, 4, 1, 184, 38, 7, 4, 1,
+ 152, 38, 7, 4, 1, 218, 113, 38, 7, 4, 1, 211, 211, 38, 7, 4, 1, 213, 169,
+ 25, 6, 1, 242, 44, 25, 4, 1, 242, 44, 25, 6, 1, 254, 64, 222, 185, 25, 4,
+ 1, 254, 64, 222, 185, 25, 228, 97, 53, 25, 232, 237, 228, 97, 53, 25, 6,
+ 1, 226, 215, 248, 44, 25, 4, 1, 226, 215, 248, 44, 25, 212, 211, 25, 4,
+ 223, 236, 232, 215, 220, 123, 88, 25, 4, 246, 193, 232, 215, 220, 123,
+ 88, 25, 4, 223, 236, 246, 193, 232, 215, 220, 123, 88, 25, 224, 193, 79,
+ 25, 216, 244, 25, 248, 69, 216, 244, 25, 6, 1, 254, 180, 2, 216, 244, 25,
+ 254, 135, 217, 224, 25, 6, 1, 245, 185, 2, 216, 244, 25, 6, 1, 245, 150,
+ 2, 216, 244, 25, 6, 1, 236, 45, 2, 216, 244, 25, 6, 1, 227, 103, 2, 216,
+ 244, 25, 6, 1, 215, 135, 2, 216, 244, 25, 6, 1, 227, 105, 2, 216, 244,
+ 25, 4, 1, 236, 45, 2, 248, 69, 22, 216, 244, 25, 6, 1, 254, 179, 25, 6,
+ 1, 252, 73, 25, 6, 1, 243, 203, 25, 6, 1, 248, 126, 25, 6, 1, 245, 184,
+ 25, 6, 1, 212, 78, 25, 6, 1, 245, 149, 25, 6, 1, 217, 145, 25, 6, 1, 236,
+ 44, 25, 6, 1, 235, 84, 25, 6, 1, 233, 220, 25, 6, 1, 230, 242, 25, 6, 1,
+ 228, 135, 25, 6, 1, 213, 148, 25, 6, 1, 227, 102, 25, 6, 1, 226, 20, 25,
+ 6, 1, 223, 224, 25, 6, 1, 220, 122, 25, 6, 1, 218, 5, 25, 6, 1, 215, 134,
+ 25, 6, 1, 226, 45, 25, 6, 1, 250, 170, 25, 6, 1, 225, 82, 25, 6, 1, 227,
+ 104, 25, 6, 1, 236, 45, 2, 248, 68, 25, 6, 1, 215, 135, 2, 248, 68, 25,
+ 4, 1, 254, 180, 2, 216, 244, 25, 4, 1, 245, 185, 2, 216, 244, 25, 4, 1,
+ 245, 150, 2, 216, 244, 25, 4, 1, 236, 45, 2, 216, 244, 25, 4, 1, 215,
+ 135, 2, 248, 69, 22, 216, 244, 25, 4, 1, 254, 179, 25, 4, 1, 252, 73, 25,
+ 4, 1, 243, 203, 25, 4, 1, 248, 126, 25, 4, 1, 245, 184, 25, 4, 1, 212,
+ 78, 25, 4, 1, 245, 149, 25, 4, 1, 217, 145, 25, 4, 1, 236, 44, 25, 4, 1,
+ 235, 84, 25, 4, 1, 233, 220, 25, 4, 1, 230, 242, 25, 4, 1, 228, 135, 25,
+ 4, 1, 213, 148, 25, 4, 1, 227, 102, 25, 4, 1, 226, 20, 25, 4, 1, 223,
+ 224, 25, 4, 1, 41, 220, 122, 25, 4, 1, 220, 122, 25, 4, 1, 218, 5, 25, 4,
+ 1, 215, 134, 25, 4, 1, 226, 45, 25, 4, 1, 250, 170, 25, 4, 1, 225, 82,
+ 25, 4, 1, 227, 104, 25, 4, 1, 236, 45, 2, 248, 68, 25, 4, 1, 215, 135, 2,
+ 248, 68, 25, 4, 1, 227, 103, 2, 216, 244, 25, 4, 1, 215, 135, 2, 216,
+ 244, 25, 4, 1, 227, 105, 2, 216, 244, 25, 6, 235, 109, 88, 25, 252, 74,
+ 88, 25, 217, 146, 88, 25, 215, 135, 2, 241, 157, 88, 25, 215, 135, 2,
+ 255, 36, 22, 241, 157, 88, 25, 215, 135, 2, 248, 75, 22, 241, 157, 88,
+ 25, 226, 46, 88, 25, 226, 21, 88, 25, 235, 109, 88, 25, 1, 254, 64, 234,
+ 126, 25, 4, 1, 254, 64, 234, 126, 25, 1, 219, 91, 25, 4, 1, 219, 91, 25,
+ 1, 248, 44, 25, 4, 1, 248, 44, 25, 1, 234, 126, 25, 4, 1, 234, 126, 25,
+ 1, 222, 185, 25, 4, 1, 222, 185, 81, 6, 1, 221, 0, 81, 4, 1, 221, 0, 81,
+ 6, 1, 244, 229, 81, 4, 1, 244, 229, 81, 6, 1, 234, 235, 81, 4, 1, 234,
+ 235, 81, 6, 1, 241, 150, 81, 4, 1, 241, 150, 81, 6, 1, 243, 198, 81, 4,
+ 1, 243, 198, 81, 6, 1, 220, 223, 81, 4, 1, 220, 223, 81, 6, 1, 248, 141,
+ 81, 4, 1, 248, 141, 25, 235, 85, 88, 25, 223, 225, 88, 25, 232, 215, 220,
+ 123, 88, 25, 1, 212, 216, 25, 6, 217, 146, 88, 25, 232, 215, 245, 185,
+ 88, 25, 223, 236, 232, 215, 245, 185, 88, 25, 6, 1, 220, 208, 25, 4, 1,
+ 220, 208, 25, 6, 232, 215, 220, 123, 88, 25, 6, 1, 222, 183, 25, 4, 1,
+ 222, 183, 25, 223, 225, 2, 219, 59, 88, 25, 6, 223, 236, 232, 215, 220,
+ 123, 88, 25, 6, 246, 193, 232, 215, 220, 123, 88, 25, 6, 223, 236, 246,
+ 193, 232, 215, 220, 123, 88, 33, 6, 1, 236, 173, 2, 209, 33, 6, 1, 236,
+ 48, 33, 6, 1, 247, 235, 33, 6, 1, 243, 27, 33, 6, 1, 215, 178, 236, 172,
+ 33, 6, 1, 246, 112, 33, 6, 1, 251, 130, 75, 33, 6, 1, 213, 0, 33, 6, 1,
+ 235, 242, 33, 6, 1, 233, 57, 33, 6, 1, 229, 73, 33, 6, 1, 216, 145, 33,
+ 6, 1, 234, 168, 33, 6, 1, 241, 7, 2, 209, 33, 6, 1, 220, 196, 72, 33, 6,
+ 1, 246, 108, 33, 6, 1, 63, 33, 6, 1, 252, 121, 33, 6, 1, 214, 237, 33, 6,
+ 1, 243, 76, 33, 6, 1, 248, 162, 33, 6, 1, 236, 172, 33, 6, 1, 212, 67,
+ 33, 6, 1, 212, 87, 33, 6, 1, 75, 33, 6, 1, 220, 196, 75, 33, 6, 1, 183,
+ 33, 6, 1, 245, 252, 33, 6, 1, 245, 238, 33, 6, 1, 245, 229, 33, 6, 1, 78,
+ 33, 6, 1, 226, 132, 33, 6, 1, 245, 176, 33, 6, 1, 245, 166, 33, 6, 1,
+ 217, 242, 33, 6, 1, 72, 33, 6, 1, 246, 24, 33, 6, 1, 162, 33, 6, 1, 216,
+ 149, 33, 6, 1, 250, 190, 33, 6, 1, 221, 47, 33, 6, 1, 221, 10, 33, 6, 1,
+ 242, 106, 53, 33, 6, 1, 213, 19, 33, 6, 1, 219, 255, 53, 33, 6, 1, 77,
+ 33, 6, 1, 212, 204, 33, 6, 1, 189, 33, 4, 1, 63, 33, 4, 1, 252, 121, 33,
+ 4, 1, 214, 237, 33, 4, 1, 243, 76, 33, 4, 1, 248, 162, 33, 4, 1, 236,
+ 172, 33, 4, 1, 212, 67, 33, 4, 1, 212, 87, 33, 4, 1, 75, 33, 4, 1, 220,
+ 196, 75, 33, 4, 1, 183, 33, 4, 1, 245, 252, 33, 4, 1, 245, 238, 33, 4, 1,
+ 245, 229, 33, 4, 1, 78, 33, 4, 1, 226, 132, 33, 4, 1, 245, 176, 33, 4, 1,
+ 245, 166, 33, 4, 1, 217, 242, 33, 4, 1, 72, 33, 4, 1, 246, 24, 33, 4, 1,
+ 162, 33, 4, 1, 216, 149, 33, 4, 1, 250, 190, 33, 4, 1, 221, 47, 33, 4, 1,
+ 221, 10, 33, 4, 1, 242, 106, 53, 33, 4, 1, 213, 19, 33, 4, 1, 219, 255,
+ 53, 33, 4, 1, 77, 33, 4, 1, 212, 204, 33, 4, 1, 189, 33, 4, 1, 236, 173,
+ 2, 209, 33, 4, 1, 236, 48, 33, 4, 1, 247, 235, 33, 4, 1, 243, 27, 33, 4,
+ 1, 215, 178, 236, 172, 33, 4, 1, 246, 112, 33, 4, 1, 251, 130, 75, 33, 4,
+ 1, 213, 0, 33, 4, 1, 235, 242, 33, 4, 1, 233, 57, 33, 4, 1, 229, 73, 33,
+ 4, 1, 216, 145, 33, 4, 1, 234, 168, 33, 4, 1, 241, 7, 2, 209, 33, 4, 1,
+ 220, 196, 72, 33, 4, 1, 246, 108, 33, 6, 1, 227, 104, 33, 4, 1, 227, 104,
+ 33, 6, 1, 213, 51, 33, 4, 1, 213, 51, 33, 6, 1, 236, 42, 77, 33, 4, 1,
+ 236, 42, 77, 33, 6, 1, 233, 62, 212, 175, 33, 4, 1, 233, 62, 212, 175,
+ 33, 6, 1, 236, 42, 233, 62, 212, 175, 33, 4, 1, 236, 42, 233, 62, 212,
+ 175, 33, 6, 1, 252, 41, 212, 175, 33, 4, 1, 252, 41, 212, 175, 33, 6, 1,
+ 236, 42, 252, 41, 212, 175, 33, 4, 1, 236, 42, 252, 41, 212, 175, 33, 6,
+ 1, 234, 97, 33, 4, 1, 234, 97, 33, 6, 1, 225, 82, 33, 4, 1, 225, 82, 33,
+ 6, 1, 244, 171, 33, 4, 1, 244, 171, 33, 6, 1, 236, 5, 33, 4, 1, 236, 5,
+ 33, 6, 1, 236, 6, 2, 52, 242, 234, 255, 46, 33, 4, 1, 236, 6, 2, 52, 242,
+ 234, 255, 46, 33, 6, 1, 215, 181, 33, 4, 1, 215, 181, 33, 6, 1, 223, 121,
+ 227, 104, 33, 4, 1, 223, 121, 227, 104, 33, 6, 1, 227, 105, 2, 217, 32,
+ 33, 4, 1, 227, 105, 2, 217, 32, 33, 6, 1, 227, 46, 33, 4, 1, 227, 46, 33,
+ 6, 1, 234, 126, 33, 4, 1, 234, 126, 33, 217, 112, 53, 38, 33, 217, 32,
+ 38, 33, 226, 229, 38, 33, 248, 221, 225, 188, 38, 33, 225, 76, 225, 188,
+ 38, 33, 225, 173, 38, 33, 241, 63, 217, 112, 53, 38, 33, 231, 74, 53, 33,
+ 6, 1, 220, 196, 241, 7, 2, 218, 40, 33, 4, 1, 220, 196, 241, 7, 2, 218,
+ 40, 33, 6, 1, 221, 89, 53, 33, 4, 1, 221, 89, 53, 33, 6, 1, 245, 177, 2,
+ 217, 81, 33, 4, 1, 245, 177, 2, 217, 81, 33, 6, 1, 243, 77, 2, 215, 133,
+ 33, 4, 1, 243, 77, 2, 215, 133, 33, 6, 1, 243, 77, 2, 91, 33, 4, 1, 243,
+ 77, 2, 91, 33, 6, 1, 243, 77, 2, 231, 107, 102, 33, 4, 1, 243, 77, 2,
+ 231, 107, 102, 33, 6, 1, 212, 68, 2, 248, 111, 33, 4, 1, 212, 68, 2, 248,
+ 111, 33, 6, 1, 212, 88, 2, 248, 111, 33, 4, 1, 212, 88, 2, 248, 111, 33,
+ 6, 1, 235, 131, 2, 248, 111, 33, 4, 1, 235, 131, 2, 248, 111, 33, 6, 1,
+ 235, 131, 2, 66, 91, 33, 4, 1, 235, 131, 2, 66, 91, 33, 6, 1, 235, 131,
+ 2, 91, 33, 4, 1, 235, 131, 2, 91, 33, 6, 1, 252, 170, 183, 33, 4, 1, 252,
+ 170, 183, 33, 6, 1, 245, 230, 2, 248, 111, 33, 4, 1, 245, 230, 2, 248,
+ 111, 33, 6, 26, 245, 230, 243, 76, 33, 4, 26, 245, 230, 243, 76, 33, 6,
+ 1, 226, 133, 2, 231, 107, 102, 33, 4, 1, 226, 133, 2, 231, 107, 102, 33,
+ 6, 1, 255, 52, 162, 33, 4, 1, 255, 52, 162, 33, 6, 1, 245, 167, 2, 248,
+ 111, 33, 4, 1, 245, 167, 2, 248, 111, 33, 6, 1, 217, 243, 2, 248, 111,
+ 33, 4, 1, 217, 243, 2, 248, 111, 33, 6, 1, 219, 75, 72, 33, 4, 1, 219,
+ 75, 72, 33, 6, 1, 219, 75, 103, 2, 91, 33, 4, 1, 219, 75, 103, 2, 91, 33,
+ 6, 1, 242, 151, 2, 248, 111, 33, 4, 1, 242, 151, 2, 248, 111, 33, 6, 26,
+ 217, 243, 216, 149, 33, 4, 26, 217, 243, 216, 149, 33, 6, 1, 250, 191, 2,
+ 248, 111, 33, 4, 1, 250, 191, 2, 248, 111, 33, 6, 1, 250, 191, 2, 66, 91,
+ 33, 4, 1, 250, 191, 2, 66, 91, 33, 6, 1, 220, 234, 33, 4, 1, 220, 234,
+ 33, 6, 1, 255, 52, 250, 190, 33, 4, 1, 255, 52, 250, 190, 33, 6, 1, 255,
+ 52, 250, 191, 2, 248, 111, 33, 4, 1, 255, 52, 250, 191, 2, 248, 111, 33,
+ 1, 226, 222, 33, 6, 1, 212, 68, 2, 251, 199, 33, 4, 1, 212, 68, 2, 251,
+ 199, 33, 6, 1, 235, 131, 2, 102, 33, 4, 1, 235, 131, 2, 102, 33, 6, 1,
+ 245, 253, 2, 218, 40, 33, 4, 1, 245, 253, 2, 218, 40, 33, 6, 1, 245, 230,
+ 2, 102, 33, 4, 1, 245, 230, 2, 102, 33, 6, 1, 245, 230, 2, 218, 40, 33,
+ 4, 1, 245, 230, 2, 218, 40, 33, 6, 1, 234, 245, 250, 190, 33, 4, 1, 234,
+ 245, 250, 190, 33, 6, 1, 245, 239, 2, 218, 40, 33, 4, 1, 245, 239, 2,
+ 218, 40, 33, 4, 1, 226, 222, 33, 6, 1, 111, 2, 251, 199, 33, 4, 1, 111,
+ 2, 251, 199, 33, 6, 1, 111, 2, 248, 74, 33, 4, 1, 111, 2, 248, 74, 33, 6,
+ 26, 111, 236, 172, 33, 4, 26, 111, 236, 172, 33, 6, 1, 236, 173, 2, 251,
+ 199, 33, 4, 1, 236, 173, 2, 251, 199, 33, 6, 1, 222, 136, 33, 4, 1, 222,
+ 136, 33, 6, 1, 222, 137, 2, 248, 74, 33, 4, 1, 222, 137, 2, 248, 74, 33,
+ 6, 1, 212, 68, 2, 248, 74, 33, 4, 1, 212, 68, 2, 248, 74, 33, 6, 1, 212,
+ 88, 2, 248, 74, 33, 4, 1, 212, 88, 2, 248, 74, 33, 6, 1, 255, 52, 246,
+ 112, 33, 4, 1, 255, 52, 246, 112, 33, 6, 1, 241, 7, 2, 232, 110, 33, 4,
+ 1, 241, 7, 2, 232, 110, 33, 6, 1, 241, 7, 2, 248, 74, 33, 4, 1, 241, 7,
+ 2, 248, 74, 33, 6, 1, 141, 2, 248, 74, 33, 4, 1, 141, 2, 248, 74, 33, 6,
+ 1, 252, 180, 78, 33, 4, 1, 252, 180, 78, 33, 6, 1, 252, 180, 141, 2, 248,
+ 74, 33, 4, 1, 252, 180, 141, 2, 248, 74, 33, 6, 1, 154, 2, 248, 74, 33,
+ 4, 1, 154, 2, 248, 74, 33, 6, 1, 103, 2, 232, 110, 33, 4, 1, 103, 2, 232,
+ 110, 33, 6, 1, 103, 2, 248, 74, 33, 4, 1, 103, 2, 248, 74, 33, 6, 1, 103,
+ 2, 52, 138, 33, 4, 1, 103, 2, 52, 138, 33, 6, 1, 250, 191, 2, 248, 74,
+ 33, 4, 1, 250, 191, 2, 248, 74, 33, 6, 1, 243, 77, 2, 248, 111, 33, 4, 1,
+ 243, 77, 2, 248, 111, 33, 6, 1, 213, 20, 2, 248, 74, 33, 4, 1, 213, 20,
+ 2, 248, 74, 33, 6, 1, 243, 77, 2, 219, 59, 22, 102, 33, 4, 1, 243, 77, 2,
+ 219, 59, 22, 102, 33, 6, 1, 242, 151, 2, 102, 33, 4, 1, 242, 151, 2, 102,
+ 33, 6, 1, 242, 151, 2, 91, 33, 4, 1, 242, 151, 2, 91, 33, 6, 1, 234, 134,
+ 248, 162, 33, 4, 1, 234, 134, 248, 162, 33, 6, 1, 234, 134, 247, 235, 33,
+ 4, 1, 234, 134, 247, 235, 33, 6, 1, 234, 134, 212, 20, 33, 4, 1, 234,
+ 134, 212, 20, 33, 6, 1, 234, 134, 246, 106, 33, 4, 1, 234, 134, 246, 106,
+ 33, 6, 1, 234, 134, 233, 57, 33, 4, 1, 234, 134, 233, 57, 33, 6, 1, 234,
+ 134, 229, 73, 33, 4, 1, 234, 134, 229, 73, 33, 6, 1, 234, 134, 220, 56,
+ 33, 4, 1, 234, 134, 220, 56, 33, 6, 1, 234, 134, 217, 27, 33, 4, 1, 234,
+ 134, 217, 27, 33, 6, 1, 223, 236, 212, 87, 33, 4, 1, 223, 236, 212, 87,
+ 33, 6, 1, 245, 253, 2, 102, 33, 4, 1, 245, 253, 2, 102, 33, 6, 1, 233,
+ 123, 33, 4, 1, 233, 123, 33, 6, 1, 223, 226, 33, 4, 1, 223, 226, 33, 6,
+ 1, 213, 83, 33, 4, 1, 213, 83, 33, 6, 1, 225, 11, 33, 4, 1, 225, 11, 33,
+ 6, 1, 214, 9, 33, 4, 1, 214, 9, 33, 6, 1, 254, 202, 183, 33, 4, 1, 254,
+ 202, 183, 33, 6, 1, 245, 253, 2, 231, 107, 102, 33, 4, 1, 245, 253, 2,
+ 231, 107, 102, 33, 6, 1, 245, 230, 2, 231, 107, 102, 33, 4, 1, 245, 230,
+ 2, 231, 107, 102, 33, 6, 1, 226, 133, 2, 248, 111, 33, 4, 1, 226, 133, 2,
+ 248, 111, 33, 6, 1, 220, 235, 2, 248, 111, 33, 4, 1, 220, 235, 2, 248,
+ 111, 146, 6, 1, 253, 207, 146, 6, 1, 252, 86, 146, 6, 1, 243, 43, 146, 6,
+ 1, 249, 30, 146, 6, 1, 246, 34, 146, 6, 1, 212, 109, 146, 6, 1, 246, 19,
+ 146, 6, 1, 245, 151, 146, 6, 1, 109, 146, 6, 1, 212, 67, 146, 6, 1, 236,
+ 85, 146, 6, 1, 233, 60, 146, 6, 1, 213, 151, 146, 6, 1, 251, 88, 146, 6,
+ 1, 235, 27, 146, 6, 1, 241, 173, 146, 6, 1, 236, 0, 146, 6, 1, 243, 86,
+ 146, 6, 1, 250, 185, 146, 6, 1, 231, 192, 146, 6, 1, 213, 0, 146, 6, 1,
+ 228, 193, 146, 6, 1, 221, 47, 146, 6, 1, 214, 123, 146, 6, 1, 250, 215,
+ 146, 6, 1, 226, 116, 146, 6, 1, 235, 227, 146, 6, 1, 208, 146, 6, 1, 222,
+ 103, 146, 6, 1, 214, 161, 146, 6, 1, 217, 29, 146, 6, 1, 224, 23, 146, 6,
+ 1, 250, 42, 146, 6, 1, 212, 241, 146, 6, 1, 225, 214, 146, 6, 1, 235, 38,
+ 146, 6, 1, 227, 125, 146, 6, 1, 244, 231, 146, 59, 1, 43, 157, 223, 164,
+ 146, 254, 97, 146, 245, 233, 79, 146, 245, 119, 79, 146, 250, 23, 146,
+ 224, 193, 79, 146, 255, 53, 79, 146, 4, 1, 253, 207, 146, 4, 1, 252, 86,
+ 146, 4, 1, 243, 43, 146, 4, 1, 249, 30, 146, 4, 1, 246, 34, 146, 4, 1,
+ 212, 109, 146, 4, 1, 246, 19, 146, 4, 1, 245, 151, 146, 4, 1, 109, 146,
+ 4, 1, 212, 67, 146, 4, 1, 236, 85, 146, 4, 1, 233, 60, 146, 4, 1, 213,
+ 151, 146, 4, 1, 251, 88, 146, 4, 1, 235, 27, 146, 4, 1, 241, 173, 146, 4,
+ 1, 236, 0, 146, 4, 1, 243, 86, 146, 4, 1, 250, 185, 146, 4, 1, 231, 192,
+ 146, 4, 1, 213, 0, 146, 4, 1, 228, 193, 146, 4, 1, 221, 47, 146, 4, 1,
+ 214, 123, 146, 4, 1, 250, 215, 146, 4, 1, 226, 116, 146, 4, 1, 235, 227,
+ 146, 4, 1, 208, 146, 4, 1, 222, 103, 146, 4, 1, 214, 161, 146, 4, 1, 217,
+ 29, 146, 4, 1, 224, 23, 146, 4, 1, 250, 42, 146, 4, 1, 212, 241, 146, 4,
+ 1, 225, 214, 146, 4, 1, 235, 38, 146, 4, 1, 227, 125, 146, 4, 1, 244,
+ 231, 146, 4, 26, 246, 35, 212, 241, 146, 244, 64, 219, 83, 146, 241, 21,
+ 94, 255, 47, 245, 144, 94, 255, 47, 222, 104, 94, 255, 47, 221, 33, 94,
+ 255, 47, 212, 97, 224, 250, 94, 255, 47, 212, 97, 243, 220, 94, 255, 47,
+ 217, 42, 94, 255, 47, 223, 234, 94, 255, 47, 212, 96, 94, 255, 47, 226,
+ 155, 94, 255, 47, 213, 12, 94, 255, 47, 217, 180, 94, 255, 47, 243, 137,
+ 94, 255, 47, 243, 138, 230, 209, 94, 255, 47, 243, 135, 94, 255, 47, 224,
+ 251, 226, 181, 94, 255, 47, 217, 219, 243, 152, 94, 255, 47, 226, 136,
+ 94, 255, 47, 253, 243, 242, 143, 94, 255, 47, 230, 219, 94, 255, 47, 232,
+ 86, 94, 255, 47, 231, 183, 94, 255, 47, 231, 184, 235, 39, 94, 255, 47,
+ 248, 230, 94, 255, 47, 225, 6, 94, 255, 47, 217, 219, 224, 246, 94, 255,
+ 47, 213, 22, 252, 87, 212, 222, 94, 255, 47, 227, 110, 94, 255, 47, 236,
+ 131, 94, 255, 47, 248, 142, 94, 255, 47, 212, 26, 94, 156, 232, 21, 250,
+ 95, 94, 225, 181, 220, 237, 94, 225, 181, 242, 97, 222, 104, 94, 225,
+ 181, 242, 97, 226, 149, 94, 225, 181, 242, 97, 224, 255, 94, 225, 181,
+ 242, 7, 94, 225, 181, 216, 147, 94, 225, 181, 222, 104, 94, 225, 181,
+ 226, 149, 94, 225, 181, 224, 255, 94, 225, 181, 241, 166, 94, 225, 181,
+ 241, 167, 242, 99, 31, 214, 241, 94, 225, 181, 224, 197, 94, 225, 181,
+ 249, 17, 171, 232, 49, 94, 225, 181, 231, 175, 94, 225, 63, 232, 46, 94,
+ 225, 181, 224, 94, 94, 225, 63, 226, 157, 94, 225, 181, 220, 222, 247,
+ 195, 94, 225, 181, 220, 104, 247, 195, 94, 225, 63, 220, 0, 226, 151, 94,
+ 156, 215, 137, 247, 195, 94, 156, 232, 237, 247, 195, 94, 225, 63, 228,
+ 94, 242, 142, 94, 225, 181, 225, 0, 224, 250, 94, 1, 254, 205, 94, 1,
+ 252, 75, 94, 1, 243, 41, 94, 1, 249, 0, 94, 1, 242, 85, 94, 1, 214, 241,
+ 94, 1, 212, 90, 94, 1, 242, 45, 94, 1, 217, 196, 94, 1, 212, 225, 94, 1,
+ 41, 235, 112, 94, 1, 235, 112, 94, 1, 233, 216, 94, 1, 41, 231, 199, 94,
+ 1, 231, 199, 94, 1, 41, 228, 93, 94, 1, 228, 93, 94, 1, 222, 188, 94, 1,
+ 253, 205, 94, 1, 41, 226, 132, 94, 1, 226, 132, 94, 1, 41, 216, 150, 94,
+ 1, 216, 150, 94, 1, 224, 219, 94, 1, 223, 253, 94, 1, 220, 221, 94, 1,
+ 218, 2, 94, 26, 212, 254, 52, 214, 241, 94, 26, 212, 254, 214, 242, 212,
+ 225, 94, 26, 212, 254, 52, 212, 225, 94, 225, 63, 243, 137, 94, 225, 63,
+ 243, 135, 12, 51, 53, 12, 5, 222, 182, 12, 244, 119, 232, 32, 12, 5, 222,
+ 217, 254, 78, 249, 173, 223, 129, 254, 78, 244, 94, 223, 129, 12, 224,
+ 61, 254, 78, 226, 94, 231, 76, 53, 254, 78, 226, 94, 217, 214, 217, 114,
+ 53, 254, 254, 53, 12, 250, 23, 12, 248, 217, 221, 80, 12, 225, 183, 214,
+ 223, 53, 12, 5, 231, 57, 12, 5, 222, 198, 254, 207, 214, 32, 12, 5, 254,
+ 207, 254, 8, 12, 5, 224, 93, 254, 206, 12, 5, 224, 100, 254, 188, 254,
+ 141, 12, 5, 218, 33, 12, 4, 127, 218, 43, 12, 4, 127, 26, 108, 2, 233,
+ 225, 2, 213, 35, 12, 4, 127, 212, 101, 12, 4, 244, 254, 12, 4, 248, 251,
+ 12, 4, 235, 67, 12, 221, 93, 12, 216, 182, 62, 225, 63, 79, 12, 224, 193,
+ 79, 12, 1, 235, 71, 213, 35, 12, 1, 242, 122, 12, 1, 108, 2, 232, 106,
+ 50, 12, 1, 108, 2, 194, 50, 12, 1, 214, 18, 2, 194, 50, 12, 1, 108, 2,
+ 194, 55, 12, 1, 76, 2, 194, 50, 12, 1, 254, 205, 12, 1, 252, 100, 12, 1,
+ 217, 229, 232, 42, 12, 1, 217, 228, 12, 1, 217, 158, 12, 1, 235, 239, 12,
+ 1, 242, 139, 12, 1, 234, 247, 12, 1, 249, 6, 12, 1, 217, 168, 12, 1, 224,
+ 23, 12, 1, 212, 101, 12, 1, 222, 108, 12, 1, 221, 4, 12, 1, 222, 220, 12,
+ 1, 249, 25, 12, 1, 218, 43, 12, 1, 212, 104, 12, 1, 254, 231, 12, 1, 243,
+ 84, 12, 1, 235, 37, 2, 119, 181, 50, 12, 1, 235, 37, 2, 137, 181, 55, 12,
+ 1, 245, 1, 76, 2, 236, 52, 211, 211, 12, 1, 245, 1, 76, 2, 119, 181, 50,
+ 12, 1, 245, 1, 76, 2, 137, 181, 50, 12, 218, 7, 12, 1, 244, 231, 12, 1,
+ 225, 4, 12, 1, 235, 112, 12, 1, 233, 224, 12, 1, 231, 213, 12, 1, 228,
+ 216, 12, 1, 242, 65, 12, 1, 214, 17, 12, 1, 108, 232, 70, 12, 1, 213, 35,
+ 12, 244, 252, 12, 248, 249, 12, 235, 65, 12, 244, 254, 12, 248, 251, 12,
+ 235, 67, 12, 221, 38, 12, 219, 4, 12, 232, 104, 50, 12, 194, 50, 12, 194,
+ 55, 12, 219, 24, 254, 205, 12, 236, 52, 248, 251, 12, 156, 228, 217, 243,
+ 58, 12, 211, 250, 12, 30, 5, 4, 215, 86, 50, 12, 30, 5, 236, 52, 4, 215,
+ 86, 50, 12, 30, 5, 62, 55, 12, 223, 236, 248, 251, 12, 244, 255, 2, 119,
+ 247, 193, 12, 214, 19, 194, 55, 254, 78, 21, 212, 79, 254, 78, 21, 118,
+ 254, 78, 21, 112, 254, 78, 21, 170, 254, 78, 21, 167, 254, 78, 21, 185,
+ 254, 78, 21, 192, 254, 78, 21, 200, 254, 78, 21, 198, 254, 78, 21, 203,
+ 12, 226, 93, 53, 12, 248, 155, 221, 80, 12, 217, 112, 221, 80, 12, 244,
+ 170, 225, 179, 219, 109, 12, 1, 247, 194, 252, 100, 12, 1, 247, 194, 225,
+ 4, 12, 1, 218, 237, 254, 205, 12, 1, 108, 214, 33, 12, 1, 108, 2, 214,
+ 19, 194, 50, 12, 1, 108, 2, 214, 19, 194, 55, 12, 1, 127, 242, 122, 12,
+ 1, 127, 194, 254, 205, 12, 1, 127, 194, 214, 17, 12, 1, 103, 2, 194, 50,
+ 12, 1, 127, 194, 213, 35, 12, 1, 216, 120, 12, 1, 216, 118, 12, 1, 252,
+ 110, 12, 1, 217, 229, 2, 223, 164, 12, 1, 217, 229, 2, 137, 181, 74, 246,
+ 178, 12, 1, 226, 116, 12, 1, 217, 226, 12, 1, 252, 98, 12, 1, 123, 2,
+ 194, 50, 12, 1, 123, 2, 119, 181, 66, 50, 12, 1, 228, 53, 12, 1, 246,
+ 119, 12, 1, 123, 2, 137, 181, 50, 12, 1, 217, 246, 12, 1, 217, 244, 12,
+ 1, 248, 202, 12, 1, 249, 7, 2, 223, 164, 12, 1, 249, 7, 2, 62, 55, 12, 1,
+ 249, 7, 2, 62, 252, 90, 22, 4, 218, 43, 12, 1, 249, 12, 12, 1, 248, 204,
+ 12, 1, 246, 146, 12, 1, 249, 7, 2, 137, 181, 74, 246, 178, 12, 1, 249, 7,
+ 2, 244, 101, 181, 50, 12, 1, 223, 107, 12, 1, 224, 24, 2, 4, 211, 211,
+ 12, 1, 224, 24, 2, 223, 164, 12, 1, 224, 24, 2, 62, 55, 12, 1, 224, 24,
+ 2, 4, 215, 86, 55, 12, 1, 224, 24, 2, 62, 252, 90, 22, 62, 50, 12, 1,
+ 224, 24, 2, 119, 181, 50, 12, 1, 235, 236, 12, 1, 224, 24, 2, 244, 101,
+ 181, 50, 12, 1, 222, 109, 2, 62, 252, 90, 22, 62, 50, 12, 1, 222, 109, 2,
+ 137, 181, 55, 12, 1, 222, 109, 2, 137, 181, 252, 90, 22, 137, 181, 50,
+ 12, 1, 222, 221, 2, 119, 181, 55, 12, 1, 222, 221, 2, 137, 181, 50, 12,
+ 1, 218, 44, 2, 137, 181, 50, 12, 1, 254, 232, 2, 137, 181, 50, 12, 1,
+ 247, 194, 244, 231, 12, 1, 244, 232, 2, 62, 230, 249, 55, 12, 1, 244,
+ 232, 2, 62, 55, 12, 1, 214, 230, 12, 1, 244, 232, 2, 137, 181, 55, 12, 1,
+ 226, 114, 12, 1, 225, 5, 2, 62, 50, 12, 1, 225, 5, 2, 137, 181, 50, 12,
+ 1, 235, 36, 12, 1, 218, 209, 235, 112, 12, 1, 235, 113, 2, 223, 164, 12,
+ 1, 235, 113, 2, 62, 50, 12, 1, 229, 228, 12, 1, 235, 113, 2, 137, 181,
+ 55, 12, 1, 243, 217, 12, 1, 243, 218, 2, 223, 164, 12, 1, 229, 153, 12,
+ 1, 243, 218, 2, 119, 181, 55, 12, 1, 242, 203, 12, 1, 243, 218, 2, 137,
+ 181, 50, 12, 1, 233, 225, 2, 4, 211, 211, 12, 1, 233, 225, 2, 62, 50, 12,
+ 1, 233, 225, 2, 137, 181, 50, 12, 1, 233, 225, 2, 137, 181, 55, 12, 1,
+ 228, 217, 2, 62, 55, 12, 1, 228, 217, 243, 58, 12, 1, 223, 149, 12, 1,
+ 228, 217, 2, 223, 164, 12, 1, 228, 217, 2, 137, 181, 50, 12, 1, 242, 66,
+ 247, 216, 12, 1, 217, 247, 2, 62, 50, 12, 1, 242, 66, 2, 76, 50, 12, 1,
+ 242, 66, 243, 11, 12, 1, 242, 66, 243, 12, 2, 194, 50, 12, 1, 217, 229,
+ 232, 43, 243, 11, 12, 1, 214, 18, 2, 223, 164, 12, 1, 234, 193, 227, 136,
+ 12, 1, 227, 136, 12, 1, 72, 12, 1, 212, 204, 12, 1, 234, 193, 212, 204,
+ 12, 1, 214, 18, 2, 119, 181, 50, 12, 1, 214, 237, 12, 1, 245, 1, 213, 35,
+ 12, 1, 76, 2, 218, 40, 12, 1, 76, 2, 4, 211, 211, 12, 1, 214, 18, 2, 62,
+ 50, 12, 1, 77, 12, 1, 76, 2, 137, 181, 55, 12, 1, 76, 252, 178, 12, 1,
+ 76, 252, 179, 2, 194, 50, 12, 244, 64, 219, 83, 12, 1, 255, 20, 12, 4,
+ 127, 26, 222, 221, 2, 233, 225, 2, 108, 232, 70, 12, 4, 127, 26, 225, 5,
+ 2, 233, 225, 2, 108, 232, 70, 12, 4, 127, 64, 73, 17, 12, 4, 127, 233,
+ 225, 254, 205, 12, 4, 127, 235, 239, 12, 4, 127, 137, 247, 193, 12, 4,
+ 127, 222, 108, 12, 245, 222, 68, 253, 209, 12, 219, 105, 68, 223, 75,
+ 245, 253, 242, 4, 12, 4, 127, 223, 119, 212, 79, 12, 4, 127, 215, 136,
+ 224, 42, 212, 79, 12, 4, 127, 247, 194, 242, 83, 68, 234, 247, 12, 4,
+ 127, 64, 49, 17, 12, 4, 117, 222, 108, 12, 4, 127, 232, 105, 12, 4, 214,
+ 17, 12, 4, 213, 35, 12, 4, 127, 213, 35, 12, 4, 127, 228, 216, 12, 225,
+ 209, 68, 222, 208, 12, 245, 231, 250, 232, 117, 219, 83, 12, 245, 231,
+ 250, 232, 127, 219, 83, 12, 223, 119, 127, 219, 84, 2, 244, 193, 250,
+ 231, 12, 4, 117, 231, 213, 12, 1, 249, 7, 2, 236, 52, 211, 211, 12, 1,
+ 224, 24, 2, 236, 52, 211, 211, 245, 111, 254, 78, 21, 212, 79, 245, 111,
+ 254, 78, 21, 118, 245, 111, 254, 78, 21, 112, 245, 111, 254, 78, 21, 170,
+ 245, 111, 254, 78, 21, 167, 245, 111, 254, 78, 21, 185, 245, 111, 254,
+ 78, 21, 192, 245, 111, 254, 78, 21, 200, 245, 111, 254, 78, 21, 198, 245,
+ 111, 254, 78, 21, 203, 12, 1, 221, 5, 2, 62, 55, 12, 1, 249, 26, 2, 62,
+ 55, 12, 1, 243, 85, 2, 62, 55, 12, 5, 220, 103, 254, 162, 12, 5, 220,
+ 103, 225, 151, 231, 192, 12, 1, 242, 66, 2, 236, 52, 211, 211, 180, 245,
+ 222, 68, 226, 179, 180, 218, 233, 244, 64, 219, 83, 180, 219, 26, 244,
+ 64, 219, 83, 180, 218, 233, 250, 30, 180, 219, 26, 250, 30, 180, 201,
+ 250, 30, 180, 250, 31, 220, 53, 233, 168, 180, 250, 31, 220, 53, 223,
+ 182, 180, 218, 233, 250, 31, 220, 53, 233, 168, 180, 219, 26, 250, 31,
+ 220, 53, 223, 182, 180, 249, 242, 180, 242, 104, 227, 151, 180, 242, 104,
+ 231, 173, 180, 242, 104, 254, 5, 180, 255, 53, 79, 180, 1, 254, 209, 180,
+ 1, 218, 237, 254, 209, 180, 1, 252, 72, 180, 1, 243, 209, 180, 1, 243,
+ 210, 243, 187, 180, 1, 249, 3, 180, 1, 247, 194, 249, 4, 223, 160, 180,
+ 1, 242, 85, 180, 1, 214, 17, 180, 1, 212, 101, 180, 1, 242, 43, 180, 1,
+ 217, 192, 180, 1, 217, 193, 243, 187, 180, 1, 212, 191, 180, 1, 212, 192,
+ 242, 85, 180, 1, 235, 87, 180, 1, 233, 223, 180, 1, 231, 73, 180, 1, 228,
+ 93, 180, 1, 221, 86, 180, 1, 41, 221, 86, 180, 1, 77, 180, 1, 226, 132,
+ 180, 1, 223, 236, 226, 132, 180, 1, 222, 218, 180, 1, 224, 254, 180, 1,
+ 223, 160, 180, 1, 220, 221, 180, 1, 218, 0, 180, 1, 226, 81, 252, 60,
+ 180, 1, 226, 81, 243, 82, 180, 1, 226, 81, 248, 93, 180, 225, 72, 50,
+ 180, 225, 72, 55, 180, 225, 72, 246, 192, 180, 212, 10, 50, 180, 212, 10,
+ 55, 180, 212, 10, 246, 192, 180, 224, 58, 50, 180, 224, 58, 55, 180, 246,
+ 193, 212, 17, 241, 149, 180, 246, 193, 212, 17, 254, 142, 180, 242, 88,
+ 50, 180, 242, 88, 55, 180, 242, 87, 246, 192, 180, 245, 164, 50, 180,
+ 245, 164, 55, 180, 223, 44, 180, 244, 225, 247, 195, 180, 224, 172, 180,
+ 223, 71, 180, 119, 66, 181, 50, 180, 119, 66, 181, 55, 180, 137, 181, 50,
+ 180, 137, 181, 55, 180, 227, 149, 233, 84, 50, 180, 227, 149, 233, 84,
+ 55, 180, 230, 196, 180, 252, 177, 180, 1, 219, 252, 212, 73, 180, 1, 219,
+ 252, 234, 240, 180, 1, 219, 252, 244, 243, 12, 1, 252, 101, 2, 137, 181,
+ 241, 99, 55, 12, 1, 252, 101, 2, 62, 252, 90, 22, 137, 181, 50, 12, 1,
+ 252, 101, 2, 137, 181, 225, 177, 215, 130, 55, 12, 1, 252, 101, 2, 137,
+ 181, 225, 177, 215, 130, 252, 90, 22, 119, 181, 50, 12, 1, 252, 101, 2,
+ 119, 181, 252, 90, 22, 62, 50, 12, 1, 252, 101, 2, 236, 52, 4, 215, 86,
+ 55, 12, 1, 252, 101, 2, 4, 211, 211, 12, 1, 123, 2, 119, 181, 50, 12, 1,
+ 123, 2, 137, 181, 225, 177, 215, 130, 55, 12, 1, 249, 7, 2, 119, 181,
+ 214, 171, 252, 90, 22, 4, 218, 43, 12, 1, 249, 7, 2, 236, 52, 4, 215, 86,
+ 55, 12, 1, 224, 24, 2, 91, 12, 1, 222, 109, 2, 244, 101, 181, 50, 12, 1,
+ 254, 232, 2, 119, 181, 50, 12, 1, 254, 232, 2, 137, 181, 225, 177, 246,
+ 179, 50, 12, 1, 254, 232, 2, 119, 181, 214, 171, 50, 12, 1, 244, 232, 2,
+ 119, 181, 55, 12, 1, 244, 232, 2, 137, 181, 225, 177, 215, 130, 55, 12,
+ 1, 235, 37, 2, 62, 50, 12, 1, 235, 37, 2, 137, 181, 50, 12, 1, 235, 37,
+ 2, 137, 181, 225, 177, 215, 130, 55, 12, 1, 64, 2, 62, 50, 12, 1, 64, 2,
+ 62, 55, 12, 1, 228, 217, 2, 119, 181, 55, 12, 1, 228, 217, 2, 4, 218, 43,
+ 12, 1, 228, 217, 2, 4, 211, 211, 12, 1, 233, 225, 2, 134, 12, 1, 224, 24,
+ 2, 119, 181, 214, 171, 50, 12, 1, 224, 24, 2, 194, 50, 12, 1, 222, 109,
+ 2, 119, 181, 214, 171, 50, 12, 1, 123, 2, 4, 12, 1, 218, 44, 55, 12, 1,
+ 123, 2, 4, 12, 1, 218, 44, 22, 119, 247, 193, 12, 1, 222, 109, 2, 4, 12,
+ 1, 218, 44, 22, 119, 247, 193, 12, 1, 224, 24, 2, 4, 12, 1, 218, 44, 22,
+ 119, 247, 193, 12, 1, 123, 2, 4, 12, 1, 218, 44, 50, 12, 1, 108, 2, 245,
+ 111, 254, 78, 21, 119, 50, 12, 1, 108, 2, 245, 111, 254, 78, 21, 137, 50,
+ 12, 1, 245, 1, 76, 2, 245, 111, 254, 78, 21, 119, 50, 12, 1, 245, 1, 76,
+ 2, 245, 111, 254, 78, 21, 137, 50, 12, 1, 245, 1, 76, 2, 245, 111, 254,
+ 78, 21, 244, 101, 55, 12, 1, 214, 18, 2, 245, 111, 254, 78, 21, 119, 50,
+ 12, 1, 214, 18, 2, 245, 111, 254, 78, 21, 137, 50, 12, 1, 76, 252, 179,
+ 2, 245, 111, 254, 78, 21, 119, 50, 12, 1, 76, 252, 179, 2, 245, 111, 254,
+ 78, 21, 137, 50, 12, 1, 123, 2, 245, 111, 254, 78, 21, 244, 101, 55, 12,
+ 1, 222, 109, 2, 245, 111, 254, 78, 21, 244, 101, 50, 12, 1, 222, 109, 2,
+ 236, 52, 211, 211, 12, 1, 235, 113, 2, 119, 181, 50, 217, 171, 1, 242,
+ 148, 217, 171, 1, 221, 13, 217, 171, 1, 228, 215, 217, 171, 1, 224, 109,
+ 217, 171, 1, 252, 233, 217, 171, 1, 233, 120, 217, 171, 1, 235, 126, 217,
+ 171, 1, 254, 195, 217, 171, 1, 215, 6, 217, 171, 1, 231, 212, 217, 171,
+ 1, 245, 27, 217, 171, 1, 248, 96, 217, 171, 1, 217, 173, 217, 171, 1,
+ 233, 251, 217, 171, 1, 243, 226, 217, 171, 1, 243, 17, 217, 171, 1, 222,
+ 107, 217, 171, 1, 248, 215, 217, 171, 1, 212, 93, 217, 171, 1, 218, 1,
+ 217, 171, 1, 213, 94, 217, 171, 1, 226, 143, 217, 171, 1, 235, 244, 217,
+ 171, 1, 250, 193, 217, 171, 1, 216, 127, 217, 171, 1, 242, 36, 217, 171,
+ 1, 234, 249, 217, 171, 1, 217, 172, 217, 171, 1, 212, 108, 217, 171, 1,
+ 221, 3, 217, 171, 1, 222, 224, 217, 171, 1, 249, 28, 217, 171, 1, 109,
+ 217, 171, 1, 212, 16, 217, 171, 1, 254, 228, 217, 171, 1, 243, 83, 217,
+ 171, 1, 225, 8, 217, 171, 1, 214, 50, 217, 171, 255, 54, 217, 171, 255,
+ 69, 217, 171, 240, 224, 217, 171, 246, 29, 217, 171, 215, 197, 217, 171,
+ 227, 85, 217, 171, 246, 37, 217, 171, 245, 105, 217, 171, 227, 148, 217,
+ 171, 227, 156, 217, 171, 219, 4, 217, 171, 1, 230, 112, 229, 32, 21, 212,
+ 79, 229, 32, 21, 118, 229, 32, 21, 112, 229, 32, 21, 170, 229, 32, 21,
+ 167, 229, 32, 21, 185, 229, 32, 21, 192, 229, 32, 21, 200, 229, 32, 21,
+ 198, 229, 32, 21, 203, 229, 32, 1, 63, 229, 32, 1, 246, 30, 229, 32, 1,
+ 75, 229, 32, 1, 77, 229, 32, 1, 72, 229, 32, 1, 227, 86, 229, 32, 1, 78,
+ 229, 32, 1, 249, 18, 229, 32, 1, 206, 229, 32, 1, 252, 234, 229, 32, 1,
+ 195, 229, 32, 1, 218, 66, 229, 32, 1, 236, 0, 229, 32, 1, 250, 215, 229,
+ 32, 1, 249, 30, 229, 32, 1, 208, 229, 32, 1, 223, 115, 229, 32, 1, 222,
+ 227, 229, 32, 1, 243, 175, 229, 32, 1, 245, 29, 229, 32, 1, 183, 229, 32,
+ 1, 233, 255, 229, 32, 1, 230, 115, 213, 213, 229, 32, 1, 191, 229, 32, 1,
+ 228, 64, 229, 32, 1, 207, 229, 32, 1, 162, 229, 32, 1, 214, 52, 229, 32,
+ 1, 189, 229, 32, 1, 228, 65, 213, 213, 229, 32, 1, 235, 178, 236, 0, 229,
+ 32, 1, 235, 178, 250, 215, 229, 32, 1, 235, 178, 208, 229, 32, 38, 220,
+ 196, 127, 216, 254, 229, 32, 38, 220, 196, 117, 216, 254, 229, 32, 38,
+ 220, 196, 223, 159, 216, 254, 229, 32, 38, 187, 248, 110, 216, 254, 229,
+ 32, 38, 187, 127, 216, 254, 229, 32, 38, 187, 117, 216, 254, 229, 32, 38,
+ 187, 223, 159, 216, 254, 229, 32, 38, 230, 81, 79, 229, 32, 38, 52, 62,
+ 50, 229, 32, 127, 161, 254, 97, 229, 32, 117, 161, 254, 97, 229, 32, 16,
+ 227, 87, 248, 122, 229, 32, 16, 243, 174, 229, 32, 250, 23, 229, 32, 245,
+ 119, 79, 229, 32, 233, 230, 222, 191, 1, 254, 211, 222, 191, 1, 252, 20,
+ 222, 191, 1, 243, 208, 222, 191, 1, 249, 5, 222, 191, 1, 236, 11, 222,
+ 191, 1, 252, 233, 222, 191, 1, 212, 82, 222, 191, 1, 236, 19, 222, 191,
+ 1, 217, 34, 222, 191, 1, 212, 174, 222, 191, 1, 235, 127, 222, 191, 1,
+ 233, 248, 222, 191, 1, 231, 73, 222, 191, 1, 228, 93, 222, 191, 1, 220,
+ 101, 222, 191, 1, 236, 112, 222, 191, 1, 244, 210, 222, 191, 1, 216, 152,
+ 222, 191, 1, 224, 190, 222, 191, 1, 223, 160, 222, 191, 1, 221, 30, 222,
+ 191, 1, 218, 62, 222, 191, 156, 236, 112, 222, 191, 156, 236, 111, 222,
+ 191, 156, 227, 144, 222, 191, 156, 249, 16, 222, 191, 59, 1, 245, 189,
+ 212, 174, 222, 191, 156, 245, 189, 212, 174, 222, 191, 30, 5, 187, 77,
+ 222, 191, 30, 5, 77, 222, 191, 30, 5, 227, 24, 255, 104, 222, 191, 30, 5,
+ 187, 255, 104, 222, 191, 30, 5, 255, 104, 222, 191, 30, 5, 227, 24, 63,
+ 222, 191, 30, 5, 187, 63, 222, 191, 30, 5, 63, 222, 191, 59, 1, 220, 196,
+ 63, 222, 191, 30, 5, 220, 196, 63, 222, 191, 30, 5, 187, 72, 222, 191,
+ 30, 5, 72, 222, 191, 59, 1, 75, 222, 191, 30, 5, 187, 75, 222, 191, 30,
+ 5, 75, 222, 191, 30, 5, 78, 222, 191, 30, 5, 219, 4, 222, 191, 156, 229,
+ 241, 222, 191, 225, 63, 229, 241, 222, 191, 225, 63, 254, 251, 222, 191,
+ 225, 63, 254, 150, 222, 191, 225, 63, 252, 160, 222, 191, 225, 63, 253,
+ 244, 222, 191, 225, 63, 220, 209, 222, 191, 255, 53, 79, 222, 191, 225,
+ 63, 231, 202, 224, 225, 222, 191, 225, 63, 212, 24, 222, 191, 225, 63,
+ 224, 225, 222, 191, 225, 63, 212, 107, 222, 191, 225, 63, 216, 62, 222,
+ 191, 225, 63, 254, 51, 222, 191, 225, 63, 220, 0, 232, 23, 222, 191, 225,
+ 63, 254, 138, 232, 60, 1, 242, 127, 232, 60, 1, 255, 57, 232, 60, 1, 254,
+ 249, 232, 60, 1, 255, 32, 232, 60, 1, 254, 242, 232, 60, 1, 215, 104,
+ 232, 60, 1, 253, 203, 232, 60, 1, 236, 19, 232, 60, 1, 253, 241, 232, 60,
+ 1, 254, 216, 232, 60, 1, 254, 221, 232, 60, 1, 254, 213, 232, 60, 1, 254,
+ 172, 232, 60, 1, 254, 159, 232, 60, 1, 254, 23, 232, 60, 1, 236, 112,
+ 232, 60, 1, 254, 110, 232, 60, 1, 253, 251, 232, 60, 1, 254, 86, 232, 60,
+ 1, 254, 82, 232, 60, 1, 254, 17, 232, 60, 1, 253, 249, 232, 60, 1, 246,
+ 131, 232, 60, 1, 235, 120, 232, 60, 1, 254, 231, 232, 60, 254, 255, 79,
+ 232, 60, 214, 121, 79, 232, 60, 243, 149, 79, 232, 60, 225, 62, 84, 5,
+ 236, 52, 251, 55, 84, 5, 251, 55, 84, 5, 254, 113, 84, 5, 214, 132, 84,
+ 1, 220, 196, 63, 84, 1, 63, 84, 1, 255, 104, 84, 1, 75, 84, 1, 236, 145,
+ 84, 1, 72, 84, 1, 215, 98, 84, 1, 165, 152, 84, 1, 165, 155, 84, 1, 251,
+ 58, 77, 84, 1, 220, 196, 77, 84, 1, 77, 84, 1, 254, 236, 84, 1, 251, 58,
+ 78, 84, 1, 220, 196, 78, 84, 1, 78, 84, 1, 253, 235, 84, 1, 183, 84, 1,
+ 234, 250, 84, 1, 243, 230, 84, 1, 243, 89, 84, 1, 229, 226, 84, 1, 251,
+ 88, 84, 1, 250, 215, 84, 1, 236, 0, 84, 1, 235, 230, 84, 1, 228, 64, 84,
+ 1, 216, 128, 84, 1, 216, 116, 84, 1, 248, 207, 84, 1, 248, 191, 84, 1,
+ 229, 6, 84, 1, 218, 66, 84, 1, 217, 174, 84, 1, 249, 30, 84, 1, 248, 97,
+ 84, 1, 207, 84, 1, 228, 246, 84, 1, 195, 84, 1, 226, 59, 84, 1, 252, 234,
+ 84, 1, 252, 65, 84, 1, 191, 84, 1, 189, 84, 1, 208, 84, 1, 223, 115, 84,
+ 1, 233, 255, 84, 1, 233, 54, 84, 1, 233, 45, 84, 1, 215, 8, 84, 1, 221,
+ 47, 84, 1, 219, 176, 84, 1, 222, 227, 84, 1, 162, 84, 30, 5, 227, 136,
+ 84, 30, 5, 227, 84, 84, 5, 228, 103, 84, 5, 253, 218, 84, 30, 5, 255,
+ 104, 84, 30, 5, 75, 84, 30, 5, 236, 145, 84, 30, 5, 72, 84, 30, 5, 215,
+ 98, 84, 30, 5, 165, 152, 84, 30, 5, 165, 223, 116, 84, 30, 5, 251, 58,
+ 77, 84, 30, 5, 220, 196, 77, 84, 30, 5, 77, 84, 30, 5, 254, 236, 84, 30,
+ 5, 251, 58, 78, 84, 30, 5, 220, 196, 78, 84, 30, 5, 78, 84, 30, 5, 253,
+ 235, 84, 5, 214, 137, 84, 30, 5, 225, 102, 77, 84, 30, 5, 253, 214, 84,
+ 227, 107, 84, 219, 65, 5, 215, 191, 84, 219, 65, 5, 254, 115, 84, 242,
+ 234, 255, 46, 84, 255, 36, 255, 46, 84, 30, 5, 251, 58, 187, 77, 84, 30,
+ 5, 215, 189, 84, 30, 5, 215, 97, 84, 1, 225, 11, 84, 1, 234, 233, 84, 1,
+ 243, 66, 84, 1, 212, 109, 84, 1, 248, 196, 84, 1, 223, 226, 84, 1, 245,
+ 29, 84, 1, 212, 160, 84, 1, 165, 223, 116, 84, 1, 165, 233, 55, 84, 30,
+ 5, 165, 155, 84, 30, 5, 165, 233, 55, 84, 248, 245, 84, 52, 248, 245, 84,
+ 21, 212, 79, 84, 21, 118, 84, 21, 112, 84, 21, 170, 84, 21, 167, 84, 21,
+ 185, 84, 21, 192, 84, 21, 200, 84, 21, 198, 84, 21, 203, 84, 255, 53, 53,
+ 84, 5, 127, 219, 224, 247, 195, 84, 1, 251, 58, 63, 84, 1, 227, 136, 84,
+ 1, 227, 84, 84, 1, 253, 214, 84, 1, 215, 189, 84, 1, 215, 97, 84, 1, 212,
+ 75, 84, 1, 110, 189, 84, 1, 243, 125, 84, 1, 235, 213, 84, 1, 243, 20,
+ 219, 83, 84, 1, 248, 197, 84, 1, 252, 157, 142, 5, 251, 55, 142, 5, 254,
+ 113, 142, 5, 214, 132, 142, 1, 63, 142, 1, 255, 104, 142, 1, 75, 142, 1,
+ 236, 145, 142, 1, 72, 142, 1, 215, 98, 142, 1, 165, 152, 142, 1, 165,
+ 155, 142, 1, 77, 142, 1, 254, 236, 142, 1, 78, 142, 1, 253, 235, 142, 1,
+ 183, 142, 1, 234, 250, 142, 1, 243, 230, 142, 1, 243, 89, 142, 1, 229,
+ 226, 142, 1, 251, 88, 142, 1, 250, 215, 142, 1, 236, 0, 142, 1, 235, 230,
+ 142, 1, 228, 64, 142, 1, 216, 128, 142, 1, 216, 116, 142, 1, 248, 207,
+ 142, 1, 248, 191, 142, 1, 229, 6, 142, 1, 218, 66, 142, 1, 217, 174, 142,
+ 1, 249, 30, 142, 1, 248, 97, 142, 1, 207, 142, 1, 195, 142, 1, 226, 59,
+ 142, 1, 252, 234, 142, 1, 252, 65, 142, 1, 191, 142, 1, 189, 142, 1, 208,
+ 142, 1, 233, 255, 142, 1, 221, 47, 142, 1, 219, 176, 142, 1, 222, 227,
+ 142, 1, 162, 142, 5, 228, 103, 142, 5, 253, 218, 142, 30, 5, 255, 104,
+ 142, 30, 5, 75, 142, 30, 5, 236, 145, 142, 30, 5, 72, 142, 30, 5, 215,
+ 98, 142, 30, 5, 165, 152, 142, 30, 5, 165, 223, 116, 142, 30, 5, 77, 142,
+ 30, 5, 254, 236, 142, 30, 5, 78, 142, 30, 5, 253, 235, 142, 5, 214, 137,
+ 142, 1, 234, 242, 218, 66, 142, 253, 236, 233, 145, 79, 142, 1, 223, 115,
+ 142, 1, 223, 226, 142, 1, 212, 160, 142, 1, 165, 223, 116, 142, 1, 165,
+ 233, 55, 142, 30, 5, 165, 155, 142, 30, 5, 165, 233, 55, 142, 21, 212,
+ 79, 142, 21, 118, 142, 21, 112, 142, 21, 170, 142, 21, 167, 142, 21, 185,
+ 142, 21, 192, 142, 21, 200, 142, 21, 198, 142, 21, 203, 142, 1, 224, 112,
+ 2, 231, 107, 248, 71, 142, 1, 224, 112, 2, 232, 237, 248, 71, 142, 223,
+ 55, 79, 142, 223, 55, 53, 142, 249, 162, 228, 96, 118, 142, 249, 162,
+ 228, 96, 112, 142, 249, 162, 228, 96, 170, 142, 249, 162, 228, 96, 167,
+ 142, 249, 162, 228, 96, 124, 233, 138, 217, 167, 217, 162, 248, 120, 142,
+ 249, 162, 248, 121, 220, 66, 142, 236, 20, 142, 243, 199, 79, 178, 5,
+ 255, 31, 252, 35, 178, 5, 252, 35, 178, 5, 214, 132, 178, 1, 63, 178, 1,
+ 255, 104, 178, 1, 75, 178, 1, 236, 145, 178, 1, 72, 178, 1, 215, 98, 178,
+ 1, 246, 30, 178, 1, 254, 236, 178, 1, 227, 86, 178, 1, 253, 235, 178, 1,
+ 183, 178, 1, 234, 250, 178, 1, 243, 230, 178, 1, 243, 89, 178, 1, 229,
+ 226, 178, 1, 251, 88, 178, 1, 250, 215, 178, 1, 236, 0, 178, 1, 235, 230,
+ 178, 1, 228, 64, 178, 1, 216, 128, 178, 1, 216, 116, 178, 1, 248, 207,
+ 178, 1, 248, 191, 178, 1, 229, 6, 178, 1, 218, 66, 178, 1, 217, 174, 178,
+ 1, 249, 30, 178, 1, 248, 97, 178, 1, 207, 178, 1, 195, 178, 1, 226, 59,
+ 178, 1, 252, 234, 178, 1, 252, 65, 178, 1, 191, 178, 1, 189, 178, 1, 208,
+ 178, 1, 233, 255, 178, 1, 233, 54, 178, 1, 215, 8, 178, 1, 221, 47, 178,
+ 1, 222, 227, 178, 1, 162, 178, 5, 228, 103, 178, 30, 5, 255, 104, 178,
+ 30, 5, 75, 178, 30, 5, 236, 145, 178, 30, 5, 72, 178, 30, 5, 215, 98,
+ 178, 30, 5, 246, 30, 178, 30, 5, 254, 236, 178, 30, 5, 227, 86, 178, 30,
+ 5, 253, 235, 178, 5, 214, 137, 178, 5, 215, 193, 178, 1, 234, 233, 178,
+ 1, 243, 66, 178, 1, 212, 109, 178, 1, 223, 115, 178, 1, 245, 29, 178, 21,
+ 212, 79, 178, 21, 118, 178, 21, 112, 178, 21, 170, 178, 21, 167, 178, 21,
+ 185, 178, 21, 192, 178, 21, 200, 178, 21, 198, 178, 21, 203, 178, 217,
+ 41, 178, 255, 30, 178, 236, 37, 178, 215, 123, 178, 246, 3, 227, 91, 178,
+ 5, 213, 69, 168, 5, 251, 55, 168, 5, 254, 113, 168, 5, 214, 132, 168, 1,
+ 63, 168, 1, 255, 104, 168, 1, 75, 168, 1, 236, 145, 168, 1, 72, 168, 1,
+ 215, 98, 168, 1, 165, 152, 168, 1, 165, 155, 168, 30, 251, 58, 77, 168,
+ 1, 77, 168, 1, 254, 236, 168, 30, 251, 58, 78, 168, 1, 78, 168, 1, 253,
+ 235, 168, 1, 183, 168, 1, 234, 250, 168, 1, 243, 230, 168, 1, 243, 89,
+ 168, 1, 229, 226, 168, 1, 251, 88, 168, 1, 250, 215, 168, 1, 236, 0, 168,
+ 1, 235, 230, 168, 1, 228, 64, 168, 1, 216, 128, 168, 1, 216, 116, 168, 1,
+ 248, 207, 168, 1, 248, 191, 168, 1, 229, 6, 168, 1, 218, 66, 168, 1, 217,
+ 174, 168, 1, 249, 30, 168, 1, 248, 97, 168, 1, 207, 168, 1, 195, 168, 1,
+ 226, 59, 168, 1, 252, 234, 168, 1, 252, 65, 168, 1, 191, 168, 1, 189,
+ 168, 1, 208, 168, 1, 233, 255, 168, 1, 233, 54, 168, 1, 215, 8, 168, 1,
+ 221, 47, 168, 1, 219, 176, 168, 1, 222, 227, 168, 1, 162, 168, 5, 228,
+ 103, 168, 5, 253, 218, 168, 30, 5, 255, 104, 168, 30, 5, 75, 168, 30, 5,
+ 236, 145, 168, 30, 5, 72, 168, 30, 5, 215, 98, 168, 30, 5, 165, 152, 168,
+ 30, 5, 165, 223, 116, 168, 30, 5, 251, 58, 77, 168, 30, 5, 77, 168, 30,
+ 5, 254, 236, 168, 30, 5, 251, 58, 78, 168, 30, 5, 78, 168, 30, 5, 253,
+ 235, 168, 5, 214, 137, 168, 227, 107, 168, 1, 165, 223, 116, 168, 1, 165,
+ 233, 55, 168, 30, 5, 165, 155, 168, 30, 5, 165, 233, 55, 168, 21, 212,
+ 79, 168, 21, 118, 168, 21, 112, 168, 21, 170, 168, 21, 167, 168, 21, 185,
+ 168, 21, 192, 168, 21, 200, 168, 21, 198, 168, 21, 203, 168, 223, 55, 53,
+ 151, 5, 251, 55, 151, 5, 254, 113, 151, 5, 214, 132, 151, 1, 63, 151, 1,
+ 255, 104, 151, 1, 75, 151, 1, 236, 145, 151, 1, 72, 151, 1, 215, 98, 151,
+ 1, 165, 152, 151, 1, 165, 155, 151, 1, 77, 151, 1, 254, 236, 151, 1, 78,
+ 151, 1, 253, 235, 151, 1, 183, 151, 1, 234, 250, 151, 1, 243, 230, 151,
+ 1, 243, 89, 151, 1, 229, 226, 151, 1, 251, 88, 151, 1, 250, 215, 151, 1,
+ 236, 0, 151, 1, 235, 230, 151, 1, 228, 64, 151, 1, 216, 128, 151, 1, 216,
+ 116, 151, 1, 248, 207, 151, 1, 248, 191, 151, 1, 229, 6, 151, 1, 218, 66,
+ 151, 1, 217, 174, 151, 1, 249, 30, 151, 1, 248, 97, 151, 1, 207, 151, 1,
+ 195, 151, 1, 226, 59, 151, 1, 252, 234, 151, 1, 252, 65, 151, 1, 191,
+ 151, 1, 189, 151, 1, 208, 151, 1, 233, 255, 151, 1, 233, 54, 151, 1, 215,
+ 8, 151, 1, 221, 47, 151, 1, 219, 176, 151, 1, 222, 227, 151, 1, 162, 151,
+ 5, 228, 103, 151, 5, 253, 218, 151, 30, 5, 255, 104, 151, 30, 5, 75, 151,
+ 30, 5, 236, 145, 151, 30, 5, 72, 151, 30, 5, 215, 98, 151, 30, 5, 165,
+ 152, 151, 30, 5, 165, 223, 116, 151, 30, 5, 77, 151, 30, 5, 254, 236,
+ 151, 30, 5, 78, 151, 30, 5, 253, 235, 151, 5, 214, 137, 151, 254, 237,
+ 233, 145, 79, 151, 253, 236, 233, 145, 79, 151, 1, 223, 115, 151, 1, 223,
+ 226, 151, 1, 212, 160, 151, 1, 165, 223, 116, 151, 1, 165, 233, 55, 151,
+ 30, 5, 165, 155, 151, 30, 5, 165, 233, 55, 151, 21, 212, 79, 151, 21,
+ 118, 151, 21, 112, 151, 21, 170, 151, 21, 167, 151, 21, 185, 151, 21,
+ 192, 151, 21, 200, 151, 21, 198, 151, 21, 203, 151, 236, 20, 151, 1, 214,
+ 52, 151, 244, 92, 124, 224, 201, 151, 244, 92, 124, 242, 129, 151, 244,
+ 92, 137, 224, 199, 151, 244, 92, 124, 220, 64, 151, 244, 92, 124, 246,
+ 10, 151, 244, 92, 137, 220, 63, 36, 5, 254, 113, 36, 5, 214, 132, 36, 1,
+ 63, 36, 1, 255, 104, 36, 1, 75, 36, 1, 236, 145, 36, 1, 72, 36, 1, 215,
+ 98, 36, 1, 77, 36, 1, 246, 30, 36, 1, 254, 236, 36, 1, 78, 36, 1, 227,
+ 86, 36, 1, 253, 235, 36, 1, 183, 36, 1, 229, 226, 36, 1, 251, 88, 36, 1,
+ 236, 0, 36, 1, 228, 64, 36, 1, 216, 128, 36, 1, 229, 6, 36, 1, 218, 66,
+ 36, 1, 207, 36, 1, 228, 246, 36, 1, 195, 36, 1, 191, 36, 1, 189, 36, 1,
+ 208, 36, 1, 223, 115, 36, 1, 233, 255, 36, 1, 233, 54, 36, 1, 233, 45,
+ 36, 1, 215, 8, 36, 1, 221, 47, 36, 1, 219, 176, 36, 1, 222, 227, 36, 1,
+ 162, 36, 30, 5, 255, 104, 36, 30, 5, 75, 36, 30, 5, 236, 145, 36, 30, 5,
+ 72, 36, 30, 5, 215, 98, 36, 30, 5, 77, 36, 30, 5, 246, 30, 36, 30, 5,
+ 254, 236, 36, 30, 5, 78, 36, 30, 5, 227, 86, 36, 30, 5, 253, 235, 36, 5,
+ 214, 137, 36, 227, 107, 36, 253, 236, 233, 145, 79, 36, 21, 212, 79, 36,
+ 21, 118, 36, 21, 112, 36, 21, 170, 36, 21, 167, 36, 21, 185, 36, 21, 192,
+ 36, 21, 200, 36, 21, 198, 36, 21, 203, 36, 51, 217, 213, 36, 51, 124,
+ 241, 62, 36, 51, 124, 217, 113, 36, 248, 213, 53, 36, 231, 19, 53, 36,
+ 213, 37, 53, 36, 248, 159, 53, 36, 249, 202, 53, 36, 254, 24, 74, 53, 36,
+ 223, 55, 53, 36, 51, 53, 145, 5, 251, 55, 145, 5, 254, 113, 145, 5, 214,
+ 132, 145, 1, 63, 145, 1, 255, 104, 145, 1, 75, 145, 1, 236, 145, 145, 1,
+ 72, 145, 1, 215, 98, 145, 1, 165, 152, 145, 1, 165, 155, 145, 1, 77, 145,
+ 1, 246, 30, 145, 1, 254, 236, 145, 1, 78, 145, 1, 227, 86, 145, 1, 253,
+ 235, 145, 1, 183, 145, 1, 234, 250, 145, 1, 243, 230, 145, 1, 243, 89,
+ 145, 1, 229, 226, 145, 1, 251, 88, 145, 1, 250, 215, 145, 1, 236, 0, 145,
+ 1, 235, 230, 145, 1, 228, 64, 145, 1, 216, 128, 145, 1, 216, 116, 145, 1,
+ 248, 207, 145, 1, 248, 191, 145, 1, 229, 6, 145, 1, 218, 66, 145, 1, 217,
+ 174, 145, 1, 249, 30, 145, 1, 248, 97, 145, 1, 207, 145, 1, 195, 145, 1,
+ 226, 59, 145, 1, 252, 234, 145, 1, 252, 65, 145, 1, 191, 145, 1, 189,
+ 145, 1, 208, 145, 1, 223, 115, 145, 1, 233, 255, 145, 1, 233, 54, 145, 1,
+ 215, 8, 145, 1, 221, 47, 145, 1, 219, 176, 145, 1, 222, 227, 145, 1, 162,
+ 145, 5, 253, 218, 145, 30, 5, 255, 104, 145, 30, 5, 75, 145, 30, 5, 236,
+ 145, 145, 30, 5, 72, 145, 30, 5, 215, 98, 145, 30, 5, 165, 152, 145, 30,
+ 5, 165, 223, 116, 145, 30, 5, 77, 145, 30, 5, 246, 30, 145, 30, 5, 254,
+ 236, 145, 30, 5, 78, 145, 30, 5, 227, 86, 145, 30, 5, 253, 235, 145, 5,
+ 214, 137, 145, 233, 145, 79, 145, 254, 237, 233, 145, 79, 145, 1, 216,
+ 154, 145, 1, 246, 114, 145, 1, 165, 223, 116, 145, 1, 165, 233, 55, 145,
+ 30, 5, 165, 155, 145, 30, 5, 165, 233, 55, 145, 21, 212, 79, 145, 21,
+ 118, 145, 21, 112, 145, 21, 170, 145, 21, 167, 145, 21, 185, 145, 21,
+ 192, 145, 21, 200, 145, 21, 198, 145, 21, 203, 145, 244, 92, 21, 212, 80,
+ 31, 227, 139, 225, 139, 68, 167, 145, 244, 92, 21, 124, 31, 227, 139,
+ 225, 139, 68, 167, 145, 244, 92, 21, 119, 31, 227, 139, 225, 139, 68,
+ 167, 145, 244, 92, 21, 137, 31, 227, 139, 225, 139, 68, 167, 145, 244,
+ 92, 21, 124, 31, 245, 130, 225, 139, 68, 167, 145, 244, 92, 21, 119, 31,
+ 245, 130, 225, 139, 68, 167, 145, 244, 92, 21, 137, 31, 245, 130, 225,
+ 139, 68, 167, 145, 5, 216, 56, 158, 5, 254, 113, 158, 5, 214, 132, 158,
+ 1, 63, 158, 1, 255, 104, 158, 1, 75, 158, 1, 236, 145, 158, 1, 72, 158,
+ 1, 215, 98, 158, 1, 165, 152, 158, 1, 165, 155, 158, 1, 77, 158, 1, 246,
+ 30, 158, 1, 254, 236, 158, 1, 78, 158, 1, 227, 86, 158, 1, 253, 235, 158,
+ 1, 183, 158, 1, 234, 250, 158, 1, 243, 230, 158, 1, 243, 89, 158, 1, 229,
+ 226, 158, 1, 251, 88, 158, 1, 250, 215, 158, 1, 236, 0, 158, 1, 235, 230,
+ 158, 1, 228, 64, 158, 1, 216, 128, 158, 1, 216, 116, 158, 1, 248, 207,
+ 158, 1, 248, 191, 158, 1, 229, 6, 158, 1, 218, 66, 158, 1, 217, 174, 158,
+ 1, 249, 30, 158, 1, 248, 97, 158, 1, 207, 158, 1, 195, 158, 1, 226, 59,
+ 158, 1, 252, 234, 158, 1, 252, 65, 158, 1, 191, 158, 1, 189, 158, 1, 208,
+ 158, 1, 223, 115, 158, 1, 233, 255, 158, 1, 233, 54, 158, 1, 215, 8, 158,
+ 1, 221, 47, 158, 1, 219, 176, 158, 1, 222, 227, 158, 1, 162, 158, 5, 228,
+ 103, 158, 5, 253, 218, 158, 30, 5, 255, 104, 158, 30, 5, 75, 158, 30, 5,
+ 236, 145, 158, 30, 5, 72, 158, 30, 5, 215, 98, 158, 30, 5, 165, 152, 158,
+ 30, 5, 165, 223, 116, 158, 30, 5, 77, 158, 30, 5, 246, 30, 158, 30, 5,
+ 254, 236, 158, 30, 5, 78, 158, 30, 5, 227, 86, 158, 30, 5, 253, 235, 158,
+ 5, 214, 137, 158, 233, 145, 79, 158, 254, 237, 233, 145, 79, 158, 1, 245,
+ 29, 158, 1, 165, 223, 116, 158, 1, 165, 233, 55, 158, 30, 5, 165, 155,
+ 158, 30, 5, 165, 233, 55, 158, 21, 212, 79, 158, 21, 118, 158, 21, 112,
+ 158, 21, 170, 158, 21, 167, 158, 21, 185, 158, 21, 192, 158, 21, 200,
+ 158, 21, 198, 158, 21, 203, 158, 5, 235, 219, 158, 5, 215, 138, 132, 5,
+ 254, 113, 132, 5, 214, 132, 132, 1, 63, 132, 1, 255, 104, 132, 1, 75,
+ 132, 1, 236, 145, 132, 1, 72, 132, 1, 215, 98, 132, 1, 165, 152, 132, 1,
+ 165, 155, 132, 1, 77, 132, 1, 246, 30, 132, 1, 254, 236, 132, 1, 78, 132,
+ 1, 227, 86, 132, 1, 253, 235, 132, 1, 183, 132, 1, 234, 250, 132, 1, 243,
+ 230, 132, 1, 243, 89, 132, 1, 229, 226, 132, 1, 251, 88, 132, 1, 250,
+ 215, 132, 1, 236, 0, 132, 1, 235, 230, 132, 1, 228, 64, 132, 1, 216, 128,
+ 132, 1, 216, 116, 132, 1, 248, 207, 132, 1, 248, 191, 132, 1, 229, 6,
+ 132, 1, 218, 66, 132, 1, 217, 174, 132, 1, 249, 30, 132, 1, 248, 97, 132,
+ 1, 207, 132, 1, 228, 246, 132, 1, 195, 132, 1, 226, 59, 132, 1, 252, 234,
+ 132, 1, 252, 65, 132, 1, 191, 132, 1, 189, 132, 1, 208, 132, 1, 223, 115,
+ 132, 1, 233, 255, 132, 1, 233, 54, 132, 1, 233, 45, 132, 1, 215, 8, 132,
+ 1, 221, 47, 132, 1, 219, 176, 132, 1, 222, 227, 132, 1, 162, 132, 1, 216,
+ 97, 132, 5, 253, 218, 132, 30, 5, 255, 104, 132, 30, 5, 75, 132, 30, 5,
+ 236, 145, 132, 30, 5, 72, 132, 30, 5, 215, 98, 132, 30, 5, 165, 152, 132,
+ 30, 5, 165, 223, 116, 132, 30, 5, 77, 132, 30, 5, 246, 30, 132, 30, 5,
+ 254, 236, 132, 30, 5, 78, 132, 30, 5, 227, 86, 132, 30, 5, 253, 235, 132,
+ 5, 214, 137, 132, 1, 62, 224, 3, 132, 253, 236, 233, 145, 79, 132, 1,
+ 165, 223, 116, 132, 1, 165, 233, 55, 132, 30, 5, 165, 155, 132, 30, 5,
+ 165, 233, 55, 132, 21, 212, 79, 132, 21, 118, 132, 21, 112, 132, 21, 170,
+ 132, 21, 167, 132, 21, 185, 132, 21, 192, 132, 21, 200, 132, 21, 198,
+ 132, 21, 203, 132, 51, 217, 213, 132, 51, 124, 241, 62, 132, 51, 124,
+ 217, 113, 132, 244, 92, 124, 224, 201, 132, 244, 92, 124, 242, 129, 132,
+ 244, 92, 137, 224, 199, 132, 248, 217, 79, 132, 1, 250, 159, 229, 7, 132,
+ 1, 250, 159, 206, 132, 1, 250, 159, 223, 116, 132, 1, 250, 159, 155, 132,
+ 1, 250, 159, 233, 55, 132, 1, 250, 159, 235, 141, 176, 5, 254, 112, 176,
+ 5, 214, 131, 176, 1, 253, 208, 176, 1, 255, 59, 176, 1, 255, 0, 176, 1,
+ 255, 15, 176, 1, 236, 10, 176, 1, 236, 144, 176, 1, 215, 90, 176, 1, 215,
+ 92, 176, 1, 236, 32, 176, 1, 236, 33, 176, 1, 236, 130, 176, 1, 236, 132,
+ 176, 1, 245, 106, 176, 1, 246, 26, 176, 1, 254, 223, 176, 1, 227, 14,
+ 176, 1, 227, 80, 176, 1, 253, 221, 176, 1, 254, 182, 235, 49, 176, 1,
+ 232, 87, 235, 49, 176, 1, 254, 182, 243, 178, 176, 1, 232, 87, 243, 178,
+ 176, 1, 235, 91, 230, 109, 176, 1, 222, 176, 243, 178, 176, 1, 254, 182,
+ 251, 16, 176, 1, 232, 87, 251, 16, 176, 1, 254, 182, 235, 243, 176, 1,
+ 232, 87, 235, 243, 176, 1, 218, 60, 230, 109, 176, 1, 218, 60, 222, 175,
+ 230, 110, 176, 1, 222, 176, 235, 243, 176, 1, 254, 182, 216, 124, 176, 1,
+ 232, 87, 216, 124, 176, 1, 254, 182, 248, 198, 176, 1, 232, 87, 248, 198,
+ 176, 1, 230, 193, 230, 69, 176, 1, 222, 176, 248, 198, 176, 1, 254, 182,
+ 217, 250, 176, 1, 232, 87, 217, 250, 176, 1, 254, 182, 248, 211, 176, 1,
+ 232, 87, 248, 211, 176, 1, 248, 241, 230, 69, 176, 1, 222, 176, 248, 211,
+ 176, 1, 254, 182, 226, 138, 176, 1, 232, 87, 226, 138, 176, 1, 254, 182,
+ 252, 158, 176, 1, 232, 87, 252, 158, 176, 1, 232, 9, 176, 1, 254, 167,
+ 252, 158, 176, 1, 213, 43, 176, 1, 224, 60, 176, 1, 248, 241, 233, 189,
+ 176, 1, 214, 239, 176, 1, 218, 60, 222, 151, 176, 1, 230, 193, 222, 151,
+ 176, 1, 248, 241, 222, 151, 176, 1, 242, 89, 176, 1, 230, 193, 233, 189,
+ 176, 1, 244, 245, 176, 5, 254, 212, 176, 30, 5, 255, 10, 176, 30, 5, 235,
+ 17, 255, 17, 176, 30, 5, 248, 45, 255, 17, 176, 30, 5, 235, 17, 236, 29,
+ 176, 30, 5, 248, 45, 236, 29, 176, 30, 5, 235, 17, 226, 250, 176, 30, 5,
+ 248, 45, 226, 250, 176, 30, 5, 243, 219, 176, 30, 5, 234, 135, 176, 30,
+ 5, 248, 45, 234, 135, 176, 30, 5, 234, 137, 248, 139, 176, 30, 5, 234,
+ 136, 242, 149, 255, 10, 176, 30, 5, 234, 136, 242, 149, 248, 45, 255, 10,
+ 176, 30, 5, 234, 136, 242, 149, 243, 177, 176, 30, 5, 243, 177, 176, 30,
+ 5, 248, 45, 243, 219, 176, 30, 5, 248, 45, 243, 177, 176, 225, 63, 234,
+ 71, 160, 143, 234, 149, 235, 108, 160, 143, 234, 225, 234, 246, 160, 143,
+ 234, 225, 234, 218, 160, 143, 234, 225, 234, 215, 160, 143, 234, 225,
+ 234, 222, 160, 143, 234, 225, 224, 81, 160, 143, 229, 156, 229, 143, 160,
+ 143, 250, 147, 250, 206, 160, 143, 250, 147, 250, 155, 160, 143, 250,
+ 147, 250, 205, 160, 143, 220, 6, 220, 5, 160, 143, 250, 147, 250, 143,
+ 160, 143, 212, 237, 212, 244, 160, 143, 247, 221, 250, 212, 160, 143,
+ 217, 10, 226, 148, 160, 143, 217, 123, 217, 166, 160, 143, 217, 123, 230,
+ 89, 160, 143, 217, 123, 226, 23, 160, 143, 228, 229, 229, 247, 160, 143,
+ 247, 221, 248, 140, 160, 143, 217, 10, 218, 19, 160, 143, 217, 123, 217,
+ 98, 160, 143, 217, 123, 217, 170, 160, 143, 217, 123, 217, 120, 160, 143,
+ 228, 229, 228, 135, 160, 143, 251, 254, 252, 210, 160, 143, 225, 187,
+ 225, 210, 160, 143, 226, 34, 226, 25, 160, 143, 244, 133, 245, 29, 160,
+ 143, 226, 34, 226, 53, 160, 143, 244, 133, 245, 6, 160, 143, 226, 34,
+ 222, 186, 160, 143, 231, 46, 191, 160, 143, 212, 237, 213, 70, 160, 143,
+ 223, 147, 223, 76, 160, 143, 223, 77, 160, 143, 233, 27, 233, 76, 160,
+ 143, 232, 230, 160, 143, 213, 218, 214, 48, 160, 143, 220, 6, 222, 201,
+ 160, 143, 220, 6, 223, 51, 160, 143, 220, 6, 219, 40, 160, 143, 241, 174,
+ 242, 8, 160, 143, 233, 27, 250, 128, 160, 143, 141, 254, 151, 160, 143,
+ 241, 174, 228, 224, 160, 143, 226, 232, 160, 143, 222, 170, 63, 160, 143,
+ 232, 82, 242, 120, 160, 143, 222, 170, 255, 104, 160, 143, 222, 170, 254,
+ 172, 160, 143, 222, 170, 75, 160, 143, 222, 170, 236, 145, 160, 143, 222,
+ 170, 215, 189, 160, 143, 222, 170, 215, 187, 160, 143, 222, 170, 72, 160,
+ 143, 222, 170, 215, 98, 160, 143, 226, 36, 160, 249, 162, 16, 252, 211,
+ 160, 143, 222, 170, 77, 160, 143, 222, 170, 255, 20, 160, 143, 222, 170,
+ 78, 160, 143, 222, 170, 254, 237, 232, 76, 160, 143, 222, 170, 254, 237,
+ 232, 77, 160, 143, 233, 228, 160, 143, 232, 73, 160, 143, 232, 74, 160,
+ 143, 232, 82, 246, 2, 160, 143, 232, 82, 217, 122, 160, 143, 232, 82,
+ 216, 199, 160, 143, 232, 82, 250, 194, 160, 143, 217, 164, 160, 143, 229,
+ 100, 160, 143, 213, 64, 160, 143, 244, 124, 160, 21, 212, 79, 160, 21,
+ 118, 160, 21, 112, 160, 21, 170, 160, 21, 167, 160, 21, 185, 160, 21,
+ 192, 160, 21, 200, 160, 21, 198, 160, 21, 203, 160, 143, 254, 147, 160,
+ 143, 234, 223, 202, 1, 234, 148, 202, 1, 234, 225, 218, 249, 202, 1, 234,
+ 225, 218, 26, 202, 1, 229, 155, 202, 1, 250, 42, 202, 1, 220, 6, 218, 26,
+ 202, 1, 228, 35, 202, 1, 247, 220, 202, 1, 109, 202, 1, 217, 123, 218,
+ 249, 202, 1, 217, 123, 218, 26, 202, 1, 228, 228, 202, 1, 251, 253, 202,
+ 1, 225, 186, 202, 1, 226, 34, 218, 249, 202, 1, 244, 133, 218, 26, 202,
+ 1, 226, 34, 218, 26, 202, 1, 244, 133, 218, 249, 202, 1, 231, 45, 202, 1,
+ 212, 236, 202, 1, 233, 27, 233, 76, 202, 1, 233, 27, 232, 250, 202, 1,
+ 213, 217, 202, 1, 220, 6, 218, 249, 202, 1, 241, 174, 218, 249, 202, 1,
+ 78, 202, 1, 241, 174, 218, 26, 202, 245, 241, 202, 30, 5, 63, 202, 30, 5,
+ 232, 82, 235, 96, 202, 30, 5, 255, 104, 202, 30, 5, 254, 172, 202, 30, 5,
+ 75, 202, 30, 5, 236, 145, 202, 30, 5, 213, 108, 202, 30, 5, 212, 161,
+ 202, 30, 5, 72, 202, 30, 5, 215, 98, 202, 30, 5, 232, 82, 234, 133, 202,
+ 221, 88, 5, 233, 26, 202, 221, 88, 5, 228, 35, 202, 30, 5, 77, 202, 30,
+ 5, 246, 17, 202, 30, 5, 78, 202, 30, 5, 253, 210, 202, 30, 5, 254, 236,
+ 202, 234, 149, 233, 255, 202, 161, 232, 82, 246, 2, 202, 161, 232, 82,
+ 217, 122, 202, 161, 232, 82, 217, 84, 202, 161, 232, 82, 251, 23, 202,
+ 251, 60, 79, 202, 229, 109, 202, 21, 212, 79, 202, 21, 118, 202, 21, 112,
+ 202, 21, 170, 202, 21, 167, 202, 21, 185, 202, 21, 192, 202, 21, 200,
+ 202, 21, 198, 202, 21, 203, 202, 241, 174, 228, 228, 202, 241, 174, 231,
+ 45, 61, 3, 227, 107, 61, 156, 242, 215, 212, 248, 231, 129, 216, 160, 63,
+ 61, 156, 242, 215, 212, 248, 231, 129, 255, 190, 223, 151, 252, 123, 191,
+ 61, 156, 242, 215, 212, 248, 231, 129, 255, 190, 242, 215, 216, 144, 191,
+ 61, 156, 73, 212, 248, 231, 129, 231, 228, 191, 61, 156, 250, 56, 212,
+ 248, 231, 129, 221, 53, 191, 61, 156, 251, 39, 212, 248, 231, 129, 226,
+ 24, 221, 41, 191, 61, 156, 212, 248, 231, 129, 216, 144, 221, 41, 191,
+ 61, 156, 222, 149, 221, 40, 61, 156, 251, 182, 212, 248, 231, 128, 61,
+ 156, 252, 15, 220, 204, 212, 248, 231, 128, 61, 156, 236, 55, 216, 143,
+ 61, 156, 248, 133, 216, 144, 251, 181, 61, 156, 221, 40, 61, 156, 228,
+ 40, 221, 40, 61, 156, 216, 144, 221, 40, 61, 156, 228, 40, 216, 144, 221,
+ 40, 61, 156, 223, 167, 250, 182, 219, 187, 221, 40, 61, 156, 223, 229,
+ 242, 242, 221, 40, 61, 156, 251, 39, 255, 194, 223, 81, 231, 227, 187,
+ 251, 63, 61, 156, 242, 215, 216, 143, 61, 233, 15, 5, 250, 213, 223, 80,
+ 61, 233, 15, 5, 233, 121, 223, 80, 61, 253, 255, 5, 221, 50, 243, 161,
+ 255, 195, 223, 80, 61, 253, 255, 5, 255, 192, 195, 61, 253, 255, 5, 222,
+ 124, 216, 139, 61, 5, 224, 57, 247, 232, 243, 160, 61, 5, 224, 57, 247,
+ 232, 243, 16, 61, 5, 224, 57, 247, 232, 242, 216, 61, 5, 224, 57, 230,
+ 106, 243, 160, 61, 5, 224, 57, 230, 106, 243, 16, 61, 5, 224, 57, 247,
+ 232, 224, 57, 230, 105, 61, 21, 212, 79, 61, 21, 118, 61, 21, 112, 61,
+ 21, 170, 61, 21, 167, 61, 21, 185, 61, 21, 192, 61, 21, 200, 61, 21, 198,
+ 61, 21, 203, 61, 21, 157, 118, 61, 21, 157, 112, 61, 21, 157, 170, 61,
+ 21, 157, 167, 61, 21, 157, 185, 61, 21, 157, 192, 61, 21, 157, 200, 61,
+ 21, 157, 198, 61, 21, 157, 203, 61, 21, 157, 212, 79, 61, 156, 251, 184,
+ 223, 80, 61, 156, 229, 218, 251, 123, 228, 50, 212, 18, 61, 156, 251, 39,
+ 255, 194, 223, 81, 251, 124, 231, 85, 251, 63, 61, 156, 229, 218, 251,
+ 123, 221, 51, 223, 80, 61, 156, 250, 191, 231, 128, 61, 156, 216, 155,
+ 255, 191, 61, 156, 242, 202, 223, 81, 242, 165, 61, 156, 242, 202, 223,
+ 81, 242, 171, 61, 156, 254, 152, 234, 241, 242, 165, 61, 156, 254, 152,
+ 234, 241, 242, 171, 61, 5, 213, 57, 216, 142, 61, 5, 232, 45, 216, 142,
+ 61, 1, 183, 61, 1, 234, 250, 61, 1, 243, 230, 61, 1, 243, 89, 61, 1, 229,
+ 226, 61, 1, 251, 88, 61, 1, 250, 215, 61, 1, 236, 0, 61, 1, 228, 64, 61,
+ 1, 216, 128, 61, 1, 216, 116, 61, 1, 248, 207, 61, 1, 248, 191, 61, 1,
+ 229, 6, 61, 1, 218, 66, 61, 1, 217, 174, 61, 1, 249, 30, 61, 1, 248, 97,
+ 61, 1, 207, 61, 1, 195, 61, 1, 226, 59, 61, 1, 252, 234, 61, 1, 252, 65,
+ 61, 1, 191, 61, 1, 216, 154, 61, 1, 216, 146, 61, 1, 246, 114, 61, 1,
+ 246, 109, 61, 1, 214, 52, 61, 1, 212, 75, 61, 1, 212, 109, 61, 1, 255,
+ 197, 61, 1, 189, 61, 1, 208, 61, 1, 233, 255, 61, 1, 221, 47, 61, 1, 219,
+ 176, 61, 1, 222, 227, 61, 1, 162, 61, 1, 63, 61, 1, 234, 95, 61, 1, 244,
+ 166, 208, 61, 1, 234, 166, 61, 1, 223, 115, 61, 30, 5, 255, 104, 61, 30,
+ 5, 75, 61, 30, 5, 236, 145, 61, 30, 5, 72, 61, 30, 5, 215, 98, 61, 30, 5,
+ 165, 152, 61, 30, 5, 165, 223, 116, 61, 30, 5, 165, 155, 61, 30, 5, 165,
+ 233, 55, 61, 30, 5, 77, 61, 30, 5, 246, 30, 61, 30, 5, 78, 61, 30, 5,
+ 227, 86, 61, 5, 223, 152, 219, 42, 229, 227, 223, 146, 61, 5, 223, 151,
+ 252, 122, 61, 30, 5, 223, 236, 75, 61, 30, 5, 223, 236, 236, 145, 61, 5,
+ 228, 50, 212, 19, 230, 113, 249, 30, 61, 5, 220, 18, 233, 182, 61, 156,
+ 242, 131, 61, 156, 226, 221, 61, 5, 233, 185, 223, 80, 61, 5, 213, 61,
+ 223, 80, 61, 5, 233, 186, 216, 155, 251, 63, 61, 5, 231, 229, 251, 63,
+ 61, 5, 242, 218, 251, 64, 223, 227, 61, 5, 242, 218, 231, 220, 223, 227,
+ 61, 5, 236, 52, 231, 229, 251, 63, 61, 219, 32, 5, 233, 186, 216, 155,
+ 251, 63, 61, 219, 32, 5, 231, 229, 251, 63, 61, 219, 32, 5, 236, 52, 231,
+ 229, 251, 63, 61, 219, 32, 1, 183, 61, 219, 32, 1, 234, 250, 61, 219, 32,
+ 1, 243, 230, 61, 219, 32, 1, 243, 89, 61, 219, 32, 1, 229, 226, 61, 219,
+ 32, 1, 251, 88, 61, 219, 32, 1, 250, 215, 61, 219, 32, 1, 236, 0, 61,
+ 219, 32, 1, 228, 64, 61, 219, 32, 1, 216, 128, 61, 219, 32, 1, 216, 116,
+ 61, 219, 32, 1, 248, 207, 61, 219, 32, 1, 248, 191, 61, 219, 32, 1, 229,
+ 6, 61, 219, 32, 1, 218, 66, 61, 219, 32, 1, 217, 174, 61, 219, 32, 1,
+ 249, 30, 61, 219, 32, 1, 248, 97, 61, 219, 32, 1, 207, 61, 219, 32, 1,
+ 195, 61, 219, 32, 1, 226, 59, 61, 219, 32, 1, 252, 234, 61, 219, 32, 1,
+ 252, 65, 61, 219, 32, 1, 191, 61, 219, 32, 1, 216, 154, 61, 219, 32, 1,
+ 216, 146, 61, 219, 32, 1, 246, 114, 61, 219, 32, 1, 246, 109, 61, 219,
+ 32, 1, 214, 52, 61, 219, 32, 1, 212, 75, 61, 219, 32, 1, 212, 109, 61,
+ 219, 32, 1, 255, 197, 61, 219, 32, 1, 189, 61, 219, 32, 1, 208, 61, 219,
+ 32, 1, 233, 255, 61, 219, 32, 1, 221, 47, 61, 219, 32, 1, 219, 176, 61,
+ 219, 32, 1, 222, 227, 61, 219, 32, 1, 162, 61, 219, 32, 1, 63, 61, 219,
+ 32, 1, 234, 95, 61, 219, 32, 1, 244, 166, 214, 52, 61, 219, 32, 1, 244,
+ 166, 189, 61, 219, 32, 1, 244, 166, 208, 61, 234, 82, 223, 78, 234, 250,
+ 61, 234, 82, 223, 78, 234, 251, 251, 124, 231, 85, 251, 63, 61, 251, 52,
+ 5, 110, 252, 116, 61, 251, 52, 5, 182, 252, 116, 61, 251, 52, 5, 251, 53,
+ 217, 241, 61, 251, 52, 5, 222, 148, 255, 196, 61, 16, 246, 167, 251, 179,
+ 61, 16, 224, 56, 223, 153, 61, 16, 226, 240, 243, 159, 61, 16, 224, 56,
+ 223, 154, 223, 229, 242, 241, 61, 16, 226, 24, 195, 61, 16, 228, 213,
+ 251, 179, 61, 16, 228, 213, 251, 180, 228, 40, 255, 193, 61, 16, 228,
+ 213, 251, 180, 242, 217, 255, 193, 61, 16, 228, 213, 251, 180, 251, 124,
+ 255, 193, 61, 5, 224, 57, 230, 106, 224, 57, 247, 231, 61, 5, 224, 57,
+ 230, 106, 242, 216, 61, 156, 251, 183, 220, 204, 243, 55, 231, 129, 223,
+ 228, 61, 156, 231, 47, 212, 248, 243, 55, 231, 129, 223, 228, 61, 156,
+ 228, 40, 216, 143, 61, 156, 73, 251, 204, 223, 148, 212, 248, 231, 129,
+ 231, 228, 191, 61, 156, 250, 56, 251, 204, 223, 148, 212, 248, 231, 129,
+ 221, 53, 191, 223, 181, 218, 214, 53, 233, 167, 218, 214, 53, 223, 181,
+ 218, 214, 5, 2, 247, 193, 233, 167, 218, 214, 5, 2, 247, 193, 61, 156,
+ 233, 177, 231, 230, 223, 80, 61, 156, 216, 220, 231, 230, 223, 80, 65, 1,
+ 183, 65, 1, 234, 250, 65, 1, 243, 230, 65, 1, 243, 89, 65, 1, 229, 226,
+ 65, 1, 251, 88, 65, 1, 250, 215, 65, 1, 236, 0, 65, 1, 235, 230, 65, 1,
+ 228, 64, 65, 1, 228, 230, 65, 1, 216, 128, 65, 1, 216, 116, 65, 1, 248,
+ 207, 65, 1, 248, 191, 65, 1, 229, 6, 65, 1, 218, 66, 65, 1, 217, 174, 65,
+ 1, 249, 30, 65, 1, 248, 97, 65, 1, 207, 65, 1, 195, 65, 1, 226, 59, 65,
+ 1, 252, 234, 65, 1, 252, 65, 65, 1, 191, 65, 1, 189, 65, 1, 208, 65, 1,
+ 233, 255, 65, 1, 214, 52, 65, 1, 222, 227, 65, 1, 162, 65, 1, 233, 54,
+ 65, 1, 63, 65, 1, 221, 31, 63, 65, 1, 75, 65, 1, 236, 145, 65, 1, 72, 65,
+ 1, 215, 98, 65, 1, 77, 65, 1, 231, 35, 77, 65, 1, 78, 65, 1, 253, 235,
+ 65, 30, 5, 218, 28, 255, 104, 65, 30, 5, 255, 104, 65, 30, 5, 75, 65, 30,
+ 5, 236, 145, 65, 30, 5, 72, 65, 30, 5, 215, 98, 65, 30, 5, 77, 65, 30, 5,
+ 254, 236, 65, 30, 5, 231, 35, 236, 145, 65, 30, 5, 231, 35, 78, 65, 30,
+ 5, 154, 50, 65, 5, 254, 113, 65, 5, 62, 55, 65, 5, 214, 132, 65, 5, 214,
+ 137, 65, 5, 254, 21, 65, 120, 5, 144, 189, 65, 120, 5, 144, 208, 65, 120,
+ 5, 144, 214, 52, 65, 120, 5, 144, 162, 65, 1, 242, 230, 222, 227, 65, 21,
+ 212, 79, 65, 21, 118, 65, 21, 112, 65, 21, 170, 65, 21, 167, 65, 21, 185,
+ 65, 21, 192, 65, 21, 200, 65, 21, 198, 65, 21, 203, 65, 5, 233, 62, 222,
+ 114, 65, 5, 222, 114, 65, 16, 233, 23, 65, 16, 250, 18, 65, 16, 254, 253,
+ 65, 16, 243, 144, 65, 1, 221, 47, 65, 1, 219, 176, 65, 1, 165, 152, 65,
+ 1, 165, 223, 116, 65, 1, 165, 155, 65, 1, 165, 233, 55, 65, 30, 5, 165,
+ 152, 65, 30, 5, 165, 223, 116, 65, 30, 5, 165, 155, 65, 30, 5, 165, 233,
+ 55, 65, 1, 231, 35, 229, 226, 65, 1, 231, 35, 235, 230, 65, 1, 231, 35,
+ 252, 157, 65, 1, 231, 35, 252, 152, 65, 120, 5, 231, 35, 144, 207, 65,
+ 120, 5, 231, 35, 144, 191, 65, 120, 5, 231, 35, 144, 233, 255, 65, 1,
+ 221, 52, 235, 75, 221, 47, 65, 30, 5, 221, 52, 235, 75, 245, 143, 65,
+ 161, 156, 221, 52, 235, 75, 242, 94, 65, 161, 156, 221, 52, 235, 75, 235,
+ 45, 226, 33, 65, 1, 213, 251, 225, 31, 235, 75, 217, 174, 65, 1, 213,
+ 251, 225, 31, 235, 75, 225, 37, 65, 30, 5, 213, 251, 225, 31, 235, 75,
+ 245, 143, 65, 30, 5, 213, 251, 225, 31, 235, 75, 215, 189, 65, 5, 213,
+ 251, 225, 31, 235, 75, 216, 253, 65, 5, 213, 251, 225, 31, 235, 75, 216,
+ 252, 65, 5, 213, 251, 225, 31, 235, 75, 216, 251, 65, 5, 213, 251, 225,
+ 31, 235, 75, 216, 250, 65, 5, 213, 251, 225, 31, 235, 75, 216, 249, 65,
+ 1, 246, 40, 225, 31, 235, 75, 229, 6, 65, 1, 246, 40, 225, 31, 235, 75,
+ 212, 168, 65, 1, 246, 40, 225, 31, 235, 75, 243, 57, 65, 30, 5, 243, 155,
+ 235, 75, 75, 65, 30, 5, 235, 50, 227, 136, 65, 30, 5, 235, 50, 72, 65,
+ 30, 5, 235, 50, 246, 30, 65, 1, 221, 31, 183, 65, 1, 221, 31, 234, 250,
+ 65, 1, 221, 31, 243, 230, 65, 1, 221, 31, 251, 88, 65, 1, 221, 31, 212,
+ 109, 65, 1, 221, 31, 228, 64, 65, 1, 221, 31, 249, 30, 65, 1, 221, 31,
+ 207, 65, 1, 221, 31, 226, 59, 65, 1, 221, 31, 245, 29, 65, 1, 221, 31,
+ 252, 234, 65, 1, 221, 31, 217, 174, 65, 1, 221, 31, 162, 65, 120, 5, 221,
+ 31, 144, 214, 52, 65, 30, 5, 221, 31, 255, 104, 65, 30, 5, 221, 31, 77,
+ 65, 30, 5, 221, 31, 154, 50, 65, 30, 5, 221, 31, 41, 213, 108, 65, 5,
+ 221, 31, 216, 252, 65, 5, 221, 31, 216, 251, 65, 5, 221, 31, 216, 249,
+ 65, 5, 221, 31, 216, 248, 65, 5, 221, 31, 249, 214, 216, 252, 65, 5, 221,
+ 31, 249, 214, 216, 251, 65, 5, 221, 31, 249, 214, 245, 232, 216, 254, 65,
+ 1, 223, 65, 226, 227, 245, 29, 65, 5, 223, 65, 226, 227, 216, 249, 65,
+ 221, 31, 21, 212, 79, 65, 221, 31, 21, 118, 65, 221, 31, 21, 112, 65,
+ 221, 31, 21, 170, 65, 221, 31, 21, 167, 65, 221, 31, 21, 185, 65, 221,
+ 31, 21, 192, 65, 221, 31, 21, 200, 65, 221, 31, 21, 198, 65, 221, 31, 21,
+ 203, 65, 5, 234, 244, 216, 253, 65, 5, 234, 244, 216, 251, 65, 30, 5,
+ 254, 225, 63, 65, 30, 5, 254, 225, 254, 236, 65, 16, 221, 31, 118, 65,
+ 16, 221, 31, 245, 118, 99, 6, 1, 254, 159, 99, 6, 1, 252, 198, 99, 6, 1,
+ 243, 202, 99, 6, 1, 247, 203, 99, 6, 1, 245, 229, 99, 6, 1, 214, 145, 99,
+ 6, 1, 212, 82, 99, 6, 1, 218, 24, 99, 6, 1, 236, 112, 99, 6, 1, 235, 96,
+ 99, 6, 1, 233, 203, 99, 6, 1, 232, 63, 99, 6, 1, 230, 83, 99, 6, 1, 227,
+ 99, 99, 6, 1, 226, 182, 99, 6, 1, 212, 71, 99, 6, 1, 224, 96, 99, 6, 1,
+ 222, 183, 99, 6, 1, 218, 14, 99, 6, 1, 215, 166, 99, 6, 1, 226, 52, 99,
+ 6, 1, 234, 239, 99, 6, 1, 243, 81, 99, 6, 1, 224, 252, 99, 6, 1, 220,
+ 221, 99, 6, 1, 250, 157, 99, 6, 1, 251, 63, 99, 6, 1, 235, 217, 99, 6, 1,
+ 250, 100, 99, 6, 1, 250, 202, 99, 6, 1, 213, 154, 99, 6, 1, 235, 228, 99,
+ 6, 1, 242, 145, 99, 6, 1, 242, 85, 99, 6, 1, 242, 23, 99, 6, 1, 214, 9,
+ 99, 6, 1, 242, 107, 99, 6, 1, 241, 170, 99, 1, 254, 159, 99, 1, 252, 198,
+ 99, 1, 243, 202, 99, 1, 247, 203, 99, 1, 245, 229, 99, 1, 214, 145, 99,
+ 1, 212, 82, 99, 1, 218, 24, 99, 1, 236, 112, 99, 1, 235, 96, 99, 1, 233,
+ 203, 99, 1, 232, 63, 99, 1, 230, 83, 99, 1, 227, 99, 99, 1, 226, 182, 99,
+ 1, 212, 71, 99, 1, 224, 96, 99, 1, 222, 183, 99, 1, 218, 14, 99, 1, 215,
+ 166, 99, 1, 226, 52, 99, 1, 234, 239, 99, 1, 243, 81, 99, 1, 224, 252,
+ 99, 1, 220, 221, 99, 1, 250, 157, 99, 1, 251, 63, 99, 1, 235, 217, 99, 1,
+ 250, 100, 99, 1, 250, 202, 99, 1, 213, 154, 99, 1, 235, 228, 99, 1, 242,
+ 145, 99, 1, 242, 85, 99, 1, 242, 23, 99, 1, 214, 9, 99, 1, 242, 107, 99,
+ 1, 241, 170, 99, 1, 244, 210, 99, 1, 212, 238, 99, 1, 245, 243, 99, 1,
+ 216, 66, 243, 202, 99, 1, 254, 231, 99, 226, 180, 221, 80, 59, 1, 99,
+ 230, 83, 24, 98, 234, 178, 24, 98, 219, 168, 24, 98, 229, 121, 24, 98,
+ 217, 68, 24, 98, 219, 157, 24, 98, 223, 213, 24, 98, 231, 100, 24, 98,
+ 226, 7, 24, 98, 219, 165, 24, 98, 220, 95, 24, 98, 219, 162, 24, 98, 236,
+ 168, 24, 98, 250, 106, 24, 98, 219, 172, 24, 98, 250, 166, 24, 98, 234,
+ 228, 24, 98, 217, 139, 24, 98, 226, 43, 24, 98, 242, 21, 24, 98, 229,
+ 117, 24, 98, 219, 166, 24, 98, 229, 111, 24, 98, 229, 115, 24, 98, 217,
+ 65, 24, 98, 223, 201, 24, 98, 219, 164, 24, 98, 223, 211, 24, 98, 235,
+ 80, 24, 98, 231, 93, 24, 98, 235, 83, 24, 98, 226, 2, 24, 98, 226, 0, 24,
+ 98, 225, 244, 24, 98, 225, 252, 24, 98, 225, 250, 24, 98, 225, 247, 24,
+ 98, 225, 249, 24, 98, 225, 246, 24, 98, 225, 251, 24, 98, 226, 5, 24, 98,
+ 226, 6, 24, 98, 225, 245, 24, 98, 225, 255, 24, 98, 235, 81, 24, 98, 235,
+ 79, 24, 98, 220, 88, 24, 98, 220, 86, 24, 98, 220, 78, 24, 98, 220, 81,
+ 24, 98, 220, 87, 24, 98, 220, 83, 24, 98, 220, 82, 24, 98, 220, 80, 24,
+ 98, 220, 91, 24, 98, 220, 93, 24, 98, 220, 94, 24, 98, 220, 89, 24, 98,
+ 220, 79, 24, 98, 220, 84, 24, 98, 220, 92, 24, 98, 250, 150, 24, 98, 250,
+ 148, 24, 98, 250, 225, 24, 98, 250, 223, 24, 98, 226, 197, 24, 98, 236,
+ 163, 24, 98, 236, 154, 24, 98, 236, 162, 24, 98, 236, 159, 24, 98, 236,
+ 157, 24, 98, 236, 161, 24, 98, 219, 169, 24, 98, 236, 166, 24, 98, 236,
+ 167, 24, 98, 236, 155, 24, 98, 236, 160, 24, 98, 213, 18, 24, 98, 250,
+ 105, 24, 98, 250, 151, 24, 98, 250, 149, 24, 98, 250, 226, 24, 98, 250,
+ 224, 24, 98, 250, 164, 24, 98, 250, 165, 24, 98, 250, 152, 24, 98, 250,
+ 227, 24, 98, 226, 41, 24, 98, 235, 82, 24, 98, 219, 170, 24, 98, 213, 24,
+ 24, 98, 234, 169, 24, 98, 229, 113, 24, 98, 229, 119, 24, 98, 229, 118,
+ 24, 98, 217, 62, 24, 98, 244, 192, 24, 139, 244, 192, 24, 139, 63, 24,
+ 139, 255, 20, 24, 139, 189, 24, 139, 213, 83, 24, 139, 245, 197, 24, 139,
+ 77, 24, 139, 213, 28, 24, 139, 213, 39, 24, 139, 78, 24, 139, 214, 52,
+ 24, 139, 214, 49, 24, 139, 227, 136, 24, 139, 212, 236, 24, 139, 72, 24,
+ 139, 213, 255, 24, 139, 214, 9, 24, 139, 213, 238, 24, 139, 212, 204, 24,
+ 139, 245, 143, 24, 139, 213, 0, 24, 139, 75, 24, 139, 255, 188, 24, 139,
+ 255, 187, 24, 139, 213, 97, 24, 139, 213, 95, 24, 139, 245, 195, 24, 139,
+ 245, 194, 24, 139, 245, 196, 24, 139, 213, 27, 24, 139, 213, 26, 24, 139,
+ 227, 241, 24, 139, 227, 242, 24, 139, 227, 235, 24, 139, 227, 240, 24,
+ 139, 227, 238, 24, 139, 212, 230, 24, 139, 212, 229, 24, 139, 212, 228,
+ 24, 139, 212, 231, 24, 139, 212, 232, 24, 139, 216, 3, 24, 139, 216, 2,
+ 24, 139, 216, 0, 24, 139, 215, 253, 24, 139, 215, 254, 24, 139, 212, 203,
+ 24, 139, 212, 200, 24, 139, 212, 201, 24, 139, 212, 195, 24, 139, 212,
+ 196, 24, 139, 212, 197, 24, 139, 212, 199, 24, 139, 245, 137, 24, 139,
+ 245, 139, 24, 139, 212, 255, 24, 139, 241, 6, 24, 139, 240, 254, 24, 139,
+ 241, 1, 24, 139, 240, 255, 24, 139, 241, 3, 24, 139, 241, 5, 24, 139,
+ 254, 75, 24, 139, 254, 72, 24, 139, 254, 70, 24, 139, 254, 71, 24, 139,
+ 219, 173, 24, 139, 255, 189, 24, 139, 213, 96, 24, 139, 213, 25, 24, 139,
+ 227, 237, 24, 139, 227, 236, 24, 90, 234, 178, 24, 90, 219, 168, 24, 90,
+ 234, 171, 24, 90, 229, 121, 24, 90, 229, 119, 24, 90, 229, 118, 24, 90,
+ 217, 68, 24, 90, 223, 213, 24, 90, 223, 208, 24, 90, 223, 205, 24, 90,
+ 223, 198, 24, 90, 223, 193, 24, 90, 223, 188, 24, 90, 223, 199, 24, 90,
+ 223, 211, 24, 90, 231, 100, 24, 90, 226, 7, 24, 90, 225, 252, 24, 90,
+ 220, 95, 24, 90, 219, 162, 24, 90, 236, 168, 24, 90, 250, 106, 24, 90,
+ 250, 166, 24, 90, 234, 228, 24, 90, 217, 139, 24, 90, 226, 43, 24, 90,
+ 242, 21, 24, 90, 234, 172, 24, 90, 234, 170, 24, 90, 229, 117, 24, 90,
+ 229, 111, 24, 90, 229, 113, 24, 90, 229, 116, 24, 90, 229, 112, 24, 90,
+ 217, 65, 24, 90, 217, 62, 24, 90, 223, 206, 24, 90, 223, 201, 24, 90,
+ 223, 187, 24, 90, 223, 186, 24, 90, 219, 164, 24, 90, 223, 203, 24, 90,
+ 223, 202, 24, 90, 223, 195, 24, 90, 223, 197, 24, 90, 223, 210, 24, 90,
+ 223, 190, 24, 90, 223, 200, 24, 90, 223, 209, 24, 90, 223, 185, 24, 90,
+ 231, 96, 24, 90, 231, 91, 24, 90, 231, 93, 24, 90, 231, 90, 24, 90, 231,
+ 88, 24, 90, 231, 94, 24, 90, 231, 99, 24, 90, 231, 97, 24, 90, 235, 83,
+ 24, 90, 225, 254, 24, 90, 225, 255, 24, 90, 226, 4, 24, 90, 235, 81, 24,
+ 90, 220, 88, 24, 90, 220, 78, 24, 90, 220, 81, 24, 90, 220, 83, 24, 90,
+ 226, 197, 24, 90, 236, 163, 24, 90, 236, 156, 24, 90, 219, 169, 24, 90,
+ 236, 164, 24, 90, 213, 18, 24, 90, 213, 14, 24, 90, 213, 15, 24, 90, 226,
+ 41, 24, 90, 235, 82, 24, 90, 242, 19, 24, 90, 242, 17, 24, 90, 242, 20,
+ 24, 90, 242, 18, 24, 90, 213, 24, 24, 90, 234, 174, 24, 90, 234, 173, 24,
+ 90, 234, 177, 24, 90, 234, 175, 24, 90, 234, 176, 24, 90, 219, 166, 28,
+ 3, 162, 28, 3, 241, 74, 28, 3, 242, 28, 28, 3, 242, 148, 28, 3, 242, 67,
+ 28, 3, 242, 85, 28, 3, 241, 173, 28, 3, 241, 172, 28, 3, 233, 255, 28, 3,
+ 232, 230, 28, 3, 233, 111, 28, 3, 233, 254, 28, 3, 233, 172, 28, 3, 233,
+ 180, 28, 3, 233, 26, 28, 3, 232, 202, 28, 3, 242, 37, 28, 3, 242, 31, 28,
+ 3, 242, 33, 28, 3, 242, 36, 28, 3, 242, 34, 28, 3, 242, 35, 28, 3, 242,
+ 32, 28, 3, 242, 30, 28, 3, 191, 28, 3, 230, 242, 28, 3, 231, 112, 28, 3,
+ 232, 114, 28, 3, 231, 215, 28, 3, 231, 226, 28, 3, 231, 45, 28, 3, 230,
+ 183, 28, 3, 218, 124, 28, 3, 218, 118, 28, 3, 218, 120, 28, 3, 218, 123,
+ 28, 3, 218, 121, 28, 3, 218, 122, 28, 3, 218, 119, 28, 3, 218, 117, 28,
+ 3, 208, 28, 3, 223, 77, 28, 3, 223, 222, 28, 3, 224, 109, 28, 3, 224, 35,
+ 28, 3, 224, 55, 28, 3, 223, 146, 28, 3, 223, 46, 28, 3, 222, 227, 28, 3,
+ 219, 41, 28, 3, 220, 136, 28, 3, 222, 225, 28, 3, 222, 112, 28, 3, 222,
+ 123, 28, 3, 220, 5, 28, 3, 218, 212, 28, 3, 221, 47, 28, 3, 220, 170, 28,
+ 3, 220, 233, 28, 3, 221, 43, 28, 3, 221, 6, 28, 3, 221, 8, 28, 3, 220,
+ 208, 28, 3, 220, 153, 28, 3, 225, 11, 28, 3, 224, 210, 28, 3, 224, 233,
+ 28, 3, 225, 10, 28, 3, 224, 247, 28, 3, 224, 248, 28, 3, 224, 222, 28, 3,
+ 224, 221, 28, 3, 224, 166, 28, 3, 224, 162, 28, 3, 224, 165, 28, 3, 224,
+ 163, 28, 3, 224, 164, 28, 3, 224, 245, 28, 3, 224, 239, 28, 3, 224, 241,
+ 28, 3, 224, 244, 28, 3, 224, 242, 28, 3, 224, 243, 28, 3, 224, 240, 28,
+ 3, 224, 238, 28, 3, 224, 234, 28, 3, 224, 237, 28, 3, 224, 235, 28, 3,
+ 224, 236, 28, 3, 252, 234, 28, 3, 251, 179, 28, 3, 252, 54, 28, 3, 252,
+ 233, 28, 3, 252, 112, 28, 3, 252, 121, 28, 3, 251, 253, 28, 3, 251, 137,
+ 28, 3, 215, 8, 28, 3, 214, 103, 28, 3, 214, 159, 28, 3, 215, 7, 28, 3,
+ 214, 232, 28, 3, 214, 237, 28, 3, 214, 123, 28, 3, 214, 94, 28, 3, 218,
+ 66, 28, 3, 216, 90, 28, 3, 217, 84, 28, 3, 218, 63, 28, 3, 217, 232, 28,
+ 3, 217, 242, 28, 3, 109, 28, 3, 216, 52, 28, 3, 251, 88, 28, 3, 249, 176,
+ 28, 3, 250, 111, 28, 3, 251, 87, 28, 3, 250, 239, 28, 3, 250, 247, 28, 3,
+ 250, 42, 28, 3, 249, 146, 28, 3, 213, 156, 28, 3, 213, 132, 28, 3, 213,
+ 148, 28, 3, 213, 155, 28, 3, 213, 152, 28, 3, 213, 153, 28, 3, 213, 139,
+ 28, 3, 213, 138, 28, 3, 213, 127, 28, 3, 213, 123, 28, 3, 213, 126, 28,
+ 3, 213, 124, 28, 3, 213, 125, 28, 3, 207, 28, 3, 228, 135, 28, 3, 229,
+ 128, 28, 3, 230, 112, 28, 3, 229, 251, 28, 3, 229, 254, 28, 3, 228, 228,
+ 28, 3, 228, 73, 28, 3, 228, 64, 28, 3, 228, 29, 28, 3, 228, 49, 28, 3,
+ 228, 63, 28, 3, 228, 55, 28, 3, 228, 56, 28, 3, 228, 35, 28, 3, 228, 20,
+ 28, 3, 243, 20, 63, 28, 3, 243, 20, 72, 28, 3, 243, 20, 75, 28, 3, 243,
+ 20, 255, 104, 28, 3, 243, 20, 246, 30, 28, 3, 243, 20, 77, 28, 3, 243,
+ 20, 78, 28, 3, 243, 20, 214, 52, 28, 3, 183, 28, 3, 234, 81, 28, 3, 234,
+ 212, 28, 3, 235, 128, 28, 3, 235, 43, 28, 3, 235, 44, 28, 3, 234, 148,
+ 28, 3, 234, 147, 28, 3, 234, 46, 28, 3, 234, 40, 28, 3, 234, 45, 28, 3,
+ 234, 41, 28, 3, 234, 42, 28, 3, 234, 35, 28, 3, 234, 29, 28, 3, 234, 31,
+ 28, 3, 234, 34, 28, 3, 234, 32, 28, 3, 234, 33, 28, 3, 234, 30, 28, 3,
+ 234, 28, 28, 3, 234, 24, 28, 3, 234, 27, 28, 3, 234, 25, 28, 3, 234, 26,
+ 28, 3, 214, 52, 28, 3, 213, 186, 28, 3, 213, 238, 28, 3, 214, 51, 28, 3,
+ 214, 4, 28, 3, 214, 9, 28, 3, 213, 217, 28, 3, 213, 216, 28, 3, 226, 51,
+ 63, 28, 3, 226, 51, 72, 28, 3, 226, 51, 75, 28, 3, 226, 51, 255, 104, 28,
+ 3, 226, 51, 246, 30, 28, 3, 226, 51, 77, 28, 3, 226, 51, 78, 28, 3, 212,
+ 109, 28, 3, 212, 8, 28, 3, 212, 37, 28, 3, 212, 108, 28, 3, 212, 85, 28,
+ 3, 212, 87, 28, 3, 212, 16, 28, 3, 211, 251, 28, 3, 212, 75, 28, 3, 212,
+ 55, 28, 3, 212, 62, 28, 3, 212, 74, 28, 3, 212, 66, 28, 3, 212, 67, 28,
+ 3, 212, 60, 28, 3, 212, 46, 28, 3, 189, 28, 3, 212, 204, 28, 3, 213, 0,
+ 28, 3, 213, 94, 28, 3, 213, 36, 28, 3, 213, 39, 28, 3, 212, 236, 28, 3,
+ 212, 227, 28, 3, 249, 30, 28, 3, 246, 154, 28, 3, 248, 76, 28, 3, 249,
+ 29, 28, 3, 248, 149, 28, 3, 248, 162, 28, 3, 247, 220, 28, 3, 246, 123,
+ 28, 3, 248, 207, 28, 3, 248, 172, 28, 3, 248, 184, 28, 3, 248, 206, 28,
+ 3, 248, 194, 28, 3, 248, 195, 28, 3, 248, 177, 28, 3, 248, 163, 28, 3,
+ 236, 0, 28, 3, 235, 168, 28, 3, 235, 225, 28, 3, 235, 255, 28, 3, 235,
+ 240, 28, 3, 235, 242, 28, 3, 235, 185, 28, 3, 235, 149, 28, 3, 243, 230,
+ 28, 3, 242, 213, 28, 3, 243, 54, 28, 3, 243, 227, 28, 3, 243, 151, 28, 3,
+ 243, 158, 28, 3, 243, 14, 28, 3, 243, 13, 28, 3, 242, 180, 28, 3, 242,
+ 176, 28, 3, 242, 179, 28, 3, 242, 177, 28, 3, 242, 178, 28, 3, 243, 125,
+ 28, 3, 243, 105, 28, 3, 243, 115, 28, 3, 243, 124, 28, 3, 243, 119, 28,
+ 3, 243, 120, 28, 3, 243, 109, 28, 3, 243, 94, 28, 3, 217, 174, 28, 3,
+ 217, 103, 28, 3, 217, 141, 28, 3, 217, 173, 28, 3, 217, 160, 28, 3, 217,
+ 161, 28, 3, 217, 122, 28, 3, 217, 95, 28, 3, 250, 215, 28, 3, 250, 129,
+ 28, 3, 250, 170, 28, 3, 250, 214, 28, 3, 250, 187, 28, 3, 250, 190, 28,
+ 3, 250, 146, 28, 3, 250, 118, 28, 3, 226, 59, 28, 3, 226, 26, 28, 3, 226,
+ 45, 28, 3, 226, 58, 28, 3, 226, 47, 28, 3, 226, 48, 28, 3, 226, 33, 28,
+ 3, 226, 22, 28, 3, 216, 154, 28, 3, 216, 135, 28, 3, 216, 138, 28, 3,
+ 216, 153, 28, 3, 216, 148, 28, 3, 216, 149, 28, 3, 216, 137, 28, 3, 216,
+ 133, 28, 3, 216, 12, 28, 3, 216, 4, 28, 3, 216, 8, 28, 3, 216, 11, 28, 3,
+ 216, 9, 28, 3, 216, 10, 28, 3, 216, 6, 28, 3, 216, 5, 28, 3, 245, 29, 28,
+ 3, 244, 69, 28, 3, 244, 210, 28, 3, 245, 28, 28, 3, 244, 236, 28, 3, 244,
+ 243, 28, 3, 244, 132, 28, 3, 244, 52, 28, 3, 195, 28, 3, 225, 71, 28, 3,
+ 226, 20, 28, 3, 226, 251, 28, 3, 226, 122, 28, 3, 226, 132, 28, 3, 225,
+ 186, 28, 3, 225, 37, 28, 3, 223, 36, 28, 3, 230, 172, 28, 3, 244, 46, 28,
+ 38, 243, 149, 22, 30, 233, 145, 79, 28, 38, 30, 233, 145, 79, 28, 38,
+ 243, 149, 79, 28, 222, 115, 79, 28, 213, 198, 28, 244, 64, 219, 83, 28,
+ 250, 23, 28, 221, 93, 28, 250, 30, 28, 225, 115, 250, 30, 28, 224, 193,
+ 79, 28, 226, 180, 221, 80, 28, 21, 118, 28, 21, 112, 28, 21, 170, 28, 21,
+ 167, 28, 21, 185, 28, 21, 192, 28, 21, 200, 28, 21, 198, 28, 21, 203, 28,
+ 51, 217, 213, 28, 51, 216, 45, 28, 51, 217, 128, 28, 51, 244, 104, 28,
+ 51, 244, 203, 28, 51, 220, 58, 28, 51, 221, 60, 28, 51, 246, 6, 28, 51,
+ 229, 90, 28, 51, 241, 62, 28, 51, 217, 214, 217, 113, 28, 3, 222, 119,
+ 230, 183, 28, 3, 230, 179, 28, 3, 230, 180, 28, 3, 230, 181, 28, 3, 222,
+ 119, 251, 137, 28, 3, 251, 134, 28, 3, 251, 135, 28, 3, 251, 136, 28, 3,
+ 222, 119, 244, 52, 28, 3, 244, 48, 28, 3, 244, 49, 28, 3, 244, 50, 28, 3,
+ 222, 119, 225, 37, 28, 3, 225, 33, 28, 3, 225, 34, 28, 3, 225, 35, 28,
+ 216, 255, 156, 212, 239, 28, 216, 255, 156, 248, 113, 28, 216, 255, 156,
+ 223, 169, 28, 216, 255, 156, 220, 196, 223, 169, 28, 216, 255, 156, 248,
+ 52, 28, 216, 255, 156, 235, 26, 28, 216, 255, 156, 250, 154, 28, 216,
+ 255, 156, 242, 25, 28, 216, 255, 156, 248, 112, 28, 216, 255, 156, 234,
+ 58, 164, 1, 63, 164, 1, 77, 164, 1, 75, 164, 1, 78, 164, 1, 72, 164, 1,
+ 211, 211, 164, 1, 243, 230, 164, 1, 183, 164, 1, 243, 158, 164, 1, 243,
+ 54, 164, 1, 243, 14, 164, 1, 242, 213, 164, 1, 242, 181, 164, 1, 162,
+ 164, 1, 242, 85, 164, 1, 242, 28, 164, 1, 241, 173, 164, 1, 241, 74, 164,
+ 1, 241, 54, 164, 1, 233, 255, 164, 1, 233, 180, 164, 1, 233, 111, 164, 1,
+ 233, 26, 164, 1, 232, 230, 164, 1, 232, 203, 164, 1, 191, 164, 1, 231,
+ 226, 164, 1, 231, 112, 164, 1, 231, 45, 164, 1, 230, 242, 164, 1, 207,
+ 164, 1, 241, 195, 164, 1, 230, 100, 164, 1, 229, 254, 164, 1, 229, 128,
+ 164, 1, 228, 228, 164, 1, 228, 135, 164, 1, 228, 75, 164, 1, 224, 209,
+ 164, 1, 224, 196, 164, 1, 224, 189, 164, 1, 224, 181, 164, 1, 224, 170,
+ 164, 1, 224, 168, 164, 1, 222, 227, 164, 1, 196, 164, 1, 222, 123, 164,
+ 1, 220, 136, 164, 1, 220, 5, 164, 1, 219, 41, 164, 1, 218, 217, 164, 1,
+ 249, 30, 164, 1, 218, 66, 164, 1, 248, 162, 164, 1, 217, 242, 164, 1,
+ 248, 76, 164, 1, 217, 84, 164, 1, 247, 220, 164, 1, 246, 154, 164, 1,
+ 246, 126, 164, 1, 247, 229, 164, 1, 217, 26, 164, 1, 217, 25, 164, 1,
+ 217, 15, 164, 1, 217, 14, 164, 1, 217, 13, 164, 1, 217, 12, 164, 1, 216,
+ 154, 164, 1, 216, 149, 164, 1, 216, 138, 164, 1, 216, 137, 164, 1, 216,
+ 135, 164, 1, 216, 134, 164, 1, 214, 52, 164, 1, 214, 9, 164, 1, 213, 238,
+ 164, 1, 213, 217, 164, 1, 213, 186, 164, 1, 213, 174, 164, 1, 189, 164,
+ 1, 213, 39, 164, 1, 213, 0, 164, 1, 212, 236, 164, 1, 212, 204, 164, 1,
+ 212, 169, 18, 19, 241, 21, 18, 19, 77, 18, 19, 255, 68, 18, 19, 75, 18,
+ 19, 236, 145, 18, 19, 78, 18, 19, 227, 86, 18, 19, 213, 107, 227, 86, 18,
+ 19, 70, 246, 30, 18, 19, 70, 75, 18, 19, 63, 18, 19, 255, 104, 18, 19,
+ 214, 9, 18, 19, 153, 214, 9, 18, 19, 213, 238, 18, 19, 153, 213, 238, 18,
+ 19, 213, 230, 18, 19, 153, 213, 230, 18, 19, 213, 217, 18, 19, 153, 213,
+ 217, 18, 19, 213, 205, 18, 19, 153, 213, 205, 18, 19, 230, 79, 213, 205,
+ 18, 19, 214, 52, 18, 19, 153, 214, 52, 18, 19, 214, 51, 18, 19, 153, 214,
+ 51, 18, 19, 230, 79, 214, 51, 18, 19, 254, 236, 18, 19, 213, 107, 214,
+ 85, 18, 19, 243, 20, 219, 83, 18, 19, 41, 138, 18, 19, 41, 209, 18, 19,
+ 41, 251, 226, 157, 223, 164, 18, 19, 41, 216, 240, 157, 223, 164, 18, 19,
+ 41, 47, 157, 223, 164, 18, 19, 41, 223, 164, 18, 19, 41, 52, 138, 18, 19,
+ 41, 52, 220, 196, 66, 219, 46, 18, 19, 41, 231, 107, 247, 195, 18, 19,
+ 41, 220, 196, 201, 91, 18, 19, 41, 225, 192, 18, 19, 41, 121, 218, 50,
+ 18, 19, 245, 229, 18, 19, 236, 112, 18, 19, 227, 99, 18, 19, 254, 159,
+ 18, 19, 226, 132, 18, 19, 226, 249, 18, 19, 226, 20, 18, 19, 225, 239,
+ 18, 19, 225, 186, 18, 19, 225, 165, 18, 19, 213, 107, 225, 165, 18, 19,
+ 70, 242, 67, 18, 19, 70, 242, 28, 18, 19, 195, 18, 19, 226, 251, 18, 19,
+ 225, 35, 18, 19, 153, 225, 35, 18, 19, 225, 33, 18, 19, 153, 225, 33, 18,
+ 19, 225, 32, 18, 19, 153, 225, 32, 18, 19, 225, 30, 18, 19, 153, 225, 30,
+ 18, 19, 225, 29, 18, 19, 153, 225, 29, 18, 19, 225, 37, 18, 19, 153, 225,
+ 37, 18, 19, 225, 36, 18, 19, 153, 225, 36, 18, 19, 213, 107, 225, 36, 18,
+ 19, 227, 11, 18, 19, 153, 227, 11, 18, 19, 70, 242, 162, 18, 19, 217,
+ 242, 18, 19, 218, 61, 18, 19, 217, 84, 18, 19, 217, 70, 18, 19, 109, 18,
+ 19, 216, 243, 18, 19, 213, 107, 216, 243, 18, 19, 70, 248, 149, 18, 19,
+ 70, 248, 76, 18, 19, 218, 66, 18, 19, 218, 63, 18, 19, 216, 50, 18, 19,
+ 153, 216, 50, 18, 19, 216, 34, 18, 19, 153, 216, 34, 18, 19, 216, 33, 18,
+ 19, 153, 216, 33, 18, 19, 112, 18, 19, 153, 112, 18, 19, 216, 27, 18, 19,
+ 153, 216, 27, 18, 19, 216, 52, 18, 19, 153, 216, 52, 18, 19, 216, 51, 18,
+ 19, 153, 216, 51, 18, 19, 230, 79, 216, 51, 18, 19, 218, 113, 18, 19,
+ 216, 123, 18, 19, 216, 107, 18, 19, 216, 105, 18, 19, 216, 128, 18, 19,
+ 235, 44, 18, 19, 235, 125, 18, 19, 234, 212, 18, 19, 234, 203, 18, 19,
+ 234, 148, 18, 19, 234, 130, 18, 19, 213, 107, 234, 130, 18, 19, 183, 18,
+ 19, 235, 128, 18, 19, 234, 42, 18, 19, 153, 234, 42, 18, 19, 234, 40, 18,
+ 19, 153, 234, 40, 18, 19, 234, 39, 18, 19, 153, 234, 39, 18, 19, 234, 38,
+ 18, 19, 153, 234, 38, 18, 19, 234, 37, 18, 19, 153, 234, 37, 18, 19, 234,
+ 46, 18, 19, 153, 234, 46, 18, 19, 234, 45, 18, 19, 153, 234, 45, 18, 19,
+ 230, 79, 234, 45, 18, 19, 235, 141, 18, 19, 234, 47, 18, 19, 219, 233,
+ 235, 38, 18, 19, 219, 233, 234, 204, 18, 19, 219, 233, 234, 143, 18, 19,
+ 219, 233, 235, 110, 18, 19, 250, 247, 18, 19, 251, 86, 18, 19, 250, 111,
+ 18, 19, 250, 101, 18, 19, 250, 42, 18, 19, 249, 236, 18, 19, 213, 107,
+ 249, 236, 18, 19, 251, 88, 18, 19, 251, 87, 18, 19, 249, 144, 18, 19,
+ 153, 249, 144, 18, 19, 249, 142, 18, 19, 153, 249, 142, 18, 19, 249, 141,
+ 18, 19, 153, 249, 141, 18, 19, 249, 140, 18, 19, 153, 249, 140, 18, 19,
+ 249, 139, 18, 19, 153, 249, 139, 18, 19, 249, 146, 18, 19, 153, 249, 146,
+ 18, 19, 249, 145, 18, 19, 153, 249, 145, 18, 19, 230, 79, 249, 145, 18,
+ 19, 251, 121, 18, 19, 222, 150, 217, 176, 18, 19, 231, 226, 18, 19, 232,
+ 113, 18, 19, 231, 112, 18, 19, 231, 84, 18, 19, 231, 45, 18, 19, 231, 16,
+ 18, 19, 213, 107, 231, 16, 18, 19, 191, 18, 19, 232, 114, 18, 19, 230,
+ 181, 18, 19, 153, 230, 181, 18, 19, 230, 179, 18, 19, 153, 230, 179, 18,
+ 19, 230, 178, 18, 19, 153, 230, 178, 18, 19, 230, 177, 18, 19, 153, 230,
+ 177, 18, 19, 230, 176, 18, 19, 153, 230, 176, 18, 19, 230, 183, 18, 19,
+ 153, 230, 183, 18, 19, 230, 182, 18, 19, 153, 230, 182, 18, 19, 230, 79,
+ 230, 182, 18, 19, 184, 18, 19, 153, 184, 18, 19, 231, 115, 18, 19, 253,
+ 248, 184, 18, 19, 222, 150, 184, 18, 19, 229, 254, 18, 19, 230, 111, 18,
+ 19, 229, 128, 18, 19, 229, 103, 18, 19, 228, 228, 18, 19, 228, 218, 18,
+ 19, 213, 107, 228, 218, 18, 19, 207, 18, 19, 230, 112, 18, 19, 228, 71,
+ 18, 19, 153, 228, 71, 18, 19, 228, 73, 18, 19, 153, 228, 73, 18, 19, 228,
+ 72, 18, 19, 153, 228, 72, 18, 19, 230, 79, 228, 72, 18, 19, 206, 18, 19,
+ 70, 229, 228, 18, 19, 229, 133, 18, 19, 233, 180, 18, 19, 233, 253, 18,
+ 19, 233, 111, 18, 19, 233, 97, 18, 19, 233, 26, 18, 19, 232, 254, 18, 19,
+ 213, 107, 232, 254, 18, 19, 233, 255, 18, 19, 233, 254, 18, 19, 232, 200,
+ 18, 19, 153, 232, 200, 18, 19, 232, 199, 18, 19, 153, 232, 199, 18, 19,
+ 232, 198, 18, 19, 153, 232, 198, 18, 19, 232, 197, 18, 19, 153, 232, 197,
+ 18, 19, 232, 196, 18, 19, 153, 232, 196, 18, 19, 232, 202, 18, 19, 153,
+ 232, 202, 18, 19, 232, 201, 18, 19, 153, 232, 201, 18, 19, 155, 18, 19,
+ 153, 155, 18, 19, 144, 155, 18, 19, 222, 123, 18, 19, 222, 223, 18, 19,
+ 220, 136, 18, 19, 220, 120, 18, 19, 220, 5, 18, 19, 219, 245, 18, 19,
+ 213, 107, 219, 245, 18, 19, 222, 227, 18, 19, 222, 225, 18, 19, 218, 208,
+ 18, 19, 153, 218, 208, 18, 19, 218, 202, 18, 19, 153, 218, 202, 18, 19,
+ 218, 201, 18, 19, 153, 218, 201, 18, 19, 218, 197, 18, 19, 153, 218, 197,
+ 18, 19, 218, 196, 18, 19, 153, 218, 196, 18, 19, 218, 212, 18, 19, 153,
+ 218, 212, 18, 19, 218, 211, 18, 19, 153, 218, 211, 18, 19, 230, 79, 218,
+ 211, 18, 19, 196, 18, 19, 253, 248, 196, 18, 19, 218, 213, 18, 19, 252,
+ 10, 196, 18, 19, 231, 11, 220, 55, 18, 19, 230, 79, 220, 46, 18, 19, 230,
+ 79, 223, 27, 18, 19, 230, 79, 219, 186, 18, 19, 230, 79, 219, 43, 18, 19,
+ 230, 79, 220, 45, 18, 19, 230, 79, 222, 126, 18, 19, 221, 8, 18, 19, 220,
+ 233, 18, 19, 220, 228, 18, 19, 220, 208, 18, 19, 220, 202, 18, 19, 221,
+ 47, 18, 19, 221, 43, 18, 19, 220, 151, 18, 19, 153, 220, 151, 18, 19,
+ 220, 150, 18, 19, 153, 220, 150, 18, 19, 220, 149, 18, 19, 153, 220, 149,
+ 18, 19, 220, 148, 18, 19, 153, 220, 148, 18, 19, 220, 147, 18, 19, 153,
+ 220, 147, 18, 19, 220, 153, 18, 19, 153, 220, 153, 18, 19, 220, 152, 18,
+ 19, 153, 220, 152, 18, 19, 221, 49, 18, 19, 213, 39, 18, 19, 213, 92, 18,
+ 19, 213, 0, 18, 19, 212, 247, 18, 19, 212, 236, 18, 19, 212, 221, 18, 19,
+ 213, 107, 212, 221, 18, 19, 189, 18, 19, 213, 94, 18, 19, 212, 166, 18,
+ 19, 153, 212, 166, 18, 19, 212, 165, 18, 19, 153, 212, 165, 18, 19, 212,
+ 164, 18, 19, 153, 212, 164, 18, 19, 212, 163, 18, 19, 153, 212, 163, 18,
+ 19, 212, 162, 18, 19, 153, 212, 162, 18, 19, 212, 168, 18, 19, 153, 212,
+ 168, 18, 19, 212, 167, 18, 19, 153, 212, 167, 18, 19, 230, 79, 212, 167,
+ 18, 19, 213, 108, 18, 19, 252, 52, 213, 108, 18, 19, 153, 213, 108, 18,
+ 19, 222, 150, 213, 0, 18, 19, 224, 55, 18, 19, 224, 147, 224, 55, 18, 19,
+ 153, 233, 180, 18, 19, 224, 108, 18, 19, 223, 222, 18, 19, 223, 170, 18,
+ 19, 223, 146, 18, 19, 223, 133, 18, 19, 153, 233, 26, 18, 19, 208, 18,
+ 19, 224, 109, 18, 19, 153, 233, 255, 18, 19, 223, 45, 18, 19, 153, 223,
+ 45, 18, 19, 152, 18, 19, 153, 152, 18, 19, 144, 152, 18, 19, 244, 243,
+ 18, 19, 245, 26, 18, 19, 244, 210, 18, 19, 244, 197, 18, 19, 244, 132,
+ 18, 19, 244, 123, 18, 19, 245, 29, 18, 19, 245, 28, 18, 19, 244, 51, 18,
+ 19, 153, 244, 51, 18, 19, 245, 95, 18, 19, 217, 161, 18, 19, 230, 165,
+ 217, 161, 18, 19, 217, 141, 18, 19, 230, 165, 217, 141, 18, 19, 217, 137,
+ 18, 19, 230, 165, 217, 137, 18, 19, 217, 122, 18, 19, 217, 119, 18, 19,
+ 217, 174, 18, 19, 217, 173, 18, 19, 217, 94, 18, 19, 153, 217, 94, 18,
+ 19, 217, 176, 18, 19, 216, 114, 18, 19, 216, 112, 18, 19, 216, 111, 18,
+ 19, 216, 116, 18, 19, 216, 117, 18, 19, 216, 25, 18, 19, 216, 24, 18, 19,
+ 216, 23, 18, 19, 216, 26, 18, 19, 228, 92, 242, 85, 18, 19, 228, 92, 242,
+ 28, 18, 19, 228, 92, 242, 10, 18, 19, 228, 92, 241, 173, 18, 19, 228, 92,
+ 241, 158, 18, 19, 228, 92, 162, 18, 19, 228, 92, 242, 148, 18, 19, 228,
+ 92, 242, 162, 18, 19, 228, 91, 242, 162, 18, 19, 242, 3, 18, 19, 225, 7,
+ 18, 19, 224, 233, 18, 19, 224, 228, 18, 19, 224, 222, 18, 19, 224, 217,
+ 18, 19, 225, 11, 18, 19, 225, 10, 18, 19, 225, 19, 18, 19, 217, 22, 18,
+ 19, 217, 20, 18, 19, 217, 19, 18, 19, 217, 23, 18, 19, 153, 224, 55, 18,
+ 19, 153, 223, 222, 18, 19, 153, 223, 146, 18, 19, 153, 208, 18, 19, 229,
+ 224, 18, 19, 229, 178, 18, 19, 229, 174, 18, 19, 229, 155, 18, 19, 229,
+ 150, 18, 19, 229, 226, 18, 19, 229, 225, 18, 19, 229, 228, 18, 19, 229,
+ 0, 18, 19, 222, 150, 221, 8, 18, 19, 222, 150, 220, 233, 18, 19, 222,
+ 150, 220, 208, 18, 19, 222, 150, 221, 47, 18, 19, 213, 203, 217, 161, 18,
+ 19, 213, 203, 217, 141, 18, 19, 213, 203, 217, 122, 18, 19, 213, 203,
+ 217, 174, 18, 19, 213, 203, 217, 176, 18, 19, 233, 117, 18, 19, 233, 116,
+ 18, 19, 233, 115, 18, 19, 233, 114, 18, 19, 233, 123, 18, 19, 233, 122,
+ 18, 19, 233, 124, 18, 19, 217, 175, 217, 161, 18, 19, 217, 175, 217, 141,
+ 18, 19, 217, 175, 217, 137, 18, 19, 217, 175, 217, 122, 18, 19, 217, 175,
+ 217, 119, 18, 19, 217, 175, 217, 174, 18, 19, 217, 175, 217, 173, 18, 19,
+ 217, 175, 217, 176, 18, 19, 254, 224, 253, 201, 18, 19, 252, 10, 77, 18,
+ 19, 252, 10, 75, 18, 19, 252, 10, 78, 18, 19, 252, 10, 63, 18, 19, 252,
+ 10, 214, 9, 18, 19, 252, 10, 213, 238, 18, 19, 252, 10, 213, 217, 18, 19,
+ 252, 10, 214, 52, 18, 19, 252, 10, 229, 254, 18, 19, 252, 10, 229, 128,
+ 18, 19, 252, 10, 228, 228, 18, 19, 252, 10, 207, 18, 19, 252, 10, 235,
+ 44, 18, 19, 252, 10, 234, 212, 18, 19, 252, 10, 234, 148, 18, 19, 252,
+ 10, 183, 18, 19, 222, 150, 242, 85, 18, 19, 222, 150, 242, 28, 18, 19,
+ 222, 150, 241, 173, 18, 19, 222, 150, 162, 18, 19, 70, 243, 60, 18, 19,
+ 70, 243, 64, 18, 19, 70, 243, 76, 18, 19, 70, 243, 75, 18, 19, 70, 243,
+ 65, 18, 19, 70, 243, 89, 18, 19, 70, 223, 77, 18, 19, 70, 223, 146, 18,
+ 19, 70, 224, 55, 18, 19, 70, 224, 35, 18, 19, 70, 223, 222, 18, 19, 70,
+ 208, 18, 19, 70, 213, 186, 18, 19, 70, 213, 217, 18, 19, 70, 214, 9, 18,
+ 19, 70, 214, 4, 18, 19, 70, 213, 238, 18, 19, 70, 214, 52, 18, 19, 70,
+ 241, 47, 18, 19, 70, 241, 48, 18, 19, 70, 241, 51, 18, 19, 70, 241, 50,
+ 18, 19, 70, 241, 49, 18, 19, 70, 241, 53, 18, 19, 70, 217, 103, 18, 19,
+ 70, 217, 122, 18, 19, 70, 217, 161, 18, 19, 70, 217, 160, 18, 19, 70,
+ 217, 141, 18, 19, 70, 217, 174, 18, 19, 70, 216, 95, 18, 19, 70, 216,
+ 105, 18, 19, 70, 216, 123, 18, 19, 70, 216, 122, 18, 19, 70, 216, 107,
+ 18, 19, 70, 216, 128, 18, 19, 70, 225, 71, 18, 19, 70, 225, 186, 18, 19,
+ 70, 226, 132, 18, 19, 70, 226, 122, 18, 19, 70, 226, 20, 18, 19, 70, 195,
+ 18, 19, 70, 227, 11, 18, 19, 70, 242, 213, 18, 19, 70, 243, 14, 18, 19,
+ 70, 243, 158, 18, 19, 70, 243, 151, 18, 19, 70, 243, 54, 18, 19, 70, 243,
+ 230, 18, 19, 70, 234, 219, 18, 19, 70, 234, 224, 18, 19, 70, 234, 237,
+ 18, 19, 70, 234, 236, 18, 19, 70, 234, 230, 18, 19, 70, 234, 250, 18, 19,
+ 70, 234, 161, 18, 19, 70, 234, 162, 18, 19, 70, 234, 165, 18, 19, 70,
+ 234, 164, 18, 19, 70, 234, 163, 18, 19, 70, 234, 166, 18, 19, 70, 234,
+ 167, 18, 19, 70, 228, 135, 18, 19, 70, 228, 228, 18, 19, 70, 229, 254,
+ 18, 19, 70, 229, 251, 18, 19, 70, 229, 128, 18, 19, 70, 207, 18, 19, 70,
+ 230, 242, 18, 19, 70, 231, 45, 18, 19, 70, 231, 226, 18, 19, 70, 231,
+ 215, 18, 19, 70, 231, 112, 18, 19, 70, 191, 18, 19, 70, 212, 204, 18, 19,
+ 70, 212, 236, 18, 19, 70, 213, 39, 18, 19, 70, 213, 36, 18, 19, 70, 213,
+ 0, 18, 19, 70, 189, 18, 19, 70, 235, 168, 18, 19, 222, 150, 235, 168, 18,
+ 19, 70, 235, 185, 18, 19, 70, 235, 242, 18, 19, 70, 235, 240, 18, 19, 70,
+ 235, 225, 18, 19, 222, 150, 235, 225, 18, 19, 70, 236, 0, 18, 19, 70,
+ 235, 198, 18, 19, 70, 235, 202, 18, 19, 70, 235, 212, 18, 19, 70, 235,
+ 211, 18, 19, 70, 235, 210, 18, 19, 70, 235, 213, 18, 19, 70, 232, 230,
+ 18, 19, 70, 233, 26, 18, 19, 70, 233, 180, 18, 19, 70, 233, 172, 18, 19,
+ 70, 233, 111, 18, 19, 70, 233, 255, 18, 19, 70, 247, 224, 18, 19, 70,
+ 247, 225, 18, 19, 70, 247, 228, 18, 19, 70, 247, 227, 18, 19, 70, 247,
+ 226, 18, 19, 70, 247, 229, 18, 19, 70, 233, 113, 18, 19, 70, 233, 115,
+ 18, 19, 70, 233, 119, 18, 19, 70, 233, 118, 18, 19, 70, 233, 117, 18, 19,
+ 70, 233, 123, 18, 19, 70, 217, 17, 18, 19, 70, 217, 19, 18, 19, 70, 217,
+ 22, 18, 19, 70, 217, 21, 18, 19, 70, 217, 20, 18, 19, 70, 217, 23, 18,
+ 19, 70, 217, 13, 18, 19, 70, 217, 14, 18, 19, 70, 217, 25, 18, 19, 70,
+ 217, 24, 18, 19, 70, 217, 15, 18, 19, 70, 217, 26, 18, 19, 70, 212, 8,
+ 18, 19, 70, 212, 16, 18, 19, 70, 212, 87, 18, 19, 70, 212, 85, 18, 19,
+ 70, 212, 37, 18, 19, 70, 212, 109, 18, 19, 70, 212, 152, 18, 19, 70, 73,
+ 212, 152, 18, 19, 70, 246, 104, 18, 19, 70, 246, 105, 18, 19, 70, 246,
+ 112, 18, 19, 70, 246, 111, 18, 19, 70, 246, 107, 18, 19, 70, 246, 114,
+ 18, 19, 70, 219, 41, 18, 19, 70, 220, 5, 18, 19, 70, 222, 123, 18, 19,
+ 70, 222, 112, 18, 19, 70, 220, 136, 18, 19, 70, 222, 227, 18, 19, 70,
+ 220, 170, 18, 19, 70, 220, 208, 18, 19, 70, 221, 8, 18, 19, 70, 221, 6,
+ 18, 19, 70, 220, 233, 18, 19, 70, 221, 47, 18, 19, 70, 221, 49, 18, 19,
+ 70, 216, 135, 18, 19, 70, 216, 137, 18, 19, 70, 216, 149, 18, 19, 70,
+ 216, 148, 18, 19, 70, 216, 138, 18, 19, 70, 216, 154, 18, 19, 70, 250,
+ 129, 18, 19, 70, 250, 146, 18, 19, 70, 250, 190, 18, 19, 70, 250, 187,
+ 18, 19, 70, 250, 170, 18, 19, 70, 250, 215, 18, 19, 70, 216, 98, 18, 19,
+ 70, 216, 99, 18, 19, 70, 216, 102, 18, 19, 70, 216, 101, 18, 19, 70, 216,
+ 100, 18, 19, 70, 216, 103, 18, 19, 250, 171, 53, 18, 19, 244, 64, 219,
+ 83, 18, 19, 225, 3, 18, 19, 229, 223, 18, 19, 228, 253, 18, 19, 228, 252,
+ 18, 19, 228, 251, 18, 19, 228, 250, 18, 19, 228, 255, 18, 19, 228, 254,
+ 18, 19, 213, 203, 217, 92, 18, 19, 213, 203, 217, 91, 18, 19, 213, 203,
+ 217, 90, 18, 19, 213, 203, 217, 89, 18, 19, 213, 203, 217, 88, 18, 19,
+ 213, 203, 217, 95, 18, 19, 213, 203, 217, 94, 18, 19, 213, 203, 41, 217,
+ 176, 18, 19, 252, 10, 214, 85, 227, 129, 219, 226, 79, 227, 129, 1, 252,
+ 94, 227, 129, 1, 232, 219, 227, 129, 1, 244, 240, 227, 129, 1, 222, 210,
+ 227, 129, 1, 229, 88, 227, 129, 1, 215, 201, 227, 129, 1, 249, 8, 227,
+ 129, 1, 217, 47, 227, 129, 1, 250, 33, 227, 129, 1, 250, 237, 227, 129,
+ 1, 230, 231, 227, 129, 1, 242, 252, 227, 129, 1, 229, 213, 227, 129, 1,
+ 219, 76, 227, 129, 1, 223, 72, 227, 129, 1, 254, 233, 227, 129, 1, 227,
+ 90, 227, 129, 1, 215, 127, 227, 129, 1, 246, 52, 227, 129, 1, 236, 47,
+ 227, 129, 1, 246, 53, 227, 129, 1, 227, 62, 227, 129, 1, 215, 182, 227,
+ 129, 1, 236, 151, 227, 129, 1, 246, 50, 227, 129, 1, 226, 113, 227, 129,
+ 244, 239, 79, 227, 129, 223, 236, 244, 239, 79, 172, 1, 244, 230, 244,
+ 222, 244, 244, 245, 95, 172, 1, 211, 211, 172, 1, 215, 112, 215, 128, 72,
+ 172, 1, 212, 206, 172, 1, 213, 108, 172, 1, 214, 85, 172, 1, 217, 97,
+ 217, 96, 217, 117, 172, 1, 245, 146, 172, 1, 254, 131, 63, 172, 1, 227,
+ 48, 78, 172, 1, 255, 49, 63, 172, 1, 255, 4, 172, 1, 233, 4, 78, 172, 1,
+ 220, 189, 78, 172, 1, 78, 172, 1, 227, 136, 172, 1, 227, 99, 172, 1, 224,
+ 90, 224, 102, 224, 22, 152, 172, 1, 235, 55, 172, 1, 250, 234, 172, 1,
+ 235, 56, 235, 141, 172, 1, 244, 41, 172, 1, 245, 217, 172, 1, 243, 154,
+ 242, 168, 244, 41, 172, 1, 243, 192, 172, 1, 213, 179, 213, 173, 214, 85,
+ 172, 1, 242, 140, 242, 162, 172, 1, 242, 144, 242, 162, 172, 1, 233, 6,
+ 242, 162, 172, 1, 220, 192, 242, 162, 172, 1, 230, 74, 228, 57, 230, 75,
+ 206, 172, 1, 220, 190, 206, 172, 1, 246, 190, 172, 1, 236, 27, 236, 31,
+ 236, 21, 75, 172, 1, 77, 172, 1, 235, 233, 236, 3, 172, 1, 243, 139, 172,
+ 1, 233, 7, 255, 20, 172, 1, 220, 194, 63, 172, 1, 236, 13, 245, 193, 172,
+ 1, 226, 76, 226, 97, 227, 11, 172, 1, 254, 199, 245, 192, 172, 1, 219,
+ 230, 196, 172, 1, 220, 124, 233, 3, 196, 172, 1, 220, 188, 196, 172, 1,
+ 251, 121, 172, 1, 212, 152, 172, 1, 217, 30, 217, 40, 216, 14, 218, 113,
+ 172, 1, 220, 187, 218, 113, 172, 1, 249, 125, 172, 1, 252, 78, 252, 81,
+ 252, 16, 253, 201, 172, 1, 220, 193, 253, 201, 172, 1, 246, 189, 172, 1,
+ 227, 74, 172, 1, 246, 18, 246, 20, 77, 172, 1, 232, 56, 232, 64, 184,
+ 172, 1, 233, 5, 184, 172, 1, 220, 191, 184, 172, 1, 233, 195, 233, 235,
+ 233, 14, 155, 172, 1, 246, 191, 172, 1, 236, 88, 172, 1, 236, 89, 172, 1,
+ 249, 19, 249, 24, 249, 125, 172, 1, 227, 44, 245, 145, 78, 172, 1, 246,
+ 48, 172, 1, 236, 46, 172, 1, 249, 143, 172, 1, 251, 73, 172, 1, 250, 246,
+ 172, 1, 219, 114, 172, 1, 233, 2, 172, 1, 220, 186, 172, 1, 240, 220,
+ 172, 1, 225, 19, 172, 1, 213, 169, 172, 220, 100, 225, 62, 172, 230, 225,
+ 225, 62, 172, 249, 194, 225, 62, 172, 254, 48, 88, 172, 216, 54, 88, 172,
+ 252, 93, 88, 218, 46, 1, 63, 218, 46, 1, 75, 218, 46, 1, 72, 218, 46, 1,
+ 183, 218, 46, 1, 243, 230, 218, 46, 1, 229, 226, 218, 46, 1, 218, 66,
+ 218, 46, 1, 249, 30, 218, 46, 1, 207, 218, 46, 1, 195, 218, 46, 1, 252,
+ 234, 218, 46, 1, 191, 218, 46, 1, 189, 218, 46, 1, 233, 255, 218, 46, 1,
+ 214, 52, 218, 46, 1, 222, 227, 218, 46, 1, 162, 218, 46, 30, 5, 75, 218,
+ 46, 30, 5, 72, 218, 46, 5, 214, 137, 242, 110, 1, 63, 242, 110, 1, 75,
+ 242, 110, 1, 72, 242, 110, 1, 183, 242, 110, 1, 243, 230, 242, 110, 1,
+ 229, 226, 242, 110, 1, 218, 66, 242, 110, 1, 249, 30, 242, 110, 1, 207,
+ 242, 110, 1, 195, 242, 110, 1, 252, 234, 242, 110, 1, 191, 242, 110, 1,
+ 189, 242, 110, 1, 208, 242, 110, 1, 233, 255, 242, 110, 1, 214, 52, 242,
+ 110, 1, 222, 227, 242, 110, 1, 162, 242, 110, 30, 5, 75, 242, 110, 30, 5,
+ 72, 242, 110, 5, 226, 213, 226, 38, 220, 100, 225, 62, 226, 38, 52, 225,
+ 62, 251, 174, 1, 63, 251, 174, 1, 75, 251, 174, 1, 72, 251, 174, 1, 183,
+ 251, 174, 1, 243, 230, 251, 174, 1, 229, 226, 251, 174, 1, 218, 66, 251,
+ 174, 1, 249, 30, 251, 174, 1, 207, 251, 174, 1, 195, 251, 174, 1, 252,
+ 234, 251, 174, 1, 191, 251, 174, 1, 189, 251, 174, 1, 208, 251, 174, 1,
+ 233, 255, 251, 174, 1, 214, 52, 251, 174, 1, 222, 227, 251, 174, 1, 162,
+ 251, 174, 30, 5, 75, 251, 174, 30, 5, 72, 218, 45, 1, 63, 218, 45, 1, 75,
+ 218, 45, 1, 72, 218, 45, 1, 183, 218, 45, 1, 243, 230, 218, 45, 1, 229,
+ 226, 218, 45, 1, 218, 66, 218, 45, 1, 249, 30, 218, 45, 1, 207, 218, 45,
+ 1, 195, 218, 45, 1, 252, 234, 218, 45, 1, 191, 218, 45, 1, 189, 218, 45,
+ 1, 233, 255, 218, 45, 1, 214, 52, 218, 45, 1, 222, 227, 218, 45, 30, 5,
+ 75, 218, 45, 30, 5, 72, 67, 1, 183, 67, 1, 234, 250, 67, 1, 234, 148, 67,
+ 1, 234, 224, 67, 1, 229, 155, 67, 1, 251, 88, 67, 1, 250, 215, 67, 1,
+ 250, 42, 67, 1, 250, 146, 67, 1, 228, 35, 67, 1, 249, 30, 67, 1, 216,
+ 116, 67, 1, 247, 220, 67, 1, 216, 111, 67, 1, 228, 234, 67, 1, 218, 66,
+ 67, 1, 217, 174, 67, 1, 109, 67, 1, 217, 122, 67, 1, 228, 228, 67, 1,
+ 252, 234, 67, 1, 226, 59, 67, 1, 225, 186, 67, 1, 226, 33, 67, 1, 231,
+ 45, 67, 1, 212, 236, 67, 1, 223, 146, 67, 1, 233, 26, 67, 1, 214, 123,
+ 67, 1, 221, 47, 67, 1, 219, 137, 67, 1, 222, 227, 67, 1, 162, 67, 1, 233,
+ 255, 67, 1, 225, 11, 67, 236, 101, 30, 224, 253, 67, 236, 101, 30, 225,
+ 10, 67, 236, 101, 30, 224, 233, 67, 236, 101, 30, 224, 228, 67, 236, 101,
+ 30, 224, 210, 67, 236, 101, 30, 224, 182, 67, 236, 101, 30, 224, 170, 67,
+ 236, 101, 30, 224, 169, 67, 236, 101, 30, 223, 37, 67, 236, 101, 30, 223,
+ 30, 67, 236, 101, 30, 232, 194, 67, 236, 101, 30, 232, 185, 67, 236, 101,
+ 30, 224, 248, 67, 236, 101, 30, 225, 3, 67, 236, 101, 30, 224, 218, 216,
+ 22, 118, 67, 236, 101, 30, 224, 218, 216, 22, 112, 67, 236, 101, 30, 224,
+ 249, 67, 30, 236, 87, 254, 86, 67, 30, 236, 87, 255, 104, 67, 30, 5, 255,
+ 104, 67, 30, 5, 75, 67, 30, 5, 236, 145, 67, 30, 5, 213, 108, 67, 30, 5,
+ 212, 161, 67, 30, 5, 72, 67, 30, 5, 215, 98, 67, 30, 5, 215, 202, 67, 30,
+ 5, 227, 136, 67, 30, 5, 189, 67, 30, 5, 236, 172, 67, 30, 5, 77, 67, 30,
+ 5, 255, 20, 67, 30, 5, 254, 236, 67, 30, 5, 227, 86, 67, 30, 5, 253, 235,
+ 67, 5, 229, 101, 67, 5, 224, 53, 67, 5, 212, 172, 67, 5, 230, 192, 67, 5,
+ 216, 184, 67, 5, 252, 189, 67, 5, 223, 141, 67, 5, 217, 8, 67, 5, 235,
+ 103, 67, 5, 254, 238, 67, 5, 222, 184, 222, 178, 67, 5, 214, 134, 67, 5,
+ 250, 36, 67, 5, 252, 163, 67, 5, 234, 243, 67, 5, 252, 183, 67, 5, 251,
+ 65, 225, 240, 234, 51, 67, 5, 233, 152, 216, 243, 67, 5, 252, 67, 67, 5,
+ 226, 35, 230, 239, 67, 5, 234, 129, 67, 249, 162, 16, 223, 215, 67, 5,
+ 253, 217, 67, 5, 253, 238, 67, 21, 212, 79, 67, 21, 118, 67, 21, 112, 67,
+ 21, 170, 67, 21, 167, 67, 21, 185, 67, 21, 192, 67, 21, 200, 67, 21, 198,
+ 67, 21, 203, 67, 16, 233, 152, 253, 240, 219, 248, 67, 16, 233, 152, 253,
+ 240, 230, 211, 67, 16, 233, 152, 253, 240, 225, 239, 67, 16, 233, 152,
+ 253, 240, 252, 95, 67, 16, 233, 152, 253, 240, 251, 157, 67, 16, 233,
+ 152, 253, 240, 225, 131, 67, 16, 233, 152, 253, 240, 225, 125, 67, 16,
+ 233, 152, 253, 240, 225, 123, 67, 16, 233, 152, 253, 240, 225, 129, 67,
+ 16, 233, 152, 253, 240, 225, 127, 83, 252, 28, 83, 245, 241, 83, 250, 23,
+ 83, 244, 64, 219, 83, 83, 250, 30, 83, 244, 101, 247, 193, 83, 217, 7,
+ 219, 255, 241, 21, 83, 220, 135, 3, 251, 223, 232, 32, 83, 232, 61, 250,
+ 23, 83, 232, 61, 244, 64, 219, 83, 83, 229, 86, 83, 244, 87, 44, 222,
+ 100, 118, 83, 244, 87, 44, 222, 100, 112, 83, 244, 87, 44, 222, 100, 170,
+ 83, 30, 221, 80, 83, 21, 212, 79, 83, 21, 118, 83, 21, 112, 83, 21, 170,
+ 83, 21, 167, 83, 21, 185, 83, 21, 192, 83, 21, 200, 83, 21, 198, 83, 21,
+ 203, 83, 1, 63, 83, 1, 77, 83, 1, 75, 83, 1, 78, 83, 1, 72, 83, 1, 227,
+ 136, 83, 1, 215, 189, 83, 1, 246, 30, 83, 1, 207, 83, 1, 254, 151, 83, 1,
+ 252, 234, 83, 1, 195, 83, 1, 225, 11, 83, 1, 243, 230, 83, 1, 191, 83, 1,
+ 233, 255, 83, 1, 222, 227, 83, 1, 221, 47, 83, 1, 218, 66, 83, 1, 249,
+ 30, 83, 1, 250, 215, 83, 1, 236, 0, 83, 1, 189, 83, 1, 208, 83, 1, 214,
+ 52, 83, 1, 245, 29, 83, 1, 183, 83, 1, 234, 250, 83, 1, 216, 154, 83, 1,
+ 212, 109, 83, 1, 242, 148, 83, 1, 212, 9, 83, 1, 233, 123, 83, 1, 212,
+ 62, 83, 1, 250, 170, 83, 1, 217, 7, 187, 30, 53, 83, 1, 217, 7, 77, 83,
+ 1, 217, 7, 75, 83, 1, 217, 7, 78, 83, 1, 217, 7, 72, 83, 1, 217, 7, 227,
+ 136, 83, 1, 217, 7, 215, 189, 83, 1, 217, 7, 254, 151, 83, 1, 217, 7,
+ 252, 234, 83, 1, 217, 7, 195, 83, 1, 217, 7, 225, 11, 83, 1, 217, 7, 243,
+ 230, 83, 1, 217, 7, 191, 83, 1, 217, 7, 218, 66, 83, 1, 217, 7, 249, 30,
+ 83, 1, 217, 7, 250, 215, 83, 1, 217, 7, 236, 0, 83, 1, 217, 7, 216, 154,
+ 83, 1, 217, 7, 189, 83, 1, 217, 7, 214, 52, 83, 1, 217, 7, 183, 83, 1,
+ 217, 7, 243, 227, 83, 1, 217, 7, 242, 148, 83, 1, 217, 7, 235, 224, 83,
+ 1, 217, 7, 229, 126, 83, 1, 217, 7, 246, 114, 83, 1, 220, 135, 77, 83, 1,
+ 220, 135, 75, 83, 1, 220, 135, 236, 11, 83, 1, 220, 135, 215, 189, 83, 1,
+ 220, 135, 72, 83, 1, 220, 135, 254, 151, 83, 1, 220, 135, 183, 83, 1,
+ 220, 135, 243, 230, 83, 1, 220, 135, 162, 83, 1, 220, 135, 195, 83, 1,
+ 220, 135, 221, 47, 83, 1, 220, 135, 218, 66, 83, 1, 220, 135, 249, 30,
+ 83, 1, 220, 135, 236, 0, 83, 1, 220, 135, 245, 29, 83, 1, 220, 135, 243,
+ 227, 83, 1, 220, 135, 242, 148, 83, 1, 220, 135, 216, 154, 83, 1, 220,
+ 135, 212, 109, 83, 1, 220, 135, 224, 109, 83, 1, 220, 135, 250, 215, 83,
+ 1, 220, 135, 212, 75, 83, 1, 232, 61, 75, 83, 1, 232, 61, 183, 83, 1,
+ 232, 61, 208, 83, 1, 232, 61, 245, 29, 83, 1, 232, 61, 212, 75, 83, 1,
+ 254, 198, 243, 212, 254, 114, 118, 83, 1, 254, 198, 243, 212, 214, 133,
+ 118, 83, 1, 254, 198, 243, 212, 248, 253, 83, 1, 254, 198, 243, 212, 215,
+ 199, 83, 1, 254, 198, 243, 212, 236, 52, 215, 199, 83, 1, 254, 198, 243,
+ 212, 252, 201, 83, 1, 254, 198, 243, 212, 137, 252, 201, 83, 1, 254, 198,
+ 243, 212, 63, 83, 1, 254, 198, 243, 212, 75, 83, 1, 254, 198, 243, 212,
+ 183, 83, 1, 254, 198, 243, 212, 229, 226, 83, 1, 254, 198, 243, 212, 251,
+ 88, 83, 1, 254, 198, 243, 212, 216, 128, 83, 1, 254, 198, 243, 212, 216,
+ 116, 83, 1, 254, 198, 243, 212, 248, 207, 83, 1, 254, 198, 243, 212, 229,
+ 6, 83, 1, 254, 198, 243, 212, 218, 66, 83, 1, 254, 198, 243, 212, 249,
+ 30, 83, 1, 254, 198, 243, 212, 195, 83, 1, 254, 198, 243, 212, 226, 59,
+ 83, 1, 254, 198, 243, 212, 219, 176, 83, 1, 254, 198, 243, 212, 212, 75,
+ 83, 1, 254, 198, 243, 212, 212, 109, 83, 1, 254, 198, 243, 212, 254, 242,
+ 83, 1, 217, 7, 254, 198, 243, 212, 218, 66, 83, 1, 217, 7, 254, 198, 243,
+ 212, 212, 75, 83, 1, 232, 61, 254, 198, 243, 212, 243, 89, 83, 1, 232,
+ 61, 254, 198, 243, 212, 229, 226, 83, 1, 232, 61, 254, 198, 243, 212,
+ 251, 88, 83, 1, 232, 61, 254, 198, 243, 212, 235, 230, 83, 1, 232, 61,
+ 254, 198, 243, 212, 216, 128, 83, 1, 232, 61, 254, 198, 243, 212, 248,
+ 191, 83, 1, 232, 61, 254, 198, 243, 212, 218, 66, 83, 1, 232, 61, 254,
+ 198, 243, 212, 248, 97, 83, 1, 232, 61, 254, 198, 243, 212, 219, 176, 83,
+ 1, 232, 61, 254, 198, 243, 212, 249, 137, 83, 1, 232, 61, 254, 198, 243,
+ 212, 212, 75, 83, 1, 232, 61, 254, 198, 243, 212, 212, 109, 83, 1, 254,
+ 198, 243, 212, 157, 72, 83, 1, 254, 198, 243, 212, 157, 189, 83, 1, 232,
+ 61, 254, 198, 243, 212, 252, 65, 83, 1, 254, 198, 243, 212, 249, 20, 83,
+ 1, 232, 61, 254, 198, 243, 212, 233, 123, 18, 19, 227, 15, 18, 19, 253,
+ 210, 18, 19, 255, 60, 18, 19, 214, 12, 18, 19, 225, 137, 18, 19, 226,
+ 139, 18, 19, 225, 28, 18, 19, 217, 251, 18, 19, 235, 51, 18, 19, 234, 43,
+ 18, 19, 232, 10, 18, 19, 228, 191, 18, 19, 230, 70, 18, 19, 233, 190, 18,
+ 19, 219, 228, 18, 19, 222, 152, 18, 19, 220, 177, 18, 19, 221, 11, 18,
+ 19, 220, 146, 18, 19, 212, 212, 18, 19, 213, 44, 18, 19, 224, 61, 18, 19,
+ 228, 70, 18, 19, 227, 119, 228, 70, 18, 19, 228, 69, 18, 19, 227, 119,
+ 228, 69, 18, 19, 228, 68, 18, 19, 227, 119, 228, 68, 18, 19, 228, 67, 18,
+ 19, 227, 119, 228, 67, 18, 19, 223, 42, 18, 19, 223, 41, 18, 19, 223, 40,
+ 18, 19, 223, 39, 18, 19, 223, 38, 18, 19, 223, 46, 18, 19, 227, 119, 227,
+ 11, 18, 19, 227, 119, 218, 113, 18, 19, 227, 119, 235, 141, 18, 19, 227,
+ 119, 251, 121, 18, 19, 227, 119, 184, 18, 19, 227, 119, 206, 18, 19, 227,
+ 119, 196, 18, 19, 227, 119, 221, 49, 18, 19, 246, 40, 214, 85, 18, 19,
+ 213, 251, 214, 85, 18, 19, 41, 4, 223, 164, 18, 19, 41, 224, 83, 247,
+ 195, 18, 19, 224, 147, 223, 43, 18, 19, 153, 232, 254, 18, 19, 153, 233,
+ 254, 18, 19, 217, 93, 18, 19, 217, 95, 18, 19, 216, 108, 18, 19, 216,
+ 110, 18, 19, 216, 115, 18, 19, 217, 16, 18, 19, 217, 18, 18, 19, 222,
+ 150, 220, 151, 18, 19, 222, 150, 220, 202, 18, 19, 222, 150, 241, 158,
+ 18, 19, 70, 242, 175, 18, 19, 70, 248, 124, 243, 151, 18, 19, 70, 243,
+ 227, 18, 19, 70, 242, 180, 18, 19, 222, 150, 235, 151, 18, 19, 70, 235,
+ 149, 18, 19, 252, 114, 248, 124, 155, 18, 19, 252, 114, 248, 124, 152,
+ 18, 19, 70, 248, 119, 196, 233, 93, 214, 107, 233, 132, 233, 93, 1, 183,
+ 233, 93, 1, 234, 250, 233, 93, 1, 243, 230, 233, 93, 1, 243, 89, 233, 93,
+ 1, 229, 226, 233, 93, 1, 251, 88, 233, 93, 1, 250, 215, 233, 93, 1, 236,
+ 0, 233, 93, 1, 235, 230, 233, 93, 1, 213, 62, 233, 93, 1, 218, 66, 233,
+ 93, 1, 217, 174, 233, 93, 1, 249, 30, 233, 93, 1, 248, 97, 233, 93, 1,
+ 207, 233, 93, 1, 195, 233, 93, 1, 226, 59, 233, 93, 1, 252, 234, 233, 93,
+ 1, 252, 65, 233, 93, 1, 191, 233, 93, 1, 189, 233, 93, 1, 208, 233, 93,
+ 1, 233, 255, 233, 93, 1, 214, 52, 233, 93, 1, 221, 47, 233, 93, 1, 219,
+ 176, 233, 93, 1, 222, 227, 233, 93, 1, 162, 233, 93, 30, 5, 63, 233, 93,
+ 30, 5, 75, 233, 93, 30, 5, 72, 233, 93, 30, 5, 246, 30, 233, 93, 30, 5,
+ 254, 236, 233, 93, 30, 5, 227, 86, 233, 93, 30, 5, 253, 235, 233, 93, 30,
+ 5, 77, 233, 93, 30, 5, 78, 233, 93, 219, 32, 1, 189, 233, 93, 219, 32, 1,
+ 208, 233, 93, 219, 32, 1, 214, 52, 233, 93, 4, 1, 183, 233, 93, 4, 1,
+ 229, 226, 233, 93, 4, 1, 254, 113, 233, 93, 4, 1, 218, 66, 233, 93, 4, 1,
+ 207, 233, 93, 4, 1, 195, 233, 93, 4, 1, 191, 233, 93, 4, 1, 208, 233, 93,
+ 4, 1, 233, 255, 233, 93, 5, 230, 229, 233, 93, 5, 235, 33, 233, 93, 5,
+ 222, 226, 233, 93, 5, 232, 254, 233, 93, 245, 119, 79, 233, 93, 224, 193,
+ 79, 233, 93, 21, 212, 79, 233, 93, 21, 118, 233, 93, 21, 112, 233, 93,
+ 21, 170, 233, 93, 21, 167, 233, 93, 21, 185, 233, 93, 21, 192, 233, 93,
+ 21, 200, 233, 93, 21, 198, 233, 93, 21, 203, 39, 233, 181, 1, 183, 39,
+ 233, 181, 1, 213, 156, 39, 233, 181, 1, 229, 226, 39, 233, 181, 1, 216,
+ 154, 39, 233, 181, 1, 222, 227, 39, 233, 181, 1, 189, 39, 233, 181, 1,
+ 218, 66, 39, 233, 181, 1, 217, 174, 39, 233, 181, 1, 233, 255, 39, 233,
+ 181, 1, 195, 39, 233, 181, 1, 226, 59, 39, 233, 181, 1, 191, 39, 233,
+ 181, 1, 245, 29, 39, 233, 181, 1, 215, 8, 39, 233, 181, 1, 162, 39, 233,
+ 181, 1, 225, 11, 39, 233, 181, 1, 234, 250, 39, 233, 181, 1, 216, 146,
+ 39, 233, 181, 1, 207, 39, 233, 181, 1, 63, 39, 233, 181, 1, 75, 39, 233,
+ 181, 1, 246, 30, 39, 233, 181, 1, 246, 19, 39, 233, 181, 1, 72, 39, 233,
+ 181, 1, 227, 86, 39, 233, 181, 1, 78, 39, 233, 181, 1, 215, 189, 39, 233,
+ 181, 1, 77, 39, 233, 181, 1, 253, 233, 39, 233, 181, 1, 254, 236, 39,
+ 233, 181, 1, 216, 252, 39, 233, 181, 1, 216, 251, 39, 233, 181, 1, 216,
+ 250, 39, 233, 181, 1, 216, 249, 39, 233, 181, 1, 216, 248, 163, 39, 169,
+ 1, 127, 225, 11, 163, 39, 169, 1, 117, 225, 11, 163, 39, 169, 1, 127,
+ 183, 163, 39, 169, 1, 127, 213, 156, 163, 39, 169, 1, 127, 229, 226, 163,
+ 39, 169, 1, 117, 183, 163, 39, 169, 1, 117, 213, 156, 163, 39, 169, 1,
+ 117, 229, 226, 163, 39, 169, 1, 127, 216, 154, 163, 39, 169, 1, 127, 222,
+ 227, 163, 39, 169, 1, 127, 189, 163, 39, 169, 1, 117, 216, 154, 163, 39,
+ 169, 1, 117, 222, 227, 163, 39, 169, 1, 117, 189, 163, 39, 169, 1, 127,
+ 218, 66, 163, 39, 169, 1, 127, 217, 174, 163, 39, 169, 1, 127, 207, 163,
+ 39, 169, 1, 117, 218, 66, 163, 39, 169, 1, 117, 217, 174, 163, 39, 169,
+ 1, 117, 207, 163, 39, 169, 1, 127, 195, 163, 39, 169, 1, 127, 226, 59,
+ 163, 39, 169, 1, 127, 191, 163, 39, 169, 1, 117, 195, 163, 39, 169, 1,
+ 117, 226, 59, 163, 39, 169, 1, 117, 191, 163, 39, 169, 1, 127, 245, 29,
+ 163, 39, 169, 1, 127, 215, 8, 163, 39, 169, 1, 127, 233, 255, 163, 39,
+ 169, 1, 117, 245, 29, 163, 39, 169, 1, 117, 215, 8, 163, 39, 169, 1, 117,
+ 233, 255, 163, 39, 169, 1, 127, 162, 163, 39, 169, 1, 127, 249, 30, 163,
+ 39, 169, 1, 127, 252, 234, 163, 39, 169, 1, 117, 162, 163, 39, 169, 1,
+ 117, 249, 30, 163, 39, 169, 1, 117, 252, 234, 163, 39, 169, 1, 127, 234,
+ 48, 163, 39, 169, 1, 127, 213, 129, 163, 39, 169, 1, 117, 234, 48, 163,
+ 39, 169, 1, 117, 213, 129, 163, 39, 169, 1, 127, 219, 40, 163, 39, 169,
+ 1, 117, 219, 40, 163, 39, 169, 30, 5, 30, 220, 184, 163, 39, 169, 30, 5,
+ 255, 104, 163, 39, 169, 30, 5, 236, 145, 163, 39, 169, 30, 5, 72, 163,
+ 39, 169, 30, 5, 215, 98, 163, 39, 169, 30, 5, 77, 163, 39, 169, 30, 5,
+ 255, 20, 163, 39, 169, 30, 5, 78, 163, 39, 169, 30, 5, 227, 157, 163, 39,
+ 169, 30, 5, 215, 189, 163, 39, 169, 30, 5, 253, 210, 163, 39, 169, 30, 5,
+ 255, 60, 163, 39, 169, 30, 5, 215, 91, 163, 39, 169, 30, 5, 227, 15, 163,
+ 39, 169, 30, 5, 227, 154, 163, 39, 169, 30, 5, 215, 186, 163, 39, 169,
+ 30, 5, 236, 11, 163, 39, 169, 1, 41, 211, 211, 163, 39, 169, 1, 41, 229,
+ 228, 163, 39, 169, 1, 41, 206, 163, 39, 169, 1, 41, 184, 163, 39, 169, 1,
+ 41, 235, 141, 163, 39, 169, 1, 41, 249, 125, 163, 39, 169, 1, 41, 253,
+ 201, 163, 39, 169, 161, 232, 36, 163, 39, 169, 161, 232, 35, 163, 39,
+ 169, 21, 212, 79, 163, 39, 169, 21, 118, 163, 39, 169, 21, 112, 163, 39,
+ 169, 21, 170, 163, 39, 169, 21, 167, 163, 39, 169, 21, 185, 163, 39, 169,
+ 21, 192, 163, 39, 169, 21, 200, 163, 39, 169, 21, 198, 163, 39, 169, 21,
+ 203, 163, 39, 169, 89, 21, 118, 163, 39, 169, 5, 233, 241, 163, 39, 169,
+ 5, 233, 240, 67, 16, 226, 146, 67, 16, 230, 212, 234, 145, 67, 16, 225,
+ 240, 234, 145, 67, 16, 252, 96, 234, 145, 67, 16, 251, 158, 234, 145, 67,
+ 16, 225, 132, 234, 145, 67, 16, 225, 126, 234, 145, 67, 16, 225, 124,
+ 234, 145, 67, 16, 225, 130, 234, 145, 67, 16, 225, 128, 234, 145, 67, 16,
+ 248, 240, 234, 145, 67, 16, 248, 236, 234, 145, 67, 16, 248, 235, 234,
+ 145, 67, 16, 248, 238, 234, 145, 67, 16, 248, 237, 234, 145, 67, 16, 248,
+ 234, 234, 145, 67, 16, 216, 59, 67, 16, 230, 212, 223, 140, 67, 16, 225,
+ 240, 223, 140, 67, 16, 252, 96, 223, 140, 67, 16, 251, 158, 223, 140, 67,
+ 16, 225, 132, 223, 140, 67, 16, 225, 126, 223, 140, 67, 16, 225, 124,
+ 223, 140, 67, 16, 225, 130, 223, 140, 67, 16, 225, 128, 223, 140, 67, 16,
+ 248, 240, 223, 140, 67, 16, 248, 236, 223, 140, 67, 16, 248, 235, 223,
+ 140, 67, 16, 248, 238, 223, 140, 67, 16, 248, 237, 223, 140, 67, 16, 248,
+ 234, 223, 140, 251, 175, 1, 183, 251, 175, 1, 243, 230, 251, 175, 1, 229,
+ 226, 251, 175, 1, 229, 173, 251, 175, 1, 195, 251, 175, 1, 252, 234, 251,
+ 175, 1, 191, 251, 175, 1, 230, 245, 251, 175, 1, 218, 66, 251, 175, 1,
+ 249, 30, 251, 175, 1, 207, 251, 175, 1, 228, 190, 251, 175, 1, 251, 88,
+ 251, 175, 1, 236, 0, 251, 175, 1, 228, 64, 251, 175, 1, 228, 58, 251,
+ 175, 1, 189, 251, 175, 1, 208, 251, 175, 1, 233, 255, 251, 175, 1, 215,
+ 8, 251, 175, 1, 222, 227, 251, 175, 1, 63, 251, 175, 1, 162, 251, 175,
+ 30, 5, 75, 251, 175, 30, 5, 72, 251, 175, 30, 5, 77, 251, 175, 30, 5, 78,
+ 251, 175, 30, 5, 255, 20, 251, 175, 226, 224, 251, 175, 245, 222, 68,
+ 222, 114, 39, 89, 1, 127, 183, 39, 89, 1, 127, 234, 250, 39, 89, 1, 127,
+ 234, 35, 39, 89, 1, 117, 183, 39, 89, 1, 117, 234, 35, 39, 89, 1, 117,
+ 234, 250, 39, 89, 1, 229, 226, 39, 89, 1, 127, 251, 88, 39, 89, 1, 127,
+ 250, 215, 39, 89, 1, 117, 251, 88, 39, 89, 1, 117, 222, 227, 39, 89, 1,
+ 117, 250, 215, 39, 89, 1, 228, 64, 39, 89, 1, 224, 67, 39, 89, 1, 127,
+ 224, 65, 39, 89, 1, 249, 30, 39, 89, 1, 117, 224, 65, 39, 89, 1, 224, 76,
+ 39, 89, 1, 127, 218, 66, 39, 89, 1, 127, 217, 174, 39, 89, 1, 117, 218,
+ 66, 39, 89, 1, 117, 217, 174, 39, 89, 1, 207, 39, 89, 1, 252, 234, 39,
+ 89, 1, 127, 195, 39, 89, 1, 127, 226, 59, 39, 89, 1, 127, 245, 29, 39,
+ 89, 1, 117, 195, 39, 89, 1, 117, 245, 29, 39, 89, 1, 117, 226, 59, 39,
+ 89, 1, 191, 39, 89, 1, 117, 189, 39, 89, 1, 127, 189, 39, 89, 1, 208, 39,
+ 89, 1, 223, 74, 39, 89, 1, 233, 255, 39, 89, 1, 232, 225, 39, 89, 1, 214,
+ 52, 39, 89, 1, 127, 221, 47, 39, 89, 1, 127, 219, 176, 39, 89, 1, 127,
+ 222, 227, 39, 89, 1, 127, 162, 39, 89, 1, 233, 54, 39, 89, 1, 63, 39, 89,
+ 1, 117, 162, 39, 89, 1, 75, 39, 89, 1, 236, 145, 39, 89, 1, 72, 39, 89,
+ 1, 215, 98, 39, 89, 1, 246, 30, 39, 89, 1, 227, 86, 39, 89, 1, 233, 241,
+ 39, 89, 1, 242, 230, 222, 227, 39, 89, 120, 5, 144, 208, 39, 89, 120, 5,
+ 144, 233, 255, 39, 89, 120, 5, 234, 0, 218, 22, 233, 231, 39, 89, 5, 232,
+ 82, 235, 93, 233, 231, 39, 89, 120, 5, 41, 229, 226, 39, 89, 120, 5, 117,
+ 195, 39, 89, 120, 5, 127, 224, 66, 171, 117, 195, 39, 89, 120, 5, 191,
+ 39, 89, 120, 5, 252, 234, 39, 89, 120, 5, 222, 227, 39, 89, 5, 222, 205,
+ 39, 89, 30, 5, 63, 39, 89, 30, 5, 232, 82, 222, 166, 39, 89, 30, 5, 255,
+ 104, 39, 89, 30, 5, 218, 28, 255, 104, 39, 89, 30, 5, 75, 39, 89, 30, 5,
+ 236, 145, 39, 89, 30, 5, 215, 189, 39, 89, 30, 5, 215, 97, 39, 89, 30, 5,
+ 72, 39, 89, 30, 5, 215, 98, 39, 89, 30, 5, 78, 39, 89, 30, 5, 227, 158,
+ 55, 39, 89, 30, 5, 227, 15, 39, 89, 30, 5, 77, 39, 89, 30, 5, 255, 20,
+ 39, 89, 30, 5, 227, 86, 39, 89, 30, 5, 254, 236, 39, 89, 30, 5, 89, 254,
+ 236, 39, 89, 30, 5, 227, 158, 50, 39, 89, 5, 232, 82, 235, 92, 39, 89, 5,
+ 216, 253, 39, 89, 5, 216, 252, 39, 89, 5, 234, 217, 216, 251, 39, 89, 5,
+ 234, 217, 216, 250, 39, 89, 5, 234, 217, 216, 249, 39, 89, 5, 224, 112,
+ 242, 147, 39, 89, 5, 232, 82, 222, 192, 39, 89, 5, 234, 216, 235, 77, 39,
+ 89, 38, 249, 178, 247, 195, 39, 89, 241, 151, 21, 212, 79, 39, 89, 241,
+ 151, 21, 118, 39, 89, 241, 151, 21, 112, 39, 89, 241, 151, 21, 170, 39,
+ 89, 241, 151, 21, 167, 39, 89, 241, 151, 21, 185, 39, 89, 241, 151, 21,
+ 192, 39, 89, 241, 151, 21, 200, 39, 89, 241, 151, 21, 198, 39, 89, 241,
+ 151, 21, 203, 39, 89, 89, 21, 212, 79, 39, 89, 89, 21, 118, 39, 89, 89,
+ 21, 112, 39, 89, 89, 21, 170, 39, 89, 89, 21, 167, 39, 89, 89, 21, 185,
+ 39, 89, 89, 21, 192, 39, 89, 89, 21, 200, 39, 89, 89, 21, 198, 39, 89,
+ 89, 21, 203, 39, 89, 5, 213, 237, 39, 89, 5, 213, 236, 39, 89, 5, 222,
+ 156, 39, 89, 5, 235, 22, 39, 89, 5, 241, 81, 39, 89, 5, 247, 209, 39, 89,
+ 5, 223, 236, 223, 123, 224, 76, 39, 89, 5, 232, 82, 213, 63, 39, 89, 5,
+ 235, 124, 39, 89, 5, 235, 123, 39, 89, 5, 222, 163, 39, 89, 5, 222, 162,
+ 39, 89, 5, 242, 112, 39, 89, 5, 251, 85, 101, 5, 215, 176, 223, 217, 101,
+ 5, 215, 176, 251, 57, 101, 5, 250, 243, 101, 5, 218, 229, 101, 5, 252,
+ 25, 101, 1, 254, 219, 101, 1, 254, 220, 217, 234, 101, 1, 236, 141, 101,
+ 1, 236, 142, 217, 234, 101, 1, 215, 179, 101, 1, 215, 180, 217, 234, 101,
+ 1, 224, 112, 224, 7, 101, 1, 224, 112, 224, 8, 217, 234, 101, 1, 234, 0,
+ 233, 146, 101, 1, 234, 0, 233, 147, 217, 234, 101, 1, 246, 1, 101, 1,
+ 254, 234, 101, 1, 227, 115, 101, 1, 227, 116, 217, 234, 101, 1, 183, 101,
+ 1, 235, 131, 232, 85, 101, 1, 243, 230, 101, 1, 243, 231, 243, 1, 101, 1,
+ 229, 226, 101, 1, 251, 88, 101, 1, 251, 89, 233, 244, 101, 1, 236, 0,
+ 101, 1, 236, 1, 235, 234, 101, 1, 228, 64, 101, 1, 218, 67, 233, 198,
+ 101, 1, 218, 67, 230, 207, 232, 85, 101, 1, 249, 31, 230, 207, 254, 181,
+ 101, 1, 249, 31, 230, 207, 232, 85, 101, 1, 230, 115, 224, 79, 101, 1,
+ 218, 66, 101, 1, 218, 67, 217, 255, 101, 1, 249, 30, 101, 1, 249, 31,
+ 232, 103, 101, 1, 207, 101, 1, 195, 101, 1, 226, 252, 235, 88, 101, 1,
+ 252, 234, 101, 1, 252, 235, 235, 34, 101, 1, 191, 101, 1, 189, 101, 1,
+ 208, 101, 1, 233, 255, 101, 1, 214, 52, 101, 1, 222, 228, 222, 214, 101,
+ 1, 222, 228, 222, 173, 101, 1, 222, 227, 101, 1, 162, 101, 5, 224, 0,
+ 101, 30, 5, 217, 234, 101, 30, 5, 215, 175, 101, 30, 5, 215, 176, 222,
+ 169, 101, 30, 5, 219, 6, 101, 30, 5, 219, 7, 236, 133, 101, 30, 5, 224,
+ 112, 224, 7, 101, 30, 5, 224, 112, 224, 8, 217, 234, 101, 30, 5, 234, 0,
+ 233, 146, 101, 30, 5, 234, 0, 233, 147, 217, 234, 101, 30, 5, 218, 29,
+ 101, 30, 5, 218, 30, 224, 7, 101, 30, 5, 218, 30, 217, 234, 101, 30, 5,
+ 218, 30, 224, 8, 217, 234, 101, 30, 5, 226, 95, 101, 30, 5, 226, 96, 217,
+ 234, 101, 255, 27, 255, 26, 101, 1, 235, 113, 222, 168, 101, 1, 234, 221,
+ 222, 168, 101, 1, 216, 7, 222, 168, 101, 1, 246, 25, 222, 168, 101, 1,
+ 214, 238, 222, 168, 101, 1, 212, 100, 222, 168, 101, 1, 253, 252, 222,
+ 168, 101, 21, 212, 79, 101, 21, 118, 101, 21, 112, 101, 21, 170, 101, 21,
+ 167, 101, 21, 185, 101, 21, 192, 101, 21, 200, 101, 21, 198, 101, 21,
+ 203, 101, 226, 194, 101, 226, 219, 101, 213, 226, 101, 251, 36, 226, 212,
+ 101, 251, 36, 220, 117, 101, 251, 36, 226, 167, 101, 226, 218, 101, 27,
+ 16, 247, 201, 101, 27, 16, 248, 123, 101, 27, 16, 246, 140, 101, 27, 16,
+ 248, 243, 101, 27, 16, 248, 244, 218, 229, 101, 27, 16, 248, 22, 101, 27,
+ 16, 249, 23, 101, 27, 16, 248, 105, 101, 27, 16, 249, 9, 101, 27, 16,
+ 248, 244, 243, 153, 101, 27, 16, 38, 217, 230, 101, 27, 16, 38, 245, 220,
+ 101, 27, 16, 38, 235, 29, 101, 27, 16, 38, 235, 31, 101, 27, 16, 38, 235,
+ 238, 101, 27, 16, 38, 235, 30, 2, 235, 238, 101, 27, 16, 38, 235, 32, 2,
+ 235, 238, 101, 27, 16, 38, 252, 84, 101, 27, 16, 38, 243, 5, 101, 27, 16,
+ 223, 180, 210, 246, 150, 101, 27, 16, 223, 180, 210, 249, 21, 101, 27,
+ 16, 223, 180, 250, 60, 216, 83, 101, 27, 16, 223, 180, 250, 60, 218, 36,
+ 101, 27, 16, 233, 166, 210, 226, 207, 101, 27, 16, 233, 166, 210, 225,
+ 61, 101, 27, 16, 233, 166, 250, 60, 225, 206, 101, 27, 16, 233, 166, 250,
+ 60, 225, 196, 101, 27, 16, 233, 166, 210, 225, 229, 218, 251, 5, 226,
+ 191, 218, 251, 5, 226, 203, 218, 251, 5, 226, 200, 218, 251, 1, 63, 218,
+ 251, 1, 75, 218, 251, 1, 72, 218, 251, 1, 255, 20, 218, 251, 1, 78, 218,
+ 251, 1, 77, 218, 251, 1, 245, 143, 218, 251, 1, 183, 218, 251, 1, 225,
+ 11, 218, 251, 1, 243, 230, 218, 251, 1, 229, 226, 218, 251, 1, 251, 88,
+ 218, 251, 1, 236, 0, 218, 251, 1, 212, 109, 218, 251, 1, 228, 64, 218,
+ 251, 1, 218, 66, 218, 251, 1, 249, 30, 218, 251, 1, 207, 218, 251, 1,
+ 195, 218, 251, 1, 245, 29, 218, 251, 1, 215, 8, 218, 251, 1, 252, 234,
+ 218, 251, 1, 191, 218, 251, 1, 189, 218, 251, 1, 208, 218, 251, 1, 233,
+ 255, 218, 251, 1, 214, 52, 218, 251, 1, 222, 227, 218, 251, 1, 213, 156,
+ 218, 251, 1, 162, 218, 251, 120, 5, 226, 216, 218, 251, 120, 5, 226, 193,
+ 218, 251, 120, 5, 226, 190, 218, 251, 30, 5, 226, 206, 218, 251, 30, 5,
+ 226, 189, 218, 251, 30, 5, 226, 210, 218, 251, 30, 5, 226, 199, 218, 251,
+ 30, 5, 226, 217, 218, 251, 30, 5, 226, 208, 218, 251, 5, 226, 220, 218,
+ 251, 1, 234, 250, 218, 251, 1, 218, 190, 218, 251, 21, 212, 79, 218, 251,
+ 21, 118, 218, 251, 21, 112, 218, 251, 21, 170, 218, 251, 21, 167, 218,
+ 251, 21, 185, 218, 251, 21, 192, 218, 251, 21, 200, 218, 251, 21, 198,
+ 218, 251, 21, 203, 252, 166, 1, 63, 252, 166, 1, 220, 109, 63, 252, 166,
+ 1, 162, 252, 166, 1, 220, 109, 162, 252, 166, 1, 232, 59, 162, 252, 166,
+ 1, 252, 234, 252, 166, 1, 235, 74, 252, 234, 252, 166, 1, 195, 252, 166,
+ 1, 220, 109, 195, 252, 166, 1, 207, 252, 166, 1, 232, 59, 207, 252, 166,
+ 1, 214, 52, 252, 166, 1, 220, 109, 214, 52, 252, 166, 1, 226, 231, 214,
+ 52, 252, 166, 1, 243, 230, 252, 166, 1, 220, 109, 243, 230, 252, 166, 1,
+ 236, 0, 252, 166, 1, 249, 30, 252, 166, 1, 208, 252, 166, 1, 220, 109,
+ 208, 252, 166, 1, 191, 252, 166, 1, 220, 109, 191, 252, 166, 1, 219, 232,
+ 218, 66, 252, 166, 1, 228, 209, 218, 66, 252, 166, 1, 222, 227, 252, 166,
+ 1, 220, 109, 222, 227, 252, 166, 1, 232, 59, 222, 227, 252, 166, 1, 189,
+ 252, 166, 1, 220, 109, 189, 252, 166, 1, 229, 226, 252, 166, 1, 233, 255,
+ 252, 166, 1, 220, 109, 233, 255, 252, 166, 1, 228, 64, 252, 166, 1, 251,
+ 88, 252, 166, 1, 230, 39, 252, 166, 1, 232, 1, 252, 166, 1, 75, 252, 166,
+ 1, 72, 252, 166, 5, 217, 1, 252, 166, 30, 5, 77, 252, 166, 30, 5, 226,
+ 231, 77, 252, 166, 30, 5, 246, 30, 252, 166, 30, 5, 75, 252, 166, 30, 5,
+ 235, 74, 75, 252, 166, 30, 5, 78, 252, 166, 30, 5, 235, 74, 78, 252, 166,
+ 30, 5, 72, 252, 166, 30, 5, 103, 31, 220, 109, 222, 227, 252, 166, 120,
+ 5, 229, 228, 252, 166, 120, 5, 242, 162, 252, 166, 226, 202, 252, 166,
+ 226, 198, 252, 166, 16, 252, 33, 230, 115, 231, 174, 252, 166, 16, 252,
+ 33, 225, 232, 252, 166, 16, 252, 33, 235, 165, 252, 166, 16, 252, 33,
+ 226, 202, 186, 1, 183, 186, 1, 234, 159, 186, 1, 234, 250, 186, 1, 243,
+ 230, 186, 1, 243, 26, 186, 1, 229, 226, 186, 1, 251, 88, 186, 1, 250,
+ 215, 186, 1, 236, 0, 186, 1, 228, 64, 186, 1, 218, 66, 186, 1, 217, 174,
+ 186, 1, 249, 30, 186, 1, 207, 186, 1, 195, 186, 1, 225, 210, 186, 1, 226,
+ 59, 186, 1, 245, 29, 186, 1, 244, 164, 186, 1, 252, 234, 186, 1, 252, 14,
+ 186, 1, 191, 186, 1, 231, 51, 186, 1, 216, 154, 186, 1, 216, 146, 186, 1,
+ 246, 114, 186, 1, 189, 186, 1, 208, 186, 1, 233, 255, 186, 1, 162, 186,
+ 1, 242, 2, 186, 1, 215, 8, 186, 1, 222, 227, 186, 1, 221, 47, 186, 1,
+ 214, 52, 186, 1, 63, 186, 219, 32, 1, 189, 186, 219, 32, 1, 208, 186, 30,
+ 5, 255, 104, 186, 30, 5, 75, 186, 30, 5, 78, 186, 30, 5, 227, 86, 186,
+ 30, 5, 72, 186, 30, 5, 215, 98, 186, 30, 5, 77, 186, 120, 5, 235, 141,
+ 186, 120, 5, 184, 186, 120, 5, 155, 186, 120, 5, 206, 186, 120, 5, 227,
+ 11, 186, 120, 5, 152, 186, 120, 5, 218, 113, 186, 120, 5, 228, 43, 186,
+ 120, 5, 235, 92, 186, 5, 224, 77, 186, 5, 228, 103, 186, 225, 63, 218,
+ 65, 186, 225, 63, 228, 52, 217, 87, 218, 65, 186, 225, 63, 250, 221, 186,
+ 225, 63, 216, 141, 250, 221, 186, 225, 63, 216, 140, 186, 21, 212, 79,
+ 186, 21, 118, 186, 21, 112, 186, 21, 170, 186, 21, 167, 186, 21, 185,
+ 186, 21, 192, 186, 21, 200, 186, 21, 198, 186, 21, 203, 186, 1, 216, 128,
+ 186, 1, 216, 116, 186, 1, 248, 207, 227, 113, 250, 163, 21, 212, 79, 227,
+ 113, 250, 163, 21, 118, 227, 113, 250, 163, 21, 112, 227, 113, 250, 163,
+ 21, 170, 227, 113, 250, 163, 21, 167, 227, 113, 250, 163, 21, 185, 227,
+ 113, 250, 163, 21, 192, 227, 113, 250, 163, 21, 200, 227, 113, 250, 163,
+ 21, 198, 227, 113, 250, 163, 21, 203, 227, 113, 250, 163, 1, 233, 255,
+ 227, 113, 250, 163, 1, 253, 249, 227, 113, 250, 163, 1, 254, 249, 227,
+ 113, 250, 163, 1, 254, 151, 227, 113, 250, 163, 1, 254, 213, 227, 113,
+ 250, 163, 1, 233, 254, 227, 113, 250, 163, 1, 255, 66, 227, 113, 250,
+ 163, 1, 255, 67, 227, 113, 250, 163, 1, 255, 65, 227, 113, 250, 163, 1,
+ 255, 61, 227, 113, 250, 163, 1, 233, 111, 227, 113, 250, 163, 1, 236, 30,
+ 227, 113, 250, 163, 1, 236, 146, 227, 113, 250, 163, 1, 236, 49, 227,
+ 113, 250, 163, 1, 236, 38, 227, 113, 250, 163, 1, 232, 230, 227, 113,
+ 250, 163, 1, 215, 196, 227, 113, 250, 163, 1, 215, 194, 227, 113, 250,
+ 163, 1, 215, 145, 227, 113, 250, 163, 1, 215, 91, 227, 113, 250, 163, 1,
+ 233, 180, 227, 113, 250, 163, 1, 245, 191, 227, 113, 250, 163, 1, 246,
+ 33, 227, 113, 250, 163, 1, 245, 229, 227, 113, 250, 163, 1, 245, 170,
+ 227, 113, 250, 163, 1, 233, 26, 227, 113, 250, 163, 1, 227, 43, 227, 113,
+ 250, 163, 1, 227, 153, 227, 113, 250, 163, 1, 227, 31, 227, 113, 250,
+ 163, 1, 227, 125, 227, 113, 250, 163, 230, 243, 216, 93, 227, 113, 250,
+ 163, 243, 225, 216, 94, 227, 113, 250, 163, 230, 241, 216, 94, 227, 113,
+ 250, 163, 224, 20, 227, 113, 250, 163, 226, 57, 227, 113, 250, 163, 254,
+ 241, 227, 113, 250, 163, 225, 63, 230, 238, 227, 113, 250, 163, 225, 63,
+ 52, 230, 238, 214, 234, 161, 235, 72, 214, 234, 161, 221, 22, 214, 234,
+ 161, 225, 114, 214, 234, 5, 229, 104, 214, 234, 5, 213, 71, 231, 105,
+ 218, 215, 214, 234, 161, 213, 71, 254, 246, 236, 101, 218, 215, 214, 234,
+ 161, 213, 71, 236, 101, 218, 215, 214, 234, 161, 213, 71, 235, 60, 236,
+ 101, 218, 215, 214, 234, 161, 251, 58, 55, 214, 234, 161, 213, 71, 235,
+ 60, 236, 101, 218, 216, 222, 138, 214, 234, 161, 52, 218, 215, 214, 234,
+ 161, 216, 182, 218, 215, 214, 234, 161, 235, 60, 254, 115, 214, 234, 161,
+ 62, 55, 214, 234, 161, 119, 181, 55, 214, 234, 161, 137, 181, 55, 214,
+ 234, 161, 223, 171, 235, 71, 236, 101, 218, 215, 214, 234, 161, 253, 247,
+ 236, 101, 218, 215, 214, 234, 5, 214, 133, 218, 215, 214, 234, 5, 214,
+ 133, 215, 191, 214, 234, 5, 223, 236, 214, 133, 215, 191, 214, 234, 5,
+ 214, 133, 254, 115, 214, 234, 5, 223, 236, 214, 133, 254, 115, 214, 234,
+ 5, 214, 133, 215, 192, 2, 218, 40, 214, 234, 5, 214, 133, 254, 116, 2,
+ 218, 40, 214, 234, 5, 254, 114, 254, 129, 214, 234, 5, 254, 114, 252,
+ 212, 214, 234, 5, 254, 114, 215, 2, 214, 234, 5, 254, 114, 215, 3, 2,
+ 218, 40, 214, 234, 5, 217, 35, 214, 234, 5, 242, 39, 187, 254, 113, 214,
+ 234, 5, 187, 254, 113, 214, 234, 5, 223, 79, 187, 254, 113, 214, 234, 5,
+ 254, 114, 215, 198, 230, 230, 214, 234, 5, 254, 61, 7, 1, 4, 6, 63, 7, 1,
+ 4, 6, 255, 20, 7, 4, 1, 216, 66, 255, 20, 7, 1, 4, 6, 252, 180, 253, 201,
+ 7, 1, 4, 6, 251, 121, 7, 1, 4, 6, 249, 125, 7, 1, 4, 6, 245, 146, 7, 1,
+ 4, 6, 77, 7, 4, 1, 216, 66, 210, 77, 7, 4, 1, 216, 66, 75, 7, 1, 4, 6,
+ 236, 3, 7, 1, 4, 6, 235, 141, 7, 1, 4, 6, 234, 13, 2, 91, 7, 1, 4, 6,
+ 184, 7, 1, 4, 6, 223, 236, 206, 7, 1, 4, 6, 78, 7, 1, 4, 6, 210, 78, 7,
+ 4, 1, 220, 132, 78, 7, 4, 1, 220, 132, 210, 78, 7, 4, 1, 220, 132, 141,
+ 2, 91, 7, 4, 1, 216, 66, 227, 136, 7, 1, 4, 6, 227, 40, 7, 4, 1, 216,
+ 240, 157, 78, 7, 4, 1, 251, 226, 157, 78, 7, 1, 4, 6, 227, 11, 7, 1, 4,
+ 6, 223, 236, 152, 7, 1, 4, 6, 216, 66, 152, 7, 1, 4, 6, 218, 113, 7, 1,
+ 4, 6, 72, 7, 4, 1, 220, 132, 72, 7, 4, 1, 220, 132, 248, 73, 72, 7, 4, 1,
+ 220, 132, 216, 66, 184, 7, 1, 4, 6, 211, 211, 7, 1, 4, 6, 214, 85, 7, 1,
+ 4, 6, 212, 152, 7, 1, 4, 6, 245, 97, 7, 1, 214, 120, 233, 204, 219, 201,
+ 7, 1, 254, 231, 25, 1, 4, 6, 243, 203, 25, 1, 4, 6, 233, 220, 25, 1, 4,
+ 6, 226, 20, 25, 1, 4, 6, 223, 224, 25, 1, 4, 6, 225, 82, 33, 1, 4, 6,
+ 245, 252, 59, 1, 6, 63, 59, 1, 6, 255, 20, 59, 1, 6, 253, 201, 59, 1, 6,
+ 252, 180, 253, 201, 59, 1, 6, 249, 125, 59, 1, 6, 77, 59, 1, 6, 223, 236,
+ 77, 59, 1, 6, 244, 41, 59, 1, 6, 242, 162, 59, 1, 6, 75, 59, 1, 6, 236,
+ 3, 59, 1, 6, 235, 141, 59, 1, 6, 155, 59, 1, 6, 184, 59, 1, 6, 206, 59,
+ 1, 6, 223, 236, 206, 59, 1, 6, 78, 59, 1, 6, 227, 40, 59, 1, 6, 227, 11,
+ 59, 1, 6, 152, 59, 1, 6, 218, 113, 59, 1, 6, 72, 59, 1, 6, 214, 85, 59,
+ 1, 4, 63, 59, 1, 4, 216, 66, 63, 59, 1, 4, 254, 179, 59, 1, 4, 216, 66,
+ 255, 20, 59, 1, 4, 253, 201, 59, 1, 4, 249, 125, 59, 1, 4, 77, 59, 1, 4,
+ 222, 136, 59, 1, 4, 210, 77, 59, 1, 4, 216, 66, 210, 77, 59, 1, 4, 244,
+ 41, 59, 1, 4, 216, 66, 75, 59, 1, 4, 235, 141, 59, 1, 4, 184, 59, 1, 4,
+ 245, 217, 59, 1, 4, 78, 59, 1, 4, 210, 78, 59, 1, 4, 216, 240, 157, 78,
+ 59, 1, 4, 251, 226, 157, 78, 59, 1, 4, 227, 11, 59, 1, 4, 218, 113, 59,
+ 1, 4, 72, 59, 1, 4, 220, 132, 72, 59, 1, 4, 216, 66, 184, 59, 1, 4, 211,
+ 211, 59, 1, 4, 254, 231, 59, 1, 4, 252, 73, 59, 1, 4, 25, 243, 203, 59,
+ 1, 4, 248, 126, 59, 1, 4, 25, 226, 45, 59, 1, 4, 250, 170, 7, 219, 24, 4,
+ 1, 75, 7, 219, 24, 4, 1, 152, 7, 219, 24, 4, 1, 72, 7, 219, 24, 4, 1,
+ 211, 211, 25, 219, 24, 4, 1, 252, 73, 25, 219, 24, 4, 1, 243, 203, 25,
+ 219, 24, 4, 1, 223, 224, 25, 219, 24, 4, 1, 226, 45, 25, 219, 24, 4, 1,
+ 250, 170, 7, 4, 1, 215, 189, 7, 4, 1, 57, 2, 231, 107, 177, 7, 4, 1, 249,
+ 126, 2, 231, 107, 177, 7, 4, 1, 245, 96, 2, 231, 107, 177, 7, 4, 1, 232,
+ 183, 2, 231, 107, 177, 7, 4, 1, 230, 167, 2, 231, 107, 177, 7, 4, 1, 227,
+ 12, 2, 231, 107, 177, 7, 4, 1, 224, 148, 2, 231, 107, 177, 7, 4, 1, 224,
+ 148, 2, 244, 177, 22, 231, 107, 177, 7, 4, 1, 223, 29, 2, 231, 107, 177,
+ 7, 4, 1, 218, 114, 2, 231, 107, 177, 7, 4, 1, 212, 153, 2, 231, 107, 177,
+ 7, 4, 1, 216, 66, 244, 41, 59, 1, 33, 245, 229, 7, 4, 1, 236, 71, 244,
+ 41, 7, 4, 1, 217, 177, 2, 219, 61, 7, 4, 6, 1, 241, 7, 2, 91, 7, 4, 1,
+ 236, 45, 2, 91, 7, 4, 1, 227, 12, 2, 91, 7, 4, 6, 1, 103, 2, 91, 7, 4, 1,
+ 215, 135, 2, 91, 7, 4, 1, 57, 2, 226, 230, 102, 7, 4, 1, 249, 126, 2,
+ 226, 230, 102, 7, 4, 1, 245, 96, 2, 226, 230, 102, 7, 4, 1, 244, 42, 2,
+ 226, 230, 102, 7, 4, 1, 235, 142, 2, 226, 230, 102, 7, 4, 1, 234, 13, 2,
+ 226, 230, 102, 7, 4, 1, 232, 183, 2, 226, 230, 102, 7, 4, 1, 230, 167, 2,
+ 226, 230, 102, 7, 4, 1, 227, 12, 2, 226, 230, 102, 7, 4, 1, 224, 148, 2,
+ 226, 230, 102, 7, 4, 1, 223, 29, 2, 226, 230, 102, 7, 4, 1, 245, 162, 2,
+ 226, 230, 102, 7, 4, 1, 215, 86, 2, 226, 230, 102, 7, 4, 1, 213, 170, 2,
+ 226, 230, 102, 7, 4, 1, 212, 153, 2, 226, 230, 102, 7, 4, 1, 111, 2, 223,
+ 241, 102, 7, 4, 1, 254, 180, 2, 223, 241, 102, 7, 4, 1, 249, 126, 2, 241,
+ 157, 22, 218, 40, 7, 4, 1, 154, 2, 223, 241, 102, 7, 4, 1, 210, 154, 2,
+ 223, 241, 102, 7, 4, 1, 223, 236, 210, 154, 2, 223, 241, 102, 7, 4, 1,
+ 222, 137, 2, 223, 241, 102, 7, 4, 1, 241, 7, 2, 223, 241, 102, 7, 4, 1,
+ 210, 141, 2, 223, 241, 102, 7, 4, 1, 245, 162, 2, 223, 241, 102, 7, 4, 1,
+ 103, 2, 223, 241, 102, 7, 4, 1, 245, 98, 2, 223, 241, 102, 59, 1, 4, 216,
+ 66, 254, 179, 59, 1, 4, 251, 121, 59, 1, 4, 251, 122, 2, 249, 164, 59, 1,
+ 4, 245, 146, 59, 1, 4, 223, 236, 210, 77, 59, 1, 4, 245, 95, 59, 1, 4,
+ 247, 194, 236, 4, 2, 91, 59, 1, 4, 115, 244, 41, 59, 1, 4, 216, 66, 242,
+ 162, 59, 1, 4, 241, 7, 2, 91, 59, 1, 4, 236, 44, 59, 1, 4, 6, 75, 59, 1,
+ 4, 6, 241, 7, 2, 91, 59, 1, 4, 236, 4, 2, 249, 190, 59, 1, 4, 234, 13, 2,
+ 223, 241, 102, 59, 1, 4, 234, 13, 2, 226, 230, 102, 59, 1, 4, 6, 155, 59,
+ 1, 4, 232, 183, 2, 102, 59, 1, 4, 216, 66, 232, 183, 2, 187, 233, 158,
+ 59, 1, 4, 230, 167, 2, 43, 102, 59, 1, 4, 230, 167, 2, 223, 241, 102, 59,
+ 1, 4, 6, 206, 59, 1, 4, 252, 180, 78, 59, 1, 4, 226, 45, 59, 1, 4, 223,
+ 29, 2, 102, 59, 1, 4, 245, 161, 59, 1, 4, 218, 114, 2, 226, 230, 102, 59,
+ 1, 4, 103, 134, 59, 1, 4, 215, 134, 59, 1, 4, 6, 72, 59, 1, 4, 215, 86,
+ 2, 102, 59, 1, 4, 216, 66, 211, 211, 59, 1, 4, 212, 152, 59, 1, 4, 212,
+ 153, 2, 223, 241, 102, 59, 1, 4, 212, 153, 2, 249, 164, 59, 1, 4, 245,
+ 97, 59, 1, 4, 217, 145, 38, 246, 193, 242, 234, 255, 46, 38, 246, 193,
+ 255, 36, 255, 46, 38, 220, 16, 55, 38, 218, 221, 79, 38, 232, 109, 38,
+ 242, 232, 38, 232, 107, 38, 255, 34, 38, 242, 233, 38, 255, 35, 38, 7, 4,
+ 1, 224, 148, 55, 38, 251, 198, 38, 232, 108, 38, 52, 250, 91, 50, 38,
+ 227, 128, 50, 38, 212, 28, 55, 38, 236, 31, 55, 38, 215, 128, 50, 38,
+ 215, 111, 50, 38, 7, 4, 1, 244, 152, 210, 111, 50, 38, 7, 4, 1, 255, 20,
+ 38, 7, 4, 1, 254, 111, 38, 7, 4, 1, 253, 219, 38, 7, 4, 1, 251, 122, 250,
+ 240, 38, 7, 4, 1, 236, 71, 249, 125, 38, 7, 4, 1, 245, 146, 38, 7, 4, 1,
+ 244, 41, 38, 7, 1, 4, 6, 244, 41, 38, 7, 4, 1, 235, 141, 38, 7, 4, 1,
+ 155, 38, 7, 1, 4, 6, 155, 38, 7, 1, 4, 6, 184, 38, 7, 4, 1, 206, 38, 7,
+ 1, 4, 6, 206, 38, 7, 1, 4, 6, 152, 38, 7, 4, 1, 224, 148, 223, 122, 38,
+ 7, 4, 1, 196, 38, 7, 4, 1, 187, 196, 38, 7, 4, 1, 212, 152, 38, 52, 236,
+ 52, 251, 200, 55, 38, 254, 184, 126, 217, 10, 55, 38, 43, 254, 36, 50,
+ 38, 47, 254, 36, 22, 121, 254, 36, 55, 7, 6, 1, 111, 2, 223, 165, 55, 7,
+ 4, 1, 111, 2, 223, 165, 55, 7, 6, 1, 57, 2, 62, 50, 7, 4, 1, 57, 2, 62,
+ 50, 7, 6, 1, 57, 2, 62, 55, 7, 4, 1, 57, 2, 62, 55, 7, 6, 1, 57, 2, 233,
+ 84, 55, 7, 4, 1, 57, 2, 233, 84, 55, 7, 6, 1, 251, 122, 2, 250, 241, 22,
+ 138, 7, 4, 1, 251, 122, 2, 250, 241, 22, 138, 7, 6, 1, 249, 126, 2, 62,
+ 50, 7, 4, 1, 249, 126, 2, 62, 50, 7, 6, 1, 249, 126, 2, 62, 55, 7, 4, 1,
+ 249, 126, 2, 62, 55, 7, 6, 1, 249, 126, 2, 233, 84, 55, 7, 4, 1, 249,
+ 126, 2, 233, 84, 55, 7, 6, 1, 249, 126, 2, 250, 240, 7, 4, 1, 249, 126,
+ 2, 250, 240, 7, 6, 1, 249, 126, 2, 250, 91, 55, 7, 4, 1, 249, 126, 2,
+ 250, 91, 55, 7, 6, 1, 154, 2, 232, 111, 22, 209, 7, 4, 1, 154, 2, 232,
+ 111, 22, 209, 7, 6, 1, 154, 2, 232, 111, 22, 138, 7, 4, 1, 154, 2, 232,
+ 111, 22, 138, 7, 6, 1, 154, 2, 250, 91, 55, 7, 4, 1, 154, 2, 250, 91, 55,
+ 7, 6, 1, 154, 2, 217, 56, 55, 7, 4, 1, 154, 2, 217, 56, 55, 7, 6, 1, 154,
+ 2, 250, 241, 22, 251, 199, 7, 4, 1, 154, 2, 250, 241, 22, 251, 199, 7, 6,
+ 1, 245, 96, 2, 62, 50, 7, 4, 1, 245, 96, 2, 62, 50, 7, 6, 1, 244, 42, 2,
+ 232, 110, 7, 4, 1, 244, 42, 2, 232, 110, 7, 6, 1, 242, 163, 2, 62, 50, 7,
+ 4, 1, 242, 163, 2, 62, 50, 7, 6, 1, 242, 163, 2, 62, 55, 7, 4, 1, 242,
+ 163, 2, 62, 55, 7, 6, 1, 242, 163, 2, 248, 74, 7, 4, 1, 242, 163, 2, 248,
+ 74, 7, 6, 1, 242, 163, 2, 250, 240, 7, 4, 1, 242, 163, 2, 250, 240, 7, 6,
+ 1, 242, 163, 2, 251, 200, 55, 7, 4, 1, 242, 163, 2, 251, 200, 55, 7, 6,
+ 1, 241, 7, 2, 217, 56, 55, 7, 4, 1, 241, 7, 2, 217, 56, 55, 7, 6, 1, 241,
+ 7, 2, 248, 75, 22, 138, 7, 4, 1, 241, 7, 2, 248, 75, 22, 138, 7, 6, 1,
+ 235, 142, 2, 138, 7, 4, 1, 235, 142, 2, 138, 7, 6, 1, 235, 142, 2, 62,
+ 55, 7, 4, 1, 235, 142, 2, 62, 55, 7, 6, 1, 235, 142, 2, 233, 84, 55, 7,
+ 4, 1, 235, 142, 2, 233, 84, 55, 7, 6, 1, 234, 13, 2, 62, 55, 7, 4, 1,
+ 234, 13, 2, 62, 55, 7, 6, 1, 234, 13, 2, 62, 252, 90, 22, 232, 110, 7, 4,
+ 1, 234, 13, 2, 62, 252, 90, 22, 232, 110, 7, 6, 1, 234, 13, 2, 233, 84,
+ 55, 7, 4, 1, 234, 13, 2, 233, 84, 55, 7, 6, 1, 234, 13, 2, 250, 91, 55,
+ 7, 4, 1, 234, 13, 2, 250, 91, 55, 7, 6, 1, 232, 183, 2, 138, 7, 4, 1,
+ 232, 183, 2, 138, 7, 6, 1, 232, 183, 2, 62, 50, 7, 4, 1, 232, 183, 2, 62,
+ 50, 7, 6, 1, 232, 183, 2, 62, 55, 7, 4, 1, 232, 183, 2, 62, 55, 7, 6, 1,
+ 230, 167, 2, 62, 50, 7, 4, 1, 230, 167, 2, 62, 50, 7, 6, 1, 230, 167, 2,
+ 62, 55, 7, 4, 1, 230, 167, 2, 62, 55, 7, 6, 1, 230, 167, 2, 233, 84, 55,
+ 7, 4, 1, 230, 167, 2, 233, 84, 55, 7, 6, 1, 230, 167, 2, 250, 91, 55, 7,
+ 4, 1, 230, 167, 2, 250, 91, 55, 7, 6, 1, 141, 2, 217, 56, 22, 138, 7, 4,
+ 1, 141, 2, 217, 56, 22, 138, 7, 6, 1, 141, 2, 217, 56, 22, 248, 74, 7, 4,
+ 1, 141, 2, 217, 56, 22, 248, 74, 7, 6, 1, 141, 2, 232, 111, 22, 209, 7,
+ 4, 1, 141, 2, 232, 111, 22, 209, 7, 6, 1, 141, 2, 232, 111, 22, 138, 7,
+ 4, 1, 141, 2, 232, 111, 22, 138, 7, 6, 1, 227, 12, 2, 138, 7, 4, 1, 227,
+ 12, 2, 138, 7, 6, 1, 227, 12, 2, 62, 50, 7, 4, 1, 227, 12, 2, 62, 50, 7,
+ 6, 1, 224, 148, 2, 62, 50, 7, 4, 1, 224, 148, 2, 62, 50, 7, 6, 1, 224,
+ 148, 2, 62, 55, 7, 4, 1, 224, 148, 2, 62, 55, 7, 6, 1, 224, 148, 2, 62,
+ 252, 90, 22, 232, 110, 7, 4, 1, 224, 148, 2, 62, 252, 90, 22, 232, 110,
+ 7, 6, 1, 224, 148, 2, 233, 84, 55, 7, 4, 1, 224, 148, 2, 233, 84, 55, 7,
+ 6, 1, 223, 29, 2, 62, 50, 7, 4, 1, 223, 29, 2, 62, 50, 7, 6, 1, 223, 29,
+ 2, 62, 55, 7, 4, 1, 223, 29, 2, 62, 55, 7, 6, 1, 223, 29, 2, 255, 36, 22,
+ 62, 50, 7, 4, 1, 223, 29, 2, 255, 36, 22, 62, 50, 7, 6, 1, 223, 29, 2,
+ 251, 35, 22, 62, 50, 7, 4, 1, 223, 29, 2, 251, 35, 22, 62, 50, 7, 6, 1,
+ 223, 29, 2, 62, 252, 90, 22, 62, 50, 7, 4, 1, 223, 29, 2, 62, 252, 90,
+ 22, 62, 50, 7, 6, 1, 218, 114, 2, 62, 50, 7, 4, 1, 218, 114, 2, 62, 50,
+ 7, 6, 1, 218, 114, 2, 62, 55, 7, 4, 1, 218, 114, 2, 62, 55, 7, 6, 1, 218,
+ 114, 2, 233, 84, 55, 7, 4, 1, 218, 114, 2, 233, 84, 55, 7, 6, 1, 218,
+ 114, 2, 250, 91, 55, 7, 4, 1, 218, 114, 2, 250, 91, 55, 7, 6, 1, 103, 2,
+ 248, 75, 55, 7, 4, 1, 103, 2, 248, 75, 55, 7, 6, 1, 103, 2, 217, 56, 55,
+ 7, 4, 1, 103, 2, 217, 56, 55, 7, 6, 1, 103, 2, 250, 91, 55, 7, 4, 1, 103,
+ 2, 250, 91, 55, 7, 6, 1, 103, 2, 217, 56, 22, 138, 7, 4, 1, 103, 2, 217,
+ 56, 22, 138, 7, 6, 1, 103, 2, 232, 111, 22, 248, 74, 7, 4, 1, 103, 2,
+ 232, 111, 22, 248, 74, 7, 6, 1, 215, 86, 2, 177, 7, 4, 1, 215, 86, 2,
+ 177, 7, 6, 1, 215, 86, 2, 62, 55, 7, 4, 1, 215, 86, 2, 62, 55, 7, 6, 1,
+ 214, 86, 2, 209, 7, 4, 1, 214, 86, 2, 209, 7, 6, 1, 214, 86, 2, 138, 7,
+ 4, 1, 214, 86, 2, 138, 7, 6, 1, 214, 86, 2, 248, 74, 7, 4, 1, 214, 86, 2,
+ 248, 74, 7, 6, 1, 214, 86, 2, 62, 50, 7, 4, 1, 214, 86, 2, 62, 50, 7, 6,
+ 1, 214, 86, 2, 62, 55, 7, 4, 1, 214, 86, 2, 62, 55, 7, 6, 1, 213, 170, 2,
+ 62, 50, 7, 4, 1, 213, 170, 2, 62, 50, 7, 6, 1, 213, 170, 2, 248, 74, 7,
+ 4, 1, 213, 170, 2, 248, 74, 7, 6, 1, 213, 109, 2, 62, 50, 7, 4, 1, 213,
+ 109, 2, 62, 50, 7, 6, 1, 212, 153, 2, 250, 90, 7, 4, 1, 212, 153, 2, 250,
+ 90, 7, 6, 1, 212, 153, 2, 62, 55, 7, 4, 1, 212, 153, 2, 62, 55, 7, 6, 1,
+ 212, 153, 2, 233, 84, 55, 7, 4, 1, 212, 153, 2, 233, 84, 55, 7, 4, 1,
+ 242, 163, 2, 233, 84, 55, 7, 4, 1, 218, 114, 2, 248, 74, 7, 4, 1, 214,
+ 86, 2, 223, 165, 50, 7, 4, 1, 213, 109, 2, 223, 165, 50, 7, 4, 1, 111, 2,
+ 47, 157, 223, 164, 7, 4, 1, 187, 223, 29, 2, 62, 50, 7, 4, 1, 187, 223,
+ 29, 2, 248, 72, 91, 7, 4, 1, 187, 223, 29, 2, 127, 91, 7, 6, 1, 221, 21,
+ 196, 7, 4, 1, 248, 126, 7, 6, 1, 111, 2, 62, 55, 7, 4, 1, 111, 2, 62, 55,
+ 7, 6, 1, 111, 2, 241, 157, 50, 7, 4, 1, 111, 2, 241, 157, 50, 7, 6, 1,
+ 111, 2, 250, 91, 22, 138, 7, 4, 1, 111, 2, 250, 91, 22, 138, 7, 6, 1,
+ 111, 2, 250, 91, 22, 209, 7, 4, 1, 111, 2, 250, 91, 22, 209, 7, 6, 1,
+ 111, 2, 250, 91, 22, 241, 157, 50, 7, 4, 1, 111, 2, 250, 91, 22, 241,
+ 157, 50, 7, 6, 1, 111, 2, 250, 91, 22, 177, 7, 4, 1, 111, 2, 250, 91, 22,
+ 177, 7, 6, 1, 111, 2, 250, 91, 22, 62, 55, 7, 4, 1, 111, 2, 250, 91, 22,
+ 62, 55, 7, 6, 1, 111, 2, 251, 200, 22, 138, 7, 4, 1, 111, 2, 251, 200,
+ 22, 138, 7, 6, 1, 111, 2, 251, 200, 22, 209, 7, 4, 1, 111, 2, 251, 200,
+ 22, 209, 7, 6, 1, 111, 2, 251, 200, 22, 241, 157, 50, 7, 4, 1, 111, 2,
+ 251, 200, 22, 241, 157, 50, 7, 6, 1, 111, 2, 251, 200, 22, 177, 7, 4, 1,
+ 111, 2, 251, 200, 22, 177, 7, 6, 1, 111, 2, 251, 200, 22, 62, 55, 7, 4,
+ 1, 111, 2, 251, 200, 22, 62, 55, 7, 6, 1, 154, 2, 62, 55, 7, 4, 1, 154,
+ 2, 62, 55, 7, 6, 1, 154, 2, 241, 157, 50, 7, 4, 1, 154, 2, 241, 157, 50,
+ 7, 6, 1, 154, 2, 177, 7, 4, 1, 154, 2, 177, 7, 6, 1, 154, 2, 250, 91, 22,
+ 138, 7, 4, 1, 154, 2, 250, 91, 22, 138, 7, 6, 1, 154, 2, 250, 91, 22,
+ 209, 7, 4, 1, 154, 2, 250, 91, 22, 209, 7, 6, 1, 154, 2, 250, 91, 22,
+ 241, 157, 50, 7, 4, 1, 154, 2, 250, 91, 22, 241, 157, 50, 7, 6, 1, 154,
+ 2, 250, 91, 22, 177, 7, 4, 1, 154, 2, 250, 91, 22, 177, 7, 6, 1, 154, 2,
+ 250, 91, 22, 62, 55, 7, 4, 1, 154, 2, 250, 91, 22, 62, 55, 7, 6, 1, 241,
+ 7, 2, 241, 157, 50, 7, 4, 1, 241, 7, 2, 241, 157, 50, 7, 6, 1, 241, 7, 2,
+ 62, 55, 7, 4, 1, 241, 7, 2, 62, 55, 7, 6, 1, 141, 2, 62, 55, 7, 4, 1,
+ 141, 2, 62, 55, 7, 6, 1, 141, 2, 241, 157, 50, 7, 4, 1, 141, 2, 241, 157,
+ 50, 7, 6, 1, 141, 2, 250, 91, 22, 138, 7, 4, 1, 141, 2, 250, 91, 22, 138,
+ 7, 6, 1, 141, 2, 250, 91, 22, 209, 7, 4, 1, 141, 2, 250, 91, 22, 209, 7,
+ 6, 1, 141, 2, 250, 91, 22, 241, 157, 50, 7, 4, 1, 141, 2, 250, 91, 22,
+ 241, 157, 50, 7, 6, 1, 141, 2, 250, 91, 22, 177, 7, 4, 1, 141, 2, 250,
+ 91, 22, 177, 7, 6, 1, 141, 2, 250, 91, 22, 62, 55, 7, 4, 1, 141, 2, 250,
+ 91, 22, 62, 55, 7, 6, 1, 141, 2, 241, 98, 22, 138, 7, 4, 1, 141, 2, 241,
+ 98, 22, 138, 7, 6, 1, 141, 2, 241, 98, 22, 209, 7, 4, 1, 141, 2, 241, 98,
+ 22, 209, 7, 6, 1, 141, 2, 241, 98, 22, 241, 157, 50, 7, 4, 1, 141, 2,
+ 241, 98, 22, 241, 157, 50, 7, 6, 1, 141, 2, 241, 98, 22, 177, 7, 4, 1,
+ 141, 2, 241, 98, 22, 177, 7, 6, 1, 141, 2, 241, 98, 22, 62, 55, 7, 4, 1,
+ 141, 2, 241, 98, 22, 62, 55, 7, 6, 1, 103, 2, 62, 55, 7, 4, 1, 103, 2,
+ 62, 55, 7, 6, 1, 103, 2, 241, 157, 50, 7, 4, 1, 103, 2, 241, 157, 50, 7,
+ 6, 1, 103, 2, 241, 98, 22, 138, 7, 4, 1, 103, 2, 241, 98, 22, 138, 7, 6,
+ 1, 103, 2, 241, 98, 22, 209, 7, 4, 1, 103, 2, 241, 98, 22, 209, 7, 6, 1,
+ 103, 2, 241, 98, 22, 241, 157, 50, 7, 4, 1, 103, 2, 241, 98, 22, 241,
+ 157, 50, 7, 6, 1, 103, 2, 241, 98, 22, 177, 7, 4, 1, 103, 2, 241, 98, 22,
+ 177, 7, 6, 1, 103, 2, 241, 98, 22, 62, 55, 7, 4, 1, 103, 2, 241, 98, 22,
+ 62, 55, 7, 6, 1, 213, 109, 2, 209, 7, 4, 1, 213, 109, 2, 209, 7, 6, 1,
+ 213, 109, 2, 62, 55, 7, 4, 1, 213, 109, 2, 62, 55, 7, 6, 1, 213, 109, 2,
+ 241, 157, 50, 7, 4, 1, 213, 109, 2, 241, 157, 50, 7, 6, 1, 213, 109, 2,
+ 177, 7, 4, 1, 213, 109, 2, 177, 7, 6, 1, 231, 106, 233, 55, 7, 4, 1, 231,
+ 106, 233, 55, 7, 6, 1, 231, 106, 211, 211, 7, 4, 1, 231, 106, 211, 211,
+ 7, 6, 1, 213, 109, 2, 232, 251, 7, 4, 1, 213, 109, 2, 232, 251, 25, 4, 1,
+ 254, 180, 2, 225, 75, 25, 4, 1, 254, 180, 2, 248, 220, 25, 4, 1, 254,
+ 180, 2, 225, 76, 22, 214, 251, 25, 4, 1, 254, 180, 2, 248, 221, 22, 214,
+ 251, 25, 4, 1, 254, 180, 2, 225, 76, 22, 227, 16, 25, 4, 1, 254, 180, 2,
+ 248, 221, 22, 227, 16, 25, 4, 1, 254, 180, 2, 225, 76, 22, 226, 86, 25,
+ 4, 1, 254, 180, 2, 248, 221, 22, 226, 86, 25, 6, 1, 254, 180, 2, 225, 75,
+ 25, 6, 1, 254, 180, 2, 248, 220, 25, 6, 1, 254, 180, 2, 225, 76, 22, 214,
+ 251, 25, 6, 1, 254, 180, 2, 248, 221, 22, 214, 251, 25, 6, 1, 254, 180,
+ 2, 225, 76, 22, 227, 16, 25, 6, 1, 254, 180, 2, 248, 221, 22, 227, 16,
+ 25, 6, 1, 254, 180, 2, 225, 76, 22, 226, 86, 25, 6, 1, 254, 180, 2, 248,
+ 221, 22, 226, 86, 25, 4, 1, 245, 185, 2, 225, 75, 25, 4, 1, 245, 185, 2,
+ 248, 220, 25, 4, 1, 245, 185, 2, 225, 76, 22, 214, 251, 25, 4, 1, 245,
+ 185, 2, 248, 221, 22, 214, 251, 25, 4, 1, 245, 185, 2, 225, 76, 22, 227,
+ 16, 25, 4, 1, 245, 185, 2, 248, 221, 22, 227, 16, 25, 6, 1, 245, 185, 2,
+ 225, 75, 25, 6, 1, 245, 185, 2, 248, 220, 25, 6, 1, 245, 185, 2, 225, 76,
+ 22, 214, 251, 25, 6, 1, 245, 185, 2, 248, 221, 22, 214, 251, 25, 6, 1,
+ 245, 185, 2, 225, 76, 22, 227, 16, 25, 6, 1, 245, 185, 2, 248, 221, 22,
+ 227, 16, 25, 4, 1, 245, 150, 2, 225, 75, 25, 4, 1, 245, 150, 2, 248, 220,
+ 25, 4, 1, 245, 150, 2, 225, 76, 22, 214, 251, 25, 4, 1, 245, 150, 2, 248,
+ 221, 22, 214, 251, 25, 4, 1, 245, 150, 2, 225, 76, 22, 227, 16, 25, 4, 1,
+ 245, 150, 2, 248, 221, 22, 227, 16, 25, 4, 1, 245, 150, 2, 225, 76, 22,
+ 226, 86, 25, 4, 1, 245, 150, 2, 248, 221, 22, 226, 86, 25, 6, 1, 245,
+ 150, 2, 225, 75, 25, 6, 1, 245, 150, 2, 248, 220, 25, 6, 1, 245, 150, 2,
+ 225, 76, 22, 214, 251, 25, 6, 1, 245, 150, 2, 248, 221, 22, 214, 251, 25,
+ 6, 1, 245, 150, 2, 225, 76, 22, 227, 16, 25, 6, 1, 245, 150, 2, 248, 221,
+ 22, 227, 16, 25, 6, 1, 245, 150, 2, 225, 76, 22, 226, 86, 25, 6, 1, 245,
+ 150, 2, 248, 221, 22, 226, 86, 25, 4, 1, 236, 45, 2, 225, 75, 25, 4, 1,
+ 236, 45, 2, 248, 220, 25, 4, 1, 236, 45, 2, 225, 76, 22, 214, 251, 25, 4,
+ 1, 236, 45, 2, 248, 221, 22, 214, 251, 25, 4, 1, 236, 45, 2, 225, 76, 22,
+ 227, 16, 25, 4, 1, 236, 45, 2, 248, 221, 22, 227, 16, 25, 4, 1, 236, 45,
+ 2, 225, 76, 22, 226, 86, 25, 4, 1, 236, 45, 2, 248, 221, 22, 226, 86, 25,
+ 6, 1, 236, 45, 2, 225, 75, 25, 6, 1, 236, 45, 2, 248, 220, 25, 6, 1, 236,
+ 45, 2, 225, 76, 22, 214, 251, 25, 6, 1, 236, 45, 2, 248, 221, 22, 214,
+ 251, 25, 6, 1, 236, 45, 2, 225, 76, 22, 227, 16, 25, 6, 1, 236, 45, 2,
+ 248, 221, 22, 227, 16, 25, 6, 1, 236, 45, 2, 225, 76, 22, 226, 86, 25, 6,
+ 1, 236, 45, 2, 248, 221, 22, 226, 86, 25, 4, 1, 227, 103, 2, 225, 75, 25,
+ 4, 1, 227, 103, 2, 248, 220, 25, 4, 1, 227, 103, 2, 225, 76, 22, 214,
+ 251, 25, 4, 1, 227, 103, 2, 248, 221, 22, 214, 251, 25, 4, 1, 227, 103,
+ 2, 225, 76, 22, 227, 16, 25, 4, 1, 227, 103, 2, 248, 221, 22, 227, 16,
+ 25, 6, 1, 227, 103, 2, 225, 75, 25, 6, 1, 227, 103, 2, 248, 220, 25, 6,
+ 1, 227, 103, 2, 225, 76, 22, 214, 251, 25, 6, 1, 227, 103, 2, 248, 221,
+ 22, 214, 251, 25, 6, 1, 227, 103, 2, 225, 76, 22, 227, 16, 25, 6, 1, 227,
+ 103, 2, 248, 221, 22, 227, 16, 25, 4, 1, 215, 135, 2, 225, 75, 25, 4, 1,
+ 215, 135, 2, 248, 220, 25, 4, 1, 215, 135, 2, 225, 76, 22, 214, 251, 25,
+ 4, 1, 215, 135, 2, 248, 221, 22, 214, 251, 25, 4, 1, 215, 135, 2, 225,
+ 76, 22, 227, 16, 25, 4, 1, 215, 135, 2, 248, 221, 22, 227, 16, 25, 4, 1,
+ 215, 135, 2, 225, 76, 22, 226, 86, 25, 4, 1, 215, 135, 2, 248, 221, 22,
+ 226, 86, 25, 6, 1, 215, 135, 2, 248, 220, 25, 6, 1, 215, 135, 2, 248,
+ 221, 22, 214, 251, 25, 6, 1, 215, 135, 2, 248, 221, 22, 227, 16, 25, 6,
+ 1, 215, 135, 2, 248, 221, 22, 226, 86, 25, 4, 1, 227, 105, 2, 225, 75,
+ 25, 4, 1, 227, 105, 2, 248, 220, 25, 4, 1, 227, 105, 2, 225, 76, 22, 214,
+ 251, 25, 4, 1, 227, 105, 2, 248, 221, 22, 214, 251, 25, 4, 1, 227, 105,
+ 2, 225, 76, 22, 227, 16, 25, 4, 1, 227, 105, 2, 248, 221, 22, 227, 16,
+ 25, 4, 1, 227, 105, 2, 225, 76, 22, 226, 86, 25, 4, 1, 227, 105, 2, 248,
+ 221, 22, 226, 86, 25, 6, 1, 227, 105, 2, 225, 75, 25, 6, 1, 227, 105, 2,
+ 248, 220, 25, 6, 1, 227, 105, 2, 225, 76, 22, 214, 251, 25, 6, 1, 227,
+ 105, 2, 248, 221, 22, 214, 251, 25, 6, 1, 227, 105, 2, 225, 76, 22, 227,
+ 16, 25, 6, 1, 227, 105, 2, 248, 221, 22, 227, 16, 25, 6, 1, 227, 105, 2,
+ 225, 76, 22, 226, 86, 25, 6, 1, 227, 105, 2, 248, 221, 22, 226, 86, 25,
+ 4, 1, 254, 180, 2, 214, 251, 25, 4, 1, 254, 180, 2, 227, 16, 25, 4, 1,
+ 245, 185, 2, 214, 251, 25, 4, 1, 245, 185, 2, 227, 16, 25, 4, 1, 245,
+ 150, 2, 214, 251, 25, 4, 1, 245, 150, 2, 227, 16, 25, 4, 1, 236, 45, 2,
+ 214, 251, 25, 4, 1, 236, 45, 2, 227, 16, 25, 4, 1, 227, 103, 2, 214, 251,
+ 25, 4, 1, 227, 103, 2, 227, 16, 25, 4, 1, 215, 135, 2, 214, 251, 25, 4,
+ 1, 215, 135, 2, 227, 16, 25, 4, 1, 227, 105, 2, 214, 251, 25, 4, 1, 227,
+ 105, 2, 227, 16, 25, 4, 1, 254, 180, 2, 225, 76, 22, 212, 211, 25, 4, 1,
+ 254, 180, 2, 248, 221, 22, 212, 211, 25, 4, 1, 254, 180, 2, 225, 76, 22,
+ 214, 252, 22, 212, 211, 25, 4, 1, 254, 180, 2, 248, 221, 22, 214, 252,
+ 22, 212, 211, 25, 4, 1, 254, 180, 2, 225, 76, 22, 227, 17, 22, 212, 211,
+ 25, 4, 1, 254, 180, 2, 248, 221, 22, 227, 17, 22, 212, 211, 25, 4, 1,
+ 254, 180, 2, 225, 76, 22, 226, 87, 22, 212, 211, 25, 4, 1, 254, 180, 2,
+ 248, 221, 22, 226, 87, 22, 212, 211, 25, 6, 1, 254, 180, 2, 225, 76, 22,
+ 225, 87, 25, 6, 1, 254, 180, 2, 248, 221, 22, 225, 87, 25, 6, 1, 254,
+ 180, 2, 225, 76, 22, 214, 252, 22, 225, 87, 25, 6, 1, 254, 180, 2, 248,
+ 221, 22, 214, 252, 22, 225, 87, 25, 6, 1, 254, 180, 2, 225, 76, 22, 227,
+ 17, 22, 225, 87, 25, 6, 1, 254, 180, 2, 248, 221, 22, 227, 17, 22, 225,
+ 87, 25, 6, 1, 254, 180, 2, 225, 76, 22, 226, 87, 22, 225, 87, 25, 6, 1,
+ 254, 180, 2, 248, 221, 22, 226, 87, 22, 225, 87, 25, 4, 1, 245, 150, 2,
+ 225, 76, 22, 212, 211, 25, 4, 1, 245, 150, 2, 248, 221, 22, 212, 211, 25,
+ 4, 1, 245, 150, 2, 225, 76, 22, 214, 252, 22, 212, 211, 25, 4, 1, 245,
+ 150, 2, 248, 221, 22, 214, 252, 22, 212, 211, 25, 4, 1, 245, 150, 2, 225,
+ 76, 22, 227, 17, 22, 212, 211, 25, 4, 1, 245, 150, 2, 248, 221, 22, 227,
+ 17, 22, 212, 211, 25, 4, 1, 245, 150, 2, 225, 76, 22, 226, 87, 22, 212,
+ 211, 25, 4, 1, 245, 150, 2, 248, 221, 22, 226, 87, 22, 212, 211, 25, 6,
+ 1, 245, 150, 2, 225, 76, 22, 225, 87, 25, 6, 1, 245, 150, 2, 248, 221,
+ 22, 225, 87, 25, 6, 1, 245, 150, 2, 225, 76, 22, 214, 252, 22, 225, 87,
+ 25, 6, 1, 245, 150, 2, 248, 221, 22, 214, 252, 22, 225, 87, 25, 6, 1,
+ 245, 150, 2, 225, 76, 22, 227, 17, 22, 225, 87, 25, 6, 1, 245, 150, 2,
+ 248, 221, 22, 227, 17, 22, 225, 87, 25, 6, 1, 245, 150, 2, 225, 76, 22,
+ 226, 87, 22, 225, 87, 25, 6, 1, 245, 150, 2, 248, 221, 22, 226, 87, 22,
+ 225, 87, 25, 4, 1, 227, 105, 2, 225, 76, 22, 212, 211, 25, 4, 1, 227,
+ 105, 2, 248, 221, 22, 212, 211, 25, 4, 1, 227, 105, 2, 225, 76, 22, 214,
+ 252, 22, 212, 211, 25, 4, 1, 227, 105, 2, 248, 221, 22, 214, 252, 22,
+ 212, 211, 25, 4, 1, 227, 105, 2, 225, 76, 22, 227, 17, 22, 212, 211, 25,
+ 4, 1, 227, 105, 2, 248, 221, 22, 227, 17, 22, 212, 211, 25, 4, 1, 227,
+ 105, 2, 225, 76, 22, 226, 87, 22, 212, 211, 25, 4, 1, 227, 105, 2, 248,
+ 221, 22, 226, 87, 22, 212, 211, 25, 6, 1, 227, 105, 2, 225, 76, 22, 225,
+ 87, 25, 6, 1, 227, 105, 2, 248, 221, 22, 225, 87, 25, 6, 1, 227, 105, 2,
+ 225, 76, 22, 214, 252, 22, 225, 87, 25, 6, 1, 227, 105, 2, 248, 221, 22,
+ 214, 252, 22, 225, 87, 25, 6, 1, 227, 105, 2, 225, 76, 22, 227, 17, 22,
+ 225, 87, 25, 6, 1, 227, 105, 2, 248, 221, 22, 227, 17, 22, 225, 87, 25,
+ 6, 1, 227, 105, 2, 225, 76, 22, 226, 87, 22, 225, 87, 25, 6, 1, 227, 105,
+ 2, 248, 221, 22, 226, 87, 22, 225, 87, 25, 4, 1, 254, 180, 2, 214, 105,
+ 25, 4, 1, 254, 180, 2, 232, 110, 25, 4, 1, 254, 180, 2, 214, 252, 22,
+ 212, 211, 25, 4, 1, 254, 180, 2, 212, 211, 25, 4, 1, 254, 180, 2, 227,
+ 17, 22, 212, 211, 25, 4, 1, 254, 180, 2, 226, 86, 25, 4, 1, 254, 180, 2,
+ 226, 87, 22, 212, 211, 25, 6, 1, 254, 180, 2, 214, 105, 25, 6, 1, 254,
+ 180, 2, 232, 110, 25, 6, 1, 254, 180, 2, 214, 251, 25, 6, 1, 254, 180, 2,
+ 227, 16, 25, 6, 1, 254, 180, 2, 225, 87, 25, 234, 122, 25, 225, 87, 25,
+ 225, 75, 25, 226, 86, 25, 248, 69, 22, 226, 86, 25, 4, 1, 245, 150, 2,
+ 214, 252, 22, 212, 211, 25, 4, 1, 245, 150, 2, 212, 211, 25, 4, 1, 245,
+ 150, 2, 227, 17, 22, 212, 211, 25, 4, 1, 245, 150, 2, 226, 86, 25, 4, 1,
+ 245, 150, 2, 226, 87, 22, 212, 211, 25, 6, 1, 245, 185, 2, 214, 251, 25,
+ 6, 1, 245, 185, 2, 227, 16, 25, 6, 1, 245, 150, 2, 214, 251, 25, 6, 1,
+ 245, 150, 2, 227, 16, 25, 6, 1, 245, 150, 2, 225, 87, 25, 225, 76, 22,
+ 214, 251, 25, 225, 76, 22, 227, 16, 25, 225, 76, 22, 226, 86, 25, 4, 1,
+ 236, 45, 2, 214, 105, 25, 4, 1, 236, 45, 2, 232, 110, 25, 4, 1, 236, 45,
+ 2, 248, 69, 22, 214, 251, 25, 4, 1, 236, 45, 2, 248, 69, 22, 227, 16, 25,
+ 4, 1, 236, 45, 2, 226, 86, 25, 4, 1, 236, 45, 2, 248, 69, 22, 226, 86,
+ 25, 6, 1, 236, 45, 2, 214, 105, 25, 6, 1, 236, 45, 2, 232, 110, 25, 6, 1,
+ 236, 45, 2, 214, 251, 25, 6, 1, 236, 45, 2, 227, 16, 25, 248, 221, 22,
+ 214, 251, 25, 248, 221, 22, 227, 16, 25, 248, 221, 22, 226, 86, 25, 4, 1,
+ 215, 135, 2, 214, 105, 25, 4, 1, 215, 135, 2, 232, 110, 25, 4, 1, 215,
+ 135, 2, 248, 69, 22, 214, 251, 25, 4, 1, 215, 135, 2, 248, 69, 22, 227,
+ 16, 25, 4, 1, 223, 225, 2, 225, 75, 25, 4, 1, 223, 225, 2, 248, 220, 25,
+ 4, 1, 215, 135, 2, 226, 86, 25, 4, 1, 215, 135, 2, 248, 69, 22, 226, 86,
+ 25, 6, 1, 215, 135, 2, 214, 105, 25, 6, 1, 215, 135, 2, 232, 110, 25, 6,
+ 1, 215, 135, 2, 214, 251, 25, 6, 1, 215, 135, 2, 227, 16, 25, 6, 1, 223,
+ 225, 2, 248, 220, 25, 248, 69, 22, 214, 251, 25, 248, 69, 22, 227, 16,
+ 25, 214, 251, 25, 4, 1, 227, 105, 2, 214, 252, 22, 212, 211, 25, 4, 1,
+ 227, 105, 2, 212, 211, 25, 4, 1, 227, 105, 2, 227, 17, 22, 212, 211, 25,
+ 4, 1, 227, 105, 2, 226, 86, 25, 4, 1, 227, 105, 2, 226, 87, 22, 212, 211,
+ 25, 6, 1, 227, 103, 2, 214, 251, 25, 6, 1, 227, 103, 2, 227, 16, 25, 6,
+ 1, 227, 105, 2, 214, 251, 25, 6, 1, 227, 105, 2, 227, 16, 25, 6, 1, 227,
+ 105, 2, 225, 87, 25, 227, 16, 25, 248, 220, 245, 230, 224, 207, 245, 239,
+ 224, 207, 245, 230, 219, 225, 245, 239, 219, 225, 217, 108, 219, 225,
+ 244, 99, 219, 225, 220, 70, 219, 225, 244, 201, 219, 225, 225, 63, 219,
+ 225, 217, 136, 219, 225, 242, 137, 219, 225, 212, 80, 213, 233, 219, 225,
+ 212, 80, 213, 233, 228, 221, 212, 80, 213, 233, 235, 180, 233, 160, 79,
+ 223, 174, 79, 241, 21, 228, 222, 241, 21, 244, 201, 248, 223, 245, 230,
+ 248, 223, 245, 239, 248, 223, 201, 134, 52, 66, 233, 83, 52, 117, 233,
+ 83, 43, 220, 100, 224, 178, 79, 47, 220, 100, 224, 178, 79, 220, 100,
+ 232, 238, 224, 178, 79, 220, 100, 242, 12, 224, 178, 79, 43, 52, 224,
+ 178, 79, 47, 52, 224, 178, 79, 52, 232, 238, 224, 178, 79, 52, 242, 12,
+ 224, 178, 79, 249, 15, 52, 249, 15, 251, 167, 216, 193, 251, 167, 124,
+ 62, 233, 178, 119, 62, 233, 178, 201, 245, 241, 241, 19, 225, 180, 233,
+ 84, 221, 80, 226, 180, 221, 80, 233, 160, 245, 237, 223, 174, 245, 237,
+ 225, 162, 248, 13, 244, 108, 233, 160, 227, 23, 223, 174, 227, 23, 230,
+ 82, 228, 227, 219, 225, 226, 94, 231, 76, 53, 226, 94, 217, 214, 217,
+ 114, 53, 225, 107, 52, 225, 107, 216, 182, 225, 107, 223, 236, 225, 107,
+ 223, 236, 52, 225, 107, 223, 236, 216, 182, 225, 107, 251, 38, 220, 100,
+ 233, 164, 254, 146, 224, 178, 79, 220, 100, 223, 178, 254, 146, 224, 178,
+ 79, 224, 34, 79, 52, 245, 119, 79, 236, 59, 227, 25, 215, 156, 143, 217,
+ 78, 251, 39, 236, 74, 225, 180, 254, 1, 241, 22, 251, 167, 244, 92, 220,
+ 42, 43, 42, 251, 210, 2, 224, 187, 47, 42, 251, 210, 2, 224, 187, 52,
+ 224, 193, 79, 224, 193, 245, 119, 79, 245, 119, 224, 193, 79, 217, 37, 5,
+ 245, 151, 223, 236, 225, 236, 53, 85, 135, 251, 167, 85, 96, 251, 167,
+ 117, 254, 3, 223, 236, 221, 93, 250, 61, 215, 140, 119, 254, 2, 254, 194,
+ 214, 170, 250, 22, 231, 65, 53, 218, 193, 248, 223, 236, 52, 215, 156,
+ 244, 141, 225, 63, 79, 137, 62, 225, 62, 224, 204, 225, 107, 244, 101,
+ 62, 225, 62, 244, 170, 62, 225, 62, 119, 62, 225, 62, 244, 101, 62, 79,
+ 246, 193, 249, 193, 216, 192, 66, 244, 101, 247, 193, 231, 217, 14, 219,
+ 225, 213, 199, 235, 180, 244, 62, 254, 93, 236, 50, 217, 52, 236, 50,
+ 221, 80, 236, 50, 225, 192, 236, 86, 218, 141, 218, 210, 255, 38, 218,
+ 141, 218, 210, 236, 86, 12, 244, 109, 221, 25, 255, 38, 12, 244, 109,
+ 221, 25, 230, 78, 21, 221, 26, 228, 223, 21, 221, 26, 218, 237, 212, 79,
+ 218, 237, 7, 4, 1, 75, 218, 237, 167, 218, 237, 185, 218, 237, 192, 218,
+ 237, 200, 218, 237, 198, 218, 237, 203, 218, 237, 95, 53, 218, 237, 231,
+ 64, 218, 237, 245, 182, 53, 218, 237, 43, 226, 168, 218, 237, 47, 226,
+ 168, 218, 237, 7, 4, 1, 206, 219, 24, 212, 79, 219, 24, 118, 219, 24,
+ 112, 219, 24, 170, 219, 24, 167, 219, 24, 185, 219, 24, 192, 219, 24,
+ 200, 219, 24, 198, 219, 24, 203, 219, 24, 95, 53, 219, 24, 231, 64, 219,
+ 24, 245, 182, 53, 219, 24, 43, 226, 168, 219, 24, 47, 226, 168, 7, 219,
+ 24, 4, 1, 63, 7, 219, 24, 4, 1, 77, 7, 219, 24, 4, 1, 78, 7, 219, 24, 4,
+ 1, 213, 169, 7, 219, 24, 4, 1, 222, 136, 7, 219, 24, 4, 1, 242, 162, 7,
+ 219, 24, 4, 1, 235, 141, 7, 219, 24, 4, 1, 155, 7, 219, 24, 4, 1, 184, 7,
+ 219, 24, 4, 1, 206, 7, 219, 24, 4, 1, 227, 11, 7, 219, 24, 4, 1, 196, 7,
+ 219, 24, 4, 1, 218, 113, 245, 134, 53, 250, 31, 53, 249, 180, 53, 244,
+ 85, 244, 88, 53, 233, 68, 53, 231, 77, 53, 230, 97, 53, 226, 74, 53, 223,
+ 55, 53, 213, 207, 53, 163, 220, 250, 53, 247, 202, 53, 245, 135, 53, 234,
+ 196, 53, 216, 84, 53, 246, 176, 53, 243, 136, 226, 104, 53, 226, 72, 53,
+ 242, 209, 53, 253, 225, 53, 241, 77, 53, 250, 242, 53, 233, 61, 216, 229,
+ 53, 219, 207, 53, 217, 211, 53, 236, 99, 223, 55, 53, 38, 43, 242, 102,
+ 50, 38, 47, 242, 102, 50, 38, 187, 66, 233, 84, 227, 26, 38, 220, 196,
+ 66, 233, 84, 227, 26, 38, 254, 126, 80, 50, 38, 250, 62, 80, 50, 38, 43,
+ 80, 50, 38, 47, 80, 50, 38, 223, 165, 227, 26, 38, 250, 62, 223, 165,
+ 227, 26, 38, 254, 126, 223, 165, 227, 26, 38, 137, 181, 50, 38, 244, 101,
+ 181, 50, 38, 245, 225, 250, 95, 38, 245, 225, 219, 185, 38, 245, 225,
+ 248, 65, 38, 245, 225, 250, 96, 252, 224, 38, 43, 47, 80, 50, 38, 245,
+ 225, 222, 130, 38, 245, 225, 234, 253, 38, 245, 225, 215, 132, 225, 177,
+ 216, 196, 38, 223, 237, 219, 251, 227, 26, 38, 52, 66, 219, 59, 227, 26,
+ 38, 254, 136, 88, 38, 216, 182, 215, 158, 38, 213, 235, 251, 193, 50, 38,
+ 135, 80, 227, 26, 38, 187, 52, 219, 251, 227, 26, 38, 96, 242, 102, 2,
+ 252, 185, 246, 178, 38, 135, 242, 102, 2, 252, 185, 246, 178, 38, 43, 80,
+ 55, 38, 47, 80, 55, 38, 254, 4, 50, 255, 43, 227, 134, 255, 28, 217, 10,
+ 217, 162, 219, 33, 190, 6, 251, 121, 248, 143, 250, 235, 250, 232, 233,
+ 84, 88, 251, 40, 227, 134, 251, 81, 215, 165, 245, 136, 249, 253, 222,
+ 127, 248, 143, 245, 12, 115, 4, 244, 41, 115, 6, 242, 162, 252, 11, 6,
+ 242, 162, 190, 6, 242, 162, 225, 205, 249, 253, 225, 205, 249, 254, 113,
+ 119, 226, 20, 115, 6, 75, 252, 11, 6, 75, 115, 6, 155, 115, 4, 155, 234,
+ 13, 57, 252, 187, 88, 190, 6, 206, 228, 95, 53, 219, 237, 224, 46, 249,
+ 224, 115, 6, 227, 11, 190, 6, 227, 11, 190, 6, 225, 19, 115, 6, 152, 252,
+ 11, 6, 152, 190, 6, 152, 225, 112, 218, 34, 223, 248, 221, 76, 79, 217,
+ 223, 53, 216, 223, 156, 53, 214, 222, 190, 6, 212, 152, 227, 39, 53, 227,
+ 124, 53, 236, 52, 227, 124, 53, 252, 11, 6, 212, 152, 216, 66, 25, 4, 1,
+ 236, 44, 235, 35, 53, 254, 143, 53, 115, 6, 253, 201, 252, 11, 6, 251,
+ 121, 245, 154, 88, 115, 4, 77, 115, 6, 77, 115, 6, 245, 95, 216, 66, 6,
+ 245, 95, 115, 6, 184, 115, 4, 78, 108, 88, 252, 76, 88, 243, 42, 88, 249,
+ 1, 88, 236, 90, 219, 235, 223, 123, 6, 225, 19, 245, 15, 53, 190, 4, 226,
+ 20, 190, 4, 243, 203, 190, 6, 243, 203, 190, 6, 226, 20, 190, 230, 166,
+ 218, 255, 216, 66, 35, 6, 244, 41, 216, 66, 35, 6, 155, 223, 236, 35, 6,
+ 155, 216, 66, 35, 6, 213, 108, 190, 32, 6, 249, 125, 190, 32, 4, 249,
+ 125, 190, 32, 4, 77, 190, 32, 4, 75, 190, 32, 4, 236, 3, 225, 90, 233,
+ 83, 216, 66, 254, 162, 226, 94, 53, 254, 215, 216, 66, 4, 245, 95, 16,
+ 31, 222, 191, 219, 235, 214, 101, 244, 92, 124, 221, 62, 214, 101, 244,
+ 92, 124, 229, 89, 214, 101, 244, 92, 124, 217, 207, 214, 101, 244, 92,
+ 124, 217, 134, 214, 101, 244, 92, 119, 217, 132, 214, 101, 244, 92, 124,
+ 244, 206, 214, 101, 244, 92, 119, 244, 205, 214, 101, 244, 92, 137, 244,
+ 205, 214, 101, 244, 92, 244, 101, 244, 205, 214, 101, 244, 92, 124, 220,
+ 62, 214, 101, 244, 92, 244, 170, 220, 60, 214, 101, 244, 92, 124, 246,
+ 10, 214, 101, 244, 92, 137, 246, 8, 214, 101, 244, 92, 244, 170, 246, 8,
+ 214, 101, 244, 92, 221, 66, 246, 8, 244, 92, 228, 96, 118, 223, 134, 228,
+ 97, 118, 223, 134, 228, 97, 112, 223, 134, 228, 97, 170, 223, 134, 228,
+ 97, 167, 223, 134, 228, 97, 185, 223, 134, 228, 97, 192, 223, 134, 228,
+ 97, 200, 223, 134, 228, 97, 198, 223, 134, 228, 97, 203, 223, 134, 228,
+ 97, 217, 213, 223, 134, 228, 97, 245, 245, 223, 134, 228, 97, 216, 48,
+ 223, 134, 228, 97, 244, 203, 223, 134, 228, 97, 124, 241, 62, 223, 134,
+ 228, 97, 244, 170, 241, 62, 223, 134, 228, 97, 124, 217, 113, 4, 223,
+ 134, 228, 97, 118, 4, 223, 134, 228, 97, 112, 4, 223, 134, 228, 97, 170,
+ 4, 223, 134, 228, 97, 167, 4, 223, 134, 228, 97, 185, 4, 223, 134, 228,
+ 97, 192, 4, 223, 134, 228, 97, 200, 4, 223, 134, 228, 97, 198, 4, 223,
+ 134, 228, 97, 203, 4, 223, 134, 228, 97, 217, 213, 4, 223, 134, 228, 97,
+ 245, 245, 4, 223, 134, 228, 97, 216, 48, 4, 223, 134, 228, 97, 244, 203,
+ 4, 223, 134, 228, 97, 124, 241, 62, 4, 223, 134, 228, 97, 244, 170, 241,
+ 62, 4, 223, 134, 228, 97, 124, 217, 113, 223, 134, 228, 97, 124, 217,
+ 114, 251, 122, 249, 125, 223, 134, 228, 97, 244, 170, 217, 113, 223, 134,
+ 228, 97, 217, 214, 217, 113, 223, 134, 228, 97, 223, 236, 124, 241, 62,
+ 7, 4, 1, 223, 236, 251, 121, 223, 134, 228, 97, 220, 72, 233, 200, 17,
+ 223, 134, 228, 97, 244, 204, 246, 47, 17, 223, 134, 228, 97, 244, 204,
+ 217, 113, 223, 134, 228, 97, 124, 241, 63, 217, 113, 214, 101, 244, 92,
+ 212, 80, 217, 132, 135, 71, 215, 130, 71, 96, 71, 246, 179, 71, 43, 47,
+ 71, 116, 121, 71, 228, 210, 213, 253, 71, 228, 210, 246, 41, 71, 219,
+ 234, 246, 41, 71, 219, 234, 213, 253, 71, 135, 80, 2, 91, 96, 80, 2, 91,
+ 135, 214, 23, 71, 96, 214, 23, 71, 135, 119, 242, 81, 71, 215, 130, 119,
+ 242, 81, 71, 96, 119, 242, 81, 71, 246, 179, 119, 242, 81, 71, 135, 80,
+ 2, 218, 40, 96, 80, 2, 218, 40, 135, 80, 244, 77, 134, 215, 130, 80, 244,
+ 77, 134, 96, 80, 244, 77, 134, 246, 179, 80, 244, 77, 134, 116, 121, 80,
+ 2, 252, 173, 135, 80, 2, 102, 96, 80, 2, 102, 135, 80, 2, 232, 251, 96,
+ 80, 2, 232, 251, 43, 47, 214, 23, 71, 43, 47, 80, 2, 91, 246, 179, 212,
+ 28, 71, 215, 130, 80, 2, 217, 44, 233, 159, 215, 130, 80, 2, 217, 44,
+ 223, 172, 246, 179, 80, 2, 217, 44, 233, 159, 246, 179, 80, 2, 217, 44,
+ 223, 172, 96, 80, 2, 249, 223, 246, 178, 246, 179, 80, 2, 249, 223, 233,
+ 159, 254, 126, 216, 240, 221, 96, 71, 250, 62, 216, 240, 221, 96, 71,
+ 228, 210, 213, 253, 80, 217, 10, 187, 134, 135, 80, 217, 10, 252, 187,
+ 113, 96, 80, 217, 10, 134, 254, 126, 210, 250, 96, 71, 250, 62, 210, 250,
+ 96, 71, 135, 242, 102, 2, 252, 185, 215, 129, 135, 242, 102, 2, 252, 185,
+ 246, 178, 215, 130, 242, 102, 2, 252, 185, 223, 172, 215, 130, 242, 102,
+ 2, 252, 185, 233, 159, 96, 242, 102, 2, 252, 185, 215, 129, 96, 242, 102,
+ 2, 252, 185, 246, 178, 246, 179, 242, 102, 2, 252, 185, 223, 172, 246,
+ 179, 242, 102, 2, 252, 185, 233, 159, 96, 80, 113, 135, 71, 215, 130, 80,
+ 135, 68, 246, 179, 71, 135, 80, 113, 96, 71, 135, 226, 234, 254, 33, 215,
+ 130, 226, 234, 254, 33, 96, 226, 234, 254, 33, 246, 179, 226, 234, 254,
+ 33, 135, 242, 102, 113, 96, 242, 101, 96, 242, 102, 113, 135, 242, 101,
+ 135, 52, 80, 2, 91, 43, 47, 52, 80, 2, 91, 96, 52, 80, 2, 91, 135, 52,
+ 71, 215, 130, 52, 71, 96, 52, 71, 246, 179, 52, 71, 43, 47, 52, 71, 116,
+ 121, 52, 71, 228, 210, 213, 253, 52, 71, 228, 210, 246, 41, 52, 71, 219,
+ 234, 246, 41, 52, 71, 219, 234, 213, 253, 52, 71, 135, 216, 182, 71, 96,
+ 216, 182, 71, 135, 219, 181, 71, 96, 219, 181, 71, 215, 130, 80, 2, 52,
+ 91, 246, 179, 80, 2, 52, 91, 135, 248, 222, 71, 215, 130, 248, 222, 71,
+ 96, 248, 222, 71, 246, 179, 248, 222, 71, 135, 80, 217, 10, 134, 96, 80,
+ 217, 10, 134, 135, 69, 71, 215, 130, 69, 71, 96, 69, 71, 246, 179, 69,
+ 71, 215, 130, 69, 80, 244, 77, 134, 215, 130, 69, 80, 227, 100, 226, 125,
+ 215, 130, 69, 80, 227, 100, 226, 126, 2, 201, 134, 215, 130, 69, 80, 227,
+ 100, 226, 126, 2, 66, 134, 215, 130, 69, 52, 71, 215, 130, 69, 52, 80,
+ 227, 100, 226, 125, 96, 69, 80, 244, 77, 214, 43, 228, 210, 213, 253, 80,
+ 217, 10, 249, 222, 219, 234, 246, 41, 80, 217, 10, 249, 222, 116, 121,
+ 69, 71, 47, 80, 2, 4, 250, 95, 246, 179, 80, 135, 68, 215, 130, 71, 137,
+ 96, 254, 33, 135, 80, 2, 66, 91, 96, 80, 2, 66, 91, 43, 47, 80, 2, 66,
+ 91, 135, 80, 2, 52, 66, 91, 96, 80, 2, 52, 66, 91, 43, 47, 80, 2, 52, 66,
+ 91, 135, 227, 76, 71, 96, 227, 76, 71, 43, 47, 227, 76, 71, 31, 254, 190,
+ 250, 19, 226, 162, 248, 50, 217, 153, 245, 115, 217, 153, 247, 213, 228,
+ 206, 245, 116, 245, 231, 221, 71, 236, 102, 230, 108, 245, 248, 227, 134,
+ 228, 206, 254, 160, 245, 248, 227, 134, 4, 245, 248, 227, 134, 249, 248,
+ 254, 24, 231, 196, 247, 213, 228, 206, 249, 250, 254, 24, 231, 196, 4,
+ 249, 248, 254, 24, 231, 196, 245, 222, 68, 225, 92, 230, 166, 225, 99,
+ 230, 166, 249, 227, 230, 166, 218, 255, 231, 65, 53, 231, 63, 53, 62,
+ 225, 192, 247, 242, 220, 42, 221, 72, 231, 64, 254, 4, 227, 71, 223, 165,
+ 227, 71, 251, 168, 227, 71, 42, 223, 129, 249, 173, 223, 129, 244, 94,
+ 223, 129, 225, 88, 109, 236, 92, 47, 254, 145, 254, 145, 231, 223, 254,
+ 145, 219, 206, 254, 145, 247, 244, 247, 213, 228, 206, 247, 247, 226,
+ 173, 109, 228, 206, 226, 173, 109, 233, 17, 254, 154, 233, 17, 227, 62,
+ 236, 56, 215, 152, 236, 69, 52, 236, 69, 216, 182, 236, 69, 249, 244,
+ 236, 69, 218, 227, 236, 69, 214, 114, 236, 69, 250, 62, 236, 69, 250, 62,
+ 249, 244, 236, 69, 254, 126, 249, 244, 236, 69, 217, 152, 252, 113, 224,
+ 64, 225, 89, 62, 231, 64, 245, 121, 243, 142, 225, 89, 241, 162, 217, 56,
+ 227, 71, 223, 236, 177, 236, 52, 233, 187, 196, 220, 102, 214, 22, 213,
+ 191, 225, 99, 228, 206, 177, 231, 65, 177, 253, 253, 126, 109, 228, 206,
+ 253, 253, 126, 109, 254, 89, 126, 109, 254, 89, 251, 142, 228, 206, 255,
+ 37, 126, 109, 229, 248, 254, 89, 228, 213, 255, 37, 126, 109, 254, 184,
+ 126, 109, 228, 206, 254, 184, 126, 109, 254, 184, 126, 171, 126, 109,
+ 216, 182, 177, 254, 191, 126, 109, 245, 178, 109, 243, 141, 245, 178,
+ 109, 248, 51, 252, 70, 254, 91, 217, 162, 233, 91, 243, 141, 126, 109,
+ 254, 89, 126, 217, 10, 171, 217, 162, 236, 127, 227, 134, 236, 127, 68,
+ 171, 254, 89, 126, 109, 250, 31, 245, 181, 245, 182, 250, 30, 223, 165,
+ 236, 113, 126, 109, 223, 165, 126, 109, 249, 216, 109, 245, 153, 245,
+ 180, 109, 219, 110, 245, 181, 248, 127, 126, 109, 126, 217, 10, 251, 132,
+ 248, 144, 231, 223, 251, 131, 224, 191, 126, 109, 228, 206, 126, 109,
+ 240, 214, 109, 228, 206, 240, 214, 109, 219, 63, 245, 178, 109, 233, 137,
+ 171, 126, 109, 242, 228, 171, 126, 109, 233, 137, 113, 126, 109, 242,
+ 228, 113, 126, 109, 233, 137, 251, 142, 228, 206, 126, 109, 242, 228,
+ 251, 142, 228, 206, 126, 109, 230, 237, 233, 136, 230, 237, 242, 227,
+ 252, 70, 228, 206, 245, 178, 109, 228, 206, 233, 136, 228, 206, 242, 227,
+ 229, 248, 233, 137, 228, 213, 126, 109, 229, 248, 242, 228, 228, 213,
+ 126, 109, 233, 137, 171, 245, 178, 109, 242, 228, 171, 245, 178, 109,
+ 229, 248, 233, 137, 228, 213, 245, 178, 109, 229, 248, 242, 228, 228,
+ 213, 245, 178, 109, 233, 137, 171, 242, 227, 242, 228, 171, 233, 136,
+ 229, 248, 233, 137, 228, 213, 242, 227, 229, 248, 242, 228, 228, 213,
+ 233, 136, 225, 118, 219, 14, 225, 119, 171, 126, 109, 219, 15, 171, 126,
+ 109, 225, 119, 171, 245, 178, 109, 219, 15, 171, 245, 178, 109, 247, 213,
+ 228, 206, 225, 121, 247, 213, 228, 206, 219, 16, 219, 23, 227, 134, 218,
+ 236, 227, 134, 228, 206, 111, 219, 23, 227, 134, 228, 206, 111, 218, 236,
+ 227, 134, 219, 23, 68, 171, 126, 109, 218, 236, 68, 171, 126, 109, 229,
+ 248, 111, 219, 23, 68, 228, 213, 126, 109, 229, 248, 111, 218, 236, 68,
+ 228, 213, 126, 109, 219, 23, 68, 2, 228, 206, 126, 109, 218, 236, 68, 2,
+ 228, 206, 126, 109, 230, 221, 230, 222, 230, 223, 230, 222, 215, 152, 42,
+ 236, 127, 227, 134, 42, 227, 55, 227, 134, 42, 236, 127, 68, 171, 126,
+ 109, 42, 227, 55, 68, 171, 126, 109, 42, 251, 51, 42, 249, 166, 37, 225,
+ 192, 37, 231, 64, 37, 217, 52, 37, 247, 242, 220, 42, 37, 62, 227, 71,
+ 37, 223, 165, 227, 71, 37, 254, 4, 227, 71, 37, 245, 181, 37, 248, 223,
+ 92, 225, 192, 92, 231, 64, 92, 217, 52, 92, 62, 227, 71, 47, 218, 50, 43,
+ 218, 50, 121, 218, 50, 116, 218, 50, 254, 7, 231, 40, 216, 162, 244, 114,
+ 216, 182, 66, 252, 187, 47, 216, 65, 52, 66, 252, 187, 52, 47, 216, 65,
+ 247, 213, 228, 206, 225, 84, 228, 206, 216, 162, 247, 213, 228, 206, 244,
+ 115, 229, 250, 52, 66, 252, 187, 52, 47, 216, 65, 225, 119, 215, 160,
+ 224, 19, 219, 15, 215, 160, 224, 19, 228, 211, 219, 36, 227, 134, 249,
+ 248, 254, 24, 228, 211, 219, 35, 228, 211, 219, 36, 68, 171, 126, 109,
+ 249, 248, 254, 24, 228, 211, 219, 36, 171, 126, 109, 227, 55, 227, 134,
+ 236, 127, 227, 134, 230, 227, 242, 48, 250, 2, 232, 15, 236, 66, 213,
+ 136, 230, 90, 228, 212, 47, 254, 146, 2, 254, 66, 47, 216, 196, 230, 166,
+ 233, 17, 254, 154, 230, 166, 233, 17, 227, 62, 230, 166, 236, 56, 230,
+ 166, 215, 152, 248, 66, 227, 71, 62, 227, 71, 219, 110, 227, 71, 247,
+ 242, 217, 52, 251, 215, 43, 228, 211, 245, 14, 221, 92, 225, 99, 47, 228,
+ 211, 245, 14, 221, 92, 225, 99, 43, 221, 92, 225, 99, 47, 221, 92, 225,
+ 99, 223, 236, 217, 56, 245, 181, 249, 163, 233, 17, 227, 62, 249, 163,
+ 233, 17, 254, 154, 52, 219, 22, 52, 218, 235, 52, 236, 56, 52, 215, 152,
+ 225, 215, 126, 22, 226, 173, 109, 233, 137, 2, 247, 195, 242, 228, 2,
+ 247, 195, 214, 169, 230, 237, 233, 136, 214, 169, 230, 237, 242, 227,
+ 233, 137, 126, 217, 10, 171, 242, 227, 242, 228, 126, 217, 10, 171, 233,
+ 136, 126, 217, 10, 171, 233, 136, 126, 217, 10, 171, 242, 227, 126, 217,
+ 10, 171, 225, 118, 126, 217, 10, 171, 219, 14, 247, 213, 228, 206, 225,
+ 122, 171, 245, 183, 247, 213, 228, 206, 219, 17, 171, 245, 183, 228, 206,
+ 42, 236, 127, 68, 171, 126, 109, 228, 206, 42, 227, 55, 68, 171, 126,
+ 109, 42, 236, 127, 68, 171, 228, 206, 126, 109, 42, 227, 55, 68, 171,
+ 228, 206, 126, 109, 233, 137, 251, 142, 228, 206, 245, 178, 109, 242,
+ 228, 251, 142, 228, 206, 245, 178, 109, 225, 119, 251, 142, 228, 206,
+ 245, 178, 109, 219, 15, 251, 142, 228, 206, 245, 178, 109, 228, 206, 228,
+ 211, 219, 36, 227, 134, 247, 213, 228, 206, 249, 250, 254, 24, 228, 211,
+ 219, 35, 228, 206, 228, 211, 219, 36, 68, 171, 126, 109, 247, 213, 228,
+ 206, 249, 250, 254, 24, 228, 211, 219, 36, 171, 245, 183, 66, 245, 241,
+ 231, 105, 201, 245, 241, 116, 47, 248, 72, 245, 241, 121, 47, 248, 72,
+ 245, 241, 245, 248, 68, 2, 187, 201, 91, 245, 248, 68, 2, 66, 252, 187,
+ 253, 250, 245, 222, 68, 201, 91, 4, 245, 248, 68, 2, 66, 252, 187, 253,
+ 250, 245, 222, 68, 201, 91, 245, 248, 68, 2, 62, 50, 245, 248, 68, 2,
+ 227, 29, 4, 245, 248, 68, 2, 227, 29, 245, 248, 68, 2, 215, 159, 245,
+ 248, 68, 2, 119, 201, 219, 46, 249, 248, 2, 187, 201, 91, 249, 248, 2,
+ 66, 252, 187, 253, 250, 245, 222, 68, 201, 91, 4, 249, 248, 2, 66, 252,
+ 187, 253, 250, 245, 222, 68, 201, 91, 249, 248, 2, 227, 29, 4, 249, 248,
+ 2, 227, 29, 212, 153, 179, 252, 218, 231, 195, 248, 67, 53, 245, 250, 71,
+ 241, 83, 116, 254, 35, 121, 254, 35, 225, 95, 226, 77, 214, 19, 233, 83,
+ 43, 250, 238, 47, 250, 238, 43, 244, 146, 47, 244, 146, 251, 226, 47,
+ 249, 195, 251, 226, 43, 249, 195, 216, 240, 47, 249, 195, 216, 240, 43,
+ 249, 195, 223, 236, 228, 206, 53, 42, 232, 233, 254, 66, 222, 106, 222,
+ 113, 217, 223, 224, 47, 225, 157, 236, 96, 214, 150, 219, 185, 225, 209,
+ 68, 236, 65, 53, 216, 66, 228, 206, 53, 214, 29, 241, 85, 216, 240, 43,
+ 249, 222, 216, 240, 47, 249, 222, 251, 226, 43, 249, 222, 251, 226, 47,
+ 249, 222, 216, 240, 157, 236, 69, 251, 226, 157, 236, 69, 244, 74, 220,
+ 22, 116, 254, 36, 252, 71, 119, 201, 252, 175, 227, 64, 235, 0, 245, 174,
+ 217, 10, 217, 162, 223, 182, 213, 170, 236, 113, 111, 224, 44, 251, 214,
+ 234, 255, 233, 164, 254, 146, 125, 223, 178, 254, 146, 125, 245, 174,
+ 217, 10, 217, 162, 233, 168, 252, 82, 223, 164, 249, 135, 254, 191, 254,
+ 43, 218, 140, 216, 230, 223, 60, 248, 32, 227, 56, 250, 4, 218, 16, 220,
+ 33, 249, 213, 249, 212, 197, 199, 16, 241, 4, 197, 199, 16, 219, 179,
+ 224, 207, 197, 199, 16, 224, 208, 245, 183, 197, 199, 16, 224, 208, 247,
+ 247, 197, 199, 16, 224, 208, 248, 65, 197, 199, 16, 224, 208, 235, 173,
+ 197, 199, 16, 224, 208, 250, 95, 197, 199, 16, 250, 96, 219, 89, 197,
+ 199, 16, 250, 96, 235, 173, 197, 199, 16, 220, 43, 134, 197, 199, 16,
+ 252, 225, 134, 197, 199, 16, 224, 208, 220, 42, 197, 199, 16, 224, 208,
+ 252, 224, 197, 199, 16, 224, 208, 233, 136, 197, 199, 16, 224, 208, 242,
+ 227, 197, 199, 16, 135, 215, 1, 197, 199, 16, 96, 215, 1, 197, 199, 16,
+ 224, 208, 135, 71, 197, 199, 16, 224, 208, 96, 71, 197, 199, 16, 250, 96,
+ 252, 224, 197, 199, 16, 121, 218, 51, 215, 159, 197, 199, 16, 248, 127,
+ 219, 89, 197, 199, 16, 224, 208, 121, 251, 38, 197, 199, 16, 224, 208,
+ 248, 126, 197, 199, 16, 121, 218, 51, 235, 173, 197, 199, 16, 215, 130,
+ 215, 1, 197, 199, 16, 224, 208, 215, 130, 71, 197, 199, 16, 116, 218, 51,
+ 227, 29, 197, 199, 16, 248, 138, 219, 89, 197, 199, 16, 224, 208, 116,
+ 251, 38, 197, 199, 16, 224, 208, 248, 137, 197, 199, 16, 116, 218, 51,
+ 235, 173, 197, 199, 16, 246, 179, 215, 1, 197, 199, 16, 224, 208, 246,
+ 179, 71, 197, 199, 16, 224, 177, 215, 159, 197, 199, 16, 248, 127, 215,
+ 159, 197, 199, 16, 248, 66, 215, 159, 197, 199, 16, 235, 174, 215, 159,
+ 197, 199, 16, 250, 96, 215, 159, 197, 199, 16, 116, 220, 206, 235, 173,
+ 197, 199, 16, 224, 177, 224, 207, 197, 199, 16, 250, 96, 219, 109, 197,
+ 199, 16, 224, 208, 250, 30, 197, 199, 16, 116, 218, 51, 248, 74, 197,
+ 199, 16, 248, 138, 248, 74, 197, 199, 16, 219, 110, 248, 74, 197, 199,
+ 16, 235, 174, 248, 74, 197, 199, 16, 250, 96, 248, 74, 197, 199, 16, 121,
+ 220, 206, 219, 89, 197, 199, 16, 43, 220, 206, 219, 89, 197, 199, 16,
+ 217, 56, 248, 74, 197, 199, 16, 242, 228, 248, 74, 197, 199, 16, 250, 24,
+ 134, 197, 199, 16, 248, 138, 177, 197, 199, 16, 212, 27, 197, 199, 16,
+ 219, 90, 177, 197, 199, 16, 221, 94, 215, 159, 197, 199, 16, 224, 208,
+ 228, 206, 245, 183, 197, 199, 16, 224, 208, 224, 192, 197, 199, 16, 121,
+ 251, 39, 177, 197, 199, 16, 116, 251, 39, 177, 197, 199, 16, 236, 44,
+ 197, 199, 16, 223, 224, 197, 199, 16, 227, 104, 197, 199, 16, 254, 180,
+ 215, 159, 197, 199, 16, 245, 185, 215, 159, 197, 199, 16, 236, 45, 215,
+ 159, 197, 199, 16, 227, 105, 215, 159, 197, 199, 16, 254, 179, 228, 206,
+ 250, 189, 79, 47, 254, 146, 2, 246, 179, 212, 28, 71, 220, 180, 210, 251,
+ 214, 252, 92, 88, 66, 233, 84, 2, 231, 107, 247, 195, 236, 74, 88, 249,
+ 245, 215, 157, 88, 248, 6, 215, 157, 88, 245, 233, 88, 250, 15, 88, 69,
+ 42, 2, 250, 232, 66, 233, 83, 245, 210, 88, 254, 175, 235, 1, 88, 242,
+ 60, 88, 37, 201, 252, 187, 2, 228, 204, 37, 216, 197, 246, 181, 251, 188,
+ 250, 96, 2, 228, 208, 71, 215, 155, 88, 231, 21, 88, 241, 17, 88, 227,
+ 77, 242, 161, 88, 227, 77, 234, 11, 88, 226, 154, 88, 226, 153, 88, 248,
+ 14, 249, 161, 16, 244, 109, 112, 219, 253, 88, 197, 199, 16, 224, 207,
+ 248, 155, 221, 81, 235, 1, 88, 225, 109, 226, 238, 229, 231, 226, 238,
+ 225, 105, 222, 131, 88, 250, 77, 222, 131, 88, 43, 226, 169, 215, 137,
+ 102, 43, 226, 169, 245, 110, 43, 226, 169, 232, 237, 102, 47, 226, 169,
+ 215, 137, 102, 47, 226, 169, 245, 110, 47, 226, 169, 232, 237, 102, 43,
+ 42, 251, 210, 215, 137, 249, 222, 43, 42, 251, 210, 245, 110, 43, 42,
+ 251, 210, 232, 237, 249, 222, 47, 42, 251, 210, 215, 137, 249, 222, 47,
+ 42, 251, 210, 245, 110, 47, 42, 251, 210, 232, 237, 249, 222, 43, 249,
+ 163, 251, 210, 215, 137, 102, 43, 249, 163, 251, 210, 231, 107, 226, 13,
+ 43, 249, 163, 251, 210, 232, 237, 102, 249, 163, 251, 210, 245, 110, 47,
+ 249, 163, 251, 210, 215, 137, 102, 47, 249, 163, 251, 210, 231, 107, 226,
+ 13, 47, 249, 163, 251, 210, 232, 237, 102, 236, 70, 245, 110, 201, 233,
+ 84, 245, 110, 215, 137, 43, 171, 232, 237, 47, 249, 163, 251, 210, 222,
+ 114, 215, 137, 47, 171, 232, 237, 43, 249, 163, 251, 210, 222, 114, 219,
+ 0, 216, 239, 219, 0, 251, 225, 216, 240, 42, 125, 251, 226, 42, 125, 251,
+ 226, 42, 251, 210, 113, 216, 240, 42, 125, 34, 16, 251, 225, 43, 66, 93,
+ 233, 83, 47, 66, 93, 233, 83, 201, 222, 146, 233, 82, 201, 222, 146, 233,
+ 81, 201, 222, 146, 233, 80, 201, 222, 146, 233, 79, 248, 118, 16, 182,
+ 66, 22, 216, 240, 223, 182, 248, 118, 16, 182, 66, 22, 251, 226, 223,
+ 182, 248, 118, 16, 182, 66, 2, 250, 95, 248, 118, 16, 182, 121, 22, 201,
+ 2, 250, 95, 248, 118, 16, 182, 116, 22, 201, 2, 250, 95, 248, 118, 16,
+ 182, 66, 2, 216, 196, 248, 118, 16, 182, 121, 22, 201, 2, 216, 196, 248,
+ 118, 16, 182, 116, 22, 201, 2, 216, 196, 248, 118, 16, 182, 66, 22, 214,
+ 22, 248, 118, 16, 182, 121, 22, 201, 2, 214, 22, 248, 118, 16, 182, 116,
+ 22, 201, 2, 214, 22, 248, 118, 16, 182, 121, 22, 241, 149, 248, 118, 16,
+ 182, 116, 22, 241, 149, 248, 118, 16, 182, 66, 22, 216, 240, 233, 168,
+ 248, 118, 16, 182, 66, 22, 251, 226, 233, 168, 42, 244, 121, 223, 240,
+ 88, 246, 4, 88, 66, 233, 84, 245, 110, 231, 170, 251, 199, 231, 170, 187,
+ 113, 220, 195, 231, 170, 220, 196, 113, 233, 8, 231, 170, 187, 113, 119,
+ 220, 182, 231, 170, 119, 220, 183, 113, 233, 8, 231, 170, 119, 220, 183,
+ 235, 181, 231, 170, 216, 179, 231, 170, 217, 189, 231, 170, 226, 99, 246,
+ 45, 242, 221, 244, 55, 216, 240, 226, 168, 251, 226, 226, 168, 216, 240,
+ 249, 163, 125, 251, 226, 249, 163, 125, 216, 240, 216, 232, 220, 254,
+ 125, 251, 226, 216, 232, 220, 254, 125, 69, 216, 210, 252, 82, 223, 165,
+ 2, 250, 95, 219, 74, 244, 153, 255, 49, 249, 160, 245, 249, 236, 56, 248,
+ 155, 245, 112, 88, 85, 223, 178, 52, 216, 196, 85, 233, 164, 52, 216,
+ 196, 85, 215, 139, 52, 216, 196, 85, 246, 180, 52, 216, 196, 85, 223,
+ 178, 52, 216, 197, 2, 66, 134, 85, 233, 164, 52, 216, 197, 2, 66, 134,
+ 85, 223, 178, 216, 197, 2, 52, 66, 134, 254, 208, 250, 63, 219, 80, 217,
+ 53, 250, 63, 241, 86, 2, 244, 139, 222, 181, 16, 31, 228, 101, 16, 31,
+ 219, 105, 68, 242, 80, 16, 31, 219, 105, 68, 217, 178, 16, 31, 245, 222,
+ 68, 217, 178, 16, 31, 245, 222, 68, 216, 213, 16, 31, 245, 212, 16, 31,
+ 255, 40, 16, 31, 252, 91, 16, 31, 252, 223, 16, 31, 201, 218, 52, 16, 31,
+ 233, 84, 244, 234, 16, 31, 66, 218, 52, 16, 31, 244, 109, 244, 234, 16,
+ 31, 251, 30, 223, 239, 16, 31, 220, 229, 227, 36, 16, 31, 220, 229, 236,
+ 112, 16, 31, 248, 218, 233, 74, 245, 163, 16, 31, 248, 103, 249, 240,
+ 118, 16, 31, 248, 103, 249, 240, 112, 16, 31, 248, 103, 249, 240, 170,
+ 16, 31, 248, 103, 249, 240, 167, 16, 31, 150, 255, 40, 16, 31, 218, 137,
+ 236, 174, 16, 31, 245, 222, 68, 216, 214, 252, 5, 16, 31, 251, 61, 16,
+ 31, 245, 222, 68, 231, 216, 16, 31, 219, 20, 16, 31, 245, 163, 16, 31,
+ 244, 196, 221, 80, 16, 31, 242, 220, 221, 80, 16, 31, 224, 48, 221, 80,
+ 16, 31, 215, 151, 221, 80, 16, 31, 219, 225, 16, 31, 248, 135, 252, 8,
+ 88, 210, 251, 214, 16, 31, 229, 234, 16, 31, 248, 136, 244, 109, 112, 16,
+ 31, 219, 21, 244, 109, 112, 227, 142, 102, 227, 142, 250, 210, 227, 142,
+ 244, 112, 227, 142, 236, 52, 244, 112, 227, 142, 252, 89, 251, 178, 227,
+ 142, 251, 221, 217, 78, 227, 142, 251, 207, 252, 192, 240, 213, 227, 142,
+ 254, 163, 68, 250, 188, 227, 142, 248, 223, 227, 142, 249, 152, 255, 43,
+ 228, 99, 227, 142, 52, 252, 224, 37, 21, 118, 37, 21, 112, 37, 21, 170,
+ 37, 21, 167, 37, 21, 185, 37, 21, 192, 37, 21, 200, 37, 21, 198, 37, 21,
+ 203, 37, 51, 217, 213, 37, 51, 245, 245, 37, 51, 216, 48, 37, 51, 217,
+ 130, 37, 51, 244, 95, 37, 51, 244, 207, 37, 51, 220, 66, 37, 51, 221, 63,
+ 37, 51, 246, 12, 37, 51, 229, 92, 37, 51, 216, 45, 87, 21, 118, 87, 21,
+ 112, 87, 21, 170, 87, 21, 167, 87, 21, 185, 87, 21, 192, 87, 21, 200, 87,
+ 21, 198, 87, 21, 203, 87, 51, 217, 213, 87, 51, 245, 245, 87, 51, 216,
+ 48, 87, 51, 217, 130, 87, 51, 244, 95, 87, 51, 244, 207, 87, 51, 220, 66,
+ 87, 51, 221, 63, 87, 51, 246, 12, 87, 51, 229, 92, 87, 51, 216, 45, 21,
+ 124, 244, 64, 219, 83, 21, 119, 244, 64, 219, 83, 21, 137, 244, 64, 219,
+ 83, 21, 244, 101, 244, 64, 219, 83, 21, 244, 170, 244, 64, 219, 83, 21,
+ 220, 72, 244, 64, 219, 83, 21, 221, 66, 244, 64, 219, 83, 21, 246, 15,
+ 244, 64, 219, 83, 21, 229, 95, 244, 64, 219, 83, 51, 217, 214, 244, 64,
+ 219, 83, 51, 245, 246, 244, 64, 219, 83, 51, 216, 49, 244, 64, 219, 83,
+ 51, 217, 131, 244, 64, 219, 83, 51, 244, 96, 244, 64, 219, 83, 51, 244,
+ 208, 244, 64, 219, 83, 51, 220, 67, 244, 64, 219, 83, 51, 221, 64, 244,
+ 64, 219, 83, 51, 246, 13, 244, 64, 219, 83, 51, 229, 93, 244, 64, 219,
+ 83, 51, 216, 46, 244, 64, 219, 83, 87, 7, 4, 1, 63, 87, 7, 4, 1, 253,
+ 201, 87, 7, 4, 1, 251, 121, 87, 7, 4, 1, 249, 125, 87, 7, 4, 1, 77, 87,
+ 7, 4, 1, 245, 95, 87, 7, 4, 1, 244, 41, 87, 7, 4, 1, 242, 162, 87, 7, 4,
+ 1, 75, 87, 7, 4, 1, 236, 3, 87, 7, 4, 1, 235, 141, 87, 7, 4, 1, 155, 87,
+ 7, 4, 1, 184, 87, 7, 4, 1, 206, 87, 7, 4, 1, 78, 87, 7, 4, 1, 227, 11,
+ 87, 7, 4, 1, 225, 19, 87, 7, 4, 1, 152, 87, 7, 4, 1, 196, 87, 7, 4, 1,
+ 218, 113, 87, 7, 4, 1, 72, 87, 7, 4, 1, 211, 211, 87, 7, 4, 1, 214, 85,
+ 87, 7, 4, 1, 213, 169, 87, 7, 4, 1, 213, 108, 87, 7, 4, 1, 212, 152, 37,
+ 7, 6, 1, 63, 37, 7, 6, 1, 253, 201, 37, 7, 6, 1, 251, 121, 37, 7, 6, 1,
+ 249, 125, 37, 7, 6, 1, 77, 37, 7, 6, 1, 245, 95, 37, 7, 6, 1, 244, 41,
+ 37, 7, 6, 1, 242, 162, 37, 7, 6, 1, 75, 37, 7, 6, 1, 236, 3, 37, 7, 6, 1,
+ 235, 141, 37, 7, 6, 1, 155, 37, 7, 6, 1, 184, 37, 7, 6, 1, 206, 37, 7, 6,
+ 1, 78, 37, 7, 6, 1, 227, 11, 37, 7, 6, 1, 225, 19, 37, 7, 6, 1, 152, 37,
+ 7, 6, 1, 196, 37, 7, 6, 1, 218, 113, 37, 7, 6, 1, 72, 37, 7, 6, 1, 211,
+ 211, 37, 7, 6, 1, 214, 85, 37, 7, 6, 1, 213, 169, 37, 7, 6, 1, 213, 108,
+ 37, 7, 6, 1, 212, 152, 37, 7, 4, 1, 63, 37, 7, 4, 1, 253, 201, 37, 7, 4,
+ 1, 251, 121, 37, 7, 4, 1, 249, 125, 37, 7, 4, 1, 77, 37, 7, 4, 1, 245,
+ 95, 37, 7, 4, 1, 244, 41, 37, 7, 4, 1, 242, 162, 37, 7, 4, 1, 75, 37, 7,
+ 4, 1, 236, 3, 37, 7, 4, 1, 235, 141, 37, 7, 4, 1, 155, 37, 7, 4, 1, 184,
+ 37, 7, 4, 1, 206, 37, 7, 4, 1, 78, 37, 7, 4, 1, 227, 11, 37, 7, 4, 1,
+ 225, 19, 37, 7, 4, 1, 152, 37, 7, 4, 1, 196, 37, 7, 4, 1, 218, 113, 37,
+ 7, 4, 1, 72, 37, 7, 4, 1, 211, 211, 37, 7, 4, 1, 214, 85, 37, 7, 4, 1,
+ 213, 169, 37, 7, 4, 1, 213, 108, 37, 7, 4, 1, 212, 152, 37, 21, 212, 79,
+ 150, 37, 51, 245, 245, 150, 37, 51, 216, 48, 150, 37, 51, 217, 130, 150,
+ 37, 51, 244, 95, 150, 37, 51, 244, 207, 150, 37, 51, 220, 66, 150, 37,
+ 51, 221, 63, 150, 37, 51, 246, 12, 150, 37, 51, 229, 92, 150, 37, 51,
+ 216, 45, 52, 37, 21, 118, 52, 37, 21, 112, 52, 37, 21, 170, 52, 37, 21,
+ 167, 52, 37, 21, 185, 52, 37, 21, 192, 52, 37, 21, 200, 52, 37, 21, 198,
+ 52, 37, 21, 203, 52, 37, 51, 217, 213, 150, 37, 21, 212, 79, 93, 97, 182,
+ 241, 149, 93, 97, 110, 241, 149, 93, 97, 182, 214, 221, 93, 97, 110, 214,
+ 221, 93, 97, 182, 216, 182, 248, 224, 241, 149, 93, 97, 110, 216, 182,
+ 248, 224, 241, 149, 93, 97, 182, 216, 182, 248, 224, 214, 221, 93, 97,
+ 110, 216, 182, 248, 224, 214, 221, 93, 97, 182, 224, 204, 248, 224, 241,
+ 149, 93, 97, 110, 224, 204, 248, 224, 241, 149, 93, 97, 182, 224, 204,
+ 248, 224, 214, 221, 93, 97, 110, 224, 204, 248, 224, 214, 221, 93, 97,
+ 182, 121, 22, 223, 182, 93, 97, 121, 182, 22, 47, 242, 68, 93, 97, 121,
+ 110, 22, 47, 233, 100, 93, 97, 110, 121, 22, 223, 182, 93, 97, 182, 121,
+ 22, 233, 168, 93, 97, 121, 182, 22, 43, 242, 68, 93, 97, 121, 110, 22,
+ 43, 233, 100, 93, 97, 110, 121, 22, 233, 168, 93, 97, 182, 116, 22, 223,
+ 182, 93, 97, 116, 182, 22, 47, 242, 68, 93, 97, 116, 110, 22, 47, 233,
+ 100, 93, 97, 110, 116, 22, 223, 182, 93, 97, 182, 116, 22, 233, 168, 93,
+ 97, 116, 182, 22, 43, 242, 68, 93, 97, 116, 110, 22, 43, 233, 100, 93,
+ 97, 110, 116, 22, 233, 168, 93, 97, 182, 66, 22, 223, 182, 93, 97, 66,
+ 182, 22, 47, 242, 68, 93, 97, 116, 110, 22, 47, 121, 233, 100, 93, 97,
+ 121, 110, 22, 47, 116, 233, 100, 93, 97, 66, 110, 22, 47, 233, 100, 93,
+ 97, 121, 182, 22, 47, 116, 242, 68, 93, 97, 116, 182, 22, 47, 121, 242,
+ 68, 93, 97, 110, 66, 22, 223, 182, 93, 97, 182, 66, 22, 233, 168, 93, 97,
+ 66, 182, 22, 43, 242, 68, 93, 97, 116, 110, 22, 43, 121, 233, 100, 93,
+ 97, 121, 110, 22, 43, 116, 233, 100, 93, 97, 66, 110, 22, 43, 233, 100,
+ 93, 97, 121, 182, 22, 43, 116, 242, 68, 93, 97, 116, 182, 22, 43, 121,
+ 242, 68, 93, 97, 110, 66, 22, 233, 168, 93, 97, 182, 121, 22, 241, 149,
+ 93, 97, 43, 110, 22, 47, 121, 233, 100, 93, 97, 47, 110, 22, 43, 121,
+ 233, 100, 93, 97, 121, 182, 22, 201, 242, 68, 93, 97, 121, 110, 22, 201,
+ 233, 100, 93, 97, 47, 182, 22, 43, 121, 242, 68, 93, 97, 43, 182, 22, 47,
+ 121, 242, 68, 93, 97, 110, 121, 22, 241, 149, 93, 97, 182, 116, 22, 241,
+ 149, 93, 97, 43, 110, 22, 47, 116, 233, 100, 93, 97, 47, 110, 22, 43,
+ 116, 233, 100, 93, 97, 116, 182, 22, 201, 242, 68, 93, 97, 116, 110, 22,
+ 201, 233, 100, 93, 97, 47, 182, 22, 43, 116, 242, 68, 93, 97, 43, 182,
+ 22, 47, 116, 242, 68, 93, 97, 110, 116, 22, 241, 149, 93, 97, 182, 66,
+ 22, 241, 149, 93, 97, 43, 110, 22, 47, 66, 233, 100, 93, 97, 47, 110, 22,
+ 43, 66, 233, 100, 93, 97, 66, 182, 22, 201, 242, 68, 93, 97, 116, 110,
+ 22, 121, 201, 233, 100, 93, 97, 121, 110, 22, 116, 201, 233, 100, 93, 97,
+ 66, 110, 22, 201, 233, 100, 93, 97, 43, 116, 110, 22, 47, 121, 233, 100,
+ 93, 97, 47, 116, 110, 22, 43, 121, 233, 100, 93, 97, 43, 121, 110, 22,
+ 47, 116, 233, 100, 93, 97, 47, 121, 110, 22, 43, 116, 233, 100, 93, 97,
+ 121, 182, 22, 116, 201, 242, 68, 93, 97, 116, 182, 22, 121, 201, 242, 68,
+ 93, 97, 47, 182, 22, 43, 66, 242, 68, 93, 97, 43, 182, 22, 47, 66, 242,
+ 68, 93, 97, 110, 66, 22, 241, 149, 93, 97, 182, 52, 248, 224, 241, 149,
+ 93, 97, 110, 52, 248, 224, 241, 149, 93, 97, 182, 52, 248, 224, 214, 221,
+ 93, 97, 110, 52, 248, 224, 214, 221, 93, 97, 52, 241, 149, 93, 97, 52,
+ 214, 221, 93, 97, 121, 220, 100, 22, 47, 246, 188, 93, 97, 121, 52, 22,
+ 47, 220, 99, 93, 97, 52, 121, 22, 223, 182, 93, 97, 121, 220, 100, 22,
+ 43, 246, 188, 93, 97, 121, 52, 22, 43, 220, 99, 93, 97, 52, 121, 22, 233,
+ 168, 93, 97, 116, 220, 100, 22, 47, 246, 188, 93, 97, 116, 52, 22, 47,
+ 220, 99, 93, 97, 52, 116, 22, 223, 182, 93, 97, 116, 220, 100, 22, 43,
+ 246, 188, 93, 97, 116, 52, 22, 43, 220, 99, 93, 97, 52, 116, 22, 233,
+ 168, 93, 97, 66, 220, 100, 22, 47, 246, 188, 93, 97, 66, 52, 22, 47, 220,
+ 99, 93, 97, 52, 66, 22, 223, 182, 93, 97, 66, 220, 100, 22, 43, 246, 188,
+ 93, 97, 66, 52, 22, 43, 220, 99, 93, 97, 52, 66, 22, 233, 168, 93, 97,
+ 121, 220, 100, 22, 201, 246, 188, 93, 97, 121, 52, 22, 201, 220, 99, 93,
+ 97, 52, 121, 22, 241, 149, 93, 97, 116, 220, 100, 22, 201, 246, 188, 93,
+ 97, 116, 52, 22, 201, 220, 99, 93, 97, 52, 116, 22, 241, 149, 93, 97, 66,
+ 220, 100, 22, 201, 246, 188, 93, 97, 66, 52, 22, 201, 220, 99, 93, 97,
+ 52, 66, 22, 241, 149, 93, 97, 182, 254, 67, 121, 22, 223, 182, 93, 97,
+ 182, 254, 67, 121, 22, 233, 168, 93, 97, 182, 254, 67, 116, 22, 233, 168,
+ 93, 97, 182, 254, 67, 116, 22, 223, 182, 93, 97, 182, 248, 72, 215, 137,
+ 47, 217, 10, 232, 237, 233, 168, 93, 97, 182, 248, 72, 215, 137, 43, 217,
+ 10, 232, 237, 223, 182, 93, 97, 182, 248, 72, 249, 193, 93, 97, 182, 233,
+ 168, 93, 97, 182, 215, 140, 93, 97, 182, 223, 182, 93, 97, 182, 246, 181,
+ 93, 97, 110, 233, 168, 93, 97, 110, 215, 140, 93, 97, 110, 223, 182, 93,
+ 97, 110, 246, 181, 93, 97, 182, 43, 22, 110, 223, 182, 93, 97, 182, 116,
+ 22, 110, 246, 181, 93, 97, 110, 43, 22, 182, 223, 182, 93, 97, 110, 116,
+ 22, 182, 246, 181, 215, 137, 157, 252, 5, 232, 237, 124, 246, 11, 252, 5,
+ 232, 237, 124, 224, 202, 252, 5, 232, 237, 137, 246, 9, 252, 5, 232, 237,
+ 157, 252, 5, 232, 237, 244, 170, 246, 9, 252, 5, 232, 237, 137, 224, 200,
+ 252, 5, 232, 237, 221, 66, 246, 9, 252, 5, 244, 64, 252, 5, 43, 221, 66,
+ 246, 9, 252, 5, 43, 137, 224, 200, 252, 5, 43, 244, 170, 246, 9, 252, 5,
+ 43, 157, 252, 5, 43, 137, 246, 9, 252, 5, 43, 124, 224, 202, 252, 5, 43,
+ 124, 246, 11, 252, 5, 47, 157, 252, 5, 182, 221, 37, 231, 217, 221, 37,
+ 248, 229, 221, 37, 215, 137, 124, 246, 11, 252, 5, 47, 124, 246, 11, 252,
+ 5, 224, 206, 232, 237, 233, 168, 224, 206, 232, 237, 223, 182, 224, 206,
+ 215, 137, 233, 168, 224, 206, 215, 137, 43, 22, 232, 237, 43, 22, 232,
+ 237, 223, 182, 224, 206, 215, 137, 43, 22, 232, 237, 223, 182, 224, 206,
+ 215, 137, 43, 22, 215, 137, 47, 22, 232, 237, 233, 168, 224, 206, 215,
+ 137, 43, 22, 215, 137, 47, 22, 232, 237, 223, 182, 224, 206, 215, 137,
+ 223, 182, 224, 206, 215, 137, 47, 22, 232, 237, 233, 168, 224, 206, 215,
+ 137, 47, 22, 232, 237, 43, 22, 232, 237, 223, 182, 85, 219, 185, 69, 219,
+ 185, 69, 42, 2, 223, 119, 249, 221, 69, 42, 249, 249, 85, 4, 219, 185,
+ 42, 2, 201, 244, 194, 42, 2, 66, 244, 194, 42, 2, 227, 49, 249, 189, 244,
+ 194, 42, 2, 215, 137, 43, 217, 10, 232, 237, 47, 244, 194, 42, 2, 215,
+ 137, 47, 217, 10, 232, 237, 43, 244, 194, 42, 2, 248, 72, 249, 189, 244,
+ 194, 85, 4, 219, 185, 69, 4, 219, 185, 85, 224, 43, 69, 224, 43, 85, 66,
+ 224, 43, 69, 66, 224, 43, 85, 226, 171, 69, 226, 171, 85, 215, 139, 216,
+ 196, 69, 215, 139, 216, 196, 85, 215, 139, 4, 216, 196, 69, 215, 139, 4,
+ 216, 196, 85, 223, 178, 216, 196, 69, 223, 178, 216, 196, 85, 223, 178,
+ 4, 216, 196, 69, 223, 178, 4, 216, 196, 85, 223, 178, 225, 178, 69, 223,
+ 178, 225, 178, 85, 246, 180, 216, 196, 69, 246, 180, 216, 196, 85, 246,
+ 180, 4, 216, 196, 69, 246, 180, 4, 216, 196, 85, 233, 164, 216, 196, 69,
+ 233, 164, 216, 196, 85, 233, 164, 4, 216, 196, 69, 233, 164, 4, 216, 196,
+ 85, 233, 164, 225, 178, 69, 233, 164, 225, 178, 85, 248, 65, 69, 248, 65,
+ 69, 248, 66, 249, 249, 85, 4, 248, 65, 244, 178, 232, 233, 69, 250, 95,
+ 246, 193, 250, 95, 250, 96, 2, 66, 244, 194, 251, 165, 85, 250, 95, 250,
+ 96, 2, 43, 157, 252, 13, 250, 96, 2, 47, 157, 252, 13, 250, 96, 2, 232,
+ 237, 157, 252, 13, 250, 96, 2, 215, 137, 157, 252, 13, 250, 96, 2, 215,
+ 137, 47, 224, 206, 252, 13, 250, 96, 2, 254, 191, 251, 142, 215, 137, 43,
+ 224, 206, 252, 13, 43, 157, 85, 250, 95, 47, 157, 85, 250, 95, 236, 53,
+ 251, 167, 236, 53, 69, 250, 95, 215, 137, 157, 236, 53, 69, 250, 95, 232,
+ 237, 157, 236, 53, 69, 250, 95, 215, 137, 43, 224, 206, 250, 93, 254, 66,
+ 215, 137, 47, 224, 206, 250, 93, 254, 66, 232, 237, 47, 224, 206, 250,
+ 93, 254, 66, 232, 237, 43, 224, 206, 250, 93, 254, 66, 215, 137, 157,
+ 250, 95, 232, 237, 157, 250, 95, 85, 232, 237, 47, 216, 196, 85, 232,
+ 237, 43, 216, 196, 85, 215, 137, 43, 216, 196, 85, 215, 137, 47, 216,
+ 196, 69, 251, 167, 42, 2, 43, 157, 252, 13, 42, 2, 47, 157, 252, 13, 42,
+ 2, 215, 137, 43, 248, 72, 157, 252, 13, 42, 2, 232, 237, 47, 248, 72,
+ 157, 252, 13, 69, 42, 2, 66, 252, 24, 233, 83, 69, 215, 139, 216, 197, 2,
+ 247, 195, 215, 139, 216, 197, 2, 43, 157, 252, 13, 215, 139, 216, 197, 2,
+ 47, 157, 252, 13, 233, 207, 250, 95, 69, 42, 2, 215, 137, 43, 224, 205,
+ 69, 42, 2, 232, 237, 43, 224, 205, 69, 42, 2, 232, 237, 47, 224, 205, 69,
+ 42, 2, 215, 137, 47, 224, 205, 69, 250, 96, 2, 215, 137, 43, 224, 205,
+ 69, 250, 96, 2, 232, 237, 43, 224, 205, 69, 250, 96, 2, 232, 237, 47,
+ 224, 205, 69, 250, 96, 2, 215, 137, 47, 224, 205, 215, 137, 43, 216, 196,
+ 215, 137, 47, 216, 196, 232, 237, 43, 216, 196, 69, 231, 217, 219, 185,
+ 85, 231, 217, 219, 185, 69, 231, 217, 4, 219, 185, 85, 231, 217, 4, 219,
+ 185, 232, 237, 47, 216, 196, 85, 218, 253, 2, 224, 59, 250, 51, 215, 170,
+ 220, 7, 250, 26, 85, 219, 109, 69, 219, 109, 233, 98, 217, 99, 218, 252,
+ 254, 20, 228, 225, 248, 110, 228, 225, 250, 1, 227, 67, 85, 217, 222, 69,
+ 217, 222, 252, 202, 251, 214, 252, 202, 93, 2, 250, 188, 252, 202, 93, 2,
+ 213, 169, 222, 193, 215, 171, 2, 224, 86, 246, 160, 241, 92, 252, 69, 69,
+ 220, 203, 226, 13, 85, 220, 203, 226, 13, 221, 32, 223, 236, 223, 123,
+ 244, 144, 242, 75, 251, 167, 85, 43, 225, 177, 236, 100, 85, 47, 225,
+ 177, 236, 100, 69, 43, 225, 177, 236, 100, 69, 116, 225, 177, 236, 100,
+ 69, 47, 225, 177, 236, 100, 69, 121, 225, 177, 236, 100, 220, 48, 22,
+ 249, 192, 251, 19, 53, 224, 97, 53, 252, 31, 53, 251, 80, 254, 140, 227,
+ 50, 249, 193, 250, 171, 223, 224, 249, 194, 68, 232, 247, 249, 194, 68,
+ 235, 232, 219, 110, 22, 249, 199, 245, 1, 88, 255, 25, 221, 34, 242, 125,
+ 22, 220, 134, 226, 131, 88, 212, 246, 213, 60, 216, 186, 31, 242, 70,
+ 216, 186, 31, 233, 229, 216, 186, 31, 244, 185, 216, 186, 31, 217, 100,
+ 216, 186, 31, 213, 227, 216, 186, 31, 214, 27, 216, 186, 31, 230, 255,
+ 216, 186, 31, 246, 44, 213, 245, 68, 248, 91, 69, 244, 73, 245, 23, 69,
+ 220, 21, 245, 23, 85, 220, 21, 245, 23, 69, 218, 253, 2, 224, 59, 244,
+ 181, 224, 202, 231, 12, 233, 202, 224, 202, 231, 12, 231, 188, 244, 227,
+ 53, 246, 44, 232, 68, 53, 235, 155, 222, 161, 215, 122, 229, 242, 225,
+ 190, 254, 54, 218, 4, 243, 148, 251, 59, 233, 141, 214, 135, 233, 108,
+ 222, 133, 222, 213, 251, 48, 254, 83, 225, 220, 69, 250, 177, 234, 198,
+ 69, 250, 177, 224, 194, 69, 250, 177, 223, 131, 69, 250, 177, 252, 23,
+ 69, 250, 177, 234, 150, 69, 250, 177, 226, 141, 85, 250, 177, 234, 198,
+ 85, 250, 177, 224, 194, 85, 250, 177, 223, 131, 85, 250, 177, 252, 23,
+ 85, 250, 177, 234, 150, 85, 250, 177, 226, 141, 85, 219, 223, 219, 9, 69,
+ 242, 75, 219, 9, 69, 248, 66, 219, 9, 85, 250, 49, 219, 9, 69, 219, 223,
+ 219, 9, 85, 242, 75, 219, 9, 85, 248, 66, 219, 9, 69, 250, 49, 219, 9,
+ 241, 92, 219, 189, 224, 202, 228, 201, 246, 11, 228, 201, 252, 119, 246,
+ 11, 228, 196, 252, 119, 220, 65, 228, 196, 230, 197, 244, 155, 53, 230,
+ 197, 230, 77, 53, 230, 197, 221, 21, 53, 213, 253, 180, 249, 193, 246,
+ 41, 180, 249, 193, 215, 148, 224, 39, 88, 224, 39, 16, 31, 216, 21, 225,
+ 202, 224, 39, 16, 31, 216, 20, 225, 202, 224, 39, 16, 31, 216, 19, 225,
+ 202, 224, 39, 16, 31, 216, 18, 225, 202, 224, 39, 16, 31, 216, 17, 225,
+ 202, 224, 39, 16, 31, 216, 16, 225, 202, 224, 39, 16, 31, 216, 15, 225,
+ 202, 224, 39, 16, 31, 243, 146, 232, 16, 85, 215, 148, 224, 39, 88, 224,
+ 40, 226, 185, 88, 226, 161, 226, 185, 88, 226, 85, 226, 185, 53, 213,
+ 243, 88, 248, 58, 245, 22, 248, 58, 245, 21, 248, 58, 245, 20, 248, 58,
+ 245, 19, 248, 58, 245, 18, 248, 58, 245, 17, 69, 250, 96, 2, 62, 223,
+ 182, 69, 250, 96, 2, 119, 247, 193, 85, 250, 96, 2, 69, 62, 223, 182, 85,
+ 250, 96, 2, 119, 69, 247, 193, 231, 26, 31, 213, 60, 231, 26, 31, 212,
+ 245, 248, 41, 31, 242, 229, 213, 60, 248, 41, 31, 233, 135, 212, 245,
+ 248, 41, 31, 233, 135, 213, 60, 248, 41, 31, 242, 229, 212, 245, 69, 244,
+ 162, 85, 244, 162, 242, 125, 22, 226, 16, 254, 156, 249, 191, 218, 194,
+ 219, 117, 68, 255, 3, 222, 147, 254, 204, 244, 140, 243, 156, 219, 117,
+ 68, 242, 50, 253, 242, 88, 244, 151, 227, 32, 69, 219, 109, 137, 233, 78,
+ 249, 237, 223, 182, 137, 233, 78, 249, 237, 233, 168, 214, 37, 53, 127,
+ 214, 115, 53, 246, 185, 244, 227, 53, 246, 185, 232, 68, 53, 236, 61,
+ 244, 227, 22, 232, 68, 53, 232, 68, 22, 244, 227, 53, 232, 68, 2, 219,
+ 59, 53, 232, 68, 2, 219, 59, 22, 232, 68, 22, 244, 227, 53, 66, 232, 68,
+ 2, 219, 59, 53, 201, 232, 68, 2, 219, 59, 53, 231, 217, 69, 250, 95, 231,
+ 217, 85, 250, 95, 231, 217, 4, 69, 250, 95, 232, 31, 88, 247, 240, 88,
+ 215, 146, 226, 160, 88, 250, 35, 244, 60, 215, 118, 229, 237, 250, 218,
+ 226, 225, 235, 161, 214, 167, 250, 153, 85, 231, 13, 233, 95, 221, 56,
+ 221, 90, 224, 185, 221, 74, 220, 2, 252, 205, 252, 172, 92, 235, 0, 69,
+ 246, 169, 232, 63, 69, 246, 169, 234, 198, 85, 246, 169, 232, 63, 85,
+ 246, 169, 234, 198, 220, 8, 213, 219, 220, 11, 218, 253, 252, 97, 250,
+ 51, 224, 85, 85, 220, 7, 217, 101, 250, 52, 22, 224, 85, 216, 66, 69,
+ 220, 203, 226, 13, 216, 66, 85, 220, 203, 226, 13, 69, 248, 66, 236, 113,
+ 219, 185, 249, 188, 233, 213, 248, 10, 251, 44, 227, 70, 226, 16, 251,
+ 45, 220, 35, 242, 59, 2, 69, 249, 193, 37, 249, 188, 233, 213, 250, 211,
+ 228, 229, 245, 204, 254, 177, 227, 94, 43, 214, 13, 216, 221, 85, 216,
+ 28, 43, 214, 13, 216, 221, 69, 216, 28, 43, 214, 13, 216, 221, 85, 43,
+ 233, 214, 231, 187, 69, 43, 233, 214, 231, 187, 246, 165, 220, 29, 53,
+ 110, 69, 246, 180, 216, 196, 43, 250, 60, 245, 204, 92, 222, 193, 245, 8,
+ 248, 72, 236, 113, 69, 250, 96, 236, 113, 85, 219, 185, 85, 216, 163,
+ 223, 246, 43, 245, 203, 223, 246, 43, 245, 202, 253, 254, 16, 31, 215,
+ 122, 110, 250, 96, 2, 219, 59, 22, 119, 181, 50, 226, 100, 223, 179, 236,
+ 63, 226, 100, 233, 165, 236, 63, 226, 100, 236, 52, 226, 100, 85, 249,
+ 194, 227, 100, 220, 230, 220, 218, 220, 174, 250, 121, 251, 26, 242, 6,
+ 220, 73, 243, 157, 213, 219, 241, 72, 243, 157, 2, 242, 115, 232, 51, 16,
+ 31, 233, 99, 230, 255, 215, 171, 227, 100, 242, 221, 244, 102, 244, 163,
+ 236, 113, 241, 164, 244, 218, 222, 209, 42, 244, 101, 249, 221, 220, 51,
+ 240, 222, 220, 54, 226, 80, 2, 252, 205, 217, 208, 235, 247, 252, 192,
+ 88, 242, 78, 242, 231, 88, 244, 67, 225, 64, 249, 167, 227, 100, 85, 219,
+ 185, 69, 244, 163, 2, 201, 231, 107, 85, 219, 60, 215, 137, 252, 9, 222,
+ 135, 85, 222, 135, 232, 237, 252, 9, 222, 135, 69, 222, 135, 69, 110,
+ 250, 189, 79, 217, 223, 233, 24, 53, 218, 17, 246, 164, 254, 226, 245,
+ 199, 224, 83, 244, 174, 224, 83, 242, 118, 214, 157, 242, 118, 213, 189,
+ 242, 118, 232, 237, 47, 226, 109, 226, 109, 215, 137, 47, 226, 109, 69,
+ 229, 125, 85, 229, 125, 250, 189, 79, 110, 250, 189, 79, 230, 224, 213,
+ 169, 110, 230, 224, 213, 169, 252, 202, 213, 169, 110, 252, 202, 213,
+ 169, 227, 32, 25, 249, 193, 110, 25, 249, 193, 210, 250, 232, 249, 193,
+ 110, 210, 250, 232, 249, 193, 7, 249, 193, 221, 36, 69, 7, 249, 193, 227,
+ 32, 7, 249, 193, 232, 65, 249, 193, 219, 110, 68, 248, 216, 244, 101,
+ 217, 236, 254, 3, 244, 101, 252, 203, 254, 3, 110, 244, 101, 252, 203,
+ 254, 3, 244, 101, 250, 47, 254, 3, 85, 244, 101, 225, 179, 219, 109, 69,
+ 244, 101, 225, 179, 219, 109, 219, 218, 219, 65, 227, 32, 69, 219, 109,
+ 37, 69, 219, 109, 210, 250, 232, 85, 219, 109, 85, 250, 232, 69, 219,
+ 109, 227, 32, 85, 219, 109, 110, 227, 32, 85, 219, 109, 225, 228, 219,
+ 109, 221, 36, 69, 219, 109, 110, 254, 3, 210, 250, 232, 254, 3, 246, 15,
+ 219, 195, 254, 3, 246, 15, 225, 179, 85, 219, 109, 246, 15, 225, 179,
+ 225, 228, 219, 109, 220, 72, 225, 179, 85, 219, 109, 246, 15, 225, 179,
+ 224, 41, 85, 219, 109, 110, 246, 15, 225, 179, 224, 41, 85, 219, 109,
+ 216, 49, 225, 179, 85, 219, 109, 220, 67, 225, 179, 254, 3, 217, 236,
+ 254, 3, 210, 250, 232, 217, 236, 254, 3, 110, 217, 236, 254, 3, 220, 72,
+ 226, 69, 85, 22, 69, 244, 143, 85, 244, 143, 69, 244, 143, 246, 15, 226,
+ 69, 227, 32, 85, 244, 143, 37, 210, 250, 232, 246, 15, 225, 179, 219,
+ 109, 110, 217, 236, 225, 228, 254, 3, 220, 9, 217, 72, 216, 189, 220, 9,
+ 110, 250, 174, 220, 9, 219, 220, 110, 219, 220, 252, 203, 254, 3, 246,
+ 15, 217, 236, 225, 91, 254, 3, 110, 246, 15, 217, 236, 225, 91, 254, 3,
+ 249, 194, 79, 221, 36, 69, 250, 95, 150, 92, 249, 194, 79, 232, 237, 47,
+ 246, 162, 69, 219, 185, 215, 137, 47, 246, 162, 69, 219, 185, 232, 237,
+ 47, 221, 36, 69, 219, 185, 215, 137, 47, 221, 36, 69, 219, 185, 85, 224,
+ 193, 156, 227, 52, 69, 224, 193, 156, 227, 52, 69, 245, 119, 156, 227,
+ 52, 85, 248, 66, 231, 65, 69, 213, 169, 110, 245, 119, 156, 88, 182, 66,
+ 134, 231, 217, 66, 134, 110, 66, 134, 110, 220, 100, 216, 66, 250, 24,
+ 224, 178, 156, 227, 52, 110, 220, 100, 250, 24, 224, 178, 156, 227, 52,
+ 110, 52, 216, 66, 250, 24, 224, 178, 156, 227, 52, 110, 52, 250, 24, 224,
+ 178, 156, 227, 52, 110, 117, 220, 100, 250, 24, 224, 178, 156, 227, 52,
+ 110, 117, 52, 250, 24, 224, 178, 156, 227, 52, 249, 156, 219, 94, 226,
+ 180, 5, 227, 52, 110, 245, 119, 156, 227, 52, 110, 242, 75, 245, 119,
+ 156, 227, 52, 110, 85, 242, 74, 223, 123, 110, 85, 242, 75, 251, 167,
+ 244, 144, 242, 74, 223, 123, 244, 144, 242, 75, 251, 167, 231, 217, 43,
+ 226, 169, 227, 52, 231, 217, 47, 226, 169, 227, 52, 231, 217, 244, 152,
+ 43, 226, 169, 227, 52, 231, 217, 244, 152, 47, 226, 169, 227, 52, 231,
+ 217, 233, 164, 254, 146, 251, 210, 227, 52, 231, 217, 223, 178, 254, 146,
+ 251, 210, 227, 52, 110, 233, 164, 254, 146, 224, 178, 156, 227, 52, 110,
+ 223, 178, 254, 146, 224, 178, 156, 227, 52, 110, 233, 164, 254, 146, 251,
+ 210, 227, 52, 110, 223, 178, 254, 146, 251, 210, 227, 52, 182, 43, 216,
+ 232, 220, 254, 251, 210, 227, 52, 182, 47, 216, 232, 220, 254, 251, 210,
+ 227, 52, 231, 217, 43, 249, 163, 251, 210, 227, 52, 231, 217, 47, 249,
+ 163, 251, 210, 227, 52, 248, 21, 150, 37, 21, 118, 248, 21, 150, 37, 21,
+ 112, 248, 21, 150, 37, 21, 170, 248, 21, 150, 37, 21, 167, 248, 21, 150,
+ 37, 21, 185, 248, 21, 150, 37, 21, 192, 248, 21, 150, 37, 21, 200, 248,
+ 21, 150, 37, 21, 198, 248, 21, 150, 37, 21, 203, 248, 21, 150, 37, 51,
+ 217, 213, 248, 21, 37, 35, 21, 118, 248, 21, 37, 35, 21, 112, 248, 21,
+ 37, 35, 21, 170, 248, 21, 37, 35, 21, 167, 248, 21, 37, 35, 21, 185, 248,
+ 21, 37, 35, 21, 192, 248, 21, 37, 35, 21, 200, 248, 21, 37, 35, 21, 198,
+ 248, 21, 37, 35, 21, 203, 248, 21, 37, 35, 51, 217, 213, 248, 21, 150,
+ 37, 35, 21, 118, 248, 21, 150, 37, 35, 21, 112, 248, 21, 150, 37, 35, 21,
+ 170, 248, 21, 150, 37, 35, 21, 167, 248, 21, 150, 37, 35, 21, 185, 248,
+ 21, 150, 37, 35, 21, 192, 248, 21, 150, 37, 35, 21, 200, 248, 21, 150,
+ 37, 35, 21, 198, 248, 21, 150, 37, 35, 21, 203, 248, 21, 150, 37, 35, 51,
+ 217, 213, 110, 213, 234, 96, 71, 110, 95, 53, 110, 231, 65, 53, 110, 247,
+ 242, 53, 110, 219, 234, 246, 41, 71, 110, 96, 71, 110, 228, 210, 246, 41,
+ 71, 246, 173, 225, 181, 96, 71, 110, 223, 120, 96, 71, 216, 195, 96, 71,
+ 110, 216, 195, 96, 71, 248, 222, 216, 195, 96, 71, 110, 248, 222, 216,
+ 195, 96, 71, 85, 96, 71, 217, 110, 216, 238, 96, 254, 35, 217, 110, 251,
+ 224, 96, 254, 35, 85, 96, 254, 35, 110, 85, 249, 156, 246, 179, 22, 96,
+ 71, 110, 85, 249, 156, 215, 130, 22, 96, 71, 219, 182, 85, 96, 71, 110,
+ 250, 11, 85, 96, 71, 223, 177, 69, 96, 71, 233, 163, 69, 96, 71, 252,
+ 227, 221, 36, 69, 96, 71, 244, 75, 221, 36, 69, 96, 71, 110, 232, 237,
+ 223, 176, 69, 96, 71, 110, 215, 137, 223, 176, 69, 96, 71, 228, 203, 232,
+ 237, 223, 176, 69, 96, 71, 249, 163, 232, 251, 228, 203, 215, 137, 223,
+ 176, 69, 96, 71, 37, 110, 69, 96, 71, 213, 240, 96, 71, 252, 12, 219,
+ 234, 246, 41, 71, 252, 12, 96, 71, 252, 12, 228, 210, 246, 41, 71, 110,
+ 252, 12, 219, 234, 246, 41, 71, 110, 252, 12, 96, 71, 110, 252, 12, 228,
+ 210, 246, 41, 71, 217, 238, 96, 71, 110, 217, 237, 96, 71, 214, 5, 96,
+ 71, 110, 214, 5, 96, 71, 227, 75, 96, 71, 52, 249, 163, 232, 251, 137,
+ 248, 31, 254, 145, 69, 216, 197, 249, 249, 4, 69, 216, 196, 226, 83, 210,
+ 219, 22, 210, 218, 235, 43, 223, 28, 252, 218, 248, 132, 47, 223, 28,
+ 252, 218, 248, 132, 171, 2, 62, 236, 73, 223, 237, 219, 251, 225, 117,
+ 219, 22, 218, 236, 225, 117, 219, 250, 66, 252, 187, 2, 201, 91, 187,
+ 247, 241, 92, 233, 17, 254, 154, 92, 233, 17, 227, 62, 69, 248, 66, 2,
+ 250, 230, 247, 195, 22, 2, 247, 195, 245, 248, 68, 227, 73, 215, 129,
+ 232, 237, 47, 249, 223, 2, 247, 195, 215, 137, 43, 249, 223, 2, 247, 195,
+ 43, 227, 34, 235, 183, 47, 227, 34, 235, 183, 244, 64, 227, 34, 235, 183,
+ 233, 207, 116, 218, 50, 233, 207, 121, 218, 50, 43, 22, 47, 52, 216, 65,
+ 43, 22, 47, 218, 50, 43, 230, 227, 187, 47, 218, 50, 187, 43, 218, 50,
+ 116, 218, 51, 2, 250, 96, 50, 232, 234, 247, 246, 251, 132, 201, 223, 70,
+ 69, 250, 10, 248, 65, 69, 250, 10, 248, 66, 2, 135, 217, 81, 69, 250, 10,
+ 248, 66, 2, 96, 217, 81, 69, 42, 2, 135, 217, 81, 69, 42, 2, 96, 217, 81,
+ 14, 43, 69, 42, 125, 14, 47, 69, 42, 125, 14, 43, 254, 146, 125, 14, 47,
+ 254, 146, 125, 14, 43, 52, 254, 146, 125, 14, 47, 52, 254, 146, 125, 14,
+ 43, 69, 216, 232, 220, 254, 125, 14, 47, 69, 216, 232, 220, 254, 125, 14,
+ 43, 244, 152, 226, 168, 14, 47, 244, 152, 226, 168, 215, 130, 224, 204,
+ 71, 246, 179, 224, 204, 71, 254, 126, 243, 194, 250, 96, 71, 250, 62,
+ 243, 194, 250, 96, 71, 47, 80, 2, 37, 225, 192, 187, 135, 71, 187, 96,
+ 71, 187, 43, 47, 71, 187, 135, 52, 71, 187, 96, 52, 71, 187, 43, 47, 52,
+ 71, 187, 135, 80, 244, 77, 134, 187, 96, 80, 244, 77, 134, 187, 135, 52,
+ 80, 244, 77, 134, 187, 96, 52, 80, 244, 77, 134, 187, 96, 219, 181, 71,
+ 45, 46, 252, 7, 45, 46, 247, 192, 45, 46, 247, 64, 45, 46, 247, 191, 45,
+ 46, 247, 0, 45, 46, 247, 127, 45, 46, 247, 63, 45, 46, 247, 190, 45, 46,
+ 246, 224, 45, 46, 247, 95, 45, 46, 247, 31, 45, 46, 247, 158, 45, 46,
+ 246, 255, 45, 46, 247, 126, 45, 46, 247, 62, 45, 46, 247, 189, 45, 46,
+ 246, 208, 45, 46, 247, 79, 45, 46, 247, 15, 45, 46, 247, 142, 45, 46,
+ 246, 239, 45, 46, 247, 110, 45, 46, 247, 46, 45, 46, 247, 173, 45, 46,
+ 246, 223, 45, 46, 247, 94, 45, 46, 247, 30, 45, 46, 247, 157, 45, 46,
+ 246, 254, 45, 46, 247, 125, 45, 46, 247, 61, 45, 46, 247, 188, 45, 46,
+ 246, 200, 45, 46, 247, 71, 45, 46, 247, 7, 45, 46, 247, 134, 45, 46, 246,
+ 231, 45, 46, 247, 102, 45, 46, 247, 38, 45, 46, 247, 165, 45, 46, 246,
+ 215, 45, 46, 247, 86, 45, 46, 247, 22, 45, 46, 247, 149, 45, 46, 246,
+ 246, 45, 46, 247, 117, 45, 46, 247, 53, 45, 46, 247, 180, 45, 46, 246,
+ 207, 45, 46, 247, 78, 45, 46, 247, 14, 45, 46, 247, 141, 45, 46, 246,
+ 238, 45, 46, 247, 109, 45, 46, 247, 45, 45, 46, 247, 172, 45, 46, 246,
+ 222, 45, 46, 247, 93, 45, 46, 247, 29, 45, 46, 247, 156, 45, 46, 246,
+ 253, 45, 46, 247, 124, 45, 46, 247, 60, 45, 46, 247, 187, 45, 46, 246,
+ 196, 45, 46, 247, 67, 45, 46, 247, 3, 45, 46, 247, 130, 45, 46, 246, 227,
+ 45, 46, 247, 98, 45, 46, 247, 34, 45, 46, 247, 161, 45, 46, 246, 211, 45,
+ 46, 247, 82, 45, 46, 247, 18, 45, 46, 247, 145, 45, 46, 246, 242, 45, 46,
+ 247, 113, 45, 46, 247, 49, 45, 46, 247, 176, 45, 46, 246, 203, 45, 46,
+ 247, 74, 45, 46, 247, 10, 45, 46, 247, 137, 45, 46, 246, 234, 45, 46,
+ 247, 105, 45, 46, 247, 41, 45, 46, 247, 168, 45, 46, 246, 218, 45, 46,
+ 247, 89, 45, 46, 247, 25, 45, 46, 247, 152, 45, 46, 246, 249, 45, 46,
+ 247, 120, 45, 46, 247, 56, 45, 46, 247, 183, 45, 46, 246, 199, 45, 46,
+ 247, 70, 45, 46, 247, 6, 45, 46, 247, 133, 45, 46, 246, 230, 45, 46, 247,
+ 101, 45, 46, 247, 37, 45, 46, 247, 164, 45, 46, 246, 214, 45, 46, 247,
+ 85, 45, 46, 247, 21, 45, 46, 247, 148, 45, 46, 246, 245, 45, 46, 247,
+ 116, 45, 46, 247, 52, 45, 46, 247, 179, 45, 46, 246, 206, 45, 46, 247,
+ 77, 45, 46, 247, 13, 45, 46, 247, 140, 45, 46, 246, 237, 45, 46, 247,
+ 108, 45, 46, 247, 44, 45, 46, 247, 171, 45, 46, 246, 221, 45, 46, 247,
+ 92, 45, 46, 247, 28, 45, 46, 247, 155, 45, 46, 246, 252, 45, 46, 247,
+ 123, 45, 46, 247, 59, 45, 46, 247, 186, 45, 46, 246, 194, 45, 46, 247,
+ 65, 45, 46, 247, 1, 45, 46, 247, 128, 45, 46, 246, 225, 45, 46, 247, 96,
+ 45, 46, 247, 32, 45, 46, 247, 159, 45, 46, 246, 209, 45, 46, 247, 80, 45,
+ 46, 247, 16, 45, 46, 247, 143, 45, 46, 246, 240, 45, 46, 247, 111, 45,
+ 46, 247, 47, 45, 46, 247, 174, 45, 46, 246, 201, 45, 46, 247, 72, 45, 46,
+ 247, 8, 45, 46, 247, 135, 45, 46, 246, 232, 45, 46, 247, 103, 45, 46,
+ 247, 39, 45, 46, 247, 166, 45, 46, 246, 216, 45, 46, 247, 87, 45, 46,
+ 247, 23, 45, 46, 247, 150, 45, 46, 246, 247, 45, 46, 247, 118, 45, 46,
+ 247, 54, 45, 46, 247, 181, 45, 46, 246, 197, 45, 46, 247, 68, 45, 46,
+ 247, 4, 45, 46, 247, 131, 45, 46, 246, 228, 45, 46, 247, 99, 45, 46, 247,
+ 35, 45, 46, 247, 162, 45, 46, 246, 212, 45, 46, 247, 83, 45, 46, 247, 19,
+ 45, 46, 247, 146, 45, 46, 246, 243, 45, 46, 247, 114, 45, 46, 247, 50,
+ 45, 46, 247, 177, 45, 46, 246, 204, 45, 46, 247, 75, 45, 46, 247, 11, 45,
+ 46, 247, 138, 45, 46, 246, 235, 45, 46, 247, 106, 45, 46, 247, 42, 45,
+ 46, 247, 169, 45, 46, 246, 219, 45, 46, 247, 90, 45, 46, 247, 26, 45, 46,
+ 247, 153, 45, 46, 246, 250, 45, 46, 247, 121, 45, 46, 247, 57, 45, 46,
+ 247, 184, 45, 46, 246, 195, 45, 46, 247, 66, 45, 46, 247, 2, 45, 46, 247,
+ 129, 45, 46, 246, 226, 45, 46, 247, 97, 45, 46, 247, 33, 45, 46, 247,
+ 160, 45, 46, 246, 210, 45, 46, 247, 81, 45, 46, 247, 17, 45, 46, 247,
+ 144, 45, 46, 246, 241, 45, 46, 247, 112, 45, 46, 247, 48, 45, 46, 247,
+ 175, 45, 46, 246, 202, 45, 46, 247, 73, 45, 46, 247, 9, 45, 46, 247, 136,
+ 45, 46, 246, 233, 45, 46, 247, 104, 45, 46, 247, 40, 45, 46, 247, 167,
+ 45, 46, 246, 217, 45, 46, 247, 88, 45, 46, 247, 24, 45, 46, 247, 151, 45,
+ 46, 246, 248, 45, 46, 247, 119, 45, 46, 247, 55, 45, 46, 247, 182, 45,
+ 46, 246, 198, 45, 46, 247, 69, 45, 46, 247, 5, 45, 46, 247, 132, 45, 46,
+ 246, 229, 45, 46, 247, 100, 45, 46, 247, 36, 45, 46, 247, 163, 45, 46,
+ 246, 213, 45, 46, 247, 84, 45, 46, 247, 20, 45, 46, 247, 147, 45, 46,
+ 246, 244, 45, 46, 247, 115, 45, 46, 247, 51, 45, 46, 247, 178, 45, 46,
+ 246, 205, 45, 46, 247, 76, 45, 46, 247, 12, 45, 46, 247, 139, 45, 46,
+ 246, 236, 45, 46, 247, 107, 45, 46, 247, 43, 45, 46, 247, 170, 45, 46,
+ 246, 220, 45, 46, 247, 91, 45, 46, 247, 27, 45, 46, 247, 154, 45, 46,
+ 246, 251, 45, 46, 247, 122, 45, 46, 247, 58, 45, 46, 247, 185, 96, 216,
+ 31, 80, 2, 66, 91, 96, 216, 31, 80, 2, 52, 66, 91, 135, 52, 80, 2, 66,
+ 91, 96, 52, 80, 2, 66, 91, 43, 47, 52, 80, 2, 66, 91, 96, 216, 31, 80,
+ 244, 77, 134, 135, 52, 80, 244, 77, 134, 96, 52, 80, 244, 77, 134, 246,
+ 179, 80, 2, 201, 91, 215, 130, 80, 2, 201, 91, 215, 130, 216, 182, 71,
+ 246, 179, 216, 182, 71, 135, 52, 248, 224, 71, 96, 52, 248, 224, 71, 135,
+ 216, 182, 248, 224, 71, 96, 216, 182, 248, 224, 71, 96, 216, 31, 216,
+ 182, 248, 224, 71, 96, 80, 2, 246, 193, 219, 93, 215, 130, 80, 217, 10,
+ 134, 246, 179, 80, 217, 10, 134, 96, 80, 2, 218, 41, 2, 66, 91, 96, 80,
+ 2, 218, 41, 2, 52, 66, 91, 96, 216, 31, 80, 2, 218, 40, 96, 216, 31, 80,
+ 2, 218, 41, 2, 66, 91, 96, 216, 31, 80, 2, 218, 41, 2, 52, 66, 91, 135,
+ 254, 37, 96, 254, 37, 135, 52, 254, 37, 96, 52, 254, 37, 135, 80, 217,
+ 10, 85, 248, 65, 96, 80, 217, 10, 85, 248, 65, 135, 80, 244, 77, 252,
+ 187, 217, 10, 85, 248, 65, 96, 80, 244, 77, 252, 187, 217, 10, 85, 248,
+ 65, 228, 210, 213, 253, 22, 219, 234, 246, 41, 71, 228, 210, 246, 41, 22,
+ 219, 234, 213, 253, 71, 228, 210, 213, 253, 80, 2, 102, 228, 210, 246,
+ 41, 80, 2, 102, 219, 234, 246, 41, 80, 2, 102, 219, 234, 213, 253, 80, 2,
+ 102, 228, 210, 213, 253, 80, 22, 228, 210, 246, 41, 71, 228, 210, 246,
+ 41, 80, 22, 219, 234, 246, 41, 71, 219, 234, 246, 41, 80, 22, 219, 234,
+ 213, 253, 71, 219, 234, 213, 253, 80, 22, 228, 210, 213, 253, 71, 223,
+ 159, 248, 72, 249, 188, 245, 8, 248, 71, 245, 8, 248, 72, 249, 188, 223,
+ 159, 248, 71, 219, 234, 246, 41, 80, 249, 188, 228, 210, 246, 41, 71,
+ 228, 210, 246, 41, 80, 249, 188, 219, 234, 246, 41, 71, 245, 8, 248, 72,
+ 249, 188, 228, 210, 246, 41, 71, 223, 159, 248, 72, 249, 188, 219, 234,
+ 246, 41, 71, 228, 210, 246, 41, 80, 249, 188, 228, 210, 213, 253, 71,
+ 228, 210, 213, 253, 80, 249, 188, 228, 210, 246, 41, 71, 214, 23, 80,
+ 225, 177, 248, 12, 223, 182, 80, 225, 177, 96, 217, 154, 249, 155, 215,
+ 129, 80, 225, 177, 96, 217, 154, 249, 155, 246, 178, 80, 225, 177, 246,
+ 179, 217, 154, 249, 155, 233, 159, 80, 225, 177, 246, 179, 217, 154, 249,
+ 155, 223, 172, 223, 175, 254, 67, 250, 62, 71, 233, 162, 254, 67, 254,
+ 126, 71, 216, 240, 254, 67, 254, 126, 71, 251, 226, 254, 67, 254, 126,
+ 71, 216, 240, 254, 67, 250, 62, 80, 2, 231, 64, 216, 240, 254, 67, 254,
+ 126, 80, 2, 225, 192, 232, 237, 47, 221, 95, 250, 62, 71, 232, 237, 43,
+ 221, 95, 254, 126, 71, 254, 126, 250, 60, 250, 96, 71, 250, 62, 250, 60,
+ 250, 96, 71, 96, 80, 74, 220, 196, 135, 71, 135, 80, 74, 220, 196, 96,
+ 71, 220, 196, 96, 80, 74, 135, 71, 96, 80, 2, 95, 55, 135, 80, 2, 95, 55,
+ 96, 80, 217, 106, 213, 169, 43, 47, 80, 217, 106, 4, 250, 95, 215, 130,
+ 216, 31, 80, 244, 77, 4, 250, 95, 43, 252, 185, 116, 47, 252, 185, 121,
+ 242, 101, 43, 252, 185, 121, 47, 252, 185, 116, 242, 101, 116, 252, 185,
+ 47, 121, 252, 185, 43, 242, 101, 116, 252, 185, 43, 121, 252, 185, 47,
+ 242, 101, 43, 252, 185, 116, 47, 252, 185, 116, 242, 101, 116, 252, 185,
+ 47, 121, 252, 185, 47, 242, 101, 43, 252, 185, 121, 47, 252, 185, 121,
+ 242, 101, 116, 252, 185, 43, 121, 252, 185, 43, 242, 101, 135, 242, 102,
+ 2, 252, 185, 116, 217, 10, 134, 96, 242, 102, 2, 252, 185, 116, 217, 10,
+ 134, 215, 130, 242, 102, 2, 252, 185, 47, 217, 10, 134, 246, 179, 242,
+ 102, 2, 252, 185, 47, 217, 10, 134, 135, 242, 102, 2, 252, 185, 121, 217,
+ 10, 134, 96, 242, 102, 2, 252, 185, 121, 217, 10, 134, 215, 130, 242,
+ 102, 2, 252, 185, 43, 217, 10, 134, 246, 179, 242, 102, 2, 252, 185, 43,
+ 217, 10, 134, 135, 242, 102, 2, 252, 185, 116, 244, 77, 134, 96, 242,
+ 102, 2, 252, 185, 116, 244, 77, 134, 215, 130, 242, 102, 2, 252, 185, 47,
+ 244, 77, 134, 246, 179, 242, 102, 2, 252, 185, 47, 244, 77, 134, 135,
+ 242, 102, 2, 252, 185, 121, 244, 77, 134, 96, 242, 102, 2, 252, 185, 121,
+ 244, 77, 134, 215, 130, 242, 102, 2, 252, 185, 43, 244, 77, 134, 246,
+ 179, 242, 102, 2, 252, 185, 43, 244, 77, 134, 135, 242, 102, 2, 252, 185,
+ 116, 74, 135, 242, 102, 2, 252, 185, 246, 181, 215, 130, 242, 102, 2,
+ 252, 185, 43, 252, 77, 215, 130, 242, 102, 2, 252, 185, 223, 182, 96,
+ 242, 102, 2, 252, 185, 116, 74, 96, 242, 102, 2, 252, 185, 246, 181, 246,
+ 179, 242, 102, 2, 252, 185, 43, 252, 77, 246, 179, 242, 102, 2, 252, 185,
+ 223, 182, 135, 242, 102, 2, 252, 185, 116, 74, 96, 242, 102, 2, 252, 185,
+ 215, 140, 135, 242, 102, 2, 252, 185, 121, 74, 96, 242, 102, 2, 252, 185,
+ 246, 181, 96, 242, 102, 2, 252, 185, 116, 74, 135, 242, 102, 2, 252, 185,
+ 215, 140, 96, 242, 102, 2, 252, 185, 121, 74, 135, 242, 102, 2, 252, 185,
+ 246, 181, 135, 242, 102, 2, 252, 185, 116, 74, 187, 248, 223, 135, 242,
+ 102, 2, 252, 185, 121, 252, 90, 187, 248, 223, 96, 242, 102, 2, 252, 185,
+ 116, 74, 187, 248, 223, 96, 242, 102, 2, 252, 185, 121, 252, 90, 187,
+ 248, 223, 215, 130, 242, 102, 2, 252, 185, 43, 252, 77, 246, 179, 242,
+ 102, 2, 252, 185, 223, 182, 246, 179, 242, 102, 2, 252, 185, 43, 252, 77,
+ 215, 130, 242, 102, 2, 252, 185, 223, 182, 47, 52, 80, 2, 223, 119, 242,
+ 82, 245, 182, 5, 74, 96, 71, 217, 56, 227, 72, 74, 96, 71, 135, 80, 74,
+ 217, 56, 227, 71, 96, 80, 74, 217, 56, 227, 71, 96, 80, 74, 254, 184,
+ 126, 109, 233, 137, 74, 135, 71, 135, 80, 217, 106, 233, 136, 242, 228,
+ 74, 96, 71, 219, 23, 74, 96, 71, 135, 80, 217, 106, 219, 22, 218, 236,
+ 74, 135, 71, 43, 244, 180, 218, 40, 47, 244, 180, 218, 40, 116, 244, 180,
+ 218, 40, 121, 244, 180, 218, 40, 216, 182, 66, 252, 187, 248, 132, 212,
+ 153, 179, 219, 193, 212, 153, 179, 216, 22, 250, 30, 43, 69, 249, 163,
+ 125, 47, 69, 249, 163, 125, 43, 69, 226, 168, 47, 69, 226, 168, 212, 153,
+ 179, 43, 236, 127, 125, 212, 153, 179, 47, 236, 127, 125, 212, 153, 179,
+ 43, 252, 34, 125, 212, 153, 179, 47, 252, 34, 125, 43, 42, 251, 210, 2,
+ 215, 159, 47, 42, 251, 210, 2, 215, 159, 43, 42, 251, 210, 2, 217, 82,
+ 236, 113, 216, 240, 249, 222, 47, 42, 251, 210, 2, 217, 82, 236, 113,
+ 251, 226, 249, 222, 43, 42, 251, 210, 2, 217, 82, 236, 113, 251, 226,
+ 249, 222, 47, 42, 251, 210, 2, 217, 82, 236, 113, 216, 240, 249, 222, 43,
+ 254, 146, 251, 210, 2, 247, 195, 47, 254, 146, 251, 210, 2, 247, 195, 43,
+ 254, 67, 233, 137, 125, 47, 254, 67, 242, 228, 125, 52, 43, 254, 67, 242,
+ 228, 125, 52, 47, 254, 67, 233, 137, 125, 43, 85, 216, 232, 220, 254,
+ 125, 47, 85, 216, 232, 220, 254, 125, 246, 193, 244, 224, 66, 212, 28,
+ 233, 83, 231, 223, 254, 146, 227, 73, 233, 168, 47, 254, 146, 214, 250,
+ 2, 219, 185, 231, 223, 47, 254, 146, 2, 247, 195, 254, 146, 2, 223, 29,
+ 236, 73, 255, 36, 254, 145, 219, 206, 254, 146, 227, 73, 233, 168, 219,
+ 206, 254, 146, 227, 73, 215, 140, 216, 66, 254, 145, 223, 236, 254, 145,
+ 254, 146, 2, 215, 159, 223, 236, 254, 146, 2, 215, 159, 227, 149, 254,
+ 146, 227, 73, 215, 140, 227, 149, 254, 146, 227, 73, 246, 181, 231, 223,
+ 254, 146, 2, 210, 254, 47, 245, 219, 236, 113, 80, 225, 177, 116, 22,
+ 223, 182, 231, 223, 254, 146, 2, 210, 254, 47, 245, 219, 236, 113, 80,
+ 225, 177, 116, 22, 233, 168, 231, 223, 254, 146, 2, 210, 254, 47, 245,
+ 219, 236, 113, 80, 225, 177, 121, 22, 223, 182, 231, 223, 254, 146, 2,
+ 210, 254, 47, 245, 219, 236, 113, 80, 225, 177, 121, 22, 233, 168, 231,
+ 223, 254, 146, 2, 210, 254, 47, 245, 219, 236, 113, 80, 225, 177, 47, 22,
+ 215, 140, 231, 223, 254, 146, 2, 210, 254, 47, 245, 219, 236, 113, 80,
+ 225, 177, 43, 22, 215, 140, 231, 223, 254, 146, 2, 210, 254, 47, 245,
+ 219, 236, 113, 80, 225, 177, 47, 22, 246, 181, 231, 223, 254, 146, 2,
+ 210, 254, 47, 245, 219, 236, 113, 80, 225, 177, 43, 22, 246, 181, 223,
+ 236, 245, 231, 221, 71, 245, 231, 221, 72, 2, 227, 29, 245, 231, 221, 72,
+ 2, 4, 250, 96, 50, 245, 231, 221, 72, 2, 47, 80, 50, 245, 231, 221, 72,
+ 2, 43, 80, 50, 250, 96, 2, 201, 134, 37, 66, 134, 37, 226, 172, 37, 223,
+ 237, 219, 250, 37, 226, 83, 250, 96, 247, 246, 251, 132, 201, 252, 187,
+ 22, 216, 240, 157, 247, 246, 251, 132, 66, 134, 250, 96, 2, 218, 238,
+ 213, 169, 37, 254, 125, 247, 242, 53, 116, 80, 217, 106, 250, 95, 37, 69,
+ 251, 167, 37, 251, 167, 37, 233, 136, 37, 242, 227, 250, 96, 2, 4, 250,
+ 96, 217, 10, 217, 162, 223, 182, 250, 96, 2, 119, 201, 219, 47, 217, 10,
+ 217, 162, 223, 182, 92, 223, 159, 248, 72, 220, 42, 92, 245, 8, 248, 72,
+ 220, 42, 92, 254, 3, 92, 4, 250, 95, 92, 219, 185, 119, 235, 182, 219,
+ 183, 216, 197, 2, 62, 50, 216, 197, 2, 215, 159, 223, 29, 236, 113, 216,
+ 196, 216, 197, 2, 221, 78, 253, 250, 251, 225, 47, 216, 197, 74, 43, 216,
+ 196, 43, 216, 197, 252, 77, 66, 134, 66, 252, 187, 252, 77, 47, 216, 196,
+ 251, 216, 2, 43, 157, 252, 13, 251, 216, 2, 47, 157, 252, 13, 85, 251,
+ 215, 29, 2, 43, 157, 252, 13, 29, 2, 47, 157, 252, 13, 69, 241, 85, 85,
+ 241, 85, 43, 213, 232, 244, 224, 47, 213, 232, 244, 224, 43, 52, 213,
+ 232, 244, 224, 47, 52, 213, 232, 244, 224, 236, 105, 236, 92, 217, 79,
+ 113, 236, 92, 236, 93, 229, 250, 2, 66, 134, 246, 187, 230, 227, 42, 2,
+ 249, 243, 227, 33, 236, 103, 254, 23, 220, 164, 225, 99, 245, 182, 5, 22,
+ 220, 44, 226, 172, 245, 182, 5, 22, 220, 44, 226, 173, 2, 217, 56, 50,
+ 240, 214, 217, 10, 22, 220, 44, 226, 172, 243, 23, 219, 108, 217, 151,
+ 246, 180, 216, 197, 2, 43, 157, 252, 13, 246, 180, 216, 197, 2, 47, 157,
+ 252, 13, 85, 248, 66, 2, 121, 71, 85, 232, 233, 69, 250, 96, 2, 121, 71,
+ 85, 250, 96, 2, 121, 71, 245, 169, 69, 219, 185, 245, 169, 85, 219, 185,
+ 245, 169, 69, 248, 65, 245, 169, 85, 248, 65, 245, 169, 69, 250, 95, 245,
+ 169, 85, 250, 95, 223, 69, 223, 237, 219, 251, 227, 71, 219, 251, 2, 227,
+ 29, 223, 237, 219, 251, 2, 201, 91, 252, 41, 219, 250, 252, 41, 223, 237,
+ 219, 250, 52, 225, 192, 216, 182, 225, 192, 233, 164, 249, 156, 254, 146,
+ 125, 223, 178, 249, 156, 254, 146, 125, 217, 45, 231, 62, 230, 166, 37,
+ 62, 227, 71, 230, 166, 37, 95, 227, 71, 230, 166, 37, 29, 227, 71, 230,
+ 166, 215, 153, 227, 72, 2, 247, 195, 230, 166, 215, 153, 227, 72, 2, 225,
+ 192, 230, 166, 42, 236, 57, 227, 71, 230, 166, 42, 215, 153, 227, 71,
+ 119, 233, 17, 22, 227, 71, 119, 233, 17, 171, 227, 71, 230, 166, 29, 227,
+ 71, 231, 38, 119, 219, 2, 219, 0, 2, 236, 69, 224, 204, 236, 70, 227, 71,
+ 244, 188, 226, 164, 236, 69, 236, 70, 2, 52, 91, 236, 70, 253, 216, 2,
+ 220, 42, 250, 92, 244, 61, 254, 126, 236, 67, 233, 84, 236, 68, 2, 224,
+ 42, 226, 147, 254, 44, 225, 171, 233, 84, 236, 68, 2, 221, 95, 226, 147,
+ 254, 44, 225, 171, 233, 84, 236, 68, 228, 206, 236, 107, 217, 162, 225,
+ 171, 236, 70, 254, 44, 111, 225, 181, 227, 71, 224, 198, 236, 70, 227,
+ 71, 236, 70, 2, 135, 80, 2, 102, 236, 70, 2, 29, 53, 236, 70, 2, 236, 56,
+ 236, 70, 2, 215, 152, 236, 70, 2, 227, 29, 236, 70, 2, 215, 159, 235,
+ 183, 233, 207, 43, 216, 197, 227, 71, 212, 153, 179, 222, 142, 250, 14,
+ 212, 153, 179, 222, 142, 225, 224, 212, 153, 179, 222, 142, 225, 96, 95,
+ 5, 2, 4, 250, 96, 50, 95, 5, 2, 250, 91, 255, 47, 50, 95, 5, 2, 217, 56,
+ 50, 95, 5, 2, 62, 55, 95, 5, 2, 217, 56, 55, 95, 5, 2, 219, 24, 112, 95,
+ 5, 2, 85, 216, 196, 231, 65, 5, 2, 250, 24, 50, 231, 65, 5, 2, 62, 55,
+ 231, 65, 5, 2, 245, 8, 247, 193, 231, 65, 5, 2, 223, 159, 247, 193, 95,
+ 5, 236, 113, 43, 157, 250, 95, 95, 5, 236, 113, 47, 157, 250, 95, 214,
+ 236, 171, 249, 194, 225, 99, 230, 224, 5, 2, 62, 50, 230, 224, 5, 2, 215,
+ 159, 221, 92, 225, 100, 2, 251, 226, 250, 59, 220, 24, 225, 99, 230, 224,
+ 5, 236, 113, 43, 157, 250, 95, 230, 224, 5, 236, 113, 47, 157, 250, 95,
+ 37, 230, 224, 5, 2, 250, 91, 255, 46, 230, 224, 5, 236, 113, 52, 250, 95,
+ 37, 247, 242, 53, 95, 5, 236, 113, 216, 196, 231, 65, 5, 236, 113, 216,
+ 196, 230, 224, 5, 236, 113, 216, 196, 236, 64, 225, 99, 223, 173, 236,
+ 64, 225, 99, 212, 153, 179, 224, 18, 250, 14, 254, 170, 171, 249, 227,
+ 236, 57, 2, 247, 195, 215, 153, 2, 231, 65, 53, 215, 153, 2, 227, 29,
+ 236, 57, 2, 227, 29, 236, 57, 2, 233, 17, 254, 154, 215, 153, 2, 233, 17,
+ 227, 62, 215, 153, 74, 236, 56, 236, 57, 74, 215, 152, 215, 153, 74, 252,
+ 187, 74, 236, 56, 236, 57, 74, 252, 187, 74, 215, 152, 215, 153, 252, 77,
+ 22, 235, 182, 2, 215, 152, 236, 57, 252, 77, 22, 235, 182, 2, 236, 56,
+ 250, 60, 215, 153, 2, 221, 77, 250, 60, 236, 57, 2, 221, 77, 52, 42, 236,
+ 56, 52, 42, 215, 152, 250, 60, 215, 153, 2, 221, 78, 22, 220, 24, 225,
+ 99, 233, 17, 22, 2, 62, 50, 233, 17, 171, 2, 62, 50, 52, 233, 17, 254,
+ 154, 52, 233, 17, 227, 62, 119, 236, 58, 233, 17, 254, 154, 119, 236, 58,
+ 233, 17, 227, 62, 220, 32, 233, 207, 227, 62, 220, 32, 233, 207, 254,
+ 154, 233, 17, 171, 227, 27, 233, 17, 254, 154, 233, 17, 22, 2, 231, 107,
+ 219, 93, 233, 17, 171, 2, 231, 107, 219, 93, 233, 17, 22, 2, 201, 248,
+ 223, 233, 17, 171, 2, 201, 248, 223, 233, 17, 22, 2, 52, 227, 29, 233,
+ 17, 22, 2, 215, 159, 233, 17, 22, 2, 52, 215, 159, 4, 214, 233, 2, 215,
+ 159, 233, 17, 171, 2, 52, 227, 29, 233, 17, 171, 2, 52, 215, 159, 212,
+ 153, 179, 247, 204, 254, 117, 212, 153, 179, 224, 75, 254, 117, 245, 182,
+ 5, 2, 62, 55, 240, 214, 2, 62, 50, 216, 182, 201, 252, 187, 2, 52, 66,
+ 91, 216, 182, 201, 252, 187, 2, 216, 182, 66, 91, 217, 56, 227, 72, 2,
+ 62, 50, 217, 56, 227, 72, 2, 223, 159, 247, 193, 220, 107, 231, 65, 220,
+ 106, 250, 5, 2, 62, 50, 245, 182, 2, 254, 3, 254, 184, 126, 217, 10, 2,
+ 250, 91, 255, 46, 254, 89, 126, 171, 126, 109, 245, 182, 5, 74, 95, 53,
+ 95, 5, 74, 245, 182, 53, 245, 182, 5, 74, 217, 56, 227, 71, 52, 250, 31,
+ 245, 183, 119, 250, 0, 245, 182, 220, 121, 137, 250, 0, 245, 182, 220,
+ 121, 245, 182, 5, 2, 119, 181, 74, 22, 119, 181, 55, 245, 178, 2, 244,
+ 101, 181, 50, 233, 137, 2, 250, 96, 236, 73, 242, 228, 2, 250, 96, 236,
+ 73, 233, 137, 2, 224, 193, 156, 50, 242, 228, 2, 224, 193, 156, 50, 233,
+ 137, 171, 220, 44, 126, 109, 242, 228, 171, 220, 44, 126, 109, 233, 137,
+ 171, 220, 44, 126, 217, 10, 2, 62, 236, 73, 242, 228, 171, 220, 44, 126,
+ 217, 10, 2, 62, 236, 73, 233, 137, 171, 220, 44, 126, 217, 10, 2, 62, 50,
+ 242, 228, 171, 220, 44, 126, 217, 10, 2, 62, 50, 233, 137, 171, 220, 44,
+ 126, 217, 10, 2, 62, 74, 223, 182, 242, 228, 171, 220, 44, 126, 217, 10,
+ 2, 62, 74, 233, 168, 233, 137, 171, 254, 90, 242, 228, 171, 254, 90, 233,
+ 137, 22, 220, 98, 228, 206, 126, 109, 242, 228, 22, 220, 98, 228, 206,
+ 126, 109, 233, 137, 22, 228, 206, 254, 90, 242, 228, 22, 228, 206, 254,
+ 90, 233, 137, 74, 246, 186, 126, 74, 242, 227, 242, 228, 74, 246, 186,
+ 126, 74, 233, 136, 233, 137, 74, 220, 107, 171, 245, 183, 242, 228, 74,
+ 220, 107, 171, 245, 183, 233, 137, 74, 220, 107, 74, 242, 227, 242, 228,
+ 74, 220, 107, 74, 233, 136, 233, 137, 74, 242, 228, 74, 246, 186, 245,
+ 183, 242, 228, 74, 233, 137, 74, 246, 186, 245, 183, 233, 137, 74, 220,
+ 44, 126, 74, 242, 228, 74, 220, 44, 245, 183, 242, 228, 74, 220, 44, 126,
+ 74, 233, 137, 74, 220, 44, 245, 183, 220, 44, 126, 217, 10, 171, 233,
+ 136, 220, 44, 126, 217, 10, 171, 242, 227, 220, 44, 126, 217, 10, 171,
+ 233, 137, 2, 62, 236, 73, 220, 44, 126, 217, 10, 171, 242, 228, 2, 62,
+ 236, 73, 246, 186, 126, 217, 10, 171, 233, 136, 246, 186, 126, 217, 10,
+ 171, 242, 227, 246, 186, 220, 44, 126, 217, 10, 171, 233, 136, 246, 186,
+ 220, 44, 126, 217, 10, 171, 242, 227, 220, 107, 171, 233, 136, 220, 107,
+ 171, 242, 227, 220, 107, 74, 233, 137, 74, 245, 182, 53, 220, 107, 74,
+ 242, 228, 74, 245, 182, 53, 52, 229, 240, 233, 136, 52, 229, 240, 242,
+ 227, 52, 229, 240, 233, 137, 2, 215, 159, 242, 228, 227, 27, 233, 136,
+ 242, 228, 252, 77, 233, 136, 233, 137, 250, 60, 251, 132, 249, 157, 242,
+ 228, 250, 60, 251, 132, 249, 157, 233, 137, 250, 60, 251, 132, 249, 158,
+ 74, 220, 44, 245, 183, 242, 228, 250, 60, 251, 132, 249, 158, 74, 220,
+ 44, 245, 183, 220, 25, 217, 166, 233, 205, 217, 166, 220, 25, 217, 167,
+ 171, 126, 109, 233, 205, 217, 167, 171, 126, 109, 245, 182, 5, 2, 251,
+ 162, 50, 225, 119, 74, 220, 98, 245, 182, 53, 219, 15, 74, 220, 98, 245,
+ 182, 53, 225, 119, 74, 220, 98, 228, 206, 126, 109, 219, 15, 74, 220, 98,
+ 228, 206, 126, 109, 225, 119, 74, 245, 182, 53, 219, 15, 74, 245, 182,
+ 53, 225, 119, 74, 228, 206, 126, 109, 219, 15, 74, 228, 206, 126, 109,
+ 225, 119, 74, 254, 184, 126, 109, 219, 15, 74, 254, 184, 126, 109, 225,
+ 119, 74, 228, 206, 254, 184, 126, 109, 219, 15, 74, 228, 206, 254, 184,
+ 126, 109, 52, 225, 118, 52, 219, 14, 219, 23, 2, 247, 195, 218, 236, 2,
+ 247, 195, 219, 23, 2, 95, 5, 55, 218, 236, 2, 95, 5, 55, 219, 23, 2, 230,
+ 224, 5, 55, 218, 236, 2, 230, 224, 5, 55, 219, 23, 68, 171, 126, 217, 10,
+ 2, 62, 50, 218, 236, 68, 171, 126, 217, 10, 2, 62, 50, 219, 23, 68, 74,
+ 245, 182, 53, 218, 236, 68, 74, 245, 182, 53, 219, 23, 68, 74, 217, 56,
+ 227, 71, 218, 236, 68, 74, 217, 56, 227, 71, 219, 23, 68, 74, 254, 184,
+ 126, 109, 218, 236, 68, 74, 254, 184, 126, 109, 219, 23, 68, 74, 228,
+ 206, 126, 109, 218, 236, 68, 74, 228, 206, 126, 109, 42, 43, 210, 93,
+ 227, 71, 42, 47, 210, 93, 227, 71, 250, 60, 219, 22, 250, 60, 218, 235,
+ 250, 60, 219, 23, 171, 126, 109, 250, 60, 218, 236, 171, 126, 109, 219,
+ 23, 74, 218, 235, 218, 236, 74, 219, 22, 219, 23, 74, 219, 22, 218, 236,
+ 74, 218, 235, 218, 236, 252, 77, 219, 22, 218, 236, 252, 77, 22, 235,
+ 182, 251, 132, 248, 224, 2, 219, 22, 245, 248, 68, 227, 73, 246, 178,
+ 225, 216, 2, 217, 233, 216, 239, 216, 211, 236, 56, 244, 110, 228, 219,
+ 220, 196, 43, 218, 50, 220, 196, 121, 218, 50, 220, 196, 116, 218, 50,
+ 226, 84, 2, 196, 66, 252, 187, 216, 182, 47, 216, 65, 52, 66, 252, 187,
+ 43, 216, 65, 66, 252, 187, 52, 43, 216, 65, 52, 66, 252, 187, 52, 43,
+ 216, 65, 187, 248, 224, 244, 77, 43, 231, 197, 68, 52, 214, 221, 220,
+ 196, 121, 218, 51, 2, 227, 29, 220, 196, 116, 218, 51, 2, 215, 159, 220,
+ 196, 116, 218, 51, 74, 220, 196, 121, 218, 50, 52, 121, 218, 50, 52, 116,
+ 218, 50, 52, 219, 59, 228, 206, 53, 223, 236, 52, 219, 59, 228, 206, 53,
+ 247, 213, 228, 206, 247, 248, 2, 223, 236, 229, 249, 220, 42, 66, 233,
+ 84, 2, 250, 96, 50, 66, 233, 84, 2, 250, 96, 55, 121, 218, 51, 2, 250,
+ 96, 55, 226, 173, 2, 201, 91, 226, 173, 2, 217, 56, 227, 71, 216, 182,
+ 66, 252, 187, 252, 36, 224, 19, 216, 182, 66, 252, 187, 2, 201, 91, 216,
+ 182, 250, 31, 227, 71, 216, 182, 229, 240, 233, 136, 216, 182, 229, 240,
+ 242, 227, 246, 186, 220, 44, 233, 137, 171, 126, 109, 246, 186, 220, 44,
+ 242, 228, 171, 126, 109, 216, 182, 219, 251, 252, 36, 224, 19, 233, 207,
+ 216, 182, 66, 252, 187, 227, 71, 52, 219, 251, 227, 71, 69, 66, 134, 230,
+ 166, 69, 66, 134, 228, 210, 246, 41, 69, 71, 228, 210, 213, 253, 69, 71,
+ 219, 234, 246, 41, 69, 71, 219, 234, 213, 253, 69, 71, 43, 47, 69, 71,
+ 135, 85, 71, 215, 130, 85, 71, 246, 179, 85, 71, 228, 210, 246, 41, 85,
+ 71, 228, 210, 213, 253, 85, 71, 219, 234, 246, 41, 85, 71, 219, 234, 213,
+ 253, 85, 71, 43, 47, 85, 71, 116, 121, 85, 71, 96, 80, 2, 217, 44, 246,
+ 178, 96, 80, 2, 217, 44, 215, 129, 135, 80, 2, 217, 44, 246, 178, 135,
+ 80, 2, 217, 44, 215, 129, 42, 2, 216, 240, 157, 252, 13, 42, 2, 251, 226,
+ 157, 252, 13, 42, 2, 215, 137, 47, 248, 72, 157, 252, 13, 42, 2, 232,
+ 237, 43, 248, 72, 157, 252, 13, 248, 66, 2, 43, 157, 252, 13, 248, 66, 2,
+ 47, 157, 252, 13, 248, 66, 2, 216, 240, 157, 252, 13, 248, 66, 2, 251,
+ 226, 157, 252, 13, 246, 193, 219, 185, 85, 233, 207, 219, 185, 69, 233,
+ 207, 219, 185, 85, 214, 169, 4, 219, 185, 69, 214, 169, 4, 219, 185, 85,
+ 226, 101, 69, 226, 101, 69, 242, 41, 85, 242, 41, 201, 85, 242, 41, 85,
+ 233, 207, 250, 95, 85, 231, 217, 248, 65, 69, 231, 217, 248, 65, 85, 231,
+ 217, 232, 233, 69, 231, 217, 232, 233, 85, 4, 248, 65, 85, 4, 232, 233,
+ 69, 4, 232, 233, 85, 201, 245, 242, 69, 201, 245, 242, 85, 66, 245, 242,
+ 69, 66, 245, 242, 43, 80, 2, 4, 250, 95, 137, 135, 254, 33, 43, 80, 2,
+ 37, 225, 192, 187, 135, 219, 181, 71, 135, 216, 31, 80, 2, 66, 91, 135,
+ 216, 31, 80, 2, 52, 66, 91, 135, 216, 31, 80, 244, 77, 134, 135, 216, 31,
+ 216, 182, 248, 224, 71, 135, 80, 2, 246, 193, 219, 93, 135, 80, 2, 218,
+ 41, 2, 66, 91, 135, 80, 2, 218, 41, 2, 52, 66, 91, 135, 216, 31, 80, 2,
+ 218, 40, 135, 216, 31, 80, 2, 218, 41, 2, 66, 91, 135, 216, 31, 80, 2,
+ 218, 41, 2, 52, 66, 91, 135, 80, 217, 106, 213, 169, 214, 23, 80, 225,
+ 177, 248, 12, 233, 168, 245, 182, 5, 74, 135, 71, 223, 237, 217, 56, 227,
+ 72, 74, 135, 71, 135, 80, 74, 223, 237, 254, 184, 126, 109, 96, 80, 217,
+ 106, 242, 227, 96, 80, 217, 106, 218, 235, 135, 224, 204, 71, 96, 224,
+ 204, 71, 223, 237, 217, 56, 227, 72, 74, 96, 71, 96, 80, 74, 223, 237,
+ 254, 184, 126, 109, 217, 56, 227, 72, 74, 135, 71, 135, 80, 74, 254, 184,
+ 126, 109, 135, 80, 74, 223, 237, 217, 56, 227, 71, 96, 80, 74, 223, 237,
+ 217, 56, 227, 71, 69, 231, 217, 219, 109, 85, 4, 219, 109, 69, 4, 219,
+ 109, 85, 223, 178, 226, 101, 69, 223, 178, 226, 101, 110, 233, 207, 250,
+ 95, 110, 227, 30, 2, 227, 30, 236, 73, 110, 250, 96, 2, 250, 96, 236, 73,
+ 110, 250, 95, 110, 37, 222, 193, 140, 6, 1, 253, 202, 140, 6, 1, 251,
+ 171, 140, 6, 1, 214, 235, 140, 6, 1, 243, 25, 140, 6, 1, 247, 215, 140,
+ 6, 1, 213, 13, 140, 6, 1, 212, 61, 140, 6, 1, 246, 110, 140, 6, 1, 212,
+ 84, 140, 6, 1, 236, 7, 140, 6, 1, 73, 236, 7, 140, 6, 1, 75, 140, 6, 1,
+ 247, 233, 140, 6, 1, 235, 102, 140, 6, 1, 233, 56, 140, 6, 1, 230, 170,
+ 140, 6, 1, 230, 80, 140, 6, 1, 227, 88, 140, 6, 1, 225, 174, 140, 6, 1,
+ 223, 158, 140, 6, 1, 220, 30, 140, 6, 1, 216, 53, 140, 6, 1, 215, 177,
+ 140, 6, 1, 244, 80, 140, 6, 1, 242, 47, 140, 6, 1, 227, 41, 140, 6, 1,
+ 226, 132, 140, 6, 1, 220, 173, 140, 6, 1, 216, 138, 140, 6, 1, 250, 135,
+ 140, 6, 1, 221, 47, 140, 6, 1, 213, 19, 140, 6, 1, 213, 21, 140, 6, 1,
+ 213, 49, 140, 6, 1, 219, 204, 162, 140, 6, 1, 212, 204, 140, 6, 1, 4,
+ 212, 175, 140, 6, 1, 4, 212, 176, 2, 218, 40, 140, 6, 1, 212, 236, 140,
+ 6, 1, 236, 43, 4, 212, 175, 140, 6, 1, 252, 41, 212, 175, 140, 6, 1, 236,
+ 43, 252, 41, 212, 175, 140, 6, 1, 244, 171, 140, 6, 1, 236, 5, 140, 6, 1,
+ 220, 172, 140, 6, 1, 216, 173, 63, 140, 6, 1, 233, 197, 230, 170, 140, 4,
+ 1, 253, 202, 140, 4, 1, 251, 171, 140, 4, 1, 214, 235, 140, 4, 1, 243,
+ 25, 140, 4, 1, 247, 215, 140, 4, 1, 213, 13, 140, 4, 1, 212, 61, 140, 4,
+ 1, 246, 110, 140, 4, 1, 212, 84, 140, 4, 1, 236, 7, 140, 4, 1, 73, 236,
+ 7, 140, 4, 1, 75, 140, 4, 1, 247, 233, 140, 4, 1, 235, 102, 140, 4, 1,
+ 233, 56, 140, 4, 1, 230, 170, 140, 4, 1, 230, 80, 140, 4, 1, 227, 88,
+ 140, 4, 1, 225, 174, 140, 4, 1, 223, 158, 140, 4, 1, 220, 30, 140, 4, 1,
+ 216, 53, 140, 4, 1, 215, 177, 140, 4, 1, 244, 80, 140, 4, 1, 242, 47,
+ 140, 4, 1, 227, 41, 140, 4, 1, 226, 132, 140, 4, 1, 220, 173, 140, 4, 1,
+ 216, 138, 140, 4, 1, 250, 135, 140, 4, 1, 221, 47, 140, 4, 1, 213, 19,
+ 140, 4, 1, 213, 21, 140, 4, 1, 213, 49, 140, 4, 1, 219, 204, 162, 140, 4,
+ 1, 212, 204, 140, 4, 1, 4, 212, 175, 140, 4, 1, 4, 212, 176, 2, 218, 40,
+ 140, 4, 1, 212, 236, 140, 4, 1, 236, 43, 4, 212, 175, 140, 4, 1, 252, 41,
+ 212, 175, 140, 4, 1, 236, 43, 252, 41, 212, 175, 140, 4, 1, 244, 171,
+ 140, 4, 1, 236, 5, 140, 4, 1, 220, 172, 140, 4, 1, 216, 173, 63, 140, 4,
+ 1, 233, 197, 230, 170, 7, 6, 1, 234, 13, 2, 52, 134, 7, 4, 1, 234, 13, 2,
+ 52, 134, 7, 6, 1, 234, 13, 2, 231, 107, 177, 7, 6, 1, 227, 12, 2, 91, 7,
+ 6, 1, 224, 148, 2, 218, 40, 7, 4, 1, 111, 2, 91, 7, 4, 1, 218, 114, 2,
+ 248, 72, 91, 7, 6, 1, 242, 163, 2, 248, 111, 7, 4, 1, 242, 163, 2, 248,
+ 111, 7, 6, 1, 235, 142, 2, 248, 111, 7, 4, 1, 235, 142, 2, 248, 111, 7,
+ 6, 1, 212, 153, 2, 248, 111, 7, 4, 1, 212, 153, 2, 248, 111, 7, 6, 1,
+ 254, 179, 7, 6, 1, 232, 183, 2, 102, 7, 6, 1, 216, 66, 63, 7, 6, 1, 216,
+ 66, 254, 179, 7, 4, 1, 215, 86, 2, 47, 102, 7, 6, 1, 214, 86, 2, 102, 7,
+ 4, 1, 214, 86, 2, 102, 7, 4, 1, 215, 86, 2, 249, 164, 7, 6, 1, 157, 242,
+ 162, 7, 4, 1, 157, 242, 162, 7, 4, 1, 218, 38, 226, 45, 7, 4, 1, 154, 2,
+ 228, 204, 7, 4, 1, 216, 66, 224, 148, 2, 218, 40, 7, 4, 1, 141, 2, 117,
+ 223, 165, 236, 73, 7, 1, 4, 6, 216, 66, 77, 7, 219, 24, 4, 1, 236, 3, 59,
+ 1, 6, 211, 211, 7, 6, 1, 223, 29, 2, 218, 209, 218, 40, 7, 6, 1, 212,
+ 153, 2, 218, 209, 218, 40, 81, 6, 1, 254, 200, 81, 4, 1, 254, 200, 81, 6,
+ 1, 214, 156, 81, 4, 1, 214, 156, 81, 6, 1, 243, 203, 81, 4, 1, 243, 203,
+ 81, 6, 1, 249, 2, 81, 4, 1, 249, 2, 81, 6, 1, 246, 16, 81, 4, 1, 246, 16,
+ 81, 6, 1, 219, 239, 81, 4, 1, 219, 239, 81, 6, 1, 212, 94, 81, 4, 1, 212,
+ 94, 81, 6, 1, 242, 95, 81, 4, 1, 242, 95, 81, 6, 1, 217, 143, 81, 4, 1,
+ 217, 143, 81, 6, 1, 240, 226, 81, 4, 1, 240, 226, 81, 6, 1, 235, 89, 81,
+ 4, 1, 235, 89, 81, 6, 1, 233, 194, 81, 4, 1, 233, 194, 81, 6, 1, 231,
+ 112, 81, 4, 1, 231, 112, 81, 6, 1, 229, 128, 81, 4, 1, 229, 128, 81, 6,
+ 1, 234, 97, 81, 4, 1, 234, 97, 81, 6, 1, 78, 81, 4, 1, 78, 81, 6, 1, 226,
+ 20, 81, 4, 1, 226, 20, 81, 6, 1, 223, 146, 81, 4, 1, 223, 146, 81, 6, 1,
+ 220, 110, 81, 4, 1, 220, 110, 81, 6, 1, 218, 5, 81, 4, 1, 218, 5, 81, 6,
+ 1, 215, 202, 81, 4, 1, 215, 202, 81, 6, 1, 244, 210, 81, 4, 1, 244, 210,
+ 81, 6, 1, 234, 230, 81, 4, 1, 234, 230, 81, 6, 1, 225, 82, 81, 4, 1, 225,
+ 82, 81, 6, 1, 227, 81, 81, 4, 1, 227, 81, 81, 6, 1, 248, 70, 254, 205,
+ 81, 4, 1, 248, 70, 254, 205, 81, 6, 1, 54, 81, 254, 231, 81, 4, 1, 54,
+ 81, 254, 231, 81, 6, 1, 249, 178, 246, 16, 81, 4, 1, 249, 178, 246, 16,
+ 81, 6, 1, 248, 70, 235, 89, 81, 4, 1, 248, 70, 235, 89, 81, 6, 1, 248,
+ 70, 229, 128, 81, 4, 1, 248, 70, 229, 128, 81, 6, 1, 249, 178, 229, 128,
+ 81, 4, 1, 249, 178, 229, 128, 81, 6, 1, 54, 81, 227, 81, 81, 4, 1, 54,
+ 81, 227, 81, 81, 6, 1, 222, 185, 81, 4, 1, 222, 185, 81, 6, 1, 249, 191,
+ 221, 0, 81, 4, 1, 249, 191, 221, 0, 81, 6, 1, 54, 81, 221, 0, 81, 4, 1,
+ 54, 81, 221, 0, 81, 6, 1, 54, 81, 245, 161, 81, 4, 1, 54, 81, 245, 161,
+ 81, 6, 1, 254, 217, 234, 235, 81, 4, 1, 254, 217, 234, 235, 81, 6, 1,
+ 248, 70, 241, 150, 81, 4, 1, 248, 70, 241, 150, 81, 6, 1, 54, 81, 241,
+ 150, 81, 4, 1, 54, 81, 241, 150, 81, 6, 1, 54, 81, 162, 81, 4, 1, 54, 81,
+ 162, 81, 6, 1, 234, 12, 162, 81, 4, 1, 234, 12, 162, 81, 6, 1, 54, 81,
+ 242, 64, 81, 4, 1, 54, 81, 242, 64, 81, 6, 1, 54, 81, 242, 98, 81, 4, 1,
+ 54, 81, 242, 98, 81, 6, 1, 54, 81, 243, 198, 81, 4, 1, 54, 81, 243, 198,
+ 81, 6, 1, 54, 81, 247, 236, 81, 4, 1, 54, 81, 247, 236, 81, 6, 1, 54, 81,
+ 220, 223, 81, 4, 1, 54, 81, 220, 223, 81, 6, 1, 54, 228, 106, 220, 223,
+ 81, 4, 1, 54, 228, 106, 220, 223, 81, 6, 1, 54, 228, 106, 229, 178, 81,
+ 4, 1, 54, 228, 106, 229, 178, 81, 6, 1, 54, 228, 106, 228, 49, 81, 4, 1,
+ 54, 228, 106, 228, 49, 81, 6, 1, 54, 228, 106, 214, 24, 81, 4, 1, 54,
+ 228, 106, 214, 24, 81, 16, 235, 108, 81, 16, 231, 113, 223, 146, 81, 16,
+ 226, 21, 223, 146, 81, 16, 219, 101, 81, 16, 218, 6, 223, 146, 81, 16,
+ 234, 231, 223, 146, 81, 16, 220, 224, 220, 110, 81, 6, 1, 249, 178, 221,
+ 0, 81, 4, 1, 249, 178, 221, 0, 81, 6, 1, 249, 178, 243, 198, 81, 4, 1,
+ 249, 178, 243, 198, 81, 38, 229, 129, 50, 81, 38, 219, 198, 254, 10, 81,
+ 38, 219, 198, 233, 143, 81, 54, 228, 106, 244, 64, 219, 83, 81, 54, 228,
+ 106, 248, 14, 224, 193, 79, 81, 54, 228, 106, 236, 95, 224, 193, 79, 81,
+ 54, 228, 106, 214, 223, 247, 245, 81, 244, 92, 124, 242, 129, 81, 244,
+ 64, 219, 83, 81, 231, 8, 247, 245, 99, 4, 1, 254, 159, 99, 4, 1, 252,
+ 198, 99, 4, 1, 243, 202, 99, 4, 1, 247, 203, 99, 4, 1, 245, 229, 99, 4,
+ 1, 214, 145, 99, 4, 1, 212, 82, 99, 4, 1, 218, 24, 99, 4, 1, 236, 112,
+ 99, 4, 1, 235, 96, 99, 4, 1, 233, 203, 99, 4, 1, 232, 63, 99, 4, 1, 230,
+ 83, 99, 4, 1, 227, 99, 99, 4, 1, 226, 182, 99, 4, 1, 212, 71, 99, 4, 1,
+ 224, 96, 99, 4, 1, 222, 183, 99, 4, 1, 218, 14, 99, 4, 1, 215, 166, 99,
+ 4, 1, 226, 52, 99, 4, 1, 234, 239, 99, 4, 1, 243, 81, 99, 4, 1, 224, 252,
+ 99, 4, 1, 220, 221, 99, 4, 1, 250, 157, 99, 4, 1, 251, 63, 99, 4, 1, 235,
+ 217, 99, 4, 1, 250, 100, 99, 4, 1, 250, 202, 99, 4, 1, 213, 154, 99, 4,
+ 1, 235, 228, 99, 4, 1, 242, 145, 99, 4, 1, 242, 85, 99, 4, 1, 242, 23,
+ 99, 4, 1, 214, 9, 99, 4, 1, 242, 107, 99, 4, 1, 241, 170, 217, 75, 1,
+ 189, 217, 75, 1, 213, 90, 217, 75, 1, 213, 89, 217, 75, 1, 213, 79, 217,
+ 75, 1, 213, 77, 217, 75, 1, 252, 79, 255, 48, 213, 72, 217, 75, 1, 213,
+ 72, 217, 75, 1, 213, 87, 217, 75, 1, 213, 84, 217, 75, 1, 213, 86, 217,
+ 75, 1, 213, 85, 217, 75, 1, 213, 4, 217, 75, 1, 213, 81, 217, 75, 1, 213,
+ 70, 217, 75, 1, 216, 87, 213, 70, 217, 75, 1, 213, 67, 217, 75, 1, 213,
+ 75, 217, 75, 1, 252, 79, 255, 48, 213, 75, 217, 75, 1, 216, 87, 213, 75,
+ 217, 75, 1, 213, 74, 217, 75, 1, 213, 94, 217, 75, 1, 213, 68, 217, 75,
+ 1, 216, 87, 213, 68, 217, 75, 1, 213, 58, 217, 75, 1, 216, 87, 213, 58,
+ 217, 75, 1, 213, 0, 217, 75, 1, 213, 41, 217, 75, 1, 254, 240, 213, 41,
+ 217, 75, 1, 216, 87, 213, 41, 217, 75, 1, 213, 66, 217, 75, 1, 213, 65,
+ 217, 75, 1, 213, 62, 217, 75, 1, 216, 87, 213, 76, 217, 75, 1, 216, 87,
+ 213, 60, 217, 75, 1, 213, 59, 217, 75, 1, 212, 204, 217, 75, 1, 213, 56,
+ 217, 75, 1, 213, 55, 217, 75, 1, 213, 78, 217, 75, 1, 216, 87, 213, 78,
+ 217, 75, 1, 253, 206, 213, 78, 217, 75, 1, 213, 54, 217, 75, 1, 213, 52,
+ 217, 75, 1, 213, 53, 217, 75, 1, 213, 51, 217, 75, 1, 213, 50, 217, 75,
+ 1, 213, 88, 217, 75, 1, 213, 48, 217, 75, 1, 213, 46, 217, 75, 1, 213,
+ 45, 217, 75, 1, 213, 44, 217, 75, 1, 213, 42, 217, 75, 1, 217, 254, 213,
+ 42, 217, 75, 1, 213, 40, 217, 75, 59, 1, 233, 247, 79, 217, 75, 221, 81,
+ 79, 217, 75, 120, 235, 180, 28, 3, 233, 25, 28, 3, 231, 44, 28, 3, 223,
+ 144, 28, 3, 220, 4, 28, 3, 220, 207, 28, 3, 251, 252, 28, 3, 217, 9, 28,
+ 3, 250, 41, 28, 3, 228, 226, 28, 3, 228, 34, 28, 3, 243, 20, 227, 157,
+ 28, 3, 212, 15, 28, 3, 247, 218, 28, 3, 248, 176, 28, 3, 235, 184, 28, 3,
+ 217, 121, 28, 3, 250, 145, 28, 3, 226, 32, 28, 3, 225, 185, 28, 3, 243,
+ 95, 28, 3, 243, 91, 28, 3, 243, 92, 28, 3, 243, 93, 28, 3, 219, 176, 28,
+ 3, 219, 132, 28, 3, 219, 145, 28, 3, 219, 175, 28, 3, 219, 149, 28, 3,
+ 219, 150, 28, 3, 219, 137, 28, 3, 251, 13, 28, 3, 250, 249, 28, 3, 250,
+ 251, 28, 3, 251, 12, 28, 3, 251, 10, 28, 3, 251, 11, 28, 3, 250, 250, 28,
+ 3, 211, 242, 28, 3, 211, 222, 28, 3, 211, 233, 28, 3, 211, 241, 28, 3,
+ 211, 236, 28, 3, 211, 237, 28, 3, 211, 225, 28, 3, 251, 9, 28, 3, 250,
+ 252, 28, 3, 250, 254, 28, 3, 251, 8, 28, 3, 251, 6, 28, 3, 251, 7, 28, 3,
+ 250, 253, 28, 3, 224, 160, 28, 3, 224, 150, 28, 3, 224, 156, 28, 3, 224,
+ 159, 28, 3, 224, 157, 28, 3, 224, 158, 28, 3, 224, 155, 28, 3, 234, 23,
+ 28, 3, 234, 15, 28, 3, 234, 18, 28, 3, 234, 22, 28, 3, 234, 19, 28, 3,
+ 234, 20, 28, 3, 234, 16, 28, 3, 213, 121, 28, 3, 213, 111, 28, 3, 213,
+ 117, 28, 3, 213, 120, 28, 3, 213, 118, 28, 3, 213, 119, 28, 3, 213, 116,
+ 28, 3, 242, 173, 28, 3, 242, 164, 28, 3, 242, 167, 28, 3, 242, 172, 28,
+ 3, 242, 169, 28, 3, 242, 170, 28, 3, 242, 166, 38, 33, 1, 252, 121, 38,
+ 33, 1, 214, 237, 38, 33, 1, 243, 76, 38, 33, 1, 248, 162, 38, 33, 1, 212,
+ 67, 38, 33, 1, 212, 87, 38, 33, 1, 183, 38, 33, 1, 245, 252, 38, 33, 1,
+ 245, 238, 38, 33, 1, 245, 229, 38, 33, 1, 78, 38, 33, 1, 226, 132, 38,
+ 33, 1, 245, 176, 38, 33, 1, 245, 166, 38, 33, 1, 217, 242, 38, 33, 1,
+ 162, 38, 33, 1, 216, 149, 38, 33, 1, 250, 190, 38, 33, 1, 221, 47, 38,
+ 33, 1, 221, 10, 38, 33, 1, 244, 171, 38, 33, 1, 245, 165, 38, 33, 1, 63,
+ 38, 33, 1, 236, 172, 38, 33, 1, 247, 234, 38, 33, 1, 231, 24, 215, 181,
+ 38, 33, 1, 213, 51, 38, 33, 1, 212, 204, 38, 33, 1, 236, 42, 63, 38, 33,
+ 1, 233, 62, 212, 175, 38, 33, 1, 252, 41, 212, 175, 38, 33, 1, 236, 42,
+ 252, 41, 212, 175, 47, 254, 146, 219, 19, 232, 32, 47, 254, 146, 246,
+ 193, 219, 19, 232, 32, 43, 219, 19, 125, 47, 219, 19, 125, 43, 246, 193,
+ 219, 19, 125, 47, 246, 193, 219, 19, 125, 224, 83, 236, 60, 232, 32, 224,
+ 83, 246, 193, 236, 60, 232, 32, 246, 193, 216, 212, 232, 32, 43, 216,
+ 212, 125, 47, 216, 212, 125, 224, 83, 219, 185, 43, 224, 83, 227, 101,
+ 125, 47, 224, 83, 227, 101, 125, 246, 31, 249, 220, 226, 178, 244, 111,
+ 226, 178, 223, 236, 244, 111, 226, 178, 241, 18, 246, 193, 227, 152, 246,
+ 179, 254, 155, 215, 130, 254, 155, 246, 193, 223, 178, 254, 145, 52, 227,
+ 149, 241, 21, 236, 52, 236, 59, 226, 223, 251, 206, 241, 22, 2, 248, 74,
+ 217, 56, 2, 223, 165, 50, 43, 117, 226, 170, 125, 47, 117, 226, 170, 125,
+ 217, 56, 2, 62, 50, 217, 56, 2, 62, 55, 43, 66, 252, 187, 2, 224, 187,
+ 47, 66, 252, 187, 2, 224, 187, 216, 240, 43, 157, 125, 216, 240, 47, 157,
+ 125, 251, 226, 43, 157, 125, 251, 226, 47, 157, 125, 43, 220, 132, 103,
+ 125, 47, 220, 132, 103, 125, 43, 52, 226, 168, 47, 52, 226, 168, 119,
+ 181, 113, 124, 62, 225, 62, 124, 62, 113, 119, 181, 225, 62, 92, 244,
+ 101, 62, 225, 62, 244, 170, 62, 79, 223, 236, 224, 193, 79, 66, 177, 223,
+ 165, 225, 180, 213, 199, 221, 81, 231, 107, 247, 195, 9, 34, 224, 5, 9,
+ 34, 250, 70, 9, 34, 222, 118, 118, 9, 34, 222, 118, 112, 9, 34, 222, 118,
+ 170, 9, 34, 226, 79, 9, 34, 251, 214, 9, 34, 218, 54, 9, 34, 234, 153,
+ 118, 9, 34, 234, 153, 112, 9, 34, 247, 243, 9, 34, 222, 121, 9, 34, 4,
+ 118, 9, 34, 4, 112, 9, 34, 233, 219, 118, 9, 34, 233, 219, 112, 9, 34,
+ 233, 219, 170, 9, 34, 233, 219, 167, 9, 34, 220, 15, 9, 34, 217, 111, 9,
+ 34, 220, 13, 118, 9, 34, 220, 13, 112, 9, 34, 242, 75, 118, 9, 34, 242,
+ 75, 112, 9, 34, 242, 118, 9, 34, 224, 74, 9, 34, 250, 142, 9, 34, 218,
+ 252, 9, 34, 231, 12, 9, 34, 248, 160, 9, 34, 231, 4, 9, 34, 250, 85, 9,
+ 34, 214, 28, 118, 9, 34, 214, 28, 112, 9, 34, 244, 185, 9, 34, 226, 142,
+ 118, 9, 34, 226, 142, 112, 9, 34, 220, 105, 157, 216, 207, 216, 159, 9,
+ 34, 249, 207, 9, 34, 247, 211, 9, 34, 235, 252, 9, 34, 251, 247, 68, 250,
+ 54, 9, 34, 245, 104, 9, 34, 219, 200, 118, 9, 34, 219, 200, 112, 9, 34,
+ 252, 200, 9, 34, 220, 112, 9, 34, 251, 118, 220, 112, 9, 34, 229, 239,
+ 118, 9, 34, 229, 239, 112, 9, 34, 229, 239, 170, 9, 34, 229, 239, 167, 9,
+ 34, 231, 181, 9, 34, 221, 2, 9, 34, 224, 80, 9, 34, 245, 125, 9, 34, 227,
+ 112, 9, 34, 251, 186, 118, 9, 34, 251, 186, 112, 9, 34, 231, 221, 9, 34,
+ 231, 7, 9, 34, 242, 237, 118, 9, 34, 242, 237, 112, 9, 34, 242, 237, 170,
+ 9, 34, 217, 73, 9, 34, 250, 53, 9, 34, 213, 253, 118, 9, 34, 213, 253,
+ 112, 9, 34, 251, 118, 222, 112, 9, 34, 220, 105, 241, 97, 9, 34, 241, 97,
+ 9, 34, 251, 118, 219, 209, 9, 34, 251, 118, 220, 253, 9, 34, 244, 121, 9,
+ 34, 251, 118, 251, 28, 9, 34, 220, 105, 214, 44, 9, 34, 214, 45, 118, 9,
+ 34, 214, 45, 112, 9, 34, 250, 87, 9, 34, 251, 118, 243, 6, 9, 34, 187,
+ 118, 9, 34, 187, 112, 9, 34, 251, 118, 233, 8, 9, 34, 251, 118, 243, 184,
+ 9, 34, 231, 3, 118, 9, 34, 231, 3, 112, 9, 34, 224, 85, 9, 34, 251, 255,
+ 9, 34, 251, 118, 218, 20, 233, 174, 9, 34, 251, 118, 233, 175, 9, 34,
+ 251, 118, 213, 227, 9, 34, 251, 118, 244, 135, 9, 34, 246, 39, 118, 9,
+ 34, 246, 39, 112, 9, 34, 246, 39, 170, 9, 34, 251, 118, 246, 38, 9, 34,
+ 242, 82, 9, 34, 251, 118, 241, 94, 9, 34, 251, 244, 9, 34, 243, 62, 9,
+ 34, 251, 118, 244, 179, 9, 34, 251, 118, 252, 29, 9, 34, 251, 118, 222,
+ 196, 9, 34, 220, 105, 213, 246, 9, 34, 220, 105, 213, 33, 9, 34, 251,
+ 118, 244, 78, 9, 34, 236, 2, 245, 129, 9, 34, 251, 118, 245, 129, 9, 34,
+ 236, 2, 216, 241, 9, 34, 251, 118, 216, 241, 9, 34, 236, 2, 246, 171, 9,
+ 34, 251, 118, 246, 171, 9, 34, 216, 63, 9, 34, 236, 2, 216, 63, 9, 34,
+ 251, 118, 216, 63, 58, 34, 118, 58, 34, 233, 83, 58, 34, 247, 195, 58,
+ 34, 220, 42, 58, 34, 222, 117, 58, 34, 102, 58, 34, 112, 58, 34, 233,
+ 107, 58, 34, 232, 63, 58, 34, 233, 155, 58, 34, 245, 209, 58, 34, 198,
+ 58, 34, 121, 251, 214, 58, 34, 249, 209, 58, 34, 240, 221, 58, 34, 218,
+ 54, 58, 34, 210, 251, 214, 58, 34, 234, 152, 58, 34, 225, 140, 58, 34,
+ 213, 193, 58, 34, 219, 194, 58, 34, 47, 210, 251, 214, 58, 34, 242, 24,
+ 245, 224, 58, 34, 217, 213, 58, 34, 247, 243, 58, 34, 222, 121, 58, 34,
+ 250, 70, 58, 34, 225, 101, 58, 34, 254, 248, 58, 34, 230, 250, 58, 34,
+ 245, 224, 58, 34, 246, 44, 58, 34, 222, 141, 58, 34, 243, 14, 58, 34,
+ 243, 15, 220, 28, 58, 34, 245, 128, 58, 34, 252, 40, 58, 34, 213, 211,
+ 58, 34, 250, 161, 58, 34, 223, 132, 58, 34, 236, 108, 58, 34, 220, 26,
+ 58, 34, 233, 218, 58, 34, 249, 218, 58, 34, 219, 188, 58, 34, 230, 255,
+ 58, 34, 223, 155, 58, 34, 213, 196, 58, 34, 227, 93, 58, 34, 216, 69, 58,
+ 34, 246, 156, 58, 34, 220, 196, 217, 111, 58, 34, 246, 193, 250, 70, 58,
+ 34, 187, 219, 62, 58, 34, 119, 242, 113, 58, 34, 220, 201, 58, 34, 251,
+ 220, 58, 34, 220, 12, 58, 34, 251, 190, 58, 34, 219, 92, 58, 34, 242, 74,
+ 58, 34, 242, 130, 58, 34, 247, 198, 58, 34, 242, 118, 58, 34, 251, 206,
+ 58, 34, 224, 74, 58, 34, 222, 129, 58, 34, 248, 16, 58, 34, 253, 211, 58,
+ 34, 219, 185, 58, 34, 228, 205, 58, 34, 218, 252, 58, 34, 222, 152, 58,
+ 34, 231, 12, 58, 34, 216, 206, 58, 34, 233, 243, 58, 34, 219, 83, 58, 34,
+ 248, 160, 58, 34, 214, 8, 58, 34, 247, 221, 228, 205, 58, 34, 250, 20,
+ 58, 34, 244, 58, 58, 34, 250, 81, 58, 34, 219, 96, 58, 34, 214, 27, 58,
+ 34, 244, 185, 58, 34, 250, 78, 58, 34, 244, 250, 58, 34, 52, 213, 169,
+ 58, 34, 157, 216, 207, 216, 159, 58, 34, 220, 36, 58, 34, 245, 4, 58, 34,
+ 249, 207, 58, 34, 247, 211, 58, 34, 225, 98, 58, 34, 235, 252, 58, 34,
+ 231, 201, 58, 34, 217, 55, 58, 34, 218, 204, 58, 34, 233, 101, 58, 34,
+ 215, 109, 58, 34, 244, 209, 58, 34, 251, 247, 68, 250, 54, 58, 34, 220,
+ 133, 58, 34, 246, 193, 217, 208, 58, 34, 213, 241, 58, 34, 220, 50, 58,
+ 34, 248, 4, 58, 34, 245, 104, 58, 34, 219, 212, 58, 34, 71, 58, 34, 219,
+ 85, 58, 34, 219, 199, 58, 34, 216, 225, 58, 34, 242, 243, 58, 34, 251,
+ 18, 58, 34, 219, 113, 58, 34, 252, 200, 58, 34, 223, 218, 58, 34, 220,
+ 112, 58, 34, 235, 246, 58, 34, 229, 238, 58, 34, 221, 2, 58, 34, 244,
+ 238, 58, 34, 227, 112, 58, 34, 254, 154, 58, 34, 225, 198, 58, 34, 246,
+ 48, 58, 34, 251, 185, 58, 34, 231, 221, 58, 34, 231, 66, 58, 34, 221, 99,
+ 58, 34, 254, 38, 58, 34, 231, 7, 58, 34, 216, 245, 58, 34, 227, 69, 58,
+ 34, 251, 249, 58, 34, 219, 81, 58, 34, 250, 29, 58, 34, 242, 236, 58, 34,
+ 217, 73, 58, 34, 236, 75, 58, 34, 252, 3, 58, 34, 214, 45, 245, 224, 58,
+ 34, 250, 53, 58, 34, 213, 252, 58, 34, 222, 112, 58, 34, 241, 97, 58, 34,
+ 219, 209, 58, 34, 215, 4, 58, 34, 252, 118, 58, 34, 225, 241, 58, 34,
+ 252, 219, 58, 34, 220, 253, 58, 34, 224, 37, 58, 34, 223, 63, 58, 34,
+ 244, 121, 58, 34, 251, 248, 58, 34, 251, 28, 58, 34, 252, 18, 58, 34,
+ 231, 9, 58, 34, 214, 44, 58, 34, 250, 87, 58, 34, 213, 224, 58, 34, 247,
+ 253, 58, 34, 214, 146, 58, 34, 243, 6, 58, 34, 233, 8, 58, 34, 243, 184,
+ 58, 34, 231, 2, 58, 34, 220, 41, 58, 34, 220, 196, 218, 39, 252, 29, 58,
+ 34, 224, 85, 58, 34, 251, 255, 58, 34, 213, 188, 58, 34, 245, 23, 58, 34,
+ 233, 174, 58, 34, 218, 20, 233, 174, 58, 34, 233, 170, 58, 34, 219, 236,
+ 58, 34, 233, 175, 58, 34, 213, 227, 58, 34, 244, 135, 58, 34, 246, 38,
+ 58, 34, 242, 82, 58, 34, 244, 90, 58, 34, 241, 94, 58, 34, 251, 244, 58,
+ 34, 218, 27, 58, 34, 242, 136, 58, 34, 244, 202, 58, 34, 222, 222, 213,
+ 224, 58, 34, 251, 20, 58, 34, 243, 62, 58, 34, 244, 179, 58, 34, 252, 29,
+ 58, 34, 222, 196, 58, 34, 248, 146, 58, 34, 213, 246, 58, 34, 242, 57,
+ 58, 34, 213, 33, 58, 34, 231, 75, 58, 34, 252, 13, 58, 34, 245, 234, 58,
+ 34, 244, 78, 58, 34, 216, 180, 58, 34, 246, 158, 58, 34, 224, 68, 58, 34,
+ 228, 207, 58, 34, 245, 129, 58, 34, 216, 241, 58, 34, 246, 171, 58, 34,
+ 216, 63, 58, 34, 244, 137, 107, 248, 109, 143, 43, 217, 10, 223, 182,
+ 107, 248, 109, 143, 74, 217, 10, 55, 107, 248, 109, 143, 43, 217, 10,
+ 231, 107, 22, 223, 182, 107, 248, 109, 143, 74, 217, 10, 231, 107, 22,
+ 55, 107, 248, 109, 143, 244, 64, 218, 224, 107, 248, 109, 143, 218, 225,
+ 244, 77, 50, 107, 248, 109, 143, 218, 225, 244, 77, 55, 107, 248, 109,
+ 143, 218, 225, 244, 77, 233, 168, 107, 248, 109, 143, 218, 225, 244, 77,
+ 215, 137, 233, 168, 107, 248, 109, 143, 218, 225, 244, 77, 215, 137, 223,
+ 182, 107, 248, 109, 143, 218, 225, 244, 77, 232, 237, 233, 168, 107, 248,
+ 109, 143, 227, 28, 107, 219, 225, 107, 250, 23, 107, 244, 64, 219, 83,
+ 247, 250, 79, 235, 247, 236, 94, 219, 112, 88, 107, 236, 17, 79, 107,
+ 250, 56, 79, 107, 51, 212, 79, 43, 254, 146, 125, 47, 254, 146, 125, 43,
+ 52, 254, 146, 125, 47, 52, 254, 146, 125, 43, 249, 223, 125, 47, 249,
+ 223, 125, 43, 69, 249, 223, 125, 47, 69, 249, 223, 125, 43, 85, 233, 142,
+ 125, 47, 85, 233, 142, 125, 225, 153, 79, 243, 128, 79, 43, 216, 232,
+ 220, 254, 125, 47, 216, 232, 220, 254, 125, 43, 69, 233, 142, 125, 47,
+ 69, 233, 142, 125, 43, 69, 216, 232, 220, 254, 125, 47, 69, 216, 232,
+ 220, 254, 125, 43, 69, 42, 125, 47, 69, 42, 125, 214, 23, 248, 223, 223,
+ 236, 52, 225, 108, 224, 178, 79, 52, 225, 108, 224, 178, 79, 117, 52,
+ 225, 108, 224, 178, 79, 225, 153, 156, 245, 23, 242, 111, 228, 97, 118,
+ 242, 111, 228, 97, 112, 242, 111, 228, 97, 170, 242, 111, 228, 97, 167,
+ 242, 111, 228, 97, 185, 242, 111, 228, 97, 192, 242, 111, 228, 97, 200,
+ 242, 111, 228, 97, 198, 242, 111, 228, 97, 203, 107, 233, 127, 161, 79,
+ 107, 223, 159, 161, 79, 107, 248, 116, 161, 79, 107, 245, 208, 161, 79,
+ 24, 220, 100, 62, 161, 79, 24, 52, 62, 161, 79, 214, 19, 248, 223, 66,
+ 235, 95, 224, 6, 79, 66, 235, 95, 224, 6, 2, 214, 120, 219, 237, 79, 66,
+ 235, 95, 224, 6, 156, 215, 137, 242, 129, 66, 235, 95, 224, 6, 2, 214,
+ 120, 219, 237, 156, 215, 137, 242, 129, 66, 235, 95, 224, 6, 156, 232,
+ 237, 242, 129, 37, 225, 153, 79, 107, 204, 233, 84, 244, 235, 221, 81,
+ 88, 242, 111, 228, 97, 217, 213, 242, 111, 228, 97, 216, 45, 242, 111,
+ 228, 97, 217, 128, 66, 107, 236, 17, 79, 232, 18, 79, 226, 164, 254, 176,
+ 79, 107, 44, 236, 96, 107, 157, 244, 195, 219, 225, 136, 1, 4, 63, 136,
+ 1, 63, 136, 1, 4, 75, 136, 1, 75, 136, 1, 4, 72, 136, 1, 72, 136, 1, 4,
+ 77, 136, 1, 77, 136, 1, 4, 78, 136, 1, 78, 136, 1, 183, 136, 1, 243, 230,
+ 136, 1, 234, 212, 136, 1, 243, 54, 136, 1, 234, 81, 136, 1, 242, 213,
+ 136, 1, 235, 44, 136, 1, 243, 158, 136, 1, 234, 148, 136, 1, 243, 14,
+ 136, 1, 222, 227, 136, 1, 212, 109, 136, 1, 220, 136, 136, 1, 212, 37,
+ 136, 1, 219, 41, 136, 1, 212, 8, 136, 1, 222, 123, 136, 1, 212, 87, 136,
+ 1, 220, 5, 136, 1, 212, 16, 136, 1, 218, 66, 136, 1, 249, 30, 136, 1,
+ 217, 84, 136, 1, 248, 76, 136, 1, 4, 216, 90, 136, 1, 216, 90, 136, 1,
+ 246, 154, 136, 1, 217, 242, 136, 1, 248, 162, 136, 1, 109, 136, 1, 247,
+ 220, 136, 1, 207, 136, 1, 229, 128, 136, 1, 228, 135, 136, 1, 229, 254,
+ 136, 1, 228, 228, 136, 1, 162, 136, 1, 252, 234, 136, 1, 195, 136, 1,
+ 242, 28, 136, 1, 252, 54, 136, 1, 226, 20, 136, 1, 241, 74, 136, 1, 251,
+ 179, 136, 1, 225, 71, 136, 1, 242, 85, 136, 1, 252, 121, 136, 1, 226,
+ 132, 136, 1, 241, 173, 136, 1, 251, 253, 136, 1, 225, 186, 136, 1, 191,
+ 136, 1, 231, 112, 136, 1, 230, 242, 136, 1, 231, 226, 136, 1, 231, 45,
+ 136, 1, 4, 189, 136, 1, 189, 136, 1, 4, 212, 204, 136, 1, 212, 204, 136,
+ 1, 4, 212, 236, 136, 1, 212, 236, 136, 1, 208, 136, 1, 223, 222, 136, 1,
+ 223, 77, 136, 1, 224, 55, 136, 1, 223, 146, 136, 1, 4, 214, 52, 136, 1,
+ 214, 52, 136, 1, 213, 238, 136, 1, 214, 9, 136, 1, 213, 217, 136, 1, 206,
+ 136, 1, 214, 103, 136, 1, 4, 183, 136, 1, 4, 235, 44, 38, 235, 63, 214,
+ 120, 219, 237, 79, 38, 235, 63, 221, 98, 219, 237, 79, 235, 63, 214, 120,
+ 219, 237, 79, 235, 63, 221, 98, 219, 237, 79, 136, 236, 17, 79, 136, 214,
+ 120, 236, 17, 79, 136, 248, 38, 212, 217, 235, 63, 52, 241, 21, 56, 1, 4,
+ 63, 56, 1, 63, 56, 1, 4, 75, 56, 1, 75, 56, 1, 4, 72, 56, 1, 72, 56, 1,
+ 4, 77, 56, 1, 77, 56, 1, 4, 78, 56, 1, 78, 56, 1, 183, 56, 1, 243, 230,
+ 56, 1, 234, 212, 56, 1, 243, 54, 56, 1, 234, 81, 56, 1, 242, 213, 56, 1,
+ 235, 44, 56, 1, 243, 158, 56, 1, 234, 148, 56, 1, 243, 14, 56, 1, 222,
+ 227, 56, 1, 212, 109, 56, 1, 220, 136, 56, 1, 212, 37, 56, 1, 219, 41,
+ 56, 1, 212, 8, 56, 1, 222, 123, 56, 1, 212, 87, 56, 1, 220, 5, 56, 1,
+ 212, 16, 56, 1, 218, 66, 56, 1, 249, 30, 56, 1, 217, 84, 56, 1, 248, 76,
+ 56, 1, 4, 216, 90, 56, 1, 216, 90, 56, 1, 246, 154, 56, 1, 217, 242, 56,
+ 1, 248, 162, 56, 1, 109, 56, 1, 247, 220, 56, 1, 207, 56, 1, 229, 128,
+ 56, 1, 228, 135, 56, 1, 229, 254, 56, 1, 228, 228, 56, 1, 162, 56, 1,
+ 252, 234, 56, 1, 195, 56, 1, 242, 28, 56, 1, 252, 54, 56, 1, 226, 20, 56,
+ 1, 241, 74, 56, 1, 251, 179, 56, 1, 225, 71, 56, 1, 242, 85, 56, 1, 252,
+ 121, 56, 1, 226, 132, 56, 1, 241, 173, 56, 1, 251, 253, 56, 1, 225, 186,
+ 56, 1, 191, 56, 1, 231, 112, 56, 1, 230, 242, 56, 1, 231, 226, 56, 1,
+ 231, 45, 56, 1, 4, 189, 56, 1, 189, 56, 1, 4, 212, 204, 56, 1, 212, 204,
+ 56, 1, 4, 212, 236, 56, 1, 212, 236, 56, 1, 208, 56, 1, 223, 222, 56, 1,
+ 223, 77, 56, 1, 224, 55, 56, 1, 223, 146, 56, 1, 4, 214, 52, 56, 1, 214,
+ 52, 56, 1, 213, 238, 56, 1, 214, 9, 56, 1, 213, 217, 56, 1, 206, 56, 1,
+ 214, 103, 56, 1, 4, 183, 56, 1, 4, 235, 44, 56, 1, 215, 8, 56, 1, 214,
+ 159, 56, 1, 214, 237, 56, 1, 214, 123, 56, 231, 107, 247, 195, 235, 63,
+ 225, 93, 219, 237, 79, 56, 236, 17, 79, 56, 214, 120, 236, 17, 79, 56,
+ 248, 38, 234, 119, 205, 1, 253, 201, 205, 1, 227, 11, 205, 1, 184, 205,
+ 1, 245, 95, 205, 1, 249, 125, 205, 1, 218, 113, 205, 1, 206, 205, 1, 155,
+ 205, 1, 244, 41, 205, 1, 235, 141, 205, 1, 242, 162, 205, 1, 236, 3, 205,
+ 1, 225, 19, 205, 1, 213, 169, 205, 1, 212, 76, 205, 1, 250, 216, 205, 1,
+ 221, 49, 205, 1, 152, 205, 1, 212, 152, 205, 1, 251, 121, 205, 1, 196,
+ 205, 1, 63, 205, 1, 78, 205, 1, 77, 205, 1, 246, 19, 205, 1, 254, 236,
+ 205, 1, 246, 17, 205, 1, 253, 235, 205, 1, 227, 40, 205, 1, 254, 159,
+ 205, 1, 245, 229, 205, 1, 254, 151, 205, 1, 245, 217, 205, 1, 245, 176,
+ 205, 1, 75, 205, 1, 72, 205, 1, 236, 15, 205, 1, 211, 211, 205, 1, 229,
+ 228, 205, 1, 243, 18, 205, 1, 236, 146, 24, 1, 234, 178, 24, 1, 219, 168,
+ 24, 1, 234, 171, 24, 1, 229, 121, 24, 1, 229, 119, 24, 1, 229, 118, 24,
+ 1, 217, 68, 24, 1, 219, 157, 24, 1, 223, 213, 24, 1, 223, 208, 24, 1,
+ 223, 205, 24, 1, 223, 198, 24, 1, 223, 193, 24, 1, 223, 188, 24, 1, 223,
+ 199, 24, 1, 223, 211, 24, 1, 231, 100, 24, 1, 226, 7, 24, 1, 219, 165,
+ 24, 1, 225, 252, 24, 1, 220, 95, 24, 1, 219, 162, 24, 1, 236, 168, 24, 1,
+ 250, 106, 24, 1, 219, 172, 24, 1, 250, 166, 24, 1, 234, 228, 24, 1, 217,
+ 139, 24, 1, 226, 43, 24, 1, 242, 21, 24, 1, 63, 24, 1, 255, 20, 24, 1,
+ 189, 24, 1, 213, 83, 24, 1, 245, 197, 24, 1, 77, 24, 1, 213, 28, 24, 1,
+ 213, 39, 24, 1, 78, 24, 1, 214, 52, 24, 1, 214, 49, 24, 1, 227, 136, 24,
+ 1, 212, 236, 24, 1, 72, 24, 1, 213, 255, 24, 1, 214, 9, 24, 1, 213, 238,
+ 24, 1, 212, 204, 24, 1, 245, 143, 24, 1, 213, 0, 24, 1, 75, 24, 244, 192,
+ 24, 1, 219, 166, 24, 1, 229, 111, 24, 1, 229, 113, 24, 1, 229, 116, 24,
+ 1, 223, 206, 24, 1, 223, 187, 24, 1, 223, 195, 24, 1, 223, 200, 24, 1,
+ 223, 185, 24, 1, 231, 93, 24, 1, 231, 90, 24, 1, 231, 94, 24, 1, 235, 83,
+ 24, 1, 226, 2, 24, 1, 225, 244, 24, 1, 225, 250, 24, 1, 225, 247, 24, 1,
+ 226, 5, 24, 1, 225, 245, 24, 1, 235, 81, 24, 1, 235, 79, 24, 1, 220, 88,
+ 24, 1, 220, 86, 24, 1, 220, 78, 24, 1, 220, 83, 24, 1, 220, 93, 24, 1,
+ 226, 197, 24, 1, 219, 169, 24, 1, 213, 18, 24, 1, 213, 14, 24, 1, 213,
+ 15, 24, 1, 235, 82, 24, 1, 219, 170, 24, 1, 213, 24, 24, 1, 212, 230, 24,
+ 1, 212, 229, 24, 1, 212, 232, 24, 1, 212, 195, 24, 1, 212, 196, 24, 1,
+ 212, 199, 24, 1, 254, 75, 24, 1, 254, 69, 107, 254, 137, 233, 73, 79,
+ 107, 254, 137, 223, 237, 79, 107, 254, 137, 124, 79, 107, 254, 137, 119,
+ 79, 107, 254, 137, 137, 79, 107, 254, 137, 244, 101, 79, 107, 254, 137,
+ 216, 240, 79, 107, 254, 137, 231, 107, 79, 107, 254, 137, 251, 226, 79,
+ 107, 254, 137, 244, 181, 79, 107, 254, 137, 222, 118, 79, 107, 254, 137,
+ 217, 135, 79, 107, 254, 137, 244, 94, 79, 107, 254, 137, 242, 71, 79,
+ 107, 254, 137, 246, 45, 79, 107, 254, 137, 232, 64, 79, 205, 1, 251, 179,
+ 205, 1, 212, 37, 205, 1, 235, 225, 205, 1, 242, 213, 205, 1, 246, 30,
+ 205, 1, 245, 214, 205, 1, 227, 86, 205, 1, 227, 90, 205, 1, 236, 38, 205,
+ 1, 254, 139, 205, 1, 236, 82, 205, 1, 215, 145, 205, 1, 236, 128, 205, 1,
+ 229, 207, 205, 1, 254, 230, 205, 1, 253, 230, 205, 1, 254, 172, 205, 1,
+ 227, 107, 205, 1, 227, 92, 205, 1, 236, 79, 205, 41, 1, 227, 11, 205, 41,
+ 1, 218, 113, 205, 41, 1, 235, 141, 205, 41, 1, 242, 162, 205, 1, 243, 90,
+ 205, 1, 233, 124, 205, 1, 211, 249, 9, 219, 59, 218, 113, 9, 219, 59,
+ 213, 248, 9, 219, 59, 213, 149, 9, 219, 59, 251, 133, 9, 219, 59, 218,
+ 213, 9, 219, 59, 241, 11, 9, 219, 59, 241, 15, 9, 219, 59, 241, 80, 9,
+ 219, 59, 241, 12, 9, 219, 59, 218, 116, 9, 219, 59, 241, 14, 9, 219, 59,
+ 241, 10, 9, 219, 59, 241, 78, 9, 219, 59, 241, 13, 9, 219, 59, 241, 9, 9,
+ 219, 59, 206, 9, 219, 59, 242, 162, 9, 219, 59, 196, 9, 219, 59, 227, 11,
+ 9, 219, 59, 219, 227, 9, 219, 59, 249, 125, 9, 219, 59, 241, 16, 9, 219,
+ 59, 242, 38, 9, 219, 59, 218, 125, 9, 219, 59, 218, 192, 9, 219, 59, 219,
+ 121, 9, 219, 59, 221, 54, 9, 219, 59, 226, 134, 9, 219, 59, 225, 21, 9,
+ 219, 59, 217, 11, 9, 219, 59, 218, 115, 9, 219, 59, 218, 203, 9, 219, 59,
+ 241, 23, 9, 219, 59, 241, 8, 9, 219, 59, 226, 61, 9, 219, 59, 225, 19,
+ 56, 1, 4, 234, 81, 56, 1, 4, 220, 136, 56, 1, 4, 219, 41, 56, 1, 4, 109,
+ 56, 1, 4, 228, 135, 56, 1, 4, 162, 56, 1, 4, 242, 28, 56, 1, 4, 241, 74,
+ 56, 1, 4, 242, 85, 56, 1, 4, 241, 173, 56, 1, 4, 230, 242, 56, 1, 4, 208,
+ 56, 1, 4, 223, 222, 56, 1, 4, 223, 77, 56, 1, 4, 224, 55, 56, 1, 4, 223,
+ 146, 87, 24, 234, 178, 87, 24, 229, 121, 87, 24, 217, 68, 87, 24, 223,
+ 213, 87, 24, 231, 100, 87, 24, 226, 7, 87, 24, 220, 95, 87, 24, 236, 168,
+ 87, 24, 250, 106, 87, 24, 250, 166, 87, 24, 234, 228, 87, 24, 217, 139,
+ 87, 24, 226, 43, 87, 24, 242, 21, 87, 24, 234, 179, 63, 87, 24, 229, 122,
+ 63, 87, 24, 217, 69, 63, 87, 24, 223, 214, 63, 87, 24, 231, 101, 63, 87,
+ 24, 226, 8, 63, 87, 24, 220, 96, 63, 87, 24, 236, 169, 63, 87, 24, 250,
+ 107, 63, 87, 24, 250, 167, 63, 87, 24, 234, 229, 63, 87, 24, 217, 140,
+ 63, 87, 24, 226, 44, 63, 87, 24, 242, 22, 63, 87, 24, 250, 107, 72, 87,
+ 234, 123, 143, 227, 120, 87, 234, 123, 143, 141, 241, 74, 87, 147, 118,
+ 87, 147, 112, 87, 147, 170, 87, 147, 167, 87, 147, 185, 87, 147, 192, 87,
+ 147, 200, 87, 147, 198, 87, 147, 203, 87, 147, 217, 213, 87, 147, 231,
+ 12, 87, 147, 244, 185, 87, 147, 214, 27, 87, 147, 213, 204, 87, 147, 231,
+ 176, 87, 147, 246, 44, 87, 147, 218, 252, 87, 147, 219, 86, 87, 147, 242,
+ 91, 87, 147, 220, 1, 87, 147, 230, 92, 87, 147, 219, 211, 87, 147, 244,
+ 191, 87, 147, 250, 6, 87, 147, 233, 246, 87, 147, 224, 1, 87, 147, 251,
+ 71, 87, 147, 219, 44, 87, 147, 218, 234, 87, 147, 245, 207, 87, 147, 223,
+ 249, 87, 147, 254, 186, 87, 147, 244, 217, 87, 147, 223, 247, 87, 147,
+ 221, 99, 87, 147, 224, 54, 37, 147, 224, 192, 37, 147, 234, 200, 37, 147,
+ 222, 139, 37, 147, 234, 119, 37, 51, 217, 214, 227, 100, 85, 219, 185,
+ 37, 51, 216, 46, 227, 100, 85, 219, 185, 37, 51, 217, 129, 227, 100, 85,
+ 219, 185, 37, 51, 244, 105, 227, 100, 85, 219, 185, 37, 51, 244, 204,
+ 227, 100, 85, 219, 185, 37, 51, 220, 59, 227, 100, 85, 219, 185, 37, 51,
+ 221, 61, 227, 100, 85, 219, 185, 37, 51, 246, 7, 227, 100, 85, 219, 185,
+ 226, 160, 53, 37, 51, 216, 46, 118, 37, 51, 216, 46, 112, 37, 51, 216,
+ 46, 170, 37, 51, 216, 46, 167, 37, 51, 216, 46, 185, 37, 51, 216, 46,
+ 192, 37, 51, 216, 46, 200, 37, 51, 216, 46, 198, 37, 51, 216, 46, 203,
+ 37, 51, 217, 128, 37, 51, 217, 129, 118, 37, 51, 217, 129, 112, 37, 51,
+ 217, 129, 170, 37, 51, 217, 129, 167, 37, 51, 217, 129, 185, 37, 24, 234,
+ 178, 37, 24, 229, 121, 37, 24, 217, 68, 37, 24, 223, 213, 37, 24, 231,
+ 100, 37, 24, 226, 7, 37, 24, 220, 95, 37, 24, 236, 168, 37, 24, 250, 106,
+ 37, 24, 250, 166, 37, 24, 234, 228, 37, 24, 217, 139, 37, 24, 226, 43,
+ 37, 24, 242, 21, 37, 24, 234, 179, 63, 37, 24, 229, 122, 63, 37, 24, 217,
+ 69, 63, 37, 24, 223, 214, 63, 37, 24, 231, 101, 63, 37, 24, 226, 8, 63,
+ 37, 24, 220, 96, 63, 37, 24, 236, 169, 63, 37, 24, 250, 107, 63, 37, 24,
+ 250, 167, 63, 37, 24, 234, 229, 63, 37, 24, 217, 140, 63, 37, 24, 226,
+ 44, 63, 37, 24, 242, 22, 63, 37, 234, 123, 143, 250, 207, 37, 234, 123,
+ 143, 235, 164, 37, 24, 236, 169, 72, 234, 123, 219, 112, 88, 37, 147,
+ 118, 37, 147, 112, 37, 147, 170, 37, 147, 167, 37, 147, 185, 37, 147,
+ 192, 37, 147, 200, 37, 147, 198, 37, 147, 203, 37, 147, 217, 213, 37,
+ 147, 231, 12, 37, 147, 244, 185, 37, 147, 214, 27, 37, 147, 213, 204, 37,
+ 147, 231, 176, 37, 147, 246, 44, 37, 147, 218, 252, 37, 147, 219, 86, 37,
+ 147, 242, 91, 37, 147, 220, 1, 37, 147, 230, 92, 37, 147, 219, 211, 37,
+ 147, 244, 191, 37, 147, 250, 6, 37, 147, 233, 246, 37, 147, 222, 116, 37,
+ 147, 232, 67, 37, 147, 244, 226, 37, 147, 219, 8, 37, 147, 245, 122, 37,
+ 147, 225, 104, 37, 147, 253, 239, 37, 147, 236, 18, 37, 147, 223, 247,
+ 37, 147, 249, 226, 37, 147, 249, 217, 37, 147, 242, 14, 37, 147, 250,
+ 231, 37, 147, 232, 239, 37, 147, 233, 168, 37, 147, 223, 182, 37, 147,
+ 231, 218, 37, 147, 224, 15, 37, 147, 219, 44, 37, 147, 218, 234, 37, 147,
+ 245, 207, 37, 147, 223, 249, 37, 147, 254, 186, 37, 147, 229, 107, 37,
+ 51, 217, 129, 192, 37, 51, 217, 129, 200, 37, 51, 217, 129, 198, 37, 51,
+ 217, 129, 203, 37, 51, 244, 104, 37, 51, 244, 105, 118, 37, 51, 244, 105,
+ 112, 37, 51, 244, 105, 170, 37, 51, 244, 105, 167, 37, 51, 244, 105, 185,
+ 37, 51, 244, 105, 192, 37, 51, 244, 105, 200, 37, 51, 244, 105, 198, 37,
+ 51, 244, 105, 203, 37, 51, 244, 203, 107, 204, 16, 31, 235, 249, 107,
+ 204, 16, 31, 244, 237, 107, 204, 16, 31, 232, 38, 107, 204, 16, 31, 254,
+ 88, 107, 204, 16, 31, 232, 10, 107, 204, 16, 31, 235, 162, 107, 204, 16,
+ 31, 235, 163, 107, 204, 16, 31, 253, 231, 107, 204, 16, 31, 221, 79, 107,
+ 204, 16, 31, 227, 141, 107, 204, 16, 31, 228, 194, 107, 204, 16, 31, 248,
+ 157, 42, 242, 38, 42, 245, 172, 42, 245, 131, 233, 89, 233, 110, 53, 37,
+ 56, 63, 37, 56, 75, 37, 56, 72, 37, 56, 77, 37, 56, 78, 37, 56, 183, 37,
+ 56, 234, 212, 37, 56, 234, 81, 37, 56, 235, 44, 37, 56, 234, 148, 37, 56,
+ 222, 227, 37, 56, 220, 136, 37, 56, 219, 41, 37, 56, 222, 123, 37, 56,
+ 220, 5, 37, 56, 218, 66, 37, 56, 217, 84, 37, 56, 216, 90, 37, 56, 217,
+ 242, 37, 56, 109, 37, 56, 207, 37, 56, 229, 128, 37, 56, 228, 135, 37,
+ 56, 229, 254, 37, 56, 228, 228, 37, 56, 162, 37, 56, 242, 28, 37, 56,
+ 241, 74, 37, 56, 242, 85, 37, 56, 241, 173, 37, 56, 191, 37, 56, 231,
+ 112, 37, 56, 230, 242, 37, 56, 231, 226, 37, 56, 231, 45, 37, 56, 189,
+ 37, 56, 212, 204, 37, 56, 212, 236, 37, 56, 208, 37, 56, 223, 222, 37,
+ 56, 223, 77, 37, 56, 224, 55, 37, 56, 223, 146, 37, 56, 214, 52, 37, 56,
+ 213, 238, 37, 56, 214, 9, 37, 56, 213, 217, 42, 254, 109, 42, 254, 25,
+ 42, 254, 133, 42, 255, 62, 42, 236, 84, 42, 236, 54, 42, 215, 143, 42,
+ 245, 152, 42, 246, 28, 42, 227, 89, 42, 227, 83, 42, 235, 107, 42, 235,
+ 76, 42, 235, 73, 42, 243, 188, 42, 243, 197, 42, 243, 44, 42, 243, 40,
+ 42, 234, 14, 42, 243, 33, 42, 234, 192, 42, 234, 191, 42, 234, 190, 42,
+ 234, 189, 42, 242, 188, 42, 242, 187, 42, 234, 57, 42, 234, 59, 42, 235,
+ 40, 42, 234, 121, 42, 234, 128, 42, 222, 211, 42, 222, 177, 42, 220, 76,
+ 42, 221, 84, 42, 221, 83, 42, 249, 27, 42, 248, 108, 42, 247, 196, 42,
+ 217, 0, 42, 230, 88, 42, 228, 195, 42, 242, 134, 42, 226, 246, 42, 226,
+ 245, 42, 252, 232, 42, 226, 17, 42, 225, 237, 42, 225, 238, 42, 252, 26,
+ 42, 241, 73, 42, 241, 69, 42, 251, 145, 42, 241, 56, 42, 242, 62, 42,
+ 226, 71, 42, 226, 105, 42, 242, 46, 42, 226, 102, 42, 226, 118, 42, 252,
+ 107, 42, 225, 176, 42, 251, 231, 42, 241, 161, 42, 225, 166, 42, 241,
+ 153, 42, 241, 155, 42, 232, 79, 42, 232, 75, 42, 232, 84, 42, 232, 28,
+ 42, 232, 53, 42, 231, 80, 42, 231, 59, 42, 231, 58, 42, 231, 208, 42,
+ 231, 205, 42, 231, 209, 42, 213, 93, 42, 213, 91, 42, 212, 193, 42, 223,
+ 157, 42, 223, 161, 42, 223, 54, 42, 223, 48, 42, 224, 13, 42, 224, 10,
+ 42, 214, 25, 107, 204, 16, 31, 241, 88, 212, 79, 107, 204, 16, 31, 241,
+ 88, 118, 107, 204, 16, 31, 241, 88, 112, 107, 204, 16, 31, 241, 88, 170,
+ 107, 204, 16, 31, 241, 88, 167, 107, 204, 16, 31, 241, 88, 185, 107, 204,
+ 16, 31, 241, 88, 192, 107, 204, 16, 31, 241, 88, 200, 107, 204, 16, 31,
+ 241, 88, 198, 107, 204, 16, 31, 241, 88, 203, 107, 204, 16, 31, 241, 88,
+ 217, 213, 107, 204, 16, 31, 241, 88, 245, 245, 107, 204, 16, 31, 241, 88,
+ 216, 48, 107, 204, 16, 31, 241, 88, 217, 130, 107, 204, 16, 31, 241, 88,
+ 244, 95, 107, 204, 16, 31, 241, 88, 244, 207, 107, 204, 16, 31, 241, 88,
+ 220, 66, 107, 204, 16, 31, 241, 88, 221, 63, 107, 204, 16, 31, 241, 88,
+ 246, 12, 107, 204, 16, 31, 241, 88, 229, 92, 107, 204, 16, 31, 241, 88,
+ 216, 45, 107, 204, 16, 31, 241, 88, 216, 39, 107, 204, 16, 31, 241, 88,
+ 216, 35, 107, 204, 16, 31, 241, 88, 216, 36, 107, 204, 16, 31, 241, 88,
+ 216, 41, 42, 241, 79, 42, 249, 30, 42, 253, 235, 42, 134, 42, 227, 31,
+ 42, 226, 135, 42, 247, 222, 42, 247, 223, 219, 184, 42, 247, 223, 249,
+ 172, 42, 236, 15, 42, 245, 175, 230, 93, 242, 63, 42, 245, 175, 230, 93,
+ 218, 134, 42, 245, 175, 230, 93, 218, 37, 42, 245, 175, 230, 93, 231,
+ 204, 42, 249, 219, 42, 226, 252, 254, 161, 42, 207, 42, 230, 243, 63, 42,
+ 191, 42, 183, 42, 235, 47, 42, 232, 6, 42, 243, 176, 42, 251, 74, 42,
+ 235, 46, 42, 226, 62, 42, 229, 230, 42, 230, 243, 245, 95, 42, 230, 243,
+ 244, 41, 42, 231, 152, 42, 234, 252, 42, 241, 16, 42, 234, 214, 42, 231,
+ 114, 42, 243, 56, 42, 217, 86, 42, 230, 243, 155, 42, 231, 52, 42, 247,
+ 230, 42, 234, 160, 42, 244, 134, 42, 229, 8, 42, 230, 243, 184, 42, 231,
+ 49, 42, 250, 43, 42, 234, 154, 42, 231, 50, 219, 184, 42, 250, 44, 219,
+ 184, 42, 232, 183, 219, 184, 42, 234, 155, 219, 184, 42, 231, 50, 249,
+ 172, 42, 250, 44, 249, 172, 42, 232, 183, 249, 172, 42, 234, 155, 249,
+ 172, 42, 232, 183, 113, 196, 42, 232, 183, 113, 223, 29, 219, 184, 42,
+ 195, 42, 234, 115, 42, 230, 245, 42, 242, 247, 42, 224, 101, 42, 224,
+ 102, 113, 196, 42, 224, 102, 113, 223, 29, 219, 184, 42, 225, 83, 42,
+ 228, 167, 42, 230, 243, 196, 42, 230, 244, 42, 225, 39, 42, 228, 75, 42,
+ 230, 243, 211, 211, 42, 230, 189, 42, 234, 49, 42, 230, 190, 231, 208,
+ 42, 225, 38, 42, 228, 74, 42, 230, 243, 214, 85, 42, 230, 184, 42, 234,
+ 47, 42, 230, 185, 231, 208, 42, 235, 142, 227, 123, 42, 232, 183, 227,
+ 123, 42, 254, 172, 42, 251, 212, 42, 251, 14, 42, 250, 248, 42, 251, 122,
+ 113, 234, 252, 42, 250, 42, 42, 248, 209, 42, 242, 174, 42, 162, 42, 241,
+ 80, 42, 236, 112, 42, 234, 167, 42, 234, 155, 251, 50, 42, 234, 83, 42,
+ 233, 29, 42, 233, 28, 42, 233, 18, 42, 232, 195, 42, 232, 7, 220, 26, 42,
+ 231, 79, 42, 231, 36, 42, 226, 60, 42, 225, 189, 42, 225, 135, 42, 225,
+ 133, 42, 219, 178, 42, 218, 217, 42, 214, 11, 42, 215, 86, 113, 184, 42,
+ 111, 113, 184, 107, 204, 16, 31, 248, 213, 118, 107, 204, 16, 31, 248,
+ 213, 112, 107, 204, 16, 31, 248, 213, 170, 107, 204, 16, 31, 248, 213,
+ 167, 107, 204, 16, 31, 248, 213, 185, 107, 204, 16, 31, 248, 213, 192,
+ 107, 204, 16, 31, 248, 213, 200, 107, 204, 16, 31, 248, 213, 198, 107,
+ 204, 16, 31, 248, 213, 203, 107, 204, 16, 31, 248, 213, 217, 213, 107,
+ 204, 16, 31, 248, 213, 245, 245, 107, 204, 16, 31, 248, 213, 216, 48,
+ 107, 204, 16, 31, 248, 213, 217, 130, 107, 204, 16, 31, 248, 213, 244,
+ 95, 107, 204, 16, 31, 248, 213, 244, 207, 107, 204, 16, 31, 248, 213,
+ 220, 66, 107, 204, 16, 31, 248, 213, 221, 63, 107, 204, 16, 31, 248, 213,
+ 246, 12, 107, 204, 16, 31, 248, 213, 229, 92, 107, 204, 16, 31, 248, 213,
+ 216, 45, 107, 204, 16, 31, 248, 213, 216, 39, 107, 204, 16, 31, 248, 213,
+ 216, 35, 107, 204, 16, 31, 248, 213, 216, 36, 107, 204, 16, 31, 248, 213,
+ 216, 41, 107, 204, 16, 31, 248, 213, 216, 42, 107, 204, 16, 31, 248, 213,
+ 216, 37, 107, 204, 16, 31, 248, 213, 216, 38, 107, 204, 16, 31, 248, 213,
+ 216, 44, 107, 204, 16, 31, 248, 213, 216, 40, 107, 204, 16, 31, 248, 213,
+ 217, 128, 107, 204, 16, 31, 248, 213, 217, 127, 42, 243, 214, 242, 40,
+ 31, 217, 162, 249, 203, 242, 70, 242, 40, 31, 217, 162, 224, 49, 246, 44,
+ 242, 40, 31, 248, 48, 253, 250, 217, 162, 252, 102, 242, 40, 31, 212,
+ 215, 244, 127, 242, 40, 31, 214, 46, 242, 40, 31, 250, 8, 242, 40, 31,
+ 217, 162, 254, 45, 242, 40, 31, 241, 165, 217, 6, 242, 40, 31, 4, 218,
+ 25, 242, 40, 31, 216, 208, 242, 40, 31, 226, 130, 242, 40, 31, 219, 111,
+ 242, 40, 31, 244, 228, 242, 40, 31, 242, 230, 225, 156, 242, 40, 31, 231,
+ 39, 242, 40, 31, 245, 206, 242, 40, 31, 244, 128, 242, 40, 31, 213, 197,
+ 227, 100, 217, 162, 248, 158, 242, 40, 31, 254, 92, 242, 40, 31, 249,
+ 247, 242, 40, 31, 252, 19, 217, 105, 242, 40, 31, 242, 245, 242, 40, 31,
+ 219, 196, 254, 108, 242, 40, 31, 223, 239, 242, 40, 31, 236, 78, 242, 40,
+ 31, 242, 230, 218, 25, 242, 40, 31, 230, 251, 249, 221, 242, 40, 31, 242,
+ 230, 225, 113, 242, 40, 31, 217, 162, 255, 50, 214, 27, 242, 40, 31, 217,
+ 162, 250, 68, 244, 185, 242, 40, 31, 236, 91, 242, 40, 31, 246, 133, 242,
+ 40, 31, 223, 242, 242, 40, 31, 242, 230, 225, 140, 242, 40, 31, 225, 97,
+ 242, 40, 31, 248, 228, 68, 217, 162, 233, 100, 242, 40, 31, 217, 162,
+ 245, 7, 242, 40, 31, 227, 67, 242, 40, 31, 227, 145, 242, 40, 31, 248,
+ 131, 242, 40, 31, 248, 151, 242, 40, 31, 236, 104, 242, 40, 31, 251, 202,
+ 242, 40, 31, 250, 25, 217, 10, 231, 211, 242, 40, 31, 243, 183, 217, 6,
+ 242, 40, 31, 225, 48, 215, 131, 242, 40, 31, 227, 66, 242, 40, 31, 217,
+ 162, 214, 1, 242, 40, 31, 223, 232, 242, 40, 31, 217, 162, 251, 20, 242,
+ 40, 31, 217, 162, 254, 41, 217, 100, 242, 40, 31, 217, 162, 235, 41, 219,
+ 88, 230, 255, 242, 40, 31, 248, 104, 242, 40, 31, 217, 162, 232, 30, 232,
+ 80, 242, 40, 31, 255, 51, 242, 40, 31, 217, 162, 214, 41, 242, 40, 31,
+ 217, 162, 243, 143, 213, 227, 242, 40, 31, 217, 162, 235, 169, 233, 229,
+ 242, 40, 31, 248, 1, 242, 40, 31, 233, 90, 242, 40, 31, 236, 81, 216,
+ 158, 242, 40, 31, 4, 225, 113, 242, 40, 31, 254, 250, 250, 17, 242, 40,
+ 31, 252, 105, 250, 17, 8, 3, 236, 19, 8, 3, 236, 12, 8, 3, 75, 8, 3, 236,
+ 41, 8, 3, 236, 170, 8, 3, 236, 153, 8, 3, 236, 172, 8, 3, 236, 171, 8, 3,
+ 253, 249, 8, 3, 253, 212, 8, 3, 63, 8, 3, 254, 110, 8, 3, 215, 141, 8, 3,
+ 215, 144, 8, 3, 215, 142, 8, 3, 227, 46, 8, 3, 227, 20, 8, 3, 78, 8, 3,
+ 227, 78, 8, 3, 245, 123, 8, 3, 77, 8, 3, 213, 186, 8, 3, 252, 20, 8, 3,
+ 252, 17, 8, 3, 252, 54, 8, 3, 252, 30, 8, 3, 252, 43, 8, 3, 252, 42, 8,
+ 3, 252, 45, 8, 3, 252, 44, 8, 3, 252, 167, 8, 3, 252, 159, 8, 3, 252,
+ 234, 8, 3, 252, 188, 8, 3, 251, 155, 8, 3, 251, 159, 8, 3, 251, 156, 8,
+ 3, 251, 230, 8, 3, 251, 214, 8, 3, 251, 253, 8, 3, 251, 235, 8, 3, 252,
+ 68, 8, 3, 252, 121, 8, 3, 252, 80, 8, 3, 251, 141, 8, 3, 251, 138, 8, 3,
+ 251, 179, 8, 3, 251, 154, 8, 3, 251, 148, 8, 3, 251, 152, 8, 3, 251, 126,
+ 8, 3, 251, 125, 8, 3, 251, 131, 8, 3, 251, 129, 8, 3, 251, 127, 8, 3,
+ 251, 128, 8, 3, 225, 217, 8, 3, 225, 213, 8, 3, 226, 20, 8, 3, 225, 227,
+ 8, 3, 225, 243, 8, 3, 226, 14, 8, 3, 226, 10, 8, 3, 226, 150, 8, 3, 226,
+ 140, 8, 3, 195, 8, 3, 226, 186, 8, 3, 225, 57, 8, 3, 225, 59, 8, 3, 225,
+ 58, 8, 3, 225, 149, 8, 3, 225, 138, 8, 3, 225, 186, 8, 3, 225, 161, 8, 3,
+ 225, 44, 8, 3, 225, 40, 8, 3, 225, 71, 8, 3, 225, 56, 8, 3, 225, 49, 8,
+ 3, 225, 54, 8, 3, 225, 23, 8, 3, 225, 22, 8, 3, 225, 27, 8, 3, 225, 26,
+ 8, 3, 225, 24, 8, 3, 225, 25, 8, 3, 252, 142, 8, 3, 252, 141, 8, 3, 252,
+ 148, 8, 3, 252, 143, 8, 3, 252, 145, 8, 3, 252, 144, 8, 3, 252, 147, 8,
+ 3, 252, 146, 8, 3, 252, 154, 8, 3, 252, 153, 8, 3, 252, 157, 8, 3, 252,
+ 155, 8, 3, 252, 133, 8, 3, 252, 135, 8, 3, 252, 134, 8, 3, 252, 138, 8,
+ 3, 252, 137, 8, 3, 252, 140, 8, 3, 252, 139, 8, 3, 252, 149, 8, 3, 252,
+ 152, 8, 3, 252, 150, 8, 3, 252, 129, 8, 3, 252, 128, 8, 3, 252, 136, 8,
+ 3, 252, 132, 8, 3, 252, 130, 8, 3, 252, 131, 8, 3, 252, 125, 8, 3, 252,
+ 124, 8, 3, 252, 127, 8, 3, 252, 126, 8, 3, 230, 59, 8, 3, 230, 58, 8, 3,
+ 230, 64, 8, 3, 230, 60, 8, 3, 230, 61, 8, 3, 230, 63, 8, 3, 230, 62, 8,
+ 3, 230, 66, 8, 3, 230, 65, 8, 3, 230, 68, 8, 3, 230, 67, 8, 3, 230, 55,
+ 8, 3, 230, 54, 8, 3, 230, 57, 8, 3, 230, 56, 8, 3, 230, 49, 8, 3, 230,
+ 48, 8, 3, 230, 53, 8, 3, 230, 52, 8, 3, 230, 50, 8, 3, 230, 51, 8, 3,
+ 230, 43, 8, 3, 230, 42, 8, 3, 230, 47, 8, 3, 230, 46, 8, 3, 230, 44, 8,
+ 3, 230, 45, 8, 3, 241, 215, 8, 3, 241, 214, 8, 3, 241, 220, 8, 3, 241,
+ 216, 8, 3, 241, 217, 8, 3, 241, 219, 8, 3, 241, 218, 8, 3, 241, 223, 8,
+ 3, 241, 222, 8, 3, 241, 225, 8, 3, 241, 224, 8, 3, 241, 206, 8, 3, 241,
+ 208, 8, 3, 241, 207, 8, 3, 241, 211, 8, 3, 241, 210, 8, 3, 241, 213, 8,
+ 3, 241, 212, 8, 3, 241, 202, 8, 3, 241, 201, 8, 3, 241, 209, 8, 3, 241,
+ 205, 8, 3, 241, 203, 8, 3, 241, 204, 8, 3, 241, 196, 8, 3, 241, 200, 8,
+ 3, 241, 199, 8, 3, 241, 197, 8, 3, 241, 198, 8, 3, 231, 55, 8, 3, 231,
+ 54, 8, 3, 231, 112, 8, 3, 231, 61, 8, 3, 231, 86, 8, 3, 231, 104, 8, 3,
+ 231, 102, 8, 3, 232, 17, 8, 3, 232, 12, 8, 3, 191, 8, 3, 232, 50, 8, 3,
+ 230, 214, 8, 3, 230, 213, 8, 3, 230, 217, 8, 3, 230, 215, 8, 3, 231, 5,
+ 8, 3, 230, 247, 8, 3, 231, 45, 8, 3, 231, 10, 8, 3, 231, 163, 8, 3, 231,
+ 226, 8, 3, 230, 195, 8, 3, 230, 191, 8, 3, 230, 242, 8, 3, 230, 210, 8,
+ 3, 230, 203, 8, 3, 230, 208, 8, 3, 230, 169, 8, 3, 230, 168, 8, 3, 230,
+ 174, 8, 3, 230, 171, 8, 3, 244, 172, 8, 3, 244, 167, 8, 3, 244, 210, 8,
+ 3, 244, 187, 8, 3, 245, 0, 8, 3, 244, 247, 8, 3, 245, 29, 8, 3, 245, 3,
+ 8, 3, 244, 93, 8, 3, 244, 132, 8, 3, 244, 116, 8, 3, 244, 54, 8, 3, 244,
+ 53, 8, 3, 244, 69, 8, 3, 244, 59, 8, 3, 244, 57, 8, 3, 244, 58, 8, 3,
+ 244, 44, 8, 3, 244, 43, 8, 3, 244, 47, 8, 3, 244, 45, 8, 3, 214, 129, 8,
+ 3, 214, 124, 8, 3, 214, 159, 8, 3, 214, 138, 8, 3, 214, 151, 8, 3, 214,
+ 148, 8, 3, 214, 153, 8, 3, 214, 152, 8, 3, 214, 245, 8, 3, 214, 240, 8,
+ 3, 215, 8, 8, 3, 215, 0, 8, 3, 214, 110, 8, 3, 214, 106, 8, 3, 214, 123,
+ 8, 3, 214, 111, 8, 3, 214, 160, 8, 3, 214, 226, 8, 3, 214, 97, 8, 3, 214,
+ 95, 8, 3, 214, 103, 8, 3, 214, 100, 8, 3, 214, 98, 8, 3, 214, 99, 8, 3,
+ 214, 89, 8, 3, 214, 88, 8, 3, 214, 93, 8, 3, 214, 92, 8, 3, 214, 90, 8,
+ 3, 214, 91, 8, 3, 247, 251, 8, 3, 247, 239, 8, 3, 248, 76, 8, 3, 248, 20,
+ 8, 3, 248, 53, 8, 3, 248, 57, 8, 3, 248, 56, 8, 3, 248, 219, 8, 3, 248,
+ 214, 8, 3, 249, 30, 8, 3, 248, 239, 8, 3, 246, 138, 8, 3, 246, 139, 8, 3,
+ 247, 195, 8, 3, 246, 177, 8, 3, 247, 220, 8, 3, 247, 197, 8, 3, 248, 102,
+ 8, 3, 248, 162, 8, 3, 248, 117, 8, 3, 246, 129, 8, 3, 246, 127, 8, 3,
+ 246, 154, 8, 3, 246, 137, 8, 3, 246, 132, 8, 3, 246, 135, 8, 3, 217, 34,
+ 8, 3, 217, 28, 8, 3, 217, 84, 8, 3, 217, 43, 8, 3, 217, 76, 8, 3, 217,
+ 78, 8, 3, 217, 77, 8, 3, 218, 10, 8, 3, 217, 253, 8, 3, 218, 66, 8, 3,
+ 218, 18, 8, 3, 216, 74, 8, 3, 216, 73, 8, 3, 216, 76, 8, 3, 216, 75, 8,
+ 3, 216, 231, 8, 3, 216, 227, 8, 3, 109, 8, 3, 216, 239, 8, 3, 217, 179,
+ 8, 3, 217, 242, 8, 3, 217, 203, 8, 3, 216, 60, 8, 3, 216, 55, 8, 3, 216,
+ 90, 8, 3, 216, 72, 8, 3, 216, 61, 8, 3, 216, 70, 8, 3, 248, 179, 8, 3,
+ 248, 178, 8, 3, 248, 184, 8, 3, 248, 180, 8, 3, 248, 181, 8, 3, 248, 183,
+ 8, 3, 248, 182, 8, 3, 248, 200, 8, 3, 248, 199, 8, 3, 248, 207, 8, 3,
+ 248, 201, 8, 3, 248, 169, 8, 3, 248, 171, 8, 3, 248, 170, 8, 3, 248, 174,
+ 8, 3, 248, 173, 8, 3, 248, 177, 8, 3, 248, 175, 8, 3, 248, 192, 8, 3,
+ 248, 195, 8, 3, 248, 193, 8, 3, 248, 165, 8, 3, 248, 164, 8, 3, 248, 172,
+ 8, 3, 248, 168, 8, 3, 248, 166, 8, 3, 248, 167, 8, 3, 230, 17, 8, 3, 230,
+ 16, 8, 3, 230, 24, 8, 3, 230, 19, 8, 3, 230, 20, 8, 3, 230, 21, 8, 3,
+ 230, 33, 8, 3, 230, 32, 8, 3, 230, 39, 8, 3, 230, 34, 8, 3, 230, 9, 8, 3,
+ 230, 8, 8, 3, 230, 15, 8, 3, 230, 10, 8, 3, 230, 25, 8, 3, 230, 31, 8, 3,
+ 230, 29, 8, 3, 230, 1, 8, 3, 230, 0, 8, 3, 230, 6, 8, 3, 230, 4, 8, 3,
+ 230, 2, 8, 3, 230, 3, 8, 3, 241, 182, 8, 3, 241, 181, 8, 3, 241, 188, 8,
+ 3, 241, 183, 8, 3, 241, 185, 8, 3, 241, 184, 8, 3, 241, 187, 8, 3, 241,
+ 186, 8, 3, 241, 193, 8, 3, 241, 192, 8, 3, 241, 195, 8, 3, 241, 194, 8,
+ 3, 241, 176, 8, 3, 241, 177, 8, 3, 241, 179, 8, 3, 241, 178, 8, 3, 241,
+ 180, 8, 3, 241, 189, 8, 3, 241, 191, 8, 3, 241, 190, 8, 3, 241, 175, 8,
+ 3, 229, 84, 8, 3, 229, 82, 8, 3, 229, 128, 8, 3, 229, 87, 8, 3, 229, 110,
+ 8, 3, 229, 124, 8, 3, 229, 123, 8, 3, 230, 72, 8, 3, 207, 8, 3, 230, 85,
+ 8, 3, 228, 85, 8, 3, 228, 87, 8, 3, 228, 86, 8, 3, 228, 205, 8, 3, 228,
+ 192, 8, 3, 228, 228, 8, 3, 228, 214, 8, 3, 229, 232, 8, 3, 229, 254, 8,
+ 3, 229, 243, 8, 3, 228, 80, 8, 3, 228, 76, 8, 3, 228, 135, 8, 3, 228, 84,
+ 8, 3, 228, 82, 8, 3, 228, 83, 8, 3, 241, 246, 8, 3, 241, 245, 8, 3, 241,
+ 251, 8, 3, 241, 247, 8, 3, 241, 248, 8, 3, 241, 250, 8, 3, 241, 249, 8,
+ 3, 242, 0, 8, 3, 241, 255, 8, 3, 242, 2, 8, 3, 242, 1, 8, 3, 241, 238, 8,
+ 3, 241, 240, 8, 3, 241, 239, 8, 3, 241, 242, 8, 3, 241, 244, 8, 3, 241,
+ 243, 8, 3, 241, 252, 8, 3, 241, 254, 8, 3, 241, 253, 8, 3, 241, 234, 8,
+ 3, 241, 233, 8, 3, 241, 241, 8, 3, 241, 237, 8, 3, 241, 235, 8, 3, 241,
+ 236, 8, 3, 241, 228, 8, 3, 241, 227, 8, 3, 241, 232, 8, 3, 241, 231, 8,
+ 3, 241, 229, 8, 3, 241, 230, 8, 3, 233, 65, 8, 3, 233, 59, 8, 3, 233,
+ 111, 8, 3, 233, 72, 8, 3, 233, 103, 8, 3, 233, 102, 8, 3, 233, 106, 8, 3,
+ 233, 104, 8, 3, 233, 201, 8, 3, 233, 191, 8, 3, 233, 255, 8, 3, 233, 210,
+ 8, 3, 232, 211, 8, 3, 232, 210, 8, 3, 232, 213, 8, 3, 232, 212, 8, 3,
+ 232, 245, 8, 3, 232, 235, 8, 3, 233, 26, 8, 3, 232, 249, 8, 3, 233, 126,
+ 8, 3, 233, 180, 8, 3, 233, 139, 8, 3, 232, 206, 8, 3, 232, 204, 8, 3,
+ 232, 230, 8, 3, 232, 209, 8, 3, 232, 207, 8, 3, 232, 208, 8, 3, 232, 187,
+ 8, 3, 232, 186, 8, 3, 232, 194, 8, 3, 232, 190, 8, 3, 232, 188, 8, 3,
+ 232, 189, 8, 3, 243, 29, 8, 3, 243, 28, 8, 3, 243, 54, 8, 3, 243, 39, 8,
+ 3, 243, 46, 8, 3, 243, 45, 8, 3, 243, 48, 8, 3, 243, 47, 8, 3, 243, 185,
+ 8, 3, 243, 180, 8, 3, 243, 230, 8, 3, 243, 195, 8, 3, 242, 193, 8, 3,
+ 242, 192, 8, 3, 242, 195, 8, 3, 242, 194, 8, 3, 242, 250, 8, 3, 242, 248,
+ 8, 3, 243, 14, 8, 3, 243, 2, 8, 3, 243, 129, 8, 3, 243, 127, 8, 3, 243,
+ 158, 8, 3, 243, 140, 8, 3, 242, 183, 8, 3, 242, 182, 8, 3, 242, 213, 8,
+ 3, 242, 191, 8, 3, 242, 184, 8, 3, 242, 190, 8, 3, 234, 181, 8, 3, 234,
+ 180, 8, 3, 234, 212, 8, 3, 234, 195, 8, 3, 234, 205, 8, 3, 234, 208, 8,
+ 3, 234, 206, 8, 3, 235, 64, 8, 3, 235, 52, 8, 3, 183, 8, 3, 235, 90, 8,
+ 3, 234, 64, 8, 3, 234, 69, 8, 3, 234, 66, 8, 3, 234, 120, 8, 3, 234, 116,
+ 8, 3, 234, 148, 8, 3, 234, 127, 8, 3, 235, 18, 8, 3, 235, 2, 8, 3, 235,
+ 44, 8, 3, 235, 21, 8, 3, 234, 53, 8, 3, 234, 50, 8, 3, 234, 81, 8, 3,
+ 234, 63, 8, 3, 234, 56, 8, 3, 234, 60, 8, 3, 243, 111, 8, 3, 243, 110, 8,
+ 3, 243, 115, 8, 3, 243, 112, 8, 3, 243, 114, 8, 3, 243, 113, 8, 3, 243,
+ 122, 8, 3, 243, 121, 8, 3, 243, 125, 8, 3, 243, 123, 8, 3, 243, 102, 8,
+ 3, 243, 101, 8, 3, 243, 104, 8, 3, 243, 103, 8, 3, 243, 107, 8, 3, 243,
+ 106, 8, 3, 243, 109, 8, 3, 243, 108, 8, 3, 243, 117, 8, 3, 243, 116, 8,
+ 3, 243, 120, 8, 3, 243, 118, 8, 3, 243, 97, 8, 3, 243, 96, 8, 3, 243,
+ 105, 8, 3, 243, 100, 8, 3, 243, 98, 8, 3, 243, 99, 8, 3, 231, 130, 8, 3,
+ 231, 131, 8, 3, 231, 149, 8, 3, 231, 148, 8, 3, 231, 151, 8, 3, 231, 150,
+ 8, 3, 231, 121, 8, 3, 231, 123, 8, 3, 231, 122, 8, 3, 231, 126, 8, 3,
+ 231, 125, 8, 3, 231, 128, 8, 3, 231, 127, 8, 3, 231, 132, 8, 3, 231, 134,
+ 8, 3, 231, 133, 8, 3, 231, 117, 8, 3, 231, 116, 8, 3, 231, 124, 8, 3,
+ 231, 120, 8, 3, 231, 118, 8, 3, 231, 119, 8, 3, 241, 33, 8, 3, 241, 32,
+ 8, 3, 241, 39, 8, 3, 241, 34, 8, 3, 241, 36, 8, 3, 241, 35, 8, 3, 241,
+ 38, 8, 3, 241, 37, 8, 3, 241, 44, 8, 3, 241, 43, 8, 3, 241, 46, 8, 3,
+ 241, 45, 8, 3, 241, 25, 8, 3, 241, 24, 8, 3, 241, 27, 8, 3, 241, 26, 8,
+ 3, 241, 29, 8, 3, 241, 28, 8, 3, 241, 31, 8, 3, 241, 30, 8, 3, 241, 40,
+ 8, 3, 241, 42, 8, 3, 241, 41, 8, 3, 229, 175, 8, 3, 229, 177, 8, 3, 229,
+ 176, 8, 3, 229, 217, 8, 3, 229, 215, 8, 3, 229, 226, 8, 3, 229, 220, 8,
+ 3, 229, 138, 8, 3, 229, 137, 8, 3, 229, 139, 8, 3, 229, 147, 8, 3, 229,
+ 144, 8, 3, 229, 155, 8, 3, 229, 149, 8, 3, 229, 208, 8, 3, 229, 214, 8,
+ 3, 229, 210, 8, 3, 242, 5, 8, 3, 242, 15, 8, 3, 242, 23, 8, 3, 242, 98,
+ 8, 3, 242, 90, 8, 3, 162, 8, 3, 242, 109, 8, 3, 241, 58, 8, 3, 241, 57,
+ 8, 3, 241, 60, 8, 3, 241, 59, 8, 3, 241, 91, 8, 3, 241, 82, 8, 3, 241,
+ 173, 8, 3, 241, 152, 8, 3, 242, 42, 8, 3, 242, 85, 8, 3, 242, 53, 8, 3,
+ 214, 30, 8, 3, 214, 15, 8, 3, 214, 52, 8, 3, 214, 38, 8, 3, 213, 176, 8,
+ 3, 213, 178, 8, 3, 213, 177, 8, 3, 213, 194, 8, 3, 213, 217, 8, 3, 213,
+ 200, 8, 3, 213, 249, 8, 3, 214, 9, 8, 3, 213, 254, 8, 3, 212, 23, 8, 3,
+ 212, 22, 8, 3, 212, 37, 8, 3, 212, 25, 8, 3, 212, 30, 8, 3, 212, 32, 8,
+ 3, 212, 31, 8, 3, 212, 95, 8, 3, 212, 92, 8, 3, 212, 109, 8, 3, 212, 98,
+ 8, 3, 212, 1, 8, 3, 212, 3, 8, 3, 212, 2, 8, 3, 212, 12, 8, 3, 212, 11,
+ 8, 3, 212, 16, 8, 3, 212, 13, 8, 3, 212, 77, 8, 3, 212, 87, 8, 3, 212,
+ 81, 8, 3, 211, 253, 8, 3, 211, 252, 8, 3, 212, 8, 8, 3, 212, 0, 8, 3,
+ 211, 254, 8, 3, 211, 255, 8, 3, 211, 244, 8, 3, 211, 243, 8, 3, 211, 249,
+ 8, 3, 211, 247, 8, 3, 211, 245, 8, 3, 211, 246, 8, 3, 250, 88, 8, 3, 250,
+ 84, 8, 3, 250, 111, 8, 3, 250, 97, 8, 3, 250, 108, 8, 3, 250, 102, 8, 3,
+ 250, 110, 8, 3, 250, 109, 8, 3, 251, 24, 8, 3, 251, 17, 8, 3, 251, 88, 8,
+ 3, 251, 51, 8, 3, 249, 168, 8, 3, 249, 170, 8, 3, 249, 169, 8, 3, 249,
+ 215, 8, 3, 249, 206, 8, 3, 250, 42, 8, 3, 249, 231, 8, 3, 250, 217, 8, 3,
+ 250, 247, 8, 3, 250, 222, 8, 3, 249, 149, 8, 3, 249, 147, 8, 3, 249, 176,
+ 8, 3, 249, 166, 8, 3, 249, 154, 8, 3, 249, 165, 8, 3, 249, 128, 8, 3,
+ 249, 127, 8, 3, 249, 138, 8, 3, 249, 134, 8, 3, 249, 129, 8, 3, 249, 131,
+ 8, 3, 211, 227, 8, 3, 211, 226, 8, 3, 211, 233, 8, 3, 211, 228, 8, 3,
+ 211, 230, 8, 3, 211, 229, 8, 3, 211, 232, 8, 3, 211, 231, 8, 3, 211, 239,
+ 8, 3, 211, 238, 8, 3, 211, 242, 8, 3, 211, 240, 8, 3, 211, 223, 8, 3,
+ 211, 225, 8, 3, 211, 224, 8, 3, 211, 234, 8, 3, 211, 237, 8, 3, 211, 235,
+ 8, 3, 211, 218, 8, 3, 211, 222, 8, 3, 211, 221, 8, 3, 211, 219, 8, 3,
+ 211, 220, 8, 3, 211, 213, 8, 3, 211, 212, 8, 3, 211, 217, 8, 3, 211, 216,
+ 8, 3, 211, 214, 8, 3, 211, 215, 8, 3, 228, 5, 8, 3, 228, 4, 8, 3, 228,
+ 10, 8, 3, 228, 6, 8, 3, 228, 7, 8, 3, 228, 9, 8, 3, 228, 8, 8, 3, 228,
+ 15, 8, 3, 228, 14, 8, 3, 228, 18, 8, 3, 228, 17, 8, 3, 227, 254, 8, 3,
+ 227, 255, 8, 3, 228, 2, 8, 3, 228, 3, 8, 3, 228, 11, 8, 3, 228, 13, 8, 3,
+ 227, 249, 8, 3, 228, 1, 8, 3, 227, 253, 8, 3, 227, 250, 8, 3, 227, 251,
+ 8, 3, 227, 244, 8, 3, 227, 243, 8, 3, 227, 248, 8, 3, 227, 247, 8, 3,
+ 227, 245, 8, 3, 227, 246, 8, 3, 220, 74, 8, 3, 192, 8, 3, 220, 136, 8, 3,
+ 220, 77, 8, 3, 220, 128, 8, 3, 220, 131, 8, 3, 220, 129, 8, 3, 222, 166,
+ 8, 3, 222, 155, 8, 3, 222, 227, 8, 3, 222, 174, 8, 3, 218, 242, 8, 3,
+ 218, 244, 8, 3, 218, 243, 8, 3, 219, 240, 8, 3, 219, 229, 8, 3, 220, 5,
+ 8, 3, 219, 243, 8, 3, 221, 58, 8, 3, 222, 123, 8, 3, 221, 82, 8, 3, 218,
+ 220, 8, 3, 218, 218, 8, 3, 219, 41, 8, 3, 218, 241, 8, 3, 218, 223, 8, 3,
+ 218, 231, 8, 3, 218, 127, 8, 3, 218, 126, 8, 3, 218, 191, 8, 3, 218, 133,
+ 8, 3, 218, 128, 8, 3, 218, 132, 8, 3, 219, 139, 8, 3, 219, 138, 8, 3,
+ 219, 145, 8, 3, 219, 140, 8, 3, 219, 142, 8, 3, 219, 144, 8, 3, 219, 143,
+ 8, 3, 219, 153, 8, 3, 219, 151, 8, 3, 219, 176, 8, 3, 219, 154, 8, 3,
+ 219, 134, 8, 3, 219, 133, 8, 3, 219, 137, 8, 3, 219, 135, 8, 3, 219, 147,
+ 8, 3, 219, 150, 8, 3, 219, 148, 8, 3, 219, 130, 8, 3, 219, 128, 8, 3,
+ 219, 132, 8, 3, 219, 131, 8, 3, 219, 123, 8, 3, 219, 122, 8, 3, 219, 127,
+ 8, 3, 219, 126, 8, 3, 219, 124, 8, 3, 219, 125, 8, 3, 212, 70, 8, 3, 212,
+ 69, 8, 3, 212, 75, 8, 3, 212, 72, 8, 3, 212, 52, 8, 3, 212, 54, 8, 3,
+ 212, 53, 8, 3, 212, 57, 8, 3, 212, 56, 8, 3, 212, 60, 8, 3, 212, 58, 8,
+ 3, 212, 64, 8, 3, 212, 63, 8, 3, 212, 67, 8, 3, 212, 65, 8, 3, 212, 48,
+ 8, 3, 212, 47, 8, 3, 212, 55, 8, 3, 212, 51, 8, 3, 212, 49, 8, 3, 212,
+ 50, 8, 3, 212, 40, 8, 3, 212, 39, 8, 3, 212, 44, 8, 3, 212, 43, 8, 3,
+ 212, 41, 8, 3, 212, 42, 8, 3, 250, 195, 8, 3, 250, 192, 8, 3, 250, 215,
+ 8, 3, 250, 203, 8, 3, 250, 125, 8, 3, 250, 124, 8, 3, 250, 127, 8, 3,
+ 250, 126, 8, 3, 250, 139, 8, 3, 250, 138, 8, 3, 250, 146, 8, 3, 250, 141,
+ 8, 3, 250, 175, 8, 3, 250, 173, 8, 3, 250, 190, 8, 3, 250, 181, 8, 3,
+ 250, 119, 8, 3, 250, 129, 8, 3, 250, 123, 8, 3, 250, 120, 8, 3, 250, 122,
+ 8, 3, 250, 113, 8, 3, 250, 112, 8, 3, 250, 117, 8, 3, 250, 116, 8, 3,
+ 250, 114, 8, 3, 250, 115, 8, 3, 223, 111, 8, 3, 223, 115, 8, 3, 223, 94,
+ 8, 3, 223, 95, 8, 3, 223, 98, 8, 3, 223, 97, 8, 3, 223, 101, 8, 3, 223,
+ 99, 8, 3, 223, 105, 8, 3, 223, 104, 8, 3, 223, 110, 8, 3, 223, 106, 8, 3,
+ 223, 90, 8, 3, 223, 88, 8, 3, 223, 96, 8, 3, 223, 93, 8, 3, 223, 91, 8,
+ 3, 223, 92, 8, 3, 223, 83, 8, 3, 223, 82, 8, 3, 223, 87, 8, 3, 223, 86,
+ 8, 3, 223, 84, 8, 3, 223, 85, 8, 3, 228, 188, 8, 3, 228, 187, 8, 3, 228,
+ 190, 8, 3, 228, 189, 8, 3, 228, 180, 8, 3, 228, 182, 8, 3, 228, 181, 8,
+ 3, 228, 184, 8, 3, 228, 183, 8, 3, 228, 186, 8, 3, 228, 185, 8, 3, 228,
+ 175, 8, 3, 228, 174, 8, 3, 228, 179, 8, 3, 228, 178, 8, 3, 228, 176, 8,
+ 3, 228, 177, 8, 3, 228, 169, 8, 3, 228, 168, 8, 3, 228, 173, 8, 3, 228,
+ 172, 8, 3, 228, 170, 8, 3, 228, 171, 8, 3, 221, 17, 8, 3, 221, 12, 8, 3,
+ 221, 47, 8, 3, 221, 28, 8, 3, 220, 160, 8, 3, 220, 162, 8, 3, 220, 161,
+ 8, 3, 220, 181, 8, 3, 220, 178, 8, 3, 220, 208, 8, 3, 220, 199, 8, 3,
+ 220, 243, 8, 3, 220, 236, 8, 3, 221, 8, 8, 3, 220, 251, 8, 3, 220, 156,
+ 8, 3, 220, 154, 8, 3, 220, 170, 8, 3, 220, 159, 8, 3, 220, 157, 8, 3,
+ 220, 158, 8, 3, 220, 139, 8, 3, 220, 138, 8, 3, 220, 145, 8, 3, 220, 142,
+ 8, 3, 220, 140, 8, 3, 220, 141, 8, 3, 224, 68, 8, 3, 224, 62, 8, 3, 208,
+ 8, 3, 224, 74, 8, 3, 223, 57, 8, 3, 223, 59, 8, 3, 223, 58, 8, 3, 223,
+ 124, 8, 3, 223, 117, 8, 3, 223, 146, 8, 3, 223, 128, 8, 3, 223, 230, 8,
+ 3, 224, 55, 8, 3, 224, 9, 8, 3, 223, 50, 8, 3, 223, 47, 8, 3, 223, 77, 8,
+ 3, 223, 56, 8, 3, 223, 52, 8, 3, 223, 53, 8, 3, 223, 32, 8, 3, 223, 31,
+ 8, 3, 223, 37, 8, 3, 223, 35, 8, 3, 223, 33, 8, 3, 223, 34, 8, 3, 235,
+ 215, 8, 3, 235, 214, 8, 3, 235, 225, 8, 3, 235, 216, 8, 3, 235, 221, 8,
+ 3, 235, 220, 8, 3, 235, 223, 8, 3, 235, 222, 8, 3, 235, 158, 8, 3, 235,
+ 157, 8, 3, 235, 160, 8, 3, 235, 159, 8, 3, 235, 173, 8, 3, 235, 171, 8,
+ 3, 235, 185, 8, 3, 235, 175, 8, 3, 235, 152, 8, 3, 235, 150, 8, 3, 235,
+ 168, 8, 3, 235, 156, 8, 3, 235, 153, 8, 3, 235, 154, 8, 3, 235, 144, 8,
+ 3, 235, 143, 8, 3, 235, 148, 8, 3, 235, 147, 8, 3, 235, 145, 8, 3, 235,
+ 146, 8, 3, 224, 226, 8, 3, 224, 224, 8, 3, 224, 233, 8, 3, 224, 227, 8,
+ 3, 224, 230, 8, 3, 224, 229, 8, 3, 224, 232, 8, 3, 224, 231, 8, 3, 224,
+ 179, 8, 3, 224, 176, 8, 3, 224, 181, 8, 3, 224, 180, 8, 3, 224, 213, 8,
+ 3, 224, 212, 8, 3, 224, 222, 8, 3, 224, 216, 8, 3, 224, 171, 8, 3, 224,
+ 167, 8, 3, 224, 210, 8, 3, 224, 175, 8, 3, 224, 173, 8, 3, 224, 174, 8,
+ 3, 224, 151, 8, 3, 224, 149, 8, 3, 224, 161, 8, 3, 224, 154, 8, 3, 224,
+ 152, 8, 3, 224, 153, 8, 3, 235, 204, 8, 3, 235, 203, 8, 3, 235, 210, 8,
+ 3, 235, 205, 8, 3, 235, 207, 8, 3, 235, 206, 8, 3, 235, 209, 8, 3, 235,
+ 208, 8, 3, 235, 195, 8, 3, 235, 197, 8, 3, 235, 196, 8, 3, 235, 200, 8,
+ 3, 235, 199, 8, 3, 235, 202, 8, 3, 235, 201, 8, 3, 235, 191, 8, 3, 235,
+ 190, 8, 3, 235, 198, 8, 3, 235, 194, 8, 3, 235, 192, 8, 3, 235, 193, 8,
+ 3, 235, 187, 8, 3, 235, 186, 8, 3, 235, 189, 8, 3, 235, 188, 8, 3, 229,
+ 57, 8, 3, 229, 56, 8, 3, 229, 64, 8, 3, 229, 58, 8, 3, 229, 60, 8, 3,
+ 229, 59, 8, 3, 229, 63, 8, 3, 229, 61, 8, 3, 229, 46, 8, 3, 229, 47, 8,
+ 3, 229, 52, 8, 3, 229, 51, 8, 3, 229, 55, 8, 3, 229, 53, 8, 3, 229, 41,
+ 8, 3, 229, 50, 8, 3, 229, 45, 8, 3, 229, 42, 8, 3, 229, 43, 8, 3, 229,
+ 36, 8, 3, 229, 35, 8, 3, 229, 40, 8, 3, 229, 39, 8, 3, 229, 37, 8, 3,
+ 229, 38, 8, 3, 228, 38, 8, 3, 228, 37, 8, 3, 228, 49, 8, 3, 228, 42, 8,
+ 3, 228, 46, 8, 3, 228, 45, 8, 3, 228, 48, 8, 3, 228, 47, 8, 3, 228, 25,
+ 8, 3, 228, 27, 8, 3, 228, 26, 8, 3, 228, 31, 8, 3, 228, 30, 8, 3, 228,
+ 35, 8, 3, 228, 32, 8, 3, 228, 23, 8, 3, 228, 21, 8, 3, 228, 29, 8, 3,
+ 228, 24, 8, 3, 213, 141, 8, 3, 213, 140, 8, 3, 213, 148, 8, 3, 213, 143,
+ 8, 3, 213, 145, 8, 3, 213, 144, 8, 3, 213, 147, 8, 3, 213, 146, 8, 3,
+ 213, 130, 8, 3, 213, 131, 8, 3, 213, 135, 8, 3, 213, 134, 8, 3, 213, 139,
+ 8, 3, 213, 137, 8, 3, 213, 112, 8, 3, 213, 110, 8, 3, 213, 122, 8, 3,
+ 213, 115, 8, 3, 213, 113, 8, 3, 213, 114, 8, 3, 212, 242, 8, 3, 212, 240,
+ 8, 3, 213, 0, 8, 3, 212, 243, 8, 3, 212, 250, 8, 3, 212, 249, 8, 3, 212,
+ 253, 8, 3, 212, 251, 8, 3, 212, 183, 8, 3, 212, 182, 8, 3, 212, 186, 8,
+ 3, 212, 184, 8, 3, 212, 216, 8, 3, 212, 213, 8, 3, 212, 236, 8, 3, 212,
+ 220, 8, 3, 212, 174, 8, 3, 212, 170, 8, 3, 212, 204, 8, 3, 212, 181, 8,
+ 3, 212, 177, 8, 3, 212, 178, 8, 3, 212, 155, 8, 3, 212, 154, 8, 3, 212,
+ 161, 8, 3, 212, 158, 8, 3, 212, 156, 8, 3, 212, 157, 8, 34, 224, 213, 8,
+ 34, 233, 111, 8, 34, 234, 181, 8, 34, 228, 42, 8, 34, 249, 134, 8, 34,
+ 219, 145, 8, 34, 243, 108, 8, 34, 243, 140, 8, 34, 231, 112, 8, 34, 241,
+ 33, 8, 34, 232, 189, 8, 34, 252, 129, 8, 34, 231, 10, 8, 34, 212, 236, 8,
+ 34, 225, 44, 8, 34, 241, 27, 8, 34, 218, 10, 8, 34, 243, 230, 8, 34, 212,
+ 0, 8, 34, 249, 128, 8, 34, 248, 167, 8, 34, 251, 152, 8, 34, 243, 104, 8,
+ 34, 228, 32, 8, 34, 216, 90, 8, 34, 227, 78, 8, 34, 235, 191, 8, 34, 212,
+ 12, 8, 34, 225, 23, 8, 34, 241, 213, 8, 34, 212, 242, 8, 34, 214, 99, 8,
+ 34, 220, 145, 8, 34, 214, 226, 8, 34, 212, 109, 8, 34, 235, 185, 8, 34,
+ 227, 253, 8, 34, 235, 189, 8, 34, 242, 250, 8, 34, 235, 209, 8, 34, 213,
+ 217, 8, 34, 246, 154, 8, 34, 220, 158, 8, 34, 233, 106, 8, 34, 249, 138,
+ 8, 34, 249, 169, 8, 34, 250, 97, 8, 34, 241, 30, 8, 34, 221, 17, 8, 34,
+ 211, 255, 8, 34, 220, 199, 8, 34, 250, 190, 8, 34, 211, 230, 8, 34, 230,
+ 63, 8, 34, 235, 44, 233, 66, 1, 252, 234, 233, 66, 1, 195, 233, 66, 1,
+ 226, 59, 233, 66, 1, 249, 30, 233, 66, 1, 218, 66, 233, 66, 1, 217, 174,
+ 233, 66, 1, 243, 230, 233, 66, 1, 183, 233, 66, 1, 234, 250, 233, 66, 1,
+ 236, 0, 233, 66, 1, 251, 88, 233, 66, 1, 250, 215, 233, 66, 1, 246, 114,
+ 233, 66, 1, 216, 154, 233, 66, 1, 216, 146, 233, 66, 1, 191, 233, 66, 1,
+ 207, 233, 66, 1, 233, 255, 233, 66, 1, 222, 227, 233, 66, 1, 212, 75,
+ 233, 66, 1, 212, 109, 233, 66, 1, 229, 226, 233, 66, 1, 162, 233, 66, 1,
+ 213, 156, 233, 66, 1, 242, 37, 233, 66, 1, 245, 29, 233, 66, 1, 214, 52,
+ 233, 66, 1, 221, 47, 233, 66, 1, 189, 233, 66, 1, 243, 89, 233, 66, 1,
+ 63, 233, 66, 1, 255, 20, 233, 66, 1, 77, 233, 66, 1, 245, 143, 233, 66,
+ 1, 75, 233, 66, 1, 78, 233, 66, 1, 72, 233, 66, 1, 215, 189, 233, 66, 1,
+ 215, 184, 233, 66, 1, 227, 136, 233, 66, 1, 161, 230, 173, 217, 84, 233,
+ 66, 1, 161, 230, 115, 225, 186, 233, 66, 1, 161, 230, 173, 249, 137, 233,
+ 66, 1, 161, 230, 173, 251, 253, 233, 66, 1, 161, 230, 173, 207, 233, 66,
+ 1, 161, 230, 173, 235, 231, 233, 66, 225, 63, 250, 23, 233, 66, 225, 63,
+ 244, 64, 219, 83, 40, 3, 246, 30, 40, 3, 246, 27, 40, 3, 242, 67, 40, 3,
+ 214, 4, 40, 3, 214, 3, 40, 3, 226, 122, 40, 3, 252, 61, 40, 3, 252, 112,
+ 40, 3, 231, 249, 40, 3, 234, 111, 40, 3, 231, 143, 40, 3, 243, 171, 40,
+ 3, 244, 236, 40, 3, 214, 232, 40, 3, 217, 232, 40, 3, 217, 160, 40, 3,
+ 248, 89, 40, 3, 248, 86, 40, 3, 233, 172, 40, 3, 224, 35, 40, 3, 248,
+ 149, 40, 3, 230, 30, 40, 3, 222, 112, 40, 3, 221, 6, 40, 3, 212, 85, 40,
+ 3, 212, 66, 40, 3, 250, 239, 40, 3, 235, 240, 40, 3, 229, 71, 40, 3, 213,
+ 36, 40, 3, 235, 43, 40, 3, 229, 201, 40, 3, 243, 151, 40, 3, 231, 215,
+ 40, 3, 229, 251, 40, 3, 228, 55, 40, 3, 75, 40, 3, 236, 112, 40, 3, 242,
+ 28, 40, 3, 242, 9, 40, 3, 213, 238, 40, 3, 213, 229, 40, 3, 226, 20, 40,
+ 3, 252, 59, 40, 3, 252, 54, 40, 3, 231, 242, 40, 3, 234, 108, 40, 3, 231,
+ 140, 40, 3, 243, 167, 40, 3, 244, 210, 40, 3, 214, 159, 40, 3, 217, 84,
+ 40, 3, 217, 141, 40, 3, 248, 81, 40, 3, 248, 85, 40, 3, 233, 111, 40, 3,
+ 223, 222, 40, 3, 248, 76, 40, 3, 230, 24, 40, 3, 220, 136, 40, 3, 220,
+ 233, 40, 3, 212, 37, 40, 3, 212, 62, 40, 3, 250, 111, 40, 3, 235, 225,
+ 40, 3, 229, 64, 40, 3, 213, 0, 40, 3, 234, 212, 40, 3, 229, 193, 40, 3,
+ 243, 54, 40, 3, 231, 112, 40, 3, 229, 128, 40, 3, 228, 49, 40, 3, 63, 40,
+ 3, 254, 159, 40, 3, 229, 222, 40, 3, 162, 40, 3, 242, 121, 40, 3, 214,
+ 52, 40, 3, 214, 42, 40, 3, 195, 40, 3, 252, 65, 40, 3, 252, 234, 40, 3,
+ 232, 1, 40, 3, 234, 115, 40, 3, 234, 114, 40, 3, 231, 147, 40, 3, 243,
+ 175, 40, 3, 245, 29, 40, 3, 215, 8, 40, 3, 218, 66, 40, 3, 217, 174, 40,
+ 3, 248, 97, 40, 3, 248, 88, 40, 3, 233, 255, 40, 3, 208, 40, 3, 249, 30,
+ 40, 3, 230, 39, 40, 3, 222, 227, 40, 3, 221, 47, 40, 3, 212, 109, 40, 3,
+ 212, 75, 40, 3, 251, 88, 40, 3, 236, 0, 40, 3, 229, 80, 40, 3, 189, 40,
+ 3, 183, 40, 3, 235, 96, 40, 3, 229, 206, 40, 3, 243, 230, 40, 3, 191, 40,
+ 3, 207, 40, 3, 228, 64, 40, 3, 227, 86, 40, 3, 227, 82, 40, 3, 241, 158,
+ 40, 3, 213, 205, 40, 3, 213, 201, 40, 3, 225, 165, 40, 3, 252, 57, 40, 3,
+ 251, 243, 40, 3, 231, 237, 40, 3, 234, 106, 40, 3, 231, 136, 40, 3, 243,
+ 163, 40, 3, 244, 123, 40, 3, 214, 112, 40, 3, 216, 243, 40, 3, 217, 119,
+ 40, 3, 248, 79, 40, 3, 248, 83, 40, 3, 232, 254, 40, 3, 223, 133, 40, 3,
+ 247, 200, 40, 3, 230, 11, 40, 3, 219, 245, 40, 3, 220, 202, 40, 3, 212,
+ 14, 40, 3, 212, 59, 40, 3, 249, 236, 40, 3, 235, 176, 40, 3, 229, 54, 40,
+ 3, 212, 221, 40, 3, 234, 130, 40, 3, 229, 191, 40, 3, 243, 4, 40, 3, 231,
+ 16, 40, 3, 228, 218, 40, 3, 228, 33, 40, 3, 72, 40, 3, 215, 166, 40, 3,
+ 241, 74, 40, 3, 241, 64, 40, 3, 213, 186, 40, 3, 213, 180, 40, 3, 225,
+ 71, 40, 3, 252, 56, 40, 3, 251, 179, 40, 3, 231, 236, 40, 3, 234, 104,
+ 40, 3, 231, 135, 40, 3, 243, 162, 40, 3, 244, 69, 40, 3, 214, 103, 40, 3,
+ 216, 90, 40, 3, 217, 103, 40, 3, 248, 77, 40, 3, 248, 82, 40, 3, 232,
+ 230, 40, 3, 223, 77, 40, 3, 246, 154, 40, 3, 230, 6, 40, 3, 219, 41, 40,
+ 3, 220, 170, 40, 3, 212, 8, 40, 3, 212, 55, 40, 3, 249, 176, 40, 3, 235,
+ 168, 40, 3, 229, 50, 40, 3, 212, 204, 40, 3, 234, 81, 40, 3, 229, 190,
+ 40, 3, 242, 213, 40, 3, 230, 242, 40, 3, 228, 135, 40, 3, 228, 29, 40, 3,
+ 78, 40, 3, 227, 99, 40, 3, 229, 151, 40, 3, 241, 173, 40, 3, 241, 161,
+ 40, 3, 213, 217, 40, 3, 213, 206, 40, 3, 225, 186, 40, 3, 252, 58, 40, 3,
+ 251, 253, 40, 3, 231, 238, 40, 3, 234, 107, 40, 3, 231, 138, 40, 3, 243,
+ 165, 40, 3, 243, 164, 40, 3, 244, 132, 40, 3, 214, 123, 40, 3, 109, 40,
+ 3, 217, 122, 40, 3, 248, 80, 40, 3, 248, 84, 40, 3, 233, 26, 40, 3, 223,
+ 146, 40, 3, 247, 220, 40, 3, 230, 15, 40, 3, 220, 5, 40, 3, 220, 208, 40,
+ 3, 212, 16, 40, 3, 212, 60, 40, 3, 250, 42, 40, 3, 235, 185, 40, 3, 229,
+ 55, 40, 3, 212, 236, 40, 3, 234, 148, 40, 3, 229, 192, 40, 3, 243, 14,
+ 40, 3, 231, 45, 40, 3, 228, 228, 40, 3, 228, 35, 40, 3, 77, 40, 3, 245,
+ 229, 40, 3, 229, 211, 40, 3, 242, 85, 40, 3, 242, 56, 40, 3, 214, 9, 40,
+ 3, 214, 0, 40, 3, 226, 132, 40, 3, 252, 62, 40, 3, 252, 121, 40, 3, 231,
+ 250, 40, 3, 234, 112, 40, 3, 234, 110, 40, 3, 231, 144, 40, 3, 243, 172,
+ 40, 3, 243, 170, 40, 3, 244, 243, 40, 3, 214, 237, 40, 3, 217, 242, 40,
+ 3, 217, 161, 40, 3, 248, 90, 40, 3, 248, 87, 40, 3, 233, 180, 40, 3, 224,
+ 55, 40, 3, 248, 162, 40, 3, 230, 31, 40, 3, 222, 123, 40, 3, 221, 8, 40,
+ 3, 212, 87, 40, 3, 212, 67, 40, 3, 250, 247, 40, 3, 235, 242, 40, 3, 229,
+ 73, 40, 3, 213, 39, 40, 3, 235, 44, 40, 3, 229, 202, 40, 3, 229, 198, 40,
+ 3, 243, 158, 40, 3, 243, 147, 40, 3, 231, 226, 40, 3, 229, 254, 40, 3,
+ 228, 56, 40, 3, 229, 228, 40, 3, 233, 144, 40, 250, 23, 40, 244, 64, 219,
+ 83, 40, 224, 193, 79, 40, 3, 230, 14, 245, 29, 40, 3, 230, 14, 183, 40,
+ 3, 230, 14, 219, 245, 40, 16, 244, 233, 40, 16, 235, 42, 40, 16, 217, 48,
+ 40, 16, 229, 103, 40, 16, 252, 193, 40, 16, 245, 28, 40, 16, 218, 63, 40,
+ 16, 248, 243, 40, 16, 247, 199, 40, 16, 234, 70, 40, 16, 216, 247, 40,
+ 16, 247, 219, 40, 16, 235, 177, 40, 21, 212, 79, 40, 21, 118, 40, 21,
+ 112, 40, 21, 170, 40, 21, 167, 40, 21, 185, 40, 21, 192, 40, 21, 200, 40,
+ 21, 198, 40, 21, 203, 40, 3, 230, 14, 191, 40, 3, 230, 14, 247, 220, 33,
+ 6, 1, 212, 83, 33, 4, 1, 212, 83, 33, 6, 1, 246, 110, 33, 4, 1, 246, 110,
+ 33, 6, 1, 223, 236, 246, 112, 33, 4, 1, 223, 236, 246, 112, 33, 6, 1,
+ 236, 44, 33, 4, 1, 236, 44, 33, 6, 1, 247, 234, 33, 4, 1, 247, 234, 33,
+ 6, 1, 231, 24, 215, 181, 33, 4, 1, 231, 24, 215, 181, 33, 6, 1, 251, 189,
+ 227, 104, 33, 4, 1, 251, 189, 227, 104, 33, 6, 1, 229, 236, 213, 23, 33,
+ 4, 1, 229, 236, 213, 23, 33, 6, 1, 213, 20, 2, 252, 229, 213, 23, 33, 4,
+ 1, 213, 20, 2, 252, 229, 213, 23, 33, 6, 1, 236, 42, 213, 51, 33, 4, 1,
+ 236, 42, 213, 51, 33, 6, 1, 223, 236, 212, 204, 33, 4, 1, 223, 236, 212,
+ 204, 33, 6, 1, 236, 42, 63, 33, 4, 1, 236, 42, 63, 33, 6, 1, 250, 60,
+ 233, 62, 212, 175, 33, 4, 1, 250, 60, 233, 62, 212, 175, 33, 6, 1, 252,
+ 6, 212, 175, 33, 4, 1, 252, 6, 212, 175, 33, 6, 1, 236, 42, 250, 60, 233,
+ 62, 212, 175, 33, 4, 1, 236, 42, 250, 60, 233, 62, 212, 175, 33, 6, 1,
+ 212, 238, 33, 4, 1, 212, 238, 33, 6, 1, 223, 236, 216, 149, 33, 4, 1,
+ 223, 236, 216, 149, 33, 6, 1, 219, 255, 248, 162, 33, 4, 1, 219, 255,
+ 248, 162, 33, 6, 1, 219, 255, 245, 252, 33, 4, 1, 219, 255, 245, 252, 33,
+ 6, 1, 219, 255, 245, 238, 33, 4, 1, 219, 255, 245, 238, 33, 6, 1, 231,
+ 28, 78, 33, 4, 1, 231, 28, 78, 33, 6, 1, 252, 32, 78, 33, 4, 1, 252, 32,
+ 78, 33, 6, 1, 52, 231, 28, 78, 33, 4, 1, 52, 231, 28, 78, 33, 1, 230,
+ 226, 78, 38, 33, 214, 87, 38, 33, 217, 214, 231, 74, 53, 38, 33, 241, 63,
+ 231, 74, 53, 38, 33, 217, 114, 231, 74, 53, 220, 40, 254, 3, 38, 33, 235,
+ 54, 38, 33, 226, 137, 33, 235, 54, 33, 226, 137, 33, 6, 1, 246, 122, 33,
+ 4, 1, 246, 122, 33, 6, 1, 246, 103, 33, 4, 1, 246, 103, 33, 6, 1, 212,
+ 45, 33, 4, 1, 212, 45, 33, 6, 1, 251, 7, 33, 4, 1, 251, 7, 33, 6, 1, 246,
+ 102, 33, 4, 1, 246, 102, 33, 6, 1, 217, 243, 2, 231, 107, 102, 33, 4, 1,
+ 217, 243, 2, 231, 107, 102, 33, 6, 1, 216, 50, 33, 4, 1, 216, 50, 33, 6,
+ 1, 216, 132, 33, 4, 1, 216, 132, 33, 6, 1, 216, 136, 33, 4, 1, 216, 136,
+ 33, 6, 1, 217, 248, 33, 4, 1, 217, 248, 33, 6, 1, 241, 51, 33, 4, 1, 241,
+ 51, 33, 6, 1, 220, 151, 33, 4, 1, 220, 151, 20, 1, 63, 20, 1, 183, 20, 1,
+ 72, 20, 1, 234, 81, 20, 1, 246, 30, 20, 1, 224, 35, 20, 1, 218, 49, 20,
+ 1, 78, 20, 1, 228, 49, 20, 1, 75, 20, 1, 233, 255, 20, 1, 195, 20, 1,
+ 223, 170, 20, 1, 223, 216, 20, 1, 233, 171, 20, 1, 231, 214, 20, 1, 218,
+ 63, 20, 1, 230, 37, 20, 1, 229, 78, 20, 1, 184, 20, 1, 218, 219, 20, 1,
+ 230, 242, 20, 1, 220, 228, 20, 1, 220, 136, 20, 1, 220, 238, 20, 1, 221,
+ 67, 20, 1, 234, 19, 20, 1, 235, 18, 20, 1, 228, 107, 20, 1, 228, 135, 20,
+ 1, 229, 49, 20, 1, 212, 218, 20, 1, 220, 170, 20, 1, 212, 179, 20, 1,
+ 189, 20, 1, 228, 163, 20, 1, 235, 4, 20, 1, 226, 63, 20, 1, 229, 71, 20,
+ 1, 228, 144, 20, 1, 225, 66, 20, 1, 213, 183, 20, 1, 226, 122, 20, 1,
+ 244, 236, 20, 1, 223, 77, 20, 1, 232, 230, 20, 1, 231, 112, 20, 1, 229,
+ 128, 20, 1, 223, 238, 20, 1, 224, 96, 20, 1, 235, 27, 20, 1, 229, 158,
+ 20, 1, 229, 206, 20, 1, 229, 226, 20, 1, 220, 208, 20, 1, 225, 69, 20, 1,
+ 244, 69, 20, 1, 244, 126, 20, 1, 214, 52, 20, 1, 207, 20, 1, 233, 111,
+ 20, 1, 226, 20, 20, 1, 232, 248, 20, 1, 234, 148, 20, 1, 231, 247, 20, 1,
+ 224, 11, 20, 1, 231, 192, 20, 1, 191, 20, 1, 217, 84, 20, 1, 234, 212,
+ 20, 1, 231, 45, 20, 1, 231, 255, 20, 1, 217, 196, 20, 1, 234, 115, 20, 1,
+ 217, 213, 20, 1, 228, 136, 20, 1, 222, 190, 20, 1, 245, 25, 20, 1, 234,
+ 117, 20, 1, 234, 144, 20, 38, 156, 234, 125, 20, 38, 156, 216, 82, 20,
+ 229, 77, 20, 244, 64, 219, 83, 20, 250, 30, 20, 250, 23, 20, 221, 93, 20,
+ 224, 193, 79, 59, 1, 250, 156, 161, 212, 246, 225, 229, 59, 1, 250, 156,
+ 161, 213, 61, 225, 229, 59, 1, 250, 156, 161, 212, 246, 221, 29, 59, 1,
+ 250, 156, 161, 213, 61, 221, 29, 59, 1, 250, 156, 161, 212, 246, 224,
+ 210, 59, 1, 250, 156, 161, 213, 61, 224, 210, 59, 1, 250, 156, 161, 212,
+ 246, 223, 77, 59, 1, 250, 156, 161, 213, 61, 223, 77, 59, 1, 245, 109,
+ 246, 193, 161, 134, 59, 1, 127, 246, 193, 161, 134, 59, 1, 231, 108, 246,
+ 193, 161, 134, 59, 1, 117, 246, 193, 161, 134, 59, 1, 245, 108, 246, 193,
+ 161, 134, 59, 1, 245, 109, 246, 193, 233, 161, 161, 134, 59, 1, 127, 246,
+ 193, 233, 161, 161, 134, 59, 1, 231, 108, 246, 193, 233, 161, 161, 134,
+ 59, 1, 117, 246, 193, 233, 161, 161, 134, 59, 1, 245, 108, 246, 193, 233,
+ 161, 161, 134, 59, 1, 245, 109, 233, 161, 161, 134, 59, 1, 127, 233, 161,
+ 161, 134, 59, 1, 231, 108, 233, 161, 161, 134, 59, 1, 117, 233, 161, 161,
+ 134, 59, 1, 245, 108, 233, 161, 161, 134, 59, 1, 62, 66, 134, 59, 1, 62,
+ 220, 42, 59, 1, 62, 201, 134, 59, 1, 232, 237, 47, 249, 223, 254, 145,
+ 59, 1, 224, 83, 116, 71, 59, 1, 224, 83, 121, 71, 59, 1, 224, 83, 245,
+ 119, 79, 59, 1, 224, 83, 236, 52, 245, 119, 79, 59, 1, 117, 236, 52, 245,
+ 119, 79, 59, 1, 219, 65, 22, 127, 216, 254, 59, 1, 219, 65, 22, 117, 216,
+ 254, 7, 6, 1, 246, 21, 254, 205, 7, 4, 1, 246, 21, 254, 205, 7, 6, 1,
+ 246, 21, 254, 231, 7, 4, 1, 246, 21, 254, 231, 7, 6, 1, 242, 54, 7, 4, 1,
+ 242, 54, 7, 6, 1, 216, 13, 7, 4, 1, 216, 13, 7, 6, 1, 216, 200, 7, 4, 1,
+ 216, 200, 7, 6, 1, 249, 174, 7, 4, 1, 249, 174, 7, 6, 1, 249, 175, 2,
+ 250, 23, 7, 4, 1, 249, 175, 2, 250, 23, 7, 1, 4, 6, 245, 95, 7, 1, 4, 6,
+ 196, 7, 6, 1, 255, 104, 7, 4, 1, 255, 104, 7, 6, 1, 254, 111, 7, 4, 1,
+ 254, 111, 7, 6, 1, 253, 235, 7, 4, 1, 253, 235, 7, 6, 1, 253, 219, 7, 4,
+ 1, 253, 219, 7, 6, 1, 253, 220, 2, 201, 134, 7, 4, 1, 253, 220, 2, 201,
+ 134, 7, 6, 1, 253, 210, 7, 4, 1, 253, 210, 7, 6, 1, 223, 236, 251, 122,
+ 2, 247, 195, 7, 4, 1, 223, 236, 251, 122, 2, 247, 195, 7, 6, 1, 235, 142,
+ 2, 91, 7, 4, 1, 235, 142, 2, 91, 7, 6, 1, 235, 142, 2, 248, 72, 91, 7, 4,
+ 1, 235, 142, 2, 248, 72, 91, 7, 6, 1, 235, 142, 2, 219, 59, 22, 248, 72,
+ 91, 7, 4, 1, 235, 142, 2, 219, 59, 22, 248, 72, 91, 7, 6, 1, 251, 188,
+ 155, 7, 4, 1, 251, 188, 155, 7, 6, 1, 234, 13, 2, 127, 91, 7, 4, 1, 234,
+ 13, 2, 127, 91, 7, 6, 1, 141, 2, 187, 219, 59, 227, 26, 7, 4, 1, 141, 2,
+ 187, 219, 59, 227, 26, 7, 6, 1, 141, 2, 232, 251, 7, 4, 1, 141, 2, 232,
+ 251, 7, 6, 1, 227, 86, 7, 4, 1, 227, 86, 7, 6, 1, 227, 12, 2, 219, 59,
+ 217, 106, 248, 111, 7, 4, 1, 227, 12, 2, 219, 59, 217, 106, 248, 111, 7,
+ 6, 1, 227, 12, 2, 244, 142, 7, 4, 1, 227, 12, 2, 244, 142, 7, 6, 1, 227,
+ 12, 2, 219, 180, 218, 40, 7, 4, 1, 227, 12, 2, 219, 180, 218, 40, 7, 6,
+ 1, 225, 20, 2, 219, 59, 217, 106, 248, 111, 7, 4, 1, 225, 20, 2, 219, 59,
+ 217, 106, 248, 111, 7, 6, 1, 225, 20, 2, 248, 72, 91, 7, 4, 1, 225, 20,
+ 2, 248, 72, 91, 7, 6, 1, 224, 148, 223, 122, 7, 4, 1, 224, 148, 223, 122,
+ 7, 6, 1, 223, 67, 223, 122, 7, 4, 1, 223, 67, 223, 122, 7, 6, 1, 215, 86,
+ 2, 248, 72, 91, 7, 4, 1, 215, 86, 2, 248, 72, 91, 7, 6, 1, 214, 93, 7, 4,
+ 1, 214, 93, 7, 6, 1, 214, 130, 212, 152, 7, 4, 1, 214, 130, 212, 152, 7,
+ 6, 1, 217, 118, 2, 91, 7, 4, 1, 217, 118, 2, 91, 7, 6, 1, 217, 118, 2,
+ 219, 59, 217, 106, 248, 111, 7, 4, 1, 217, 118, 2, 219, 59, 217, 106,
+ 248, 111, 7, 6, 1, 214, 227, 7, 4, 1, 214, 227, 7, 6, 1, 245, 151, 7, 4,
+ 1, 245, 151, 7, 6, 1, 236, 30, 7, 4, 1, 236, 30, 7, 6, 1, 250, 12, 7, 4,
+ 1, 250, 12, 59, 1, 215, 110, 7, 4, 1, 246, 145, 7, 4, 1, 232, 216, 7, 4,
+ 1, 230, 220, 7, 4, 1, 228, 100, 7, 4, 1, 223, 66, 7, 1, 4, 6, 223, 66, 7,
+ 4, 1, 216, 80, 7, 4, 1, 215, 173, 7, 6, 1, 236, 71, 249, 125, 7, 4, 1,
+ 236, 71, 249, 125, 7, 6, 1, 236, 71, 245, 95, 7, 4, 1, 236, 71, 245, 95,
+ 7, 6, 1, 236, 71, 244, 41, 7, 6, 1, 216, 66, 236, 71, 244, 41, 7, 4, 1,
+ 216, 66, 236, 71, 244, 41, 7, 6, 1, 216, 66, 155, 7, 4, 1, 216, 66, 155,
+ 7, 6, 1, 236, 71, 152, 7, 4, 1, 236, 71, 152, 7, 6, 1, 236, 71, 196, 7,
+ 4, 1, 236, 71, 196, 7, 6, 1, 236, 71, 218, 113, 7, 4, 1, 236, 71, 218,
+ 113, 59, 1, 117, 250, 91, 255, 46, 59, 1, 250, 30, 59, 1, 220, 196, 245,
+ 182, 53, 7, 6, 1, 222, 194, 7, 4, 1, 222, 194, 7, 6, 1, 216, 66, 242,
+ 162, 7, 4, 1, 234, 13, 2, 223, 241, 241, 157, 22, 252, 88, 7, 6, 1, 230,
+ 167, 2, 248, 111, 7, 4, 1, 230, 167, 2, 248, 111, 7, 6, 1, 244, 42, 2,
+ 227, 149, 91, 7, 4, 1, 244, 42, 2, 227, 149, 91, 7, 6, 1, 235, 142, 2,
+ 227, 149, 91, 7, 4, 1, 235, 142, 2, 227, 149, 91, 7, 6, 1, 230, 167, 2,
+ 227, 149, 91, 7, 4, 1, 230, 167, 2, 227, 149, 91, 7, 6, 1, 224, 148, 2,
+ 227, 149, 91, 7, 4, 1, 224, 148, 2, 227, 149, 91, 7, 6, 1, 223, 29, 2,
+ 227, 149, 91, 7, 4, 1, 223, 29, 2, 227, 149, 91, 7, 1, 4, 6, 216, 66,
+ 184, 7, 245, 187, 1, 223, 236, 245, 95, 7, 245, 187, 1, 223, 236, 227,
+ 11, 7, 245, 187, 1, 236, 52, 184, 7, 245, 187, 1, 241, 7, 233, 0, 7, 245,
+ 187, 1, 254, 64, 184, 218, 189, 230, 101, 1, 63, 218, 189, 230, 101, 1,
+ 75, 218, 189, 230, 101, 5, 246, 124, 218, 189, 230, 101, 1, 72, 218, 189,
+ 230, 101, 1, 77, 218, 189, 230, 101, 1, 78, 218, 189, 230, 101, 5, 242,
+ 100, 218, 189, 230, 101, 1, 234, 148, 218, 189, 230, 101, 1, 234, 224,
+ 218, 189, 230, 101, 1, 243, 14, 218, 189, 230, 101, 1, 243, 64, 218, 189,
+ 230, 101, 5, 254, 113, 218, 189, 230, 101, 1, 250, 42, 218, 189, 230,
+ 101, 1, 250, 146, 218, 189, 230, 101, 1, 235, 185, 218, 189, 230, 101, 1,
+ 235, 226, 218, 189, 230, 101, 1, 216, 105, 218, 189, 230, 101, 1, 216,
+ 111, 218, 189, 230, 101, 1, 248, 177, 218, 189, 230, 101, 1, 248, 186,
+ 218, 189, 230, 101, 1, 109, 218, 189, 230, 101, 1, 217, 122, 218, 189,
+ 230, 101, 1, 247, 220, 218, 189, 230, 101, 1, 248, 80, 218, 189, 230,
+ 101, 1, 228, 228, 218, 189, 230, 101, 1, 225, 186, 218, 189, 230, 101, 1,
+ 226, 33, 218, 189, 230, 101, 1, 251, 253, 218, 189, 230, 101, 1, 252, 58,
+ 218, 189, 230, 101, 1, 231, 45, 218, 189, 230, 101, 1, 223, 146, 218,
+ 189, 230, 101, 1, 233, 26, 218, 189, 230, 101, 1, 223, 101, 218, 189,
+ 230, 101, 1, 220, 5, 218, 189, 230, 101, 1, 241, 173, 218, 189, 230, 101,
+ 30, 5, 63, 218, 189, 230, 101, 30, 5, 75, 218, 189, 230, 101, 30, 5, 72,
+ 218, 189, 230, 101, 30, 5, 77, 218, 189, 230, 101, 30, 5, 227, 86, 218,
+ 189, 230, 101, 225, 182, 232, 36, 218, 189, 230, 101, 225, 182, 232, 35,
+ 218, 189, 230, 101, 225, 182, 232, 34, 218, 189, 230, 101, 225, 182, 232,
+ 33, 228, 210, 236, 98, 244, 92, 124, 224, 201, 228, 210, 236, 98, 244,
+ 92, 124, 242, 129, 228, 210, 236, 98, 244, 92, 137, 224, 199, 228, 210,
+ 236, 98, 244, 92, 124, 220, 64, 228, 210, 236, 98, 244, 92, 124, 246, 10,
+ 228, 210, 236, 98, 244, 92, 137, 220, 63, 228, 210, 236, 98, 224, 202,
+ 79, 228, 210, 236, 98, 225, 208, 79, 228, 210, 236, 98, 223, 55, 79, 228,
+ 210, 236, 98, 224, 203, 79, 226, 56, 1, 183, 226, 56, 1, 234, 250, 226,
+ 56, 1, 243, 230, 226, 56, 1, 229, 226, 226, 56, 1, 251, 88, 226, 56, 1,
+ 250, 215, 226, 56, 1, 236, 0, 226, 56, 1, 228, 64, 226, 56, 1, 218, 66,
+ 226, 56, 1, 217, 174, 226, 56, 1, 249, 30, 226, 56, 1, 207, 226, 56, 1,
+ 195, 226, 56, 1, 226, 59, 226, 56, 1, 252, 234, 226, 56, 1, 191, 226, 56,
+ 1, 216, 154, 226, 56, 1, 216, 146, 226, 56, 1, 246, 114, 226, 56, 1, 214,
+ 52, 226, 56, 1, 212, 75, 226, 56, 1, 212, 109, 226, 56, 1, 4, 63, 226,
+ 56, 1, 189, 226, 56, 1, 208, 226, 56, 1, 233, 255, 226, 56, 1, 221, 47,
+ 226, 56, 1, 222, 227, 226, 56, 1, 162, 226, 56, 1, 63, 226, 56, 1, 75,
+ 226, 56, 1, 72, 226, 56, 1, 77, 226, 56, 1, 78, 226, 56, 1, 225, 11, 226,
+ 56, 1, 213, 156, 226, 56, 1, 245, 29, 226, 56, 1, 243, 125, 226, 56, 1,
+ 246, 30, 226, 56, 219, 32, 1, 214, 52, 226, 56, 219, 32, 1, 189, 226, 56,
+ 1, 216, 128, 226, 56, 1, 216, 116, 226, 56, 1, 248, 207, 226, 56, 1, 229,
+ 6, 226, 56, 1, 254, 177, 189, 226, 56, 1, 214, 119, 221, 47, 226, 56, 1,
+ 214, 120, 162, 226, 56, 1, 254, 9, 245, 29, 226, 56, 219, 32, 1, 208,
+ 226, 56, 218, 239, 1, 208, 226, 56, 1, 251, 55, 226, 56, 220, 100, 242,
+ 83, 79, 226, 56, 52, 242, 83, 79, 226, 56, 156, 221, 40, 226, 56, 156,
+ 52, 221, 40, 173, 5, 254, 113, 173, 5, 214, 132, 173, 1, 63, 173, 1, 255,
+ 104, 173, 1, 75, 173, 1, 236, 145, 173, 1, 72, 173, 1, 215, 98, 173, 1,
+ 165, 152, 173, 1, 165, 223, 116, 173, 1, 165, 155, 173, 1, 165, 233, 55,
+ 173, 1, 77, 173, 1, 246, 30, 173, 1, 254, 236, 173, 1, 78, 173, 1, 227,
+ 86, 173, 1, 253, 235, 173, 1, 183, 173, 1, 234, 250, 173, 1, 243, 230,
+ 173, 1, 243, 89, 173, 1, 229, 226, 173, 1, 251, 88, 173, 1, 250, 215,
+ 173, 1, 236, 0, 173, 1, 235, 230, 173, 1, 228, 64, 173, 1, 216, 128, 173,
+ 1, 216, 116, 173, 1, 248, 207, 173, 1, 248, 191, 173, 1, 229, 6, 173, 1,
+ 218, 66, 173, 1, 217, 174, 173, 1, 249, 30, 173, 1, 248, 97, 173, 1, 207,
+ 173, 1, 195, 173, 1, 226, 59, 173, 1, 252, 234, 173, 1, 252, 65, 173, 1,
+ 191, 173, 1, 189, 173, 1, 208, 173, 1, 233, 255, 173, 1, 215, 8, 173, 1,
+ 221, 47, 173, 1, 219, 176, 173, 1, 222, 227, 173, 1, 162, 173, 1, 233,
+ 54, 173, 120, 5, 242, 146, 173, 30, 5, 255, 104, 173, 30, 5, 75, 173, 30,
+ 5, 236, 145, 173, 30, 5, 72, 173, 30, 5, 215, 98, 173, 30, 5, 165, 152,
+ 173, 30, 5, 165, 223, 116, 173, 30, 5, 165, 155, 173, 30, 5, 165, 233,
+ 55, 173, 30, 5, 77, 173, 30, 5, 246, 30, 173, 30, 5, 254, 236, 173, 30,
+ 5, 78, 173, 30, 5, 227, 86, 173, 30, 5, 253, 235, 173, 5, 214, 137, 173,
+ 248, 245, 173, 52, 248, 245, 173, 21, 212, 79, 173, 21, 118, 173, 21,
+ 112, 173, 21, 170, 173, 21, 167, 173, 21, 185, 173, 21, 192, 173, 21,
+ 200, 173, 21, 198, 173, 21, 203, 38, 84, 21, 212, 79, 38, 84, 21, 118,
+ 38, 84, 21, 112, 38, 84, 21, 170, 38, 84, 21, 167, 38, 84, 21, 185, 38,
+ 84, 21, 192, 38, 84, 21, 200, 38, 84, 21, 198, 38, 84, 21, 203, 38, 84,
+ 1, 63, 38, 84, 1, 72, 38, 84, 1, 183, 38, 84, 1, 207, 38, 84, 1, 195, 38,
+ 84, 1, 208, 38, 84, 1, 214, 159, 38, 84, 5, 253, 218, 84, 5, 219, 224,
+ 251, 55, 84, 5, 251, 56, 214, 137, 84, 5, 52, 251, 56, 214, 137, 84, 5,
+ 251, 56, 112, 84, 5, 251, 56, 170, 84, 5, 251, 56, 253, 218, 84, 5, 225,
+ 47, 84, 243, 196, 244, 192, 84, 251, 38, 84, 242, 77, 235, 50, 233, 112,
+ 21, 212, 79, 235, 50, 233, 112, 21, 118, 235, 50, 233, 112, 21, 112, 235,
+ 50, 233, 112, 21, 170, 235, 50, 233, 112, 21, 167, 235, 50, 233, 112, 21,
+ 185, 235, 50, 233, 112, 21, 192, 235, 50, 233, 112, 21, 200, 235, 50,
+ 233, 112, 21, 198, 235, 50, 233, 112, 21, 203, 235, 50, 233, 112, 1, 183,
+ 235, 50, 233, 112, 1, 234, 250, 235, 50, 233, 112, 1, 243, 230, 235, 50,
+ 233, 112, 1, 229, 226, 235, 50, 233, 112, 1, 222, 227, 235, 50, 233, 112,
+ 1, 221, 47, 235, 50, 233, 112, 1, 212, 109, 235, 50, 233, 112, 1, 228,
+ 64, 235, 50, 233, 112, 1, 218, 66, 235, 50, 233, 112, 1, 241, 76, 235,
+ 50, 233, 112, 1, 207, 235, 50, 233, 112, 1, 195, 235, 50, 233, 112, 1,
+ 226, 59, 235, 50, 233, 112, 1, 191, 235, 50, 233, 112, 1, 249, 30, 235,
+ 50, 233, 112, 1, 252, 234, 235, 50, 233, 112, 1, 208, 235, 50, 233, 112,
+ 1, 189, 235, 50, 233, 112, 1, 233, 255, 235, 50, 233, 112, 1, 214, 52,
+ 235, 50, 233, 112, 1, 217, 174, 235, 50, 233, 112, 1, 162, 235, 50, 233,
+ 112, 1, 215, 8, 235, 50, 233, 112, 1, 251, 88, 235, 50, 233, 112, 1, 63,
+ 235, 50, 233, 112, 1, 227, 136, 235, 50, 233, 112, 1, 75, 235, 50, 233,
+ 112, 1, 227, 86, 235, 50, 233, 112, 30, 215, 189, 235, 50, 233, 112, 30,
+ 77, 235, 50, 233, 112, 30, 72, 235, 50, 233, 112, 30, 246, 30, 235, 50,
+ 233, 112, 30, 78, 235, 50, 233, 112, 161, 225, 199, 235, 50, 233, 112,
+ 161, 251, 68, 235, 50, 233, 112, 161, 251, 69, 225, 199, 235, 50, 233,
+ 112, 5, 249, 142, 235, 50, 233, 112, 5, 220, 144, 224, 21, 1, 183, 224,
+ 21, 1, 243, 230, 224, 21, 1, 229, 226, 224, 21, 1, 218, 66, 224, 21, 1,
+ 249, 30, 224, 21, 1, 207, 224, 21, 1, 195, 224, 21, 1, 252, 234, 224, 21,
+ 1, 191, 224, 21, 1, 251, 88, 224, 21, 1, 236, 0, 224, 21, 1, 228, 64,
+ 224, 21, 1, 222, 227, 224, 21, 1, 208, 224, 21, 1, 233, 255, 224, 21, 1,
+ 189, 224, 21, 1, 214, 52, 224, 21, 1, 162, 224, 21, 1, 232, 1, 224, 21,
+ 1, 229, 206, 224, 21, 1, 230, 39, 224, 21, 1, 228, 36, 224, 21, 1, 63,
+ 224, 21, 30, 5, 75, 224, 21, 30, 5, 72, 224, 21, 30, 5, 77, 224, 21, 30,
+ 5, 254, 236, 224, 21, 30, 5, 78, 224, 21, 30, 5, 253, 235, 224, 21, 30,
+ 5, 245, 143, 224, 21, 30, 5, 246, 54, 224, 21, 120, 5, 229, 228, 224, 21,
+ 120, 5, 206, 224, 21, 120, 5, 152, 224, 21, 120, 5, 242, 162, 224, 21,
+ 214, 137, 224, 21, 222, 115, 79, 24, 98, 217, 64, 24, 98, 217, 63, 24,
+ 98, 217, 61, 24, 98, 217, 66, 24, 98, 223, 208, 24, 98, 223, 192, 24, 98,
+ 223, 187, 24, 98, 223, 189, 24, 98, 223, 205, 24, 98, 223, 198, 24, 98,
+ 223, 191, 24, 98, 223, 210, 24, 98, 223, 193, 24, 98, 223, 212, 24, 98,
+ 223, 209, 24, 98, 231, 96, 24, 98, 231, 87, 24, 98, 231, 90, 24, 98, 225,
+ 248, 24, 98, 226, 3, 24, 98, 226, 4, 24, 98, 219, 160, 24, 98, 236, 158,
+ 24, 98, 236, 165, 24, 98, 219, 171, 24, 98, 219, 158, 24, 98, 226, 42,
+ 24, 98, 242, 16, 24, 98, 219, 155, 148, 5, 226, 192, 148, 5, 250, 244,
+ 148, 5, 233, 188, 148, 5, 213, 231, 148, 1, 63, 148, 1, 241, 7, 235, 53,
+ 148, 1, 75, 148, 1, 236, 145, 148, 1, 72, 148, 1, 226, 252, 250, 220,
+ 148, 1, 229, 227, 233, 150, 148, 1, 229, 227, 233, 151, 224, 69, 148, 1,
+ 77, 148, 1, 254, 236, 148, 1, 78, 148, 1, 183, 148, 1, 235, 131, 222,
+ 168, 148, 1, 235, 131, 230, 206, 148, 1, 243, 230, 148, 1, 243, 231, 230,
+ 206, 148, 1, 229, 226, 148, 1, 251, 88, 148, 1, 251, 89, 230, 206, 148,
+ 1, 236, 0, 148, 1, 228, 65, 230, 206, 148, 1, 236, 1, 232, 85, 148, 1,
+ 228, 64, 148, 1, 216, 128, 148, 1, 216, 129, 232, 85, 148, 1, 248, 207,
+ 148, 1, 248, 208, 232, 85, 148, 1, 230, 115, 230, 206, 148, 1, 218, 66,
+ 148, 1, 218, 67, 230, 206, 148, 1, 249, 30, 148, 1, 249, 31, 232, 85,
+ 148, 1, 207, 148, 1, 195, 148, 1, 226, 252, 230, 206, 148, 1, 252, 234,
+ 148, 1, 252, 235, 230, 206, 148, 1, 191, 148, 1, 189, 148, 1, 208, 148,
+ 1, 224, 112, 254, 243, 148, 1, 233, 255, 148, 1, 214, 52, 148, 1, 222,
+ 228, 230, 206, 148, 1, 222, 228, 232, 85, 148, 1, 222, 227, 148, 1, 162,
+ 148, 5, 250, 245, 217, 216, 148, 30, 5, 218, 11, 148, 30, 5, 217, 3, 148,
+ 30, 5, 213, 181, 148, 30, 5, 213, 182, 231, 203, 148, 30, 5, 219, 6, 148,
+ 30, 5, 219, 7, 231, 191, 148, 30, 5, 218, 29, 148, 30, 5, 248, 11, 230,
+ 205, 148, 30, 5, 226, 95, 148, 120, 5, 235, 20, 148, 120, 5, 226, 107,
+ 148, 120, 5, 251, 75, 148, 226, 204, 148, 43, 223, 255, 148, 47, 223,
+ 255, 148, 226, 241, 254, 153, 148, 226, 241, 232, 102, 148, 226, 241,
+ 232, 220, 148, 226, 241, 213, 226, 148, 226, 241, 226, 205, 148, 226,
+ 241, 233, 75, 148, 226, 241, 232, 214, 148, 226, 241, 255, 26, 148, 226,
+ 241, 255, 27, 255, 26, 148, 226, 241, 225, 219, 148, 216, 66, 226, 241,
+ 225, 219, 148, 226, 201, 148, 21, 212, 79, 148, 21, 118, 148, 21, 112,
+ 148, 21, 170, 148, 21, 167, 148, 21, 185, 148, 21, 192, 148, 21, 200,
+ 148, 21, 198, 148, 21, 203, 148, 226, 241, 217, 36, 216, 78, 148, 226,
+ 241, 236, 26, 166, 1, 63, 166, 1, 75, 166, 1, 72, 166, 1, 77, 166, 1,
+ 254, 236, 166, 1, 78, 166, 1, 183, 166, 1, 234, 250, 166, 1, 243, 230,
+ 166, 1, 243, 89, 166, 1, 229, 140, 166, 1, 229, 226, 166, 1, 250, 215,
+ 166, 1, 250, 172, 166, 1, 236, 0, 166, 1, 235, 230, 166, 1, 229, 130,
+ 166, 1, 229, 132, 166, 1, 229, 131, 166, 1, 218, 66, 166, 1, 217, 174,
+ 166, 1, 249, 30, 166, 1, 248, 97, 166, 1, 228, 105, 166, 1, 207, 166, 1,
+ 248, 207, 166, 1, 195, 166, 1, 225, 136, 166, 1, 226, 59, 166, 1, 252,
+ 234, 166, 1, 252, 65, 166, 1, 230, 235, 166, 1, 191, 166, 1, 252, 157,
+ 166, 1, 189, 166, 1, 208, 166, 1, 233, 255, 166, 1, 215, 8, 166, 1, 219,
+ 176, 166, 1, 222, 227, 166, 1, 162, 166, 30, 5, 255, 104, 166, 30, 5, 75,
+ 166, 30, 5, 236, 145, 166, 30, 5, 246, 17, 166, 30, 5, 72, 166, 30, 5,
+ 227, 136, 166, 30, 5, 78, 166, 30, 5, 254, 236, 166, 30, 5, 253, 235,
+ 166, 30, 5, 215, 189, 166, 120, 5, 189, 166, 120, 5, 208, 166, 120, 5,
+ 233, 255, 166, 120, 5, 214, 52, 166, 1, 41, 235, 141, 166, 1, 41, 244,
+ 41, 166, 1, 41, 229, 228, 166, 120, 5, 41, 229, 228, 166, 1, 41, 250,
+ 216, 166, 1, 41, 218, 113, 166, 1, 41, 206, 166, 1, 41, 227, 11, 166, 1,
+ 41, 213, 108, 166, 1, 41, 152, 166, 1, 41, 155, 166, 1, 41, 219, 177,
+ 166, 120, 5, 41, 184, 166, 120, 5, 41, 242, 162, 166, 21, 212, 79, 166,
+ 21, 118, 166, 21, 112, 166, 21, 170, 166, 21, 167, 166, 21, 185, 166, 21,
+ 192, 166, 21, 200, 166, 21, 198, 166, 21, 203, 166, 225, 63, 219, 202,
+ 166, 225, 63, 248, 245, 166, 225, 63, 52, 248, 245, 166, 225, 63, 216,
+ 182, 248, 245, 65, 1, 234, 244, 243, 230, 65, 1, 234, 244, 251, 88, 65,
+ 1, 234, 244, 250, 215, 65, 1, 234, 244, 236, 0, 65, 1, 234, 244, 235,
+ 230, 65, 1, 234, 244, 228, 64, 65, 1, 234, 244, 216, 128, 65, 1, 234,
+ 244, 216, 116, 65, 1, 234, 244, 248, 207, 65, 1, 234, 244, 248, 191, 65,
+ 1, 234, 244, 248, 97, 65, 1, 234, 244, 207, 65, 1, 234, 244, 222, 227,
+ 65, 1, 234, 244, 162, 65, 1, 234, 244, 242, 37, 65, 1, 234, 244, 245, 29,
+ 65, 59, 1, 234, 244, 224, 36, 65, 1, 234, 244, 213, 156, 65, 1, 234, 244,
+ 212, 109, 65, 1, 234, 244, 208, 65, 233, 16, 234, 244, 227, 154, 65, 233,
+ 16, 234, 244, 224, 223, 65, 233, 16, 234, 244, 241, 226, 65, 16, 254,
+ 225, 245, 118, 65, 16, 254, 225, 118, 65, 16, 254, 225, 112, 65, 1, 254,
+ 225, 208, 65, 5, 226, 188, 235, 75, 216, 254, 39, 193, 1, 117, 234, 148,
+ 39, 193, 1, 127, 234, 148, 39, 193, 1, 117, 234, 224, 39, 193, 1, 127,
+ 234, 224, 39, 193, 1, 117, 234, 232, 39, 193, 1, 127, 234, 232, 39, 193,
+ 1, 117, 243, 14, 39, 193, 1, 127, 243, 14, 39, 193, 1, 117, 229, 155, 39,
+ 193, 1, 127, 229, 155, 39, 193, 1, 117, 250, 42, 39, 193, 1, 127, 250,
+ 42, 39, 193, 1, 117, 250, 146, 39, 193, 1, 127, 250, 146, 39, 193, 1,
+ 117, 220, 5, 39, 193, 1, 127, 220, 5, 39, 193, 1, 117, 228, 35, 39, 193,
+ 1, 127, 228, 35, 39, 193, 1, 117, 247, 220, 39, 193, 1, 127, 247, 220,
+ 39, 193, 1, 117, 109, 39, 193, 1, 127, 109, 39, 193, 1, 117, 217, 122,
+ 39, 193, 1, 127, 217, 122, 39, 193, 1, 117, 228, 228, 39, 193, 1, 127,
+ 228, 228, 39, 193, 1, 117, 251, 253, 39, 193, 1, 127, 251, 253, 39, 193,
+ 1, 117, 225, 186, 39, 193, 1, 127, 225, 186, 39, 193, 1, 117, 226, 33,
+ 39, 193, 1, 127, 226, 33, 39, 193, 1, 117, 244, 132, 39, 193, 1, 127,
+ 244, 132, 39, 193, 1, 117, 231, 45, 39, 193, 1, 127, 231, 45, 39, 193, 1,
+ 117, 212, 236, 39, 193, 1, 127, 212, 236, 39, 193, 1, 117, 223, 146, 39,
+ 193, 1, 127, 223, 146, 39, 193, 1, 117, 233, 26, 39, 193, 1, 127, 233,
+ 26, 39, 193, 1, 117, 214, 123, 39, 193, 1, 127, 214, 123, 39, 193, 1,
+ 117, 241, 173, 39, 193, 1, 127, 241, 173, 39, 193, 1, 117, 78, 39, 193,
+ 1, 127, 78, 39, 193, 232, 82, 235, 92, 39, 193, 30, 255, 104, 39, 193,
+ 30, 75, 39, 193, 30, 215, 189, 39, 193, 30, 72, 39, 193, 30, 77, 39, 193,
+ 30, 78, 39, 193, 232, 82, 234, 226, 39, 193, 30, 240, 228, 39, 193, 30,
+ 215, 188, 39, 193, 30, 215, 202, 39, 193, 30, 253, 233, 39, 193, 30, 253,
+ 210, 39, 193, 30, 254, 159, 39, 193, 30, 254, 172, 39, 193, 161, 232, 82,
+ 246, 2, 39, 193, 161, 232, 82, 228, 104, 39, 193, 161, 232, 82, 217, 122,
+ 39, 193, 161, 232, 82, 219, 247, 39, 193, 16, 234, 133, 39, 193, 16, 228,
+ 104, 39, 193, 16, 222, 192, 39, 193, 16, 241, 174, 241, 169, 39, 193, 16,
+ 234, 142, 234, 141, 28, 3, 216, 109, 28, 3, 216, 112, 28, 3, 216, 115,
+ 28, 3, 216, 113, 28, 3, 216, 114, 28, 3, 216, 111, 28, 3, 248, 185, 28,
+ 3, 248, 187, 28, 3, 248, 190, 28, 3, 248, 188, 28, 3, 248, 189, 28, 3,
+ 248, 186, 28, 3, 246, 104, 28, 3, 246, 107, 28, 3, 246, 113, 28, 3, 246,
+ 111, 28, 3, 246, 112, 28, 3, 246, 105, 28, 3, 251, 5, 28, 3, 250, 255,
+ 28, 3, 251, 1, 28, 3, 251, 4, 28, 3, 251, 2, 28, 3, 251, 3, 28, 3, 251,
+ 0, 28, 3, 252, 157, 28, 3, 252, 136, 28, 3, 252, 148, 28, 3, 252, 156,
+ 28, 3, 252, 151, 28, 3, 252, 152, 28, 3, 252, 140, 231, 210, 232, 8, 1,
+ 234, 139, 231, 210, 232, 8, 1, 222, 192, 231, 210, 232, 8, 1, 233, 231,
+ 231, 210, 232, 8, 1, 231, 55, 231, 210, 232, 8, 1, 195, 231, 210, 232, 8,
+ 1, 207, 231, 210, 232, 8, 1, 250, 162, 231, 210, 232, 8, 1, 217, 57, 231,
+ 210, 232, 8, 1, 234, 220, 231, 210, 232, 8, 1, 229, 145, 231, 210, 232,
+ 8, 1, 217, 116, 231, 210, 232, 8, 1, 214, 47, 231, 210, 232, 8, 1, 213,
+ 60, 231, 210, 232, 8, 1, 241, 68, 231, 210, 232, 8, 1, 215, 166, 231,
+ 210, 232, 8, 1, 75, 231, 210, 232, 8, 1, 226, 54, 231, 210, 232, 8, 1,
+ 253, 245, 231, 210, 232, 8, 1, 243, 7, 231, 210, 232, 8, 1, 235, 229,
+ 231, 210, 232, 8, 1, 224, 92, 231, 210, 232, 8, 1, 252, 234, 231, 210,
+ 232, 8, 1, 235, 217, 231, 210, 232, 8, 1, 248, 36, 231, 210, 232, 8, 1,
+ 243, 61, 231, 210, 232, 8, 1, 248, 78, 231, 210, 232, 8, 1, 252, 64, 231,
+ 210, 232, 8, 1, 234, 140, 232, 255, 231, 210, 232, 8, 1, 233, 232, 232,
+ 255, 231, 210, 232, 8, 1, 231, 56, 232, 255, 231, 210, 232, 8, 1, 226,
+ 252, 232, 255, 231, 210, 232, 8, 1, 230, 115, 232, 255, 231, 210, 232, 8,
+ 1, 217, 58, 232, 255, 231, 210, 232, 8, 1, 229, 146, 232, 255, 231, 210,
+ 232, 8, 1, 241, 7, 232, 255, 231, 210, 232, 8, 30, 5, 227, 98, 231, 210,
+ 232, 8, 30, 5, 236, 110, 231, 210, 232, 8, 30, 5, 254, 158, 231, 210,
+ 232, 8, 30, 5, 213, 30, 231, 210, 232, 8, 30, 5, 219, 238, 231, 210, 232,
+ 8, 30, 5, 215, 163, 231, 210, 232, 8, 30, 5, 250, 183, 231, 210, 232, 8,
+ 30, 5, 228, 90, 231, 210, 232, 8, 250, 184, 231, 210, 232, 8, 232, 217,
+ 236, 9, 231, 210, 232, 8, 254, 87, 236, 9, 231, 210, 232, 8, 21, 212, 79,
+ 231, 210, 232, 8, 21, 118, 231, 210, 232, 8, 21, 112, 231, 210, 232, 8,
+ 21, 170, 231, 210, 232, 8, 21, 167, 231, 210, 232, 8, 21, 185, 231, 210,
+ 232, 8, 21, 192, 231, 210, 232, 8, 21, 200, 231, 210, 232, 8, 21, 198,
+ 231, 210, 232, 8, 21, 203, 24, 139, 227, 234, 24, 139, 227, 239, 24, 139,
+ 212, 235, 24, 139, 212, 234, 24, 139, 212, 233, 24, 139, 215, 252, 24,
+ 139, 215, 255, 24, 139, 212, 202, 24, 139, 212, 198, 24, 139, 245, 142,
+ 24, 139, 245, 140, 24, 139, 245, 141, 24, 139, 245, 138, 24, 139, 240,
+ 253, 24, 139, 240, 252, 24, 139, 240, 250, 24, 139, 240, 251, 24, 139,
+ 241, 0, 24, 139, 240, 249, 24, 139, 240, 248, 24, 139, 241, 2, 24, 139,
+ 254, 74, 24, 139, 254, 73, 24, 90, 229, 114, 24, 90, 229, 120, 24, 90,
+ 219, 157, 24, 90, 219, 156, 24, 90, 217, 63, 24, 90, 217, 61, 24, 90,
+ 217, 60, 24, 90, 217, 66, 24, 90, 217, 67, 24, 90, 217, 59, 24, 90, 223,
+ 192, 24, 90, 223, 207, 24, 90, 219, 163, 24, 90, 223, 204, 24, 90, 223,
+ 194, 24, 90, 223, 196, 24, 90, 223, 183, 24, 90, 223, 184, 24, 90, 235,
+ 80, 24, 90, 231, 95, 24, 90, 231, 89, 24, 90, 219, 167, 24, 90, 231, 92,
+ 24, 90, 231, 98, 24, 90, 225, 244, 24, 90, 225, 253, 24, 90, 226, 1, 24,
+ 90, 219, 165, 24, 90, 225, 247, 24, 90, 226, 5, 24, 90, 226, 6, 24, 90,
+ 220, 87, 24, 90, 220, 90, 24, 90, 219, 161, 24, 90, 219, 159, 24, 90,
+ 220, 85, 24, 90, 220, 93, 24, 90, 220, 94, 24, 90, 220, 79, 24, 90, 220,
+ 92, 24, 90, 226, 195, 24, 90, 226, 196, 24, 90, 213, 16, 24, 90, 213, 17,
+ 24, 90, 250, 104, 24, 90, 250, 103, 24, 90, 219, 172, 24, 90, 226, 40,
+ 24, 90, 226, 39, 9, 13, 238, 134, 9, 13, 238, 133, 9, 13, 238, 132, 9,
+ 13, 238, 131, 9, 13, 238, 130, 9, 13, 238, 129, 9, 13, 238, 128, 9, 13,
+ 238, 127, 9, 13, 238, 126, 9, 13, 238, 125, 9, 13, 238, 124, 9, 13, 238,
+ 123, 9, 13, 238, 122, 9, 13, 238, 121, 9, 13, 238, 120, 9, 13, 238, 119,
+ 9, 13, 238, 118, 9, 13, 238, 117, 9, 13, 238, 116, 9, 13, 238, 115, 9,
+ 13, 238, 114, 9, 13, 238, 113, 9, 13, 238, 112, 9, 13, 238, 111, 9, 13,
+ 238, 110, 9, 13, 238, 109, 9, 13, 238, 108, 9, 13, 238, 107, 9, 13, 238,
+ 106, 9, 13, 238, 105, 9, 13, 238, 104, 9, 13, 238, 103, 9, 13, 238, 102,
+ 9, 13, 238, 101, 9, 13, 238, 100, 9, 13, 238, 99, 9, 13, 238, 98, 9, 13,
+ 238, 97, 9, 13, 238, 96, 9, 13, 238, 95, 9, 13, 238, 94, 9, 13, 238, 93,
+ 9, 13, 238, 92, 9, 13, 238, 91, 9, 13, 238, 90, 9, 13, 238, 89, 9, 13,
+ 238, 88, 9, 13, 238, 87, 9, 13, 238, 86, 9, 13, 238, 85, 9, 13, 238, 84,
+ 9, 13, 238, 83, 9, 13, 238, 82, 9, 13, 238, 81, 9, 13, 238, 80, 9, 13,
+ 238, 79, 9, 13, 238, 78, 9, 13, 238, 77, 9, 13, 238, 76, 9, 13, 238, 75,
+ 9, 13, 238, 74, 9, 13, 238, 73, 9, 13, 238, 72, 9, 13, 238, 71, 9, 13,
+ 238, 70, 9, 13, 238, 69, 9, 13, 238, 68, 9, 13, 238, 67, 9, 13, 238, 66,
+ 9, 13, 238, 65, 9, 13, 238, 64, 9, 13, 238, 63, 9, 13, 238, 62, 9, 13,
+ 238, 61, 9, 13, 238, 60, 9, 13, 238, 59, 9, 13, 238, 58, 9, 13, 238, 57,
+ 9, 13, 238, 56, 9, 13, 238, 55, 9, 13, 238, 54, 9, 13, 238, 53, 9, 13,
+ 238, 52, 9, 13, 238, 51, 9, 13, 238, 50, 9, 13, 238, 49, 9, 13, 238, 48,
+ 9, 13, 238, 47, 9, 13, 238, 46, 9, 13, 238, 45, 9, 13, 238, 44, 9, 13,
+ 238, 43, 9, 13, 238, 42, 9, 13, 238, 41, 9, 13, 238, 40, 9, 13, 238, 39,
+ 9, 13, 238, 38, 9, 13, 238, 37, 9, 13, 238, 36, 9, 13, 238, 35, 9, 13,
+ 238, 34, 9, 13, 238, 33, 9, 13, 238, 32, 9, 13, 238, 31, 9, 13, 238, 30,
+ 9, 13, 238, 29, 9, 13, 238, 28, 9, 13, 238, 27, 9, 13, 238, 26, 9, 13,
+ 238, 25, 9, 13, 238, 24, 9, 13, 238, 23, 9, 13, 238, 22, 9, 13, 238, 21,
+ 9, 13, 238, 20, 9, 13, 238, 19, 9, 13, 238, 18, 9, 13, 238, 17, 9, 13,
+ 238, 16, 9, 13, 238, 15, 9, 13, 238, 14, 9, 13, 238, 13, 9, 13, 238, 12,
+ 9, 13, 238, 11, 9, 13, 238, 10, 9, 13, 238, 9, 9, 13, 238, 8, 9, 13, 238,
+ 7, 9, 13, 238, 6, 9, 13, 238, 5, 9, 13, 238, 4, 9, 13, 238, 3, 9, 13,
+ 238, 2, 9, 13, 238, 1, 9, 13, 238, 0, 9, 13, 237, 255, 9, 13, 237, 254,
+ 9, 13, 237, 253, 9, 13, 237, 252, 9, 13, 237, 251, 9, 13, 237, 250, 9,
+ 13, 237, 249, 9, 13, 237, 248, 9, 13, 237, 247, 9, 13, 237, 246, 9, 13,
+ 237, 245, 9, 13, 237, 244, 9, 13, 237, 243, 9, 13, 237, 242, 9, 13, 237,
+ 241, 9, 13, 237, 240, 9, 13, 237, 239, 9, 13, 237, 238, 9, 13, 237, 237,
+ 9, 13, 237, 236, 9, 13, 237, 235, 9, 13, 237, 234, 9, 13, 237, 233, 9,
+ 13, 237, 232, 9, 13, 237, 231, 9, 13, 237, 230, 9, 13, 237, 229, 9, 13,
+ 237, 228, 9, 13, 237, 227, 9, 13, 237, 226, 9, 13, 237, 225, 9, 13, 237,
+ 224, 9, 13, 237, 223, 9, 13, 237, 222, 9, 13, 237, 221, 9, 13, 237, 220,
+ 9, 13, 237, 219, 9, 13, 237, 218, 9, 13, 237, 217, 9, 13, 237, 216, 9,
+ 13, 237, 215, 9, 13, 237, 214, 9, 13, 237, 213, 9, 13, 237, 212, 9, 13,
+ 237, 211, 9, 13, 237, 210, 9, 13, 237, 209, 9, 13, 237, 208, 9, 13, 237,
+ 207, 9, 13, 237, 206, 9, 13, 237, 205, 9, 13, 237, 204, 9, 13, 237, 203,
+ 9, 13, 237, 202, 9, 13, 237, 201, 9, 13, 237, 200, 9, 13, 237, 199, 9,
+ 13, 237, 198, 9, 13, 237, 197, 9, 13, 237, 196, 9, 13, 237, 195, 9, 13,
+ 237, 194, 9, 13, 237, 193, 9, 13, 237, 192, 9, 13, 237, 191, 9, 13, 237,
+ 190, 9, 13, 237, 189, 9, 13, 237, 188, 9, 13, 237, 187, 9, 13, 237, 186,
+ 9, 13, 237, 185, 9, 13, 237, 184, 9, 13, 237, 183, 9, 13, 237, 182, 9,
+ 13, 237, 181, 9, 13, 237, 180, 9, 13, 237, 179, 9, 13, 237, 178, 9, 13,
+ 237, 177, 9, 13, 237, 176, 9, 13, 237, 175, 9, 13, 237, 174, 9, 13, 237,
+ 173, 9, 13, 237, 172, 9, 13, 237, 171, 9, 13, 237, 170, 9, 13, 237, 169,
+ 9, 13, 237, 168, 9, 13, 237, 167, 9, 13, 237, 166, 9, 13, 237, 165, 9,
+ 13, 237, 164, 9, 13, 237, 163, 9, 13, 237, 162, 9, 13, 237, 161, 9, 13,
+ 237, 160, 9, 13, 237, 159, 9, 13, 237, 158, 9, 13, 237, 157, 9, 13, 237,
+ 156, 9, 13, 237, 155, 9, 13, 237, 154, 9, 13, 237, 153, 9, 13, 237, 152,
+ 9, 13, 237, 151, 9, 13, 237, 150, 9, 13, 237, 149, 9, 13, 237, 148, 9,
+ 13, 237, 147, 9, 13, 237, 146, 9, 13, 237, 145, 9, 13, 237, 144, 9, 13,
+ 237, 143, 9, 13, 237, 142, 9, 13, 237, 141, 9, 13, 237, 140, 9, 13, 237,
+ 139, 9, 13, 237, 138, 9, 13, 237, 137, 9, 13, 237, 136, 9, 13, 237, 135,
+ 9, 13, 237, 134, 9, 13, 237, 133, 9, 13, 237, 132, 9, 13, 237, 131, 9,
+ 13, 237, 130, 9, 13, 237, 129, 9, 13, 237, 128, 9, 13, 237, 127, 9, 13,
+ 237, 126, 9, 13, 237, 125, 9, 13, 237, 124, 9, 13, 237, 123, 9, 13, 237,
+ 122, 9, 13, 237, 121, 9, 13, 237, 120, 9, 13, 237, 119, 9, 13, 237, 118,
+ 9, 13, 237, 117, 9, 13, 237, 116, 9, 13, 237, 115, 9, 13, 237, 114, 9,
+ 13, 237, 113, 9, 13, 237, 112, 9, 13, 237, 111, 9, 13, 237, 110, 9, 13,
+ 237, 109, 9, 13, 237, 108, 9, 13, 237, 107, 9, 13, 237, 106, 9, 13, 237,
+ 105, 9, 13, 237, 104, 9, 13, 237, 103, 9, 13, 237, 102, 9, 13, 237, 101,
+ 9, 13, 237, 100, 9, 13, 237, 99, 9, 13, 237, 98, 9, 13, 237, 97, 9, 13,
+ 237, 96, 9, 13, 237, 95, 9, 13, 237, 94, 9, 13, 237, 93, 9, 13, 237, 92,
+ 9, 13, 237, 91, 9, 13, 237, 90, 9, 13, 237, 89, 9, 13, 237, 88, 9, 13,
+ 237, 87, 9, 13, 237, 86, 9, 13, 237, 85, 9, 13, 237, 84, 9, 13, 237, 83,
+ 9, 13, 237, 82, 9, 13, 237, 81, 9, 13, 237, 80, 9, 13, 237, 79, 9, 13,
+ 237, 78, 9, 13, 237, 77, 9, 13, 237, 76, 9, 13, 237, 75, 9, 13, 237, 74,
+ 9, 13, 237, 73, 9, 13, 237, 72, 9, 13, 237, 71, 9, 13, 237, 70, 9, 13,
+ 237, 69, 9, 13, 237, 68, 9, 13, 237, 67, 9, 13, 237, 66, 9, 13, 237, 65,
+ 9, 13, 237, 64, 9, 13, 237, 63, 9, 13, 237, 62, 9, 13, 237, 61, 9, 13,
+ 237, 60, 9, 13, 237, 59, 9, 13, 237, 58, 9, 13, 237, 57, 9, 13, 237, 56,
+ 9, 13, 237, 55, 9, 13, 237, 54, 9, 13, 237, 53, 9, 13, 237, 52, 9, 13,
+ 237, 51, 9, 13, 237, 50, 9, 13, 237, 49, 9, 13, 237, 48, 9, 13, 237, 47,
+ 9, 13, 237, 46, 9, 13, 237, 45, 9, 13, 237, 44, 9, 13, 237, 43, 9, 13,
+ 237, 42, 9, 13, 237, 41, 9, 13, 237, 40, 9, 13, 237, 39, 9, 13, 237, 38,
+ 9, 13, 237, 37, 9, 13, 237, 36, 9, 13, 237, 35, 9, 13, 237, 34, 9, 13,
+ 237, 33, 9, 13, 237, 32, 9, 13, 237, 31, 9, 13, 237, 30, 9, 13, 237, 29,
+ 9, 13, 237, 28, 9, 13, 237, 27, 9, 13, 237, 26, 9, 13, 237, 25, 9, 13,
+ 237, 24, 9, 13, 237, 23, 9, 13, 237, 22, 9, 13, 237, 21, 9, 13, 237, 20,
+ 9, 13, 237, 19, 9, 13, 237, 18, 9, 13, 237, 17, 9, 13, 237, 16, 9, 13,
+ 237, 15, 9, 13, 237, 14, 9, 13, 237, 13, 9, 13, 237, 12, 9, 13, 237, 11,
+ 9, 13, 237, 10, 9, 13, 237, 9, 9, 13, 237, 8, 9, 13, 237, 7, 9, 13, 237,
+ 6, 9, 13, 237, 5, 9, 13, 237, 4, 9, 13, 237, 3, 9, 13, 237, 2, 9, 13,
+ 237, 1, 9, 13, 237, 0, 9, 13, 236, 255, 9, 13, 236, 254, 9, 13, 236, 253,
+ 9, 13, 236, 252, 9, 13, 236, 251, 9, 13, 236, 250, 9, 13, 236, 249, 9,
+ 13, 236, 248, 9, 13, 236, 247, 9, 13, 236, 246, 9, 13, 236, 245, 9, 13,
+ 236, 244, 9, 13, 236, 243, 9, 13, 236, 242, 9, 13, 236, 241, 9, 13, 236,
+ 240, 9, 13, 236, 239, 9, 13, 236, 238, 9, 13, 236, 237, 9, 13, 236, 236,
+ 9, 13, 236, 235, 9, 13, 236, 234, 9, 13, 236, 233, 9, 13, 236, 232, 9,
+ 13, 236, 231, 9, 13, 236, 230, 9, 13, 236, 229, 9, 13, 236, 228, 9, 13,
+ 236, 227, 9, 13, 236, 226, 9, 13, 236, 225, 9, 13, 236, 224, 9, 13, 236,
+ 223, 9, 13, 236, 222, 9, 13, 236, 221, 9, 13, 236, 220, 9, 13, 236, 219,
+ 9, 13, 236, 218, 9, 13, 236, 217, 9, 13, 236, 216, 9, 13, 236, 215, 9,
+ 13, 236, 214, 9, 13, 236, 213, 9, 13, 236, 212, 9, 13, 236, 211, 9, 13,
+ 236, 210, 9, 13, 236, 209, 9, 13, 236, 208, 9, 13, 236, 207, 9, 13, 236,
+ 206, 9, 13, 236, 205, 9, 13, 236, 204, 9, 13, 236, 203, 9, 13, 236, 202,
+ 9, 13, 236, 201, 9, 13, 236, 200, 9, 13, 236, 199, 9, 13, 236, 198, 9,
+ 13, 236, 197, 9, 13, 236, 196, 9, 13, 236, 195, 9, 13, 236, 194, 9, 13,
+ 236, 193, 9, 13, 236, 192, 9, 13, 236, 191, 9, 13, 236, 190, 9, 13, 236,
+ 189, 9, 13, 236, 188, 9, 13, 236, 187, 9, 13, 236, 186, 9, 13, 236, 185,
+ 9, 13, 236, 184, 9, 13, 236, 183, 9, 13, 236, 182, 9, 13, 236, 181, 9,
+ 13, 236, 180, 9, 13, 236, 179, 9, 13, 236, 178, 9, 13, 236, 177, 7, 4,
+ 26, 244, 214, 7, 4, 26, 244, 210, 7, 4, 26, 244, 165, 7, 4, 26, 244, 213,
+ 7, 4, 26, 244, 212, 7, 4, 26, 187, 223, 29, 218, 113, 7, 4, 26, 219, 121,
+ 146, 4, 26, 231, 193, 228, 193, 146, 4, 26, 231, 193, 246, 34, 146, 4,
+ 26, 231, 193, 236, 85, 146, 4, 26, 214, 162, 228, 193, 146, 4, 26, 231,
+ 193, 213, 151, 94, 1, 212, 226, 2, 242, 7, 94, 225, 181, 235, 167, 214,
+ 249, 94, 26, 212, 254, 212, 226, 212, 226, 226, 149, 94, 1, 254, 175,
+ 253, 205, 94, 1, 213, 235, 254, 205, 94, 1, 213, 235, 249, 0, 94, 1, 213,
+ 235, 242, 85, 94, 1, 213, 235, 235, 112, 94, 1, 213, 235, 233, 216, 94,
+ 1, 213, 235, 41, 231, 199, 94, 1, 213, 235, 223, 253, 94, 1, 213, 235,
+ 218, 2, 94, 1, 254, 175, 95, 53, 94, 1, 220, 222, 2, 220, 222, 247, 195,
+ 94, 1, 220, 222, 2, 220, 104, 247, 195, 94, 1, 220, 222, 2, 249, 17, 22,
+ 220, 222, 247, 195, 94, 1, 220, 222, 2, 249, 17, 22, 220, 104, 247, 195,
+ 94, 1, 108, 2, 226, 149, 94, 1, 108, 2, 224, 255, 94, 1, 108, 2, 232, 49,
+ 94, 1, 252, 76, 2, 249, 16, 94, 1, 243, 42, 2, 249, 16, 94, 1, 249, 1, 2,
+ 249, 16, 94, 1, 242, 86, 2, 232, 49, 94, 1, 214, 242, 2, 249, 16, 94, 1,
+ 212, 91, 2, 249, 16, 94, 1, 217, 197, 2, 249, 16, 94, 1, 212, 226, 2,
+ 249, 16, 94, 1, 41, 235, 113, 2, 249, 16, 94, 1, 235, 113, 2, 249, 16,
+ 94, 1, 233, 217, 2, 249, 16, 94, 1, 231, 200, 2, 249, 16, 94, 1, 228, 94,
+ 2, 249, 16, 94, 1, 222, 189, 2, 249, 16, 94, 1, 41, 226, 133, 2, 249, 16,
+ 94, 1, 226, 133, 2, 249, 16, 94, 1, 216, 151, 2, 249, 16, 94, 1, 224,
+ 220, 2, 249, 16, 94, 1, 223, 254, 2, 249, 16, 94, 1, 220, 222, 2, 249,
+ 16, 94, 1, 218, 3, 2, 249, 16, 94, 1, 214, 242, 2, 241, 166, 94, 1, 252,
+ 76, 2, 224, 94, 94, 1, 235, 113, 2, 224, 94, 94, 1, 226, 133, 2, 224, 94,
+ 94, 26, 108, 233, 216, 12, 1, 108, 214, 34, 49, 17, 12, 1, 108, 214, 34,
+ 41, 17, 12, 1, 252, 111, 49, 17, 12, 1, 252, 111, 41, 17, 12, 1, 252,
+ 111, 73, 17, 12, 1, 252, 111, 144, 17, 12, 1, 226, 117, 49, 17, 12, 1,
+ 226, 117, 41, 17, 12, 1, 226, 117, 73, 17, 12, 1, 226, 117, 144, 17, 12,
+ 1, 252, 99, 49, 17, 12, 1, 252, 99, 41, 17, 12, 1, 252, 99, 73, 17, 12,
+ 1, 252, 99, 144, 17, 12, 1, 216, 119, 49, 17, 12, 1, 216, 119, 41, 17,
+ 12, 1, 216, 119, 73, 17, 12, 1, 216, 119, 144, 17, 12, 1, 217, 227, 49,
+ 17, 12, 1, 217, 227, 41, 17, 12, 1, 217, 227, 73, 17, 12, 1, 217, 227,
+ 144, 17, 12, 1, 216, 121, 49, 17, 12, 1, 216, 121, 41, 17, 12, 1, 216,
+ 121, 73, 17, 12, 1, 216, 121, 144, 17, 12, 1, 214, 231, 49, 17, 12, 1,
+ 214, 231, 41, 17, 12, 1, 214, 231, 73, 17, 12, 1, 214, 231, 144, 17, 12,
+ 1, 226, 115, 49, 17, 12, 1, 226, 115, 41, 17, 12, 1, 226, 115, 73, 17,
+ 12, 1, 226, 115, 144, 17, 12, 1, 246, 120, 49, 17, 12, 1, 246, 120, 41,
+ 17, 12, 1, 246, 120, 73, 17, 12, 1, 246, 120, 144, 17, 12, 1, 228, 54,
+ 49, 17, 12, 1, 228, 54, 41, 17, 12, 1, 228, 54, 73, 17, 12, 1, 228, 54,
+ 144, 17, 12, 1, 217, 247, 49, 17, 12, 1, 217, 247, 41, 17, 12, 1, 217,
+ 247, 73, 17, 12, 1, 217, 247, 144, 17, 12, 1, 217, 245, 49, 17, 12, 1,
+ 217, 245, 41, 17, 12, 1, 217, 245, 73, 17, 12, 1, 217, 245, 144, 17, 12,
+ 1, 248, 205, 49, 17, 12, 1, 248, 205, 41, 17, 12, 1, 249, 13, 49, 17, 12,
+ 1, 249, 13, 41, 17, 12, 1, 246, 147, 49, 17, 12, 1, 246, 147, 41, 17, 12,
+ 1, 248, 203, 49, 17, 12, 1, 248, 203, 41, 17, 12, 1, 235, 237, 49, 17,
+ 12, 1, 235, 237, 41, 17, 12, 1, 223, 108, 49, 17, 12, 1, 223, 108, 41,
+ 17, 12, 1, 235, 37, 49, 17, 12, 1, 235, 37, 41, 17, 12, 1, 235, 37, 73,
+ 17, 12, 1, 235, 37, 144, 17, 12, 1, 243, 218, 49, 17, 12, 1, 243, 218,
+ 41, 17, 12, 1, 243, 218, 73, 17, 12, 1, 243, 218, 144, 17, 12, 1, 242,
+ 204, 49, 17, 12, 1, 242, 204, 41, 17, 12, 1, 242, 204, 73, 17, 12, 1,
+ 242, 204, 144, 17, 12, 1, 229, 154, 49, 17, 12, 1, 229, 154, 41, 17, 12,
+ 1, 229, 154, 73, 17, 12, 1, 229, 154, 144, 17, 12, 1, 228, 217, 243, 59,
+ 49, 17, 12, 1, 228, 217, 243, 59, 41, 17, 12, 1, 223, 150, 49, 17, 12, 1,
+ 223, 150, 41, 17, 12, 1, 223, 150, 73, 17, 12, 1, 223, 150, 144, 17, 12,
+ 1, 242, 66, 2, 76, 74, 49, 17, 12, 1, 242, 66, 2, 76, 74, 41, 17, 12, 1,
+ 242, 66, 243, 12, 49, 17, 12, 1, 242, 66, 243, 12, 41, 17, 12, 1, 242,
+ 66, 243, 12, 73, 17, 12, 1, 242, 66, 243, 12, 144, 17, 12, 1, 242, 66,
+ 247, 217, 49, 17, 12, 1, 242, 66, 247, 217, 41, 17, 12, 1, 242, 66, 247,
+ 217, 73, 17, 12, 1, 242, 66, 247, 217, 144, 17, 12, 1, 76, 252, 179, 49,
+ 17, 12, 1, 76, 252, 179, 41, 17, 12, 1, 76, 252, 179, 2, 194, 74, 49, 17,
+ 12, 1, 76, 252, 179, 2, 194, 74, 41, 17, 12, 16, 62, 50, 12, 16, 62, 55,
+ 12, 16, 119, 181, 50, 12, 16, 119, 181, 55, 12, 16, 137, 181, 50, 12, 16,
+ 137, 181, 55, 12, 16, 137, 181, 225, 177, 246, 179, 50, 12, 16, 137, 181,
+ 225, 177, 246, 179, 55, 12, 16, 244, 101, 181, 50, 12, 16, 244, 101, 181,
+ 55, 12, 16, 52, 66, 252, 187, 55, 12, 16, 119, 181, 214, 171, 50, 12, 16,
+ 119, 181, 214, 171, 55, 12, 16, 223, 164, 12, 16, 4, 218, 44, 50, 12, 16,
+ 4, 218, 44, 55, 12, 1, 229, 229, 49, 17, 12, 1, 229, 229, 41, 17, 12, 1,
+ 229, 229, 73, 17, 12, 1, 229, 229, 144, 17, 12, 1, 103, 49, 17, 12, 1,
+ 103, 41, 17, 12, 1, 227, 137, 49, 17, 12, 1, 227, 137, 41, 17, 12, 1,
+ 212, 205, 49, 17, 12, 1, 212, 205, 41, 17, 12, 1, 103, 2, 194, 74, 49,
+ 17, 12, 1, 214, 238, 49, 17, 12, 1, 214, 238, 41, 17, 12, 1, 234, 193,
+ 227, 137, 49, 17, 12, 1, 234, 193, 227, 137, 41, 17, 12, 1, 234, 193,
+ 212, 205, 49, 17, 12, 1, 234, 193, 212, 205, 41, 17, 12, 1, 154, 49, 17,
+ 12, 1, 154, 41, 17, 12, 1, 154, 73, 17, 12, 1, 154, 144, 17, 12, 1, 215,
+ 183, 235, 48, 234, 193, 108, 232, 71, 73, 17, 12, 1, 215, 183, 235, 48,
+ 234, 193, 108, 232, 71, 144, 17, 12, 26, 76, 2, 194, 74, 2, 108, 49, 17,
+ 12, 26, 76, 2, 194, 74, 2, 108, 41, 17, 12, 26, 76, 2, 194, 74, 2, 255,
+ 21, 49, 17, 12, 26, 76, 2, 194, 74, 2, 255, 21, 41, 17, 12, 26, 76, 2,
+ 194, 74, 2, 214, 18, 49, 17, 12, 26, 76, 2, 194, 74, 2, 214, 18, 41, 17,
+ 12, 26, 76, 2, 194, 74, 2, 103, 49, 17, 12, 26, 76, 2, 194, 74, 2, 103,
+ 41, 17, 12, 26, 76, 2, 194, 74, 2, 227, 137, 49, 17, 12, 26, 76, 2, 194,
+ 74, 2, 227, 137, 41, 17, 12, 26, 76, 2, 194, 74, 2, 212, 205, 49, 17, 12,
+ 26, 76, 2, 194, 74, 2, 212, 205, 41, 17, 12, 26, 76, 2, 194, 74, 2, 154,
+ 49, 17, 12, 26, 76, 2, 194, 74, 2, 154, 41, 17, 12, 26, 76, 2, 194, 74,
+ 2, 154, 73, 17, 12, 26, 215, 183, 234, 193, 76, 2, 194, 74, 2, 108, 232,
+ 71, 49, 17, 12, 26, 215, 183, 234, 193, 76, 2, 194, 74, 2, 108, 232, 71,
+ 41, 17, 12, 26, 215, 183, 234, 193, 76, 2, 194, 74, 2, 108, 232, 71, 73,
+ 17, 12, 1, 245, 1, 76, 49, 17, 12, 1, 245, 1, 76, 41, 17, 12, 1, 245, 1,
+ 76, 73, 17, 12, 1, 245, 1, 76, 144, 17, 12, 26, 76, 2, 194, 74, 2, 149,
+ 49, 17, 12, 26, 76, 2, 194, 74, 2, 123, 49, 17, 12, 26, 76, 2, 194, 74,
+ 2, 64, 49, 17, 12, 26, 76, 2, 194, 74, 2, 108, 232, 71, 49, 17, 12, 26,
+ 76, 2, 194, 74, 2, 76, 49, 17, 12, 26, 252, 101, 2, 149, 49, 17, 12, 26,
+ 252, 101, 2, 123, 49, 17, 12, 26, 252, 101, 2, 234, 248, 49, 17, 12, 26,
+ 252, 101, 2, 64, 49, 17, 12, 26, 252, 101, 2, 108, 232, 71, 49, 17, 12,
+ 26, 252, 101, 2, 76, 49, 17, 12, 26, 217, 229, 2, 149, 49, 17, 12, 26,
+ 217, 229, 2, 123, 49, 17, 12, 26, 217, 229, 2, 234, 248, 49, 17, 12, 26,
+ 217, 229, 2, 64, 49, 17, 12, 26, 217, 229, 2, 108, 232, 71, 49, 17, 12,
+ 26, 217, 229, 2, 76, 49, 17, 12, 26, 217, 159, 2, 149, 49, 17, 12, 26,
+ 217, 159, 2, 64, 49, 17, 12, 26, 217, 159, 2, 108, 232, 71, 49, 17, 12,
+ 26, 217, 159, 2, 76, 49, 17, 12, 26, 149, 2, 123, 49, 17, 12, 26, 149, 2,
+ 64, 49, 17, 12, 26, 123, 2, 149, 49, 17, 12, 26, 123, 2, 64, 49, 17, 12,
+ 26, 234, 248, 2, 149, 49, 17, 12, 26, 234, 248, 2, 123, 49, 17, 12, 26,
+ 234, 248, 2, 64, 49, 17, 12, 26, 222, 109, 2, 149, 49, 17, 12, 26, 222,
+ 109, 2, 123, 49, 17, 12, 26, 222, 109, 2, 234, 248, 49, 17, 12, 26, 222,
+ 109, 2, 64, 49, 17, 12, 26, 222, 221, 2, 123, 49, 17, 12, 26, 222, 221,
+ 2, 64, 49, 17, 12, 26, 249, 26, 2, 149, 49, 17, 12, 26, 249, 26, 2, 123,
+ 49, 17, 12, 26, 249, 26, 2, 234, 248, 49, 17, 12, 26, 249, 26, 2, 64, 49,
+ 17, 12, 26, 218, 44, 2, 123, 49, 17, 12, 26, 218, 44, 2, 64, 49, 17, 12,
+ 26, 212, 105, 2, 64, 49, 17, 12, 26, 254, 232, 2, 149, 49, 17, 12, 26,
+ 254, 232, 2, 64, 49, 17, 12, 26, 243, 85, 2, 149, 49, 17, 12, 26, 243,
+ 85, 2, 64, 49, 17, 12, 26, 244, 232, 2, 149, 49, 17, 12, 26, 244, 232, 2,
+ 123, 49, 17, 12, 26, 244, 232, 2, 234, 248, 49, 17, 12, 26, 244, 232, 2,
+ 64, 49, 17, 12, 26, 244, 232, 2, 108, 232, 71, 49, 17, 12, 26, 244, 232,
+ 2, 76, 49, 17, 12, 26, 225, 5, 2, 123, 49, 17, 12, 26, 225, 5, 2, 64, 49,
+ 17, 12, 26, 225, 5, 2, 108, 232, 71, 49, 17, 12, 26, 225, 5, 2, 76, 49,
+ 17, 12, 26, 235, 113, 2, 108, 49, 17, 12, 26, 235, 113, 2, 149, 49, 17,
+ 12, 26, 235, 113, 2, 123, 49, 17, 12, 26, 235, 113, 2, 234, 248, 49, 17,
+ 12, 26, 235, 113, 2, 233, 225, 49, 17, 12, 26, 235, 113, 2, 64, 49, 17,
+ 12, 26, 235, 113, 2, 108, 232, 71, 49, 17, 12, 26, 235, 113, 2, 76, 49,
+ 17, 12, 26, 233, 225, 2, 149, 49, 17, 12, 26, 233, 225, 2, 123, 49, 17,
+ 12, 26, 233, 225, 2, 234, 248, 49, 17, 12, 26, 233, 225, 2, 64, 49, 17,
+ 12, 26, 233, 225, 2, 108, 232, 71, 49, 17, 12, 26, 233, 225, 2, 76, 49,
+ 17, 12, 26, 64, 2, 149, 49, 17, 12, 26, 64, 2, 123, 49, 17, 12, 26, 64,
+ 2, 234, 248, 49, 17, 12, 26, 64, 2, 64, 49, 17, 12, 26, 64, 2, 108, 232,
+ 71, 49, 17, 12, 26, 64, 2, 76, 49, 17, 12, 26, 228, 217, 2, 149, 49, 17,
+ 12, 26, 228, 217, 2, 123, 49, 17, 12, 26, 228, 217, 2, 234, 248, 49, 17,
+ 12, 26, 228, 217, 2, 64, 49, 17, 12, 26, 228, 217, 2, 108, 232, 71, 49,
+ 17, 12, 26, 228, 217, 2, 76, 49, 17, 12, 26, 242, 66, 2, 149, 49, 17, 12,
+ 26, 242, 66, 2, 64, 49, 17, 12, 26, 242, 66, 2, 108, 232, 71, 49, 17, 12,
+ 26, 242, 66, 2, 76, 49, 17, 12, 26, 76, 2, 149, 49, 17, 12, 26, 76, 2,
+ 123, 49, 17, 12, 26, 76, 2, 234, 248, 49, 17, 12, 26, 76, 2, 64, 49, 17,
+ 12, 26, 76, 2, 108, 232, 71, 49, 17, 12, 26, 76, 2, 76, 49, 17, 12, 26,
+ 217, 169, 2, 218, 237, 108, 49, 17, 12, 26, 224, 24, 2, 218, 237, 108,
+ 49, 17, 12, 26, 108, 232, 71, 2, 218, 237, 108, 49, 17, 12, 26, 221, 39,
+ 2, 248, 250, 49, 17, 12, 26, 221, 39, 2, 235, 66, 49, 17, 12, 26, 221,
+ 39, 2, 244, 255, 49, 17, 12, 26, 221, 39, 2, 248, 252, 49, 17, 12, 26,
+ 221, 39, 2, 235, 68, 49, 17, 12, 26, 221, 39, 2, 218, 237, 108, 49, 17,
+ 12, 26, 76, 2, 194, 74, 2, 224, 24, 41, 17, 12, 26, 76, 2, 194, 74, 2,
+ 212, 102, 41, 17, 12, 26, 76, 2, 194, 74, 2, 64, 41, 17, 12, 26, 76, 2,
+ 194, 74, 2, 228, 217, 41, 17, 12, 26, 76, 2, 194, 74, 2, 108, 232, 71,
+ 41, 17, 12, 26, 76, 2, 194, 74, 2, 76, 41, 17, 12, 26, 252, 101, 2, 224,
+ 24, 41, 17, 12, 26, 252, 101, 2, 212, 102, 41, 17, 12, 26, 252, 101, 2,
+ 64, 41, 17, 12, 26, 252, 101, 2, 228, 217, 41, 17, 12, 26, 252, 101, 2,
+ 108, 232, 71, 41, 17, 12, 26, 252, 101, 2, 76, 41, 17, 12, 26, 217, 229,
+ 2, 224, 24, 41, 17, 12, 26, 217, 229, 2, 212, 102, 41, 17, 12, 26, 217,
+ 229, 2, 64, 41, 17, 12, 26, 217, 229, 2, 228, 217, 41, 17, 12, 26, 217,
+ 229, 2, 108, 232, 71, 41, 17, 12, 26, 217, 229, 2, 76, 41, 17, 12, 26,
+ 217, 159, 2, 224, 24, 41, 17, 12, 26, 217, 159, 2, 212, 102, 41, 17, 12,
+ 26, 217, 159, 2, 64, 41, 17, 12, 26, 217, 159, 2, 228, 217, 41, 17, 12,
+ 26, 217, 159, 2, 108, 232, 71, 41, 17, 12, 26, 217, 159, 2, 76, 41, 17,
+ 12, 26, 244, 232, 2, 108, 232, 71, 41, 17, 12, 26, 244, 232, 2, 76, 41,
+ 17, 12, 26, 225, 5, 2, 108, 232, 71, 41, 17, 12, 26, 225, 5, 2, 76, 41,
+ 17, 12, 26, 235, 113, 2, 108, 41, 17, 12, 26, 235, 113, 2, 233, 225, 41,
+ 17, 12, 26, 235, 113, 2, 64, 41, 17, 12, 26, 235, 113, 2, 108, 232, 71,
+ 41, 17, 12, 26, 235, 113, 2, 76, 41, 17, 12, 26, 233, 225, 2, 64, 41, 17,
+ 12, 26, 233, 225, 2, 108, 232, 71, 41, 17, 12, 26, 233, 225, 2, 76, 41,
+ 17, 12, 26, 64, 2, 108, 41, 17, 12, 26, 64, 2, 64, 41, 17, 12, 26, 228,
+ 217, 2, 224, 24, 41, 17, 12, 26, 228, 217, 2, 212, 102, 41, 17, 12, 26,
+ 228, 217, 2, 64, 41, 17, 12, 26, 228, 217, 2, 228, 217, 41, 17, 12, 26,
+ 228, 217, 2, 108, 232, 71, 41, 17, 12, 26, 228, 217, 2, 76, 41, 17, 12,
+ 26, 108, 232, 71, 2, 218, 237, 108, 41, 17, 12, 26, 76, 2, 224, 24, 41,
+ 17, 12, 26, 76, 2, 212, 102, 41, 17, 12, 26, 76, 2, 64, 41, 17, 12, 26,
+ 76, 2, 228, 217, 41, 17, 12, 26, 76, 2, 108, 232, 71, 41, 17, 12, 26, 76,
+ 2, 76, 41, 17, 12, 26, 76, 2, 194, 74, 2, 149, 73, 17, 12, 26, 76, 2,
+ 194, 74, 2, 123, 73, 17, 12, 26, 76, 2, 194, 74, 2, 234, 248, 73, 17, 12,
+ 26, 76, 2, 194, 74, 2, 64, 73, 17, 12, 26, 76, 2, 194, 74, 2, 242, 66,
+ 73, 17, 12, 26, 252, 101, 2, 149, 73, 17, 12, 26, 252, 101, 2, 123, 73,
+ 17, 12, 26, 252, 101, 2, 234, 248, 73, 17, 12, 26, 252, 101, 2, 64, 73,
+ 17, 12, 26, 252, 101, 2, 242, 66, 73, 17, 12, 26, 217, 229, 2, 149, 73,
+ 17, 12, 26, 217, 229, 2, 123, 73, 17, 12, 26, 217, 229, 2, 234, 248, 73,
+ 17, 12, 26, 217, 229, 2, 64, 73, 17, 12, 26, 217, 229, 2, 242, 66, 73,
+ 17, 12, 26, 217, 159, 2, 64, 73, 17, 12, 26, 149, 2, 123, 73, 17, 12, 26,
+ 149, 2, 64, 73, 17, 12, 26, 123, 2, 149, 73, 17, 12, 26, 123, 2, 64, 73,
+ 17, 12, 26, 234, 248, 2, 149, 73, 17, 12, 26, 234, 248, 2, 64, 73, 17,
+ 12, 26, 222, 109, 2, 149, 73, 17, 12, 26, 222, 109, 2, 123, 73, 17, 12,
+ 26, 222, 109, 2, 234, 248, 73, 17, 12, 26, 222, 109, 2, 64, 73, 17, 12,
+ 26, 222, 221, 2, 123, 73, 17, 12, 26, 222, 221, 2, 234, 248, 73, 17, 12,
+ 26, 222, 221, 2, 64, 73, 17, 12, 26, 249, 26, 2, 149, 73, 17, 12, 26,
+ 249, 26, 2, 123, 73, 17, 12, 26, 249, 26, 2, 234, 248, 73, 17, 12, 26,
+ 249, 26, 2, 64, 73, 17, 12, 26, 218, 44, 2, 123, 73, 17, 12, 26, 212,
+ 105, 2, 64, 73, 17, 12, 26, 254, 232, 2, 149, 73, 17, 12, 26, 254, 232,
+ 2, 64, 73, 17, 12, 26, 243, 85, 2, 149, 73, 17, 12, 26, 243, 85, 2, 64,
+ 73, 17, 12, 26, 244, 232, 2, 149, 73, 17, 12, 26, 244, 232, 2, 123, 73,
+ 17, 12, 26, 244, 232, 2, 234, 248, 73, 17, 12, 26, 244, 232, 2, 64, 73,
+ 17, 12, 26, 225, 5, 2, 123, 73, 17, 12, 26, 225, 5, 2, 64, 73, 17, 12,
+ 26, 235, 113, 2, 149, 73, 17, 12, 26, 235, 113, 2, 123, 73, 17, 12, 26,
+ 235, 113, 2, 234, 248, 73, 17, 12, 26, 235, 113, 2, 233, 225, 73, 17, 12,
+ 26, 235, 113, 2, 64, 73, 17, 12, 26, 233, 225, 2, 149, 73, 17, 12, 26,
+ 233, 225, 2, 123, 73, 17, 12, 26, 233, 225, 2, 234, 248, 73, 17, 12, 26,
+ 233, 225, 2, 64, 73, 17, 12, 26, 233, 225, 2, 242, 66, 73, 17, 12, 26,
+ 64, 2, 149, 73, 17, 12, 26, 64, 2, 123, 73, 17, 12, 26, 64, 2, 234, 248,
+ 73, 17, 12, 26, 64, 2, 64, 73, 17, 12, 26, 228, 217, 2, 149, 73, 17, 12,
+ 26, 228, 217, 2, 123, 73, 17, 12, 26, 228, 217, 2, 234, 248, 73, 17, 12,
+ 26, 228, 217, 2, 64, 73, 17, 12, 26, 228, 217, 2, 242, 66, 73, 17, 12,
+ 26, 242, 66, 2, 149, 73, 17, 12, 26, 242, 66, 2, 64, 73, 17, 12, 26, 242,
+ 66, 2, 218, 237, 108, 73, 17, 12, 26, 76, 2, 149, 73, 17, 12, 26, 76, 2,
+ 123, 73, 17, 12, 26, 76, 2, 234, 248, 73, 17, 12, 26, 76, 2, 64, 73, 17,
+ 12, 26, 76, 2, 242, 66, 73, 17, 12, 26, 76, 2, 194, 74, 2, 64, 144, 17,
+ 12, 26, 76, 2, 194, 74, 2, 242, 66, 144, 17, 12, 26, 252, 101, 2, 64,
+ 144, 17, 12, 26, 252, 101, 2, 242, 66, 144, 17, 12, 26, 217, 229, 2, 64,
+ 144, 17, 12, 26, 217, 229, 2, 242, 66, 144, 17, 12, 26, 217, 159, 2, 64,
+ 144, 17, 12, 26, 217, 159, 2, 242, 66, 144, 17, 12, 26, 222, 109, 2, 64,
+ 144, 17, 12, 26, 222, 109, 2, 242, 66, 144, 17, 12, 26, 221, 5, 2, 64,
+ 144, 17, 12, 26, 221, 5, 2, 242, 66, 144, 17, 12, 26, 235, 113, 2, 233,
+ 225, 144, 17, 12, 26, 235, 113, 2, 64, 144, 17, 12, 26, 233, 225, 2, 64,
+ 144, 17, 12, 26, 228, 217, 2, 64, 144, 17, 12, 26, 228, 217, 2, 242, 66,
+ 144, 17, 12, 26, 76, 2, 64, 144, 17, 12, 26, 76, 2, 242, 66, 144, 17, 12,
+ 26, 221, 39, 2, 244, 255, 144, 17, 12, 26, 221, 39, 2, 248, 252, 144, 17,
+ 12, 26, 221, 39, 2, 235, 68, 144, 17, 12, 26, 218, 44, 2, 108, 232, 71,
+ 49, 17, 12, 26, 218, 44, 2, 76, 49, 17, 12, 26, 254, 232, 2, 108, 232,
+ 71, 49, 17, 12, 26, 254, 232, 2, 76, 49, 17, 12, 26, 243, 85, 2, 108,
+ 232, 71, 49, 17, 12, 26, 243, 85, 2, 76, 49, 17, 12, 26, 222, 109, 2,
+ 108, 232, 71, 49, 17, 12, 26, 222, 109, 2, 76, 49, 17, 12, 26, 221, 5, 2,
+ 108, 232, 71, 49, 17, 12, 26, 221, 5, 2, 76, 49, 17, 12, 26, 123, 2, 108,
+ 232, 71, 49, 17, 12, 26, 123, 2, 76, 49, 17, 12, 26, 149, 2, 108, 232,
+ 71, 49, 17, 12, 26, 149, 2, 76, 49, 17, 12, 26, 234, 248, 2, 108, 232,
+ 71, 49, 17, 12, 26, 234, 248, 2, 76, 49, 17, 12, 26, 222, 221, 2, 108,
+ 232, 71, 49, 17, 12, 26, 222, 221, 2, 76, 49, 17, 12, 26, 249, 26, 2,
+ 108, 232, 71, 49, 17, 12, 26, 249, 26, 2, 76, 49, 17, 12, 26, 221, 5, 2,
+ 149, 49, 17, 12, 26, 221, 5, 2, 123, 49, 17, 12, 26, 221, 5, 2, 234, 248,
+ 49, 17, 12, 26, 221, 5, 2, 64, 49, 17, 12, 26, 221, 5, 2, 224, 24, 49,
+ 17, 12, 26, 222, 109, 2, 224, 24, 49, 17, 12, 26, 222, 221, 2, 224, 24,
+ 49, 17, 12, 26, 249, 26, 2, 224, 24, 49, 17, 12, 26, 218, 44, 2, 108,
+ 232, 71, 41, 17, 12, 26, 218, 44, 2, 76, 41, 17, 12, 26, 254, 232, 2,
+ 108, 232, 71, 41, 17, 12, 26, 254, 232, 2, 76, 41, 17, 12, 26, 243, 85,
+ 2, 108, 232, 71, 41, 17, 12, 26, 243, 85, 2, 76, 41, 17, 12, 26, 222,
+ 109, 2, 108, 232, 71, 41, 17, 12, 26, 222, 109, 2, 76, 41, 17, 12, 26,
+ 221, 5, 2, 108, 232, 71, 41, 17, 12, 26, 221, 5, 2, 76, 41, 17, 12, 26,
+ 123, 2, 108, 232, 71, 41, 17, 12, 26, 123, 2, 76, 41, 17, 12, 26, 149, 2,
+ 108, 232, 71, 41, 17, 12, 26, 149, 2, 76, 41, 17, 12, 26, 234, 248, 2,
+ 108, 232, 71, 41, 17, 12, 26, 234, 248, 2, 76, 41, 17, 12, 26, 222, 221,
+ 2, 108, 232, 71, 41, 17, 12, 26, 222, 221, 2, 76, 41, 17, 12, 26, 249,
+ 26, 2, 108, 232, 71, 41, 17, 12, 26, 249, 26, 2, 76, 41, 17, 12, 26, 221,
+ 5, 2, 149, 41, 17, 12, 26, 221, 5, 2, 123, 41, 17, 12, 26, 221, 5, 2,
+ 234, 248, 41, 17, 12, 26, 221, 5, 2, 64, 41, 17, 12, 26, 221, 5, 2, 224,
+ 24, 41, 17, 12, 26, 222, 109, 2, 224, 24, 41, 17, 12, 26, 222, 221, 2,
+ 224, 24, 41, 17, 12, 26, 249, 26, 2, 224, 24, 41, 17, 12, 26, 221, 5, 2,
+ 149, 73, 17, 12, 26, 221, 5, 2, 123, 73, 17, 12, 26, 221, 5, 2, 234, 248,
+ 73, 17, 12, 26, 221, 5, 2, 64, 73, 17, 12, 26, 222, 109, 2, 242, 66, 73,
+ 17, 12, 26, 221, 5, 2, 242, 66, 73, 17, 12, 26, 218, 44, 2, 64, 73, 17,
+ 12, 26, 222, 109, 2, 149, 144, 17, 12, 26, 222, 109, 2, 123, 144, 17, 12,
+ 26, 222, 109, 2, 234, 248, 144, 17, 12, 26, 221, 5, 2, 149, 144, 17, 12,
+ 26, 221, 5, 2, 123, 144, 17, 12, 26, 221, 5, 2, 234, 248, 144, 17, 12,
+ 26, 218, 44, 2, 64, 144, 17, 12, 26, 212, 105, 2, 64, 144, 17, 12, 26,
+ 108, 2, 244, 253, 41, 17, 12, 26, 108, 2, 244, 253, 49, 17, 227, 51, 43,
+ 226, 168, 227, 51, 47, 226, 168, 12, 26, 217, 229, 2, 149, 2, 64, 73, 17,
+ 12, 26, 217, 229, 2, 123, 2, 149, 41, 17, 12, 26, 217, 229, 2, 123, 2,
+ 149, 73, 17, 12, 26, 217, 229, 2, 123, 2, 64, 73, 17, 12, 26, 217, 229,
+ 2, 234, 248, 2, 64, 73, 17, 12, 26, 217, 229, 2, 64, 2, 149, 73, 17, 12,
+ 26, 217, 229, 2, 64, 2, 123, 73, 17, 12, 26, 217, 229, 2, 64, 2, 234,
+ 248, 73, 17, 12, 26, 149, 2, 64, 2, 123, 41, 17, 12, 26, 149, 2, 64, 2,
+ 123, 73, 17, 12, 26, 123, 2, 64, 2, 76, 41, 17, 12, 26, 123, 2, 64, 2,
+ 108, 232, 71, 41, 17, 12, 26, 222, 109, 2, 123, 2, 149, 73, 17, 12, 26,
+ 222, 109, 2, 149, 2, 123, 73, 17, 12, 26, 222, 109, 2, 149, 2, 108, 232,
+ 71, 41, 17, 12, 26, 222, 109, 2, 64, 2, 123, 41, 17, 12, 26, 222, 109, 2,
+ 64, 2, 123, 73, 17, 12, 26, 222, 109, 2, 64, 2, 149, 73, 17, 12, 26, 222,
+ 109, 2, 64, 2, 64, 41, 17, 12, 26, 222, 109, 2, 64, 2, 64, 73, 17, 12,
+ 26, 222, 221, 2, 123, 2, 123, 41, 17, 12, 26, 222, 221, 2, 123, 2, 123,
+ 73, 17, 12, 26, 222, 221, 2, 64, 2, 64, 41, 17, 12, 26, 221, 5, 2, 123,
+ 2, 64, 41, 17, 12, 26, 221, 5, 2, 123, 2, 64, 73, 17, 12, 26, 221, 5, 2,
+ 149, 2, 76, 41, 17, 12, 26, 221, 5, 2, 64, 2, 234, 248, 41, 17, 12, 26,
+ 221, 5, 2, 64, 2, 234, 248, 73, 17, 12, 26, 221, 5, 2, 64, 2, 64, 41, 17,
+ 12, 26, 221, 5, 2, 64, 2, 64, 73, 17, 12, 26, 249, 26, 2, 123, 2, 108,
+ 232, 71, 41, 17, 12, 26, 249, 26, 2, 234, 248, 2, 64, 41, 17, 12, 26,
+ 249, 26, 2, 234, 248, 2, 64, 73, 17, 12, 26, 218, 44, 2, 64, 2, 123, 41,
+ 17, 12, 26, 218, 44, 2, 64, 2, 123, 73, 17, 12, 26, 218, 44, 2, 64, 2,
+ 64, 73, 17, 12, 26, 218, 44, 2, 64, 2, 76, 41, 17, 12, 26, 254, 232, 2,
+ 149, 2, 64, 41, 17, 12, 26, 254, 232, 2, 64, 2, 64, 41, 17, 12, 26, 254,
+ 232, 2, 64, 2, 64, 73, 17, 12, 26, 254, 232, 2, 64, 2, 108, 232, 71, 41,
+ 17, 12, 26, 243, 85, 2, 64, 2, 64, 41, 17, 12, 26, 243, 85, 2, 64, 2, 76,
+ 41, 17, 12, 26, 243, 85, 2, 64, 2, 108, 232, 71, 41, 17, 12, 26, 244,
+ 232, 2, 234, 248, 2, 64, 41, 17, 12, 26, 244, 232, 2, 234, 248, 2, 64,
+ 73, 17, 12, 26, 225, 5, 2, 64, 2, 123, 41, 17, 12, 26, 225, 5, 2, 64, 2,
+ 64, 41, 17, 12, 26, 233, 225, 2, 123, 2, 64, 41, 17, 12, 26, 233, 225, 2,
+ 123, 2, 76, 41, 17, 12, 26, 233, 225, 2, 123, 2, 108, 232, 71, 41, 17,
+ 12, 26, 233, 225, 2, 149, 2, 149, 73, 17, 12, 26, 233, 225, 2, 149, 2,
+ 149, 41, 17, 12, 26, 233, 225, 2, 234, 248, 2, 64, 41, 17, 12, 26, 233,
+ 225, 2, 234, 248, 2, 64, 73, 17, 12, 26, 233, 225, 2, 64, 2, 123, 41, 17,
+ 12, 26, 233, 225, 2, 64, 2, 123, 73, 17, 12, 26, 64, 2, 123, 2, 149, 73,
+ 17, 12, 26, 64, 2, 123, 2, 64, 73, 17, 12, 26, 64, 2, 123, 2, 76, 41, 17,
+ 12, 26, 64, 2, 149, 2, 123, 73, 17, 12, 26, 64, 2, 149, 2, 64, 73, 17,
+ 12, 26, 64, 2, 234, 248, 2, 149, 73, 17, 12, 26, 64, 2, 234, 248, 2, 64,
+ 73, 17, 12, 26, 64, 2, 149, 2, 234, 248, 73, 17, 12, 26, 242, 66, 2, 64,
+ 2, 149, 73, 17, 12, 26, 242, 66, 2, 64, 2, 64, 73, 17, 12, 26, 228, 217,
+ 2, 123, 2, 64, 73, 17, 12, 26, 228, 217, 2, 123, 2, 108, 232, 71, 41, 17,
+ 12, 26, 228, 217, 2, 149, 2, 64, 41, 17, 12, 26, 228, 217, 2, 149, 2, 64,
+ 73, 17, 12, 26, 228, 217, 2, 149, 2, 108, 232, 71, 41, 17, 12, 26, 228,
+ 217, 2, 64, 2, 76, 41, 17, 12, 26, 228, 217, 2, 64, 2, 108, 232, 71, 41,
+ 17, 12, 26, 76, 2, 64, 2, 64, 41, 17, 12, 26, 76, 2, 64, 2, 64, 73, 17,
+ 12, 26, 252, 101, 2, 234, 248, 2, 76, 41, 17, 12, 26, 217, 229, 2, 149,
+ 2, 76, 41, 17, 12, 26, 217, 229, 2, 149, 2, 108, 232, 71, 41, 17, 12, 26,
+ 217, 229, 2, 234, 248, 2, 76, 41, 17, 12, 26, 217, 229, 2, 234, 248, 2,
+ 108, 232, 71, 41, 17, 12, 26, 217, 229, 2, 64, 2, 76, 41, 17, 12, 26,
+ 217, 229, 2, 64, 2, 108, 232, 71, 41, 17, 12, 26, 149, 2, 64, 2, 76, 41,
+ 17, 12, 26, 149, 2, 123, 2, 108, 232, 71, 41, 17, 12, 26, 149, 2, 64, 2,
+ 108, 232, 71, 41, 17, 12, 26, 222, 109, 2, 234, 248, 2, 108, 232, 71, 41,
+ 17, 12, 26, 222, 221, 2, 123, 2, 76, 41, 17, 12, 26, 221, 5, 2, 123, 2,
+ 76, 41, 17, 12, 26, 249, 26, 2, 123, 2, 76, 41, 17, 12, 26, 233, 225, 2,
+ 149, 2, 76, 41, 17, 12, 26, 233, 225, 2, 64, 2, 76, 41, 17, 12, 26, 76,
+ 2, 123, 2, 76, 41, 17, 12, 26, 76, 2, 149, 2, 76, 41, 17, 12, 26, 76, 2,
+ 64, 2, 76, 41, 17, 12, 26, 64, 2, 64, 2, 76, 41, 17, 12, 26, 225, 5, 2,
+ 64, 2, 76, 41, 17, 12, 26, 228, 217, 2, 123, 2, 76, 41, 17, 12, 26, 225,
+ 5, 2, 64, 2, 123, 73, 17, 12, 26, 233, 225, 2, 123, 2, 64, 73, 17, 12,
+ 26, 254, 232, 2, 64, 2, 76, 41, 17, 12, 26, 235, 113, 2, 64, 2, 76, 41,
+ 17, 12, 26, 228, 217, 2, 149, 2, 123, 73, 17, 12, 26, 64, 2, 234, 248, 2,
+ 76, 41, 17, 12, 26, 233, 225, 2, 149, 2, 64, 73, 17, 12, 26, 235, 113, 2,
+ 64, 2, 64, 41, 17, 12, 26, 233, 225, 2, 149, 2, 64, 41, 17, 12, 26, 228,
+ 217, 2, 149, 2, 123, 41, 17, 12, 26, 149, 2, 123, 2, 76, 41, 17, 12, 26,
+ 123, 2, 149, 2, 76, 41, 17, 12, 26, 64, 2, 149, 2, 76, 41, 17, 12, 26,
+ 244, 232, 2, 64, 2, 76, 41, 17, 12, 26, 252, 101, 2, 123, 2, 76, 41, 17,
+ 12, 26, 235, 113, 2, 64, 2, 64, 73, 17, 12, 26, 254, 232, 2, 149, 2, 64,
+ 73, 17, 12, 26, 222, 221, 2, 64, 2, 64, 73, 17, 12, 26, 222, 109, 2, 234,
+ 248, 2, 76, 41, 17, 12, 26, 228, 217, 2, 149, 2, 76, 41, 17, 12, 26, 222,
+ 199, 215, 108, 254, 24, 234, 124, 219, 84, 5, 49, 17, 12, 26, 225, 1,
+ 215, 108, 254, 24, 234, 124, 219, 84, 5, 49, 17, 12, 26, 254, 189, 49,
+ 17, 12, 26, 254, 218, 49, 17, 12, 26, 231, 37, 49, 17, 12, 26, 222, 200,
+ 49, 17, 12, 26, 224, 70, 49, 17, 12, 26, 254, 207, 49, 17, 12, 26, 214,
+ 36, 49, 17, 12, 26, 222, 199, 49, 17, 12, 26, 222, 198, 254, 207, 214,
+ 35, 12, 26, 235, 250, 223, 221, 53, 12, 26, 252, 22, 254, 80, 254, 81,
+ 44, 222, 99, 44, 221, 244, 44, 221, 176, 44, 221, 165, 44, 221, 154, 44,
+ 221, 143, 44, 221, 132, 44, 221, 121, 44, 221, 110, 44, 222, 98, 44, 222,
+ 87, 44, 222, 76, 44, 222, 65, 44, 222, 54, 44, 222, 43, 44, 222, 32, 225,
+ 110, 244, 109, 31, 66, 250, 23, 225, 110, 244, 109, 31, 66, 107, 250, 23,
+ 225, 110, 244, 109, 31, 66, 107, 244, 64, 219, 83, 225, 110, 244, 109,
+ 31, 66, 250, 30, 225, 110, 244, 109, 31, 66, 221, 93, 225, 110, 244, 109,
+ 31, 66, 245, 119, 79, 225, 110, 244, 109, 31, 66, 224, 193, 79, 225, 110,
+ 244, 109, 31, 66, 43, 69, 233, 142, 125, 225, 110, 244, 109, 31, 66, 47,
+ 69, 233, 142, 251, 208, 225, 110, 244, 109, 31, 66, 201, 245, 241, 38,
+ 26, 43, 242, 129, 38, 26, 47, 242, 129, 38, 52, 217, 56, 43, 242, 129,
+ 38, 52, 217, 56, 47, 242, 129, 38, 232, 111, 43, 242, 129, 38, 232, 111,
+ 47, 242, 129, 38, 250, 3, 232, 110, 225, 110, 244, 109, 31, 66, 119, 62,
+ 233, 178, 225, 110, 244, 109, 31, 66, 245, 239, 248, 223, 225, 110, 244,
+ 109, 31, 66, 245, 230, 248, 223, 225, 110, 244, 109, 31, 66, 117, 233,
+ 83, 225, 110, 244, 109, 31, 66, 214, 19, 117, 233, 83, 225, 110, 244,
+ 109, 31, 66, 43, 226, 168, 225, 110, 244, 109, 31, 66, 47, 226, 168, 225,
+ 110, 244, 109, 31, 66, 43, 249, 163, 125, 225, 110, 244, 109, 31, 66, 47,
+ 249, 163, 125, 225, 110, 244, 109, 31, 66, 43, 216, 232, 220, 254, 125,
+ 225, 110, 244, 109, 31, 66, 47, 216, 232, 220, 254, 125, 225, 110, 244,
+ 109, 31, 66, 43, 85, 233, 142, 125, 225, 110, 244, 109, 31, 66, 47, 85,
+ 233, 142, 125, 225, 110, 244, 109, 31, 66, 43, 52, 254, 146, 125, 225,
+ 110, 244, 109, 31, 66, 47, 52, 254, 146, 125, 225, 110, 244, 109, 31, 66,
+ 43, 254, 146, 125, 225, 110, 244, 109, 31, 66, 47, 254, 146, 125, 225,
+ 110, 244, 109, 31, 66, 43, 249, 223, 125, 225, 110, 244, 109, 31, 66, 47,
+ 249, 223, 125, 225, 110, 244, 109, 31, 66, 43, 69, 249, 223, 125, 225,
+ 110, 244, 109, 31, 66, 47, 69, 249, 223, 125, 221, 75, 247, 195, 69, 221,
+ 75, 247, 195, 225, 110, 244, 109, 31, 66, 43, 42, 125, 225, 110, 244,
+ 109, 31, 66, 47, 42, 125, 248, 222, 227, 25, 250, 229, 227, 25, 214, 19,
+ 227, 25, 52, 214, 19, 227, 25, 248, 222, 117, 233, 83, 250, 229, 117,
+ 233, 83, 214, 19, 117, 233, 83, 4, 250, 23, 4, 107, 250, 23, 4, 244, 64,
+ 219, 83, 4, 221, 93, 4, 250, 30, 4, 224, 193, 79, 4, 245, 119, 79, 4,
+ 245, 239, 248, 223, 4, 43, 226, 168, 4, 47, 226, 168, 4, 43, 249, 163,
+ 125, 4, 47, 249, 163, 125, 4, 43, 216, 232, 220, 254, 125, 4, 47, 216,
+ 232, 220, 254, 125, 4, 51, 53, 4, 254, 162, 4, 254, 3, 4, 95, 53, 4, 241,
+ 20, 4, 233, 137, 53, 4, 242, 228, 53, 4, 245, 182, 53, 4, 223, 237, 219,
+ 250, 4, 247, 207, 53, 4, 226, 93, 53, 4, 250, 22, 253, 249, 12, 244, 253,
+ 49, 17, 12, 218, 8, 2, 244, 253, 50, 12, 248, 250, 49, 17, 12, 218, 41,
+ 244, 91, 12, 235, 66, 49, 17, 12, 244, 255, 49, 17, 12, 244, 255, 144,
+ 17, 12, 248, 252, 49, 17, 12, 248, 252, 144, 17, 12, 235, 68, 49, 17, 12,
+ 235, 68, 144, 17, 12, 221, 39, 49, 17, 12, 221, 39, 144, 17, 12, 219, 5,
+ 49, 17, 12, 219, 5, 144, 17, 12, 1, 194, 49, 17, 12, 1, 108, 2, 232, 106,
+ 74, 49, 17, 12, 1, 108, 2, 232, 106, 74, 41, 17, 12, 1, 108, 2, 194, 74,
+ 49, 17, 12, 1, 108, 2, 194, 74, 41, 17, 12, 1, 214, 18, 2, 194, 74, 49,
+ 17, 12, 1, 214, 18, 2, 194, 74, 41, 17, 12, 1, 108, 2, 194, 252, 90, 49,
+ 17, 12, 1, 108, 2, 194, 252, 90, 41, 17, 12, 1, 76, 2, 194, 74, 49, 17,
+ 12, 1, 76, 2, 194, 74, 41, 17, 12, 1, 76, 2, 194, 74, 73, 17, 12, 1, 76,
+ 2, 194, 74, 144, 17, 12, 1, 108, 49, 17, 12, 1, 108, 41, 17, 12, 1, 252,
+ 101, 49, 17, 12, 1, 252, 101, 41, 17, 12, 1, 252, 101, 73, 17, 12, 1,
+ 252, 101, 144, 17, 12, 1, 217, 229, 232, 43, 49, 17, 12, 1, 217, 229,
+ 232, 43, 41, 17, 12, 1, 217, 229, 49, 17, 12, 1, 217, 229, 41, 17, 12, 1,
+ 217, 229, 73, 17, 12, 1, 217, 229, 144, 17, 12, 1, 217, 159, 49, 17, 12,
+ 1, 217, 159, 41, 17, 12, 1, 217, 159, 73, 17, 12, 1, 217, 159, 144, 17,
+ 12, 1, 149, 49, 17, 12, 1, 149, 41, 17, 12, 1, 149, 73, 17, 12, 1, 149,
+ 144, 17, 12, 1, 123, 49, 17, 12, 1, 123, 41, 17, 12, 1, 123, 73, 17, 12,
+ 1, 123, 144, 17, 12, 1, 234, 248, 49, 17, 12, 1, 234, 248, 41, 17, 12, 1,
+ 234, 248, 73, 17, 12, 1, 234, 248, 144, 17, 12, 1, 249, 7, 49, 17, 12, 1,
+ 249, 7, 41, 17, 12, 1, 217, 169, 49, 17, 12, 1, 217, 169, 41, 17, 12, 1,
+ 224, 24, 49, 17, 12, 1, 224, 24, 41, 17, 12, 1, 212, 102, 49, 17, 12, 1,
+ 212, 102, 41, 17, 12, 1, 222, 109, 49, 17, 12, 1, 222, 109, 41, 17, 12,
+ 1, 222, 109, 73, 17, 12, 1, 222, 109, 144, 17, 12, 1, 221, 5, 49, 17, 12,
+ 1, 221, 5, 41, 17, 12, 1, 221, 5, 73, 17, 12, 1, 221, 5, 144, 17, 12, 1,
+ 222, 221, 49, 17, 12, 1, 222, 221, 41, 17, 12, 1, 222, 221, 73, 17, 12,
+ 1, 222, 221, 144, 17, 12, 1, 249, 26, 49, 17, 12, 1, 249, 26, 41, 17, 12,
+ 1, 249, 26, 73, 17, 12, 1, 249, 26, 144, 17, 12, 1, 218, 44, 49, 17, 12,
+ 1, 218, 44, 41, 17, 12, 1, 218, 44, 73, 17, 12, 1, 218, 44, 144, 17, 12,
+ 1, 212, 105, 49, 17, 12, 1, 212, 105, 41, 17, 12, 1, 212, 105, 73, 17,
+ 12, 1, 212, 105, 144, 17, 12, 1, 254, 232, 49, 17, 12, 1, 254, 232, 41,
+ 17, 12, 1, 254, 232, 73, 17, 12, 1, 254, 232, 144, 17, 12, 1, 243, 85,
+ 49, 17, 12, 1, 243, 85, 41, 17, 12, 1, 243, 85, 73, 17, 12, 1, 243, 85,
+ 144, 17, 12, 1, 244, 232, 49, 17, 12, 1, 244, 232, 41, 17, 12, 1, 244,
+ 232, 73, 17, 12, 1, 244, 232, 144, 17, 12, 1, 225, 5, 49, 17, 12, 1, 225,
+ 5, 41, 17, 12, 1, 225, 5, 73, 17, 12, 1, 225, 5, 144, 17, 12, 1, 235,
+ 113, 49, 17, 12, 1, 235, 113, 41, 17, 12, 1, 235, 113, 73, 17, 12, 1,
+ 235, 113, 144, 17, 12, 1, 233, 225, 49, 17, 12, 1, 233, 225, 41, 17, 12,
+ 1, 233, 225, 73, 17, 12, 1, 233, 225, 144, 17, 12, 1, 64, 49, 17, 12, 1,
+ 64, 41, 17, 12, 1, 64, 73, 17, 12, 1, 64, 144, 17, 12, 1, 228, 217, 49,
+ 17, 12, 1, 228, 217, 41, 17, 12, 1, 228, 217, 73, 17, 12, 1, 228, 217,
+ 144, 17, 12, 1, 242, 66, 49, 17, 12, 1, 242, 66, 41, 17, 12, 1, 242, 66,
+ 73, 17, 12, 1, 242, 66, 144, 17, 12, 1, 214, 18, 49, 17, 12, 1, 214, 18,
+ 41, 17, 12, 1, 108, 232, 71, 49, 17, 12, 1, 108, 232, 71, 41, 17, 12, 1,
+ 76, 49, 17, 12, 1, 76, 41, 17, 12, 1, 76, 73, 17, 12, 1, 76, 144, 17, 12,
+ 26, 233, 225, 2, 108, 2, 232, 106, 74, 49, 17, 12, 26, 233, 225, 2, 108,
+ 2, 232, 106, 74, 41, 17, 12, 26, 233, 225, 2, 108, 2, 194, 74, 49, 17,
+ 12, 26, 233, 225, 2, 108, 2, 194, 74, 41, 17, 12, 26, 233, 225, 2, 108,
+ 2, 194, 252, 90, 49, 17, 12, 26, 233, 225, 2, 108, 2, 194, 252, 90, 41,
+ 17, 12, 26, 233, 225, 2, 108, 49, 17, 12, 26, 233, 225, 2, 108, 41, 17,
+ 212, 80, 213, 233, 228, 227, 219, 225, 122, 245, 119, 79, 122, 224, 178,
+ 79, 122, 51, 53, 122, 247, 207, 53, 122, 226, 93, 53, 122, 254, 162, 122,
+ 254, 97, 122, 43, 226, 168, 122, 47, 226, 168, 122, 254, 3, 122, 95, 53,
+ 122, 250, 23, 122, 241, 20, 122, 244, 64, 219, 83, 122, 219, 250, 122,
+ 21, 212, 79, 122, 21, 118, 122, 21, 112, 122, 21, 170, 122, 21, 167, 122,
+ 21, 185, 122, 21, 192, 122, 21, 200, 122, 21, 198, 122, 21, 203, 122,
+ 250, 30, 122, 221, 93, 122, 233, 137, 53, 122, 245, 182, 53, 122, 242,
+ 228, 53, 122, 224, 193, 79, 122, 250, 22, 253, 249, 122, 7, 6, 1, 63,
+ 122, 7, 6, 1, 253, 201, 122, 7, 6, 1, 251, 121, 122, 7, 6, 1, 249, 125,
+ 122, 7, 6, 1, 77, 122, 7, 6, 1, 245, 95, 122, 7, 6, 1, 244, 41, 122, 7,
+ 6, 1, 242, 162, 122, 7, 6, 1, 75, 122, 7, 6, 1, 236, 3, 122, 7, 6, 1,
+ 235, 141, 122, 7, 6, 1, 155, 122, 7, 6, 1, 184, 122, 7, 6, 1, 206, 122,
+ 7, 6, 1, 78, 122, 7, 6, 1, 227, 11, 122, 7, 6, 1, 225, 19, 122, 7, 6, 1,
+ 152, 122, 7, 6, 1, 196, 122, 7, 6, 1, 218, 113, 122, 7, 6, 1, 72, 122, 7,
+ 6, 1, 211, 211, 122, 7, 6, 1, 214, 85, 122, 7, 6, 1, 213, 169, 122, 7, 6,
+ 1, 213, 108, 122, 7, 6, 1, 212, 152, 122, 43, 42, 125, 122, 223, 237,
+ 219, 250, 122, 47, 42, 125, 122, 250, 91, 255, 46, 122, 117, 233, 83,
+ 122, 242, 234, 255, 46, 122, 7, 4, 1, 63, 122, 7, 4, 1, 253, 201, 122, 7,
+ 4, 1, 251, 121, 122, 7, 4, 1, 249, 125, 122, 7, 4, 1, 77, 122, 7, 4, 1,
+ 245, 95, 122, 7, 4, 1, 244, 41, 122, 7, 4, 1, 242, 162, 122, 7, 4, 1, 75,
+ 122, 7, 4, 1, 236, 3, 122, 7, 4, 1, 235, 141, 122, 7, 4, 1, 155, 122, 7,
+ 4, 1, 184, 122, 7, 4, 1, 206, 122, 7, 4, 1, 78, 122, 7, 4, 1, 227, 11,
+ 122, 7, 4, 1, 225, 19, 122, 7, 4, 1, 152, 122, 7, 4, 1, 196, 122, 7, 4,
+ 1, 218, 113, 122, 7, 4, 1, 72, 122, 7, 4, 1, 211, 211, 122, 7, 4, 1, 214,
+ 85, 122, 7, 4, 1, 213, 169, 122, 7, 4, 1, 213, 108, 122, 7, 4, 1, 212,
+ 152, 122, 43, 249, 163, 125, 122, 66, 233, 83, 122, 47, 249, 163, 125,
+ 122, 177, 122, 43, 69, 226, 168, 122, 47, 69, 226, 168, 100, 107, 244,
+ 64, 219, 83, 100, 43, 249, 223, 125, 100, 47, 249, 223, 125, 100, 107,
+ 250, 23, 100, 56, 231, 107, 247, 195, 100, 56, 1, 213, 217, 100, 56, 1,
+ 4, 63, 100, 56, 1, 4, 75, 100, 56, 1, 4, 72, 100, 56, 1, 4, 77, 100, 56,
+ 1, 4, 78, 100, 56, 1, 4, 189, 100, 56, 1, 4, 212, 204, 100, 56, 1, 4,
+ 212, 236, 100, 56, 1, 4, 216, 90, 100, 235, 63, 225, 93, 219, 237, 79,
+ 100, 56, 1, 63, 100, 56, 1, 75, 100, 56, 1, 72, 100, 56, 1, 77, 100, 56,
+ 1, 78, 100, 56, 1, 183, 100, 56, 1, 234, 212, 100, 56, 1, 234, 81, 100,
+ 56, 1, 235, 44, 100, 56, 1, 234, 148, 100, 56, 1, 222, 227, 100, 56, 1,
+ 220, 136, 100, 56, 1, 219, 41, 100, 56, 1, 222, 123, 100, 56, 1, 220, 5,
+ 100, 56, 1, 218, 66, 100, 56, 1, 217, 84, 100, 56, 1, 216, 90, 100, 56,
+ 1, 217, 242, 100, 56, 1, 109, 100, 56, 1, 207, 100, 56, 1, 229, 128, 100,
+ 56, 1, 228, 135, 100, 56, 1, 229, 254, 100, 56, 1, 228, 228, 100, 56, 1,
+ 162, 100, 56, 1, 242, 28, 100, 56, 1, 241, 74, 100, 56, 1, 242, 85, 100,
+ 56, 1, 241, 173, 100, 56, 1, 191, 100, 56, 1, 231, 112, 100, 56, 1, 230,
+ 242, 100, 56, 1, 231, 226, 100, 56, 1, 231, 45, 100, 56, 1, 189, 100, 56,
+ 1, 212, 204, 100, 56, 1, 212, 236, 100, 56, 1, 208, 100, 56, 1, 223, 222,
+ 100, 56, 1, 223, 77, 100, 56, 1, 224, 55, 100, 56, 1, 223, 146, 100, 56,
+ 1, 214, 52, 100, 56, 1, 206, 100, 56, 214, 120, 219, 237, 79, 100, 56,
+ 221, 98, 219, 237, 79, 100, 24, 244, 192, 100, 24, 1, 234, 178, 100, 24,
+ 1, 219, 168, 100, 24, 1, 234, 171, 100, 24, 1, 229, 121, 100, 24, 1, 229,
+ 119, 100, 24, 1, 229, 118, 100, 24, 1, 217, 68, 100, 24, 1, 219, 157,
+ 100, 24, 1, 223, 213, 100, 24, 1, 223, 208, 100, 24, 1, 223, 205, 100,
+ 24, 1, 223, 198, 100, 24, 1, 223, 193, 100, 24, 1, 223, 188, 100, 24, 1,
+ 223, 199, 100, 24, 1, 223, 211, 100, 24, 1, 231, 100, 100, 24, 1, 226, 7,
+ 100, 24, 1, 219, 165, 100, 24, 1, 225, 252, 100, 24, 1, 220, 95, 100, 24,
+ 1, 219, 162, 100, 24, 1, 236, 168, 100, 24, 1, 250, 106, 100, 24, 1, 219,
+ 172, 100, 24, 1, 250, 166, 100, 24, 1, 234, 228, 100, 24, 1, 217, 139,
+ 100, 24, 1, 226, 43, 100, 24, 1, 242, 21, 100, 24, 1, 63, 100, 24, 1,
+ 255, 20, 100, 24, 1, 189, 100, 24, 1, 213, 83, 100, 24, 1, 245, 197, 100,
+ 24, 1, 77, 100, 24, 1, 213, 28, 100, 24, 1, 213, 39, 100, 24, 1, 78, 100,
+ 24, 1, 214, 52, 100, 24, 1, 214, 49, 100, 24, 1, 227, 136, 100, 24, 1,
+ 212, 236, 100, 24, 1, 72, 100, 24, 1, 213, 255, 100, 24, 1, 214, 9, 100,
+ 24, 1, 213, 238, 100, 24, 1, 212, 204, 100, 24, 1, 245, 143, 100, 24, 1,
+ 213, 0, 100, 24, 1, 75, 122, 250, 233, 53, 122, 225, 144, 53, 122, 228,
+ 206, 53, 122, 232, 110, 122, 251, 188, 134, 122, 213, 32, 53, 122, 213,
+ 207, 53, 100, 244, 107, 182, 214, 221, 100, 135, 71, 100, 215, 130, 71,
+ 100, 96, 71, 100, 246, 179, 71, 100, 85, 219, 185, 100, 69, 250, 95, 236,
+ 62, 254, 137, 254, 156, 236, 62, 254, 137, 221, 80, 236, 62, 254, 137,
+ 217, 202, 227, 150, 224, 2, 250, 201, 224, 2, 250, 201, 60, 57, 3, 253,
+ 185, 63, 60, 57, 3, 253, 154, 77, 60, 57, 3, 253, 163, 75, 60, 57, 3,
+ 253, 131, 78, 60, 57, 3, 253, 181, 72, 60, 57, 3, 253, 200, 249, 30, 60,
+ 57, 3, 253, 147, 248, 162, 60, 57, 3, 253, 187, 248, 76, 60, 57, 3, 253,
+ 177, 247, 220, 60, 57, 3, 253, 141, 246, 154, 60, 57, 3, 253, 135, 236,
+ 0, 60, 57, 3, 253, 146, 235, 242, 60, 57, 3, 253, 156, 235, 185, 60, 57,
+ 3, 253, 127, 235, 168, 60, 57, 3, 253, 115, 183, 60, 57, 3, 253, 148,
+ 235, 44, 60, 57, 3, 253, 125, 234, 212, 60, 57, 3, 253, 122, 234, 148,
+ 60, 57, 3, 253, 111, 234, 81, 60, 57, 3, 253, 112, 191, 60, 57, 3, 253,
+ 178, 231, 226, 60, 57, 3, 253, 119, 231, 112, 60, 57, 3, 253, 176, 231,
+ 45, 60, 57, 3, 253, 168, 230, 242, 60, 57, 3, 253, 189, 207, 60, 57, 3,
+ 253, 167, 229, 254, 60, 57, 3, 253, 161, 229, 128, 60, 57, 3, 253, 140,
+ 228, 228, 60, 57, 3, 253, 137, 228, 135, 60, 57, 3, 253, 196, 195, 60,
+ 57, 3, 253, 120, 226, 132, 60, 57, 3, 253, 153, 226, 20, 60, 57, 3, 253,
+ 180, 225, 186, 60, 57, 3, 253, 142, 225, 71, 60, 57, 3, 253, 175, 225,
+ 11, 60, 57, 3, 253, 114, 224, 248, 60, 57, 3, 253, 170, 224, 233, 60, 57,
+ 3, 253, 159, 224, 222, 60, 57, 3, 253, 132, 208, 60, 57, 3, 253, 164,
+ 224, 55, 60, 57, 3, 253, 139, 223, 222, 60, 57, 3, 253, 198, 223, 146,
+ 60, 57, 3, 253, 165, 223, 77, 60, 57, 3, 253, 160, 222, 227, 60, 57, 3,
+ 253, 183, 222, 123, 60, 57, 3, 253, 151, 220, 136, 60, 57, 3, 253, 179,
+ 220, 5, 60, 57, 3, 253, 134, 219, 41, 60, 57, 3, 253, 133, 218, 66, 60,
+ 57, 3, 253, 194, 217, 242, 60, 57, 3, 253, 155, 217, 84, 60, 57, 3, 253,
+ 192, 109, 60, 57, 3, 253, 123, 216, 90, 60, 57, 3, 253, 138, 214, 52, 60,
+ 57, 3, 253, 117, 214, 9, 60, 57, 3, 253, 152, 213, 238, 60, 57, 3, 253,
+ 150, 213, 217, 60, 57, 3, 253, 174, 212, 109, 60, 57, 3, 253, 118, 212,
+ 87, 60, 57, 3, 253, 171, 212, 16, 60, 57, 3, 253, 166, 255, 106, 60, 57,
+ 3, 253, 149, 255, 105, 60, 57, 3, 253, 108, 253, 235, 60, 57, 3, 253,
+ 121, 246, 122, 60, 57, 3, 253, 104, 246, 121, 60, 57, 3, 253, 144, 228,
+ 73, 60, 57, 3, 253, 162, 225, 70, 60, 57, 3, 253, 130, 225, 73, 60, 57,
+ 3, 253, 116, 224, 111, 60, 57, 3, 253, 158, 224, 110, 60, 57, 3, 253,
+ 124, 223, 145, 60, 57, 3, 253, 126, 218, 64, 60, 57, 3, 253, 106, 216,
+ 50, 60, 57, 3, 253, 103, 112, 60, 57, 16, 253, 173, 60, 57, 16, 253, 172,
+ 60, 57, 16, 253, 169, 60, 57, 16, 253, 157, 60, 57, 16, 253, 145, 60, 57,
+ 16, 253, 143, 60, 57, 16, 253, 136, 60, 57, 16, 253, 129, 60, 57, 16,
+ 253, 128, 60, 57, 16, 253, 113, 60, 57, 16, 253, 110, 60, 57, 16, 253,
+ 109, 60, 57, 16, 253, 107, 60, 57, 16, 253, 105, 60, 57, 104, 253, 102,
+ 232, 63, 60, 57, 104, 253, 101, 213, 211, 60, 57, 104, 253, 100, 248,
+ 146, 60, 57, 104, 253, 99, 245, 179, 60, 57, 104, 253, 98, 232, 37, 60,
+ 57, 104, 253, 97, 219, 115, 60, 57, 104, 253, 96, 245, 125, 60, 57, 104,
+ 253, 95, 224, 80, 60, 57, 104, 253, 94, 221, 7, 60, 57, 104, 253, 93,
+ 242, 84, 60, 57, 104, 253, 92, 219, 231, 60, 57, 104, 253, 91, 251, 251,
+ 60, 57, 104, 253, 90, 249, 207, 60, 57, 104, 253, 89, 251, 169, 60, 57,
+ 104, 253, 88, 213, 246, 60, 57, 104, 253, 87, 252, 182, 60, 57, 104, 253,
+ 86, 227, 108, 60, 57, 104, 253, 85, 219, 205, 60, 57, 104, 253, 84, 249,
+ 133, 60, 57, 231, 26, 253, 83, 235, 86, 60, 57, 231, 26, 253, 82, 235,
+ 94, 60, 57, 104, 253, 81, 227, 121, 60, 57, 104, 253, 80, 213, 224, 60,
+ 57, 104, 253, 79, 60, 57, 231, 26, 253, 78, 254, 59, 60, 57, 231, 26,
+ 253, 77, 231, 186, 60, 57, 104, 253, 76, 251, 187, 60, 57, 104, 253, 75,
+ 243, 6, 60, 57, 104, 253, 74, 60, 57, 104, 253, 73, 213, 202, 60, 57,
+ 104, 253, 72, 60, 57, 104, 253, 71, 60, 57, 104, 253, 70, 241, 97, 60,
+ 57, 104, 253, 69, 60, 57, 104, 253, 68, 60, 57, 104, 253, 67, 60, 57,
+ 231, 26, 253, 65, 216, 64, 60, 57, 104, 253, 64, 60, 57, 104, 253, 63,
+ 60, 57, 104, 253, 62, 250, 54, 60, 57, 104, 253, 61, 60, 57, 104, 253,
+ 60, 60, 57, 104, 253, 59, 243, 189, 60, 57, 104, 253, 58, 254, 46, 60,
+ 57, 104, 253, 57, 60, 57, 104, 253, 56, 60, 57, 104, 253, 55, 60, 57,
+ 104, 253, 54, 60, 57, 104, 253, 53, 60, 57, 104, 253, 52, 60, 57, 104,
+ 253, 51, 60, 57, 104, 253, 50, 60, 57, 104, 253, 49, 60, 57, 104, 253,
+ 48, 231, 18, 60, 57, 104, 253, 47, 60, 57, 104, 253, 46, 216, 206, 60,
+ 57, 104, 253, 45, 60, 57, 104, 253, 44, 60, 57, 104, 253, 43, 60, 57,
+ 104, 253, 42, 60, 57, 104, 253, 41, 60, 57, 104, 253, 40, 60, 57, 104,
+ 253, 39, 60, 57, 104, 253, 38, 60, 57, 104, 253, 37, 60, 57, 104, 253,
+ 36, 60, 57, 104, 253, 35, 60, 57, 104, 253, 34, 242, 58, 60, 57, 104,
+ 253, 13, 244, 117, 60, 57, 104, 253, 10, 252, 162, 60, 57, 104, 253, 5,
+ 219, 212, 60, 57, 104, 253, 4, 71, 60, 57, 104, 253, 3, 60, 57, 104, 253,
+ 2, 218, 195, 60, 57, 104, 253, 1, 60, 57, 104, 253, 0, 60, 57, 104, 252,
+ 255, 213, 242, 250, 198, 60, 57, 104, 252, 254, 250, 198, 60, 57, 104,
+ 252, 253, 250, 199, 244, 89, 60, 57, 104, 252, 252, 213, 244, 60, 57,
+ 104, 252, 251, 60, 57, 104, 252, 250, 60, 57, 231, 26, 252, 249, 248, 15,
+ 60, 57, 104, 252, 248, 60, 57, 104, 252, 247, 60, 57, 104, 252, 245, 60,
+ 57, 104, 252, 244, 60, 57, 104, 252, 243, 60, 57, 104, 252, 242, 248,
+ 226, 60, 57, 104, 252, 241, 60, 57, 104, 252, 240, 60, 57, 104, 252, 239,
+ 60, 57, 104, 252, 238, 60, 57, 104, 252, 237, 60, 57, 104, 214, 168, 253,
+ 66, 60, 57, 104, 214, 168, 253, 33, 60, 57, 104, 214, 168, 253, 32, 60,
+ 57, 104, 214, 168, 253, 31, 60, 57, 104, 214, 168, 253, 30, 60, 57, 104,
+ 214, 168, 253, 29, 60, 57, 104, 214, 168, 253, 28, 60, 57, 104, 214, 168,
+ 253, 27, 60, 57, 104, 214, 168, 253, 26, 60, 57, 104, 214, 168, 253, 25,
+ 60, 57, 104, 214, 168, 253, 24, 60, 57, 104, 214, 168, 253, 23, 60, 57,
+ 104, 214, 168, 253, 22, 60, 57, 104, 214, 168, 253, 21, 60, 57, 104, 214,
+ 168, 253, 20, 60, 57, 104, 214, 168, 253, 19, 60, 57, 104, 214, 168, 253,
+ 18, 60, 57, 104, 214, 168, 253, 17, 60, 57, 104, 214, 168, 253, 16, 60,
+ 57, 104, 214, 168, 253, 15, 60, 57, 104, 214, 168, 253, 14, 60, 57, 104,
+ 214, 168, 253, 12, 60, 57, 104, 214, 168, 253, 11, 60, 57, 104, 214, 168,
+ 253, 9, 60, 57, 104, 214, 168, 253, 8, 60, 57, 104, 214, 168, 253, 7, 60,
+ 57, 104, 214, 168, 253, 6, 60, 57, 104, 214, 168, 252, 246, 60, 57, 104,
+ 214, 168, 252, 236, 255, 13, 213, 199, 221, 81, 233, 83, 255, 13, 213,
+ 199, 221, 81, 247, 195, 255, 13, 250, 189, 79, 255, 13, 51, 118, 255, 13,
+ 51, 112, 255, 13, 51, 170, 255, 13, 51, 167, 255, 13, 51, 185, 255, 13,
+ 51, 192, 255, 13, 51, 200, 255, 13, 51, 198, 255, 13, 51, 203, 255, 13,
+ 51, 217, 213, 255, 13, 51, 216, 45, 255, 13, 51, 217, 128, 255, 13, 51,
+ 244, 104, 255, 13, 51, 244, 203, 255, 13, 51, 220, 58, 255, 13, 51, 221,
+ 60, 255, 13, 51, 246, 6, 255, 13, 51, 229, 90, 255, 13, 51, 124, 241, 62,
+ 255, 13, 51, 119, 241, 62, 255, 13, 51, 137, 241, 62, 255, 13, 51, 244,
+ 101, 241, 62, 255, 13, 51, 244, 170, 241, 62, 255, 13, 51, 220, 72, 241,
+ 62, 255, 13, 51, 221, 66, 241, 62, 255, 13, 51, 246, 15, 241, 62, 255,
+ 13, 51, 229, 95, 241, 62, 255, 13, 51, 124, 217, 113, 255, 13, 51, 119,
+ 217, 113, 255, 13, 51, 137, 217, 113, 255, 13, 51, 244, 101, 217, 113,
+ 255, 13, 51, 244, 170, 217, 113, 255, 13, 51, 220, 72, 217, 113, 255, 13,
+ 51, 221, 66, 217, 113, 255, 13, 51, 246, 15, 217, 113, 255, 13, 51, 229,
+ 95, 217, 113, 255, 13, 51, 217, 214, 217, 113, 255, 13, 51, 216, 46, 217,
+ 113, 255, 13, 51, 217, 129, 217, 113, 255, 13, 51, 244, 105, 217, 113,
+ 255, 13, 51, 244, 204, 217, 113, 255, 13, 51, 220, 59, 217, 113, 255, 13,
+ 51, 221, 61, 217, 113, 255, 13, 51, 246, 7, 217, 113, 255, 13, 51, 229,
+ 91, 217, 113, 255, 13, 214, 2, 252, 174, 215, 150, 255, 13, 214, 2, 244,
+ 181, 219, 18, 255, 13, 214, 2, 222, 118, 219, 18, 255, 13, 214, 2, 217,
+ 135, 219, 18, 255, 13, 214, 2, 244, 94, 219, 18, 255, 13, 246, 157, 231,
+ 225, 244, 181, 219, 18, 255, 13, 233, 69, 231, 225, 244, 181, 219, 18,
+ 255, 13, 231, 225, 222, 118, 219, 18, 255, 13, 231, 225, 217, 135, 219,
+ 18, 25, 255, 39, 253, 237, 124, 224, 201, 25, 255, 39, 253, 237, 124,
+ 242, 129, 25, 255, 39, 253, 237, 124, 246, 175, 25, 255, 39, 253, 237,
+ 185, 25, 255, 39, 253, 237, 244, 203, 25, 255, 39, 253, 237, 244, 170,
+ 241, 62, 25, 255, 39, 253, 237, 244, 170, 217, 113, 25, 255, 39, 253,
+ 237, 244, 204, 217, 113, 25, 255, 39, 253, 237, 244, 170, 218, 31, 25,
+ 255, 39, 253, 237, 217, 214, 218, 31, 25, 255, 39, 253, 237, 244, 204,
+ 218, 31, 25, 255, 39, 253, 237, 124, 241, 63, 218, 31, 25, 255, 39, 253,
+ 237, 244, 170, 241, 63, 218, 31, 25, 255, 39, 253, 237, 124, 217, 114,
+ 218, 31, 25, 255, 39, 253, 237, 244, 170, 217, 114, 218, 31, 25, 255, 39,
+ 253, 237, 244, 170, 219, 104, 25, 255, 39, 253, 237, 217, 214, 219, 104,
+ 25, 255, 39, 253, 237, 244, 204, 219, 104, 25, 255, 39, 253, 237, 124,
+ 241, 63, 219, 104, 25, 255, 39, 253, 237, 244, 170, 241, 63, 219, 104,
+ 25, 255, 39, 253, 237, 124, 217, 114, 219, 104, 25, 255, 39, 253, 237,
+ 217, 214, 217, 114, 219, 104, 25, 255, 39, 253, 237, 244, 204, 217, 114,
+ 219, 104, 25, 255, 39, 253, 237, 217, 214, 231, 48, 25, 255, 39, 242, 52,
+ 124, 225, 200, 25, 255, 39, 217, 147, 118, 25, 255, 39, 242, 49, 118, 25,
+ 255, 39, 245, 188, 112, 25, 255, 39, 217, 147, 112, 25, 255, 39, 249,
+ 130, 119, 246, 174, 25, 255, 39, 245, 188, 119, 246, 174, 25, 255, 39,
+ 216, 174, 185, 25, 255, 39, 216, 174, 217, 213, 25, 255, 39, 216, 174,
+ 217, 214, 254, 177, 17, 25, 255, 39, 242, 49, 217, 213, 25, 255, 39, 231,
+ 178, 217, 213, 25, 255, 39, 217, 147, 217, 213, 25, 255, 39, 217, 147,
+ 217, 128, 25, 255, 39, 216, 174, 244, 203, 25, 255, 39, 216, 174, 244,
+ 204, 254, 177, 17, 25, 255, 39, 242, 49, 244, 203, 25, 255, 39, 217, 147,
+ 244, 203, 25, 255, 39, 217, 147, 124, 241, 62, 25, 255, 39, 217, 147,
+ 137, 241, 62, 25, 255, 39, 245, 188, 244, 170, 241, 62, 25, 255, 39, 216,
+ 174, 244, 170, 241, 62, 25, 255, 39, 217, 147, 244, 170, 241, 62, 25,
+ 255, 39, 251, 27, 244, 170, 241, 62, 25, 255, 39, 230, 71, 244, 170, 241,
+ 62, 25, 255, 39, 217, 147, 124, 217, 113, 25, 255, 39, 217, 147, 244,
+ 170, 217, 113, 25, 255, 39, 248, 129, 244, 170, 231, 48, 25, 255, 39,
+ 219, 72, 244, 204, 231, 48, 25, 124, 157, 53, 25, 124, 157, 5, 254, 177,
+ 17, 25, 119, 217, 133, 53, 25, 137, 224, 200, 53, 25, 213, 37, 53, 25,
+ 218, 32, 53, 25, 246, 176, 53, 25, 227, 147, 53, 25, 119, 227, 146, 53,
+ 25, 137, 227, 146, 53, 25, 244, 101, 227, 146, 53, 25, 244, 170, 227,
+ 146, 53, 25, 231, 172, 53, 25, 234, 21, 252, 174, 53, 25, 233, 64, 53,
+ 25, 227, 37, 53, 25, 213, 150, 53, 25, 254, 29, 53, 25, 254, 42, 53, 25,
+ 242, 240, 53, 25, 216, 157, 252, 174, 53, 25, 212, 80, 53, 223, 134, 221,
+ 57, 53, 223, 134, 215, 161, 53, 223, 134, 221, 85, 53, 223, 134, 221, 55,
+ 53, 223, 134, 248, 30, 221, 55, 53, 223, 134, 220, 113, 53, 223, 134,
+ 248, 125, 53, 223, 134, 224, 186, 53, 223, 134, 221, 73, 53, 223, 134,
+ 246, 136, 53, 223, 134, 254, 24, 53, 223, 134, 250, 228, 53, 226, 55,
+ 248, 8, 5, 226, 124, 226, 55, 248, 8, 5, 225, 194, 242, 82, 226, 55, 248,
+ 8, 5, 218, 9, 242, 82, 226, 55, 248, 8, 5, 251, 47, 226, 55, 248, 8, 5,
+ 250, 161, 226, 55, 248, 8, 5, 213, 211, 226, 55, 248, 8, 5, 242, 58, 226,
+ 55, 248, 8, 5, 243, 181, 226, 55, 248, 8, 5, 217, 83, 226, 55, 248, 8, 5,
+ 71, 226, 55, 248, 8, 5, 251, 220, 226, 55, 248, 8, 5, 220, 230, 226, 55,
+ 248, 8, 5, 250, 48, 226, 55, 248, 8, 5, 232, 62, 226, 55, 248, 8, 5, 232,
+ 14, 226, 55, 248, 8, 5, 222, 157, 226, 55, 248, 8, 5, 233, 107, 226, 55,
+ 248, 8, 5, 251, 238, 226, 55, 248, 8, 5, 251, 31, 225, 203, 226, 55, 248,
+ 8, 5, 247, 208, 226, 55, 248, 8, 5, 250, 27, 226, 55, 248, 8, 5, 220, 34,
+ 226, 55, 248, 8, 5, 250, 28, 226, 55, 248, 8, 5, 252, 109, 226, 55, 248,
+ 8, 5, 220, 217, 226, 55, 248, 8, 5, 241, 97, 226, 55, 248, 8, 5, 242, 26,
+ 226, 55, 248, 8, 5, 251, 166, 233, 158, 226, 55, 248, 8, 5, 251, 24, 226,
+ 55, 248, 8, 5, 224, 80, 226, 55, 248, 8, 5, 246, 51, 226, 55, 248, 8, 5,
+ 246, 182, 226, 55, 248, 8, 5, 216, 77, 226, 55, 248, 8, 5, 252, 112, 226,
+ 55, 248, 8, 5, 225, 204, 216, 206, 226, 55, 248, 8, 5, 214, 144, 226, 55,
+ 248, 8, 5, 226, 183, 226, 55, 248, 8, 5, 223, 126, 226, 55, 248, 8, 5,
+ 233, 94, 226, 55, 248, 8, 5, 227, 21, 252, 228, 226, 55, 248, 8, 5, 244,
+ 137, 226, 55, 248, 8, 5, 242, 235, 226, 55, 248, 8, 5, 219, 73, 226, 55,
+ 248, 8, 5, 4, 253, 211, 226, 55, 248, 8, 5, 214, 19, 252, 194, 226, 55,
+ 248, 8, 5, 38, 227, 149, 91, 232, 193, 1, 63, 232, 193, 1, 77, 232, 193,
+ 1, 253, 201, 232, 193, 1, 252, 66, 232, 193, 1, 244, 41, 232, 193, 1,
+ 249, 125, 232, 193, 1, 75, 232, 193, 1, 214, 85, 232, 193, 1, 212, 152,
+ 232, 193, 1, 217, 176, 232, 193, 1, 236, 3, 232, 193, 1, 235, 141, 232,
+ 193, 1, 225, 19, 232, 193, 1, 155, 232, 193, 1, 184, 232, 193, 1, 206,
+ 232, 193, 1, 231, 49, 232, 193, 1, 229, 7, 232, 193, 1, 72, 232, 193, 1,
+ 227, 11, 232, 193, 1, 234, 167, 232, 193, 1, 152, 232, 193, 1, 196, 232,
+ 193, 1, 218, 113, 232, 193, 1, 216, 131, 232, 193, 1, 254, 159, 232, 193,
+ 1, 245, 229, 232, 193, 1, 242, 162, 232, 193, 1, 213, 169, 251, 37, 1,
+ 63, 251, 37, 1, 226, 253, 251, 37, 1, 249, 125, 251, 37, 1, 155, 251, 37,
+ 1, 215, 96, 251, 37, 1, 152, 251, 37, 1, 233, 184, 251, 37, 1, 255, 106,
+ 251, 37, 1, 225, 19, 251, 37, 1, 253, 201, 251, 37, 1, 184, 251, 37, 1,
+ 78, 251, 37, 1, 249, 32, 251, 37, 1, 218, 113, 251, 37, 1, 221, 49, 251,
+ 37, 1, 221, 48, 251, 37, 1, 196, 251, 37, 1, 251, 120, 251, 37, 1, 72,
+ 251, 37, 1, 229, 7, 251, 37, 1, 213, 169, 251, 37, 1, 206, 251, 37, 1,
+ 216, 130, 251, 37, 1, 227, 11, 251, 37, 1, 219, 177, 251, 37, 1, 75, 251,
+ 37, 1, 77, 251, 37, 1, 215, 93, 251, 37, 1, 235, 141, 251, 37, 1, 235,
+ 132, 251, 37, 1, 230, 41, 251, 37, 1, 215, 98, 251, 37, 1, 244, 41, 251,
+ 37, 1, 243, 232, 251, 37, 1, 219, 121, 251, 37, 1, 219, 120, 251, 37, 1,
+ 229, 228, 251, 37, 1, 236, 145, 251, 37, 1, 251, 119, 251, 37, 1, 216,
+ 131, 251, 37, 1, 215, 95, 251, 37, 1, 223, 116, 251, 37, 1, 232, 6, 251,
+ 37, 1, 232, 5, 251, 37, 1, 232, 4, 251, 37, 1, 232, 3, 251, 37, 1, 233,
+ 183, 251, 37, 1, 246, 55, 251, 37, 1, 215, 94, 54, 32, 1, 63, 54, 32, 1,
+ 252, 121, 54, 32, 1, 235, 44, 54, 32, 1, 248, 162, 54, 32, 1, 77, 54, 32,
+ 1, 214, 237, 54, 32, 1, 212, 87, 54, 32, 1, 242, 85, 54, 32, 1, 217, 161,
+ 54, 32, 1, 75, 54, 32, 1, 183, 54, 32, 1, 245, 252, 54, 32, 1, 245, 238,
+ 54, 32, 1, 245, 229, 54, 32, 1, 245, 161, 54, 32, 1, 78, 54, 32, 1, 226,
+ 132, 54, 32, 1, 221, 8, 54, 32, 1, 234, 81, 54, 32, 1, 245, 176, 54, 32,
+ 1, 245, 166, 54, 32, 1, 217, 242, 54, 32, 1, 72, 54, 32, 1, 245, 255, 54,
+ 32, 1, 226, 48, 54, 32, 1, 234, 237, 54, 32, 1, 246, 24, 54, 32, 1, 245,
+ 168, 54, 32, 1, 250, 190, 54, 32, 1, 236, 145, 54, 32, 1, 215, 98, 54,
+ 32, 228, 97, 118, 54, 32, 228, 97, 185, 54, 32, 228, 97, 217, 213, 54,
+ 32, 228, 97, 244, 203, 242, 249, 1, 254, 239, 242, 249, 1, 252, 209, 242,
+ 249, 1, 243, 51, 242, 249, 1, 249, 14, 242, 249, 1, 254, 235, 242, 249,
+ 1, 225, 2, 242, 249, 1, 236, 14, 242, 249, 1, 242, 141, 242, 249, 1, 217,
+ 124, 242, 249, 1, 246, 5, 242, 249, 1, 234, 54, 242, 249, 1, 233, 234,
+ 242, 249, 1, 232, 57, 242, 249, 1, 230, 73, 242, 249, 1, 235, 235, 242,
+ 249, 1, 215, 113, 242, 249, 1, 226, 233, 242, 249, 1, 229, 90, 242, 249,
+ 1, 224, 91, 242, 249, 1, 222, 159, 242, 249, 1, 217, 225, 242, 249, 1,
+ 213, 222, 242, 249, 1, 245, 11, 242, 249, 1, 236, 149, 242, 249, 1, 241,
+ 52, 242, 249, 1, 227, 45, 242, 249, 1, 229, 95, 241, 62, 215, 185, 1,
+ 254, 183, 215, 185, 1, 252, 73, 215, 185, 1, 243, 204, 215, 185, 1, 234,
+ 250, 215, 185, 1, 248, 126, 215, 185, 1, 241, 173, 215, 185, 1, 213, 217,
+ 215, 185, 1, 212, 78, 215, 185, 1, 241, 90, 215, 185, 1, 217, 196, 215,
+ 185, 1, 212, 225, 215, 185, 1, 235, 112, 215, 185, 1, 220, 221, 215, 185,
+ 1, 233, 220, 215, 185, 1, 231, 199, 215, 185, 1, 248, 94, 215, 185, 1,
+ 228, 93, 215, 185, 1, 212, 8, 215, 185, 1, 222, 187, 215, 185, 1, 254,
+ 231, 215, 185, 1, 225, 71, 215, 185, 1, 222, 219, 215, 185, 1, 224, 215,
+ 215, 185, 1, 224, 71, 215, 185, 1, 217, 165, 215, 185, 1, 243, 84, 215,
+ 185, 1, 109, 215, 185, 1, 75, 215, 185, 1, 72, 215, 185, 1, 219, 132,
+ 215, 185, 213, 199, 247, 245, 54, 226, 81, 5, 63, 54, 226, 81, 5, 75, 54,
+ 226, 81, 5, 72, 54, 226, 81, 5, 183, 54, 226, 81, 5, 234, 81, 54, 226,
+ 81, 5, 243, 230, 54, 226, 81, 5, 242, 213, 54, 226, 81, 5, 213, 156, 54,
+ 226, 81, 5, 251, 88, 54, 226, 81, 5, 236, 0, 54, 226, 81, 5, 235, 225,
+ 54, 226, 81, 5, 218, 66, 54, 226, 81, 5, 216, 90, 54, 226, 81, 5, 249,
+ 30, 54, 226, 81, 5, 248, 76, 54, 226, 81, 5, 246, 154, 54, 226, 81, 5,
+ 217, 174, 54, 226, 81, 5, 195, 54, 226, 81, 5, 252, 234, 54, 226, 81, 5,
+ 245, 29, 54, 226, 81, 5, 207, 54, 226, 81, 5, 228, 135, 54, 226, 81, 5,
+ 191, 54, 226, 81, 5, 231, 112, 54, 226, 81, 5, 230, 242, 54, 226, 81, 5,
+ 189, 54, 226, 81, 5, 215, 8, 54, 226, 81, 5, 214, 159, 54, 226, 81, 5,
+ 208, 54, 226, 81, 5, 223, 77, 54, 226, 81, 5, 233, 255, 54, 226, 81, 5,
+ 222, 227, 54, 226, 81, 5, 212, 109, 54, 226, 81, 5, 221, 47, 54, 226, 81,
+ 5, 219, 176, 54, 226, 81, 5, 162, 54, 226, 81, 5, 253, 229, 54, 226, 81,
+ 5, 253, 228, 54, 226, 81, 5, 253, 227, 54, 226, 81, 5, 213, 133, 54, 226,
+ 81, 5, 249, 11, 54, 226, 81, 5, 249, 10, 54, 226, 81, 5, 252, 215, 54,
+ 226, 81, 5, 251, 139, 54, 226, 81, 213, 199, 247, 245, 54, 226, 81, 51,
+ 118, 54, 226, 81, 51, 112, 54, 226, 81, 51, 217, 213, 54, 226, 81, 51,
+ 216, 45, 54, 226, 81, 51, 241, 62, 175, 6, 1, 187, 75, 175, 6, 1, 187,
+ 77, 175, 6, 1, 187, 63, 175, 6, 1, 187, 254, 242, 175, 6, 1, 187, 78,
+ 175, 6, 1, 187, 227, 86, 175, 6, 1, 220, 196, 75, 175, 6, 1, 220, 196,
+ 77, 175, 6, 1, 220, 196, 63, 175, 6, 1, 220, 196, 254, 242, 175, 6, 1,
+ 220, 196, 78, 175, 6, 1, 220, 196, 227, 86, 175, 6, 1, 253, 210, 175, 6,
+ 1, 227, 22, 175, 6, 1, 213, 186, 175, 6, 1, 213, 36, 175, 6, 1, 242, 162,
+ 175, 6, 1, 226, 122, 175, 6, 1, 252, 112, 175, 6, 1, 217, 232, 175, 6, 1,
+ 248, 149, 175, 6, 1, 250, 187, 175, 6, 1, 235, 240, 175, 6, 1, 235, 51,
+ 175, 6, 1, 243, 179, 175, 6, 1, 246, 24, 175, 6, 1, 214, 232, 175, 6, 1,
+ 245, 146, 175, 6, 1, 217, 160, 175, 6, 1, 245, 166, 175, 6, 1, 212, 85,
+ 175, 6, 1, 245, 161, 175, 6, 1, 212, 66, 175, 6, 1, 245, 176, 175, 6, 1,
+ 245, 252, 175, 6, 1, 245, 238, 175, 6, 1, 245, 229, 175, 6, 1, 245, 217,
+ 175, 6, 1, 227, 122, 175, 6, 1, 245, 126, 175, 4, 1, 187, 75, 175, 4, 1,
+ 187, 77, 175, 4, 1, 187, 63, 175, 4, 1, 187, 254, 242, 175, 4, 1, 187,
+ 78, 175, 4, 1, 187, 227, 86, 175, 4, 1, 220, 196, 75, 175, 4, 1, 220,
+ 196, 77, 175, 4, 1, 220, 196, 63, 175, 4, 1, 220, 196, 254, 242, 175, 4,
+ 1, 220, 196, 78, 175, 4, 1, 220, 196, 227, 86, 175, 4, 1, 253, 210, 175,
+ 4, 1, 227, 22, 175, 4, 1, 213, 186, 175, 4, 1, 213, 36, 175, 4, 1, 242,
+ 162, 175, 4, 1, 226, 122, 175, 4, 1, 252, 112, 175, 4, 1, 217, 232, 175,
+ 4, 1, 248, 149, 175, 4, 1, 250, 187, 175, 4, 1, 235, 240, 175, 4, 1, 235,
+ 51, 175, 4, 1, 243, 179, 175, 4, 1, 246, 24, 175, 4, 1, 214, 232, 175, 4,
+ 1, 245, 146, 175, 4, 1, 217, 160, 175, 4, 1, 245, 166, 175, 4, 1, 212,
+ 85, 175, 4, 1, 245, 161, 175, 4, 1, 212, 66, 175, 4, 1, 245, 176, 175, 4,
+ 1, 245, 252, 175, 4, 1, 245, 238, 175, 4, 1, 245, 229, 175, 4, 1, 245,
+ 217, 175, 4, 1, 227, 122, 175, 4, 1, 245, 126, 221, 14, 1, 226, 120, 221,
+ 14, 1, 216, 231, 221, 14, 1, 234, 211, 221, 14, 1, 244, 236, 221, 14, 1,
+ 217, 138, 221, 14, 1, 220, 5, 221, 14, 1, 218, 228, 221, 14, 1, 250, 121,
+ 221, 14, 1, 213, 38, 221, 14, 1, 241, 61, 221, 14, 1, 252, 53, 221, 14,
+ 1, 248, 161, 221, 14, 1, 243, 216, 221, 14, 1, 214, 108, 221, 14, 1, 217,
+ 142, 221, 14, 1, 212, 14, 221, 14, 1, 231, 224, 221, 14, 1, 235, 166,
+ 221, 14, 1, 213, 215, 221, 14, 1, 242, 150, 221, 14, 1, 233, 13, 221, 14,
+ 1, 231, 72, 221, 14, 1, 236, 152, 221, 14, 1, 246, 23, 221, 14, 1, 254,
+ 17, 221, 14, 1, 255, 24, 221, 14, 1, 227, 99, 221, 14, 1, 213, 202, 221,
+ 14, 1, 227, 36, 221, 14, 1, 254, 242, 221, 14, 1, 223, 143, 221, 14, 1,
+ 228, 93, 221, 14, 1, 246, 38, 221, 14, 1, 254, 247, 221, 14, 1, 240, 221,
+ 221, 14, 1, 215, 140, 221, 14, 1, 227, 155, 221, 14, 1, 227, 79, 221, 14,
+ 1, 227, 121, 221, 14, 1, 253, 213, 221, 14, 1, 254, 60, 221, 14, 1, 227,
+ 62, 221, 14, 1, 254, 227, 221, 14, 1, 245, 170, 221, 14, 1, 254, 39, 221,
+ 14, 1, 246, 48, 221, 14, 1, 240, 227, 221, 14, 1, 213, 5, 227, 47, 1,
+ 254, 205, 227, 47, 1, 252, 234, 227, 47, 1, 218, 66, 227, 47, 1, 236, 0,
+ 227, 47, 1, 213, 156, 227, 47, 1, 234, 250, 227, 47, 1, 248, 148, 227,
+ 47, 1, 208, 227, 47, 1, 222, 227, 227, 47, 1, 220, 227, 227, 47, 1, 248,
+ 97, 227, 47, 1, 251, 15, 227, 47, 1, 243, 230, 227, 47, 1, 245, 29, 227,
+ 47, 1, 225, 9, 227, 47, 1, 235, 127, 227, 47, 1, 233, 250, 227, 47, 1,
+ 231, 83, 227, 47, 1, 228, 77, 227, 47, 1, 214, 17, 227, 47, 1, 162, 227,
+ 47, 1, 189, 227, 47, 1, 63, 227, 47, 1, 77, 227, 47, 1, 75, 227, 47, 1,
+ 78, 227, 47, 1, 72, 227, 47, 1, 255, 104, 227, 47, 1, 246, 30, 227, 47,
+ 1, 227, 86, 227, 47, 21, 212, 79, 227, 47, 21, 118, 227, 47, 21, 112,
+ 227, 47, 21, 170, 227, 47, 21, 167, 227, 47, 21, 185, 227, 47, 21, 192,
+ 227, 47, 21, 200, 227, 47, 21, 198, 227, 47, 21, 203, 249, 132, 3, 63,
+ 249, 132, 3, 77, 249, 132, 3, 75, 249, 132, 3, 78, 249, 132, 3, 72, 249,
+ 132, 3, 236, 0, 249, 132, 3, 235, 185, 249, 132, 3, 183, 249, 132, 3,
+ 235, 44, 249, 132, 3, 234, 212, 249, 132, 3, 234, 148, 249, 132, 3, 234,
+ 81, 249, 132, 3, 233, 255, 249, 132, 3, 233, 180, 249, 132, 3, 233, 111,
+ 249, 132, 3, 233, 26, 249, 132, 3, 232, 230, 249, 132, 3, 191, 249, 132,
+ 3, 231, 226, 249, 132, 3, 231, 112, 249, 132, 3, 231, 45, 249, 132, 3,
+ 230, 242, 249, 132, 3, 207, 249, 132, 3, 229, 254, 249, 132, 3, 229, 128,
+ 249, 132, 3, 228, 228, 249, 132, 3, 228, 135, 249, 132, 3, 195, 249, 132,
+ 3, 226, 132, 249, 132, 3, 226, 20, 249, 132, 3, 225, 186, 249, 132, 3,
+ 225, 71, 249, 132, 3, 208, 249, 132, 3, 224, 55, 249, 132, 3, 223, 222,
+ 249, 132, 3, 223, 146, 249, 132, 3, 223, 77, 249, 132, 3, 222, 227, 249,
+ 132, 3, 222, 123, 249, 132, 3, 220, 136, 249, 132, 3, 220, 5, 249, 132,
+ 3, 219, 41, 249, 132, 3, 218, 66, 249, 132, 3, 217, 242, 249, 132, 3,
+ 217, 84, 249, 132, 3, 109, 249, 132, 3, 216, 90, 249, 132, 3, 214, 52,
+ 249, 132, 3, 214, 9, 249, 132, 3, 213, 238, 249, 132, 3, 213, 217, 249,
+ 132, 3, 213, 156, 249, 132, 3, 213, 153, 249, 132, 3, 212, 109, 249, 132,
+ 3, 212, 16, 236, 114, 254, 68, 1, 254, 203, 236, 114, 254, 68, 1, 252,
+ 72, 236, 114, 254, 68, 1, 243, 41, 236, 114, 254, 68, 1, 248, 255, 236,
+ 114, 254, 68, 1, 242, 85, 236, 114, 254, 68, 1, 214, 17, 236, 114, 254,
+ 68, 1, 212, 90, 236, 114, 254, 68, 1, 242, 43, 236, 114, 254, 68, 1, 217,
+ 192, 236, 114, 254, 68, 1, 212, 224, 236, 114, 254, 68, 1, 235, 87, 236,
+ 114, 254, 68, 1, 233, 215, 236, 114, 254, 68, 1, 231, 199, 236, 114, 254,
+ 68, 1, 228, 93, 236, 114, 254, 68, 1, 222, 188, 236, 114, 254, 68, 1,
+ 253, 205, 236, 114, 254, 68, 1, 226, 132, 236, 114, 254, 68, 1, 222, 218,
+ 236, 114, 254, 68, 1, 224, 214, 236, 114, 254, 68, 1, 223, 253, 236, 114,
+ 254, 68, 1, 220, 221, 236, 114, 254, 68, 1, 218, 0, 236, 114, 254, 68,
+ 222, 115, 53, 236, 114, 254, 68, 51, 118, 236, 114, 254, 68, 51, 112,
+ 236, 114, 254, 68, 51, 170, 236, 114, 254, 68, 51, 217, 213, 236, 114,
+ 254, 68, 51, 216, 45, 236, 114, 254, 68, 51, 124, 241, 62, 236, 114, 254,
+ 68, 51, 124, 217, 113, 236, 114, 254, 68, 51, 217, 214, 217, 113, 226,
+ 31, 1, 254, 201, 226, 31, 1, 252, 75, 226, 31, 1, 243, 205, 226, 31, 1,
+ 248, 128, 226, 31, 1, 242, 85, 226, 31, 1, 214, 24, 226, 31, 1, 212, 103,
+ 226, 31, 1, 242, 45, 226, 31, 1, 217, 196, 226, 31, 1, 212, 225, 226, 31,
+ 1, 235, 112, 226, 31, 1, 233, 221, 226, 31, 1, 231, 199, 226, 31, 1, 228,
+ 93, 226, 31, 1, 221, 87, 226, 31, 1, 254, 231, 226, 31, 1, 226, 132, 226,
+ 31, 1, 222, 219, 226, 31, 1, 224, 219, 226, 31, 1, 223, 125, 226, 31, 1,
+ 220, 221, 226, 31, 1, 218, 5, 226, 31, 51, 118, 226, 31, 51, 217, 213,
+ 226, 31, 51, 216, 45, 226, 31, 51, 124, 241, 62, 226, 31, 51, 112, 226,
+ 31, 51, 170, 226, 31, 213, 199, 221, 80, 232, 192, 1, 63, 232, 192, 1,
+ 253, 201, 232, 192, 1, 244, 41, 232, 192, 1, 249, 125, 232, 192, 1, 77,
+ 232, 192, 1, 211, 211, 232, 192, 1, 75, 232, 192, 1, 213, 108, 232, 192,
+ 1, 235, 141, 232, 192, 1, 155, 232, 192, 1, 184, 232, 192, 1, 206, 232,
+ 192, 1, 78, 232, 192, 1, 152, 232, 192, 1, 219, 177, 232, 192, 1, 218,
+ 113, 232, 192, 1, 72, 232, 192, 1, 245, 95, 232, 192, 1, 225, 19, 232,
+ 192, 1, 196, 232, 192, 1, 216, 131, 232, 192, 1, 254, 159, 232, 192, 1,
+ 245, 229, 232, 192, 1, 232, 194, 232, 192, 1, 229, 7, 232, 192, 1, 251,
+ 121, 232, 192, 216, 193, 79, 234, 238, 1, 63, 234, 238, 30, 5, 75, 234,
+ 238, 30, 5, 72, 234, 238, 30, 5, 165, 152, 234, 238, 30, 5, 77, 234, 238,
+ 30, 5, 78, 234, 238, 30, 233, 145, 79, 234, 238, 5, 52, 223, 165, 55,
+ 234, 238, 5, 254, 113, 234, 238, 5, 214, 132, 234, 238, 1, 183, 234, 238,
+ 1, 234, 250, 234, 238, 1, 243, 230, 234, 238, 1, 243, 89, 234, 238, 1,
+ 251, 88, 234, 238, 1, 250, 215, 234, 238, 1, 236, 0, 234, 238, 1, 228,
+ 64, 234, 238, 1, 216, 128, 234, 238, 1, 216, 116, 234, 238, 1, 248, 207,
+ 234, 238, 1, 248, 191, 234, 238, 1, 229, 6, 234, 238, 1, 218, 66, 234,
+ 238, 1, 217, 174, 234, 238, 1, 249, 30, 234, 238, 1, 248, 97, 234, 238,
+ 1, 207, 234, 238, 1, 195, 234, 238, 1, 226, 59, 234, 238, 1, 252, 234,
+ 234, 238, 1, 252, 65, 234, 238, 1, 191, 234, 238, 1, 189, 234, 238, 1,
+ 208, 234, 238, 1, 233, 255, 234, 238, 1, 215, 8, 234, 238, 1, 221, 47,
+ 234, 238, 1, 219, 176, 234, 238, 1, 222, 227, 234, 238, 1, 212, 109, 234,
+ 238, 1, 162, 234, 238, 1, 234, 166, 234, 238, 1, 216, 96, 234, 238, 5,
+ 252, 187, 50, 234, 238, 5, 251, 21, 234, 238, 5, 62, 55, 234, 238, 214,
+ 137, 234, 238, 21, 118, 234, 238, 21, 112, 234, 238, 21, 170, 234, 238,
+ 21, 167, 234, 238, 51, 217, 213, 234, 238, 51, 216, 45, 234, 238, 51,
+ 124, 241, 62, 234, 238, 51, 124, 217, 113, 234, 238, 225, 63, 247, 195,
+ 234, 238, 225, 63, 4, 250, 95, 234, 238, 225, 63, 250, 95, 234, 238, 225,
+ 63, 249, 200, 134, 234, 238, 225, 63, 232, 58, 234, 238, 225, 63, 232,
+ 244, 234, 238, 225, 63, 248, 245, 234, 238, 225, 63, 52, 248, 245, 234,
+ 238, 225, 63, 233, 77, 54, 219, 234, 254, 79, 1, 242, 85, 54, 219, 234,
+ 254, 79, 1, 233, 215, 54, 219, 234, 254, 79, 1, 242, 43, 54, 219, 234,
+ 254, 79, 1, 231, 199, 54, 219, 234, 254, 79, 1, 224, 214, 54, 219, 234,
+ 254, 79, 1, 214, 17, 54, 219, 234, 254, 79, 1, 220, 221, 54, 219, 234,
+ 254, 79, 1, 223, 253, 54, 219, 234, 254, 79, 1, 252, 72, 54, 219, 234,
+ 254, 79, 1, 218, 0, 54, 219, 234, 254, 79, 1, 222, 166, 54, 219, 234,
+ 254, 79, 1, 235, 87, 54, 219, 234, 254, 79, 1, 228, 93, 54, 219, 234,
+ 254, 79, 1, 234, 234, 54, 219, 234, 254, 79, 1, 222, 218, 54, 219, 234,
+ 254, 79, 1, 222, 188, 54, 219, 234, 254, 79, 1, 244, 243, 54, 219, 234,
+ 254, 79, 1, 254, 205, 54, 219, 234, 254, 79, 1, 253, 204, 54, 219, 234,
+ 254, 79, 1, 248, 95, 54, 219, 234, 254, 79, 1, 243, 41, 54, 219, 234,
+ 254, 79, 1, 248, 255, 54, 219, 234, 254, 79, 1, 243, 78, 54, 219, 234,
+ 254, 79, 1, 217, 192, 54, 219, 234, 254, 79, 1, 212, 89, 54, 219, 234,
+ 254, 79, 1, 248, 92, 54, 219, 234, 254, 79, 1, 212, 224, 54, 219, 234,
+ 254, 79, 1, 217, 163, 54, 219, 234, 254, 79, 1, 217, 144, 54, 219, 234,
+ 254, 79, 51, 118, 54, 219, 234, 254, 79, 51, 244, 203, 54, 219, 234, 254,
+ 79, 130, 236, 96, 253, 215, 1, 63, 253, 215, 1, 255, 104, 253, 215, 1,
+ 254, 111, 253, 215, 1, 255, 63, 253, 215, 1, 254, 159, 253, 215, 1, 255,
+ 64, 253, 215, 1, 255, 20, 253, 215, 1, 255, 16, 253, 215, 1, 77, 253,
+ 215, 1, 246, 30, 253, 215, 1, 78, 253, 215, 1, 227, 86, 253, 215, 1, 75,
+ 253, 215, 1, 236, 145, 253, 215, 1, 72, 253, 215, 1, 215, 98, 253, 215,
+ 1, 235, 44, 253, 215, 1, 213, 153, 253, 215, 1, 213, 119, 253, 215, 1,
+ 213, 128, 253, 215, 1, 243, 158, 253, 215, 1, 243, 120, 253, 215, 1, 243,
+ 76, 253, 215, 1, 250, 247, 253, 215, 1, 235, 242, 253, 215, 1, 217, 242,
+ 253, 215, 1, 217, 161, 253, 215, 1, 248, 162, 253, 215, 1, 248, 90, 253,
+ 215, 1, 216, 123, 253, 215, 1, 226, 132, 253, 215, 1, 244, 243, 253, 215,
+ 1, 252, 121, 253, 215, 1, 252, 62, 253, 215, 1, 229, 214, 253, 215, 1,
+ 229, 134, 253, 215, 1, 229, 135, 253, 215, 1, 229, 254, 253, 215, 1, 228,
+ 56, 253, 215, 1, 229, 2, 253, 215, 1, 231, 226, 253, 215, 1, 241, 221,
+ 253, 215, 1, 212, 159, 253, 215, 1, 213, 39, 253, 215, 1, 214, 237, 253,
+ 215, 1, 224, 55, 253, 215, 1, 233, 180, 253, 215, 1, 222, 123, 253, 215,
+ 1, 212, 87, 253, 215, 1, 221, 8, 253, 215, 1, 212, 67, 253, 215, 1, 220,
+ 143, 253, 215, 1, 219, 146, 253, 215, 1, 242, 85, 253, 215, 255, 53, 79,
+ 217, 46, 119, 181, 113, 124, 62, 225, 62, 4, 119, 181, 113, 124, 62, 225,
+ 62, 233, 207, 119, 181, 113, 124, 62, 225, 62, 233, 207, 124, 62, 113,
+ 119, 181, 225, 62, 233, 207, 119, 223, 163, 113, 124, 223, 165, 225, 62,
+ 233, 207, 124, 223, 165, 113, 119, 223, 163, 225, 62, 236, 76, 226, 163,
+ 1, 254, 203, 236, 76, 226, 163, 1, 252, 72, 236, 76, 226, 163, 1, 243,
+ 41, 236, 76, 226, 163, 1, 248, 255, 236, 76, 226, 163, 1, 242, 85, 236,
+ 76, 226, 163, 1, 214, 17, 236, 76, 226, 163, 1, 212, 90, 236, 76, 226,
+ 163, 1, 242, 43, 236, 76, 226, 163, 1, 217, 192, 236, 76, 226, 163, 1,
+ 212, 224, 236, 76, 226, 163, 1, 235, 87, 236, 76, 226, 163, 1, 233, 215,
+ 236, 76, 226, 163, 1, 231, 199, 236, 76, 226, 163, 1, 228, 93, 236, 76,
+ 226, 163, 1, 222, 188, 236, 76, 226, 163, 1, 253, 205, 236, 76, 226, 163,
+ 1, 226, 132, 236, 76, 226, 163, 1, 222, 218, 236, 76, 226, 163, 1, 224,
+ 214, 236, 76, 226, 163, 1, 223, 253, 236, 76, 226, 163, 1, 220, 221, 236,
+ 76, 226, 163, 1, 218, 0, 236, 76, 226, 163, 51, 118, 236, 76, 226, 163,
+ 51, 112, 236, 76, 226, 163, 51, 170, 236, 76, 226, 163, 51, 167, 236, 76,
+ 226, 163, 51, 217, 213, 236, 76, 226, 163, 51, 216, 45, 236, 76, 226,
+ 163, 51, 124, 241, 62, 236, 76, 226, 163, 51, 124, 217, 113, 236, 76,
+ 226, 236, 1, 254, 203, 236, 76, 226, 236, 1, 252, 72, 236, 76, 226, 236,
+ 1, 243, 41, 236, 76, 226, 236, 1, 248, 255, 236, 76, 226, 236, 1, 242,
+ 85, 236, 76, 226, 236, 1, 214, 16, 236, 76, 226, 236, 1, 212, 90, 236,
+ 76, 226, 236, 1, 242, 43, 236, 76, 226, 236, 1, 217, 192, 236, 76, 226,
+ 236, 1, 212, 224, 236, 76, 226, 236, 1, 235, 87, 236, 76, 226, 236, 1,
+ 233, 215, 236, 76, 226, 236, 1, 231, 198, 236, 76, 226, 236, 1, 228, 93,
+ 236, 76, 226, 236, 1, 222, 188, 236, 76, 226, 236, 1, 226, 132, 236, 76,
+ 226, 236, 1, 222, 218, 236, 76, 226, 236, 1, 220, 221, 236, 76, 226, 236,
+ 1, 218, 0, 236, 76, 226, 236, 51, 118, 236, 76, 226, 236, 51, 112, 236,
+ 76, 226, 236, 51, 170, 236, 76, 226, 236, 51, 167, 236, 76, 226, 236, 51,
+ 217, 213, 236, 76, 226, 236, 51, 216, 45, 236, 76, 226, 236, 51, 124,
+ 241, 62, 236, 76, 226, 236, 51, 124, 217, 113, 54, 188, 1, 227, 54, 63,
+ 54, 188, 1, 213, 29, 63, 54, 188, 1, 213, 29, 255, 20, 54, 188, 1, 227,
+ 54, 75, 54, 188, 1, 213, 29, 75, 54, 188, 1, 213, 29, 77, 54, 188, 1,
+ 227, 54, 78, 54, 188, 1, 227, 54, 227, 136, 54, 188, 1, 213, 29, 227,
+ 136, 54, 188, 1, 227, 54, 255, 57, 54, 188, 1, 213, 29, 255, 57, 54, 188,
+ 1, 227, 54, 255, 19, 54, 188, 1, 213, 29, 255, 19, 54, 188, 1, 227, 54,
+ 254, 249, 54, 188, 1, 213, 29, 254, 249, 54, 188, 1, 227, 54, 255, 14,
+ 54, 188, 1, 213, 29, 255, 14, 54, 188, 1, 227, 54, 255, 32, 54, 188, 1,
+ 213, 29, 255, 32, 54, 188, 1, 227, 54, 255, 18, 54, 188, 1, 227, 54, 245,
+ 101, 54, 188, 1, 213, 29, 245, 101, 54, 188, 1, 227, 54, 253, 210, 54,
+ 188, 1, 213, 29, 253, 210, 54, 188, 1, 227, 54, 255, 1, 54, 188, 1, 213,
+ 29, 255, 1, 54, 188, 1, 227, 54, 255, 12, 54, 188, 1, 213, 29, 255, 12,
+ 54, 188, 1, 227, 54, 227, 135, 54, 188, 1, 213, 29, 227, 135, 54, 188, 1,
+ 227, 54, 254, 213, 54, 188, 1, 213, 29, 254, 213, 54, 188, 1, 227, 54,
+ 255, 11, 54, 188, 1, 227, 54, 245, 240, 54, 188, 1, 227, 54, 245, 238,
+ 54, 188, 1, 227, 54, 254, 159, 54, 188, 1, 227, 54, 255, 9, 54, 188, 1,
+ 213, 29, 255, 9, 54, 188, 1, 227, 54, 245, 211, 54, 188, 1, 213, 29, 245,
+ 211, 54, 188, 1, 227, 54, 245, 226, 54, 188, 1, 213, 29, 245, 226, 54,
+ 188, 1, 227, 54, 245, 198, 54, 188, 1, 213, 29, 245, 198, 54, 188, 1,
+ 213, 29, 254, 151, 54, 188, 1, 227, 54, 245, 217, 54, 188, 1, 213, 29,
+ 255, 8, 54, 188, 1, 227, 54, 245, 191, 54, 188, 1, 227, 54, 227, 78, 54,
+ 188, 1, 227, 54, 240, 223, 54, 188, 1, 227, 54, 246, 36, 54, 188, 1, 213,
+ 29, 246, 36, 54, 188, 1, 227, 54, 254, 86, 54, 188, 1, 213, 29, 254, 86,
+ 54, 188, 1, 227, 54, 236, 40, 54, 188, 1, 213, 29, 236, 40, 54, 188, 1,
+ 227, 54, 227, 63, 54, 188, 1, 213, 29, 227, 63, 54, 188, 1, 227, 54, 254,
+ 82, 54, 188, 1, 213, 29, 254, 82, 54, 188, 1, 227, 54, 255, 7, 54, 188,
+ 1, 227, 54, 254, 23, 54, 188, 1, 227, 54, 255, 5, 54, 188, 1, 227, 54,
+ 254, 17, 54, 188, 1, 213, 29, 254, 17, 54, 188, 1, 227, 54, 245, 161, 54,
+ 188, 1, 213, 29, 245, 161, 54, 188, 1, 227, 54, 253, 249, 54, 188, 1,
+ 213, 29, 253, 249, 54, 188, 1, 227, 54, 255, 2, 54, 188, 1, 213, 29, 255,
+ 2, 54, 188, 1, 227, 54, 227, 46, 54, 188, 1, 227, 54, 252, 171, 223, 64,
+ 21, 118, 223, 64, 21, 112, 223, 64, 21, 170, 223, 64, 21, 167, 223, 64,
+ 21, 185, 223, 64, 21, 192, 223, 64, 21, 200, 223, 64, 21, 198, 223, 64,
+ 21, 203, 223, 64, 51, 217, 213, 223, 64, 51, 216, 45, 223, 64, 51, 217,
+ 128, 223, 64, 51, 244, 104, 223, 64, 51, 244, 203, 223, 64, 51, 220, 58,
+ 223, 64, 51, 221, 60, 223, 64, 51, 246, 6, 223, 64, 51, 229, 90, 223, 64,
+ 51, 124, 241, 62, 223, 64, 51, 119, 241, 62, 223, 64, 51, 137, 241, 62,
+ 223, 64, 51, 244, 101, 241, 62, 223, 64, 51, 244, 170, 241, 62, 223, 64,
+ 51, 220, 72, 241, 62, 223, 64, 51, 221, 66, 241, 62, 223, 64, 51, 246,
+ 15, 241, 62, 223, 64, 51, 229, 95, 241, 62, 223, 64, 244, 92, 124, 242,
+ 129, 223, 64, 244, 92, 124, 224, 201, 223, 64, 244, 92, 124, 217, 134,
+ 223, 64, 244, 92, 119, 217, 132, 114, 5, 251, 55, 114, 5, 254, 113, 114,
+ 5, 214, 132, 114, 5, 235, 219, 114, 5, 215, 138, 114, 1, 63, 114, 1, 255,
+ 104, 114, 1, 75, 114, 1, 236, 145, 114, 1, 72, 114, 1, 215, 98, 114, 1,
+ 165, 152, 114, 1, 165, 223, 116, 114, 1, 165, 155, 114, 1, 165, 233, 55,
+ 114, 1, 77, 114, 1, 254, 236, 114, 1, 78, 114, 1, 253, 235, 114, 1, 183,
+ 114, 1, 234, 250, 114, 1, 243, 230, 114, 1, 243, 89, 114, 1, 229, 226,
+ 114, 1, 251, 88, 114, 1, 250, 215, 114, 1, 236, 0, 114, 1, 235, 230, 114,
+ 1, 228, 64, 114, 1, 216, 128, 114, 1, 216, 116, 114, 1, 248, 207, 114, 1,
+ 248, 191, 114, 1, 229, 6, 114, 1, 218, 66, 114, 1, 217, 174, 114, 1, 249,
+ 30, 114, 1, 248, 97, 114, 1, 207, 114, 1, 195, 114, 1, 226, 59, 114, 1,
+ 252, 234, 114, 1, 252, 65, 114, 1, 191, 114, 1, 189, 114, 1, 208, 114, 1,
+ 233, 255, 114, 1, 215, 8, 114, 1, 221, 47, 114, 1, 219, 176, 114, 1, 222,
+ 227, 114, 1, 162, 114, 1, 233, 54, 114, 1, 54, 36, 233, 45, 114, 1, 54,
+ 36, 223, 115, 114, 1, 54, 36, 228, 246, 114, 30, 5, 255, 104, 114, 30, 5,
+ 252, 63, 255, 104, 114, 30, 5, 75, 114, 30, 5, 236, 145, 114, 30, 5, 72,
+ 114, 30, 5, 215, 98, 114, 30, 5, 165, 152, 114, 30, 5, 165, 223, 116,
+ 114, 30, 5, 165, 155, 114, 30, 5, 165, 233, 55, 114, 30, 5, 77, 114, 30,
+ 5, 254, 236, 114, 30, 5, 78, 114, 30, 5, 253, 235, 114, 214, 137, 114,
+ 248, 245, 114, 52, 248, 245, 114, 225, 63, 247, 195, 114, 225, 63, 52,
+ 247, 195, 114, 225, 63, 233, 83, 114, 225, 63, 249, 200, 134, 114, 225,
+ 63, 232, 244, 114, 51, 118, 114, 51, 112, 114, 51, 170, 114, 51, 167,
+ 114, 51, 185, 114, 51, 192, 114, 51, 200, 114, 51, 198, 114, 51, 203,
+ 114, 51, 217, 213, 114, 51, 216, 45, 114, 51, 217, 128, 114, 51, 244,
+ 104, 114, 51, 244, 203, 114, 51, 220, 58, 114, 51, 221, 60, 114, 51, 246,
+ 6, 114, 51, 229, 90, 114, 51, 124, 241, 62, 114, 51, 124, 217, 113, 114,
+ 21, 212, 79, 114, 21, 118, 114, 21, 112, 114, 21, 170, 114, 21, 167, 114,
+ 21, 185, 114, 21, 192, 114, 21, 200, 114, 21, 198, 114, 21, 203, 235,
+ 106, 5, 251, 55, 235, 106, 5, 254, 113, 235, 106, 5, 214, 132, 235, 106,
+ 1, 63, 235, 106, 1, 255, 104, 235, 106, 1, 75, 235, 106, 1, 236, 145,
+ 235, 106, 1, 72, 235, 106, 1, 215, 98, 235, 106, 1, 77, 235, 106, 1, 254,
+ 236, 235, 106, 1, 78, 235, 106, 1, 253, 235, 235, 106, 1, 183, 235, 106,
+ 1, 234, 250, 235, 106, 1, 243, 230, 235, 106, 1, 243, 89, 235, 106, 1,
+ 229, 226, 235, 106, 1, 251, 88, 235, 106, 1, 250, 215, 235, 106, 1, 236,
+ 0, 235, 106, 1, 235, 230, 235, 106, 1, 228, 64, 235, 106, 1, 216, 128,
+ 235, 106, 1, 216, 116, 235, 106, 1, 248, 207, 235, 106, 1, 248, 196, 235,
+ 106, 1, 248, 191, 235, 106, 1, 223, 226, 235, 106, 1, 229, 6, 235, 106,
+ 1, 218, 66, 235, 106, 1, 217, 174, 235, 106, 1, 249, 30, 235, 106, 1,
+ 248, 97, 235, 106, 1, 207, 235, 106, 1, 195, 235, 106, 1, 226, 59, 235,
+ 106, 1, 252, 234, 235, 106, 1, 252, 65, 235, 106, 1, 191, 235, 106, 1,
+ 189, 235, 106, 1, 208, 235, 106, 1, 233, 255, 235, 106, 1, 215, 8, 235,
+ 106, 1, 221, 47, 235, 106, 1, 219, 176, 235, 106, 1, 222, 227, 235, 106,
+ 1, 162, 235, 106, 30, 5, 255, 104, 235, 106, 30, 5, 75, 235, 106, 30, 5,
+ 236, 145, 235, 106, 30, 5, 72, 235, 106, 30, 5, 215, 98, 235, 106, 30, 5,
+ 77, 235, 106, 30, 5, 254, 236, 235, 106, 30, 5, 78, 235, 106, 30, 5, 253,
+ 235, 235, 106, 5, 214, 137, 235, 106, 5, 228, 103, 235, 106, 255, 53, 53,
+ 235, 106, 245, 201, 53, 235, 106, 51, 53, 235, 106, 222, 115, 79, 235,
+ 106, 52, 222, 115, 79, 235, 106, 248, 245, 235, 106, 52, 248, 245, 15, 5,
+ 63, 15, 5, 111, 29, 63, 15, 5, 111, 29, 252, 221, 15, 5, 111, 29, 243,
+ 201, 217, 205, 15, 5, 111, 29, 162, 15, 5, 111, 29, 236, 147, 15, 5, 111,
+ 29, 233, 237, 242, 196, 15, 5, 111, 29, 230, 201, 15, 5, 111, 29, 222,
+ 215, 15, 5, 255, 106, 15, 5, 255, 57, 15, 5, 255, 58, 29, 254, 15, 15, 5,
+ 255, 58, 29, 246, 143, 242, 196, 15, 5, 255, 58, 29, 243, 214, 15, 5,
+ 255, 58, 29, 243, 201, 217, 205, 15, 5, 255, 58, 29, 162, 15, 5, 255, 58,
+ 29, 236, 148, 242, 196, 15, 5, 255, 58, 29, 236, 121, 15, 5, 255, 58, 29,
+ 233, 238, 15, 5, 255, 58, 29, 220, 249, 15, 5, 255, 58, 29, 103, 95, 103,
+ 95, 72, 15, 5, 255, 58, 242, 196, 15, 5, 255, 55, 15, 5, 255, 56, 29,
+ 252, 206, 15, 5, 255, 56, 29, 243, 201, 217, 205, 15, 5, 255, 56, 29,
+ 231, 227, 95, 245, 229, 15, 5, 255, 56, 29, 221, 45, 15, 5, 255, 56, 29,
+ 218, 35, 15, 5, 255, 32, 15, 5, 254, 221, 15, 5, 254, 222, 29, 245, 171,
+ 15, 5, 254, 222, 29, 220, 211, 95, 243, 30, 15, 5, 254, 213, 15, 5, 254,
+ 214, 29, 254, 213, 15, 5, 254, 214, 29, 248, 33, 15, 5, 254, 214, 29,
+ 243, 30, 15, 5, 254, 214, 29, 162, 15, 5, 254, 214, 29, 235, 117, 15, 5,
+ 254, 214, 29, 234, 212, 15, 5, 254, 214, 29, 221, 8, 15, 5, 254, 214, 29,
+ 215, 106, 15, 5, 254, 210, 15, 5, 254, 203, 15, 5, 254, 168, 15, 5, 254,
+ 169, 29, 221, 8, 15, 5, 254, 159, 15, 5, 254, 160, 113, 254, 159, 15, 5,
+ 254, 160, 137, 217, 52, 15, 5, 254, 160, 95, 230, 104, 227, 68, 254, 160,
+ 95, 230, 103, 15, 5, 254, 160, 95, 230, 104, 219, 184, 15, 5, 254, 132,
+ 15, 5, 254, 106, 15, 5, 254, 76, 15, 5, 254, 77, 29, 234, 60, 15, 5, 254,
+ 50, 15, 5, 254, 22, 15, 5, 254, 17, 15, 5, 254, 18, 212, 33, 217, 205,
+ 15, 5, 254, 18, 235, 121, 217, 205, 15, 5, 254, 18, 113, 254, 18, 216,
+ 86, 113, 216, 86, 216, 86, 113, 216, 86, 226, 186, 15, 5, 254, 18, 113,
+ 254, 18, 113, 254, 17, 15, 5, 254, 18, 113, 254, 18, 113, 254, 18, 249,
+ 188, 254, 18, 113, 254, 18, 113, 254, 17, 15, 5, 254, 15, 15, 5, 254, 12,
+ 15, 5, 252, 234, 15, 5, 252, 221, 15, 5, 252, 216, 15, 5, 252, 213, 15,
+ 5, 252, 207, 15, 5, 252, 208, 113, 252, 207, 15, 5, 252, 206, 15, 5, 134,
+ 15, 5, 252, 186, 15, 5, 252, 54, 15, 5, 252, 55, 29, 63, 15, 5, 252, 55,
+ 29, 243, 192, 15, 5, 252, 55, 29, 236, 148, 242, 196, 15, 5, 251, 179,
+ 15, 5, 251, 180, 113, 251, 180, 255, 57, 15, 5, 251, 180, 113, 251, 180,
+ 215, 166, 15, 5, 251, 180, 249, 188, 251, 179, 15, 5, 251, 163, 15, 5,
+ 251, 164, 113, 251, 163, 15, 5, 251, 152, 15, 5, 251, 151, 15, 5, 249,
+ 30, 15, 5, 249, 21, 15, 5, 249, 22, 234, 186, 29, 111, 95, 232, 25, 15,
+ 5, 249, 22, 234, 186, 29, 254, 168, 15, 5, 249, 22, 234, 186, 29, 252,
+ 206, 15, 5, 249, 22, 234, 186, 29, 252, 54, 15, 5, 249, 22, 234, 186, 29,
+ 243, 230, 15, 5, 249, 22, 234, 186, 29, 243, 231, 95, 232, 25, 15, 5,
+ 249, 22, 234, 186, 29, 243, 54, 15, 5, 249, 22, 234, 186, 29, 243, 37,
+ 15, 5, 249, 22, 234, 186, 29, 242, 205, 15, 5, 249, 22, 234, 186, 29,
+ 162, 15, 5, 249, 22, 234, 186, 29, 236, 38, 15, 5, 249, 22, 234, 186, 29,
+ 236, 39, 95, 232, 230, 15, 5, 249, 22, 234, 186, 29, 235, 104, 15, 5,
+ 249, 22, 234, 186, 29, 233, 255, 15, 5, 249, 22, 234, 186, 29, 232, 230,
+ 15, 5, 249, 22, 234, 186, 29, 232, 231, 95, 232, 24, 15, 5, 249, 22, 234,
+ 186, 29, 232, 216, 15, 5, 249, 22, 234, 186, 29, 229, 254, 15, 5, 249,
+ 22, 234, 186, 29, 226, 187, 95, 226, 186, 15, 5, 249, 22, 234, 186, 29,
+ 220, 136, 15, 5, 249, 22, 234, 186, 29, 218, 35, 15, 5, 249, 22, 234,
+ 186, 29, 215, 204, 95, 243, 37, 15, 5, 249, 22, 234, 186, 29, 215, 106,
+ 15, 5, 248, 254, 15, 5, 248, 233, 15, 5, 248, 232, 15, 5, 248, 231, 15,
+ 5, 248, 76, 15, 5, 248, 59, 15, 5, 248, 34, 15, 5, 248, 35, 29, 221, 8,
+ 15, 5, 248, 33, 15, 5, 248, 23, 15, 5, 248, 24, 235, 70, 103, 242, 197,
+ 248, 4, 15, 5, 248, 4, 15, 5, 246, 154, 15, 5, 246, 155, 113, 246, 154,
+ 15, 5, 246, 155, 242, 196, 15, 5, 246, 155, 220, 246, 15, 5, 246, 152,
+ 15, 5, 246, 153, 29, 245, 158, 15, 5, 246, 151, 15, 5, 246, 150, 15, 5,
+ 246, 149, 15, 5, 246, 148, 15, 5, 246, 144, 15, 5, 246, 142, 15, 5, 246,
+ 143, 242, 196, 15, 5, 246, 143, 242, 197, 242, 196, 15, 5, 246, 141, 15,
+ 5, 246, 134, 15, 5, 77, 15, 5, 154, 29, 226, 186, 15, 5, 154, 113, 154,
+ 228, 94, 113, 228, 93, 15, 5, 246, 55, 15, 5, 246, 56, 29, 111, 95, 242,
+ 151, 95, 249, 30, 15, 5, 246, 56, 29, 243, 192, 15, 5, 246, 56, 29, 231,
+ 112, 15, 5, 246, 56, 29, 222, 203, 15, 5, 246, 56, 29, 221, 8, 15, 5,
+ 246, 56, 29, 72, 15, 5, 246, 32, 15, 5, 246, 22, 15, 5, 245, 252, 15, 5,
+ 245, 229, 15, 5, 245, 230, 29, 243, 200, 15, 5, 245, 230, 29, 243, 201,
+ 217, 205, 15, 5, 245, 230, 29, 231, 226, 15, 5, 245, 230, 249, 188, 245,
+ 229, 15, 5, 245, 230, 227, 68, 245, 229, 15, 5, 245, 230, 219, 184, 15,
+ 5, 245, 173, 15, 5, 245, 171, 15, 5, 245, 158, 15, 5, 245, 99, 15, 5,
+ 245, 100, 29, 63, 15, 5, 245, 100, 29, 111, 95, 233, 226, 15, 5, 245,
+ 100, 29, 111, 95, 233, 227, 29, 233, 226, 15, 5, 245, 100, 29, 254, 159,
+ 15, 5, 245, 100, 29, 252, 221, 15, 5, 245, 100, 29, 246, 143, 242, 196,
+ 15, 5, 245, 100, 29, 246, 143, 242, 197, 242, 196, 15, 5, 245, 100, 29,
+ 162, 15, 5, 245, 100, 29, 242, 151, 242, 196, 15, 5, 245, 100, 29, 236,
+ 148, 242, 196, 15, 5, 245, 100, 29, 235, 69, 15, 5, 245, 100, 29, 235,
+ 70, 219, 184, 15, 5, 245, 100, 29, 234, 79, 15, 5, 245, 100, 29, 233,
+ 255, 15, 5, 245, 100, 29, 233, 227, 29, 233, 226, 15, 5, 245, 100, 29,
+ 233, 111, 15, 5, 245, 100, 29, 232, 230, 15, 5, 245, 100, 29, 215, 203,
+ 15, 5, 245, 100, 29, 215, 194, 15, 5, 243, 230, 15, 5, 243, 231, 242,
+ 196, 15, 5, 243, 228, 15, 5, 243, 229, 29, 111, 95, 249, 31, 95, 162, 15,
+ 5, 243, 229, 29, 111, 95, 162, 15, 5, 243, 229, 29, 111, 95, 236, 147,
+ 15, 5, 243, 229, 29, 255, 56, 217, 206, 95, 218, 55, 15, 5, 243, 229, 29,
+ 254, 159, 15, 5, 243, 229, 29, 254, 17, 15, 5, 243, 229, 29, 254, 16, 95,
+ 243, 214, 15, 5, 243, 229, 29, 252, 221, 15, 5, 243, 229, 29, 252, 187,
+ 95, 208, 15, 5, 243, 229, 29, 251, 152, 15, 5, 243, 229, 29, 251, 153,
+ 95, 208, 15, 5, 243, 229, 29, 249, 30, 15, 5, 243, 229, 29, 248, 76, 15,
+ 5, 243, 229, 29, 248, 35, 29, 221, 8, 15, 5, 243, 229, 29, 246, 152, 15,
+ 5, 243, 229, 29, 245, 252, 15, 5, 243, 229, 29, 245, 253, 95, 233, 255,
+ 15, 5, 243, 229, 29, 245, 229, 15, 5, 243, 229, 29, 245, 230, 29, 243,
+ 201, 217, 205, 15, 5, 243, 229, 29, 243, 201, 217, 205, 15, 5, 243, 229,
+ 29, 243, 192, 15, 5, 243, 229, 29, 243, 54, 15, 5, 243, 229, 29, 243, 52,
+ 15, 5, 243, 229, 29, 243, 53, 95, 63, 15, 5, 243, 229, 29, 243, 38, 95,
+ 219, 41, 15, 5, 243, 229, 29, 242, 151, 95, 232, 231, 95, 245, 158, 15,
+ 5, 243, 229, 29, 242, 132, 15, 5, 243, 229, 29, 242, 133, 95, 233, 255,
+ 15, 5, 243, 229, 29, 242, 29, 95, 233, 111, 15, 5, 243, 229, 29, 241, 70,
+ 15, 5, 243, 229, 29, 236, 148, 242, 196, 15, 5, 243, 229, 29, 236, 25,
+ 95, 241, 75, 95, 254, 17, 15, 5, 243, 229, 29, 235, 104, 15, 5, 243, 229,
+ 29, 235, 69, 15, 5, 243, 229, 29, 234, 209, 15, 5, 243, 229, 29, 234,
+ 210, 95, 233, 226, 15, 5, 243, 229, 29, 234, 80, 95, 254, 159, 15, 5,
+ 243, 229, 29, 233, 255, 15, 5, 243, 229, 29, 231, 227, 95, 245, 229, 15,
+ 5, 243, 229, 29, 231, 112, 15, 5, 243, 229, 29, 228, 93, 15, 5, 243, 229,
+ 29, 228, 94, 113, 228, 93, 15, 5, 243, 229, 29, 195, 15, 5, 243, 229, 29,
+ 222, 203, 15, 5, 243, 229, 29, 222, 171, 15, 5, 243, 229, 29, 221, 8, 15,
+ 5, 243, 229, 29, 221, 9, 95, 216, 70, 15, 5, 243, 229, 29, 220, 231, 15,
+ 5, 243, 229, 29, 219, 2, 15, 5, 243, 229, 29, 218, 35, 15, 5, 243, 229,
+ 29, 72, 15, 5, 243, 229, 29, 215, 194, 15, 5, 243, 229, 29, 215, 195, 95,
+ 246, 154, 15, 5, 243, 229, 113, 243, 228, 15, 5, 243, 223, 15, 5, 243,
+ 224, 249, 188, 243, 223, 15, 5, 243, 221, 15, 5, 243, 222, 113, 243, 222,
+ 243, 193, 113, 243, 192, 15, 5, 243, 214, 15, 5, 243, 215, 243, 222, 113,
+ 243, 222, 243, 193, 113, 243, 192, 15, 5, 243, 213, 15, 5, 243, 211, 15,
+ 5, 243, 202, 15, 5, 243, 200, 15, 5, 243, 201, 217, 205, 15, 5, 243, 201,
+ 113, 243, 200, 15, 5, 243, 201, 249, 188, 243, 200, 15, 5, 243, 192, 15,
+ 5, 243, 191, 15, 5, 243, 186, 15, 5, 243, 132, 15, 5, 243, 133, 29, 234,
+ 60, 15, 5, 243, 54, 15, 5, 243, 55, 29, 77, 15, 5, 243, 55, 29, 72, 15,
+ 5, 243, 55, 249, 188, 243, 54, 15, 5, 243, 52, 15, 5, 243, 53, 113, 243,
+ 52, 15, 5, 243, 53, 249, 188, 243, 52, 15, 5, 243, 49, 15, 5, 243, 37,
+ 15, 5, 243, 38, 242, 196, 15, 5, 243, 35, 15, 5, 243, 36, 29, 111, 95,
+ 236, 147, 15, 5, 243, 36, 29, 243, 201, 217, 205, 15, 5, 243, 36, 29,
+ 236, 147, 15, 5, 243, 36, 29, 232, 231, 95, 236, 147, 15, 5, 243, 36, 29,
+ 195, 15, 5, 243, 32, 15, 5, 243, 30, 15, 5, 243, 31, 249, 188, 243, 30,
+ 15, 5, 243, 31, 29, 252, 221, 15, 5, 243, 31, 29, 218, 35, 15, 5, 243,
+ 31, 217, 205, 15, 5, 242, 213, 15, 5, 242, 214, 249, 188, 242, 213, 15,
+ 5, 242, 211, 15, 5, 242, 212, 29, 235, 104, 15, 5, 242, 212, 29, 235,
+ 105, 29, 236, 148, 242, 196, 15, 5, 242, 212, 29, 228, 93, 15, 5, 242,
+ 212, 29, 222, 204, 95, 216, 85, 15, 5, 242, 212, 242, 196, 15, 5, 242,
+ 205, 15, 5, 242, 206, 29, 111, 95, 234, 60, 15, 5, 242, 206, 29, 234, 60,
+ 15, 5, 242, 206, 113, 242, 206, 232, 223, 15, 5, 242, 200, 15, 5, 242,
+ 198, 15, 5, 242, 199, 29, 221, 8, 15, 5, 242, 190, 15, 5, 242, 189, 15,
+ 5, 242, 186, 15, 5, 242, 185, 15, 5, 162, 15, 5, 242, 151, 217, 205, 15,
+ 5, 242, 151, 242, 196, 15, 5, 242, 132, 15, 5, 242, 28, 15, 5, 242, 29,
+ 29, 254, 17, 15, 5, 242, 29, 29, 254, 15, 15, 5, 242, 29, 29, 252, 221,
+ 15, 5, 242, 29, 29, 248, 4, 15, 5, 242, 29, 29, 243, 221, 15, 5, 242, 29,
+ 29, 234, 201, 15, 5, 242, 29, 29, 228, 93, 15, 5, 242, 29, 29, 221, 8,
+ 15, 5, 242, 29, 29, 72, 15, 5, 241, 74, 15, 5, 241, 70, 15, 5, 241, 71,
+ 29, 254, 159, 15, 5, 241, 71, 29, 242, 132, 15, 5, 241, 71, 29, 235, 69,
+ 15, 5, 241, 71, 29, 233, 67, 15, 5, 241, 71, 29, 215, 194, 15, 5, 241,
+ 67, 15, 5, 75, 15, 5, 241, 7, 63, 15, 5, 240, 225, 15, 5, 236, 175, 15,
+ 5, 236, 176, 113, 236, 176, 251, 152, 15, 5, 236, 176, 113, 236, 176,
+ 219, 184, 15, 5, 236, 150, 15, 5, 236, 147, 15, 5, 236, 148, 248, 59, 15,
+ 5, 236, 148, 223, 222, 15, 5, 236, 148, 113, 236, 148, 220, 215, 113,
+ 220, 215, 215, 195, 113, 215, 194, 15, 5, 236, 148, 242, 196, 15, 5, 236,
+ 139, 15, 5, 236, 140, 29, 243, 201, 217, 205, 15, 5, 236, 138, 15, 5,
+ 236, 128, 15, 5, 236, 129, 29, 218, 35, 15, 5, 236, 129, 249, 188, 236,
+ 128, 15, 5, 236, 129, 227, 68, 236, 128, 15, 5, 236, 129, 219, 184, 15,
+ 5, 236, 121, 15, 5, 236, 112, 15, 5, 236, 38, 15, 5, 236, 24, 15, 5, 183,
+ 15, 5, 235, 131, 29, 63, 15, 5, 235, 131, 29, 255, 32, 15, 5, 235, 131,
+ 29, 255, 33, 95, 234, 79, 15, 5, 235, 131, 29, 254, 15, 15, 5, 235, 131,
+ 29, 252, 221, 15, 5, 235, 131, 29, 252, 206, 15, 5, 235, 131, 29, 134,
+ 15, 5, 235, 131, 29, 252, 54, 15, 5, 235, 131, 29, 245, 171, 15, 5, 235,
+ 131, 29, 245, 158, 15, 5, 235, 131, 29, 243, 230, 15, 5, 235, 131, 29,
+ 243, 214, 15, 5, 235, 131, 29, 243, 201, 217, 205, 15, 5, 235, 131, 29,
+ 243, 192, 15, 5, 235, 131, 29, 243, 193, 95, 221, 46, 95, 63, 15, 5, 235,
+ 131, 29, 243, 54, 15, 5, 235, 131, 29, 243, 37, 15, 5, 235, 131, 29, 243,
+ 31, 95, 222, 171, 15, 5, 235, 131, 29, 243, 31, 249, 188, 243, 30, 15, 5,
+ 235, 131, 29, 242, 213, 15, 5, 235, 131, 29, 242, 189, 15, 5, 235, 131,
+ 29, 236, 147, 15, 5, 235, 131, 29, 236, 128, 15, 5, 235, 131, 29, 235,
+ 104, 15, 5, 235, 131, 29, 234, 212, 15, 5, 235, 131, 29, 234, 209, 15, 5,
+ 235, 131, 29, 233, 111, 15, 5, 235, 131, 29, 232, 230, 15, 5, 235, 131,
+ 29, 231, 226, 15, 5, 235, 131, 29, 231, 227, 95, 246, 154, 15, 5, 235,
+ 131, 29, 231, 227, 95, 243, 54, 15, 5, 235, 131, 29, 231, 227, 95, 217,
+ 242, 15, 5, 235, 131, 29, 231, 112, 15, 5, 235, 131, 29, 231, 113, 95,
+ 228, 88, 15, 5, 235, 131, 29, 229, 254, 15, 5, 235, 131, 29, 228, 93, 15,
+ 5, 235, 131, 29, 226, 20, 15, 5, 235, 131, 29, 223, 77, 15, 5, 235, 131,
+ 29, 222, 227, 15, 5, 235, 131, 29, 222, 171, 15, 5, 235, 131, 29, 221,
+ 47, 15, 5, 235, 131, 29, 221, 8, 15, 5, 235, 131, 29, 220, 231, 15, 5,
+ 235, 131, 29, 220, 170, 15, 5, 235, 131, 29, 220, 127, 15, 5, 235, 131,
+ 29, 219, 10, 15, 5, 235, 131, 29, 218, 14, 15, 5, 235, 131, 29, 72, 15,
+ 5, 235, 131, 29, 215, 203, 15, 5, 235, 131, 29, 215, 194, 15, 5, 235,
+ 131, 29, 215, 169, 29, 195, 15, 5, 235, 131, 29, 215, 106, 15, 5, 235,
+ 131, 29, 212, 37, 15, 5, 235, 129, 15, 5, 235, 130, 249, 188, 235, 129,
+ 15, 5, 235, 122, 15, 5, 235, 119, 15, 5, 235, 117, 15, 5, 235, 116, 15,
+ 5, 235, 114, 15, 5, 235, 115, 113, 235, 114, 15, 5, 235, 104, 15, 5, 235,
+ 105, 29, 236, 148, 242, 196, 15, 5, 235, 100, 15, 5, 235, 101, 29, 252,
+ 221, 15, 5, 235, 101, 249, 188, 235, 100, 15, 5, 235, 98, 15, 5, 235, 97,
+ 15, 5, 235, 69, 15, 5, 235, 70, 233, 239, 29, 103, 113, 233, 239, 29, 72,
+ 15, 5, 235, 70, 113, 235, 70, 233, 239, 29, 103, 113, 233, 239, 29, 72,
+ 15, 5, 235, 19, 15, 5, 234, 212, 15, 5, 234, 213, 29, 252, 221, 15, 5,
+ 234, 213, 29, 72, 15, 5, 234, 213, 29, 215, 194, 15, 5, 234, 209, 15, 5,
+ 234, 201, 15, 5, 234, 188, 15, 5, 234, 187, 15, 5, 234, 185, 15, 5, 234,
+ 186, 113, 234, 185, 15, 5, 234, 81, 15, 5, 234, 82, 113, 242, 29, 29,
+ 254, 16, 234, 82, 113, 242, 29, 29, 254, 15, 15, 5, 234, 79, 15, 5, 234,
+ 77, 15, 5, 234, 78, 214, 250, 17, 15, 5, 234, 76, 15, 5, 234, 73, 15, 5,
+ 234, 74, 242, 196, 15, 5, 234, 72, 15, 5, 234, 60, 15, 5, 234, 61, 227,
+ 68, 234, 60, 15, 5, 234, 55, 15, 5, 234, 36, 15, 5, 233, 255, 15, 5, 233,
+ 238, 15, 5, 233, 239, 29, 63, 15, 5, 233, 239, 29, 111, 95, 249, 31, 95,
+ 162, 15, 5, 233, 239, 29, 111, 95, 243, 192, 15, 5, 233, 239, 29, 111,
+ 95, 233, 226, 15, 5, 233, 239, 29, 254, 213, 15, 5, 233, 239, 29, 254,
+ 159, 15, 5, 233, 239, 29, 254, 18, 212, 33, 217, 205, 15, 5, 233, 239,
+ 29, 252, 221, 15, 5, 233, 239, 29, 252, 54, 15, 5, 233, 239, 29, 248,
+ 233, 15, 5, 233, 239, 29, 245, 229, 15, 5, 233, 239, 29, 243, 230, 15, 5,
+ 233, 239, 29, 243, 192, 15, 5, 233, 239, 29, 242, 205, 15, 5, 233, 239,
+ 29, 242, 206, 95, 242, 205, 15, 5, 233, 239, 29, 162, 15, 5, 233, 239,
+ 29, 242, 132, 15, 5, 233, 239, 29, 242, 29, 29, 228, 93, 15, 5, 233, 239,
+ 29, 236, 148, 242, 196, 15, 5, 233, 239, 29, 236, 128, 15, 5, 233, 239,
+ 29, 236, 129, 95, 162, 15, 5, 233, 239, 29, 236, 129, 95, 232, 230, 15,
+ 5, 233, 239, 29, 234, 212, 15, 5, 233, 239, 29, 234, 201, 15, 5, 233,
+ 239, 29, 234, 79, 15, 5, 233, 239, 29, 234, 73, 15, 5, 233, 239, 29, 234,
+ 74, 95, 242, 29, 95, 63, 15, 5, 233, 239, 29, 233, 238, 15, 5, 233, 239,
+ 29, 233, 67, 15, 5, 233, 239, 29, 232, 230, 15, 5, 233, 239, 29, 232,
+ 218, 15, 5, 233, 239, 29, 231, 226, 15, 5, 233, 239, 29, 231, 227, 95,
+ 245, 229, 15, 5, 233, 239, 29, 230, 201, 15, 5, 233, 239, 29, 229, 254,
+ 15, 5, 233, 239, 29, 221, 9, 95, 219, 2, 15, 5, 233, 239, 29, 220, 211,
+ 95, 243, 31, 95, 245, 171, 15, 5, 233, 239, 29, 220, 211, 95, 243, 31,
+ 217, 205, 15, 5, 233, 239, 29, 220, 168, 15, 5, 233, 239, 29, 220, 169,
+ 95, 220, 168, 15, 5, 233, 239, 29, 219, 2, 15, 5, 233, 239, 29, 218, 47,
+ 15, 5, 233, 239, 29, 218, 35, 15, 5, 233, 239, 29, 217, 243, 95, 111, 95,
+ 219, 42, 95, 207, 15, 5, 233, 239, 29, 72, 15, 5, 233, 239, 29, 103, 95,
+ 63, 15, 5, 233, 239, 29, 103, 95, 103, 95, 72, 15, 5, 233, 239, 29, 215,
+ 204, 95, 254, 17, 15, 5, 233, 239, 29, 215, 194, 15, 5, 233, 239, 29,
+ 215, 106, 15, 5, 233, 239, 219, 184, 15, 5, 233, 236, 15, 5, 233, 237,
+ 29, 221, 8, 15, 5, 233, 237, 29, 221, 9, 95, 219, 2, 15, 5, 233, 237,
+ 242, 196, 15, 5, 233, 237, 242, 197, 113, 233, 237, 242, 197, 221, 8, 15,
+ 5, 233, 233, 15, 5, 233, 226, 15, 5, 233, 227, 29, 233, 226, 15, 5, 233,
+ 224, 15, 5, 233, 225, 29, 234, 60, 15, 5, 233, 225, 29, 234, 61, 95, 223,
+ 77, 15, 5, 233, 111, 15, 5, 233, 96, 15, 5, 233, 86, 15, 5, 233, 67, 15,
+ 5, 232, 230, 15, 5, 232, 231, 29, 252, 221, 15, 5, 232, 228, 15, 5, 232,
+ 229, 29, 254, 213, 15, 5, 232, 229, 29, 252, 221, 15, 5, 232, 229, 29,
+ 245, 158, 15, 5, 232, 229, 29, 245, 159, 217, 205, 15, 5, 232, 229, 29,
+ 243, 201, 217, 205, 15, 5, 232, 229, 29, 242, 29, 29, 252, 221, 15, 5,
+ 232, 229, 29, 236, 128, 15, 5, 232, 229, 29, 235, 119, 15, 5, 232, 229,
+ 29, 235, 117, 15, 5, 232, 229, 29, 235, 118, 95, 254, 17, 15, 5, 232,
+ 229, 29, 234, 212, 15, 5, 232, 229, 29, 234, 0, 95, 254, 17, 15, 5, 232,
+ 229, 29, 233, 238, 15, 5, 232, 229, 29, 231, 227, 95, 245, 229, 15, 5,
+ 232, 229, 29, 229, 254, 15, 5, 232, 229, 29, 228, 135, 15, 5, 232, 229,
+ 29, 220, 137, 95, 254, 17, 15, 5, 232, 229, 29, 220, 119, 95, 251, 179,
+ 15, 5, 232, 229, 29, 216, 85, 15, 5, 232, 229, 217, 205, 15, 5, 232, 229,
+ 249, 188, 232, 228, 15, 5, 232, 229, 227, 68, 232, 228, 15, 5, 232, 229,
+ 219, 184, 15, 5, 232, 229, 220, 246, 15, 5, 232, 227, 15, 5, 232, 223,
+ 15, 5, 232, 224, 113, 232, 223, 15, 5, 232, 224, 227, 68, 232, 223, 15,
+ 5, 232, 224, 220, 246, 15, 5, 232, 221, 15, 5, 232, 218, 15, 5, 232, 216,
+ 15, 5, 232, 217, 113, 232, 216, 15, 5, 232, 217, 113, 232, 217, 243, 193,
+ 113, 243, 192, 15, 5, 191, 15, 5, 232, 116, 29, 218, 35, 15, 5, 232, 116,
+ 242, 196, 15, 5, 232, 115, 15, 5, 232, 88, 15, 5, 232, 44, 15, 5, 232,
+ 25, 15, 5, 232, 24, 15, 5, 231, 226, 15, 5, 231, 182, 15, 5, 231, 112,
+ 15, 5, 231, 71, 15, 5, 230, 242, 15, 5, 230, 243, 113, 230, 242, 15, 5,
+ 230, 233, 15, 5, 230, 234, 242, 196, 15, 5, 230, 218, 15, 5, 230, 204,
+ 15, 5, 230, 201, 15, 5, 230, 202, 29, 63, 15, 5, 230, 202, 29, 234, 60,
+ 15, 5, 230, 202, 29, 212, 109, 15, 5, 230, 202, 113, 230, 201, 15, 5,
+ 230, 202, 113, 230, 202, 29, 111, 95, 207, 15, 5, 230, 202, 249, 188,
+ 230, 201, 15, 5, 230, 199, 15, 5, 230, 200, 29, 63, 15, 5, 230, 200, 29,
+ 111, 95, 248, 76, 15, 5, 230, 200, 29, 248, 76, 15, 5, 230, 200, 242,
+ 196, 15, 5, 207, 15, 5, 230, 114, 15, 5, 230, 103, 15, 5, 230, 104, 236,
+ 51, 15, 5, 230, 104, 29, 220, 171, 217, 205, 15, 5, 230, 104, 227, 68,
+ 230, 103, 15, 5, 230, 102, 15, 5, 230, 96, 228, 79, 15, 5, 230, 95, 15,
+ 5, 230, 94, 15, 5, 229, 254, 15, 5, 229, 255, 29, 63, 15, 5, 229, 255,
+ 29, 215, 194, 15, 5, 229, 255, 220, 246, 15, 5, 229, 128, 15, 5, 229,
+ 129, 29, 77, 15, 5, 229, 127, 15, 5, 229, 98, 15, 5, 229, 99, 29, 243,
+ 201, 217, 205, 15, 5, 229, 99, 29, 243, 193, 95, 243, 201, 217, 205, 15,
+ 5, 229, 96, 15, 5, 229, 97, 29, 254, 159, 15, 5, 229, 97, 29, 254, 17,
+ 15, 5, 229, 97, 29, 254, 18, 95, 254, 17, 15, 5, 229, 97, 29, 242, 205,
+ 15, 5, 229, 97, 29, 231, 227, 95, 243, 201, 217, 205, 15, 5, 229, 97, 29,
+ 229, 254, 15, 5, 229, 97, 29, 228, 93, 15, 5, 229, 97, 29, 221, 8, 15, 5,
+ 229, 97, 29, 221, 9, 95, 111, 254, 159, 15, 5, 229, 97, 29, 221, 9, 95,
+ 254, 17, 15, 5, 229, 97, 29, 221, 9, 95, 254, 18, 95, 254, 17, 15, 5,
+ 229, 97, 29, 215, 204, 95, 254, 17, 15, 5, 229, 97, 29, 215, 106, 15, 5,
+ 229, 85, 15, 5, 228, 135, 15, 5, 228, 108, 15, 5, 228, 93, 15, 5, 228,
+ 94, 233, 237, 29, 243, 192, 15, 5, 228, 94, 233, 237, 29, 232, 25, 15, 5,
+ 228, 94, 233, 237, 29, 222, 203, 15, 5, 228, 94, 233, 237, 29, 222, 204,
+ 113, 228, 94, 233, 237, 29, 222, 203, 15, 5, 228, 94, 233, 237, 29, 215,
+ 106, 15, 5, 228, 94, 217, 205, 15, 5, 228, 94, 113, 228, 93, 15, 5, 228,
+ 94, 249, 188, 228, 93, 15, 5, 228, 94, 249, 188, 228, 94, 233, 237, 113,
+ 233, 236, 15, 5, 228, 88, 15, 5, 228, 89, 255, 56, 29, 254, 12, 15, 5,
+ 228, 89, 255, 56, 29, 252, 54, 15, 5, 228, 89, 255, 56, 29, 246, 150, 15,
+ 5, 228, 89, 255, 56, 29, 242, 205, 15, 5, 228, 89, 255, 56, 29, 236, 148,
+ 242, 196, 15, 5, 228, 89, 255, 56, 29, 235, 117, 15, 5, 228, 89, 255, 56,
+ 29, 233, 255, 15, 5, 228, 89, 255, 56, 29, 229, 254, 15, 5, 228, 89, 255,
+ 56, 29, 220, 116, 15, 5, 228, 89, 255, 56, 29, 215, 203, 15, 5, 228, 89,
+ 234, 186, 29, 252, 54, 15, 5, 228, 89, 234, 186, 29, 252, 55, 72, 15, 5,
+ 195, 15, 5, 226, 242, 15, 5, 226, 211, 15, 5, 226, 186, 15, 5, 226, 73,
+ 15, 5, 226, 20, 15, 5, 226, 21, 29, 63, 15, 5, 226, 21, 29, 255, 57, 15,
+ 5, 226, 21, 29, 252, 54, 15, 5, 226, 21, 29, 251, 179, 15, 5, 226, 21,
+ 29, 77, 15, 5, 226, 21, 29, 75, 15, 5, 226, 21, 29, 240, 225, 15, 5, 226,
+ 21, 29, 72, 15, 5, 226, 21, 29, 215, 203, 15, 5, 226, 21, 249, 188, 226,
+ 20, 15, 5, 225, 221, 15, 5, 225, 222, 29, 235, 100, 15, 5, 225, 222, 29,
+ 215, 194, 15, 5, 225, 222, 29, 212, 109, 15, 5, 225, 222, 227, 68, 225,
+ 221, 15, 5, 208, 15, 5, 224, 107, 15, 5, 223, 222, 15, 5, 223, 77, 15, 5,
+ 222, 227, 15, 5, 222, 216, 228, 79, 15, 5, 222, 215, 15, 5, 222, 216, 29,
+ 63, 15, 5, 222, 216, 29, 246, 154, 15, 5, 222, 216, 29, 246, 152, 15, 5,
+ 222, 216, 29, 162, 15, 5, 222, 216, 29, 235, 104, 15, 5, 222, 216, 29,
+ 234, 60, 15, 5, 222, 216, 29, 232, 216, 15, 5, 222, 216, 29, 231, 112,
+ 15, 5, 222, 216, 29, 228, 93, 15, 5, 222, 216, 29, 222, 203, 15, 5, 222,
+ 216, 29, 220, 231, 15, 5, 222, 216, 29, 218, 55, 15, 5, 222, 216, 29,
+ 215, 203, 15, 5, 222, 216, 29, 215, 200, 15, 5, 222, 216, 29, 215, 173,
+ 15, 5, 222, 216, 29, 215, 127, 15, 5, 222, 216, 29, 215, 106, 15, 5, 222,
+ 216, 113, 222, 215, 15, 5, 222, 216, 242, 196, 15, 5, 222, 203, 15, 5,
+ 222, 204, 233, 239, 29, 254, 15, 15, 5, 222, 179, 15, 5, 222, 171, 15, 5,
+ 221, 47, 15, 5, 221, 45, 15, 5, 221, 46, 29, 63, 15, 5, 221, 46, 29, 252,
+ 221, 15, 5, 221, 46, 29, 243, 30, 15, 5, 221, 46, 29, 229, 254, 15, 5,
+ 221, 46, 29, 220, 168, 15, 5, 221, 46, 29, 216, 70, 15, 5, 221, 46, 29,
+ 72, 15, 5, 221, 46, 29, 103, 95, 63, 15, 5, 221, 44, 15, 5, 221, 42, 15,
+ 5, 221, 23, 15, 5, 221, 8, 15, 5, 221, 9, 241, 74, 15, 5, 221, 9, 113,
+ 221, 9, 243, 222, 113, 243, 222, 243, 193, 113, 243, 192, 15, 5, 221, 9,
+ 113, 221, 9, 218, 56, 113, 218, 56, 243, 193, 113, 243, 192, 15, 5, 221,
+ 1, 15, 5, 220, 252, 15, 5, 220, 249, 15, 5, 220, 248, 15, 5, 220, 245,
+ 15, 5, 220, 231, 15, 5, 220, 232, 29, 63, 15, 5, 220, 232, 29, 236, 128,
+ 15, 5, 220, 225, 15, 5, 220, 226, 29, 63, 15, 5, 220, 226, 29, 252, 207,
+ 15, 5, 220, 226, 29, 251, 163, 15, 5, 220, 226, 29, 248, 23, 15, 5, 220,
+ 226, 29, 243, 192, 15, 5, 220, 226, 29, 236, 147, 15, 5, 220, 226, 29,
+ 236, 148, 242, 196, 15, 5, 220, 226, 29, 234, 55, 15, 5, 220, 226, 29,
+ 232, 218, 15, 5, 220, 226, 29, 230, 233, 15, 5, 220, 226, 29, 222, 203,
+ 15, 5, 220, 219, 15, 5, 220, 214, 15, 5, 220, 215, 217, 205, 15, 5, 220,
+ 215, 113, 220, 215, 251, 153, 113, 251, 152, 15, 5, 220, 210, 15, 5, 220,
+ 170, 15, 5, 220, 171, 113, 236, 52, 220, 170, 15, 5, 220, 168, 15, 5,
+ 220, 167, 15, 5, 220, 136, 15, 5, 220, 137, 242, 196, 15, 5, 220, 127,
+ 15, 5, 220, 125, 15, 5, 220, 126, 113, 220, 126, 220, 168, 15, 5, 220,
+ 118, 15, 5, 220, 116, 15, 5, 219, 41, 15, 5, 219, 42, 113, 219, 41, 15,
+ 5, 219, 13, 15, 5, 219, 12, 15, 5, 219, 10, 15, 5, 219, 2, 15, 5, 219, 1,
+ 15, 5, 218, 231, 15, 5, 218, 230, 15, 5, 218, 66, 15, 5, 218, 67, 254, 3,
+ 15, 5, 218, 67, 29, 242, 28, 15, 5, 218, 67, 29, 231, 112, 15, 5, 218,
+ 67, 242, 196, 15, 5, 218, 55, 15, 5, 218, 56, 113, 218, 56, 229, 129,
+ 113, 229, 129, 248, 5, 113, 248, 4, 15, 5, 218, 56, 219, 184, 15, 5, 218,
+ 47, 15, 5, 128, 29, 252, 54, 15, 5, 128, 29, 242, 205, 15, 5, 128, 29,
+ 221, 8, 15, 5, 128, 29, 220, 170, 15, 5, 128, 29, 216, 85, 15, 5, 128,
+ 29, 215, 194, 15, 5, 218, 35, 15, 5, 218, 14, 15, 5, 217, 242, 15, 5,
+ 217, 243, 242, 196, 15, 5, 217, 84, 15, 5, 217, 85, 217, 205, 15, 5, 217,
+ 57, 15, 5, 217, 39, 15, 5, 217, 40, 29, 218, 35, 15, 5, 217, 40, 113,
+ 217, 39, 15, 5, 217, 40, 113, 217, 40, 243, 222, 113, 243, 222, 243, 193,
+ 113, 243, 192, 15, 5, 216, 90, 15, 5, 216, 85, 15, 5, 216, 83, 15, 5,
+ 216, 80, 15, 5, 216, 70, 15, 5, 216, 71, 113, 216, 71, 212, 110, 113,
+ 212, 109, 15, 5, 72, 15, 5, 103, 242, 205, 15, 5, 103, 103, 72, 15, 5,
+ 103, 113, 103, 226, 252, 113, 226, 252, 243, 193, 113, 243, 192, 15, 5,
+ 103, 113, 103, 218, 232, 113, 218, 231, 15, 5, 103, 113, 103, 103, 223,
+ 236, 113, 103, 223, 235, 15, 5, 215, 203, 15, 5, 215, 200, 15, 5, 215,
+ 194, 15, 5, 215, 195, 234, 55, 15, 5, 215, 195, 29, 252, 221, 15, 5, 215,
+ 195, 29, 231, 112, 15, 5, 215, 195, 29, 103, 95, 103, 95, 72, 15, 5, 215,
+ 195, 29, 103, 95, 103, 95, 103, 242, 196, 15, 5, 215, 195, 242, 196, 15,
+ 5, 215, 195, 220, 246, 15, 5, 215, 195, 220, 247, 29, 252, 221, 15, 5,
+ 215, 190, 15, 5, 215, 173, 15, 5, 215, 174, 29, 233, 238, 15, 5, 215,
+ 174, 29, 231, 227, 95, 249, 30, 15, 5, 215, 174, 29, 221, 45, 15, 5, 215,
+ 174, 29, 72, 15, 5, 215, 172, 15, 5, 215, 168, 15, 5, 215, 169, 29, 235,
+ 69, 15, 5, 215, 169, 29, 195, 15, 5, 215, 166, 15, 5, 215, 167, 242, 196,
+ 15, 5, 215, 127, 15, 5, 215, 128, 249, 188, 215, 127, 15, 5, 215, 128,
+ 220, 246, 15, 5, 215, 125, 15, 5, 215, 126, 29, 111, 95, 162, 15, 5, 215,
+ 126, 29, 111, 95, 207, 15, 5, 215, 126, 29, 254, 213, 15, 5, 215, 126,
+ 29, 162, 15, 5, 215, 126, 29, 228, 93, 15, 5, 215, 126, 29, 215, 203, 15,
+ 5, 215, 126, 29, 215, 204, 95, 254, 17, 15, 5, 215, 126, 29, 215, 204,
+ 95, 252, 54, 15, 5, 215, 124, 15, 5, 215, 121, 15, 5, 215, 120, 15, 5,
+ 215, 116, 15, 5, 215, 117, 29, 63, 15, 5, 215, 117, 29, 254, 12, 15, 5,
+ 215, 117, 29, 134, 15, 5, 215, 117, 29, 246, 144, 15, 5, 215, 117, 29,
+ 243, 230, 15, 5, 215, 117, 29, 243, 214, 15, 5, 215, 117, 29, 243, 201,
+ 217, 205, 15, 5, 215, 117, 29, 243, 192, 15, 5, 215, 117, 29, 242, 213,
+ 15, 5, 215, 117, 29, 162, 15, 5, 215, 117, 29, 236, 147, 15, 5, 215, 117,
+ 29, 236, 128, 15, 5, 215, 117, 29, 236, 24, 15, 5, 215, 117, 29, 234,
+ 212, 15, 5, 215, 117, 29, 232, 216, 15, 5, 215, 117, 29, 231, 71, 15, 5,
+ 215, 117, 29, 195, 15, 5, 215, 117, 29, 221, 8, 15, 5, 215, 117, 29, 220,
+ 125, 15, 5, 215, 117, 29, 216, 90, 15, 5, 215, 117, 29, 103, 95, 242,
+ 205, 15, 5, 215, 117, 29, 215, 194, 15, 5, 215, 117, 29, 215, 114, 15, 5,
+ 215, 114, 15, 5, 215, 115, 29, 72, 15, 5, 215, 106, 15, 5, 215, 107, 29,
+ 63, 15, 5, 215, 107, 29, 234, 81, 15, 5, 215, 107, 29, 234, 60, 15, 5,
+ 215, 107, 29, 218, 35, 15, 5, 215, 102, 15, 5, 215, 105, 15, 5, 215, 103,
+ 15, 5, 215, 99, 15, 5, 215, 88, 15, 5, 215, 89, 29, 235, 69, 15, 5, 215,
+ 87, 15, 5, 212, 109, 15, 5, 212, 110, 217, 205, 15, 5, 212, 110, 92, 29,
+ 234, 60, 15, 5, 212, 106, 15, 5, 212, 99, 15, 5, 212, 86, 15, 5, 212, 37,
+ 15, 5, 212, 38, 113, 212, 37, 15, 5, 212, 36, 15, 5, 212, 34, 15, 5, 212,
+ 35, 235, 121, 217, 205, 15, 5, 212, 29, 15, 5, 212, 21, 15, 5, 212, 8,
+ 15, 5, 212, 6, 15, 5, 212, 7, 29, 63, 15, 5, 212, 5, 15, 5, 212, 4, 15,
+ 130, 5, 119, 254, 17, 15, 130, 5, 137, 254, 17, 15, 130, 5, 244, 101,
+ 254, 17, 15, 130, 5, 244, 170, 254, 17, 15, 130, 5, 220, 72, 254, 17, 15,
+ 130, 5, 221, 66, 254, 17, 15, 130, 5, 246, 15, 254, 17, 15, 130, 5, 229,
+ 95, 254, 17, 15, 130, 5, 137, 248, 4, 15, 130, 5, 244, 101, 248, 4, 15,
+ 130, 5, 244, 170, 248, 4, 15, 130, 5, 220, 72, 248, 4, 15, 130, 5, 221,
+ 66, 248, 4, 15, 130, 5, 246, 15, 248, 4, 15, 130, 5, 229, 95, 248, 4, 15,
+ 130, 5, 244, 101, 72, 15, 130, 5, 244, 170, 72, 15, 130, 5, 220, 72, 72,
+ 15, 130, 5, 221, 66, 72, 15, 130, 5, 246, 15, 72, 15, 130, 5, 229, 95,
+ 72, 15, 130, 5, 124, 243, 134, 15, 130, 5, 119, 243, 134, 15, 130, 5,
+ 137, 243, 134, 15, 130, 5, 244, 101, 243, 134, 15, 130, 5, 244, 170, 243,
+ 134, 15, 130, 5, 220, 72, 243, 134, 15, 130, 5, 221, 66, 243, 134, 15,
+ 130, 5, 246, 15, 243, 134, 15, 130, 5, 229, 95, 243, 134, 15, 130, 5,
+ 124, 243, 131, 15, 130, 5, 119, 243, 131, 15, 130, 5, 137, 243, 131, 15,
+ 130, 5, 244, 101, 243, 131, 15, 130, 5, 244, 170, 243, 131, 15, 130, 5,
+ 119, 221, 23, 15, 130, 5, 137, 221, 23, 15, 130, 5, 137, 221, 24, 214,
+ 250, 17, 15, 130, 5, 244, 101, 221, 23, 15, 130, 5, 244, 170, 221, 23,
+ 15, 130, 5, 220, 72, 221, 23, 15, 130, 5, 221, 66, 221, 23, 15, 130, 5,
+ 246, 15, 221, 23, 15, 130, 5, 229, 95, 221, 23, 15, 130, 5, 124, 221, 18,
+ 15, 130, 5, 119, 221, 18, 15, 130, 5, 137, 221, 18, 15, 130, 5, 137, 221,
+ 19, 214, 250, 17, 15, 130, 5, 244, 101, 221, 18, 15, 130, 5, 244, 170,
+ 221, 18, 15, 130, 5, 221, 24, 29, 243, 215, 95, 248, 4, 15, 130, 5, 221,
+ 24, 29, 243, 215, 95, 231, 71, 15, 130, 5, 124, 251, 149, 15, 130, 5,
+ 119, 251, 149, 15, 130, 5, 137, 251, 149, 15, 130, 5, 137, 251, 150, 214,
+ 250, 17, 15, 130, 5, 244, 101, 251, 149, 15, 130, 5, 244, 170, 251, 149,
+ 15, 130, 5, 137, 214, 250, 244, 109, 245, 160, 15, 130, 5, 137, 214, 250,
+ 244, 109, 245, 157, 15, 130, 5, 244, 101, 214, 250, 244, 109, 233, 87,
+ 15, 130, 5, 244, 101, 214, 250, 244, 109, 233, 85, 15, 130, 5, 244, 101,
+ 214, 250, 244, 109, 233, 88, 63, 15, 130, 5, 244, 101, 214, 250, 244,
+ 109, 233, 88, 253, 201, 15, 130, 5, 220, 72, 214, 250, 244, 109, 254, 14,
+ 15, 130, 5, 221, 66, 214, 250, 244, 109, 236, 120, 15, 130, 5, 221, 66,
+ 214, 250, 244, 109, 236, 122, 63, 15, 130, 5, 221, 66, 214, 250, 244,
+ 109, 236, 122, 253, 201, 15, 130, 5, 246, 15, 214, 250, 244, 109, 215,
+ 101, 15, 130, 5, 246, 15, 214, 250, 244, 109, 215, 100, 15, 130, 5, 229,
+ 95, 214, 250, 244, 109, 236, 136, 15, 130, 5, 229, 95, 214, 250, 244,
+ 109, 236, 135, 15, 130, 5, 229, 95, 214, 250, 244, 109, 236, 134, 15,
+ 130, 5, 229, 95, 214, 250, 244, 109, 236, 137, 63, 15, 130, 5, 119, 254,
+ 18, 217, 205, 15, 130, 5, 137, 254, 18, 217, 205, 15, 130, 5, 244, 101,
+ 254, 18, 217, 205, 15, 130, 5, 244, 170, 254, 18, 217, 205, 15, 130, 5,
+ 220, 72, 254, 18, 217, 205, 15, 130, 5, 124, 252, 196, 15, 130, 5, 119,
+ 252, 196, 15, 130, 5, 137, 252, 196, 15, 130, 5, 244, 101, 252, 196, 15,
+ 130, 5, 244, 101, 252, 197, 214, 250, 17, 15, 130, 5, 244, 170, 252, 196,
+ 15, 130, 5, 244, 170, 252, 197, 214, 250, 17, 15, 130, 5, 229, 105, 15,
+ 130, 5, 229, 106, 15, 130, 5, 124, 245, 156, 15, 130, 5, 119, 245, 156,
+ 15, 130, 5, 124, 217, 135, 248, 4, 15, 130, 5, 119, 217, 133, 248, 4, 15,
+ 130, 5, 244, 170, 220, 61, 248, 4, 15, 130, 5, 124, 217, 135, 214, 250,
+ 244, 109, 63, 15, 130, 5, 119, 217, 133, 214, 250, 244, 109, 63, 15, 130,
+ 5, 124, 246, 11, 254, 17, 15, 130, 5, 124, 224, 202, 254, 17, 15, 130, 5,
+ 54, 254, 6, 124, 220, 62, 15, 130, 5, 54, 254, 6, 124, 224, 201, 15, 225,
+ 63, 5, 54, 254, 6, 213, 199, 247, 245, 15, 225, 63, 5, 66, 250, 30, 15,
+ 225, 63, 5, 248, 72, 250, 30, 15, 225, 63, 5, 248, 72, 216, 192, 10, 11,
+ 255, 186, 10, 11, 255, 185, 10, 11, 255, 184, 10, 11, 255, 183, 10, 11,
+ 255, 182, 10, 11, 255, 181, 10, 11, 255, 180, 10, 11, 255, 179, 10, 11,
+ 255, 178, 10, 11, 255, 177, 10, 11, 255, 176, 10, 11, 255, 175, 10, 11,
+ 255, 174, 10, 11, 255, 173, 10, 11, 255, 172, 10, 11, 255, 171, 10, 11,
+ 255, 170, 10, 11, 255, 169, 10, 11, 255, 168, 10, 11, 255, 167, 10, 11,
+ 255, 166, 10, 11, 255, 165, 10, 11, 255, 164, 10, 11, 255, 163, 10, 11,
+ 255, 162, 10, 11, 255, 161, 10, 11, 255, 160, 10, 11, 255, 159, 10, 11,
+ 255, 158, 10, 11, 255, 157, 10, 11, 255, 156, 10, 11, 255, 155, 10, 11,
+ 255, 154, 10, 11, 255, 153, 10, 11, 255, 152, 10, 11, 255, 151, 10, 11,
+ 255, 150, 10, 11, 255, 149, 10, 11, 255, 148, 10, 11, 255, 147, 10, 11,
+ 255, 146, 10, 11, 255, 145, 10, 11, 255, 144, 10, 11, 255, 143, 10, 11,
+ 255, 142, 10, 11, 255, 141, 10, 11, 255, 140, 10, 11, 255, 139, 10, 11,
+ 255, 138, 10, 11, 255, 137, 10, 11, 255, 136, 10, 11, 255, 135, 10, 11,
+ 255, 134, 10, 11, 255, 133, 10, 11, 255, 132, 10, 11, 255, 131, 10, 11,
+ 255, 130, 10, 11, 255, 129, 10, 11, 255, 128, 10, 11, 255, 127, 10, 11,
+ 255, 126, 10, 11, 255, 125, 10, 11, 255, 124, 10, 11, 255, 123, 10, 11,
+ 255, 122, 10, 11, 255, 121, 10, 11, 255, 120, 10, 11, 255, 119, 10, 11,
+ 255, 118, 10, 11, 255, 117, 10, 11, 255, 116, 10, 11, 255, 115, 10, 11,
+ 255, 114, 10, 11, 255, 113, 10, 11, 255, 112, 10, 11, 255, 111, 10, 11,
+ 255, 110, 10, 11, 255, 109, 10, 11, 255, 108, 10, 11, 255, 107, 10, 11,
+ 253, 199, 10, 11, 253, 197, 10, 11, 253, 195, 10, 11, 253, 193, 10, 11,
+ 253, 191, 10, 11, 253, 190, 10, 11, 253, 188, 10, 11, 253, 186, 10, 11,
+ 253, 184, 10, 11, 253, 182, 10, 11, 251, 117, 10, 11, 251, 116, 10, 11,
+ 251, 115, 10, 11, 251, 114, 10, 11, 251, 113, 10, 11, 251, 112, 10, 11,
+ 251, 111, 10, 11, 251, 110, 10, 11, 251, 109, 10, 11, 251, 108, 10, 11,
+ 251, 107, 10, 11, 251, 106, 10, 11, 251, 105, 10, 11, 251, 104, 10, 11,
+ 251, 103, 10, 11, 251, 102, 10, 11, 251, 101, 10, 11, 251, 100, 10, 11,
+ 251, 99, 10, 11, 251, 98, 10, 11, 251, 97, 10, 11, 251, 96, 10, 11, 251,
+ 95, 10, 11, 251, 94, 10, 11, 251, 93, 10, 11, 251, 92, 10, 11, 251, 91,
+ 10, 11, 251, 90, 10, 11, 249, 124, 10, 11, 249, 123, 10, 11, 249, 122,
+ 10, 11, 249, 121, 10, 11, 249, 120, 10, 11, 249, 119, 10, 11, 249, 118,
+ 10, 11, 249, 117, 10, 11, 249, 116, 10, 11, 249, 115, 10, 11, 249, 114,
+ 10, 11, 249, 113, 10, 11, 249, 112, 10, 11, 249, 111, 10, 11, 249, 110,
+ 10, 11, 249, 109, 10, 11, 249, 108, 10, 11, 249, 107, 10, 11, 249, 106,
+ 10, 11, 249, 105, 10, 11, 249, 104, 10, 11, 249, 103, 10, 11, 249, 102,
+ 10, 11, 249, 101, 10, 11, 249, 100, 10, 11, 249, 99, 10, 11, 249, 98, 10,
+ 11, 249, 97, 10, 11, 249, 96, 10, 11, 249, 95, 10, 11, 249, 94, 10, 11,
+ 249, 93, 10, 11, 249, 92, 10, 11, 249, 91, 10, 11, 249, 90, 10, 11, 249,
+ 89, 10, 11, 249, 88, 10, 11, 249, 87, 10, 11, 249, 86, 10, 11, 249, 85,
+ 10, 11, 249, 84, 10, 11, 249, 83, 10, 11, 249, 82, 10, 11, 249, 81, 10,
+ 11, 249, 80, 10, 11, 249, 79, 10, 11, 249, 78, 10, 11, 249, 77, 10, 11,
+ 249, 76, 10, 11, 249, 75, 10, 11, 249, 74, 10, 11, 249, 73, 10, 11, 249,
+ 72, 10, 11, 249, 71, 10, 11, 249, 70, 10, 11, 249, 69, 10, 11, 249, 68,
+ 10, 11, 249, 67, 10, 11, 249, 66, 10, 11, 249, 65, 10, 11, 249, 64, 10,
+ 11, 249, 63, 10, 11, 249, 62, 10, 11, 249, 61, 10, 11, 249, 60, 10, 11,
+ 249, 59, 10, 11, 249, 58, 10, 11, 249, 57, 10, 11, 249, 56, 10, 11, 249,
+ 55, 10, 11, 249, 54, 10, 11, 249, 53, 10, 11, 249, 52, 10, 11, 249, 51,
+ 10, 11, 249, 50, 10, 11, 249, 49, 10, 11, 249, 48, 10, 11, 249, 47, 10,
+ 11, 249, 46, 10, 11, 249, 45, 10, 11, 249, 44, 10, 11, 249, 43, 10, 11,
+ 249, 42, 10, 11, 249, 41, 10, 11, 249, 40, 10, 11, 249, 39, 10, 11, 249,
+ 38, 10, 11, 249, 37, 10, 11, 249, 36, 10, 11, 249, 35, 10, 11, 249, 34,
+ 10, 11, 249, 33, 10, 11, 246, 100, 10, 11, 246, 99, 10, 11, 246, 98, 10,
+ 11, 246, 97, 10, 11, 246, 96, 10, 11, 246, 95, 10, 11, 246, 94, 10, 11,
+ 246, 93, 10, 11, 246, 92, 10, 11, 246, 91, 10, 11, 246, 90, 10, 11, 246,
+ 89, 10, 11, 246, 88, 10, 11, 246, 87, 10, 11, 246, 86, 10, 11, 246, 85,
+ 10, 11, 246, 84, 10, 11, 246, 83, 10, 11, 246, 82, 10, 11, 246, 81, 10,
+ 11, 246, 80, 10, 11, 246, 79, 10, 11, 246, 78, 10, 11, 246, 77, 10, 11,
+ 246, 76, 10, 11, 246, 75, 10, 11, 246, 74, 10, 11, 246, 73, 10, 11, 246,
+ 72, 10, 11, 246, 71, 10, 11, 246, 70, 10, 11, 246, 69, 10, 11, 246, 68,
+ 10, 11, 246, 67, 10, 11, 246, 66, 10, 11, 246, 65, 10, 11, 246, 64, 10,
+ 11, 246, 63, 10, 11, 246, 62, 10, 11, 246, 61, 10, 11, 246, 60, 10, 11,
+ 246, 59, 10, 11, 246, 58, 10, 11, 246, 57, 10, 11, 245, 94, 10, 11, 245,
+ 93, 10, 11, 245, 92, 10, 11, 245, 91, 10, 11, 245, 90, 10, 11, 245, 89,
+ 10, 11, 245, 88, 10, 11, 245, 87, 10, 11, 245, 86, 10, 11, 245, 85, 10,
+ 11, 245, 84, 10, 11, 245, 83, 10, 11, 245, 82, 10, 11, 245, 81, 10, 11,
+ 245, 80, 10, 11, 245, 79, 10, 11, 245, 78, 10, 11, 245, 77, 10, 11, 245,
+ 76, 10, 11, 245, 75, 10, 11, 245, 74, 10, 11, 245, 73, 10, 11, 245, 72,
+ 10, 11, 245, 71, 10, 11, 245, 70, 10, 11, 245, 69, 10, 11, 245, 68, 10,
+ 11, 245, 67, 10, 11, 245, 66, 10, 11, 245, 65, 10, 11, 245, 64, 10, 11,
+ 245, 63, 10, 11, 245, 62, 10, 11, 245, 61, 10, 11, 245, 60, 10, 11, 245,
+ 59, 10, 11, 245, 58, 10, 11, 245, 57, 10, 11, 245, 56, 10, 11, 245, 55,
+ 10, 11, 245, 54, 10, 11, 245, 53, 10, 11, 245, 52, 10, 11, 245, 51, 10,
+ 11, 245, 50, 10, 11, 245, 49, 10, 11, 245, 48, 10, 11, 245, 47, 10, 11,
+ 245, 46, 10, 11, 245, 45, 10, 11, 245, 44, 10, 11, 245, 43, 10, 11, 245,
+ 42, 10, 11, 245, 41, 10, 11, 245, 40, 10, 11, 245, 39, 10, 11, 245, 38,
+ 10, 11, 245, 37, 10, 11, 245, 36, 10, 11, 245, 35, 10, 11, 245, 34, 10,
+ 11, 245, 33, 10, 11, 245, 32, 10, 11, 245, 31, 10, 11, 245, 30, 10, 11,
+ 244, 40, 10, 11, 244, 39, 10, 11, 244, 38, 10, 11, 244, 37, 10, 11, 244,
+ 36, 10, 11, 244, 35, 10, 11, 244, 34, 10, 11, 244, 33, 10, 11, 244, 32,
+ 10, 11, 244, 31, 10, 11, 244, 30, 10, 11, 244, 29, 10, 11, 244, 28, 10,
+ 11, 244, 27, 10, 11, 244, 26, 10, 11, 244, 25, 10, 11, 244, 24, 10, 11,
+ 244, 23, 10, 11, 244, 22, 10, 11, 244, 21, 10, 11, 244, 20, 10, 11, 244,
+ 19, 10, 11, 244, 18, 10, 11, 244, 17, 10, 11, 244, 16, 10, 11, 244, 15,
+ 10, 11, 244, 14, 10, 11, 244, 13, 10, 11, 244, 12, 10, 11, 244, 11, 10,
+ 11, 244, 10, 10, 11, 244, 9, 10, 11, 244, 8, 10, 11, 244, 7, 10, 11, 244,
+ 6, 10, 11, 244, 5, 10, 11, 244, 4, 10, 11, 244, 3, 10, 11, 244, 2, 10,
+ 11, 244, 1, 10, 11, 244, 0, 10, 11, 243, 255, 10, 11, 243, 254, 10, 11,
+ 243, 253, 10, 11, 243, 252, 10, 11, 243, 251, 10, 11, 243, 250, 10, 11,
+ 243, 249, 10, 11, 243, 248, 10, 11, 243, 247, 10, 11, 243, 246, 10, 11,
+ 243, 245, 10, 11, 243, 244, 10, 11, 243, 243, 10, 11, 243, 242, 10, 11,
+ 243, 241, 10, 11, 243, 240, 10, 11, 243, 239, 10, 11, 243, 238, 10, 11,
+ 243, 237, 10, 11, 243, 236, 10, 11, 243, 235, 10, 11, 243, 234, 10, 11,
+ 243, 233, 10, 11, 242, 160, 10, 11, 242, 159, 10, 11, 242, 158, 10, 11,
+ 242, 157, 10, 11, 242, 156, 10, 11, 242, 155, 10, 11, 242, 154, 10, 11,
+ 242, 153, 10, 11, 242, 152, 10, 11, 240, 247, 10, 11, 240, 246, 10, 11,
+ 240, 245, 10, 11, 240, 244, 10, 11, 240, 243, 10, 11, 240, 242, 10, 11,
+ 240, 241, 10, 11, 240, 240, 10, 11, 240, 239, 10, 11, 240, 238, 10, 11,
+ 240, 237, 10, 11, 240, 236, 10, 11, 240, 235, 10, 11, 240, 234, 10, 11,
+ 240, 233, 10, 11, 240, 232, 10, 11, 240, 231, 10, 11, 240, 230, 10, 11,
+ 240, 229, 10, 11, 235, 140, 10, 11, 235, 139, 10, 11, 235, 138, 10, 11,
+ 235, 137, 10, 11, 235, 136, 10, 11, 235, 135, 10, 11, 235, 134, 10, 11,
+ 235, 133, 10, 11, 234, 10, 10, 11, 234, 9, 10, 11, 234, 8, 10, 11, 234,
+ 7, 10, 11, 234, 6, 10, 11, 234, 5, 10, 11, 234, 4, 10, 11, 234, 3, 10,
+ 11, 234, 2, 10, 11, 234, 1, 10, 11, 232, 182, 10, 11, 232, 181, 10, 11,
+ 232, 180, 10, 11, 232, 179, 10, 11, 232, 178, 10, 11, 232, 177, 10, 11,
+ 232, 176, 10, 11, 232, 175, 10, 11, 232, 174, 10, 11, 232, 173, 10, 11,
+ 232, 172, 10, 11, 232, 171, 10, 11, 232, 170, 10, 11, 232, 169, 10, 11,
+ 232, 168, 10, 11, 232, 167, 10, 11, 232, 166, 10, 11, 232, 165, 10, 11,
+ 232, 164, 10, 11, 232, 163, 10, 11, 232, 162, 10, 11, 232, 161, 10, 11,
+ 232, 160, 10, 11, 232, 159, 10, 11, 232, 158, 10, 11, 232, 157, 10, 11,
+ 232, 156, 10, 11, 232, 155, 10, 11, 232, 154, 10, 11, 232, 153, 10, 11,
+ 232, 152, 10, 11, 232, 151, 10, 11, 232, 150, 10, 11, 232, 149, 10, 11,
+ 232, 148, 10, 11, 232, 147, 10, 11, 232, 146, 10, 11, 232, 145, 10, 11,
+ 232, 144, 10, 11, 232, 143, 10, 11, 232, 142, 10, 11, 232, 141, 10, 11,
+ 232, 140, 10, 11, 232, 139, 10, 11, 232, 138, 10, 11, 232, 137, 10, 11,
+ 232, 136, 10, 11, 232, 135, 10, 11, 232, 134, 10, 11, 232, 133, 10, 11,
+ 232, 132, 10, 11, 232, 131, 10, 11, 232, 130, 10, 11, 232, 129, 10, 11,
+ 232, 128, 10, 11, 232, 127, 10, 11, 232, 126, 10, 11, 232, 125, 10, 11,
+ 232, 124, 10, 11, 232, 123, 10, 11, 232, 122, 10, 11, 232, 121, 10, 11,
+ 232, 120, 10, 11, 232, 119, 10, 11, 232, 118, 10, 11, 232, 117, 10, 11,
+ 230, 164, 10, 11, 230, 163, 10, 11, 230, 162, 10, 11, 230, 161, 10, 11,
+ 230, 160, 10, 11, 230, 159, 10, 11, 230, 158, 10, 11, 230, 157, 10, 11,
+ 230, 156, 10, 11, 230, 155, 10, 11, 230, 154, 10, 11, 230, 153, 10, 11,
+ 230, 152, 10, 11, 230, 151, 10, 11, 230, 150, 10, 11, 230, 149, 10, 11,
+ 230, 148, 10, 11, 230, 147, 10, 11, 230, 146, 10, 11, 230, 145, 10, 11,
+ 230, 144, 10, 11, 230, 143, 10, 11, 230, 142, 10, 11, 230, 141, 10, 11,
+ 230, 140, 10, 11, 230, 139, 10, 11, 230, 138, 10, 11, 230, 137, 10, 11,
+ 230, 136, 10, 11, 230, 135, 10, 11, 230, 134, 10, 11, 230, 133, 10, 11,
+ 230, 132, 10, 11, 230, 131, 10, 11, 230, 130, 10, 11, 230, 129, 10, 11,
+ 230, 128, 10, 11, 230, 127, 10, 11, 230, 126, 10, 11, 230, 125, 10, 11,
+ 230, 124, 10, 11, 230, 123, 10, 11, 230, 122, 10, 11, 230, 121, 10, 11,
+ 230, 120, 10, 11, 230, 119, 10, 11, 230, 118, 10, 11, 230, 117, 10, 11,
+ 230, 116, 10, 11, 229, 30, 10, 11, 229, 29, 10, 11, 229, 28, 10, 11, 229,
+ 27, 10, 11, 229, 26, 10, 11, 229, 25, 10, 11, 229, 24, 10, 11, 229, 23,
+ 10, 11, 229, 22, 10, 11, 229, 21, 10, 11, 229, 20, 10, 11, 229, 19, 10,
+ 11, 229, 18, 10, 11, 229, 17, 10, 11, 229, 16, 10, 11, 229, 15, 10, 11,
+ 229, 14, 10, 11, 229, 13, 10, 11, 229, 12, 10, 11, 229, 11, 10, 11, 229,
+ 10, 10, 11, 229, 9, 10, 11, 228, 134, 10, 11, 228, 133, 10, 11, 228, 132,
+ 10, 11, 228, 131, 10, 11, 228, 130, 10, 11, 228, 129, 10, 11, 228, 128,
+ 10, 11, 228, 127, 10, 11, 228, 126, 10, 11, 228, 125, 10, 11, 228, 124,
+ 10, 11, 228, 123, 10, 11, 228, 122, 10, 11, 228, 121, 10, 11, 228, 120,
+ 10, 11, 228, 119, 10, 11, 228, 118, 10, 11, 228, 117, 10, 11, 228, 116,
+ 10, 11, 228, 115, 10, 11, 228, 114, 10, 11, 228, 113, 10, 11, 228, 112,
+ 10, 11, 228, 111, 10, 11, 228, 110, 10, 11, 228, 109, 10, 11, 227, 233,
+ 10, 11, 227, 232, 10, 11, 227, 231, 10, 11, 227, 230, 10, 11, 227, 229,
+ 10, 11, 227, 228, 10, 11, 227, 227, 10, 11, 227, 226, 10, 11, 227, 225,
+ 10, 11, 227, 224, 10, 11, 227, 223, 10, 11, 227, 222, 10, 11, 227, 221,
+ 10, 11, 227, 220, 10, 11, 227, 219, 10, 11, 227, 218, 10, 11, 227, 217,
+ 10, 11, 227, 216, 10, 11, 227, 215, 10, 11, 227, 214, 10, 11, 227, 213,
+ 10, 11, 227, 212, 10, 11, 227, 211, 10, 11, 227, 210, 10, 11, 227, 209,
+ 10, 11, 227, 208, 10, 11, 227, 207, 10, 11, 227, 206, 10, 11, 227, 205,
+ 10, 11, 227, 204, 10, 11, 227, 203, 10, 11, 227, 202, 10, 11, 227, 201,
+ 10, 11, 227, 200, 10, 11, 227, 199, 10, 11, 227, 198, 10, 11, 227, 197,
10, 11, 227, 196, 10, 11, 227, 195, 10, 11, 227, 194, 10, 11, 227, 193,
10, 11, 227, 192, 10, 11, 227, 191, 10, 11, 227, 190, 10, 11, 227, 189,
10, 11, 227, 188, 10, 11, 227, 187, 10, 11, 227, 186, 10, 11, 227, 185,
@@ -11678,1448 +11721,1563 @@ static unsigned char phrasebook[] = {
10, 11, 227, 172, 10, 11, 227, 171, 10, 11, 227, 170, 10, 11, 227, 169,
10, 11, 227, 168, 10, 11, 227, 167, 10, 11, 227, 166, 10, 11, 227, 165,
10, 11, 227, 164, 10, 11, 227, 163, 10, 11, 227, 162, 10, 11, 227, 161,
- 10, 11, 227, 160, 10, 11, 227, 159, 10, 11, 227, 158, 10, 11, 227, 157,
- 10, 11, 227, 156, 10, 11, 227, 155, 10, 11, 227, 154, 10, 11, 227, 153,
- 10, 11, 227, 152, 10, 11, 227, 151, 10, 11, 227, 150, 10, 11, 227, 149,
- 10, 11, 227, 148, 10, 11, 227, 147, 10, 11, 227, 146, 10, 11, 227, 145,
- 10, 11, 227, 144, 10, 11, 227, 143, 10, 11, 227, 142, 10, 11, 227, 141,
- 10, 11, 227, 140, 10, 11, 227, 139, 10, 11, 227, 138, 10, 11, 227, 137,
- 10, 11, 227, 136, 10, 11, 227, 135, 10, 11, 227, 134, 10, 11, 227, 133,
- 10, 11, 227, 132, 10, 11, 227, 131, 10, 11, 227, 130, 10, 11, 227, 129,
- 10, 11, 227, 128, 10, 11, 227, 127, 10, 11, 227, 126, 10, 11, 227, 125,
- 10, 11, 227, 124, 10, 11, 227, 123, 10, 11, 227, 122, 10, 11, 226, 228,
- 10, 11, 226, 227, 10, 11, 226, 226, 10, 11, 226, 225, 10, 11, 226, 224,
- 10, 11, 226, 223, 10, 11, 226, 222, 10, 11, 226, 221, 10, 11, 226, 220,
- 10, 11, 226, 219, 10, 11, 226, 218, 10, 11, 226, 217, 10, 11, 226, 216,
- 10, 11, 224, 239, 10, 11, 224, 238, 10, 11, 224, 237, 10, 11, 224, 236,
- 10, 11, 224, 235, 10, 11, 224, 234, 10, 11, 224, 233, 10, 11, 224, 111,
- 10, 11, 224, 110, 10, 11, 224, 109, 10, 11, 224, 108, 10, 11, 224, 107,
- 10, 11, 224, 106, 10, 11, 224, 105, 10, 11, 224, 104, 10, 11, 224, 103,
- 10, 11, 224, 102, 10, 11, 224, 101, 10, 11, 224, 100, 10, 11, 224, 99,
- 10, 11, 224, 98, 10, 11, 224, 97, 10, 11, 224, 96, 10, 11, 224, 95, 10,
- 11, 224, 94, 10, 11, 224, 93, 10, 11, 224, 92, 10, 11, 224, 91, 10, 11,
- 224, 90, 10, 11, 224, 89, 10, 11, 224, 88, 10, 11, 224, 87, 10, 11, 224,
- 86, 10, 11, 224, 85, 10, 11, 224, 84, 10, 11, 224, 83, 10, 11, 224, 82,
- 10, 11, 224, 81, 10, 11, 224, 80, 10, 11, 224, 79, 10, 11, 224, 78, 10,
- 11, 223, 1, 10, 11, 223, 0, 10, 11, 222, 255, 10, 11, 222, 254, 10, 11,
- 222, 253, 10, 11, 222, 252, 10, 11, 222, 251, 10, 11, 222, 250, 10, 11,
- 222, 249, 10, 11, 222, 248, 10, 11, 222, 247, 10, 11, 222, 246, 10, 11,
- 222, 245, 10, 11, 222, 244, 10, 11, 222, 243, 10, 11, 222, 242, 10, 11,
- 222, 241, 10, 11, 222, 240, 10, 11, 222, 239, 10, 11, 222, 238, 10, 11,
- 222, 237, 10, 11, 222, 236, 10, 11, 222, 235, 10, 11, 222, 234, 10, 11,
- 222, 233, 10, 11, 222, 232, 10, 11, 222, 231, 10, 11, 222, 230, 10, 11,
- 222, 229, 10, 11, 222, 228, 10, 11, 222, 227, 10, 11, 222, 226, 10, 11,
- 222, 225, 10, 11, 222, 224, 10, 11, 222, 223, 10, 11, 222, 222, 10, 11,
- 222, 221, 10, 11, 222, 220, 10, 11, 222, 219, 10, 11, 222, 218, 10, 11,
- 222, 217, 10, 11, 222, 216, 10, 11, 222, 215, 10, 11, 222, 214, 10, 11,
- 222, 213, 10, 11, 222, 212, 10, 11, 222, 211, 10, 11, 222, 210, 10, 11,
- 222, 209, 10, 11, 222, 208, 10, 11, 222, 207, 10, 11, 222, 206, 10, 11,
- 222, 205, 10, 11, 222, 204, 10, 11, 218, 97, 10, 11, 218, 96, 10, 11,
- 218, 95, 10, 11, 218, 94, 10, 11, 218, 93, 10, 11, 218, 92, 10, 11, 218,
- 91, 10, 11, 218, 90, 10, 11, 218, 89, 10, 11, 218, 88, 10, 11, 218, 87,
- 10, 11, 218, 86, 10, 11, 218, 85, 10, 11, 218, 84, 10, 11, 218, 83, 10,
- 11, 218, 82, 10, 11, 218, 81, 10, 11, 218, 80, 10, 11, 218, 79, 10, 11,
- 218, 78, 10, 11, 218, 77, 10, 11, 218, 76, 10, 11, 218, 75, 10, 11, 218,
- 74, 10, 11, 218, 73, 10, 11, 218, 72, 10, 11, 218, 71, 10, 11, 218, 70,
- 10, 11, 218, 69, 10, 11, 218, 68, 10, 11, 218, 67, 10, 11, 218, 66, 10,
- 11, 218, 65, 10, 11, 218, 64, 10, 11, 218, 63, 10, 11, 218, 62, 10, 11,
- 218, 61, 10, 11, 218, 60, 10, 11, 218, 59, 10, 11, 218, 58, 10, 11, 218,
- 57, 10, 11, 218, 56, 10, 11, 218, 55, 10, 11, 218, 54, 10, 11, 215, 245,
- 10, 11, 215, 244, 10, 11, 215, 243, 10, 11, 215, 242, 10, 11, 215, 241,
- 10, 11, 215, 240, 10, 11, 215, 239, 10, 11, 215, 238, 10, 11, 215, 237,
- 10, 11, 215, 236, 10, 11, 215, 235, 10, 11, 215, 234, 10, 11, 215, 233,
- 10, 11, 215, 232, 10, 11, 215, 231, 10, 11, 215, 230, 10, 11, 215, 229,
- 10, 11, 215, 228, 10, 11, 215, 227, 10, 11, 215, 226, 10, 11, 215, 225,
- 10, 11, 215, 224, 10, 11, 215, 223, 10, 11, 215, 222, 10, 11, 215, 221,
- 10, 11, 215, 220, 10, 11, 215, 219, 10, 11, 215, 218, 10, 11, 215, 217,
- 10, 11, 215, 216, 10, 11, 215, 215, 10, 11, 215, 214, 10, 11, 215, 213,
- 10, 11, 215, 212, 10, 11, 215, 211, 10, 11, 215, 210, 10, 11, 215, 209,
- 10, 11, 215, 208, 10, 11, 215, 207, 10, 11, 215, 206, 10, 11, 215, 205,
- 10, 11, 215, 204, 10, 11, 215, 203, 10, 11, 215, 202, 10, 11, 215, 201,
- 10, 11, 215, 200, 10, 11, 215, 199, 10, 11, 215, 78, 10, 11, 215, 77, 10,
- 11, 215, 76, 10, 11, 215, 75, 10, 11, 215, 74, 10, 11, 215, 73, 10, 11,
- 215, 72, 10, 11, 215, 71, 10, 11, 215, 70, 10, 11, 215, 69, 10, 11, 215,
- 68, 10, 11, 215, 67, 10, 11, 215, 66, 10, 11, 215, 65, 10, 11, 215, 64,
- 10, 11, 215, 63, 10, 11, 215, 62, 10, 11, 215, 61, 10, 11, 215, 60, 10,
- 11, 215, 59, 10, 11, 215, 58, 10, 11, 215, 57, 10, 11, 215, 56, 10, 11,
- 215, 55, 10, 11, 215, 54, 10, 11, 215, 53, 10, 11, 215, 52, 10, 11, 215,
- 51, 10, 11, 215, 50, 10, 11, 215, 49, 10, 11, 215, 48, 10, 11, 215, 47,
- 10, 11, 215, 46, 10, 11, 215, 45, 10, 11, 215, 44, 10, 11, 215, 43, 10,
- 11, 215, 42, 10, 11, 215, 41, 10, 11, 215, 40, 10, 11, 215, 39, 10, 11,
- 215, 38, 10, 11, 215, 37, 10, 11, 215, 36, 10, 11, 215, 35, 10, 11, 215,
- 34, 10, 11, 215, 33, 10, 11, 215, 32, 10, 11, 215, 31, 10, 11, 215, 30,
- 10, 11, 215, 29, 10, 11, 215, 28, 10, 11, 215, 27, 10, 11, 215, 26, 10,
- 11, 215, 25, 10, 11, 215, 24, 10, 11, 215, 23, 10, 11, 215, 22, 10, 11,
- 215, 21, 10, 11, 215, 20, 10, 11, 215, 19, 10, 11, 215, 18, 10, 11, 215,
- 17, 10, 11, 215, 16, 10, 11, 215, 15, 10, 11, 215, 14, 10, 11, 215, 13,
- 10, 11, 215, 12, 10, 11, 215, 11, 10, 11, 215, 10, 10, 11, 215, 9, 10,
- 11, 215, 8, 10, 11, 215, 7, 10, 11, 215, 6, 10, 11, 215, 5, 10, 11, 215,
- 4, 10, 11, 215, 3, 10, 11, 215, 2, 10, 11, 214, 81, 10, 11, 214, 80, 10,
- 11, 214, 79, 10, 11, 214, 78, 10, 11, 214, 77, 10, 11, 214, 76, 10, 11,
- 214, 75, 10, 11, 214, 74, 10, 11, 214, 73, 10, 11, 214, 72, 10, 11, 214,
- 71, 10, 11, 214, 70, 10, 11, 214, 69, 10, 11, 214, 68, 10, 11, 214, 67,
- 10, 11, 214, 66, 10, 11, 214, 65, 10, 11, 214, 64, 10, 11, 214, 63, 10,
- 11, 214, 62, 10, 11, 214, 61, 10, 11, 214, 60, 10, 11, 214, 59, 10, 11,
- 214, 58, 10, 11, 214, 57, 10, 11, 214, 56, 10, 11, 214, 55, 10, 11, 214,
- 54, 10, 11, 214, 53, 10, 11, 214, 52, 10, 11, 214, 51, 10, 11, 214, 50,
- 10, 11, 213, 165, 10, 11, 213, 164, 10, 11, 213, 163, 10, 11, 213, 162,
- 10, 11, 213, 161, 10, 11, 213, 160, 10, 11, 213, 159, 10, 11, 213, 158,
- 10, 11, 213, 157, 10, 11, 213, 156, 10, 11, 213, 155, 10, 11, 213, 154,
- 10, 11, 213, 103, 10, 11, 213, 102, 10, 11, 213, 101, 10, 11, 213, 100,
- 10, 11, 213, 99, 10, 11, 213, 98, 10, 11, 213, 97, 10, 11, 213, 96, 10,
- 11, 213, 95, 10, 11, 212, 151, 10, 11, 212, 150, 10, 11, 212, 149, 10,
- 11, 212, 148, 10, 11, 212, 147, 10, 11, 212, 146, 10, 11, 212, 145, 10,
- 11, 212, 144, 10, 11, 212, 143, 10, 11, 212, 142, 10, 11, 212, 141, 10,
- 11, 212, 140, 10, 11, 212, 139, 10, 11, 212, 138, 10, 11, 212, 137, 10,
- 11, 212, 136, 10, 11, 212, 135, 10, 11, 212, 134, 10, 11, 212, 133, 10,
- 11, 212, 132, 10, 11, 212, 131, 10, 11, 212, 130, 10, 11, 212, 129, 10,
- 11, 212, 128, 10, 11, 212, 127, 10, 11, 212, 126, 10, 11, 212, 125, 10,
- 11, 212, 124, 10, 11, 212, 123, 10, 11, 212, 122, 10, 11, 212, 121, 10,
- 11, 212, 120, 10, 11, 212, 119, 10, 11, 212, 118, 10, 11, 212, 117, 10,
- 11, 212, 116, 10, 11, 212, 115, 10, 11, 212, 114, 10, 11, 212, 113, 10,
- 11, 212, 112, 10, 11, 212, 111, 10, 11, 254, 231, 10, 11, 254, 230, 10,
- 11, 254, 229, 10, 11, 254, 228, 10, 11, 254, 227, 10, 11, 254, 226, 10,
- 11, 254, 225, 10, 11, 254, 224, 10, 11, 254, 223, 10, 11, 254, 222, 10,
- 11, 254, 221, 10, 11, 254, 220, 10, 11, 254, 219, 10, 11, 254, 218, 10,
- 11, 254, 217, 10, 11, 254, 216, 10, 11, 254, 215, 10, 11, 254, 214, 10,
- 11, 254, 213, 10, 11, 254, 212, 10, 11, 254, 211, 10, 11, 254, 210, 10,
- 11, 254, 209, 10, 11, 254, 208, 10, 11, 254, 207, 10, 11, 254, 206, 10,
- 11, 254, 205, 10, 11, 254, 204, 10, 11, 254, 203, 10, 11, 254, 202, 10,
- 11, 254, 201, 10, 11, 254, 200, 10, 11, 254, 199, 10, 11, 254, 198, 20,
- 1, 153, 229, 98, 231, 83, 20, 1, 153, 243, 46, 244, 5, 20, 1, 153, 225,
- 131, 231, 84, 225, 189, 20, 1, 153, 225, 131, 231, 84, 225, 190, 20, 1,
- 153, 230, 44, 231, 83, 20, 1, 153, 220, 146, 20, 1, 153, 217, 19, 231,
- 83, 20, 1, 153, 227, 238, 231, 83, 20, 1, 153, 220, 199, 226, 214, 229,
- 0, 20, 1, 153, 225, 131, 226, 214, 229, 1, 225, 189, 20, 1, 153, 225,
- 131, 226, 214, 229, 1, 225, 190, 20, 1, 153, 232, 23, 20, 1, 153, 216,
- 83, 232, 24, 20, 1, 153, 229, 154, 20, 1, 153, 232, 20, 20, 1, 153, 231,
- 239, 20, 1, 153, 230, 119, 20, 1, 153, 221, 45, 20, 1, 153, 228, 96, 20,
- 1, 153, 234, 155, 20, 1, 153, 228, 225, 20, 1, 153, 218, 205, 20, 1, 153,
- 229, 97, 20, 1, 153, 233, 110, 20, 1, 153, 233, 36, 233, 210, 20, 1, 153,
- 228, 103, 231, 91, 20, 1, 153, 232, 27, 20, 1, 153, 226, 119, 20, 1, 153,
- 242, 207, 20, 1, 153, 226, 177, 20, 1, 153, 230, 221, 229, 130, 20, 1,
- 153, 227, 219, 231, 94, 20, 1, 153, 111, 212, 179, 230, 38, 20, 1, 153,
- 242, 208, 20, 1, 153, 228, 103, 228, 104, 20, 1, 153, 220, 56, 20, 1,
- 153, 231, 76, 20, 1, 153, 231, 97, 20, 1, 153, 230, 200, 20, 1, 153, 234,
- 253, 20, 1, 153, 226, 214, 233, 71, 20, 1, 153, 229, 229, 233, 71, 20, 1,
- 153, 226, 34, 20, 1, 153, 232, 21, 20, 1, 153, 229, 38, 20, 1, 153, 225,
- 20, 20, 1, 153, 216, 80, 20, 1, 153, 232, 152, 20, 1, 153, 219, 227, 20,
- 1, 153, 217, 169, 20, 1, 153, 232, 18, 20, 1, 153, 234, 162, 20, 1, 153,
- 229, 225, 20, 1, 153, 233, 222, 20, 1, 153, 230, 201, 20, 1, 153, 220,
- 143, 20, 1, 153, 232, 191, 20, 1, 153, 244, 62, 20, 1, 153, 223, 101, 20,
- 1, 153, 233, 250, 20, 1, 153, 219, 223, 20, 1, 153, 231, 236, 225, 231,
- 20, 1, 153, 220, 192, 20, 1, 153, 228, 102, 20, 1, 153, 220, 177, 228,
- 113, 212, 187, 20, 1, 153, 228, 1, 230, 218, 20, 1, 153, 226, 209, 20, 1,
- 153, 228, 226, 20, 1, 153, 215, 141, 20, 1, 153, 229, 133, 20, 1, 153,
- 232, 17, 20, 1, 153, 229, 12, 20, 1, 153, 231, 182, 20, 1, 153, 228, 12,
- 20, 1, 153, 217, 173, 20, 1, 153, 219, 221, 20, 1, 153, 226, 210, 20, 1,
- 153, 228, 117, 20, 1, 153, 232, 25, 20, 1, 153, 228, 10, 20, 1, 153, 234,
- 221, 20, 1, 153, 228, 120, 20, 1, 153, 214, 227, 20, 1, 153, 232, 156,
- 20, 1, 153, 229, 180, 20, 1, 153, 230, 16, 20, 1, 153, 231, 181, 20, 1,
- 226, 14, 228, 115, 20, 1, 226, 14, 216, 83, 232, 22, 20, 1, 226, 14, 220,
- 111, 20, 1, 226, 14, 221, 49, 216, 82, 20, 1, 226, 14, 232, 193, 228, 99,
- 20, 1, 226, 14, 231, 188, 232, 26, 20, 1, 226, 14, 234, 96, 20, 1, 226,
- 14, 213, 6, 20, 1, 226, 14, 231, 183, 20, 1, 226, 14, 234, 242, 20, 1,
- 226, 14, 226, 83, 20, 1, 226, 14, 213, 77, 233, 71, 20, 1, 226, 14, 233,
- 127, 228, 113, 228, 20, 20, 1, 226, 14, 228, 97, 220, 218, 20, 1, 226,
- 14, 229, 196, 229, 15, 20, 1, 226, 14, 242, 205, 20, 1, 226, 14, 225,
- 181, 20, 1, 226, 14, 216, 83, 228, 111, 20, 1, 226, 14, 220, 223, 229,
- 10, 20, 1, 226, 14, 220, 219, 20, 1, 226, 14, 231, 84, 217, 172, 20, 1,
- 226, 14, 231, 170, 231, 184, 20, 1, 226, 14, 228, 11, 228, 99, 20, 1,
- 226, 14, 234, 151, 20, 1, 226, 14, 242, 206, 20, 1, 226, 14, 234, 147,
- 20, 1, 226, 14, 233, 151, 20, 1, 226, 14, 226, 121, 20, 1, 226, 14, 214,
- 159, 20, 1, 226, 14, 229, 99, 230, 117, 20, 1, 226, 14, 229, 132, 231,
- 166, 20, 1, 226, 14, 213, 181, 20, 1, 226, 14, 222, 182, 20, 1, 226, 14,
- 218, 45, 20, 1, 226, 14, 231, 96, 20, 1, 226, 14, 229, 117, 20, 1, 226,
- 14, 229, 118, 233, 107, 20, 1, 226, 14, 231, 86, 20, 1, 226, 14, 218,
- 253, 20, 1, 226, 14, 231, 174, 20, 1, 226, 14, 230, 203, 20, 1, 226, 14,
- 228, 21, 20, 1, 226, 14, 225, 24, 20, 1, 226, 14, 231, 95, 229, 134, 20,
- 1, 226, 14, 244, 95, 20, 1, 226, 14, 231, 161, 20, 1, 226, 14, 244, 116,
- 20, 1, 226, 14, 234, 159, 20, 1, 226, 14, 232, 43, 229, 4, 20, 1, 226,
- 14, 232, 43, 228, 236, 20, 1, 226, 14, 233, 35, 20, 1, 226, 14, 229, 140,
- 20, 1, 226, 14, 228, 122, 20, 1, 226, 14, 188, 20, 1, 226, 14, 234, 83,
- 20, 1, 226, 14, 229, 87, 20, 1, 131, 229, 98, 232, 24, 20, 1, 131, 227,
- 237, 20, 1, 131, 212, 187, 20, 1, 131, 214, 37, 20, 1, 131, 229, 133, 20,
- 1, 131, 229, 217, 20, 1, 131, 229, 105, 20, 1, 131, 242, 215, 20, 1, 131,
- 231, 178, 20, 1, 131, 243, 53, 20, 1, 131, 228, 3, 230, 239, 231, 98, 20,
- 1, 131, 228, 95, 231, 169, 20, 1, 131, 231, 175, 20, 1, 131, 225, 187,
- 20, 1, 131, 229, 202, 20, 1, 131, 231, 186, 250, 215, 20, 1, 131, 234,
- 149, 20, 1, 131, 242, 216, 20, 1, 131, 234, 156, 20, 1, 131, 212, 204,
- 230, 146, 20, 1, 131, 227, 231, 20, 1, 131, 231, 163, 20, 1, 131, 228,
- 121, 20, 1, 131, 231, 169, 20, 1, 131, 213, 7, 20, 1, 131, 234, 2, 20, 1,
- 131, 235, 14, 20, 1, 131, 221, 44, 20, 1, 131, 229, 211, 20, 1, 131, 218,
- 43, 20, 1, 131, 228, 240, 20, 1, 131, 217, 19, 212, 189, 20, 1, 131, 219,
- 23, 20, 1, 131, 229, 124, 228, 20, 20, 1, 131, 214, 158, 20, 1, 131, 230,
- 19, 20, 1, 131, 232, 43, 234, 158, 20, 1, 131, 228, 104, 20, 1, 131, 229,
- 119, 20, 1, 131, 233, 111, 20, 1, 131, 231, 171, 20, 1, 131, 231, 75, 20,
- 1, 131, 228, 98, 20, 1, 131, 217, 168, 20, 1, 131, 229, 121, 20, 1, 131,
- 243, 204, 20, 1, 131, 229, 216, 20, 1, 131, 228, 123, 20, 1, 131, 228,
- 119, 20, 1, 131, 251, 36, 20, 1, 131, 214, 160, 20, 1, 131, 231, 176, 20,
- 1, 131, 223, 51, 20, 1, 131, 229, 14, 20, 1, 131, 233, 126, 20, 1, 131,
- 217, 17, 20, 1, 131, 228, 105, 229, 87, 20, 1, 131, 229, 6, 20, 1, 131,
- 234, 162, 20, 1, 131, 229, 125, 20, 1, 131, 232, 17, 20, 1, 131, 231,
- 164, 20, 1, 131, 232, 156, 20, 1, 131, 233, 210, 20, 1, 131, 229, 12, 20,
- 1, 131, 229, 87, 20, 1, 131, 213, 172, 20, 1, 131, 229, 122, 20, 1, 131,
- 228, 108, 20, 1, 131, 228, 100, 20, 1, 131, 233, 224, 228, 226, 20, 1,
- 131, 228, 106, 20, 1, 131, 229, 224, 20, 1, 131, 232, 43, 228, 111, 20,
- 1, 131, 213, 91, 20, 1, 131, 229, 223, 20, 1, 131, 220, 145, 20, 1, 131,
- 221, 47, 20, 1, 131, 231, 172, 20, 1, 131, 232, 24, 20, 1, 131, 231, 182,
- 20, 1, 131, 234, 150, 20, 1, 131, 231, 173, 20, 1, 131, 234, 154, 20, 1,
- 131, 231, 186, 225, 235, 20, 1, 131, 212, 171, 20, 1, 131, 229, 2, 20, 1,
- 131, 231, 33, 20, 1, 131, 230, 170, 20, 1, 131, 220, 195, 20, 1, 131,
- 234, 172, 233, 94, 20, 1, 131, 234, 172, 244, 128, 20, 1, 131, 229, 152,
- 20, 1, 131, 230, 16, 20, 1, 131, 232, 229, 20, 1, 131, 225, 197, 20, 1,
- 131, 226, 74, 20, 1, 131, 217, 183, 20, 1, 103, 231, 162, 20, 1, 103,
- 214, 35, 20, 1, 103, 229, 0, 20, 1, 103, 231, 83, 20, 1, 103, 228, 254,
- 20, 1, 103, 233, 7, 20, 1, 103, 229, 3, 20, 1, 103, 228, 118, 20, 1, 103,
- 229, 139, 20, 1, 103, 228, 20, 20, 1, 103, 213, 182, 20, 1, 103, 229, 95,
- 20, 1, 103, 220, 241, 20, 1, 103, 229, 106, 20, 1, 103, 234, 157, 20, 1,
- 103, 217, 170, 20, 1, 103, 220, 221, 20, 1, 103, 229, 11, 20, 1, 103,
- 218, 253, 20, 1, 103, 234, 162, 20, 1, 103, 213, 79, 20, 1, 103, 233,
- 225, 20, 1, 103, 222, 150, 20, 1, 103, 231, 88, 20, 1, 103, 229, 215, 20,
- 1, 103, 231, 251, 20, 1, 103, 231, 94, 20, 1, 103, 221, 46, 20, 1, 103,
- 213, 30, 20, 1, 103, 229, 5, 20, 1, 103, 234, 153, 231, 165, 20, 1, 103,
- 229, 102, 20, 1, 103, 216, 82, 20, 1, 103, 242, 224, 20, 1, 103, 229, 92,
- 20, 1, 103, 244, 96, 20, 1, 103, 229, 219, 20, 1, 103, 231, 67, 20, 1,
- 103, 233, 31, 20, 1, 103, 229, 201, 20, 1, 103, 230, 217, 20, 1, 103,
- 231, 71, 20, 1, 103, 225, 6, 20, 1, 103, 231, 69, 20, 1, 103, 231, 85,
- 20, 1, 103, 232, 142, 20, 1, 103, 228, 110, 20, 1, 103, 231, 185, 20, 1,
- 103, 233, 202, 20, 1, 103, 228, 12, 20, 1, 103, 217, 173, 20, 1, 103,
- 219, 221, 20, 1, 103, 212, 171, 20, 1, 103, 234, 154, 20, 1, 103, 224,
- 60, 20, 1, 103, 217, 218, 20, 1, 103, 229, 103, 20, 1, 103, 231, 90, 20,
- 1, 103, 228, 109, 20, 1, 103, 234, 152, 20, 1, 103, 225, 191, 20, 1, 103,
- 226, 28, 20, 1, 103, 227, 246, 20, 1, 103, 233, 35, 20, 1, 103, 229, 140,
- 20, 1, 103, 231, 87, 20, 1, 103, 229, 114, 20, 1, 103, 212, 184, 20, 1,
- 103, 226, 149, 20, 1, 103, 212, 183, 20, 1, 103, 229, 224, 20, 1, 103,
- 228, 99, 20, 1, 103, 219, 25, 20, 1, 103, 233, 229, 20, 1, 103, 229, 129,
- 20, 1, 103, 229, 100, 20, 1, 103, 216, 66, 20, 1, 103, 231, 98, 20, 1,
- 103, 233, 219, 20, 1, 103, 228, 107, 20, 1, 103, 217, 171, 20, 1, 103,
- 232, 19, 20, 1, 103, 229, 138, 20, 1, 103, 233, 30, 20, 1, 103, 229, 120,
- 20, 1, 103, 228, 112, 20, 1, 103, 228, 240, 20, 1, 103, 242, 209, 20, 1,
- 103, 233, 238, 20, 1, 103, 223, 234, 227, 75, 20, 1, 103, 218, 35, 20, 1,
- 103, 216, 223, 20, 1, 103, 228, 10, 20, 1, 103, 223, 136, 20, 1, 103,
- 233, 73, 20, 1, 103, 231, 144, 20, 1, 103, 183, 20, 1, 103, 218, 205, 20,
- 1, 103, 230, 172, 20, 1, 103, 220, 207, 20, 1, 103, 220, 217, 20, 1, 103,
- 233, 177, 20, 1, 103, 228, 92, 20, 1, 103, 220, 150, 20, 1, 103, 228,
- 101, 20, 1, 103, 226, 86, 20, 1, 103, 229, 64, 20, 1, 103, 220, 176, 20,
- 1, 103, 225, 19, 20, 1, 103, 230, 117, 20, 1, 103, 232, 174, 20, 1, 103,
- 223, 234, 230, 166, 20, 1, 103, 217, 71, 20, 1, 103, 228, 93, 20, 1, 103,
- 231, 186, 198, 20, 1, 103, 222, 148, 20, 1, 103, 244, 163, 20, 1, 80,
- 229, 223, 20, 1, 80, 216, 229, 20, 1, 80, 231, 175, 20, 1, 80, 233, 111,
- 20, 1, 80, 214, 109, 20, 1, 80, 232, 178, 20, 1, 80, 226, 213, 20, 1, 80,
- 219, 230, 20, 1, 80, 224, 37, 20, 1, 80, 228, 114, 20, 1, 80, 229, 194,
- 20, 1, 80, 225, 33, 20, 1, 80, 218, 13, 20, 1, 80, 229, 108, 20, 1, 80,
- 233, 254, 20, 1, 80, 213, 175, 20, 1, 80, 222, 89, 20, 1, 80, 229, 130,
- 20, 1, 80, 226, 210, 20, 1, 80, 216, 230, 20, 1, 80, 233, 223, 20, 1, 80,
- 232, 192, 20, 1, 80, 228, 117, 20, 1, 80, 229, 84, 20, 1, 80, 232, 25,
- 20, 1, 80, 229, 101, 20, 1, 80, 229, 83, 20, 1, 80, 228, 116, 20, 1, 80,
- 223, 134, 20, 1, 80, 229, 2, 20, 1, 80, 226, 85, 20, 1, 80, 222, 200, 20,
- 1, 80, 229, 115, 20, 1, 80, 231, 77, 20, 1, 80, 242, 203, 20, 1, 80, 229,
- 104, 20, 1, 80, 229, 13, 20, 1, 80, 231, 235, 20, 1, 80, 232, 176, 20, 1,
- 80, 229, 135, 20, 1, 80, 229, 207, 20, 1, 80, 218, 34, 228, 99, 20, 1,
- 80, 221, 48, 20, 1, 80, 225, 29, 20, 1, 80, 229, 227, 219, 235, 20, 1,
- 80, 229, 123, 228, 20, 20, 1, 80, 212, 251, 20, 1, 80, 242, 204, 20, 1,
- 80, 216, 81, 20, 1, 80, 213, 10, 20, 1, 80, 225, 150, 20, 1, 80, 216, 71,
- 20, 1, 80, 234, 160, 20, 1, 80, 219, 24, 20, 1, 80, 217, 172, 20, 1, 80,
- 214, 161, 20, 1, 80, 213, 247, 20, 1, 80, 233, 154, 20, 1, 80, 225, 35,
- 20, 1, 80, 218, 44, 20, 1, 80, 242, 223, 20, 1, 80, 229, 144, 20, 1, 80,
- 220, 220, 20, 1, 80, 231, 72, 20, 1, 80, 231, 179, 20, 1, 80, 227, 235,
- 20, 1, 80, 228, 223, 20, 1, 80, 243, 49, 20, 1, 80, 216, 72, 20, 1, 80,
- 233, 232, 20, 1, 80, 213, 57, 20, 1, 80, 228, 11, 249, 209, 20, 1, 80,
- 212, 241, 20, 1, 80, 231, 89, 20, 1, 80, 229, 212, 20, 1, 80, 225, 232,
- 20, 1, 80, 212, 188, 20, 1, 80, 233, 32, 20, 1, 80, 243, 204, 20, 1, 80,
- 243, 48, 20, 1, 80, 229, 94, 20, 1, 80, 234, 162, 20, 1, 80, 232, 28, 20,
- 1, 80, 229, 107, 20, 1, 80, 242, 210, 20, 1, 80, 244, 164, 20, 1, 80,
- 228, 94, 20, 1, 80, 226, 29, 20, 1, 80, 213, 8, 20, 1, 80, 229, 131, 20,
- 1, 80, 228, 11, 251, 200, 20, 1, 80, 227, 215, 20, 1, 80, 225, 127, 20,
- 1, 80, 231, 33, 20, 1, 80, 243, 202, 20, 1, 80, 230, 38, 20, 1, 80, 230,
- 170, 20, 1, 80, 242, 209, 20, 1, 80, 243, 206, 72, 20, 1, 80, 230, 118,
- 20, 1, 80, 225, 32, 20, 1, 80, 229, 96, 20, 1, 80, 233, 210, 20, 1, 80,
- 225, 229, 20, 1, 80, 228, 102, 20, 1, 80, 213, 9, 20, 1, 80, 229, 116,
- 20, 1, 80, 226, 214, 226, 62, 20, 1, 80, 243, 206, 250, 203, 20, 1, 80,
- 244, 6, 20, 1, 80, 229, 7, 20, 1, 80, 61, 20, 1, 80, 216, 223, 20, 1, 80,
- 75, 20, 1, 80, 72, 20, 1, 80, 233, 109, 20, 1, 80, 226, 214, 225, 157,
- 20, 1, 80, 218, 49, 20, 1, 80, 218, 2, 20, 1, 80, 229, 227, 230, 106,
- 240, 221, 20, 1, 80, 220, 195, 20, 1, 80, 213, 5, 20, 1, 80, 229, 77, 20,
- 1, 80, 212, 193, 20, 1, 80, 212, 218, 218, 185, 20, 1, 80, 212, 218, 249,
- 86, 20, 1, 80, 212, 178, 20, 1, 80, 212, 186, 20, 1, 80, 234, 148, 20, 1,
- 80, 226, 27, 20, 1, 80, 229, 8, 245, 65, 20, 1, 80, 225, 30, 20, 1, 80,
- 213, 180, 20, 1, 80, 244, 116, 20, 1, 80, 214, 227, 20, 1, 80, 232, 156,
- 20, 1, 80, 231, 42, 20, 1, 80, 223, 204, 20, 1, 80, 224, 61, 20, 1, 80,
- 229, 76, 20, 1, 80, 229, 159, 20, 1, 80, 220, 187, 20, 1, 80, 220, 176,
- 20, 1, 80, 243, 206, 223, 236, 20, 1, 80, 205, 20, 1, 80, 225, 240, 20,
- 1, 80, 232, 174, 20, 1, 80, 234, 37, 20, 1, 80, 231, 122, 20, 1, 80, 188,
- 20, 1, 80, 231, 232, 20, 1, 80, 217, 174, 20, 1, 80, 234, 101, 20, 1, 80,
- 230, 220, 20, 1, 80, 217, 200, 20, 1, 80, 244, 137, 20, 1, 80, 242, 199,
- 20, 1, 226, 13, 181, 20, 1, 226, 13, 69, 20, 1, 226, 13, 233, 238, 20, 1,
- 226, 13, 245, 165, 20, 1, 226, 13, 224, 1, 20, 1, 226, 13, 218, 35, 20,
- 1, 226, 13, 228, 10, 20, 1, 226, 13, 233, 157, 20, 1, 226, 13, 223, 136,
- 20, 1, 226, 13, 223, 182, 20, 1, 226, 13, 231, 144, 20, 1, 226, 13, 218,
- 49, 20, 1, 226, 13, 229, 226, 20, 1, 226, 13, 229, 14, 20, 1, 226, 13,
- 183, 20, 1, 226, 13, 218, 205, 20, 1, 226, 13, 220, 207, 20, 1, 226, 13,
- 220, 117, 20, 1, 226, 13, 221, 44, 20, 1, 226, 13, 233, 177, 20, 1, 226,
- 13, 234, 162, 20, 1, 226, 13, 228, 64, 20, 1, 226, 13, 228, 92, 20, 1,
- 226, 13, 228, 241, 20, 1, 226, 13, 212, 217, 20, 1, 226, 13, 220, 150,
- 20, 1, 226, 13, 186, 20, 1, 226, 13, 228, 120, 20, 1, 226, 13, 226, 27,
- 20, 1, 226, 13, 228, 101, 20, 1, 226, 13, 213, 180, 20, 1, 226, 13, 226,
- 86, 20, 1, 226, 13, 223, 51, 20, 1, 226, 13, 229, 64, 20, 1, 226, 13,
- 223, 204, 20, 1, 226, 13, 234, 171, 20, 1, 226, 13, 229, 93, 20, 1, 226,
- 13, 229, 141, 20, 1, 226, 13, 220, 187, 20, 1, 226, 13, 225, 33, 20, 1,
- 226, 13, 244, 6, 20, 1, 226, 13, 214, 49, 20, 1, 226, 13, 233, 13, 20, 1,
- 226, 13, 232, 174, 20, 1, 226, 13, 234, 37, 20, 1, 226, 13, 231, 177, 20,
- 1, 226, 13, 223, 233, 20, 1, 226, 13, 188, 20, 1, 226, 13, 230, 231, 20,
- 1, 226, 13, 231, 185, 20, 1, 226, 13, 217, 183, 20, 1, 226, 13, 234, 4,
- 20, 1, 226, 13, 222, 166, 20, 1, 226, 13, 214, 98, 56, 1, 253, 193, 74,
- 142, 1, 253, 193, 213, 38, 47, 27, 16, 225, 39, 47, 27, 16, 248, 103, 47,
- 27, 16, 226, 50, 47, 27, 16, 226, 237, 245, 135, 47, 27, 16, 226, 237,
- 247, 153, 47, 27, 16, 214, 248, 245, 135, 47, 27, 16, 214, 248, 247, 153,
- 47, 27, 16, 234, 202, 47, 27, 16, 218, 115, 47, 27, 16, 226, 137, 47, 27,
- 16, 212, 208, 47, 27, 16, 212, 209, 247, 153, 47, 27, 16, 233, 243, 47,
- 27, 16, 253, 236, 245, 135, 47, 27, 16, 244, 249, 245, 135, 47, 27, 16,
- 217, 211, 47, 27, 16, 234, 167, 47, 27, 16, 253, 227, 47, 27, 16, 253,
- 228, 247, 153, 47, 27, 16, 218, 121, 47, 27, 16, 217, 112, 47, 27, 16,
- 227, 72, 253, 191, 47, 27, 16, 242, 135, 253, 191, 47, 27, 16, 225, 38,
- 47, 27, 16, 250, 85, 47, 27, 16, 214, 238, 47, 27, 16, 235, 162, 253,
- 191, 47, 27, 16, 234, 169, 253, 191, 47, 27, 16, 234, 168, 253, 191, 47,
- 27, 16, 222, 131, 47, 27, 16, 226, 128, 47, 27, 16, 219, 86, 253, 230,
- 47, 27, 16, 226, 236, 253, 191, 47, 27, 16, 214, 247, 253, 191, 47, 27,
- 16, 253, 231, 253, 191, 47, 27, 16, 253, 225, 47, 27, 16, 234, 46, 47,
- 27, 16, 223, 199, 47, 27, 16, 225, 238, 253, 191, 47, 27, 16, 217, 36,
- 47, 27, 16, 254, 30, 47, 27, 16, 222, 78, 47, 27, 16, 218, 124, 253, 191,
- 47, 27, 16, 218, 124, 231, 107, 219, 84, 47, 27, 16, 226, 231, 253, 191,
- 47, 27, 16, 217, 143, 47, 27, 16, 233, 51, 47, 27, 16, 245, 252, 47, 27,
- 16, 216, 185, 47, 27, 16, 217, 185, 47, 27, 16, 233, 246, 47, 27, 16,
- 253, 236, 244, 249, 229, 177, 47, 27, 16, 243, 207, 253, 191, 47, 27, 16,
- 236, 7, 47, 27, 16, 216, 157, 253, 191, 47, 27, 16, 234, 205, 216, 156,
- 47, 27, 16, 226, 75, 47, 27, 16, 225, 43, 47, 27, 16, 234, 20, 47, 27,
- 16, 250, 17, 253, 191, 47, 27, 16, 224, 38, 47, 27, 16, 226, 140, 253,
- 191, 47, 27, 16, 226, 138, 253, 191, 47, 27, 16, 240, 102, 47, 27, 16,
- 230, 23, 47, 27, 16, 226, 32, 47, 27, 16, 234, 21, 254, 58, 47, 27, 16,
- 216, 157, 254, 58, 47, 27, 16, 219, 63, 47, 27, 16, 242, 101, 47, 27, 16,
- 235, 162, 229, 177, 47, 27, 16, 227, 72, 229, 177, 47, 27, 16, 226, 237,
- 229, 177, 47, 27, 16, 226, 31, 47, 27, 16, 234, 7, 47, 27, 16, 226, 30,
- 47, 27, 16, 233, 245, 47, 27, 16, 226, 76, 229, 177, 47, 27, 16, 234,
- 168, 229, 178, 254, 7, 47, 27, 16, 234, 169, 229, 178, 254, 7, 47, 27,
- 16, 212, 206, 47, 27, 16, 253, 228, 229, 177, 47, 27, 16, 253, 229, 218,
- 122, 229, 177, 47, 27, 16, 212, 207, 47, 27, 16, 233, 244, 47, 27, 16,
- 245, 130, 47, 27, 16, 250, 86, 47, 27, 16, 231, 11, 235, 161, 47, 27, 16,
- 214, 248, 229, 177, 47, 27, 16, 225, 238, 229, 177, 47, 27, 16, 225, 44,
- 229, 177, 47, 27, 16, 227, 69, 47, 27, 16, 253, 251, 47, 27, 16, 232,
- 118, 47, 27, 16, 226, 138, 229, 177, 47, 27, 16, 226, 140, 229, 177, 47,
- 27, 16, 245, 26, 226, 139, 47, 27, 16, 233, 175, 47, 27, 16, 253, 252,
- 47, 27, 16, 216, 157, 229, 177, 47, 27, 16, 245, 133, 47, 27, 16, 218,
- 124, 229, 177, 47, 27, 16, 218, 116, 47, 27, 16, 250, 17, 229, 177, 47,
- 27, 16, 245, 69, 47, 27, 16, 222, 79, 229, 177, 47, 27, 16, 213, 139,
- 234, 46, 47, 27, 16, 216, 154, 47, 27, 16, 225, 45, 47, 27, 16, 216, 158,
- 47, 27, 16, 216, 155, 47, 27, 16, 225, 42, 47, 27, 16, 216, 153, 47, 27,
- 16, 225, 41, 47, 27, 16, 242, 134, 47, 27, 16, 253, 185, 47, 27, 16, 245,
- 26, 253, 185, 47, 27, 16, 226, 231, 229, 177, 47, 27, 16, 217, 142, 245,
- 34, 47, 27, 16, 217, 142, 244, 248, 47, 27, 16, 217, 144, 253, 232, 47,
- 27, 16, 217, 137, 234, 251, 253, 224, 47, 27, 16, 234, 204, 47, 27, 16,
- 245, 97, 47, 27, 16, 213, 2, 234, 201, 47, 27, 16, 213, 2, 254, 7, 47,
- 27, 16, 219, 85, 47, 27, 16, 234, 47, 254, 7, 47, 27, 16, 247, 154, 253,
- 191, 47, 27, 16, 233, 247, 253, 191, 47, 27, 16, 233, 247, 254, 58, 47,
- 27, 16, 233, 247, 229, 177, 47, 27, 16, 253, 231, 229, 177, 47, 27, 16,
- 253, 233, 47, 27, 16, 247, 153, 47, 27, 16, 216, 168, 47, 27, 16, 217,
- 177, 47, 27, 16, 234, 11, 47, 27, 16, 233, 56, 245, 92, 250, 8, 47, 27,
- 16, 233, 56, 245, 253, 250, 9, 47, 27, 16, 233, 56, 216, 170, 250, 9, 47,
- 27, 16, 233, 56, 217, 187, 250, 9, 47, 27, 16, 233, 56, 236, 2, 250, 8,
- 47, 27, 16, 242, 135, 229, 178, 254, 7, 47, 27, 16, 242, 135, 226, 129,
- 253, 181, 47, 27, 16, 242, 135, 226, 129, 247, 236, 47, 27, 16, 247, 177,
- 47, 27, 16, 247, 178, 226, 129, 253, 182, 234, 201, 47, 27, 16, 247, 178,
- 226, 129, 253, 182, 254, 7, 47, 27, 16, 247, 178, 226, 129, 247, 236, 47,
- 27, 16, 216, 174, 47, 27, 16, 253, 186, 47, 27, 16, 236, 9, 47, 27, 16,
- 247, 198, 47, 27, 16, 254, 116, 225, 134, 253, 187, 47, 27, 16, 254, 116,
- 253, 184, 47, 27, 16, 254, 116, 253, 187, 47, 27, 16, 254, 116, 231, 101,
- 47, 27, 16, 254, 116, 231, 110, 47, 27, 16, 254, 116, 242, 136, 47, 27,
- 16, 254, 116, 242, 133, 47, 27, 16, 254, 116, 225, 134, 242, 136, 47, 27,
- 16, 231, 214, 225, 50, 240, 100, 47, 27, 16, 231, 214, 254, 60, 225, 50,
- 240, 100, 47, 27, 16, 231, 214, 247, 235, 240, 100, 47, 27, 16, 231, 214,
- 254, 60, 247, 235, 240, 100, 47, 27, 16, 231, 214, 216, 163, 240, 100,
- 47, 27, 16, 231, 214, 216, 175, 47, 27, 16, 231, 214, 217, 181, 240, 100,
- 47, 27, 16, 231, 214, 217, 181, 233, 59, 240, 100, 47, 27, 16, 231, 214,
- 233, 59, 240, 100, 47, 27, 16, 231, 214, 225, 171, 240, 100, 47, 27, 16,
- 235, 167, 217, 204, 240, 101, 47, 27, 16, 253, 229, 217, 204, 240, 101,
- 47, 27, 16, 244, 140, 217, 178, 47, 27, 16, 244, 140, 230, 213, 47, 27,
- 16, 244, 140, 247, 182, 47, 27, 16, 231, 214, 214, 242, 240, 100, 47, 27,
- 16, 231, 214, 225, 49, 240, 100, 47, 27, 16, 231, 214, 225, 171, 217,
- 181, 240, 100, 47, 27, 16, 242, 131, 230, 98, 253, 232, 47, 27, 16, 242,
- 131, 230, 98, 247, 152, 47, 27, 16, 245, 106, 234, 251, 243, 207, 214,
- 105, 47, 27, 16, 236, 8, 47, 27, 16, 236, 6, 47, 27, 16, 243, 207, 253,
- 192, 247, 234, 240, 99, 47, 27, 16, 243, 207, 247, 196, 193, 47, 27, 16,
- 243, 207, 247, 196, 230, 23, 47, 27, 16, 243, 207, 230, 18, 240, 100, 47,
- 27, 16, 243, 207, 247, 196, 247, 211, 47, 27, 16, 243, 207, 220, 30, 247,
- 195, 247, 211, 47, 27, 16, 243, 207, 247, 196, 234, 188, 47, 27, 16, 243,
- 207, 247, 196, 212, 16, 47, 27, 16, 243, 207, 247, 196, 229, 65, 234,
- 201, 47, 27, 16, 243, 207, 247, 196, 229, 65, 254, 7, 47, 27, 16, 243,
- 207, 231, 254, 250, 10, 247, 182, 47, 27, 16, 243, 207, 231, 254, 250,
- 10, 230, 213, 47, 27, 16, 244, 91, 220, 30, 250, 10, 214, 241, 47, 27,
- 16, 243, 207, 220, 30, 250, 10, 218, 125, 47, 27, 16, 243, 207, 229, 179,
- 47, 27, 16, 250, 11, 211, 248, 47, 27, 16, 250, 11, 234, 45, 47, 27, 16,
- 250, 11, 219, 197, 47, 27, 16, 243, 207, 240, 146, 213, 1, 217, 182, 47,
- 27, 16, 243, 207, 245, 107, 253, 253, 47, 27, 16, 213, 1, 216, 164, 47,
- 27, 16, 247, 190, 216, 164, 47, 27, 16, 247, 190, 217, 182, 47, 27, 16,
- 247, 190, 253, 234, 245, 253, 247, 93, 47, 27, 16, 247, 190, 230, 211,
- 217, 186, 247, 93, 47, 27, 16, 247, 190, 247, 174, 245, 3, 247, 93, 47,
- 27, 16, 247, 190, 216, 172, 227, 77, 247, 93, 47, 27, 16, 213, 1, 253,
- 234, 245, 253, 247, 93, 47, 27, 16, 213, 1, 230, 211, 217, 186, 247, 93,
- 47, 27, 16, 213, 1, 247, 174, 245, 3, 247, 93, 47, 27, 16, 213, 1, 216,
- 172, 227, 77, 247, 93, 47, 27, 16, 243, 25, 247, 189, 47, 27, 16, 243,
- 25, 213, 0, 47, 27, 16, 247, 197, 253, 234, 231, 12, 47, 27, 16, 247,
- 197, 253, 234, 231, 137, 47, 27, 16, 247, 197, 247, 153, 47, 27, 16, 247,
- 197, 217, 135, 47, 27, 16, 220, 89, 217, 135, 47, 27, 16, 220, 89, 217,
- 136, 247, 138, 47, 27, 16, 220, 89, 217, 136, 216, 165, 47, 27, 16, 220,
- 89, 217, 136, 217, 175, 47, 27, 16, 220, 89, 253, 159, 47, 27, 16, 220,
- 89, 253, 160, 247, 138, 47, 27, 16, 220, 89, 253, 160, 216, 165, 47, 27,
- 16, 220, 89, 253, 160, 217, 175, 47, 27, 16, 247, 175, 243, 6, 47, 27,
- 16, 247, 181, 227, 2, 47, 27, 16, 219, 77, 47, 27, 16, 253, 178, 193, 47,
- 27, 16, 253, 178, 214, 105, 47, 27, 16, 253, 178, 243, 110, 47, 27, 16,
- 253, 178, 247, 211, 47, 27, 16, 253, 178, 234, 188, 47, 27, 16, 253, 178,
- 212, 16, 47, 27, 16, 253, 178, 229, 64, 47, 27, 16, 234, 168, 229, 178,
- 231, 109, 47, 27, 16, 234, 169, 229, 178, 231, 109, 47, 27, 16, 234, 168,
- 229, 178, 234, 201, 47, 27, 16, 234, 169, 229, 178, 234, 201, 47, 27, 16,
- 234, 47, 234, 201, 47, 27, 16, 242, 135, 229, 178, 234, 201, 27, 16, 220,
- 81, 252, 55, 27, 16, 51, 252, 55, 27, 16, 40, 252, 55, 27, 16, 223, 203,
- 40, 252, 55, 27, 16, 248, 100, 252, 55, 27, 16, 220, 175, 252, 55, 27,
- 16, 42, 223, 228, 52, 27, 16, 46, 223, 228, 52, 27, 16, 223, 228, 247,
- 72, 27, 16, 248, 141, 222, 82, 27, 16, 248, 165, 250, 181, 27, 16, 222,
- 82, 27, 16, 249, 171, 27, 16, 223, 226, 244, 80, 27, 16, 223, 226, 244,
- 79, 27, 16, 223, 226, 244, 78, 27, 16, 244, 100, 27, 16, 244, 101, 55,
- 27, 16, 251, 76, 77, 27, 16, 250, 210, 27, 16, 251, 86, 27, 16, 125, 27,
- 16, 227, 59, 219, 102, 27, 16, 216, 23, 219, 102, 27, 16, 217, 96, 219,
- 102, 27, 16, 243, 236, 219, 102, 27, 16, 244, 49, 219, 102, 27, 16, 220,
- 52, 219, 102, 27, 16, 220, 50, 243, 220, 27, 16, 243, 234, 243, 220, 27,
- 16, 243, 178, 249, 207, 27, 16, 243, 178, 249, 208, 227, 4, 254, 51, 27,
- 16, 243, 178, 249, 208, 227, 4, 252, 42, 27, 16, 250, 253, 249, 207, 27,
- 16, 244, 231, 249, 207, 27, 16, 244, 231, 249, 208, 227, 4, 254, 51, 27,
- 16, 244, 231, 249, 208, 227, 4, 252, 42, 27, 16, 246, 38, 249, 206, 27,
- 16, 246, 38, 249, 205, 27, 16, 230, 155, 231, 155, 223, 213, 27, 16, 51,
- 220, 254, 27, 16, 51, 244, 34, 27, 16, 244, 35, 215, 134, 27, 16, 244,
- 35, 246, 60, 27, 16, 230, 9, 215, 134, 27, 16, 230, 9, 246, 60, 27, 16,
- 220, 255, 215, 134, 27, 16, 220, 255, 246, 60, 27, 16, 224, 167, 160,
- 220, 254, 27, 16, 224, 167, 160, 244, 34, 27, 16, 249, 155, 217, 40, 27,
- 16, 249, 27, 217, 40, 27, 16, 227, 4, 254, 51, 27, 16, 227, 4, 252, 42,
- 27, 16, 224, 149, 254, 51, 27, 16, 224, 149, 252, 42, 27, 16, 230, 158,
- 223, 213, 27, 16, 213, 236, 223, 213, 27, 16, 151, 223, 213, 27, 16, 224,
- 167, 223, 213, 27, 16, 245, 146, 223, 213, 27, 16, 220, 46, 223, 213, 27,
- 16, 217, 113, 223, 213, 27, 16, 220, 38, 223, 213, 27, 16, 122, 240, 201,
- 216, 36, 223, 213, 27, 16, 213, 167, 228, 154, 27, 16, 94, 228, 154, 27,
- 16, 249, 229, 213, 167, 228, 154, 27, 16, 41, 228, 155, 213, 238, 27, 16,
- 41, 228, 155, 251, 144, 27, 16, 216, 184, 228, 155, 114, 213, 238, 27,
- 16, 216, 184, 228, 155, 114, 251, 144, 27, 16, 216, 184, 228, 155, 42,
- 213, 238, 27, 16, 216, 184, 228, 155, 42, 251, 144, 27, 16, 216, 184,
- 228, 155, 46, 213, 238, 27, 16, 216, 184, 228, 155, 46, 251, 144, 27, 16,
- 216, 184, 228, 155, 119, 213, 238, 27, 16, 216, 184, 228, 155, 119, 251,
- 144, 27, 16, 216, 184, 228, 155, 114, 46, 213, 238, 27, 16, 216, 184,
- 228, 155, 114, 46, 251, 144, 27, 16, 230, 199, 228, 155, 213, 238, 27,
- 16, 230, 199, 228, 155, 251, 144, 27, 16, 216, 181, 228, 155, 119, 213,
- 238, 27, 16, 216, 181, 228, 155, 119, 251, 144, 27, 16, 226, 132, 228,
- 154, 27, 16, 214, 113, 228, 154, 27, 16, 228, 155, 251, 144, 27, 16, 228,
- 59, 228, 154, 27, 16, 249, 178, 228, 155, 213, 238, 27, 16, 249, 178,
- 228, 155, 251, 144, 27, 16, 251, 74, 27, 16, 213, 236, 228, 158, 27, 16,
- 151, 228, 158, 27, 16, 224, 167, 228, 158, 27, 16, 245, 146, 228, 158,
- 27, 16, 220, 46, 228, 158, 27, 16, 217, 113, 228, 158, 27, 16, 220, 38,
- 228, 158, 27, 16, 122, 240, 201, 216, 36, 228, 158, 27, 16, 37, 219, 79,
- 27, 16, 37, 219, 172, 219, 79, 27, 16, 37, 216, 192, 27, 16, 37, 216,
- 191, 27, 16, 37, 216, 190, 27, 16, 244, 70, 216, 192, 27, 16, 244, 70,
- 216, 191, 27, 16, 244, 70, 216, 190, 27, 16, 37, 253, 105, 247, 74, 27,
- 16, 37, 244, 41, 27, 16, 37, 244, 40, 27, 16, 37, 244, 39, 27, 16, 37,
- 244, 38, 27, 16, 37, 244, 37, 27, 16, 251, 234, 251, 250, 27, 16, 245,
- 101, 251, 250, 27, 16, 251, 234, 217, 65, 27, 16, 245, 101, 217, 65, 27,
- 16, 251, 234, 220, 8, 27, 16, 245, 101, 220, 8, 27, 16, 251, 234, 225,
- 247, 27, 16, 245, 101, 225, 247, 27, 16, 37, 254, 174, 27, 16, 37, 219,
- 104, 27, 16, 37, 217, 191, 27, 16, 37, 219, 105, 27, 16, 37, 231, 225,
- 27, 16, 37, 231, 224, 27, 16, 37, 254, 173, 27, 16, 37, 232, 167, 27, 16,
- 253, 169, 215, 134, 27, 16, 253, 169, 246, 60, 27, 16, 37, 247, 89, 27,
- 16, 37, 223, 128, 27, 16, 37, 244, 27, 27, 16, 37, 220, 4, 27, 16, 37,
- 251, 215, 27, 16, 37, 51, 216, 232, 27, 16, 37, 216, 169, 216, 232, 27,
- 16, 223, 132, 27, 16, 219, 20, 27, 16, 212, 152, 27, 16, 225, 239, 27,
- 16, 231, 92, 27, 16, 243, 242, 27, 16, 249, 78, 27, 16, 248, 29, 27, 16,
- 242, 126, 228, 159, 220, 23, 27, 16, 242, 126, 228, 159, 228, 186, 220,
- 23, 27, 16, 216, 213, 27, 16, 216, 59, 27, 16, 235, 191, 216, 59, 27, 16,
- 216, 60, 220, 23, 27, 16, 216, 60, 215, 134, 27, 16, 227, 15, 219, 44,
- 27, 16, 227, 15, 219, 41, 27, 16, 227, 15, 219, 40, 27, 16, 227, 15, 219,
- 39, 27, 16, 227, 15, 219, 38, 27, 16, 227, 15, 219, 37, 27, 16, 227, 15,
- 219, 36, 27, 16, 227, 15, 219, 35, 27, 16, 227, 15, 219, 34, 27, 16, 227,
- 15, 219, 43, 27, 16, 227, 15, 219, 42, 27, 16, 241, 229, 27, 16, 229,
- 186, 27, 16, 245, 101, 65, 219, 73, 27, 16, 248, 22, 220, 23, 27, 16, 37,
- 119, 251, 95, 27, 16, 37, 114, 251, 95, 27, 16, 37, 241, 239, 27, 16, 37,
- 219, 251, 225, 175, 27, 16, 226, 91, 77, 27, 16, 226, 91, 114, 77, 27,
- 16, 151, 226, 91, 77, 27, 16, 242, 158, 215, 134, 27, 16, 242, 158, 246,
- 60, 27, 16, 2, 244, 69, 27, 16, 248, 125, 27, 16, 248, 126, 254, 63, 27,
- 16, 231, 197, 27, 16, 232, 182, 27, 16, 251, 71, 27, 16, 221, 74, 213,
- 238, 27, 16, 221, 74, 251, 144, 27, 16, 230, 253, 27, 16, 230, 254, 251,
- 144, 27, 16, 221, 68, 213, 238, 27, 16, 221, 68, 251, 144, 27, 16, 243,
- 192, 213, 238, 27, 16, 243, 192, 251, 144, 27, 16, 232, 183, 226, 55,
- 223, 213, 27, 16, 232, 183, 236, 0, 223, 213, 27, 16, 251, 72, 223, 213,
- 27, 16, 221, 74, 223, 213, 27, 16, 230, 254, 223, 213, 27, 16, 221, 68,
- 223, 213, 27, 16, 217, 202, 226, 53, 249, 48, 225, 58, 226, 54, 27, 16,
- 217, 202, 226, 53, 249, 48, 225, 58, 235, 255, 27, 16, 217, 202, 226, 53,
- 249, 48, 225, 58, 226, 55, 247, 163, 27, 16, 217, 202, 235, 254, 249, 48,
- 225, 58, 226, 54, 27, 16, 217, 202, 235, 254, 249, 48, 225, 58, 235, 255,
- 27, 16, 217, 202, 235, 254, 249, 48, 225, 58, 236, 0, 247, 163, 27, 16,
- 217, 202, 235, 254, 249, 48, 225, 58, 236, 0, 247, 162, 27, 16, 217, 202,
- 235, 254, 249, 48, 225, 58, 236, 0, 247, 161, 27, 16, 249, 73, 27, 16,
- 242, 103, 250, 253, 249, 207, 27, 16, 242, 103, 244, 231, 249, 207, 27,
- 16, 41, 253, 74, 27, 16, 214, 132, 27, 16, 225, 148, 27, 16, 249, 198,
- 27, 16, 222, 121, 27, 16, 249, 202, 27, 16, 216, 220, 27, 16, 225, 122,
- 27, 16, 225, 123, 244, 29, 27, 16, 222, 122, 244, 29, 27, 16, 216, 221,
- 223, 210, 27, 16, 226, 39, 219, 11, 25, 214, 118, 174, 218, 174, 25, 214,
- 118, 174, 218, 163, 25, 214, 118, 174, 218, 153, 25, 214, 118, 174, 218,
- 146, 25, 214, 118, 174, 218, 138, 25, 214, 118, 174, 218, 132, 25, 214,
- 118, 174, 218, 131, 25, 214, 118, 174, 218, 130, 25, 214, 118, 174, 218,
- 129, 25, 214, 118, 174, 218, 173, 25, 214, 118, 174, 218, 172, 25, 214,
- 118, 174, 218, 171, 25, 214, 118, 174, 218, 170, 25, 214, 118, 174, 218,
- 169, 25, 214, 118, 174, 218, 168, 25, 214, 118, 174, 218, 167, 25, 214,
- 118, 174, 218, 166, 25, 214, 118, 174, 218, 165, 25, 214, 118, 174, 218,
- 164, 25, 214, 118, 174, 218, 162, 25, 214, 118, 174, 218, 161, 25, 214,
- 118, 174, 218, 160, 25, 214, 118, 174, 218, 159, 25, 214, 118, 174, 218,
- 158, 25, 214, 118, 174, 218, 137, 25, 214, 118, 174, 218, 136, 25, 214,
- 118, 174, 218, 135, 25, 214, 118, 174, 218, 134, 25, 214, 118, 174, 218,
- 133, 25, 235, 211, 174, 218, 174, 25, 235, 211, 174, 218, 163, 25, 235,
- 211, 174, 218, 146, 25, 235, 211, 174, 218, 138, 25, 235, 211, 174, 218,
- 131, 25, 235, 211, 174, 218, 130, 25, 235, 211, 174, 218, 172, 25, 235,
- 211, 174, 218, 171, 25, 235, 211, 174, 218, 170, 25, 235, 211, 174, 218,
- 169, 25, 235, 211, 174, 218, 166, 25, 235, 211, 174, 218, 165, 25, 235,
- 211, 174, 218, 164, 25, 235, 211, 174, 218, 159, 25, 235, 211, 174, 218,
- 158, 25, 235, 211, 174, 218, 157, 25, 235, 211, 174, 218, 156, 25, 235,
- 211, 174, 218, 155, 25, 235, 211, 174, 218, 154, 25, 235, 211, 174, 218,
- 152, 25, 235, 211, 174, 218, 151, 25, 235, 211, 174, 218, 150, 25, 235,
- 211, 174, 218, 149, 25, 235, 211, 174, 218, 148, 25, 235, 211, 174, 218,
- 147, 25, 235, 211, 174, 218, 145, 25, 235, 211, 174, 218, 144, 25, 235,
- 211, 174, 218, 143, 25, 235, 211, 174, 218, 142, 25, 235, 211, 174, 218,
- 141, 25, 235, 211, 174, 218, 140, 25, 235, 211, 174, 218, 139, 25, 235,
- 211, 174, 218, 137, 25, 235, 211, 174, 218, 136, 25, 235, 211, 174, 218,
- 135, 25, 235, 211, 174, 218, 134, 25, 235, 211, 174, 218, 133, 37, 25,
- 27, 216, 166, 37, 25, 27, 217, 176, 37, 25, 27, 226, 63, 25, 27, 233, 55,
- 230, 212, 31, 245, 179, 247, 176, 31, 241, 206, 245, 179, 247, 176, 31,
- 240, 204, 245, 179, 247, 176, 31, 245, 178, 241, 207, 247, 176, 31, 245,
- 178, 240, 203, 247, 176, 31, 245, 179, 170, 31, 250, 108, 170, 31, 243,
- 200, 249, 228, 170, 31, 230, 246, 170, 31, 252, 50, 170, 31, 234, 185,
- 220, 7, 170, 31, 249, 118, 170, 31, 253, 148, 170, 31, 227, 29, 170, 31,
- 251, 80, 226, 254, 170, 31, 248, 24, 167, 247, 131, 170, 31, 247, 128,
- 170, 31, 212, 213, 170, 31, 235, 243, 170, 31, 226, 72, 170, 31, 224, 20,
- 170, 31, 249, 128, 170, 31, 241, 46, 252, 101, 170, 31, 214, 43, 170, 31,
- 244, 8, 170, 31, 254, 151, 170, 31, 223, 239, 170, 31, 223, 217, 170, 31,
- 245, 177, 170, 31, 235, 56, 170, 31, 249, 123, 170, 31, 245, 100, 170,
- 31, 246, 7, 170, 31, 250, 81, 170, 31, 248, 33, 170, 31, 22, 223, 216,
- 170, 31, 226, 205, 170, 31, 233, 58, 170, 31, 249, 191, 170, 31, 234, 86,
- 170, 31, 243, 62, 170, 31, 219, 52, 170, 31, 225, 16, 170, 31, 243, 199,
- 170, 31, 223, 218, 170, 31, 233, 95, 167, 230, 227, 170, 31, 223, 214,
- 170, 31, 242, 144, 211, 211, 231, 141, 170, 31, 245, 102, 170, 31, 219,
- 64, 170, 31, 242, 105, 170, 31, 245, 94, 170, 31, 226, 108, 170, 31, 223,
- 122, 170, 31, 244, 28, 170, 31, 214, 240, 167, 214, 28, 170, 31, 249,
- 132, 170, 31, 231, 154, 170, 31, 245, 27, 170, 31, 215, 143, 170, 31,
- 247, 164, 170, 31, 249, 193, 230, 180, 170, 31, 242, 87, 170, 31, 243,
- 63, 235, 251, 170, 31, 231, 204, 170, 31, 254, 170, 170, 31, 245, 115,
- 170, 31, 246, 63, 170, 31, 214, 26, 170, 31, 220, 78, 170, 31, 235, 219,
- 170, 31, 247, 249, 170, 31, 248, 105, 170, 31, 247, 160, 170, 31, 244,
- 252, 170, 31, 221, 36, 170, 31, 219, 68, 170, 31, 241, 241, 170, 31, 249,
- 151, 170, 31, 249, 188, 170, 31, 244, 145, 170, 31, 254, 117, 170, 31,
- 249, 150, 170, 31, 227, 63, 217, 149, 214, 219, 170, 31, 247, 184, 170,
- 31, 233, 147, 170, 31, 243, 239, 249, 88, 223, 103, 215, 145, 21, 116,
- 249, 88, 223, 103, 215, 145, 21, 109, 249, 88, 223, 103, 215, 145, 21,
- 166, 249, 88, 223, 103, 215, 145, 21, 163, 249, 88, 223, 103, 215, 145,
- 21, 180, 249, 88, 223, 103, 215, 145, 21, 189, 249, 88, 223, 103, 215,
- 145, 21, 198, 249, 88, 223, 103, 215, 145, 21, 195, 249, 88, 223, 103,
- 215, 145, 21, 200, 249, 88, 223, 103, 217, 196, 21, 116, 249, 88, 223,
- 103, 217, 196, 21, 109, 249, 88, 223, 103, 217, 196, 21, 166, 249, 88,
- 223, 103, 217, 196, 21, 163, 249, 88, 223, 103, 217, 196, 21, 180, 249,
- 88, 223, 103, 217, 196, 21, 189, 249, 88, 223, 103, 217, 196, 21, 198,
- 249, 88, 223, 103, 217, 196, 21, 195, 249, 88, 223, 103, 217, 196, 21,
- 200, 14, 22, 6, 61, 14, 22, 6, 253, 74, 14, 22, 6, 250, 252, 14, 22, 6,
- 249, 3, 14, 22, 6, 74, 14, 22, 6, 244, 230, 14, 22, 6, 243, 177, 14, 22,
- 6, 242, 41, 14, 22, 6, 72, 14, 22, 6, 235, 142, 14, 22, 6, 235, 27, 14,
- 22, 6, 150, 14, 22, 6, 183, 14, 22, 6, 204, 14, 22, 6, 75, 14, 22, 6,
- 226, 229, 14, 22, 6, 224, 240, 14, 22, 6, 149, 14, 22, 6, 197, 14, 22, 6,
- 218, 99, 14, 22, 6, 69, 14, 22, 6, 215, 79, 14, 22, 6, 214, 82, 14, 22,
- 6, 213, 166, 14, 22, 6, 213, 105, 14, 22, 6, 212, 152, 14, 22, 3, 61, 14,
- 22, 3, 253, 74, 14, 22, 3, 250, 252, 14, 22, 3, 249, 3, 14, 22, 3, 74,
- 14, 22, 3, 244, 230, 14, 22, 3, 243, 177, 14, 22, 3, 242, 41, 14, 22, 3,
- 72, 14, 22, 3, 235, 142, 14, 22, 3, 235, 27, 14, 22, 3, 150, 14, 22, 3,
- 183, 14, 22, 3, 204, 14, 22, 3, 75, 14, 22, 3, 226, 229, 14, 22, 3, 224,
- 240, 14, 22, 3, 149, 14, 22, 3, 197, 14, 22, 3, 218, 99, 14, 22, 3, 69,
- 14, 22, 3, 215, 79, 14, 22, 3, 214, 82, 14, 22, 3, 213, 166, 14, 22, 3,
- 213, 105, 14, 22, 3, 212, 152, 14, 32, 6, 61, 14, 32, 6, 253, 74, 14, 32,
- 6, 250, 252, 14, 32, 6, 249, 3, 14, 32, 6, 74, 14, 32, 6, 244, 230, 14,
- 32, 6, 243, 177, 14, 32, 6, 242, 41, 14, 32, 6, 72, 14, 32, 6, 235, 142,
- 14, 32, 6, 235, 27, 14, 32, 6, 150, 14, 32, 6, 183, 14, 32, 6, 204, 14,
- 32, 6, 75, 14, 32, 6, 226, 229, 14, 32, 6, 224, 240, 14, 32, 6, 149, 14,
- 32, 6, 197, 14, 32, 6, 218, 99, 14, 32, 6, 69, 14, 32, 6, 215, 79, 14,
- 32, 6, 214, 82, 14, 32, 6, 213, 166, 14, 32, 6, 213, 105, 14, 32, 6, 212,
- 152, 14, 32, 3, 61, 14, 32, 3, 253, 74, 14, 32, 3, 250, 252, 14, 32, 3,
- 249, 3, 14, 32, 3, 74, 14, 32, 3, 244, 230, 14, 32, 3, 243, 177, 14, 32,
- 3, 72, 14, 32, 3, 235, 142, 14, 32, 3, 235, 27, 14, 32, 3, 150, 14, 32,
- 3, 183, 14, 32, 3, 204, 14, 32, 3, 75, 14, 32, 3, 226, 229, 14, 32, 3,
- 224, 240, 14, 32, 3, 149, 14, 32, 3, 197, 14, 32, 3, 218, 99, 14, 32, 3,
- 69, 14, 32, 3, 215, 79, 14, 32, 3, 214, 82, 14, 32, 3, 213, 166, 14, 32,
- 3, 213, 105, 14, 32, 3, 212, 152, 14, 22, 32, 6, 61, 14, 22, 32, 6, 253,
- 74, 14, 22, 32, 6, 250, 252, 14, 22, 32, 6, 249, 3, 14, 22, 32, 6, 74,
- 14, 22, 32, 6, 244, 230, 14, 22, 32, 6, 243, 177, 14, 22, 32, 6, 242, 41,
- 14, 22, 32, 6, 72, 14, 22, 32, 6, 235, 142, 14, 22, 32, 6, 235, 27, 14,
- 22, 32, 6, 150, 14, 22, 32, 6, 183, 14, 22, 32, 6, 204, 14, 22, 32, 6,
- 75, 14, 22, 32, 6, 226, 229, 14, 22, 32, 6, 224, 240, 14, 22, 32, 6, 149,
- 14, 22, 32, 6, 197, 14, 22, 32, 6, 218, 99, 14, 22, 32, 6, 69, 14, 22,
- 32, 6, 215, 79, 14, 22, 32, 6, 214, 82, 14, 22, 32, 6, 213, 166, 14, 22,
- 32, 6, 213, 105, 14, 22, 32, 6, 212, 152, 14, 22, 32, 3, 61, 14, 22, 32,
- 3, 253, 74, 14, 22, 32, 3, 250, 252, 14, 22, 32, 3, 249, 3, 14, 22, 32,
- 3, 74, 14, 22, 32, 3, 244, 230, 14, 22, 32, 3, 243, 177, 14, 22, 32, 3,
- 242, 41, 14, 22, 32, 3, 72, 14, 22, 32, 3, 235, 142, 14, 22, 32, 3, 235,
- 27, 14, 22, 32, 3, 150, 14, 22, 32, 3, 183, 14, 22, 32, 3, 204, 14, 22,
- 32, 3, 75, 14, 22, 32, 3, 226, 229, 14, 22, 32, 3, 224, 240, 14, 22, 32,
- 3, 149, 14, 22, 32, 3, 197, 14, 22, 32, 3, 218, 99, 14, 22, 32, 3, 69,
- 14, 22, 32, 3, 215, 79, 14, 22, 32, 3, 214, 82, 14, 22, 32, 3, 213, 166,
- 14, 22, 32, 3, 213, 105, 14, 22, 32, 3, 212, 152, 14, 113, 6, 61, 14,
- 113, 6, 250, 252, 14, 113, 6, 249, 3, 14, 113, 6, 243, 177, 14, 113, 6,
- 235, 142, 14, 113, 6, 235, 27, 14, 113, 6, 204, 14, 113, 6, 75, 14, 113,
- 6, 226, 229, 14, 113, 6, 224, 240, 14, 113, 6, 197, 14, 113, 6, 218, 99,
- 14, 113, 6, 69, 14, 113, 6, 215, 79, 14, 113, 6, 214, 82, 14, 113, 6,
- 213, 166, 14, 113, 6, 213, 105, 14, 113, 6, 212, 152, 14, 113, 3, 61, 14,
- 113, 3, 253, 74, 14, 113, 3, 250, 252, 14, 113, 3, 249, 3, 14, 113, 3,
- 244, 230, 14, 113, 3, 242, 41, 14, 113, 3, 72, 14, 113, 3, 235, 142, 14,
- 113, 3, 235, 27, 14, 113, 3, 150, 14, 113, 3, 183, 14, 113, 3, 204, 14,
- 113, 3, 226, 229, 14, 113, 3, 224, 240, 14, 113, 3, 149, 14, 113, 3, 197,
- 14, 113, 3, 218, 99, 14, 113, 3, 69, 14, 113, 3, 215, 79, 14, 113, 3,
- 214, 82, 14, 113, 3, 213, 166, 14, 113, 3, 213, 105, 14, 113, 3, 212,
- 152, 14, 22, 113, 6, 61, 14, 22, 113, 6, 253, 74, 14, 22, 113, 6, 250,
- 252, 14, 22, 113, 6, 249, 3, 14, 22, 113, 6, 74, 14, 22, 113, 6, 244,
- 230, 14, 22, 113, 6, 243, 177, 14, 22, 113, 6, 242, 41, 14, 22, 113, 6,
- 72, 14, 22, 113, 6, 235, 142, 14, 22, 113, 6, 235, 27, 14, 22, 113, 6,
- 150, 14, 22, 113, 6, 183, 14, 22, 113, 6, 204, 14, 22, 113, 6, 75, 14,
- 22, 113, 6, 226, 229, 14, 22, 113, 6, 224, 240, 14, 22, 113, 6, 149, 14,
- 22, 113, 6, 197, 14, 22, 113, 6, 218, 99, 14, 22, 113, 6, 69, 14, 22,
- 113, 6, 215, 79, 14, 22, 113, 6, 214, 82, 14, 22, 113, 6, 213, 166, 14,
- 22, 113, 6, 213, 105, 14, 22, 113, 6, 212, 152, 14, 22, 113, 3, 61, 14,
- 22, 113, 3, 253, 74, 14, 22, 113, 3, 250, 252, 14, 22, 113, 3, 249, 3,
- 14, 22, 113, 3, 74, 14, 22, 113, 3, 244, 230, 14, 22, 113, 3, 243, 177,
- 14, 22, 113, 3, 242, 41, 14, 22, 113, 3, 72, 14, 22, 113, 3, 235, 142,
- 14, 22, 113, 3, 235, 27, 14, 22, 113, 3, 150, 14, 22, 113, 3, 183, 14,
- 22, 113, 3, 204, 14, 22, 113, 3, 75, 14, 22, 113, 3, 226, 229, 14, 22,
- 113, 3, 224, 240, 14, 22, 113, 3, 149, 14, 22, 113, 3, 197, 14, 22, 113,
- 3, 218, 99, 14, 22, 113, 3, 69, 14, 22, 113, 3, 215, 79, 14, 22, 113, 3,
- 214, 82, 14, 22, 113, 3, 213, 166, 14, 22, 113, 3, 213, 105, 14, 22, 113,
- 3, 212, 152, 14, 129, 6, 61, 14, 129, 6, 253, 74, 14, 129, 6, 249, 3, 14,
- 129, 6, 74, 14, 129, 6, 244, 230, 14, 129, 6, 243, 177, 14, 129, 6, 235,
- 142, 14, 129, 6, 235, 27, 14, 129, 6, 150, 14, 129, 6, 183, 14, 129, 6,
- 204, 14, 129, 6, 75, 14, 129, 6, 226, 229, 14, 129, 6, 224, 240, 14, 129,
- 6, 197, 14, 129, 6, 218, 99, 14, 129, 6, 69, 14, 129, 6, 215, 79, 14,
- 129, 6, 214, 82, 14, 129, 6, 213, 166, 14, 129, 6, 213, 105, 14, 129, 3,
- 61, 14, 129, 3, 253, 74, 14, 129, 3, 250, 252, 14, 129, 3, 249, 3, 14,
- 129, 3, 74, 14, 129, 3, 244, 230, 14, 129, 3, 243, 177, 14, 129, 3, 242,
- 41, 14, 129, 3, 72, 14, 129, 3, 235, 142, 14, 129, 3, 235, 27, 14, 129,
- 3, 150, 14, 129, 3, 183, 14, 129, 3, 204, 14, 129, 3, 75, 14, 129, 3,
- 226, 229, 14, 129, 3, 224, 240, 14, 129, 3, 149, 14, 129, 3, 197, 14,
- 129, 3, 218, 99, 14, 129, 3, 69, 14, 129, 3, 215, 79, 14, 129, 3, 214,
- 82, 14, 129, 3, 213, 166, 14, 129, 3, 213, 105, 14, 129, 3, 212, 152, 14,
- 187, 6, 61, 14, 187, 6, 253, 74, 14, 187, 6, 249, 3, 14, 187, 6, 74, 14,
- 187, 6, 244, 230, 14, 187, 6, 243, 177, 14, 187, 6, 72, 14, 187, 6, 235,
- 142, 14, 187, 6, 235, 27, 14, 187, 6, 150, 14, 187, 6, 183, 14, 187, 6,
- 75, 14, 187, 6, 197, 14, 187, 6, 218, 99, 14, 187, 6, 69, 14, 187, 6,
- 215, 79, 14, 187, 6, 214, 82, 14, 187, 6, 213, 166, 14, 187, 6, 213, 105,
- 14, 187, 3, 61, 14, 187, 3, 253, 74, 14, 187, 3, 250, 252, 14, 187, 3,
- 249, 3, 14, 187, 3, 74, 14, 187, 3, 244, 230, 14, 187, 3, 243, 177, 14,
- 187, 3, 242, 41, 14, 187, 3, 72, 14, 187, 3, 235, 142, 14, 187, 3, 235,
- 27, 14, 187, 3, 150, 14, 187, 3, 183, 14, 187, 3, 204, 14, 187, 3, 75,
- 14, 187, 3, 226, 229, 14, 187, 3, 224, 240, 14, 187, 3, 149, 14, 187, 3,
- 197, 14, 187, 3, 218, 99, 14, 187, 3, 69, 14, 187, 3, 215, 79, 14, 187,
- 3, 214, 82, 14, 187, 3, 213, 166, 14, 187, 3, 213, 105, 14, 187, 3, 212,
- 152, 14, 22, 129, 6, 61, 14, 22, 129, 6, 253, 74, 14, 22, 129, 6, 250,
- 252, 14, 22, 129, 6, 249, 3, 14, 22, 129, 6, 74, 14, 22, 129, 6, 244,
- 230, 14, 22, 129, 6, 243, 177, 14, 22, 129, 6, 242, 41, 14, 22, 129, 6,
- 72, 14, 22, 129, 6, 235, 142, 14, 22, 129, 6, 235, 27, 14, 22, 129, 6,
- 150, 14, 22, 129, 6, 183, 14, 22, 129, 6, 204, 14, 22, 129, 6, 75, 14,
- 22, 129, 6, 226, 229, 14, 22, 129, 6, 224, 240, 14, 22, 129, 6, 149, 14,
- 22, 129, 6, 197, 14, 22, 129, 6, 218, 99, 14, 22, 129, 6, 69, 14, 22,
- 129, 6, 215, 79, 14, 22, 129, 6, 214, 82, 14, 22, 129, 6, 213, 166, 14,
- 22, 129, 6, 213, 105, 14, 22, 129, 6, 212, 152, 14, 22, 129, 3, 61, 14,
- 22, 129, 3, 253, 74, 14, 22, 129, 3, 250, 252, 14, 22, 129, 3, 249, 3,
- 14, 22, 129, 3, 74, 14, 22, 129, 3, 244, 230, 14, 22, 129, 3, 243, 177,
- 14, 22, 129, 3, 242, 41, 14, 22, 129, 3, 72, 14, 22, 129, 3, 235, 142,
- 14, 22, 129, 3, 235, 27, 14, 22, 129, 3, 150, 14, 22, 129, 3, 183, 14,
- 22, 129, 3, 204, 14, 22, 129, 3, 75, 14, 22, 129, 3, 226, 229, 14, 22,
- 129, 3, 224, 240, 14, 22, 129, 3, 149, 14, 22, 129, 3, 197, 14, 22, 129,
- 3, 218, 99, 14, 22, 129, 3, 69, 14, 22, 129, 3, 215, 79, 14, 22, 129, 3,
- 214, 82, 14, 22, 129, 3, 213, 166, 14, 22, 129, 3, 213, 105, 14, 22, 129,
- 3, 212, 152, 14, 35, 6, 61, 14, 35, 6, 253, 74, 14, 35, 6, 250, 252, 14,
- 35, 6, 249, 3, 14, 35, 6, 74, 14, 35, 6, 244, 230, 14, 35, 6, 243, 177,
- 14, 35, 6, 242, 41, 14, 35, 6, 72, 14, 35, 6, 235, 142, 14, 35, 6, 235,
- 27, 14, 35, 6, 150, 14, 35, 6, 183, 14, 35, 6, 204, 14, 35, 6, 75, 14,
- 35, 6, 226, 229, 14, 35, 6, 224, 240, 14, 35, 6, 149, 14, 35, 6, 197, 14,
- 35, 6, 218, 99, 14, 35, 6, 69, 14, 35, 6, 215, 79, 14, 35, 6, 214, 82,
- 14, 35, 6, 213, 166, 14, 35, 6, 213, 105, 14, 35, 6, 212, 152, 14, 35, 3,
- 61, 14, 35, 3, 253, 74, 14, 35, 3, 250, 252, 14, 35, 3, 249, 3, 14, 35,
- 3, 74, 14, 35, 3, 244, 230, 14, 35, 3, 243, 177, 14, 35, 3, 242, 41, 14,
- 35, 3, 72, 14, 35, 3, 235, 142, 14, 35, 3, 235, 27, 14, 35, 3, 150, 14,
- 35, 3, 183, 14, 35, 3, 204, 14, 35, 3, 75, 14, 35, 3, 226, 229, 14, 35,
- 3, 224, 240, 14, 35, 3, 149, 14, 35, 3, 197, 14, 35, 3, 218, 99, 14, 35,
- 3, 69, 14, 35, 3, 215, 79, 14, 35, 3, 214, 82, 14, 35, 3, 213, 166, 14,
- 35, 3, 213, 105, 14, 35, 3, 212, 152, 14, 35, 22, 6, 61, 14, 35, 22, 6,
- 253, 74, 14, 35, 22, 6, 250, 252, 14, 35, 22, 6, 249, 3, 14, 35, 22, 6,
- 74, 14, 35, 22, 6, 244, 230, 14, 35, 22, 6, 243, 177, 14, 35, 22, 6, 242,
- 41, 14, 35, 22, 6, 72, 14, 35, 22, 6, 235, 142, 14, 35, 22, 6, 235, 27,
- 14, 35, 22, 6, 150, 14, 35, 22, 6, 183, 14, 35, 22, 6, 204, 14, 35, 22,
- 6, 75, 14, 35, 22, 6, 226, 229, 14, 35, 22, 6, 224, 240, 14, 35, 22, 6,
- 149, 14, 35, 22, 6, 197, 14, 35, 22, 6, 218, 99, 14, 35, 22, 6, 69, 14,
- 35, 22, 6, 215, 79, 14, 35, 22, 6, 214, 82, 14, 35, 22, 6, 213, 166, 14,
- 35, 22, 6, 213, 105, 14, 35, 22, 6, 212, 152, 14, 35, 22, 3, 61, 14, 35,
- 22, 3, 253, 74, 14, 35, 22, 3, 250, 252, 14, 35, 22, 3, 249, 3, 14, 35,
- 22, 3, 74, 14, 35, 22, 3, 244, 230, 14, 35, 22, 3, 243, 177, 14, 35, 22,
- 3, 242, 41, 14, 35, 22, 3, 72, 14, 35, 22, 3, 235, 142, 14, 35, 22, 3,
- 235, 27, 14, 35, 22, 3, 150, 14, 35, 22, 3, 183, 14, 35, 22, 3, 204, 14,
- 35, 22, 3, 75, 14, 35, 22, 3, 226, 229, 14, 35, 22, 3, 224, 240, 14, 35,
- 22, 3, 149, 14, 35, 22, 3, 197, 14, 35, 22, 3, 218, 99, 14, 35, 22, 3,
- 69, 14, 35, 22, 3, 215, 79, 14, 35, 22, 3, 214, 82, 14, 35, 22, 3, 213,
- 166, 14, 35, 22, 3, 213, 105, 14, 35, 22, 3, 212, 152, 14, 35, 32, 6, 61,
- 14, 35, 32, 6, 253, 74, 14, 35, 32, 6, 250, 252, 14, 35, 32, 6, 249, 3,
- 14, 35, 32, 6, 74, 14, 35, 32, 6, 244, 230, 14, 35, 32, 6, 243, 177, 14,
- 35, 32, 6, 242, 41, 14, 35, 32, 6, 72, 14, 35, 32, 6, 235, 142, 14, 35,
- 32, 6, 235, 27, 14, 35, 32, 6, 150, 14, 35, 32, 6, 183, 14, 35, 32, 6,
- 204, 14, 35, 32, 6, 75, 14, 35, 32, 6, 226, 229, 14, 35, 32, 6, 224, 240,
- 14, 35, 32, 6, 149, 14, 35, 32, 6, 197, 14, 35, 32, 6, 218, 99, 14, 35,
- 32, 6, 69, 14, 35, 32, 6, 215, 79, 14, 35, 32, 6, 214, 82, 14, 35, 32, 6,
- 213, 166, 14, 35, 32, 6, 213, 105, 14, 35, 32, 6, 212, 152, 14, 35, 32,
- 3, 61, 14, 35, 32, 3, 253, 74, 14, 35, 32, 3, 250, 252, 14, 35, 32, 3,
- 249, 3, 14, 35, 32, 3, 74, 14, 35, 32, 3, 244, 230, 14, 35, 32, 3, 243,
- 177, 14, 35, 32, 3, 242, 41, 14, 35, 32, 3, 72, 14, 35, 32, 3, 235, 142,
- 14, 35, 32, 3, 235, 27, 14, 35, 32, 3, 150, 14, 35, 32, 3, 183, 14, 35,
- 32, 3, 204, 14, 35, 32, 3, 75, 14, 35, 32, 3, 226, 229, 14, 35, 32, 3,
- 224, 240, 14, 35, 32, 3, 149, 14, 35, 32, 3, 197, 14, 35, 32, 3, 218, 99,
- 14, 35, 32, 3, 69, 14, 35, 32, 3, 215, 79, 14, 35, 32, 3, 214, 82, 14,
- 35, 32, 3, 213, 166, 14, 35, 32, 3, 213, 105, 14, 35, 32, 3, 212, 152,
- 14, 35, 22, 32, 6, 61, 14, 35, 22, 32, 6, 253, 74, 14, 35, 22, 32, 6,
- 250, 252, 14, 35, 22, 32, 6, 249, 3, 14, 35, 22, 32, 6, 74, 14, 35, 22,
- 32, 6, 244, 230, 14, 35, 22, 32, 6, 243, 177, 14, 35, 22, 32, 6, 242, 41,
- 14, 35, 22, 32, 6, 72, 14, 35, 22, 32, 6, 235, 142, 14, 35, 22, 32, 6,
- 235, 27, 14, 35, 22, 32, 6, 150, 14, 35, 22, 32, 6, 183, 14, 35, 22, 32,
- 6, 204, 14, 35, 22, 32, 6, 75, 14, 35, 22, 32, 6, 226, 229, 14, 35, 22,
- 32, 6, 224, 240, 14, 35, 22, 32, 6, 149, 14, 35, 22, 32, 6, 197, 14, 35,
- 22, 32, 6, 218, 99, 14, 35, 22, 32, 6, 69, 14, 35, 22, 32, 6, 215, 79,
- 14, 35, 22, 32, 6, 214, 82, 14, 35, 22, 32, 6, 213, 166, 14, 35, 22, 32,
- 6, 213, 105, 14, 35, 22, 32, 6, 212, 152, 14, 35, 22, 32, 3, 61, 14, 35,
- 22, 32, 3, 253, 74, 14, 35, 22, 32, 3, 250, 252, 14, 35, 22, 32, 3, 249,
- 3, 14, 35, 22, 32, 3, 74, 14, 35, 22, 32, 3, 244, 230, 14, 35, 22, 32, 3,
- 243, 177, 14, 35, 22, 32, 3, 242, 41, 14, 35, 22, 32, 3, 72, 14, 35, 22,
- 32, 3, 235, 142, 14, 35, 22, 32, 3, 235, 27, 14, 35, 22, 32, 3, 150, 14,
- 35, 22, 32, 3, 183, 14, 35, 22, 32, 3, 204, 14, 35, 22, 32, 3, 75, 14,
- 35, 22, 32, 3, 226, 229, 14, 35, 22, 32, 3, 224, 240, 14, 35, 22, 32, 3,
- 149, 14, 35, 22, 32, 3, 197, 14, 35, 22, 32, 3, 218, 99, 14, 35, 22, 32,
- 3, 69, 14, 35, 22, 32, 3, 215, 79, 14, 35, 22, 32, 3, 214, 82, 14, 35,
- 22, 32, 3, 213, 166, 14, 35, 22, 32, 3, 213, 105, 14, 35, 22, 32, 3, 212,
- 152, 14, 230, 208, 6, 61, 14, 230, 208, 6, 253, 74, 14, 230, 208, 6, 250,
- 252, 14, 230, 208, 6, 249, 3, 14, 230, 208, 6, 74, 14, 230, 208, 6, 244,
- 230, 14, 230, 208, 6, 243, 177, 14, 230, 208, 6, 242, 41, 14, 230, 208,
- 6, 72, 14, 230, 208, 6, 235, 142, 14, 230, 208, 6, 235, 27, 14, 230, 208,
- 6, 150, 14, 230, 208, 6, 183, 14, 230, 208, 6, 204, 14, 230, 208, 6, 75,
- 14, 230, 208, 6, 226, 229, 14, 230, 208, 6, 224, 240, 14, 230, 208, 6,
- 149, 14, 230, 208, 6, 197, 14, 230, 208, 6, 218, 99, 14, 230, 208, 6, 69,
- 14, 230, 208, 6, 215, 79, 14, 230, 208, 6, 214, 82, 14, 230, 208, 6, 213,
- 166, 14, 230, 208, 6, 213, 105, 14, 230, 208, 6, 212, 152, 14, 230, 208,
- 3, 61, 14, 230, 208, 3, 253, 74, 14, 230, 208, 3, 250, 252, 14, 230, 208,
- 3, 249, 3, 14, 230, 208, 3, 74, 14, 230, 208, 3, 244, 230, 14, 230, 208,
- 3, 243, 177, 14, 230, 208, 3, 242, 41, 14, 230, 208, 3, 72, 14, 230, 208,
- 3, 235, 142, 14, 230, 208, 3, 235, 27, 14, 230, 208, 3, 150, 14, 230,
- 208, 3, 183, 14, 230, 208, 3, 204, 14, 230, 208, 3, 75, 14, 230, 208, 3,
- 226, 229, 14, 230, 208, 3, 224, 240, 14, 230, 208, 3, 149, 14, 230, 208,
- 3, 197, 14, 230, 208, 3, 218, 99, 14, 230, 208, 3, 69, 14, 230, 208, 3,
- 215, 79, 14, 230, 208, 3, 214, 82, 14, 230, 208, 3, 213, 166, 14, 230,
- 208, 3, 213, 105, 14, 230, 208, 3, 212, 152, 14, 32, 3, 247, 73, 72, 14,
- 32, 3, 247, 73, 235, 142, 14, 22, 6, 254, 52, 14, 22, 6, 251, 203, 14,
- 22, 6, 243, 83, 14, 22, 6, 248, 5, 14, 22, 6, 245, 63, 14, 22, 6, 212,
- 78, 14, 22, 6, 245, 28, 14, 22, 6, 217, 132, 14, 22, 6, 235, 183, 14, 22,
- 6, 234, 227, 14, 22, 6, 233, 122, 14, 22, 6, 230, 172, 14, 22, 6, 228,
- 92, 14, 22, 6, 213, 145, 14, 22, 6, 227, 65, 14, 22, 6, 225, 240, 14, 22,
- 6, 223, 190, 14, 22, 6, 217, 133, 87, 14, 22, 6, 220, 103, 14, 22, 6,
- 217, 248, 14, 22, 6, 215, 128, 14, 22, 6, 226, 9, 14, 22, 6, 250, 47, 14,
- 22, 6, 225, 46, 14, 22, 6, 227, 67, 14, 22, 230, 39, 14, 22, 3, 254, 52,
- 14, 22, 3, 251, 203, 14, 22, 3, 243, 83, 14, 22, 3, 248, 5, 14, 22, 3,
- 245, 63, 14, 22, 3, 212, 78, 14, 22, 3, 245, 28, 14, 22, 3, 217, 132, 14,
- 22, 3, 235, 183, 14, 22, 3, 234, 227, 14, 22, 3, 233, 122, 14, 22, 3,
- 230, 172, 14, 22, 3, 228, 92, 14, 22, 3, 213, 145, 14, 22, 3, 227, 65,
- 14, 22, 3, 225, 240, 14, 22, 3, 223, 190, 14, 22, 3, 40, 220, 103, 14,
- 22, 3, 220, 103, 14, 22, 3, 217, 248, 14, 22, 3, 215, 128, 14, 22, 3,
- 226, 9, 14, 22, 3, 250, 47, 14, 22, 3, 225, 46, 14, 22, 3, 227, 67, 14,
- 22, 226, 125, 247, 185, 14, 22, 245, 64, 87, 14, 22, 217, 133, 87, 14,
- 22, 234, 228, 87, 14, 22, 226, 10, 87, 14, 22, 223, 191, 87, 14, 22, 225,
- 241, 87, 14, 32, 6, 254, 52, 14, 32, 6, 251, 203, 14, 32, 6, 243, 83, 14,
- 32, 6, 248, 5, 14, 32, 6, 245, 63, 14, 32, 6, 212, 78, 14, 32, 6, 245,
- 28, 14, 32, 6, 217, 132, 14, 32, 6, 235, 183, 14, 32, 6, 234, 227, 14,
- 32, 6, 233, 122, 14, 32, 6, 230, 172, 14, 32, 6, 228, 92, 14, 32, 6, 213,
- 145, 14, 32, 6, 227, 65, 14, 32, 6, 225, 240, 14, 32, 6, 223, 190, 14,
- 32, 6, 217, 133, 87, 14, 32, 6, 220, 103, 14, 32, 6, 217, 248, 14, 32, 6,
- 215, 128, 14, 32, 6, 226, 9, 14, 32, 6, 250, 47, 14, 32, 6, 225, 46, 14,
- 32, 6, 227, 67, 14, 32, 230, 39, 14, 32, 3, 254, 52, 14, 32, 3, 251, 203,
- 14, 32, 3, 243, 83, 14, 32, 3, 248, 5, 14, 32, 3, 245, 63, 14, 32, 3,
- 212, 78, 14, 32, 3, 245, 28, 14, 32, 3, 217, 132, 14, 32, 3, 235, 183,
- 14, 32, 3, 234, 227, 14, 32, 3, 233, 122, 14, 32, 3, 230, 172, 14, 32, 3,
- 228, 92, 14, 32, 3, 213, 145, 14, 32, 3, 227, 65, 14, 32, 3, 225, 240,
- 14, 32, 3, 223, 190, 14, 32, 3, 40, 220, 103, 14, 32, 3, 220, 103, 14,
- 32, 3, 217, 248, 14, 32, 3, 215, 128, 14, 32, 3, 226, 9, 14, 32, 3, 250,
- 47, 14, 32, 3, 225, 46, 14, 32, 3, 227, 67, 14, 32, 226, 125, 247, 185,
- 14, 32, 245, 64, 87, 14, 32, 217, 133, 87, 14, 32, 234, 228, 87, 14, 32,
- 226, 10, 87, 14, 32, 223, 191, 87, 14, 32, 225, 241, 87, 14, 22, 32, 6,
- 254, 52, 14, 22, 32, 6, 251, 203, 14, 22, 32, 6, 243, 83, 14, 22, 32, 6,
- 248, 5, 14, 22, 32, 6, 245, 63, 14, 22, 32, 6, 212, 78, 14, 22, 32, 6,
- 245, 28, 14, 22, 32, 6, 217, 132, 14, 22, 32, 6, 235, 183, 14, 22, 32, 6,
- 234, 227, 14, 22, 32, 6, 233, 122, 14, 22, 32, 6, 230, 172, 14, 22, 32,
- 6, 228, 92, 14, 22, 32, 6, 213, 145, 14, 22, 32, 6, 227, 65, 14, 22, 32,
- 6, 225, 240, 14, 22, 32, 6, 223, 190, 14, 22, 32, 6, 217, 133, 87, 14,
- 22, 32, 6, 220, 103, 14, 22, 32, 6, 217, 248, 14, 22, 32, 6, 215, 128,
- 14, 22, 32, 6, 226, 9, 14, 22, 32, 6, 250, 47, 14, 22, 32, 6, 225, 46,
- 14, 22, 32, 6, 227, 67, 14, 22, 32, 230, 39, 14, 22, 32, 3, 254, 52, 14,
- 22, 32, 3, 251, 203, 14, 22, 32, 3, 243, 83, 14, 22, 32, 3, 248, 5, 14,
- 22, 32, 3, 245, 63, 14, 22, 32, 3, 212, 78, 14, 22, 32, 3, 245, 28, 14,
- 22, 32, 3, 217, 132, 14, 22, 32, 3, 235, 183, 14, 22, 32, 3, 234, 227,
- 14, 22, 32, 3, 233, 122, 14, 22, 32, 3, 230, 172, 14, 22, 32, 3, 228, 92,
- 14, 22, 32, 3, 213, 145, 14, 22, 32, 3, 227, 65, 14, 22, 32, 3, 225, 240,
- 14, 22, 32, 3, 223, 190, 14, 22, 32, 3, 40, 220, 103, 14, 22, 32, 3, 220,
- 103, 14, 22, 32, 3, 217, 248, 14, 22, 32, 3, 215, 128, 14, 22, 32, 3,
- 226, 9, 14, 22, 32, 3, 250, 47, 14, 22, 32, 3, 225, 46, 14, 22, 32, 3,
- 227, 67, 14, 22, 32, 226, 125, 247, 185, 14, 22, 32, 245, 64, 87, 14, 22,
- 32, 217, 133, 87, 14, 22, 32, 234, 228, 87, 14, 22, 32, 226, 10, 87, 14,
- 22, 32, 223, 191, 87, 14, 22, 32, 225, 241, 87, 14, 35, 22, 6, 254, 52,
- 14, 35, 22, 6, 251, 203, 14, 35, 22, 6, 243, 83, 14, 35, 22, 6, 248, 5,
- 14, 35, 22, 6, 245, 63, 14, 35, 22, 6, 212, 78, 14, 35, 22, 6, 245, 28,
- 14, 35, 22, 6, 217, 132, 14, 35, 22, 6, 235, 183, 14, 35, 22, 6, 234,
- 227, 14, 35, 22, 6, 233, 122, 14, 35, 22, 6, 230, 172, 14, 35, 22, 6,
- 228, 92, 14, 35, 22, 6, 213, 145, 14, 35, 22, 6, 227, 65, 14, 35, 22, 6,
- 225, 240, 14, 35, 22, 6, 223, 190, 14, 35, 22, 6, 217, 133, 87, 14, 35,
- 22, 6, 220, 103, 14, 35, 22, 6, 217, 248, 14, 35, 22, 6, 215, 128, 14,
- 35, 22, 6, 226, 9, 14, 35, 22, 6, 250, 47, 14, 35, 22, 6, 225, 46, 14,
- 35, 22, 6, 227, 67, 14, 35, 22, 230, 39, 14, 35, 22, 3, 254, 52, 14, 35,
- 22, 3, 251, 203, 14, 35, 22, 3, 243, 83, 14, 35, 22, 3, 248, 5, 14, 35,
- 22, 3, 245, 63, 14, 35, 22, 3, 212, 78, 14, 35, 22, 3, 245, 28, 14, 35,
- 22, 3, 217, 132, 14, 35, 22, 3, 235, 183, 14, 35, 22, 3, 234, 227, 14,
- 35, 22, 3, 233, 122, 14, 35, 22, 3, 230, 172, 14, 35, 22, 3, 228, 92, 14,
- 35, 22, 3, 213, 145, 14, 35, 22, 3, 227, 65, 14, 35, 22, 3, 225, 240, 14,
- 35, 22, 3, 223, 190, 14, 35, 22, 3, 40, 220, 103, 14, 35, 22, 3, 220,
- 103, 14, 35, 22, 3, 217, 248, 14, 35, 22, 3, 215, 128, 14, 35, 22, 3,
- 226, 9, 14, 35, 22, 3, 250, 47, 14, 35, 22, 3, 225, 46, 14, 35, 22, 3,
- 227, 67, 14, 35, 22, 226, 125, 247, 185, 14, 35, 22, 245, 64, 87, 14, 35,
- 22, 217, 133, 87, 14, 35, 22, 234, 228, 87, 14, 35, 22, 226, 10, 87, 14,
- 35, 22, 223, 191, 87, 14, 35, 22, 225, 241, 87, 14, 35, 22, 32, 6, 254,
- 52, 14, 35, 22, 32, 6, 251, 203, 14, 35, 22, 32, 6, 243, 83, 14, 35, 22,
- 32, 6, 248, 5, 14, 35, 22, 32, 6, 245, 63, 14, 35, 22, 32, 6, 212, 78,
- 14, 35, 22, 32, 6, 245, 28, 14, 35, 22, 32, 6, 217, 132, 14, 35, 22, 32,
- 6, 235, 183, 14, 35, 22, 32, 6, 234, 227, 14, 35, 22, 32, 6, 233, 122,
- 14, 35, 22, 32, 6, 230, 172, 14, 35, 22, 32, 6, 228, 92, 14, 35, 22, 32,
- 6, 213, 145, 14, 35, 22, 32, 6, 227, 65, 14, 35, 22, 32, 6, 225, 240, 14,
- 35, 22, 32, 6, 223, 190, 14, 35, 22, 32, 6, 217, 133, 87, 14, 35, 22, 32,
- 6, 220, 103, 14, 35, 22, 32, 6, 217, 248, 14, 35, 22, 32, 6, 215, 128,
- 14, 35, 22, 32, 6, 226, 9, 14, 35, 22, 32, 6, 250, 47, 14, 35, 22, 32, 6,
- 225, 46, 14, 35, 22, 32, 6, 227, 67, 14, 35, 22, 32, 230, 39, 14, 35, 22,
- 32, 3, 254, 52, 14, 35, 22, 32, 3, 251, 203, 14, 35, 22, 32, 3, 243, 83,
- 14, 35, 22, 32, 3, 248, 5, 14, 35, 22, 32, 3, 245, 63, 14, 35, 22, 32, 3,
- 212, 78, 14, 35, 22, 32, 3, 245, 28, 14, 35, 22, 32, 3, 217, 132, 14, 35,
- 22, 32, 3, 235, 183, 14, 35, 22, 32, 3, 234, 227, 14, 35, 22, 32, 3, 233,
- 122, 14, 35, 22, 32, 3, 230, 172, 14, 35, 22, 32, 3, 228, 92, 14, 35, 22,
- 32, 3, 213, 145, 14, 35, 22, 32, 3, 227, 65, 14, 35, 22, 32, 3, 225, 240,
- 14, 35, 22, 32, 3, 223, 190, 14, 35, 22, 32, 3, 40, 220, 103, 14, 35, 22,
- 32, 3, 220, 103, 14, 35, 22, 32, 3, 217, 248, 14, 35, 22, 32, 3, 215,
- 128, 14, 35, 22, 32, 3, 226, 9, 14, 35, 22, 32, 3, 250, 47, 14, 35, 22,
- 32, 3, 225, 46, 14, 35, 22, 32, 3, 227, 67, 14, 35, 22, 32, 226, 125,
- 247, 185, 14, 35, 22, 32, 245, 64, 87, 14, 35, 22, 32, 217, 133, 87, 14,
- 35, 22, 32, 234, 228, 87, 14, 35, 22, 32, 226, 10, 87, 14, 35, 22, 32,
- 223, 191, 87, 14, 35, 22, 32, 225, 241, 87, 14, 22, 6, 247, 179, 14, 22,
- 3, 247, 179, 14, 22, 21, 212, 79, 14, 22, 21, 116, 14, 22, 21, 109, 14,
- 22, 21, 166, 14, 22, 21, 163, 14, 22, 21, 180, 14, 22, 21, 189, 14, 22,
- 21, 198, 14, 22, 21, 195, 14, 22, 21, 200, 14, 187, 21, 212, 79, 14, 187,
- 21, 116, 14, 187, 21, 109, 14, 187, 21, 166, 14, 187, 21, 163, 14, 187,
- 21, 180, 14, 187, 21, 189, 14, 187, 21, 198, 14, 187, 21, 195, 14, 187,
- 21, 200, 14, 35, 21, 212, 79, 14, 35, 21, 116, 14, 35, 21, 109, 14, 35,
- 21, 166, 14, 35, 21, 163, 14, 35, 21, 180, 14, 35, 21, 189, 14, 35, 21,
- 198, 14, 35, 21, 195, 14, 35, 21, 200, 14, 35, 22, 21, 212, 79, 14, 35,
- 22, 21, 116, 14, 35, 22, 21, 109, 14, 35, 22, 21, 166, 14, 35, 22, 21,
- 163, 14, 35, 22, 21, 180, 14, 35, 22, 21, 189, 14, 35, 22, 21, 198, 14,
- 35, 22, 21, 195, 14, 35, 22, 21, 200, 14, 230, 208, 21, 212, 79, 14, 230,
- 208, 21, 116, 14, 230, 208, 21, 109, 14, 230, 208, 21, 166, 14, 230, 208,
- 21, 163, 14, 230, 208, 21, 180, 14, 230, 208, 21, 189, 14, 230, 208, 21,
- 198, 14, 230, 208, 21, 195, 14, 230, 208, 21, 200, 232, 10, 85, 245, 176,
- 213, 224, 232, 10, 85, 219, 215, 213, 224, 232, 10, 85, 213, 250, 213,
- 224, 232, 10, 85, 228, 167, 213, 224, 232, 10, 85, 224, 4, 246, 50, 232,
- 10, 85, 242, 104, 246, 50, 232, 10, 85, 67, 246, 50, 232, 10, 85, 122,
- 65, 250, 77, 232, 10, 85, 117, 65, 250, 77, 232, 10, 85, 133, 65, 250,
- 77, 232, 10, 85, 243, 237, 65, 250, 77, 232, 10, 85, 244, 50, 65, 250,
- 77, 232, 10, 85, 220, 53, 65, 250, 77, 232, 10, 85, 221, 43, 65, 250, 77,
- 232, 10, 85, 245, 150, 65, 250, 77, 232, 10, 85, 229, 31, 65, 250, 77,
- 232, 10, 85, 122, 65, 252, 72, 232, 10, 85, 117, 65, 252, 72, 232, 10,
- 85, 133, 65, 252, 72, 232, 10, 85, 243, 237, 65, 252, 72, 232, 10, 85,
- 244, 50, 65, 252, 72, 232, 10, 85, 220, 53, 65, 252, 72, 232, 10, 85,
- 221, 43, 65, 252, 72, 232, 10, 85, 245, 150, 65, 252, 72, 232, 10, 85,
- 229, 31, 65, 252, 72, 232, 10, 85, 122, 65, 249, 227, 232, 10, 85, 117,
- 65, 249, 227, 232, 10, 85, 133, 65, 249, 227, 232, 10, 85, 243, 237, 65,
- 249, 227, 232, 10, 85, 244, 50, 65, 249, 227, 232, 10, 85, 220, 53, 65,
- 249, 227, 232, 10, 85, 221, 43, 65, 249, 227, 232, 10, 85, 245, 150, 65,
- 249, 227, 232, 10, 85, 229, 31, 65, 249, 227, 232, 10, 85, 225, 159, 232,
- 10, 85, 227, 22, 232, 10, 85, 252, 73, 232, 10, 85, 250, 7, 232, 10, 85,
- 219, 171, 232, 10, 85, 218, 240, 232, 10, 85, 253, 95, 232, 10, 85, 213,
- 217, 232, 10, 85, 235, 65, 232, 10, 85, 252, 101, 127, 85, 199, 252, 101,
- 127, 85, 241, 30, 127, 85, 241, 29, 127, 85, 241, 28, 127, 85, 241, 27,
- 127, 85, 241, 26, 127, 85, 241, 25, 127, 85, 241, 24, 127, 85, 241, 23,
- 127, 85, 241, 22, 127, 85, 241, 21, 127, 85, 241, 20, 127, 85, 241, 19,
- 127, 85, 241, 18, 127, 85, 241, 17, 127, 85, 241, 16, 127, 85, 241, 15,
- 127, 85, 241, 14, 127, 85, 241, 13, 127, 85, 241, 12, 127, 85, 241, 11,
- 127, 85, 241, 10, 127, 85, 241, 9, 127, 85, 241, 8, 127, 85, 241, 7, 127,
- 85, 241, 6, 127, 85, 241, 5, 127, 85, 241, 4, 127, 85, 241, 3, 127, 85,
- 241, 2, 127, 85, 241, 1, 127, 85, 241, 0, 127, 85, 240, 255, 127, 85,
- 240, 254, 127, 85, 240, 253, 127, 85, 240, 252, 127, 85, 240, 251, 127,
- 85, 240, 250, 127, 85, 240, 249, 127, 85, 240, 248, 127, 85, 240, 247,
- 127, 85, 240, 246, 127, 85, 240, 245, 127, 85, 240, 244, 127, 85, 240,
- 243, 127, 85, 240, 242, 127, 85, 240, 241, 127, 85, 240, 240, 127, 85,
- 240, 239, 127, 85, 240, 238, 127, 85, 71, 252, 101, 127, 85, 214, 215,
- 127, 85, 214, 214, 127, 85, 214, 213, 127, 85, 214, 212, 127, 85, 214,
- 211, 127, 85, 214, 210, 127, 85, 214, 209, 127, 85, 214, 208, 127, 85,
- 214, 207, 127, 85, 214, 206, 127, 85, 214, 205, 127, 85, 214, 204, 127,
- 85, 214, 203, 127, 85, 214, 202, 127, 85, 214, 201, 127, 85, 214, 200,
- 127, 85, 214, 199, 127, 85, 214, 198, 127, 85, 214, 197, 127, 85, 214,
- 196, 127, 85, 214, 195, 127, 85, 214, 194, 127, 85, 214, 193, 127, 85,
- 214, 192, 127, 85, 214, 191, 127, 85, 214, 190, 127, 85, 214, 189, 127,
- 85, 214, 188, 127, 85, 214, 187, 127, 85, 214, 186, 127, 85, 214, 185,
- 127, 85, 214, 184, 127, 85, 214, 183, 127, 85, 214, 182, 127, 85, 214,
- 181, 127, 85, 214, 180, 127, 85, 214, 179, 127, 85, 214, 178, 127, 85,
- 214, 177, 127, 85, 214, 176, 127, 85, 214, 175, 127, 85, 214, 174, 127,
- 85, 214, 173, 127, 85, 214, 172, 127, 85, 214, 171, 127, 85, 214, 170,
- 127, 85, 214, 169, 127, 85, 214, 168, 127, 85, 214, 167, 225, 165, 250,
- 175, 252, 101, 225, 165, 250, 175, 254, 169, 65, 219, 203, 225, 165, 250,
- 175, 117, 65, 219, 203, 225, 165, 250, 175, 133, 65, 219, 203, 225, 165,
- 250, 175, 243, 237, 65, 219, 203, 225, 165, 250, 175, 244, 50, 65, 219,
- 203, 225, 165, 250, 175, 220, 53, 65, 219, 203, 225, 165, 250, 175, 221,
- 43, 65, 219, 203, 225, 165, 250, 175, 245, 150, 65, 219, 203, 225, 165,
- 250, 175, 229, 31, 65, 219, 203, 225, 165, 250, 175, 217, 201, 65, 219,
- 203, 225, 165, 250, 175, 235, 137, 65, 219, 203, 225, 165, 250, 175, 234,
- 40, 65, 219, 203, 225, 165, 250, 175, 224, 160, 65, 219, 203, 225, 165,
- 250, 175, 234, 88, 65, 219, 203, 225, 165, 250, 175, 254, 169, 65, 241,
- 209, 225, 165, 250, 175, 117, 65, 241, 209, 225, 165, 250, 175, 133, 65,
- 241, 209, 225, 165, 250, 175, 243, 237, 65, 241, 209, 225, 165, 250, 175,
- 244, 50, 65, 241, 209, 225, 165, 250, 175, 220, 53, 65, 241, 209, 225,
- 165, 250, 175, 221, 43, 65, 241, 209, 225, 165, 250, 175, 245, 150, 65,
- 241, 209, 225, 165, 250, 175, 229, 31, 65, 241, 209, 225, 165, 250, 175,
- 217, 201, 65, 241, 209, 225, 165, 250, 175, 235, 137, 65, 241, 209, 225,
- 165, 250, 175, 234, 40, 65, 241, 209, 225, 165, 250, 175, 224, 160, 65,
- 241, 209, 225, 165, 250, 175, 234, 88, 65, 241, 209, 225, 165, 250, 175,
- 254, 169, 65, 247, 199, 225, 165, 250, 175, 117, 65, 247, 199, 225, 165,
- 250, 175, 133, 65, 247, 199, 225, 165, 250, 175, 243, 237, 65, 247, 199,
- 225, 165, 250, 175, 244, 50, 65, 247, 199, 225, 165, 250, 175, 220, 53,
- 65, 247, 199, 225, 165, 250, 175, 221, 43, 65, 247, 199, 225, 165, 250,
- 175, 245, 150, 65, 247, 199, 225, 165, 250, 175, 229, 31, 65, 247, 199,
- 225, 165, 250, 175, 217, 201, 65, 247, 199, 225, 165, 250, 175, 235, 137,
- 65, 247, 199, 225, 165, 250, 175, 234, 40, 65, 247, 199, 225, 165, 250,
- 175, 224, 160, 65, 247, 199, 225, 165, 250, 175, 234, 88, 65, 247, 199,
- 225, 165, 250, 175, 83, 235, 65, 225, 165, 250, 175, 254, 169, 65, 249,
- 179, 225, 165, 250, 175, 117, 65, 249, 179, 225, 165, 250, 175, 133, 65,
- 249, 179, 225, 165, 250, 175, 243, 237, 65, 249, 179, 225, 165, 250, 175,
- 244, 50, 65, 249, 179, 225, 165, 250, 175, 220, 53, 65, 249, 179, 225,
- 165, 250, 175, 221, 43, 65, 249, 179, 225, 165, 250, 175, 245, 150, 65,
- 249, 179, 225, 165, 250, 175, 229, 31, 65, 249, 179, 225, 165, 250, 175,
- 217, 201, 65, 249, 179, 225, 165, 250, 175, 235, 137, 65, 249, 179, 225,
- 165, 250, 175, 234, 40, 65, 249, 179, 225, 165, 250, 175, 224, 160, 65,
- 249, 179, 225, 165, 250, 175, 234, 88, 65, 249, 179, 225, 165, 250, 175,
- 67, 235, 65, 21, 212, 80, 243, 200, 219, 69, 21, 212, 80, 249, 157, 21,
- 122, 249, 157, 21, 117, 249, 157, 21, 133, 249, 157, 21, 243, 237, 249,
- 157, 21, 244, 50, 249, 157, 21, 220, 53, 249, 157, 21, 221, 43, 249, 157,
- 21, 245, 150, 249, 157, 21, 229, 31, 249, 157, 86, 7, 6, 1, 61, 86, 7, 6,
- 1, 253, 74, 86, 7, 6, 1, 250, 252, 86, 7, 6, 1, 249, 3, 86, 7, 6, 1, 74,
- 86, 7, 6, 1, 244, 230, 86, 7, 6, 1, 243, 177, 86, 7, 6, 1, 242, 41, 86,
- 7, 6, 1, 72, 86, 7, 6, 1, 235, 142, 86, 7, 6, 1, 235, 27, 86, 7, 6, 1,
- 150, 86, 7, 6, 1, 183, 86, 7, 6, 1, 204, 86, 7, 6, 1, 75, 86, 7, 6, 1,
- 226, 229, 86, 7, 6, 1, 224, 240, 86, 7, 6, 1, 149, 86, 7, 6, 1, 197, 86,
- 7, 6, 1, 218, 99, 86, 7, 6, 1, 69, 86, 7, 6, 1, 215, 79, 86, 7, 6, 1,
- 214, 82, 86, 7, 6, 1, 213, 166, 86, 7, 6, 1, 213, 105, 86, 7, 6, 1, 212,
- 152, 216, 219, 220, 233, 251, 84, 7, 6, 1, 197, 36, 32, 7, 6, 1, 250,
- 252, 36, 32, 7, 6, 1, 149, 36, 250, 125, 36, 213, 168, 91, 7, 6, 1, 61,
- 91, 7, 6, 1, 253, 74, 91, 7, 6, 1, 250, 252, 91, 7, 6, 1, 249, 3, 91, 7,
- 6, 1, 74, 91, 7, 6, 1, 244, 230, 91, 7, 6, 1, 243, 177, 91, 7, 6, 1, 242,
- 41, 91, 7, 6, 1, 72, 91, 7, 6, 1, 235, 142, 91, 7, 6, 1, 235, 27, 91, 7,
- 6, 1, 150, 91, 7, 6, 1, 183, 91, 7, 6, 1, 204, 91, 7, 6, 1, 75, 91, 7, 6,
- 1, 226, 229, 91, 7, 6, 1, 224, 240, 91, 7, 6, 1, 149, 91, 7, 6, 1, 197,
- 91, 7, 6, 1, 218, 99, 91, 7, 6, 1, 69, 91, 7, 6, 1, 215, 79, 91, 7, 6, 1,
- 214, 82, 91, 7, 6, 1, 213, 166, 91, 7, 6, 1, 213, 105, 91, 7, 6, 1, 212,
- 152, 91, 240, 193, 91, 230, 120, 91, 222, 102, 91, 219, 158, 91, 225, 98,
- 91, 214, 7, 146, 36, 7, 6, 1, 61, 146, 36, 7, 6, 1, 253, 74, 146, 36, 7,
- 6, 1, 250, 252, 146, 36, 7, 6, 1, 249, 3, 146, 36, 7, 6, 1, 74, 146, 36,
- 7, 6, 1, 244, 230, 146, 36, 7, 6, 1, 243, 177, 146, 36, 7, 6, 1, 242, 41,
- 146, 36, 7, 6, 1, 72, 146, 36, 7, 6, 1, 235, 142, 146, 36, 7, 6, 1, 235,
- 27, 146, 36, 7, 6, 1, 150, 146, 36, 7, 6, 1, 183, 146, 36, 7, 6, 1, 204,
- 146, 36, 7, 6, 1, 75, 146, 36, 7, 6, 1, 226, 229, 146, 36, 7, 6, 1, 224,
- 240, 146, 36, 7, 6, 1, 149, 146, 36, 7, 6, 1, 197, 146, 36, 7, 6, 1, 218,
- 99, 146, 36, 7, 6, 1, 69, 146, 36, 7, 6, 1, 215, 79, 146, 36, 7, 6, 1,
- 214, 82, 146, 36, 7, 6, 1, 213, 166, 146, 36, 7, 6, 1, 213, 105, 146, 36,
- 7, 6, 1, 212, 152, 146, 91, 7, 6, 1, 61, 146, 91, 7, 6, 1, 253, 74, 146,
- 91, 7, 6, 1, 250, 252, 146, 91, 7, 6, 1, 249, 3, 146, 91, 7, 6, 1, 74,
- 146, 91, 7, 6, 1, 244, 230, 146, 91, 7, 6, 1, 243, 177, 146, 91, 7, 6, 1,
- 242, 41, 146, 91, 7, 6, 1, 72, 146, 91, 7, 6, 1, 235, 142, 146, 91, 7, 6,
- 1, 235, 27, 146, 91, 7, 6, 1, 150, 146, 91, 7, 6, 1, 183, 146, 91, 7, 6,
- 1, 204, 146, 91, 7, 6, 1, 75, 146, 91, 7, 6, 1, 226, 229, 146, 91, 7, 6,
- 1, 224, 240, 146, 91, 7, 6, 1, 149, 146, 91, 7, 6, 1, 197, 146, 91, 7, 6,
- 1, 218, 99, 146, 91, 7, 6, 1, 69, 146, 91, 7, 6, 1, 215, 79, 146, 91, 7,
- 6, 1, 214, 82, 146, 91, 7, 6, 1, 213, 166, 146, 91, 7, 6, 1, 213, 105,
- 146, 91, 7, 6, 1, 212, 152, 249, 68, 146, 91, 7, 6, 1, 226, 229, 146, 91,
- 240, 106, 146, 91, 193, 146, 91, 222, 202, 146, 91, 254, 185, 146, 91,
- 214, 7, 41, 247, 116, 91, 249, 216, 91, 249, 109, 91, 243, 222, 91, 240,
- 98, 91, 229, 168, 91, 229, 161, 91, 227, 80, 91, 219, 222, 91, 114, 2,
- 244, 254, 77, 91, 214, 100, 223, 253, 235, 236, 16, 1, 61, 223, 253, 235,
- 236, 16, 1, 253, 74, 223, 253, 235, 236, 16, 1, 250, 252, 223, 253, 235,
- 236, 16, 1, 249, 3, 223, 253, 235, 236, 16, 1, 74, 223, 253, 235, 236,
- 16, 1, 244, 230, 223, 253, 235, 236, 16, 1, 243, 177, 223, 253, 235, 236,
- 16, 1, 242, 41, 223, 253, 235, 236, 16, 1, 72, 223, 253, 235, 236, 16, 1,
- 235, 142, 223, 253, 235, 236, 16, 1, 235, 27, 223, 253, 235, 236, 16, 1,
- 150, 223, 253, 235, 236, 16, 1, 183, 223, 253, 235, 236, 16, 1, 204, 223,
- 253, 235, 236, 16, 1, 75, 223, 253, 235, 236, 16, 1, 226, 229, 223, 253,
- 235, 236, 16, 1, 224, 240, 223, 253, 235, 236, 16, 1, 149, 223, 253, 235,
- 236, 16, 1, 197, 223, 253, 235, 236, 16, 1, 218, 99, 223, 253, 235, 236,
- 16, 1, 69, 223, 253, 235, 236, 16, 1, 215, 79, 223, 253, 235, 236, 16, 1,
- 214, 82, 223, 253, 235, 236, 16, 1, 213, 166, 223, 253, 235, 236, 16, 1,
- 213, 105, 223, 253, 235, 236, 16, 1, 212, 152, 41, 142, 241, 49, 91, 56,
- 234, 27, 91, 56, 222, 202, 91, 9, 215, 148, 238, 43, 91, 9, 215, 148,
- 238, 47, 91, 9, 215, 148, 238, 55, 91, 56, 248, 41, 91, 9, 215, 148, 238,
- 62, 91, 9, 215, 148, 238, 49, 91, 9, 215, 148, 238, 21, 91, 9, 215, 148,
- 238, 48, 91, 9, 215, 148, 238, 61, 91, 9, 215, 148, 238, 35, 91, 9, 215,
- 148, 238, 28, 91, 9, 215, 148, 238, 37, 91, 9, 215, 148, 238, 58, 91, 9,
- 215, 148, 238, 44, 91, 9, 215, 148, 238, 60, 91, 9, 215, 148, 238, 36,
- 91, 9, 215, 148, 238, 59, 91, 9, 215, 148, 238, 22, 91, 9, 215, 148, 238,
- 27, 91, 9, 215, 148, 238, 20, 91, 9, 215, 148, 238, 50, 91, 9, 215, 148,
- 238, 52, 91, 9, 215, 148, 238, 30, 91, 9, 215, 148, 238, 41, 91, 9, 215,
- 148, 238, 39, 91, 9, 215, 148, 238, 65, 91, 9, 215, 148, 238, 64, 91, 9,
- 215, 148, 238, 18, 91, 9, 215, 148, 238, 45, 91, 9, 215, 148, 238, 63,
- 91, 9, 215, 148, 238, 54, 91, 9, 215, 148, 238, 40, 91, 9, 215, 148, 238,
- 19, 91, 9, 215, 148, 238, 42, 91, 9, 215, 148, 238, 24, 91, 9, 215, 148,
- 238, 23, 91, 9, 215, 148, 238, 53, 91, 9, 215, 148, 238, 31, 91, 9, 215,
- 148, 238, 33, 91, 9, 215, 148, 238, 34, 91, 9, 215, 148, 238, 26, 91, 9,
- 215, 148, 238, 57, 91, 9, 215, 148, 238, 51, 216, 219, 220, 233, 251, 84,
- 9, 215, 148, 238, 32, 216, 219, 220, 233, 251, 84, 9, 215, 148, 238, 64,
- 216, 219, 220, 233, 251, 84, 9, 215, 148, 238, 62, 216, 219, 220, 233,
- 251, 84, 9, 215, 148, 238, 46, 216, 219, 220, 233, 251, 84, 9, 215, 148,
- 238, 29, 216, 219, 220, 233, 251, 84, 9, 215, 148, 238, 42, 216, 219,
- 220, 233, 251, 84, 9, 215, 148, 238, 25, 216, 219, 220, 233, 251, 84, 9,
- 215, 148, 238, 56, 216, 219, 220, 233, 251, 84, 9, 215, 148, 238, 38, 36,
- 143, 254, 150, 36, 143, 254, 172, 249, 14, 244, 11, 249, 193, 215, 164,
- 229, 44, 2, 219, 92, 218, 233, 110, 230, 184, 218, 232, 249, 219, 253,
- 123, 246, 9, 218, 231, 110, 251, 47, 224, 49, 251, 68, 253, 123, 229, 43,
- 214, 25, 214, 19, 214, 112, 231, 8, 214, 9, 245, 180, 242, 157, 245, 12,
- 245, 180, 242, 157, 254, 37, 245, 180, 242, 157, 253, 140, 242, 157, 2,
- 231, 115, 156, 230, 199, 87, 214, 11, 249, 77, 230, 199, 87, 244, 61,
- 224, 167, 230, 199, 87, 214, 11, 242, 186, 230, 199, 87, 243, 200, 230,
- 199, 87, 214, 36, 242, 186, 230, 199, 87, 233, 103, 224, 167, 230, 199,
- 87, 214, 36, 249, 77, 230, 199, 87, 249, 77, 230, 198, 156, 230, 199, 2,
- 244, 158, 244, 61, 224, 167, 230, 199, 2, 244, 158, 233, 103, 224, 167,
- 230, 199, 2, 244, 158, 243, 200, 230, 199, 2, 244, 158, 218, 239, 2, 244,
- 158, 242, 155, 219, 95, 220, 179, 219, 95, 250, 53, 222, 87, 245, 6, 216,
- 193, 248, 35, 216, 193, 226, 186, 216, 193, 250, 213, 216, 73, 250, 55,
- 251, 133, 223, 93, 241, 164, 218, 236, 251, 133, 245, 184, 65, 232, 0,
- 245, 184, 65, 223, 184, 241, 188, 243, 237, 233, 78, 249, 183, 231, 233,
- 233, 77, 244, 144, 233, 77, 233, 78, 244, 16, 235, 252, 213, 224, 230,
- 128, 216, 245, 253, 107, 242, 119, 231, 131, 214, 23, 218, 8, 233, 50,
- 252, 68, 225, 194, 224, 4, 253, 223, 242, 104, 253, 223, 226, 92, 226,
- 93, 250, 56, 219, 54, 242, 6, 220, 18, 65, 225, 176, 231, 152, 227, 63,
- 251, 119, 225, 109, 233, 60, 223, 185, 249, 82, 223, 185, 252, 78, 249,
- 112, 223, 184, 249, 36, 24, 223, 184, 219, 81, 251, 93, 219, 202, 251,
- 78, 243, 221, 243, 217, 223, 108, 218, 191, 225, 111, 248, 120, 227, 101,
- 218, 208, 243, 218, 220, 155, 244, 60, 250, 209, 2, 218, 184, 247, 242,
- 219, 236, 240, 105, 249, 81, 220, 250, 240, 104, 240, 105, 249, 81, 246,
- 62, 249, 111, 250, 21, 134, 250, 186, 232, 194, 249, 30, 241, 41, 225,
- 113, 220, 164, 251, 213, 251, 89, 225, 114, 65, 244, 2, 249, 110, 243,
- 249, 24, 234, 41, 217, 227, 213, 216, 241, 252, 222, 183, 251, 103, 24,
- 249, 43, 213, 222, 242, 160, 249, 172, 242, 160, 216, 151, 246, 45, 251,
- 238, 230, 163, 249, 200, 251, 238, 230, 162, 252, 104, 251, 102, 223,
- 186, 213, 189, 225, 75, 251, 158, 250, 208, 235, 136, 250, 14, 216, 193,
- 244, 130, 250, 13, 244, 63, 244, 64, 219, 200, 252, 77, 226, 122, 225,
- 124, 249, 143, 252, 78, 218, 10, 216, 193, 249, 68, 244, 36, 225, 195,
- 248, 32, 235, 131, 247, 85, 250, 164, 219, 53, 213, 225, 250, 35, 230,
- 199, 214, 144, 250, 96, 222, 117, 222, 141, 242, 124, 250, 183, 250, 165,
- 240, 232, 244, 99, 213, 241, 223, 102, 249, 173, 244, 55, 225, 136, 24,
- 244, 59, 231, 40, 230, 178, 250, 198, 249, 232, 241, 216, 253, 156, 226,
- 189, 216, 227, 241, 234, 249, 222, 217, 195, 217, 67, 249, 213, 251, 125,
- 226, 52, 253, 155, 214, 150, 243, 86, 247, 149, 241, 142, 220, 12, 232,
- 39, 251, 168, 243, 87, 247, 192, 251, 92, 244, 21, 225, 165, 250, 173,
- 27, 228, 158, 230, 155, 27, 228, 153, 222, 130, 242, 80, 27, 234, 143,
- 216, 148, 214, 135, 27, 222, 111, 223, 35, 220, 191, 2, 222, 143, 217,
- 197, 224, 68, 24, 252, 78, 220, 33, 24, 220, 33, 251, 112, 252, 43, 24,
- 241, 36, 250, 57, 244, 42, 219, 247, 223, 36, 218, 212, 216, 152, 240,
- 233, 224, 69, 254, 38, 244, 0, 223, 47, 244, 0, 218, 186, 240, 222, 251,
- 48, 240, 222, 2, 243, 70, 227, 95, 251, 48, 235, 131, 225, 119, 227, 94,
- 245, 11, 225, 119, 227, 94, 240, 231, 252, 64, 253, 97, 217, 205, 232,
- 39, 240, 227, 232, 166, 240, 227, 249, 115, 219, 65, 222, 116, 247, 250,
- 219, 65, 244, 148, 235, 147, 233, 113, 235, 131, 250, 158, 245, 11, 250,
- 158, 224, 33, 230, 182, 226, 238, 214, 25, 251, 52, 249, 84, 217, 60,
- 233, 42, 224, 70, 250, 156, 246, 50, 249, 75, 213, 244, 219, 254, 219,
- 252, 240, 232, 224, 45, 242, 146, 220, 237, 230, 215, 223, 96, 250, 45,
- 247, 90, 225, 205, 251, 126, 245, 126, 227, 103, 219, 184, 220, 232, 251,
- 51, 254, 3, 241, 40, 233, 144, 251, 236, 244, 59, 216, 151, 244, 59, 251,
- 132, 216, 55, 241, 232, 250, 46, 252, 104, 250, 46, 243, 212, 252, 104,
- 250, 46, 251, 160, 226, 70, 234, 35, 225, 128, 246, 42, 250, 199, 252,
- 95, 250, 199, 247, 84, 230, 183, 244, 158, 249, 85, 244, 158, 217, 61,
- 244, 158, 224, 71, 244, 158, 250, 157, 244, 158, 246, 51, 244, 158, 219,
- 173, 213, 244, 240, 233, 244, 158, 230, 216, 244, 158, 247, 91, 244, 158,
- 225, 206, 244, 158, 243, 215, 244, 158, 242, 3, 244, 158, 213, 211, 244,
- 158, 251, 247, 244, 158, 226, 172, 244, 158, 225, 206, 228, 164, 226,
- 106, 225, 67, 244, 237, 245, 183, 228, 164, 230, 180, 216, 232, 67, 114,
- 225, 141, 252, 99, 235, 239, 67, 119, 225, 141, 252, 99, 235, 239, 67,
- 42, 225, 141, 252, 99, 235, 239, 67, 46, 225, 141, 252, 99, 235, 239,
- 244, 53, 241, 255, 52, 214, 17, 241, 255, 52, 227, 81, 241, 255, 52, 217,
- 89, 114, 52, 217, 89, 119, 52, 249, 212, 241, 250, 52, 227, 40, 241, 250,
- 52, 249, 63, 213, 207, 241, 234, 244, 238, 229, 185, 218, 98, 235, 126,
- 246, 47, 234, 91, 251, 170, 213, 207, 249, 186, 225, 14, 241, 253, 225,
- 110, 231, 240, 220, 184, 253, 119, 220, 184, 241, 150, 220, 184, 213,
- 207, 222, 156, 213, 207, 251, 111, 243, 254, 251, 19, 235, 252, 220, 95,
- 251, 18, 235, 252, 220, 95, 251, 88, 242, 170, 231, 248, 213, 208, 244,
- 142, 231, 249, 24, 213, 209, 241, 46, 241, 249, 117, 231, 123, 241, 46,
- 241, 249, 117, 213, 206, 241, 46, 241, 249, 225, 133, 227, 93, 213, 209,
- 2, 251, 35, 245, 181, 251, 69, 2, 214, 223, 226, 44, 2, 251, 135, 242,
- 16, 231, 249, 2, 242, 89, 225, 241, 231, 237, 231, 249, 2, 216, 61, 227,
- 74, 231, 248, 227, 74, 213, 208, 252, 103, 249, 129, 213, 192, 225, 70,
- 235, 131, 227, 89, 235, 131, 242, 145, 242, 198, 252, 104, 254, 22, 244,
- 242, 254, 69, 254, 70, 230, 206, 236, 1, 220, 28, 235, 229, 247, 241,
- 226, 43, 242, 86, 248, 124, 232, 230, 230, 30, 225, 132, 244, 159, 231,
- 205, 242, 15, 252, 58, 225, 135, 218, 117, 225, 198, 234, 73, 77, 232,
- 166, 233, 34, 223, 130, 243, 30, 219, 71, 234, 72, 251, 97, 249, 87, 2,
- 241, 211, 214, 3, 251, 245, 241, 211, 251, 63, 241, 211, 117, 241, 209,
- 219, 198, 241, 211, 242, 98, 241, 211, 241, 212, 2, 68, 251, 131, 241,
- 211, 242, 104, 241, 211, 213, 33, 241, 211, 225, 15, 241, 211, 241, 212,
- 2, 223, 186, 223, 197, 241, 209, 241, 212, 248, 32, 247, 201, 221, 5, 2,
- 118, 62, 235, 212, 245, 129, 177, 251, 45, 254, 21, 87, 251, 120, 220,
- 20, 87, 249, 166, 87, 219, 178, 218, 193, 87, 246, 40, 248, 102, 87, 225,
- 199, 65, 225, 129, 244, 30, 251, 181, 247, 117, 87, 219, 191, 252, 77,
- 217, 102, 252, 77, 67, 244, 20, 240, 201, 225, 139, 87, 230, 219, 252,
- 90, 249, 39, 244, 255, 107, 247, 86, 52, 249, 79, 250, 174, 252, 63, 2,
- 213, 31, 52, 252, 63, 2, 247, 86, 52, 252, 63, 2, 245, 14, 52, 252, 63,
- 2, 225, 108, 52, 230, 219, 2, 213, 220, 250, 74, 2, 215, 124, 216, 189,
- 24, 213, 31, 52, 222, 97, 226, 42, 249, 147, 251, 67, 230, 255, 244, 25,
- 247, 137, 227, 27, 247, 142, 246, 4, 244, 76, 244, 9, 227, 40, 244, 76,
- 244, 9, 226, 201, 2, 249, 41, 226, 201, 244, 151, 215, 134, 250, 204,
- 217, 226, 250, 204, 250, 175, 235, 239, 250, 74, 2, 215, 124, 216, 188,
- 250, 74, 2, 246, 58, 216, 188, 252, 60, 250, 73, 249, 199, 225, 10, 223,
- 87, 225, 10, 226, 147, 219, 61, 223, 42, 216, 180, 223, 42, 251, 116,
- 218, 39, 233, 75, 228, 156, 228, 157, 2, 248, 31, 249, 86, 249, 193, 251,
- 117, 227, 40, 251, 117, 242, 104, 251, 117, 251, 131, 251, 117, 227, 23,
- 251, 117, 251, 114, 230, 25, 252, 93, 222, 105, 231, 124, 217, 210, 224,
- 16, 226, 199, 244, 127, 232, 39, 222, 140, 254, 0, 225, 31, 254, 157,
- 232, 168, 250, 63, 231, 136, 226, 253, 216, 196, 235, 248, 216, 196, 226,
- 206, 245, 236, 87, 235, 245, 245, 78, 245, 79, 2, 246, 58, 76, 49, 249,
- 193, 232, 6, 2, 232, 162, 244, 42, 249, 193, 232, 6, 2, 224, 48, 244, 42,
- 227, 40, 232, 6, 2, 224, 48, 244, 42, 227, 40, 232, 6, 2, 232, 162, 244,
- 42, 225, 116, 225, 117, 240, 235, 229, 166, 230, 229, 225, 249, 230, 229,
- 225, 250, 2, 95, 76, 253, 123, 233, 70, 214, 153, 230, 228, 230, 229,
- 225, 250, 227, 96, 228, 186, 230, 229, 225, 248, 254, 1, 2, 252, 49, 250,
- 198, 214, 150, 250, 198, 217, 207, 224, 63, 214, 149, 216, 25, 95, 253,
- 162, 249, 195, 95, 24, 132, 227, 40, 249, 229, 253, 162, 249, 195, 95,
- 24, 132, 227, 40, 249, 229, 253, 163, 2, 36, 122, 226, 244, 249, 195,
- 246, 58, 24, 215, 124, 227, 40, 249, 229, 253, 162, 253, 255, 246, 58,
- 24, 215, 124, 227, 40, 249, 229, 253, 162, 115, 251, 66, 87, 124, 251,
- 66, 87, 219, 195, 2, 250, 192, 90, 219, 194, 219, 195, 2, 122, 219, 218,
- 214, 19, 219, 195, 2, 133, 219, 218, 214, 18, 252, 35, 245, 129, 225,
- 161, 233, 66, 232, 16, 242, 160, 223, 144, 232, 16, 242, 160, 232, 204,
- 2, 235, 222, 226, 74, 249, 193, 232, 204, 2, 234, 144, 234, 144, 232,
- 203, 227, 40, 232, 203, 251, 221, 251, 222, 2, 250, 192, 90, 251, 115,
- 232, 233, 87, 224, 64, 251, 15, 252, 102, 2, 132, 76, 49, 245, 101, 2,
- 132, 76, 49, 227, 63, 2, 244, 254, 152, 2, 42, 46, 76, 49, 219, 225, 2,
- 95, 76, 49, 216, 227, 2, 215, 124, 76, 49, 228, 186, 122, 215, 154, 245,
- 148, 87, 234, 142, 217, 200, 235, 216, 16, 31, 7, 6, 233, 33, 235, 216,
- 16, 31, 7, 3, 233, 33, 235, 216, 16, 31, 228, 55, 235, 216, 16, 31, 218,
- 128, 235, 216, 16, 31, 7, 233, 33, 244, 65, 245, 129, 216, 222, 213, 187,
- 242, 4, 228, 38, 24, 251, 121, 241, 52, 225, 182, 231, 39, 217, 208, 249,
- 54, 252, 78, 220, 53, 225, 143, 219, 96, 2, 231, 37, 247, 74, 235, 131,
- 16, 31, 251, 233, 216, 178, 245, 114, 83, 41, 251, 15, 67, 41, 251, 15,
- 233, 108, 224, 4, 249, 228, 233, 108, 251, 131, 249, 228, 233, 108, 227,
- 23, 247, 200, 233, 108, 251, 131, 247, 200, 3, 227, 23, 247, 200, 3, 251,
- 131, 247, 200, 215, 133, 224, 4, 216, 183, 246, 59, 224, 4, 216, 183,
- 215, 133, 3, 224, 4, 216, 183, 246, 59, 3, 224, 4, 216, 183, 249, 197,
- 244, 159, 122, 227, 106, 249, 197, 244, 159, 117, 227, 106, 249, 197,
- 244, 159, 133, 227, 106, 249, 197, 244, 159, 243, 237, 227, 106, 249,
- 197, 244, 159, 244, 50, 227, 106, 249, 197, 244, 159, 220, 53, 227, 106,
- 249, 197, 244, 159, 221, 43, 227, 106, 249, 197, 244, 159, 245, 150, 227,
- 106, 249, 197, 244, 159, 229, 31, 227, 106, 249, 197, 244, 159, 217, 201,
- 227, 106, 249, 197, 244, 159, 245, 125, 227, 106, 249, 197, 244, 159,
- 216, 42, 227, 106, 249, 197, 244, 159, 227, 58, 249, 197, 244, 159, 216,
- 22, 249, 197, 244, 159, 217, 94, 249, 197, 244, 159, 243, 233, 249, 197,
- 244, 159, 244, 48, 249, 197, 244, 159, 220, 49, 249, 197, 244, 159, 221,
- 42, 249, 197, 244, 159, 245, 149, 249, 197, 244, 159, 229, 30, 249, 197,
- 244, 159, 217, 199, 249, 197, 244, 159, 245, 123, 249, 197, 244, 159,
- 216, 40, 230, 187, 243, 201, 216, 247, 216, 215, 219, 88, 65, 233, 11,
- 220, 96, 65, 235, 132, 230, 176, 242, 102, 244, 159, 2, 220, 2, 244, 237,
- 244, 159, 2, 217, 222, 65, 235, 56, 220, 2, 244, 159, 2, 227, 40, 230,
- 180, 220, 2, 244, 159, 2, 227, 40, 230, 181, 24, 220, 2, 244, 237, 220,
- 2, 244, 159, 2, 227, 40, 230, 181, 24, 249, 168, 218, 192, 220, 2, 244,
- 159, 2, 227, 40, 230, 181, 24, 217, 58, 244, 237, 220, 2, 244, 159, 2,
- 242, 8, 220, 2, 244, 159, 2, 240, 234, 213, 218, 244, 158, 220, 2, 244,
- 159, 2, 220, 2, 244, 237, 244, 159, 222, 135, 248, 13, 244, 2, 223, 238,
- 244, 158, 220, 2, 244, 159, 2, 241, 210, 244, 237, 220, 2, 244, 159, 2,
- 218, 234, 220, 1, 244, 158, 229, 169, 244, 158, 215, 158, 244, 158, 244,
- 159, 2, 249, 168, 218, 192, 226, 67, 244, 158, 249, 141, 244, 158, 244,
- 159, 217, 91, 118, 234, 72, 234, 71, 244, 159, 2, 249, 193, 244, 237,
- 244, 159, 2, 219, 31, 216, 233, 24, 213, 218, 244, 239, 244, 159, 2, 219,
- 31, 216, 233, 24, 217, 58, 244, 237, 247, 144, 244, 158, 254, 17, 244,
- 158, 225, 107, 244, 158, 249, 56, 244, 158, 226, 46, 244, 158, 244, 159,
- 2, 232, 179, 65, 216, 162, 247, 144, 251, 17, 223, 238, 244, 158, 244,
- 121, 244, 158, 214, 4, 244, 158, 220, 19, 244, 158, 217, 24, 244, 158,
- 232, 169, 249, 56, 244, 158, 244, 159, 2, 227, 40, 230, 181, 24, 249,
- 168, 218, 192, 244, 159, 222, 109, 235, 252, 244, 122, 253, 129, 244,
- 158, 244, 18, 244, 158, 247, 117, 244, 158, 244, 159, 213, 216, 230, 180,
- 244, 159, 2, 231, 149, 231, 207, 242, 102, 250, 157, 244, 159, 2, 220, 2,
- 244, 237, 250, 157, 244, 159, 2, 217, 222, 65, 235, 56, 220, 2, 250, 157,
- 244, 159, 2, 227, 40, 230, 180, 220, 2, 250, 157, 244, 159, 2, 241, 210,
- 244, 237, 250, 157, 244, 159, 2, 213, 184, 220, 3, 234, 71, 250, 157,
- 244, 159, 2, 249, 193, 244, 237, 225, 107, 250, 157, 244, 158, 249, 56,
- 250, 157, 244, 158, 214, 4, 250, 157, 244, 158, 244, 159, 2, 228, 186,
- 242, 139, 243, 10, 244, 159, 2, 227, 81, 243, 10, 226, 44, 251, 94, 248,
- 26, 222, 88, 230, 215, 241, 213, 230, 215, 219, 196, 230, 215, 241, 244,
- 226, 44, 224, 47, 122, 241, 254, 226, 44, 224, 47, 251, 104, 241, 250,
- 235, 252, 250, 113, 226, 44, 243, 208, 226, 44, 2, 225, 107, 244, 158,
- 226, 44, 2, 244, 10, 241, 249, 223, 104, 241, 198, 219, 83, 232, 202,
- 224, 53, 250, 176, 241, 148, 216, 205, 241, 148, 216, 206, 2, 251, 43,
- 228, 164, 216, 205, 231, 99, 177, 224, 54, 219, 89, 216, 203, 216, 204,
- 250, 176, 251, 21, 227, 60, 251, 21, 216, 159, 251, 22, 219, 69, 231, 0,
- 254, 39, 244, 66, 245, 95, 225, 133, 250, 176, 227, 60, 225, 133, 250,
- 176, 217, 239, 227, 60, 217, 239, 253, 96, 227, 60, 253, 96, 224, 11,
- 214, 224, 248, 9, 216, 150, 253, 157, 232, 172, 216, 211, 230, 209, 230,
- 186, 224, 52, 218, 207, 224, 52, 230, 186, 250, 214, 254, 134, 216, 202,
- 220, 196, 223, 84, 219, 189, 199, 216, 209, 233, 2, 71, 216, 209, 233, 2,
- 249, 129, 52, 225, 133, 250, 161, 223, 197, 233, 2, 216, 180, 244, 43,
- 227, 63, 225, 118, 247, 77, 228, 186, 245, 84, 52, 220, 0, 87, 228, 186,
- 220, 0, 87, 225, 9, 232, 222, 235, 252, 235, 155, 225, 173, 87, 247, 100,
- 228, 163, 232, 222, 87, 225, 112, 214, 25, 87, 228, 177, 214, 25, 87,
- 251, 180, 228, 186, 251, 179, 251, 178, 230, 186, 251, 178, 226, 88, 228,
- 186, 226, 87, 250, 37, 249, 64, 231, 120, 87, 213, 205, 87, 223, 211,
- 252, 104, 87, 216, 248, 214, 25, 249, 190, 220, 158, 252, 38, 252, 36,
- 226, 115, 249, 116, 249, 28, 252, 87, 249, 215, 42, 232, 148, 104, 16,
- 31, 224, 148, 104, 16, 31, 254, 100, 104, 16, 31, 244, 65, 104, 16, 31,
- 245, 179, 104, 16, 31, 214, 24, 104, 16, 31, 253, 213, 104, 16, 31, 253,
- 214, 223, 255, 104, 16, 31, 253, 214, 223, 254, 104, 16, 31, 253, 214,
- 214, 124, 104, 16, 31, 253, 214, 214, 123, 104, 16, 31, 214, 138, 104,
- 16, 31, 214, 137, 104, 16, 31, 214, 136, 104, 16, 31, 218, 245, 104, 16,
- 31, 226, 1, 218, 245, 104, 16, 31, 83, 218, 245, 104, 16, 31, 231, 119,
- 219, 16, 104, 16, 31, 231, 119, 219, 15, 104, 16, 31, 231, 119, 219, 14,
- 104, 16, 31, 249, 231, 104, 16, 31, 222, 172, 104, 16, 31, 229, 19, 104,
- 16, 31, 214, 122, 104, 16, 31, 214, 121, 104, 16, 31, 223, 105, 222, 172,
- 104, 16, 31, 223, 105, 222, 171, 104, 16, 31, 242, 142, 104, 16, 31, 220,
- 92, 104, 16, 31, 235, 175, 227, 20, 104, 16, 31, 235, 175, 227, 19, 104,
- 16, 31, 249, 74, 65, 235, 174, 104, 16, 31, 223, 251, 65, 235, 174, 104,
- 16, 31, 249, 107, 227, 20, 104, 16, 31, 235, 173, 227, 20, 104, 16, 31,
- 219, 17, 65, 249, 106, 104, 16, 31, 249, 74, 65, 249, 106, 104, 16, 31,
- 249, 74, 65, 249, 105, 104, 16, 31, 249, 107, 253, 250, 104, 16, 31, 222,
- 173, 65, 249, 107, 253, 250, 104, 16, 31, 219, 17, 65, 222, 173, 65, 249,
- 106, 104, 16, 31, 214, 220, 104, 16, 31, 217, 37, 227, 20, 104, 16, 31,
- 233, 81, 227, 20, 104, 16, 31, 253, 249, 227, 20, 104, 16, 31, 219, 17,
- 65, 253, 248, 104, 16, 31, 222, 173, 65, 253, 248, 104, 16, 31, 219, 17,
- 65, 222, 173, 65, 253, 248, 104, 16, 31, 214, 139, 65, 253, 248, 104, 16,
- 31, 223, 251, 65, 253, 248, 104, 16, 31, 223, 251, 65, 253, 247, 104, 16,
- 31, 223, 250, 104, 16, 31, 223, 249, 104, 16, 31, 223, 248, 104, 16, 31,
- 223, 247, 104, 16, 31, 254, 66, 104, 16, 31, 254, 65, 104, 16, 31, 231,
- 226, 104, 16, 31, 222, 178, 104, 16, 31, 253, 161, 104, 16, 31, 224, 18,
- 104, 16, 31, 224, 17, 104, 16, 31, 253, 99, 104, 16, 31, 251, 152, 227,
- 20, 104, 16, 31, 218, 0, 104, 16, 31, 217, 255, 104, 16, 31, 224, 153,
- 232, 251, 104, 16, 31, 251, 109, 104, 16, 31, 251, 108, 104, 16, 31, 251,
- 107, 104, 16, 31, 254, 47, 104, 16, 31, 227, 84, 104, 16, 31, 219, 180,
- 104, 16, 31, 217, 35, 104, 16, 31, 242, 77, 104, 16, 31, 214, 12, 104,
- 16, 31, 225, 106, 104, 16, 31, 250, 202, 104, 16, 31, 216, 50, 104, 16,
- 31, 250, 178, 230, 192, 104, 16, 31, 222, 120, 65, 235, 58, 104, 16, 31,
- 250, 211, 104, 16, 31, 216, 177, 104, 16, 31, 219, 93, 216, 177, 104, 16,
- 31, 232, 201, 104, 16, 31, 219, 240, 104, 16, 31, 215, 113, 104, 16, 31,
- 240, 233, 246, 19, 104, 16, 31, 253, 142, 104, 16, 31, 225, 114, 253,
- 142, 104, 16, 31, 251, 70, 104, 16, 31, 225, 105, 251, 70, 104, 16, 31,
- 254, 44, 104, 16, 31, 219, 57, 218, 226, 219, 56, 104, 16, 31, 219, 57,
- 218, 226, 219, 55, 104, 16, 31, 219, 13, 104, 16, 31, 225, 80, 104, 16,
- 31, 247, 133, 104, 16, 31, 247, 135, 104, 16, 31, 247, 134, 104, 16, 31,
- 225, 17, 104, 16, 31, 225, 7, 104, 16, 31, 249, 62, 104, 16, 31, 249, 61,
- 104, 16, 31, 249, 60, 104, 16, 31, 249, 59, 104, 16, 31, 249, 58, 104,
- 16, 31, 254, 77, 104, 16, 31, 252, 39, 65, 231, 212, 104, 16, 31, 252,
- 39, 65, 214, 249, 104, 16, 31, 223, 209, 104, 16, 31, 240, 225, 104, 16,
- 31, 229, 43, 104, 16, 31, 248, 91, 104, 16, 31, 230, 204, 104, 16, 31,
- 151, 246, 49, 104, 16, 31, 151, 227, 0, 9, 13, 240, 95, 9, 13, 240, 94,
- 9, 13, 240, 93, 9, 13, 240, 92, 9, 13, 240, 91, 9, 13, 240, 90, 9, 13,
- 240, 89, 9, 13, 240, 88, 9, 13, 240, 87, 9, 13, 240, 86, 9, 13, 240, 85,
- 9, 13, 240, 84, 9, 13, 240, 83, 9, 13, 240, 82, 9, 13, 240, 81, 9, 13,
- 240, 80, 9, 13, 240, 79, 9, 13, 240, 78, 9, 13, 240, 77, 9, 13, 240, 76,
- 9, 13, 240, 75, 9, 13, 240, 74, 9, 13, 240, 73, 9, 13, 240, 72, 9, 13,
- 240, 71, 9, 13, 240, 70, 9, 13, 240, 69, 9, 13, 240, 68, 9, 13, 240, 67,
- 9, 13, 240, 66, 9, 13, 240, 65, 9, 13, 240, 64, 9, 13, 240, 63, 9, 13,
- 240, 62, 9, 13, 240, 61, 9, 13, 240, 60, 9, 13, 240, 59, 9, 13, 240, 58,
- 9, 13, 240, 57, 9, 13, 240, 56, 9, 13, 240, 55, 9, 13, 240, 54, 9, 13,
- 240, 53, 9, 13, 240, 52, 9, 13, 240, 51, 9, 13, 240, 50, 9, 13, 240, 49,
- 9, 13, 240, 48, 9, 13, 240, 47, 9, 13, 240, 46, 9, 13, 240, 45, 9, 13,
- 240, 44, 9, 13, 240, 43, 9, 13, 240, 42, 9, 13, 240, 41, 9, 13, 240, 40,
- 9, 13, 240, 39, 9, 13, 240, 38, 9, 13, 240, 37, 9, 13, 240, 36, 9, 13,
- 240, 35, 9, 13, 240, 34, 9, 13, 240, 33, 9, 13, 240, 32, 9, 13, 240, 31,
- 9, 13, 240, 30, 9, 13, 240, 29, 9, 13, 240, 28, 9, 13, 240, 27, 9, 13,
- 240, 26, 9, 13, 240, 25, 9, 13, 240, 24, 9, 13, 240, 23, 9, 13, 240, 22,
- 9, 13, 240, 21, 9, 13, 240, 20, 9, 13, 240, 19, 9, 13, 240, 18, 9, 13,
- 240, 17, 9, 13, 240, 16, 9, 13, 240, 15, 9, 13, 240, 14, 9, 13, 240, 13,
- 9, 13, 240, 12, 9, 13, 240, 11, 9, 13, 240, 10, 9, 13, 240, 9, 9, 13,
- 240, 8, 9, 13, 240, 7, 9, 13, 240, 6, 9, 13, 240, 5, 9, 13, 240, 4, 9,
- 13, 240, 3, 9, 13, 240, 2, 9, 13, 240, 1, 9, 13, 240, 0, 9, 13, 239, 255,
- 9, 13, 239, 254, 9, 13, 239, 253, 9, 13, 239, 252, 9, 13, 239, 251, 9,
- 13, 239, 250, 9, 13, 239, 249, 9, 13, 239, 248, 9, 13, 239, 247, 9, 13,
- 239, 246, 9, 13, 239, 245, 9, 13, 239, 244, 9, 13, 239, 243, 9, 13, 239,
- 242, 9, 13, 239, 241, 9, 13, 239, 240, 9, 13, 239, 239, 9, 13, 239, 238,
- 9, 13, 239, 237, 9, 13, 239, 236, 9, 13, 239, 235, 9, 13, 239, 234, 9,
- 13, 239, 233, 9, 13, 239, 232, 9, 13, 239, 231, 9, 13, 239, 230, 9, 13,
- 239, 229, 9, 13, 239, 228, 9, 13, 239, 227, 9, 13, 239, 226, 9, 13, 239,
- 225, 9, 13, 239, 224, 9, 13, 239, 223, 9, 13, 239, 222, 9, 13, 239, 221,
- 9, 13, 239, 220, 9, 13, 239, 219, 9, 13, 239, 218, 9, 13, 239, 217, 9,
- 13, 239, 216, 9, 13, 239, 215, 9, 13, 239, 214, 9, 13, 239, 213, 9, 13,
- 239, 212, 9, 13, 239, 211, 9, 13, 239, 210, 9, 13, 239, 209, 9, 13, 239,
- 208, 9, 13, 239, 207, 9, 13, 239, 206, 9, 13, 239, 205, 9, 13, 239, 204,
- 9, 13, 239, 203, 9, 13, 239, 202, 9, 13, 239, 201, 9, 13, 239, 200, 9,
- 13, 239, 199, 9, 13, 239, 198, 9, 13, 239, 197, 9, 13, 239, 196, 9, 13,
- 239, 195, 9, 13, 239, 194, 9, 13, 239, 193, 9, 13, 239, 192, 9, 13, 239,
- 191, 9, 13, 239, 190, 9, 13, 239, 189, 9, 13, 239, 188, 9, 13, 239, 187,
- 9, 13, 239, 186, 9, 13, 239, 185, 9, 13, 239, 184, 9, 13, 239, 183, 9,
- 13, 239, 182, 9, 13, 239, 181, 9, 13, 239, 180, 9, 13, 239, 179, 9, 13,
- 239, 178, 9, 13, 239, 177, 9, 13, 239, 176, 9, 13, 239, 175, 9, 13, 239,
- 174, 9, 13, 239, 173, 9, 13, 239, 172, 9, 13, 239, 171, 9, 13, 239, 170,
- 9, 13, 239, 169, 9, 13, 239, 168, 9, 13, 239, 167, 9, 13, 239, 166, 9,
- 13, 239, 165, 9, 13, 239, 164, 9, 13, 239, 163, 9, 13, 239, 162, 9, 13,
- 239, 161, 9, 13, 239, 160, 9, 13, 239, 159, 9, 13, 239, 158, 9, 13, 239,
- 157, 9, 13, 239, 156, 9, 13, 239, 155, 9, 13, 239, 154, 9, 13, 239, 153,
- 9, 13, 239, 152, 9, 13, 239, 151, 9, 13, 239, 150, 9, 13, 239, 149, 9,
- 13, 239, 148, 9, 13, 239, 147, 9, 13, 239, 146, 9, 13, 239, 145, 9, 13,
- 239, 144, 9, 13, 239, 143, 9, 13, 239, 142, 9, 13, 239, 141, 9, 13, 239,
- 140, 9, 13, 239, 139, 9, 13, 239, 138, 9, 13, 239, 137, 9, 13, 239, 136,
- 9, 13, 239, 135, 9, 13, 239, 134, 9, 13, 239, 133, 9, 13, 239, 132, 9,
- 13, 239, 131, 9, 13, 239, 130, 9, 13, 239, 129, 9, 13, 239, 128, 9, 13,
- 239, 127, 9, 13, 239, 126, 9, 13, 239, 125, 9, 13, 239, 124, 9, 13, 239,
- 123, 9, 13, 239, 122, 9, 13, 239, 121, 9, 13, 239, 120, 9, 13, 239, 119,
- 9, 13, 239, 118, 9, 13, 239, 117, 9, 13, 239, 116, 9, 13, 239, 115, 9,
- 13, 239, 114, 9, 13, 239, 113, 9, 13, 239, 112, 9, 13, 239, 111, 9, 13,
- 239, 110, 9, 13, 239, 109, 9, 13, 239, 108, 9, 13, 239, 107, 9, 13, 239,
- 106, 9, 13, 239, 105, 9, 13, 239, 104, 9, 13, 239, 103, 9, 13, 239, 102,
- 9, 13, 239, 101, 9, 13, 239, 100, 9, 13, 239, 99, 9, 13, 239, 98, 9, 13,
- 239, 97, 9, 13, 239, 96, 9, 13, 239, 95, 9, 13, 239, 94, 9, 13, 239, 93,
- 9, 13, 239, 92, 9, 13, 239, 91, 9, 13, 239, 90, 9, 13, 239, 89, 9, 13,
- 239, 88, 9, 13, 239, 87, 9, 13, 239, 86, 9, 13, 239, 85, 9, 13, 239, 84,
- 9, 13, 239, 83, 9, 13, 239, 82, 9, 13, 239, 81, 9, 13, 239, 80, 9, 13,
- 239, 79, 9, 13, 239, 78, 9, 13, 239, 77, 9, 13, 239, 76, 9, 13, 239, 75,
- 9, 13, 239, 74, 9, 13, 239, 73, 9, 13, 239, 72, 9, 13, 239, 71, 9, 13,
- 239, 70, 9, 13, 239, 69, 9, 13, 239, 68, 9, 13, 239, 67, 9, 13, 239, 66,
- 9, 13, 239, 65, 9, 13, 239, 64, 9, 13, 239, 63, 9, 13, 239, 62, 9, 13,
- 239, 61, 9, 13, 239, 60, 9, 13, 239, 59, 9, 13, 239, 58, 9, 13, 239, 57,
- 9, 13, 239, 56, 9, 13, 239, 55, 9, 13, 239, 54, 9, 13, 239, 53, 9, 13,
- 239, 52, 9, 13, 239, 51, 9, 13, 239, 50, 9, 13, 239, 49, 9, 13, 239, 48,
- 9, 13, 239, 47, 9, 13, 239, 46, 9, 13, 239, 45, 9, 13, 239, 44, 9, 13,
- 239, 43, 9, 13, 239, 42, 9, 13, 239, 41, 9, 13, 239, 40, 9, 13, 239, 39,
- 9, 13, 239, 38, 9, 13, 239, 37, 9, 13, 239, 36, 9, 13, 239, 35, 9, 13,
- 239, 34, 9, 13, 239, 33, 9, 13, 239, 32, 9, 13, 239, 31, 9, 13, 239, 30,
- 9, 13, 239, 29, 9, 13, 239, 28, 9, 13, 239, 27, 9, 13, 239, 26, 9, 13,
- 239, 25, 9, 13, 239, 24, 9, 13, 239, 23, 9, 13, 239, 22, 9, 13, 239, 21,
- 9, 13, 239, 20, 9, 13, 239, 19, 9, 13, 239, 18, 9, 13, 239, 17, 9, 13,
- 239, 16, 9, 13, 239, 15, 9, 13, 239, 14, 9, 13, 239, 13, 9, 13, 239, 12,
- 9, 13, 239, 11, 9, 13, 239, 10, 9, 13, 239, 9, 9, 13, 239, 8, 9, 13, 239,
- 7, 9, 13, 239, 6, 9, 13, 239, 5, 9, 13, 239, 4, 9, 13, 239, 3, 9, 13,
- 239, 2, 9, 13, 239, 1, 9, 13, 239, 0, 9, 13, 238, 255, 9, 13, 238, 254,
- 9, 13, 238, 253, 9, 13, 238, 252, 9, 13, 238, 251, 9, 13, 238, 250, 9,
- 13, 238, 249, 9, 13, 238, 248, 9, 13, 238, 247, 9, 13, 238, 246, 9, 13,
- 238, 245, 9, 13, 238, 244, 9, 13, 238, 243, 9, 13, 238, 242, 9, 13, 238,
- 241, 9, 13, 238, 240, 9, 13, 238, 239, 9, 13, 238, 238, 9, 13, 238, 237,
- 9, 13, 238, 236, 9, 13, 238, 235, 9, 13, 238, 234, 9, 13, 238, 233, 9,
- 13, 238, 232, 9, 13, 238, 231, 9, 13, 238, 230, 9, 13, 238, 229, 9, 13,
- 238, 228, 9, 13, 238, 227, 9, 13, 238, 226, 9, 13, 238, 225, 9, 13, 238,
- 224, 9, 13, 238, 223, 9, 13, 238, 222, 9, 13, 238, 221, 9, 13, 238, 220,
- 9, 13, 238, 219, 9, 13, 238, 218, 9, 13, 238, 217, 9, 13, 238, 216, 9,
- 13, 238, 215, 9, 13, 238, 214, 9, 13, 238, 213, 9, 13, 238, 212, 9, 13,
- 238, 211, 9, 13, 238, 210, 9, 13, 238, 209, 9, 13, 238, 208, 9, 13, 238,
- 207, 9, 13, 238, 206, 9, 13, 238, 205, 9, 13, 238, 204, 9, 13, 238, 203,
- 9, 13, 238, 202, 9, 13, 238, 201, 9, 13, 238, 200, 9, 13, 238, 199, 9,
- 13, 238, 198, 9, 13, 238, 197, 9, 13, 238, 196, 9, 13, 238, 195, 9, 13,
- 238, 194, 9, 13, 238, 193, 9, 13, 238, 192, 9, 13, 238, 191, 9, 13, 238,
- 190, 9, 13, 238, 189, 9, 13, 238, 188, 9, 13, 238, 187, 9, 13, 238, 186,
- 9, 13, 238, 185, 9, 13, 238, 184, 9, 13, 238, 183, 9, 13, 238, 182, 9,
- 13, 238, 181, 9, 13, 238, 180, 9, 13, 238, 179, 9, 13, 238, 178, 9, 13,
- 238, 177, 9, 13, 238, 176, 9, 13, 238, 175, 9, 13, 238, 174, 9, 13, 238,
- 173, 9, 13, 238, 172, 9, 13, 238, 171, 9, 13, 238, 170, 9, 13, 238, 169,
- 9, 13, 238, 168, 9, 13, 238, 167, 9, 13, 238, 166, 9, 13, 238, 165, 9,
- 13, 238, 164, 9, 13, 238, 163, 9, 13, 238, 162, 9, 13, 238, 161, 9, 13,
- 238, 160, 9, 13, 238, 159, 9, 13, 238, 158, 9, 13, 238, 157, 9, 13, 238,
- 156, 9, 13, 238, 155, 9, 13, 238, 154, 9, 13, 238, 153, 9, 13, 238, 152,
- 9, 13, 238, 151, 9, 13, 238, 150, 9, 13, 238, 149, 9, 13, 238, 148, 9,
- 13, 238, 147, 9, 13, 238, 146, 9, 13, 238, 145, 9, 13, 238, 144, 9, 13,
- 238, 143, 9, 13, 238, 142, 9, 13, 238, 141, 9, 13, 238, 140, 9, 13, 238,
- 139, 9, 13, 238, 138, 9, 13, 238, 137, 9, 13, 238, 136, 9, 13, 238, 135,
- 9, 13, 238, 134, 9, 13, 238, 133, 9, 13, 238, 132, 9, 13, 238, 131, 9,
- 13, 238, 130, 9, 13, 238, 129, 9, 13, 238, 128, 9, 13, 238, 127, 9, 13,
- 238, 126, 9, 13, 238, 125, 9, 13, 238, 124, 9, 13, 238, 123, 9, 13, 238,
- 122, 9, 13, 238, 121, 9, 13, 238, 120, 9, 13, 238, 119, 9, 13, 238, 118,
- 9, 13, 238, 117, 9, 13, 238, 116, 9, 13, 238, 115, 9, 13, 238, 114, 9,
- 13, 238, 113, 9, 13, 238, 112, 9, 13, 238, 111, 9, 13, 238, 110, 9, 13,
- 238, 109, 9, 13, 238, 108, 9, 13, 238, 107, 9, 13, 238, 106, 9, 13, 238,
- 105, 9, 13, 238, 104, 9, 13, 238, 103, 9, 13, 238, 102, 9, 13, 238, 101,
- 9, 13, 238, 100, 9, 13, 238, 99, 9, 13, 238, 98, 9, 13, 238, 97, 9, 13,
- 238, 96, 9, 13, 238, 95, 9, 13, 238, 94, 9, 13, 238, 93, 9, 13, 238, 92,
- 9, 13, 238, 91, 9, 13, 238, 90, 9, 13, 238, 89, 9, 13, 238, 88, 9, 13,
- 238, 87, 9, 13, 238, 86, 9, 13, 238, 85, 9, 13, 238, 84, 9, 13, 238, 83,
- 9, 13, 238, 82, 9, 13, 238, 81, 9, 13, 238, 80, 9, 13, 238, 79, 9, 13,
- 238, 78, 9, 13, 238, 77, 9, 13, 238, 76, 9, 13, 238, 75, 9, 13, 238, 74,
- 9, 13, 238, 73, 9, 13, 238, 72, 9, 13, 238, 71, 9, 13, 238, 70, 9, 13,
- 238, 69, 9, 13, 238, 68, 9, 13, 238, 67, 9, 13, 238, 66, 233, 114, 218,
- 33, 126, 219, 206, 126, 244, 254, 77, 126, 224, 143, 77, 126, 50, 52,
- 126, 247, 86, 52, 126, 226, 57, 52, 126, 254, 35, 126, 253, 226, 126, 42,
- 226, 131, 126, 46, 226, 131, 126, 253, 132, 126, 94, 52, 126, 249, 157,
- 126, 240, 159, 126, 243, 200, 219, 69, 126, 219, 231, 126, 21, 212, 79,
- 126, 21, 116, 126, 21, 109, 126, 21, 166, 126, 21, 163, 126, 21, 180,
- 126, 21, 189, 126, 21, 198, 126, 21, 195, 126, 21, 200, 126, 249, 164,
- 126, 221, 70, 126, 233, 39, 52, 126, 245, 61, 52, 126, 242, 107, 52, 126,
- 224, 158, 77, 126, 249, 156, 253, 122, 126, 7, 6, 1, 61, 126, 7, 6, 1,
- 253, 74, 126, 7, 6, 1, 250, 252, 126, 7, 6, 1, 249, 3, 126, 7, 6, 1, 74,
- 126, 7, 6, 1, 244, 230, 126, 7, 6, 1, 243, 177, 126, 7, 6, 1, 242, 41,
- 126, 7, 6, 1, 72, 126, 7, 6, 1, 235, 142, 126, 7, 6, 1, 235, 27, 126, 7,
- 6, 1, 150, 126, 7, 6, 1, 183, 126, 7, 6, 1, 204, 126, 7, 6, 1, 75, 126,
- 7, 6, 1, 226, 229, 126, 7, 6, 1, 224, 240, 126, 7, 6, 1, 149, 126, 7, 6,
- 1, 197, 126, 7, 6, 1, 218, 99, 126, 7, 6, 1, 69, 126, 7, 6, 1, 215, 79,
- 126, 7, 6, 1, 214, 82, 126, 7, 6, 1, 213, 166, 126, 7, 6, 1, 213, 105,
- 126, 7, 6, 1, 212, 152, 126, 42, 41, 125, 126, 223, 203, 219, 231, 126,
- 46, 41, 125, 126, 249, 224, 254, 174, 126, 115, 232, 242, 126, 242, 114,
- 254, 174, 126, 7, 3, 1, 61, 126, 7, 3, 1, 253, 74, 126, 7, 3, 1, 250,
- 252, 126, 7, 3, 1, 249, 3, 126, 7, 3, 1, 74, 126, 7, 3, 1, 244, 230, 126,
- 7, 3, 1, 243, 177, 126, 7, 3, 1, 242, 41, 126, 7, 3, 1, 72, 126, 7, 3, 1,
- 235, 142, 126, 7, 3, 1, 235, 27, 126, 7, 3, 1, 150, 126, 7, 3, 1, 183,
- 126, 7, 3, 1, 204, 126, 7, 3, 1, 75, 126, 7, 3, 1, 226, 229, 126, 7, 3,
- 1, 224, 240, 126, 7, 3, 1, 149, 126, 7, 3, 1, 197, 126, 7, 3, 1, 218, 99,
- 126, 7, 3, 1, 69, 126, 7, 3, 1, 215, 79, 126, 7, 3, 1, 214, 82, 126, 7,
- 3, 1, 213, 166, 126, 7, 3, 1, 213, 105, 126, 7, 3, 1, 212, 152, 126, 42,
- 249, 40, 125, 126, 71, 232, 242, 126, 46, 249, 40, 125, 126, 217, 42,
- 250, 194, 218, 33, 43, 221, 254, 43, 221, 243, 43, 221, 232, 43, 221,
- 220, 43, 221, 209, 43, 221, 198, 43, 221, 187, 43, 221, 176, 43, 221,
- 165, 43, 221, 157, 43, 221, 156, 43, 221, 155, 43, 221, 154, 43, 221,
- 152, 43, 221, 151, 43, 221, 150, 43, 221, 149, 43, 221, 148, 43, 221,
- 147, 43, 221, 146, 43, 221, 145, 43, 221, 144, 43, 221, 143, 43, 221,
- 141, 43, 221, 140, 43, 221, 139, 43, 221, 138, 43, 221, 137, 43, 221,
- 136, 43, 221, 135, 43, 221, 134, 43, 221, 133, 43, 221, 132, 43, 221,
- 130, 43, 221, 129, 43, 221, 128, 43, 221, 127, 43, 221, 126, 43, 221,
- 125, 43, 221, 124, 43, 221, 123, 43, 221, 122, 43, 221, 121, 43, 221,
- 119, 43, 221, 118, 43, 221, 117, 43, 221, 116, 43, 221, 115, 43, 221,
- 114, 43, 221, 113, 43, 221, 112, 43, 221, 111, 43, 221, 110, 43, 221,
- 108, 43, 221, 107, 43, 221, 106, 43, 221, 105, 43, 221, 104, 43, 221,
- 103, 43, 221, 102, 43, 221, 101, 43, 221, 100, 43, 221, 99, 43, 221, 97,
- 43, 221, 96, 43, 221, 95, 43, 221, 94, 43, 221, 93, 43, 221, 92, 43, 221,
- 91, 43, 221, 90, 43, 221, 89, 43, 221, 88, 43, 221, 86, 43, 221, 85, 43,
- 221, 84, 43, 221, 83, 43, 221, 82, 43, 221, 81, 43, 221, 80, 43, 221, 79,
- 43, 221, 78, 43, 221, 77, 43, 222, 74, 43, 222, 73, 43, 222, 72, 43, 222,
- 71, 43, 222, 70, 43, 222, 69, 43, 222, 68, 43, 222, 67, 43, 222, 66, 43,
- 222, 65, 43, 222, 63, 43, 222, 62, 43, 222, 61, 43, 222, 60, 43, 222, 59,
- 43, 222, 58, 43, 222, 57, 43, 222, 56, 43, 222, 55, 43, 222, 54, 43, 222,
- 52, 43, 222, 51, 43, 222, 50, 43, 222, 49, 43, 222, 48, 43, 222, 47, 43,
- 222, 46, 43, 222, 45, 43, 222, 44, 43, 222, 43, 43, 222, 41, 43, 222, 40,
- 43, 222, 39, 43, 222, 38, 43, 222, 37, 43, 222, 36, 43, 222, 35, 43, 222,
- 34, 43, 222, 33, 43, 222, 32, 43, 222, 30, 43, 222, 29, 43, 222, 28, 43,
- 222, 27, 43, 222, 26, 43, 222, 25, 43, 222, 24, 43, 222, 23, 43, 222, 22,
- 43, 222, 21, 43, 222, 19, 43, 222, 18, 43, 222, 17, 43, 222, 16, 43, 222,
- 15, 43, 222, 14, 43, 222, 13, 43, 222, 12, 43, 222, 11, 43, 222, 10, 43,
- 222, 8, 43, 222, 7, 43, 222, 6, 43, 222, 5, 43, 222, 4, 43, 222, 3, 43,
- 222, 2, 43, 222, 1, 43, 222, 0, 43, 221, 255, 43, 221, 253, 43, 221, 252,
- 43, 221, 251, 43, 221, 250, 43, 221, 249, 43, 221, 248, 43, 221, 247, 43,
- 221, 246, 43, 221, 245, 43, 221, 244, 43, 221, 242, 43, 221, 241, 43,
- 221, 240, 43, 221, 239, 43, 221, 238, 43, 221, 237, 43, 221, 236, 43,
- 221, 235, 43, 221, 234, 43, 221, 233, 43, 221, 231, 43, 221, 230, 43,
- 221, 229, 43, 221, 228, 43, 221, 227, 43, 221, 226, 43, 221, 225, 43,
- 221, 224, 43, 221, 223, 43, 221, 222, 43, 221, 219, 43, 221, 218, 43,
- 221, 217, 43, 221, 216, 43, 221, 215, 43, 221, 214, 43, 221, 213, 43,
- 221, 212, 43, 221, 211, 43, 221, 210, 43, 221, 208, 43, 221, 207, 43,
- 221, 206, 43, 221, 205, 43, 221, 204, 43, 221, 203, 43, 221, 202, 43,
- 221, 201, 43, 221, 200, 43, 221, 199, 43, 221, 197, 43, 221, 196, 43,
- 221, 195, 43, 221, 194, 43, 221, 193, 43, 221, 192, 43, 221, 191, 43,
- 221, 190, 43, 221, 189, 43, 221, 188, 43, 221, 186, 43, 221, 185, 43,
- 221, 184, 43, 221, 183, 43, 221, 182, 43, 221, 181, 43, 221, 180, 43,
- 221, 179, 43, 221, 178, 43, 221, 177, 43, 221, 175, 43, 221, 174, 43,
- 221, 173, 43, 221, 172, 43, 221, 171, 43, 221, 170, 43, 221, 169, 43,
- 221, 168, 43, 221, 167, 43, 221, 166, 43, 221, 164, 43, 221, 163, 43,
- 221, 162, 43, 221, 161, 43, 221, 160, 43, 221, 159, 43, 221, 158,
+ 10, 11, 227, 160, 10, 11, 227, 159, 10, 11, 227, 10, 10, 11, 227, 9, 10,
+ 11, 227, 8, 10, 11, 227, 7, 10, 11, 227, 6, 10, 11, 227, 5, 10, 11, 227,
+ 4, 10, 11, 227, 3, 10, 11, 227, 2, 10, 11, 227, 1, 10, 11, 227, 0, 10,
+ 11, 226, 255, 10, 11, 226, 254, 10, 11, 225, 18, 10, 11, 225, 17, 10, 11,
+ 225, 16, 10, 11, 225, 15, 10, 11, 225, 14, 10, 11, 225, 13, 10, 11, 225,
+ 12, 10, 11, 224, 146, 10, 11, 224, 145, 10, 11, 224, 144, 10, 11, 224,
+ 143, 10, 11, 224, 142, 10, 11, 224, 141, 10, 11, 224, 140, 10, 11, 224,
+ 139, 10, 11, 224, 138, 10, 11, 224, 137, 10, 11, 224, 136, 10, 11, 224,
+ 135, 10, 11, 224, 134, 10, 11, 224, 133, 10, 11, 224, 132, 10, 11, 224,
+ 131, 10, 11, 224, 130, 10, 11, 224, 129, 10, 11, 224, 128, 10, 11, 224,
+ 127, 10, 11, 224, 126, 10, 11, 224, 125, 10, 11, 224, 124, 10, 11, 224,
+ 123, 10, 11, 224, 122, 10, 11, 224, 121, 10, 11, 224, 120, 10, 11, 224,
+ 119, 10, 11, 224, 118, 10, 11, 224, 117, 10, 11, 224, 116, 10, 11, 224,
+ 115, 10, 11, 224, 114, 10, 11, 224, 113, 10, 11, 223, 26, 10, 11, 223,
+ 25, 10, 11, 223, 24, 10, 11, 223, 23, 10, 11, 223, 22, 10, 11, 223, 21,
+ 10, 11, 223, 20, 10, 11, 223, 19, 10, 11, 223, 18, 10, 11, 223, 17, 10,
+ 11, 223, 16, 10, 11, 223, 15, 10, 11, 223, 14, 10, 11, 223, 13, 10, 11,
+ 223, 12, 10, 11, 223, 11, 10, 11, 223, 10, 10, 11, 223, 9, 10, 11, 223,
+ 8, 10, 11, 223, 7, 10, 11, 223, 6, 10, 11, 223, 5, 10, 11, 223, 4, 10,
+ 11, 223, 3, 10, 11, 223, 2, 10, 11, 223, 1, 10, 11, 223, 0, 10, 11, 222,
+ 255, 10, 11, 222, 254, 10, 11, 222, 253, 10, 11, 222, 252, 10, 11, 222,
+ 251, 10, 11, 222, 250, 10, 11, 222, 249, 10, 11, 222, 248, 10, 11, 222,
+ 247, 10, 11, 222, 246, 10, 11, 222, 245, 10, 11, 222, 244, 10, 11, 222,
+ 243, 10, 11, 222, 242, 10, 11, 222, 241, 10, 11, 222, 240, 10, 11, 222,
+ 239, 10, 11, 222, 238, 10, 11, 222, 237, 10, 11, 222, 236, 10, 11, 222,
+ 235, 10, 11, 222, 234, 10, 11, 222, 233, 10, 11, 222, 232, 10, 11, 222,
+ 231, 10, 11, 222, 230, 10, 11, 222, 229, 10, 11, 218, 111, 10, 11, 218,
+ 110, 10, 11, 218, 109, 10, 11, 218, 108, 10, 11, 218, 107, 10, 11, 218,
+ 106, 10, 11, 218, 105, 10, 11, 218, 104, 10, 11, 218, 103, 10, 11, 218,
+ 102, 10, 11, 218, 101, 10, 11, 218, 100, 10, 11, 218, 99, 10, 11, 218,
+ 98, 10, 11, 218, 97, 10, 11, 218, 96, 10, 11, 218, 95, 10, 11, 218, 94,
+ 10, 11, 218, 93, 10, 11, 218, 92, 10, 11, 218, 91, 10, 11, 218, 90, 10,
+ 11, 218, 89, 10, 11, 218, 88, 10, 11, 218, 87, 10, 11, 218, 86, 10, 11,
+ 218, 85, 10, 11, 218, 84, 10, 11, 218, 83, 10, 11, 218, 82, 10, 11, 218,
+ 81, 10, 11, 218, 80, 10, 11, 218, 79, 10, 11, 218, 78, 10, 11, 218, 77,
+ 10, 11, 218, 76, 10, 11, 218, 75, 10, 11, 218, 74, 10, 11, 218, 73, 10,
+ 11, 218, 72, 10, 11, 218, 71, 10, 11, 218, 70, 10, 11, 218, 69, 10, 11,
+ 218, 68, 10, 11, 215, 251, 10, 11, 215, 250, 10, 11, 215, 249, 10, 11,
+ 215, 248, 10, 11, 215, 247, 10, 11, 215, 246, 10, 11, 215, 245, 10, 11,
+ 215, 244, 10, 11, 215, 243, 10, 11, 215, 242, 10, 11, 215, 241, 10, 11,
+ 215, 240, 10, 11, 215, 239, 10, 11, 215, 238, 10, 11, 215, 237, 10, 11,
+ 215, 236, 10, 11, 215, 235, 10, 11, 215, 234, 10, 11, 215, 233, 10, 11,
+ 215, 232, 10, 11, 215, 231, 10, 11, 215, 230, 10, 11, 215, 229, 10, 11,
+ 215, 228, 10, 11, 215, 227, 10, 11, 215, 226, 10, 11, 215, 225, 10, 11,
+ 215, 224, 10, 11, 215, 223, 10, 11, 215, 222, 10, 11, 215, 221, 10, 11,
+ 215, 220, 10, 11, 215, 219, 10, 11, 215, 218, 10, 11, 215, 217, 10, 11,
+ 215, 216, 10, 11, 215, 215, 10, 11, 215, 214, 10, 11, 215, 213, 10, 11,
+ 215, 212, 10, 11, 215, 211, 10, 11, 215, 210, 10, 11, 215, 209, 10, 11,
+ 215, 208, 10, 11, 215, 207, 10, 11, 215, 206, 10, 11, 215, 205, 10, 11,
+ 215, 85, 10, 11, 215, 84, 10, 11, 215, 83, 10, 11, 215, 82, 10, 11, 215,
+ 81, 10, 11, 215, 80, 10, 11, 215, 79, 10, 11, 215, 78, 10, 11, 215, 77,
+ 10, 11, 215, 76, 10, 11, 215, 75, 10, 11, 215, 74, 10, 11, 215, 73, 10,
+ 11, 215, 72, 10, 11, 215, 71, 10, 11, 215, 70, 10, 11, 215, 69, 10, 11,
+ 215, 68, 10, 11, 215, 67, 10, 11, 215, 66, 10, 11, 215, 65, 10, 11, 215,
+ 64, 10, 11, 215, 63, 10, 11, 215, 62, 10, 11, 215, 61, 10, 11, 215, 60,
+ 10, 11, 215, 59, 10, 11, 215, 58, 10, 11, 215, 57, 10, 11, 215, 56, 10,
+ 11, 215, 55, 10, 11, 215, 54, 10, 11, 215, 53, 10, 11, 215, 52, 10, 11,
+ 215, 51, 10, 11, 215, 50, 10, 11, 215, 49, 10, 11, 215, 48, 10, 11, 215,
+ 47, 10, 11, 215, 46, 10, 11, 215, 45, 10, 11, 215, 44, 10, 11, 215, 43,
+ 10, 11, 215, 42, 10, 11, 215, 41, 10, 11, 215, 40, 10, 11, 215, 39, 10,
+ 11, 215, 38, 10, 11, 215, 37, 10, 11, 215, 36, 10, 11, 215, 35, 10, 11,
+ 215, 34, 10, 11, 215, 33, 10, 11, 215, 32, 10, 11, 215, 31, 10, 11, 215,
+ 30, 10, 11, 215, 29, 10, 11, 215, 28, 10, 11, 215, 27, 10, 11, 215, 26,
+ 10, 11, 215, 25, 10, 11, 215, 24, 10, 11, 215, 23, 10, 11, 215, 22, 10,
+ 11, 215, 21, 10, 11, 215, 20, 10, 11, 215, 19, 10, 11, 215, 18, 10, 11,
+ 215, 17, 10, 11, 215, 16, 10, 11, 215, 15, 10, 11, 215, 14, 10, 11, 215,
+ 13, 10, 11, 215, 12, 10, 11, 215, 11, 10, 11, 215, 10, 10, 11, 215, 9,
+ 10, 11, 214, 84, 10, 11, 214, 83, 10, 11, 214, 82, 10, 11, 214, 81, 10,
+ 11, 214, 80, 10, 11, 214, 79, 10, 11, 214, 78, 10, 11, 214, 77, 10, 11,
+ 214, 76, 10, 11, 214, 75, 10, 11, 214, 74, 10, 11, 214, 73, 10, 11, 214,
+ 72, 10, 11, 214, 71, 10, 11, 214, 70, 10, 11, 214, 69, 10, 11, 214, 68,
+ 10, 11, 214, 67, 10, 11, 214, 66, 10, 11, 214, 65, 10, 11, 214, 64, 10,
+ 11, 214, 63, 10, 11, 214, 62, 10, 11, 214, 61, 10, 11, 214, 60, 10, 11,
+ 214, 59, 10, 11, 214, 58, 10, 11, 214, 57, 10, 11, 214, 56, 10, 11, 214,
+ 55, 10, 11, 214, 54, 10, 11, 214, 53, 10, 11, 213, 168, 10, 11, 213, 167,
+ 10, 11, 213, 166, 10, 11, 213, 165, 10, 11, 213, 164, 10, 11, 213, 163,
+ 10, 11, 213, 162, 10, 11, 213, 161, 10, 11, 213, 160, 10, 11, 213, 159,
+ 10, 11, 213, 158, 10, 11, 213, 157, 10, 11, 213, 106, 10, 11, 213, 105,
+ 10, 11, 213, 104, 10, 11, 213, 103, 10, 11, 213, 102, 10, 11, 213, 101,
+ 10, 11, 213, 100, 10, 11, 213, 99, 10, 11, 213, 98, 10, 11, 212, 151, 10,
+ 11, 212, 150, 10, 11, 212, 149, 10, 11, 212, 148, 10, 11, 212, 147, 10,
+ 11, 212, 146, 10, 11, 212, 145, 10, 11, 212, 144, 10, 11, 212, 143, 10,
+ 11, 212, 142, 10, 11, 212, 141, 10, 11, 212, 140, 10, 11, 212, 139, 10,
+ 11, 212, 138, 10, 11, 212, 137, 10, 11, 212, 136, 10, 11, 212, 135, 10,
+ 11, 212, 134, 10, 11, 212, 133, 10, 11, 212, 132, 10, 11, 212, 131, 10,
+ 11, 212, 130, 10, 11, 212, 129, 10, 11, 212, 128, 10, 11, 212, 127, 10,
+ 11, 212, 126, 10, 11, 212, 125, 10, 11, 212, 124, 10, 11, 212, 123, 10,
+ 11, 212, 122, 10, 11, 212, 121, 10, 11, 212, 120, 10, 11, 212, 119, 10,
+ 11, 212, 118, 10, 11, 212, 117, 10, 11, 212, 116, 10, 11, 212, 115, 10,
+ 11, 212, 114, 10, 11, 212, 113, 10, 11, 212, 112, 10, 11, 212, 111, 10,
+ 11, 255, 103, 10, 11, 255, 102, 10, 11, 255, 101, 10, 11, 255, 100, 10,
+ 11, 255, 99, 10, 11, 255, 98, 10, 11, 255, 97, 10, 11, 255, 96, 10, 11,
+ 255, 95, 10, 11, 255, 94, 10, 11, 255, 93, 10, 11, 255, 92, 10, 11, 255,
+ 91, 10, 11, 255, 90, 10, 11, 255, 89, 10, 11, 255, 88, 10, 11, 255, 87,
+ 10, 11, 255, 86, 10, 11, 255, 85, 10, 11, 255, 84, 10, 11, 255, 83, 10,
+ 11, 255, 82, 10, 11, 255, 81, 10, 11, 255, 80, 10, 11, 255, 79, 10, 11,
+ 255, 78, 10, 11, 255, 77, 10, 11, 255, 76, 10, 11, 255, 75, 10, 11, 255,
+ 74, 10, 11, 255, 73, 10, 11, 255, 72, 10, 11, 255, 71, 10, 11, 255, 70,
+ 20, 1, 159, 229, 163, 231, 153, 20, 1, 159, 243, 166, 244, 125, 20, 1,
+ 159, 225, 167, 231, 154, 225, 225, 20, 1, 159, 225, 167, 231, 154, 225,
+ 226, 20, 1, 159, 230, 113, 231, 153, 20, 1, 159, 220, 166, 20, 1, 159,
+ 217, 33, 231, 153, 20, 1, 159, 228, 19, 231, 153, 20, 1, 159, 220, 220,
+ 226, 252, 229, 64, 20, 1, 159, 225, 167, 226, 252, 229, 65, 225, 225, 20,
+ 1, 159, 225, 167, 226, 252, 229, 65, 225, 226, 20, 1, 159, 232, 96, 20,
+ 1, 159, 216, 91, 232, 97, 20, 1, 159, 229, 221, 20, 1, 159, 232, 93, 20,
+ 1, 159, 232, 54, 20, 1, 159, 230, 188, 20, 1, 159, 221, 68, 20, 1, 159,
+ 228, 139, 20, 1, 159, 235, 11, 20, 1, 159, 229, 33, 20, 1, 159, 218, 219,
+ 20, 1, 159, 229, 162, 20, 1, 159, 233, 209, 20, 1, 159, 233, 134, 234,
+ 53, 20, 1, 159, 228, 146, 231, 161, 20, 1, 159, 232, 100, 20, 1, 159,
+ 226, 156, 20, 1, 159, 243, 71, 20, 1, 159, 226, 214, 20, 1, 159, 231, 35,
+ 229, 195, 20, 1, 159, 228, 0, 231, 164, 20, 1, 159, 103, 212, 180, 230,
+ 107, 20, 1, 159, 243, 72, 20, 1, 159, 228, 146, 228, 147, 20, 1, 159,
+ 220, 75, 20, 1, 159, 231, 146, 20, 1, 159, 231, 167, 20, 1, 159, 231, 14,
+ 20, 1, 159, 235, 111, 20, 1, 159, 226, 252, 233, 169, 20, 1, 159, 230,
+ 40, 233, 169, 20, 1, 159, 226, 70, 20, 1, 159, 232, 94, 20, 1, 159, 229,
+ 102, 20, 1, 159, 225, 56, 20, 1, 159, 216, 88, 20, 1, 159, 232, 226, 20,
+ 1, 159, 219, 246, 20, 1, 159, 217, 182, 20, 1, 159, 232, 91, 20, 1, 159,
+ 235, 18, 20, 1, 159, 230, 36, 20, 1, 159, 234, 65, 20, 1, 159, 231, 15,
+ 20, 1, 159, 220, 163, 20, 1, 159, 233, 9, 20, 1, 159, 244, 182, 20, 1,
+ 159, 223, 135, 20, 1, 159, 234, 105, 20, 1, 159, 219, 242, 20, 1, 159,
+ 232, 51, 226, 11, 20, 1, 159, 220, 213, 20, 1, 159, 228, 145, 20, 1, 159,
+ 220, 198, 228, 156, 212, 188, 20, 1, 159, 228, 39, 231, 32, 20, 1, 159,
+ 226, 247, 20, 1, 159, 229, 34, 20, 1, 159, 215, 147, 20, 1, 159, 229,
+ 198, 20, 1, 159, 232, 90, 20, 1, 159, 229, 76, 20, 1, 159, 231, 252, 20,
+ 1, 159, 228, 51, 20, 1, 159, 217, 186, 20, 1, 159, 219, 240, 20, 1, 159,
+ 226, 248, 20, 1, 159, 228, 160, 20, 1, 159, 232, 98, 20, 1, 159, 228, 49,
+ 20, 1, 159, 235, 78, 20, 1, 159, 228, 163, 20, 1, 159, 214, 232, 20, 1,
+ 159, 232, 230, 20, 1, 159, 229, 247, 20, 1, 159, 230, 84, 20, 1, 159,
+ 231, 251, 20, 1, 226, 50, 228, 158, 20, 1, 226, 50, 216, 91, 232, 95, 20,
+ 1, 226, 50, 220, 130, 20, 1, 226, 50, 221, 72, 216, 90, 20, 1, 226, 50,
+ 233, 11, 228, 142, 20, 1, 226, 50, 232, 2, 232, 99, 20, 1, 226, 50, 234,
+ 207, 20, 1, 226, 50, 213, 7, 20, 1, 226, 50, 231, 253, 20, 1, 226, 50,
+ 235, 99, 20, 1, 226, 50, 226, 119, 20, 1, 226, 50, 213, 80, 233, 169, 20,
+ 1, 226, 50, 233, 225, 228, 156, 228, 60, 20, 1, 226, 50, 228, 140, 220,
+ 239, 20, 1, 226, 50, 230, 7, 229, 79, 20, 1, 226, 50, 243, 69, 20, 1,
+ 226, 50, 225, 217, 20, 1, 226, 50, 216, 91, 228, 154, 20, 1, 226, 50,
+ 220, 244, 229, 74, 20, 1, 226, 50, 220, 240, 20, 1, 226, 50, 231, 154,
+ 217, 185, 20, 1, 226, 50, 231, 240, 231, 254, 20, 1, 226, 50, 228, 50,
+ 228, 142, 20, 1, 226, 50, 235, 7, 20, 1, 226, 50, 243, 70, 20, 1, 226,
+ 50, 235, 3, 20, 1, 226, 50, 233, 249, 20, 1, 226, 50, 226, 158, 20, 1,
+ 226, 50, 214, 164, 20, 1, 226, 50, 229, 164, 230, 186, 20, 1, 226, 50,
+ 229, 197, 231, 236, 20, 1, 226, 50, 213, 184, 20, 1, 226, 50, 222, 206,
+ 20, 1, 226, 50, 218, 59, 20, 1, 226, 50, 231, 166, 20, 1, 226, 50, 229,
+ 182, 20, 1, 226, 50, 229, 183, 233, 206, 20, 1, 226, 50, 231, 156, 20, 1,
+ 226, 50, 219, 11, 20, 1, 226, 50, 231, 244, 20, 1, 226, 50, 231, 17, 20,
+ 1, 226, 50, 228, 62, 20, 1, 226, 50, 225, 60, 20, 1, 226, 50, 231, 165,
+ 229, 199, 20, 1, 226, 50, 244, 215, 20, 1, 226, 50, 231, 231, 20, 1, 226,
+ 50, 244, 236, 20, 1, 226, 50, 235, 15, 20, 1, 226, 50, 232, 116, 229, 68,
+ 20, 1, 226, 50, 232, 116, 229, 44, 20, 1, 226, 50, 233, 133, 20, 1, 226,
+ 50, 229, 205, 20, 1, 226, 50, 228, 165, 20, 1, 226, 50, 191, 20, 1, 226,
+ 50, 234, 194, 20, 1, 226, 50, 229, 152, 20, 1, 133, 229, 163, 232, 97,
+ 20, 1, 133, 228, 18, 20, 1, 133, 212, 188, 20, 1, 133, 214, 40, 20, 1,
+ 133, 229, 198, 20, 1, 133, 230, 28, 20, 1, 133, 229, 170, 20, 1, 133,
+ 243, 79, 20, 1, 133, 231, 248, 20, 1, 133, 243, 173, 20, 1, 133, 228, 41,
+ 231, 53, 231, 168, 20, 1, 133, 228, 138, 231, 239, 20, 1, 133, 231, 245,
+ 20, 1, 133, 225, 223, 20, 1, 133, 230, 13, 20, 1, 133, 232, 0, 251, 84,
+ 20, 1, 133, 235, 5, 20, 1, 133, 243, 80, 20, 1, 133, 235, 12, 20, 1, 133,
+ 212, 205, 230, 216, 20, 1, 133, 228, 12, 20, 1, 133, 231, 233, 20, 1,
+ 133, 228, 164, 20, 1, 133, 231, 239, 20, 1, 133, 213, 8, 20, 1, 133, 234,
+ 113, 20, 1, 133, 235, 128, 20, 1, 133, 221, 67, 20, 1, 133, 230, 22, 20,
+ 1, 133, 218, 57, 20, 1, 133, 229, 48, 20, 1, 133, 217, 33, 212, 190, 20,
+ 1, 133, 219, 37, 20, 1, 133, 229, 189, 228, 60, 20, 1, 133, 214, 163, 20,
+ 1, 133, 230, 87, 20, 1, 133, 232, 116, 235, 14, 20, 1, 133, 228, 147, 20,
+ 1, 133, 229, 184, 20, 1, 133, 233, 210, 20, 1, 133, 231, 241, 20, 1, 133,
+ 231, 145, 20, 1, 133, 228, 141, 20, 1, 133, 217, 181, 20, 1, 133, 229,
+ 186, 20, 1, 133, 244, 68, 20, 1, 133, 230, 27, 20, 1, 133, 228, 166, 20,
+ 1, 133, 228, 162, 20, 1, 133, 251, 161, 20, 1, 133, 214, 165, 20, 1, 133,
+ 231, 246, 20, 1, 133, 223, 77, 20, 1, 133, 229, 78, 20, 1, 133, 233, 224,
+ 20, 1, 133, 217, 31, 20, 1, 133, 228, 148, 229, 152, 20, 1, 133, 229, 70,
+ 20, 1, 133, 235, 18, 20, 1, 133, 229, 190, 20, 1, 133, 232, 90, 20, 1,
+ 133, 231, 234, 20, 1, 133, 232, 230, 20, 1, 133, 234, 53, 20, 1, 133,
+ 229, 76, 20, 1, 133, 229, 152, 20, 1, 133, 213, 175, 20, 1, 133, 229,
+ 187, 20, 1, 133, 228, 151, 20, 1, 133, 228, 143, 20, 1, 133, 234, 67,
+ 229, 34, 20, 1, 133, 228, 149, 20, 1, 133, 230, 35, 20, 1, 133, 232, 116,
+ 228, 154, 20, 1, 133, 213, 94, 20, 1, 133, 230, 34, 20, 1, 133, 220, 165,
+ 20, 1, 133, 221, 70, 20, 1, 133, 231, 242, 20, 1, 133, 232, 97, 20, 1,
+ 133, 231, 252, 20, 1, 133, 235, 6, 20, 1, 133, 231, 243, 20, 1, 133, 235,
+ 10, 20, 1, 133, 232, 0, 226, 15, 20, 1, 133, 212, 171, 20, 1, 133, 229,
+ 66, 20, 1, 133, 231, 103, 20, 1, 133, 230, 240, 20, 1, 133, 220, 216, 20,
+ 1, 133, 235, 28, 233, 192, 20, 1, 133, 235, 28, 244, 249, 20, 1, 133,
+ 229, 219, 20, 1, 133, 230, 84, 20, 1, 133, 233, 70, 20, 1, 133, 225, 233,
+ 20, 1, 133, 226, 110, 20, 1, 133, 217, 196, 20, 1, 105, 231, 232, 20, 1,
+ 105, 214, 38, 20, 1, 105, 229, 64, 20, 1, 105, 231, 153, 20, 1, 105, 229,
+ 62, 20, 1, 105, 233, 105, 20, 1, 105, 229, 67, 20, 1, 105, 228, 161, 20,
+ 1, 105, 229, 204, 20, 1, 105, 228, 60, 20, 1, 105, 213, 185, 20, 1, 105,
+ 229, 160, 20, 1, 105, 221, 6, 20, 1, 105, 229, 171, 20, 1, 105, 235, 13,
+ 20, 1, 105, 217, 183, 20, 1, 105, 220, 242, 20, 1, 105, 229, 75, 20, 1,
+ 105, 219, 11, 20, 1, 105, 235, 18, 20, 1, 105, 213, 82, 20, 1, 105, 234,
+ 68, 20, 1, 105, 222, 174, 20, 1, 105, 231, 158, 20, 1, 105, 230, 26, 20,
+ 1, 105, 232, 66, 20, 1, 105, 231, 164, 20, 1, 105, 221, 69, 20, 1, 105,
+ 213, 31, 20, 1, 105, 229, 69, 20, 1, 105, 235, 9, 231, 235, 20, 1, 105,
+ 229, 167, 20, 1, 105, 216, 90, 20, 1, 105, 243, 88, 20, 1, 105, 229, 157,
+ 20, 1, 105, 244, 216, 20, 1, 105, 230, 30, 20, 1, 105, 231, 137, 20, 1,
+ 105, 233, 129, 20, 1, 105, 230, 12, 20, 1, 105, 231, 31, 20, 1, 105, 231,
+ 141, 20, 1, 105, 225, 41, 20, 1, 105, 231, 139, 20, 1, 105, 231, 155, 20,
+ 1, 105, 232, 216, 20, 1, 105, 228, 153, 20, 1, 105, 231, 255, 20, 1, 105,
+ 234, 44, 20, 1, 105, 228, 51, 20, 1, 105, 217, 186, 20, 1, 105, 219, 240,
+ 20, 1, 105, 212, 171, 20, 1, 105, 235, 10, 20, 1, 105, 224, 95, 20, 1,
+ 105, 217, 231, 20, 1, 105, 229, 168, 20, 1, 105, 231, 160, 20, 1, 105,
+ 228, 152, 20, 1, 105, 235, 8, 20, 1, 105, 225, 227, 20, 1, 105, 226, 64,
+ 20, 1, 105, 228, 28, 20, 1, 105, 233, 133, 20, 1, 105, 229, 205, 20, 1,
+ 105, 231, 157, 20, 1, 105, 229, 179, 20, 1, 105, 212, 185, 20, 1, 105,
+ 226, 186, 20, 1, 105, 212, 184, 20, 1, 105, 230, 35, 20, 1, 105, 228,
+ 142, 20, 1, 105, 219, 39, 20, 1, 105, 234, 72, 20, 1, 105, 229, 194, 20,
+ 1, 105, 229, 165, 20, 1, 105, 216, 74, 20, 1, 105, 231, 168, 20, 1, 105,
+ 234, 62, 20, 1, 105, 228, 150, 20, 1, 105, 217, 184, 20, 1, 105, 232, 92,
+ 20, 1, 105, 229, 203, 20, 1, 105, 233, 128, 20, 1, 105, 229, 185, 20, 1,
+ 105, 228, 155, 20, 1, 105, 229, 48, 20, 1, 105, 243, 73, 20, 1, 105, 234,
+ 81, 20, 1, 105, 224, 12, 227, 112, 20, 1, 105, 218, 49, 20, 1, 105, 216,
+ 236, 20, 1, 105, 228, 49, 20, 1, 105, 223, 170, 20, 1, 105, 233, 171, 20,
+ 1, 105, 231, 214, 20, 1, 105, 184, 20, 1, 105, 218, 219, 20, 1, 105, 230,
+ 242, 20, 1, 105, 220, 228, 20, 1, 105, 220, 238, 20, 1, 105, 234, 19, 20,
+ 1, 105, 228, 135, 20, 1, 105, 220, 170, 20, 1, 105, 228, 144, 20, 1, 105,
+ 226, 122, 20, 1, 105, 229, 128, 20, 1, 105, 220, 197, 20, 1, 105, 225,
+ 55, 20, 1, 105, 230, 186, 20, 1, 105, 232, 248, 20, 1, 105, 224, 12, 230,
+ 236, 20, 1, 105, 217, 84, 20, 1, 105, 228, 136, 20, 1, 105, 232, 0, 200,
+ 20, 1, 105, 222, 172, 20, 1, 105, 245, 28, 20, 1, 82, 230, 34, 20, 1, 82,
+ 216, 242, 20, 1, 82, 231, 245, 20, 1, 82, 233, 210, 20, 1, 82, 214, 113,
+ 20, 1, 82, 232, 252, 20, 1, 82, 226, 251, 20, 1, 82, 219, 249, 20, 1, 82,
+ 224, 72, 20, 1, 82, 228, 157, 20, 1, 82, 230, 5, 20, 1, 82, 225, 69, 20,
+ 1, 82, 218, 26, 20, 1, 82, 229, 173, 20, 1, 82, 234, 109, 20, 1, 82, 213,
+ 178, 20, 1, 82, 222, 112, 20, 1, 82, 229, 195, 20, 1, 82, 226, 248, 20,
+ 1, 82, 216, 243, 20, 1, 82, 234, 66, 20, 1, 82, 233, 10, 20, 1, 82, 228,
+ 160, 20, 1, 82, 229, 149, 20, 1, 82, 232, 98, 20, 1, 82, 229, 166, 20, 1,
+ 82, 229, 148, 20, 1, 82, 228, 159, 20, 1, 82, 223, 168, 20, 1, 82, 229,
+ 66, 20, 1, 82, 226, 121, 20, 1, 82, 222, 225, 20, 1, 82, 229, 180, 20, 1,
+ 82, 231, 147, 20, 1, 82, 243, 67, 20, 1, 82, 229, 169, 20, 1, 82, 229,
+ 77, 20, 1, 82, 232, 50, 20, 1, 82, 232, 250, 20, 1, 82, 229, 200, 20, 1,
+ 82, 230, 18, 20, 1, 82, 218, 48, 228, 142, 20, 1, 82, 221, 71, 20, 1, 82,
+ 225, 65, 20, 1, 82, 230, 38, 219, 254, 20, 1, 82, 229, 188, 228, 60, 20,
+ 1, 82, 212, 252, 20, 1, 82, 243, 68, 20, 1, 82, 216, 89, 20, 1, 82, 213,
+ 11, 20, 1, 82, 225, 186, 20, 1, 82, 216, 79, 20, 1, 82, 235, 16, 20, 1,
+ 82, 219, 38, 20, 1, 82, 217, 185, 20, 1, 82, 214, 166, 20, 1, 82, 213,
+ 250, 20, 1, 82, 233, 252, 20, 1, 82, 225, 71, 20, 1, 82, 218, 58, 20, 1,
+ 82, 243, 87, 20, 1, 82, 229, 209, 20, 1, 82, 220, 241, 20, 1, 82, 231,
+ 142, 20, 1, 82, 231, 249, 20, 1, 82, 228, 16, 20, 1, 82, 229, 31, 20, 1,
+ 82, 243, 169, 20, 1, 82, 216, 80, 20, 1, 82, 234, 75, 20, 1, 82, 213, 59,
+ 20, 1, 82, 228, 50, 250, 76, 20, 1, 82, 212, 242, 20, 1, 82, 231, 159,
+ 20, 1, 82, 230, 23, 20, 1, 82, 226, 12, 20, 1, 82, 212, 189, 20, 1, 82,
+ 233, 130, 20, 1, 82, 244, 68, 20, 1, 82, 243, 168, 20, 1, 82, 229, 159,
+ 20, 1, 82, 235, 18, 20, 1, 82, 232, 101, 20, 1, 82, 229, 172, 20, 1, 82,
+ 243, 74, 20, 1, 82, 245, 29, 20, 1, 82, 228, 137, 20, 1, 82, 226, 65, 20,
+ 1, 82, 213, 9, 20, 1, 82, 229, 196, 20, 1, 82, 228, 50, 252, 70, 20, 1,
+ 82, 227, 252, 20, 1, 82, 225, 163, 20, 1, 82, 231, 103, 20, 1, 82, 244,
+ 66, 20, 1, 82, 230, 107, 20, 1, 82, 230, 240, 20, 1, 82, 243, 73, 20, 1,
+ 82, 244, 70, 75, 20, 1, 82, 230, 187, 20, 1, 82, 225, 68, 20, 1, 82, 229,
+ 161, 20, 1, 82, 234, 53, 20, 1, 82, 226, 9, 20, 1, 82, 228, 145, 20, 1,
+ 82, 213, 10, 20, 1, 82, 229, 181, 20, 1, 82, 226, 252, 226, 98, 20, 1,
+ 82, 244, 70, 251, 71, 20, 1, 82, 244, 126, 20, 1, 82, 229, 71, 20, 1, 82,
+ 63, 20, 1, 82, 216, 236, 20, 1, 82, 78, 20, 1, 82, 75, 20, 1, 82, 233,
+ 208, 20, 1, 82, 226, 252, 225, 193, 20, 1, 82, 218, 63, 20, 1, 82, 218,
+ 15, 20, 1, 82, 230, 38, 230, 175, 241, 83, 20, 1, 82, 220, 216, 20, 1,
+ 82, 213, 6, 20, 1, 82, 229, 142, 20, 1, 82, 212, 194, 20, 1, 82, 212,
+ 219, 218, 199, 20, 1, 82, 212, 219, 249, 209, 20, 1, 82, 212, 179, 20, 1,
+ 82, 212, 187, 20, 1, 82, 235, 4, 20, 1, 82, 226, 63, 20, 1, 82, 229, 72,
+ 245, 186, 20, 1, 82, 225, 66, 20, 1, 82, 213, 183, 20, 1, 82, 244, 236,
+ 20, 1, 82, 214, 232, 20, 1, 82, 232, 230, 20, 1, 82, 231, 112, 20, 1, 82,
+ 223, 238, 20, 1, 82, 224, 96, 20, 1, 82, 229, 141, 20, 1, 82, 229, 226,
+ 20, 1, 82, 220, 208, 20, 1, 82, 220, 197, 20, 1, 82, 244, 70, 224, 14,
+ 20, 1, 82, 207, 20, 1, 82, 226, 20, 20, 1, 82, 232, 248, 20, 1, 82, 234,
+ 148, 20, 1, 82, 231, 192, 20, 1, 82, 191, 20, 1, 82, 232, 47, 20, 1, 82,
+ 217, 187, 20, 1, 82, 234, 212, 20, 1, 82, 231, 34, 20, 1, 82, 217, 213,
+ 20, 1, 82, 245, 2, 20, 1, 82, 243, 63, 20, 1, 226, 49, 183, 20, 1, 226,
+ 49, 72, 20, 1, 226, 49, 234, 81, 20, 1, 226, 49, 246, 30, 20, 1, 226, 49,
+ 224, 35, 20, 1, 226, 49, 218, 49, 20, 1, 226, 49, 228, 49, 20, 1, 226,
+ 49, 233, 255, 20, 1, 226, 49, 223, 170, 20, 1, 226, 49, 223, 216, 20, 1,
+ 226, 49, 231, 214, 20, 1, 226, 49, 218, 63, 20, 1, 226, 49, 230, 37, 20,
+ 1, 226, 49, 229, 78, 20, 1, 226, 49, 184, 20, 1, 226, 49, 218, 219, 20,
+ 1, 226, 49, 220, 228, 20, 1, 226, 49, 220, 136, 20, 1, 226, 49, 221, 67,
+ 20, 1, 226, 49, 234, 19, 20, 1, 226, 49, 235, 18, 20, 1, 226, 49, 228,
+ 107, 20, 1, 226, 49, 228, 135, 20, 1, 226, 49, 229, 49, 20, 1, 226, 49,
+ 212, 218, 20, 1, 226, 49, 220, 170, 20, 1, 226, 49, 189, 20, 1, 226, 49,
+ 228, 163, 20, 1, 226, 49, 226, 63, 20, 1, 226, 49, 228, 144, 20, 1, 226,
+ 49, 213, 183, 20, 1, 226, 49, 226, 122, 20, 1, 226, 49, 223, 77, 20, 1,
+ 226, 49, 229, 128, 20, 1, 226, 49, 223, 238, 20, 1, 226, 49, 235, 27, 20,
+ 1, 226, 49, 229, 158, 20, 1, 226, 49, 229, 206, 20, 1, 226, 49, 220, 208,
+ 20, 1, 226, 49, 225, 69, 20, 1, 226, 49, 244, 126, 20, 1, 226, 49, 214,
+ 52, 20, 1, 226, 49, 233, 111, 20, 1, 226, 49, 232, 248, 20, 1, 226, 49,
+ 234, 148, 20, 1, 226, 49, 231, 247, 20, 1, 226, 49, 224, 11, 20, 1, 226,
+ 49, 191, 20, 1, 226, 49, 231, 45, 20, 1, 226, 49, 231, 255, 20, 1, 226,
+ 49, 217, 196, 20, 1, 226, 49, 234, 115, 20, 1, 226, 49, 222, 190, 20, 1,
+ 226, 49, 214, 102, 56, 1, 254, 64, 77, 136, 1, 254, 64, 213, 39, 48, 27,
+ 16, 225, 75, 48, 27, 16, 248, 225, 48, 27, 16, 226, 86, 48, 27, 16, 227,
+ 19, 246, 0, 48, 27, 16, 227, 19, 248, 18, 48, 27, 16, 214, 254, 246, 0,
+ 48, 27, 16, 214, 254, 248, 18, 48, 27, 16, 235, 59, 48, 27, 16, 218, 129,
+ 48, 27, 16, 226, 174, 48, 27, 16, 212, 209, 48, 27, 16, 212, 210, 248,
+ 18, 48, 27, 16, 234, 98, 48, 27, 16, 254, 107, 246, 0, 48, 27, 16, 245,
+ 114, 246, 0, 48, 27, 16, 217, 224, 48, 27, 16, 235, 23, 48, 27, 16, 254,
+ 98, 48, 27, 16, 254, 99, 248, 18, 48, 27, 16, 218, 135, 48, 27, 16, 217,
+ 125, 48, 27, 16, 227, 109, 254, 62, 48, 27, 16, 242, 255, 254, 62, 48,
+ 27, 16, 225, 74, 48, 27, 16, 250, 208, 48, 27, 16, 214, 244, 48, 27, 16,
+ 236, 23, 254, 62, 48, 27, 16, 235, 25, 254, 62, 48, 27, 16, 235, 24, 254,
+ 62, 48, 27, 16, 222, 154, 48, 27, 16, 226, 165, 48, 27, 16, 219, 100,
+ 254, 101, 48, 27, 16, 227, 18, 254, 62, 48, 27, 16, 214, 253, 254, 62,
+ 48, 27, 16, 254, 102, 254, 62, 48, 27, 16, 254, 96, 48, 27, 16, 234, 157,
+ 48, 27, 16, 223, 233, 48, 27, 16, 226, 18, 254, 62, 48, 27, 16, 217, 50,
+ 48, 27, 16, 254, 157, 48, 27, 16, 222, 101, 48, 27, 16, 218, 138, 254,
+ 62, 48, 27, 16, 218, 138, 231, 177, 219, 98, 48, 27, 16, 227, 13, 254,
+ 62, 48, 27, 16, 217, 156, 48, 27, 16, 233, 149, 48, 27, 16, 246, 117, 48,
+ 27, 16, 216, 198, 48, 27, 16, 217, 198, 48, 27, 16, 234, 101, 48, 27, 16,
+ 254, 107, 245, 114, 229, 244, 48, 27, 16, 244, 71, 254, 62, 48, 27, 16,
+ 236, 124, 48, 27, 16, 216, 170, 254, 62, 48, 27, 16, 235, 62, 216, 169,
+ 48, 27, 16, 226, 111, 48, 27, 16, 225, 79, 48, 27, 16, 234, 131, 48, 27,
+ 16, 250, 140, 254, 62, 48, 27, 16, 224, 73, 48, 27, 16, 226, 177, 254,
+ 62, 48, 27, 16, 226, 175, 254, 62, 48, 27, 16, 240, 219, 48, 27, 16, 230,
+ 91, 48, 27, 16, 226, 68, 48, 27, 16, 234, 132, 254, 185, 48, 27, 16, 216,
+ 170, 254, 185, 48, 27, 16, 219, 77, 48, 27, 16, 242, 222, 48, 27, 16,
+ 236, 23, 229, 244, 48, 27, 16, 227, 109, 229, 244, 48, 27, 16, 227, 19,
+ 229, 244, 48, 27, 16, 226, 67, 48, 27, 16, 234, 118, 48, 27, 16, 226, 66,
+ 48, 27, 16, 234, 100, 48, 27, 16, 226, 112, 229, 244, 48, 27, 16, 235,
+ 24, 229, 245, 254, 134, 48, 27, 16, 235, 25, 229, 245, 254, 134, 48, 27,
+ 16, 212, 207, 48, 27, 16, 254, 99, 229, 244, 48, 27, 16, 254, 100, 218,
+ 136, 229, 244, 48, 27, 16, 212, 208, 48, 27, 16, 234, 99, 48, 27, 16,
+ 245, 251, 48, 27, 16, 250, 209, 48, 27, 16, 231, 81, 236, 22, 48, 27, 16,
+ 214, 254, 229, 244, 48, 27, 16, 226, 18, 229, 244, 48, 27, 16, 225, 80,
+ 229, 244, 48, 27, 16, 227, 106, 48, 27, 16, 254, 122, 48, 27, 16, 232,
+ 191, 48, 27, 16, 226, 175, 229, 244, 48, 27, 16, 226, 177, 229, 244, 48,
+ 27, 16, 245, 147, 226, 176, 48, 27, 16, 234, 17, 48, 27, 16, 254, 123,
+ 48, 27, 16, 216, 170, 229, 244, 48, 27, 16, 245, 254, 48, 27, 16, 218,
+ 138, 229, 244, 48, 27, 16, 218, 130, 48, 27, 16, 250, 140, 229, 244, 48,
+ 27, 16, 245, 190, 48, 27, 16, 222, 102, 229, 244, 48, 27, 16, 213, 142,
+ 234, 157, 48, 27, 16, 216, 167, 48, 27, 16, 225, 81, 48, 27, 16, 216,
+ 171, 48, 27, 16, 216, 168, 48, 27, 16, 225, 78, 48, 27, 16, 216, 166, 48,
+ 27, 16, 225, 77, 48, 27, 16, 242, 254, 48, 27, 16, 254, 56, 48, 27, 16,
+ 245, 147, 254, 56, 48, 27, 16, 227, 13, 229, 244, 48, 27, 16, 217, 155,
+ 245, 155, 48, 27, 16, 217, 155, 245, 113, 48, 27, 16, 217, 157, 254, 103,
+ 48, 27, 16, 217, 150, 235, 109, 254, 95, 48, 27, 16, 235, 61, 48, 27, 16,
+ 245, 218, 48, 27, 16, 213, 3, 235, 58, 48, 27, 16, 213, 3, 254, 134, 48,
+ 27, 16, 219, 99, 48, 27, 16, 234, 158, 254, 134, 48, 27, 16, 248, 19,
+ 254, 62, 48, 27, 16, 234, 102, 254, 62, 48, 27, 16, 234, 102, 254, 185,
+ 48, 27, 16, 234, 102, 229, 244, 48, 27, 16, 254, 102, 229, 244, 48, 27,
+ 16, 254, 104, 48, 27, 16, 248, 18, 48, 27, 16, 216, 181, 48, 27, 16, 217,
+ 190, 48, 27, 16, 234, 122, 48, 27, 16, 233, 154, 245, 213, 250, 131, 48,
+ 27, 16, 233, 154, 246, 118, 250, 132, 48, 27, 16, 233, 154, 216, 183,
+ 250, 132, 48, 27, 16, 233, 154, 217, 200, 250, 132, 48, 27, 16, 233, 154,
+ 236, 119, 250, 131, 48, 27, 16, 242, 255, 229, 245, 254, 134, 48, 27, 16,
+ 242, 255, 226, 166, 254, 52, 48, 27, 16, 242, 255, 226, 166, 248, 101,
+ 48, 27, 16, 248, 42, 48, 27, 16, 248, 43, 226, 166, 254, 53, 235, 58, 48,
+ 27, 16, 248, 43, 226, 166, 254, 53, 254, 134, 48, 27, 16, 248, 43, 226,
+ 166, 248, 101, 48, 27, 16, 216, 187, 48, 27, 16, 254, 57, 48, 27, 16,
+ 236, 126, 48, 27, 16, 248, 63, 48, 27, 16, 254, 244, 225, 170, 254, 58,
+ 48, 27, 16, 254, 244, 254, 55, 48, 27, 16, 254, 244, 254, 58, 48, 27, 16,
+ 254, 244, 231, 171, 48, 27, 16, 254, 244, 231, 180, 48, 27, 16, 254, 244,
+ 243, 0, 48, 27, 16, 254, 244, 242, 253, 48, 27, 16, 254, 244, 225, 170,
+ 243, 0, 48, 27, 16, 232, 29, 225, 86, 240, 217, 48, 27, 16, 232, 29, 254,
+ 187, 225, 86, 240, 217, 48, 27, 16, 232, 29, 248, 100, 240, 217, 48, 27,
+ 16, 232, 29, 254, 187, 248, 100, 240, 217, 48, 27, 16, 232, 29, 216, 176,
+ 240, 217, 48, 27, 16, 232, 29, 216, 188, 48, 27, 16, 232, 29, 217, 194,
+ 240, 217, 48, 27, 16, 232, 29, 217, 194, 233, 157, 240, 217, 48, 27, 16,
+ 232, 29, 233, 157, 240, 217, 48, 27, 16, 232, 29, 225, 207, 240, 217, 48,
+ 27, 16, 236, 28, 217, 217, 240, 218, 48, 27, 16, 254, 100, 217, 217, 240,
+ 218, 48, 27, 16, 245, 5, 217, 191, 48, 27, 16, 245, 5, 231, 27, 48, 27,
+ 16, 245, 5, 248, 47, 48, 27, 16, 232, 29, 214, 248, 240, 217, 48, 27, 16,
+ 232, 29, 225, 85, 240, 217, 48, 27, 16, 232, 29, 225, 207, 217, 194, 240,
+ 217, 48, 27, 16, 242, 251, 230, 167, 254, 103, 48, 27, 16, 242, 251, 230,
+ 167, 248, 17, 48, 27, 16, 245, 227, 235, 109, 244, 71, 214, 109, 48, 27,
+ 16, 236, 125, 48, 27, 16, 236, 123, 48, 27, 16, 244, 71, 254, 63, 248,
+ 99, 240, 216, 48, 27, 16, 244, 71, 248, 61, 195, 48, 27, 16, 244, 71,
+ 248, 61, 230, 91, 48, 27, 16, 244, 71, 230, 86, 240, 217, 48, 27, 16,
+ 244, 71, 248, 61, 248, 76, 48, 27, 16, 244, 71, 220, 49, 248, 60, 248,
+ 76, 48, 27, 16, 244, 71, 248, 61, 235, 44, 48, 27, 16, 244, 71, 248, 61,
+ 212, 16, 48, 27, 16, 244, 71, 248, 61, 229, 129, 235, 58, 48, 27, 16,
+ 244, 71, 248, 61, 229, 129, 254, 134, 48, 27, 16, 244, 71, 232, 69, 250,
+ 133, 248, 47, 48, 27, 16, 244, 71, 232, 69, 250, 133, 231, 27, 48, 27,
+ 16, 244, 211, 220, 49, 250, 133, 214, 247, 48, 27, 16, 244, 71, 220, 49,
+ 250, 133, 218, 139, 48, 27, 16, 244, 71, 229, 246, 48, 27, 16, 250, 134,
+ 211, 248, 48, 27, 16, 250, 134, 234, 156, 48, 27, 16, 250, 134, 219, 216,
+ 48, 27, 16, 244, 71, 241, 7, 213, 2, 217, 195, 48, 27, 16, 244, 71, 245,
+ 228, 254, 124, 48, 27, 16, 213, 2, 216, 177, 48, 27, 16, 248, 55, 216,
+ 177, 48, 27, 16, 248, 55, 217, 195, 48, 27, 16, 248, 55, 254, 105, 246,
+ 118, 247, 214, 48, 27, 16, 248, 55, 231, 25, 217, 199, 247, 214, 48, 27,
+ 16, 248, 55, 248, 39, 245, 124, 247, 214, 48, 27, 16, 248, 55, 216, 185,
+ 227, 114, 247, 214, 48, 27, 16, 213, 2, 254, 105, 246, 118, 247, 214, 48,
+ 27, 16, 213, 2, 231, 25, 217, 199, 247, 214, 48, 27, 16, 213, 2, 248, 39,
+ 245, 124, 247, 214, 48, 27, 16, 213, 2, 216, 185, 227, 114, 247, 214, 48,
+ 27, 16, 243, 145, 248, 54, 48, 27, 16, 243, 145, 213, 1, 48, 27, 16, 248,
+ 62, 254, 105, 231, 82, 48, 27, 16, 248, 62, 254, 105, 231, 207, 48, 27,
+ 16, 248, 62, 248, 18, 48, 27, 16, 248, 62, 217, 148, 48, 27, 16, 220,
+ 108, 217, 148, 48, 27, 16, 220, 108, 217, 149, 248, 3, 48, 27, 16, 220,
+ 108, 217, 149, 216, 178, 48, 27, 16, 220, 108, 217, 149, 217, 188, 48,
+ 27, 16, 220, 108, 254, 30, 48, 27, 16, 220, 108, 254, 31, 248, 3, 48, 27,
+ 16, 220, 108, 254, 31, 216, 178, 48, 27, 16, 220, 108, 254, 31, 217, 188,
+ 48, 27, 16, 248, 40, 243, 126, 48, 27, 16, 248, 46, 227, 40, 48, 27, 16,
+ 219, 91, 48, 27, 16, 254, 49, 195, 48, 27, 16, 254, 49, 214, 109, 48, 27,
+ 16, 254, 49, 243, 230, 48, 27, 16, 254, 49, 248, 76, 48, 27, 16, 254, 49,
+ 235, 44, 48, 27, 16, 254, 49, 212, 16, 48, 27, 16, 254, 49, 229, 128, 48,
+ 27, 16, 235, 24, 229, 245, 231, 179, 48, 27, 16, 235, 25, 229, 245, 231,
+ 179, 48, 27, 16, 235, 24, 229, 245, 235, 58, 48, 27, 16, 235, 25, 229,
+ 245, 235, 58, 48, 27, 16, 234, 158, 235, 58, 48, 27, 16, 242, 255, 229,
+ 245, 235, 58, 27, 16, 220, 100, 252, 181, 27, 16, 52, 252, 181, 27, 16,
+ 41, 252, 181, 27, 16, 223, 237, 41, 252, 181, 27, 16, 248, 222, 252, 181,
+ 27, 16, 220, 196, 252, 181, 27, 16, 43, 224, 6, 53, 27, 16, 47, 224, 6,
+ 53, 27, 16, 224, 6, 247, 193, 27, 16, 249, 7, 222, 105, 27, 16, 249, 31,
+ 251, 49, 27, 16, 222, 105, 27, 16, 250, 38, 27, 16, 224, 4, 244, 200, 27,
+ 16, 224, 4, 244, 199, 27, 16, 224, 4, 244, 198, 27, 16, 244, 220, 27, 16,
+ 244, 221, 55, 27, 16, 251, 201, 79, 27, 16, 251, 79, 27, 16, 251, 211,
+ 27, 16, 125, 27, 16, 227, 96, 219, 116, 27, 16, 216, 30, 219, 116, 27,
+ 16, 217, 109, 219, 116, 27, 16, 244, 100, 219, 116, 27, 16, 244, 169,
+ 219, 116, 27, 16, 220, 71, 219, 116, 27, 16, 220, 69, 244, 84, 27, 16,
+ 244, 98, 244, 84, 27, 16, 244, 42, 250, 74, 27, 16, 244, 42, 250, 75,
+ 227, 42, 254, 178, 27, 16, 244, 42, 250, 75, 227, 42, 252, 168, 27, 16,
+ 251, 122, 250, 74, 27, 16, 245, 96, 250, 74, 27, 16, 245, 96, 250, 75,
+ 227, 42, 254, 178, 27, 16, 245, 96, 250, 75, 227, 42, 252, 168, 27, 16,
+ 246, 159, 250, 73, 27, 16, 246, 159, 250, 72, 27, 16, 230, 225, 231, 225,
+ 223, 247, 27, 16, 52, 221, 20, 27, 16, 52, 244, 154, 27, 16, 244, 155,
+ 215, 140, 27, 16, 244, 155, 246, 181, 27, 16, 230, 77, 215, 140, 27, 16,
+ 230, 77, 246, 181, 27, 16, 221, 21, 215, 140, 27, 16, 221, 21, 246, 181,
+ 27, 16, 224, 202, 161, 221, 20, 27, 16, 224, 202, 161, 244, 154, 27, 16,
+ 250, 21, 217, 54, 27, 16, 249, 150, 217, 54, 27, 16, 227, 42, 254, 178,
+ 27, 16, 227, 42, 252, 168, 27, 16, 224, 184, 254, 178, 27, 16, 224, 184,
+ 252, 168, 27, 16, 230, 228, 223, 247, 27, 16, 213, 239, 223, 247, 27, 16,
+ 157, 223, 247, 27, 16, 224, 202, 223, 247, 27, 16, 246, 11, 223, 247, 27,
+ 16, 220, 65, 223, 247, 27, 16, 217, 126, 223, 247, 27, 16, 220, 57, 223,
+ 247, 27, 16, 124, 241, 63, 216, 43, 223, 247, 27, 16, 213, 170, 228, 197,
+ 27, 16, 95, 228, 197, 27, 16, 250, 96, 213, 170, 228, 197, 27, 16, 42,
+ 228, 198, 213, 241, 27, 16, 42, 228, 198, 252, 13, 27, 16, 216, 197, 228,
+ 198, 116, 213, 241, 27, 16, 216, 197, 228, 198, 116, 252, 13, 27, 16,
+ 216, 197, 228, 198, 43, 213, 241, 27, 16, 216, 197, 228, 198, 43, 252,
+ 13, 27, 16, 216, 197, 228, 198, 47, 213, 241, 27, 16, 216, 197, 228, 198,
+ 47, 252, 13, 27, 16, 216, 197, 228, 198, 121, 213, 241, 27, 16, 216, 197,
+ 228, 198, 121, 252, 13, 27, 16, 216, 197, 228, 198, 116, 47, 213, 241,
+ 27, 16, 216, 197, 228, 198, 116, 47, 252, 13, 27, 16, 231, 13, 228, 198,
+ 213, 241, 27, 16, 231, 13, 228, 198, 252, 13, 27, 16, 216, 194, 228, 198,
+ 121, 213, 241, 27, 16, 216, 194, 228, 198, 121, 252, 13, 27, 16, 226,
+ 169, 228, 197, 27, 16, 214, 117, 228, 197, 27, 16, 228, 198, 252, 13, 27,
+ 16, 228, 102, 228, 197, 27, 16, 250, 45, 228, 198, 213, 241, 27, 16, 250,
+ 45, 228, 198, 252, 13, 27, 16, 251, 199, 27, 16, 213, 239, 228, 201, 27,
+ 16, 157, 228, 201, 27, 16, 224, 202, 228, 201, 27, 16, 246, 11, 228, 201,
+ 27, 16, 220, 65, 228, 201, 27, 16, 217, 126, 228, 201, 27, 16, 220, 57,
+ 228, 201, 27, 16, 124, 241, 63, 216, 43, 228, 201, 27, 16, 38, 219, 93,
+ 27, 16, 38, 219, 191, 219, 93, 27, 16, 38, 216, 205, 27, 16, 38, 216,
+ 204, 27, 16, 38, 216, 203, 27, 16, 244, 190, 216, 205, 27, 16, 244, 190,
+ 216, 204, 27, 16, 244, 190, 216, 203, 27, 16, 38, 253, 232, 247, 195, 27,
+ 16, 38, 244, 161, 27, 16, 38, 244, 160, 27, 16, 38, 244, 159, 27, 16, 38,
+ 244, 158, 27, 16, 38, 244, 157, 27, 16, 252, 104, 252, 120, 27, 16, 245,
+ 222, 252, 120, 27, 16, 252, 104, 217, 78, 27, 16, 245, 222, 217, 78, 27,
+ 16, 252, 104, 220, 27, 27, 16, 245, 222, 220, 27, 27, 16, 252, 104, 226,
+ 27, 27, 16, 245, 222, 226, 27, 27, 16, 38, 255, 46, 27, 16, 38, 219, 118,
+ 27, 16, 38, 217, 204, 27, 16, 38, 219, 119, 27, 16, 38, 232, 40, 27, 16,
+ 38, 232, 39, 27, 16, 38, 255, 45, 27, 16, 38, 232, 241, 27, 16, 254, 40,
+ 215, 140, 27, 16, 254, 40, 246, 181, 27, 16, 38, 247, 210, 27, 16, 38,
+ 223, 162, 27, 16, 38, 244, 147, 27, 16, 38, 220, 23, 27, 16, 38, 252, 85,
+ 27, 16, 38, 52, 216, 245, 27, 16, 38, 216, 182, 216, 245, 27, 16, 223,
+ 166, 27, 16, 219, 34, 27, 16, 212, 152, 27, 16, 226, 19, 27, 16, 231,
+ 162, 27, 16, 244, 106, 27, 16, 249, 201, 27, 16, 248, 150, 27, 16, 242,
+ 246, 228, 202, 220, 42, 27, 16, 242, 246, 228, 202, 228, 229, 220, 42,
+ 27, 16, 216, 226, 27, 16, 216, 67, 27, 16, 236, 52, 216, 67, 27, 16, 216,
+ 68, 220, 42, 27, 16, 216, 68, 215, 140, 27, 16, 227, 53, 219, 58, 27, 16,
+ 227, 53, 219, 55, 27, 16, 227, 53, 219, 54, 27, 16, 227, 53, 219, 53, 27,
+ 16, 227, 53, 219, 52, 27, 16, 227, 53, 219, 51, 27, 16, 227, 53, 219, 50,
+ 27, 16, 227, 53, 219, 49, 27, 16, 227, 53, 219, 48, 27, 16, 227, 53, 219,
+ 57, 27, 16, 227, 53, 219, 56, 27, 16, 242, 92, 27, 16, 229, 253, 27, 16,
+ 245, 222, 68, 219, 87, 27, 16, 248, 143, 220, 42, 27, 16, 38, 121, 251,
+ 220, 27, 16, 38, 116, 251, 220, 27, 16, 38, 242, 103, 27, 16, 38, 220,
+ 14, 225, 211, 27, 16, 226, 127, 79, 27, 16, 226, 127, 116, 79, 27, 16,
+ 157, 226, 127, 79, 27, 16, 243, 22, 215, 140, 27, 16, 243, 22, 246, 181,
+ 27, 16, 2, 244, 189, 27, 16, 248, 247, 27, 16, 248, 248, 254, 190, 27,
+ 16, 232, 11, 27, 16, 233, 0, 27, 16, 251, 196, 27, 16, 221, 97, 213, 241,
+ 27, 16, 221, 97, 252, 13, 27, 16, 231, 67, 27, 16, 231, 68, 252, 13, 27,
+ 16, 221, 91, 213, 241, 27, 16, 221, 91, 252, 13, 27, 16, 244, 56, 213,
+ 241, 27, 16, 244, 56, 252, 13, 27, 16, 233, 1, 226, 91, 223, 247, 27, 16,
+ 233, 1, 236, 117, 223, 247, 27, 16, 251, 197, 223, 247, 27, 16, 221, 97,
+ 223, 247, 27, 16, 231, 68, 223, 247, 27, 16, 221, 91, 223, 247, 27, 16,
+ 217, 215, 226, 89, 249, 171, 225, 94, 226, 90, 27, 16, 217, 215, 226, 89,
+ 249, 171, 225, 94, 236, 116, 27, 16, 217, 215, 226, 89, 249, 171, 225,
+ 94, 226, 91, 248, 28, 27, 16, 217, 215, 236, 115, 249, 171, 225, 94, 226,
+ 90, 27, 16, 217, 215, 236, 115, 249, 171, 225, 94, 236, 116, 27, 16, 217,
+ 215, 236, 115, 249, 171, 225, 94, 236, 117, 248, 28, 27, 16, 217, 215,
+ 236, 115, 249, 171, 225, 94, 236, 117, 248, 27, 27, 16, 217, 215, 236,
+ 115, 249, 171, 225, 94, 236, 117, 248, 26, 27, 16, 249, 196, 27, 16, 242,
+ 224, 251, 122, 250, 74, 27, 16, 242, 224, 245, 96, 250, 74, 27, 16, 42,
+ 253, 201, 27, 16, 214, 136, 27, 16, 225, 184, 27, 16, 250, 65, 27, 16,
+ 222, 144, 27, 16, 250, 69, 27, 16, 216, 233, 27, 16, 225, 158, 27, 16,
+ 225, 159, 244, 149, 27, 16, 222, 145, 244, 149, 27, 16, 216, 234, 223,
+ 244, 27, 16, 226, 75, 219, 25, 25, 214, 122, 179, 218, 188, 25, 214, 122,
+ 179, 218, 177, 25, 214, 122, 179, 218, 167, 25, 214, 122, 179, 218, 160,
+ 25, 214, 122, 179, 218, 152, 25, 214, 122, 179, 218, 146, 25, 214, 122,
+ 179, 218, 145, 25, 214, 122, 179, 218, 144, 25, 214, 122, 179, 218, 143,
+ 25, 214, 122, 179, 218, 187, 25, 214, 122, 179, 218, 186, 25, 214, 122,
+ 179, 218, 185, 25, 214, 122, 179, 218, 184, 25, 214, 122, 179, 218, 183,
+ 25, 214, 122, 179, 218, 182, 25, 214, 122, 179, 218, 181, 25, 214, 122,
+ 179, 218, 180, 25, 214, 122, 179, 218, 179, 25, 214, 122, 179, 218, 178,
+ 25, 214, 122, 179, 218, 176, 25, 214, 122, 179, 218, 175, 25, 214, 122,
+ 179, 218, 174, 25, 214, 122, 179, 218, 173, 25, 214, 122, 179, 218, 172,
+ 25, 214, 122, 179, 218, 151, 25, 214, 122, 179, 218, 150, 25, 214, 122,
+ 179, 218, 149, 25, 214, 122, 179, 218, 148, 25, 214, 122, 179, 218, 147,
+ 25, 236, 72, 179, 218, 188, 25, 236, 72, 179, 218, 177, 25, 236, 72, 179,
+ 218, 160, 25, 236, 72, 179, 218, 152, 25, 236, 72, 179, 218, 145, 25,
+ 236, 72, 179, 218, 144, 25, 236, 72, 179, 218, 186, 25, 236, 72, 179,
+ 218, 185, 25, 236, 72, 179, 218, 184, 25, 236, 72, 179, 218, 183, 25,
+ 236, 72, 179, 218, 180, 25, 236, 72, 179, 218, 179, 25, 236, 72, 179,
+ 218, 178, 25, 236, 72, 179, 218, 173, 25, 236, 72, 179, 218, 172, 25,
+ 236, 72, 179, 218, 171, 25, 236, 72, 179, 218, 170, 25, 236, 72, 179,
+ 218, 169, 25, 236, 72, 179, 218, 168, 25, 236, 72, 179, 218, 166, 25,
+ 236, 72, 179, 218, 165, 25, 236, 72, 179, 218, 164, 25, 236, 72, 179,
+ 218, 163, 25, 236, 72, 179, 218, 162, 25, 236, 72, 179, 218, 161, 25,
+ 236, 72, 179, 218, 159, 25, 236, 72, 179, 218, 158, 25, 236, 72, 179,
+ 218, 157, 25, 236, 72, 179, 218, 156, 25, 236, 72, 179, 218, 155, 25,
+ 236, 72, 179, 218, 154, 25, 236, 72, 179, 218, 153, 25, 236, 72, 179,
+ 218, 151, 25, 236, 72, 179, 218, 150, 25, 236, 72, 179, 218, 149, 25,
+ 236, 72, 179, 218, 148, 25, 236, 72, 179, 218, 147, 38, 25, 27, 216, 179,
+ 38, 25, 27, 217, 189, 38, 25, 27, 226, 99, 25, 27, 233, 153, 231, 26, 31,
+ 246, 44, 248, 41, 31, 242, 69, 246, 44, 248, 41, 31, 241, 66, 246, 44,
+ 248, 41, 31, 246, 43, 242, 70, 248, 41, 31, 246, 43, 241, 65, 248, 41,
+ 31, 246, 44, 174, 31, 250, 231, 174, 31, 244, 64, 250, 95, 174, 31, 231,
+ 60, 174, 31, 252, 176, 174, 31, 235, 41, 220, 26, 174, 31, 249, 241, 174,
+ 31, 254, 19, 174, 31, 227, 67, 174, 31, 251, 205, 227, 36, 174, 31, 248,
+ 145, 171, 247, 252, 174, 31, 247, 249, 174, 31, 212, 214, 174, 31, 236,
+ 104, 174, 31, 226, 108, 174, 31, 224, 54, 174, 31, 249, 251, 174, 31,
+ 241, 165, 252, 228, 174, 31, 214, 46, 174, 31, 244, 128, 174, 31, 255,
+ 23, 174, 31, 224, 17, 174, 31, 223, 251, 174, 31, 246, 42, 174, 31, 235,
+ 170, 174, 31, 249, 246, 174, 31, 245, 221, 174, 31, 246, 128, 174, 31,
+ 250, 204, 174, 31, 248, 154, 174, 31, 23, 223, 250, 174, 31, 226, 243,
+ 174, 31, 233, 156, 174, 31, 250, 58, 174, 31, 234, 197, 174, 31, 243,
+ 182, 174, 31, 219, 66, 174, 31, 225, 52, 174, 31, 244, 63, 174, 31, 223,
+ 252, 174, 31, 233, 193, 171, 231, 41, 174, 31, 223, 248, 174, 31, 243, 8,
+ 217, 10, 231, 211, 174, 31, 245, 223, 174, 31, 219, 78, 174, 31, 242,
+ 226, 174, 31, 245, 215, 174, 31, 226, 145, 174, 31, 223, 156, 174, 31,
+ 244, 148, 174, 31, 214, 246, 171, 214, 31, 174, 31, 249, 255, 174, 31,
+ 231, 224, 174, 31, 245, 148, 174, 31, 215, 149, 174, 31, 248, 29, 174,
+ 31, 250, 60, 230, 250, 174, 31, 242, 208, 174, 31, 243, 183, 236, 112,
+ 174, 31, 232, 19, 174, 31, 255, 42, 174, 31, 245, 236, 174, 31, 246, 184,
+ 174, 31, 214, 29, 174, 31, 220, 97, 174, 31, 236, 80, 174, 31, 248, 114,
+ 174, 31, 248, 227, 174, 31, 248, 25, 174, 31, 245, 117, 174, 31, 221, 59,
+ 174, 31, 219, 82, 174, 31, 242, 105, 174, 31, 250, 17, 174, 31, 250, 55,
+ 174, 31, 245, 10, 174, 31, 254, 245, 174, 31, 250, 16, 174, 31, 227, 100,
+ 217, 162, 214, 224, 174, 31, 248, 49, 174, 31, 233, 245, 174, 31, 244,
+ 103, 249, 211, 223, 137, 215, 151, 21, 118, 249, 211, 223, 137, 215, 151,
+ 21, 112, 249, 211, 223, 137, 215, 151, 21, 170, 249, 211, 223, 137, 215,
+ 151, 21, 167, 249, 211, 223, 137, 215, 151, 21, 185, 249, 211, 223, 137,
+ 215, 151, 21, 192, 249, 211, 223, 137, 215, 151, 21, 200, 249, 211, 223,
+ 137, 215, 151, 21, 198, 249, 211, 223, 137, 215, 151, 21, 203, 249, 211,
+ 223, 137, 217, 209, 21, 118, 249, 211, 223, 137, 217, 209, 21, 112, 249,
+ 211, 223, 137, 217, 209, 21, 170, 249, 211, 223, 137, 217, 209, 21, 167,
+ 249, 211, 223, 137, 217, 209, 21, 185, 249, 211, 223, 137, 217, 209, 21,
+ 192, 249, 211, 223, 137, 217, 209, 21, 200, 249, 211, 223, 137, 217, 209,
+ 21, 198, 249, 211, 223, 137, 217, 209, 21, 203, 14, 23, 6, 63, 14, 23, 6,
+ 253, 201, 14, 23, 6, 251, 121, 14, 23, 6, 249, 125, 14, 23, 6, 77, 14,
+ 23, 6, 245, 95, 14, 23, 6, 244, 41, 14, 23, 6, 242, 162, 14, 23, 6, 75,
+ 14, 23, 6, 236, 3, 14, 23, 6, 235, 141, 14, 23, 6, 155, 14, 23, 6, 184,
+ 14, 23, 6, 206, 14, 23, 6, 78, 14, 23, 6, 227, 11, 14, 23, 6, 225, 19,
+ 14, 23, 6, 152, 14, 23, 6, 196, 14, 23, 6, 218, 113, 14, 23, 6, 72, 14,
+ 23, 6, 211, 211, 14, 23, 6, 214, 85, 14, 23, 6, 213, 169, 14, 23, 6, 213,
+ 108, 14, 23, 6, 212, 152, 14, 23, 4, 63, 14, 23, 4, 253, 201, 14, 23, 4,
+ 251, 121, 14, 23, 4, 249, 125, 14, 23, 4, 77, 14, 23, 4, 245, 95, 14, 23,
+ 4, 244, 41, 14, 23, 4, 242, 162, 14, 23, 4, 75, 14, 23, 4, 236, 3, 14,
+ 23, 4, 235, 141, 14, 23, 4, 155, 14, 23, 4, 184, 14, 23, 4, 206, 14, 23,
+ 4, 78, 14, 23, 4, 227, 11, 14, 23, 4, 225, 19, 14, 23, 4, 152, 14, 23, 4,
+ 196, 14, 23, 4, 218, 113, 14, 23, 4, 72, 14, 23, 4, 211, 211, 14, 23, 4,
+ 214, 85, 14, 23, 4, 213, 169, 14, 23, 4, 213, 108, 14, 23, 4, 212, 152,
+ 14, 32, 6, 63, 14, 32, 6, 253, 201, 14, 32, 6, 251, 121, 14, 32, 6, 249,
+ 125, 14, 32, 6, 77, 14, 32, 6, 245, 95, 14, 32, 6, 244, 41, 14, 32, 6,
+ 242, 162, 14, 32, 6, 75, 14, 32, 6, 236, 3, 14, 32, 6, 235, 141, 14, 32,
+ 6, 155, 14, 32, 6, 184, 14, 32, 6, 206, 14, 32, 6, 78, 14, 32, 6, 227,
+ 11, 14, 32, 6, 225, 19, 14, 32, 6, 152, 14, 32, 6, 196, 14, 32, 6, 218,
+ 113, 14, 32, 6, 72, 14, 32, 6, 211, 211, 14, 32, 6, 214, 85, 14, 32, 6,
+ 213, 169, 14, 32, 6, 213, 108, 14, 32, 6, 212, 152, 14, 32, 4, 63, 14,
+ 32, 4, 253, 201, 14, 32, 4, 251, 121, 14, 32, 4, 249, 125, 14, 32, 4, 77,
+ 14, 32, 4, 245, 95, 14, 32, 4, 244, 41, 14, 32, 4, 75, 14, 32, 4, 236, 3,
+ 14, 32, 4, 235, 141, 14, 32, 4, 155, 14, 32, 4, 184, 14, 32, 4, 206, 14,
+ 32, 4, 78, 14, 32, 4, 227, 11, 14, 32, 4, 225, 19, 14, 32, 4, 152, 14,
+ 32, 4, 196, 14, 32, 4, 218, 113, 14, 32, 4, 72, 14, 32, 4, 211, 211, 14,
+ 32, 4, 214, 85, 14, 32, 4, 213, 169, 14, 32, 4, 213, 108, 14, 32, 4, 212,
+ 152, 14, 23, 32, 6, 63, 14, 23, 32, 6, 253, 201, 14, 23, 32, 6, 251, 121,
+ 14, 23, 32, 6, 249, 125, 14, 23, 32, 6, 77, 14, 23, 32, 6, 245, 95, 14,
+ 23, 32, 6, 244, 41, 14, 23, 32, 6, 242, 162, 14, 23, 32, 6, 75, 14, 23,
+ 32, 6, 236, 3, 14, 23, 32, 6, 235, 141, 14, 23, 32, 6, 155, 14, 23, 32,
+ 6, 184, 14, 23, 32, 6, 206, 14, 23, 32, 6, 78, 14, 23, 32, 6, 227, 11,
+ 14, 23, 32, 6, 225, 19, 14, 23, 32, 6, 152, 14, 23, 32, 6, 196, 14, 23,
+ 32, 6, 218, 113, 14, 23, 32, 6, 72, 14, 23, 32, 6, 211, 211, 14, 23, 32,
+ 6, 214, 85, 14, 23, 32, 6, 213, 169, 14, 23, 32, 6, 213, 108, 14, 23, 32,
+ 6, 212, 152, 14, 23, 32, 4, 63, 14, 23, 32, 4, 253, 201, 14, 23, 32, 4,
+ 251, 121, 14, 23, 32, 4, 249, 125, 14, 23, 32, 4, 77, 14, 23, 32, 4, 245,
+ 95, 14, 23, 32, 4, 244, 41, 14, 23, 32, 4, 242, 162, 14, 23, 32, 4, 75,
+ 14, 23, 32, 4, 236, 3, 14, 23, 32, 4, 235, 141, 14, 23, 32, 4, 155, 14,
+ 23, 32, 4, 184, 14, 23, 32, 4, 206, 14, 23, 32, 4, 78, 14, 23, 32, 4,
+ 227, 11, 14, 23, 32, 4, 225, 19, 14, 23, 32, 4, 152, 14, 23, 32, 4, 196,
+ 14, 23, 32, 4, 218, 113, 14, 23, 32, 4, 72, 14, 23, 32, 4, 211, 211, 14,
+ 23, 32, 4, 214, 85, 14, 23, 32, 4, 213, 169, 14, 23, 32, 4, 213, 108, 14,
+ 23, 32, 4, 212, 152, 14, 115, 6, 63, 14, 115, 6, 251, 121, 14, 115, 6,
+ 249, 125, 14, 115, 6, 244, 41, 14, 115, 6, 236, 3, 14, 115, 6, 235, 141,
+ 14, 115, 6, 206, 14, 115, 6, 78, 14, 115, 6, 227, 11, 14, 115, 6, 225,
+ 19, 14, 115, 6, 196, 14, 115, 6, 218, 113, 14, 115, 6, 72, 14, 115, 6,
+ 211, 211, 14, 115, 6, 214, 85, 14, 115, 6, 213, 169, 14, 115, 6, 213,
+ 108, 14, 115, 6, 212, 152, 14, 115, 4, 63, 14, 115, 4, 253, 201, 14, 115,
+ 4, 251, 121, 14, 115, 4, 249, 125, 14, 115, 4, 245, 95, 14, 115, 4, 242,
+ 162, 14, 115, 4, 75, 14, 115, 4, 236, 3, 14, 115, 4, 235, 141, 14, 115,
+ 4, 155, 14, 115, 4, 184, 14, 115, 4, 206, 14, 115, 4, 227, 11, 14, 115,
+ 4, 225, 19, 14, 115, 4, 152, 14, 115, 4, 196, 14, 115, 4, 218, 113, 14,
+ 115, 4, 72, 14, 115, 4, 211, 211, 14, 115, 4, 214, 85, 14, 115, 4, 213,
+ 169, 14, 115, 4, 213, 108, 14, 115, 4, 212, 152, 14, 23, 115, 6, 63, 14,
+ 23, 115, 6, 253, 201, 14, 23, 115, 6, 251, 121, 14, 23, 115, 6, 249, 125,
+ 14, 23, 115, 6, 77, 14, 23, 115, 6, 245, 95, 14, 23, 115, 6, 244, 41, 14,
+ 23, 115, 6, 242, 162, 14, 23, 115, 6, 75, 14, 23, 115, 6, 236, 3, 14, 23,
+ 115, 6, 235, 141, 14, 23, 115, 6, 155, 14, 23, 115, 6, 184, 14, 23, 115,
+ 6, 206, 14, 23, 115, 6, 78, 14, 23, 115, 6, 227, 11, 14, 23, 115, 6, 225,
+ 19, 14, 23, 115, 6, 152, 14, 23, 115, 6, 196, 14, 23, 115, 6, 218, 113,
+ 14, 23, 115, 6, 72, 14, 23, 115, 6, 211, 211, 14, 23, 115, 6, 214, 85,
+ 14, 23, 115, 6, 213, 169, 14, 23, 115, 6, 213, 108, 14, 23, 115, 6, 212,
+ 152, 14, 23, 115, 4, 63, 14, 23, 115, 4, 253, 201, 14, 23, 115, 4, 251,
+ 121, 14, 23, 115, 4, 249, 125, 14, 23, 115, 4, 77, 14, 23, 115, 4, 245,
+ 95, 14, 23, 115, 4, 244, 41, 14, 23, 115, 4, 242, 162, 14, 23, 115, 4,
+ 75, 14, 23, 115, 4, 236, 3, 14, 23, 115, 4, 235, 141, 14, 23, 115, 4,
+ 155, 14, 23, 115, 4, 184, 14, 23, 115, 4, 206, 14, 23, 115, 4, 78, 14,
+ 23, 115, 4, 227, 11, 14, 23, 115, 4, 225, 19, 14, 23, 115, 4, 152, 14,
+ 23, 115, 4, 196, 14, 23, 115, 4, 218, 113, 14, 23, 115, 4, 72, 14, 23,
+ 115, 4, 211, 211, 14, 23, 115, 4, 214, 85, 14, 23, 115, 4, 213, 169, 14,
+ 23, 115, 4, 213, 108, 14, 23, 115, 4, 212, 152, 14, 131, 6, 63, 14, 131,
+ 6, 253, 201, 14, 131, 6, 249, 125, 14, 131, 6, 77, 14, 131, 6, 245, 95,
+ 14, 131, 6, 244, 41, 14, 131, 6, 236, 3, 14, 131, 6, 235, 141, 14, 131,
+ 6, 155, 14, 131, 6, 184, 14, 131, 6, 206, 14, 131, 6, 78, 14, 131, 6,
+ 227, 11, 14, 131, 6, 225, 19, 14, 131, 6, 196, 14, 131, 6, 218, 113, 14,
+ 131, 6, 72, 14, 131, 6, 211, 211, 14, 131, 6, 214, 85, 14, 131, 6, 213,
+ 169, 14, 131, 6, 213, 108, 14, 131, 4, 63, 14, 131, 4, 253, 201, 14, 131,
+ 4, 251, 121, 14, 131, 4, 249, 125, 14, 131, 4, 77, 14, 131, 4, 245, 95,
+ 14, 131, 4, 244, 41, 14, 131, 4, 242, 162, 14, 131, 4, 75, 14, 131, 4,
+ 236, 3, 14, 131, 4, 235, 141, 14, 131, 4, 155, 14, 131, 4, 184, 14, 131,
+ 4, 206, 14, 131, 4, 78, 14, 131, 4, 227, 11, 14, 131, 4, 225, 19, 14,
+ 131, 4, 152, 14, 131, 4, 196, 14, 131, 4, 218, 113, 14, 131, 4, 72, 14,
+ 131, 4, 211, 211, 14, 131, 4, 214, 85, 14, 131, 4, 213, 169, 14, 131, 4,
+ 213, 108, 14, 131, 4, 212, 152, 14, 190, 6, 63, 14, 190, 6, 253, 201, 14,
+ 190, 6, 249, 125, 14, 190, 6, 77, 14, 190, 6, 245, 95, 14, 190, 6, 244,
+ 41, 14, 190, 6, 75, 14, 190, 6, 236, 3, 14, 190, 6, 235, 141, 14, 190, 6,
+ 155, 14, 190, 6, 184, 14, 190, 6, 78, 14, 190, 6, 196, 14, 190, 6, 218,
+ 113, 14, 190, 6, 72, 14, 190, 6, 211, 211, 14, 190, 6, 214, 85, 14, 190,
+ 6, 213, 169, 14, 190, 6, 213, 108, 14, 190, 4, 63, 14, 190, 4, 253, 201,
+ 14, 190, 4, 251, 121, 14, 190, 4, 249, 125, 14, 190, 4, 77, 14, 190, 4,
+ 245, 95, 14, 190, 4, 244, 41, 14, 190, 4, 242, 162, 14, 190, 4, 75, 14,
+ 190, 4, 236, 3, 14, 190, 4, 235, 141, 14, 190, 4, 155, 14, 190, 4, 184,
+ 14, 190, 4, 206, 14, 190, 4, 78, 14, 190, 4, 227, 11, 14, 190, 4, 225,
+ 19, 14, 190, 4, 152, 14, 190, 4, 196, 14, 190, 4, 218, 113, 14, 190, 4,
+ 72, 14, 190, 4, 211, 211, 14, 190, 4, 214, 85, 14, 190, 4, 213, 169, 14,
+ 190, 4, 213, 108, 14, 190, 4, 212, 152, 14, 23, 131, 6, 63, 14, 23, 131,
+ 6, 253, 201, 14, 23, 131, 6, 251, 121, 14, 23, 131, 6, 249, 125, 14, 23,
+ 131, 6, 77, 14, 23, 131, 6, 245, 95, 14, 23, 131, 6, 244, 41, 14, 23,
+ 131, 6, 242, 162, 14, 23, 131, 6, 75, 14, 23, 131, 6, 236, 3, 14, 23,
+ 131, 6, 235, 141, 14, 23, 131, 6, 155, 14, 23, 131, 6, 184, 14, 23, 131,
+ 6, 206, 14, 23, 131, 6, 78, 14, 23, 131, 6, 227, 11, 14, 23, 131, 6, 225,
+ 19, 14, 23, 131, 6, 152, 14, 23, 131, 6, 196, 14, 23, 131, 6, 218, 113,
+ 14, 23, 131, 6, 72, 14, 23, 131, 6, 211, 211, 14, 23, 131, 6, 214, 85,
+ 14, 23, 131, 6, 213, 169, 14, 23, 131, 6, 213, 108, 14, 23, 131, 6, 212,
+ 152, 14, 23, 131, 4, 63, 14, 23, 131, 4, 253, 201, 14, 23, 131, 4, 251,
+ 121, 14, 23, 131, 4, 249, 125, 14, 23, 131, 4, 77, 14, 23, 131, 4, 245,
+ 95, 14, 23, 131, 4, 244, 41, 14, 23, 131, 4, 242, 162, 14, 23, 131, 4,
+ 75, 14, 23, 131, 4, 236, 3, 14, 23, 131, 4, 235, 141, 14, 23, 131, 4,
+ 155, 14, 23, 131, 4, 184, 14, 23, 131, 4, 206, 14, 23, 131, 4, 78, 14,
+ 23, 131, 4, 227, 11, 14, 23, 131, 4, 225, 19, 14, 23, 131, 4, 152, 14,
+ 23, 131, 4, 196, 14, 23, 131, 4, 218, 113, 14, 23, 131, 4, 72, 14, 23,
+ 131, 4, 211, 211, 14, 23, 131, 4, 214, 85, 14, 23, 131, 4, 213, 169, 14,
+ 23, 131, 4, 213, 108, 14, 23, 131, 4, 212, 152, 14, 35, 6, 63, 14, 35, 6,
+ 253, 201, 14, 35, 6, 251, 121, 14, 35, 6, 249, 125, 14, 35, 6, 77, 14,
+ 35, 6, 245, 95, 14, 35, 6, 244, 41, 14, 35, 6, 242, 162, 14, 35, 6, 75,
+ 14, 35, 6, 236, 3, 14, 35, 6, 235, 141, 14, 35, 6, 155, 14, 35, 6, 184,
+ 14, 35, 6, 206, 14, 35, 6, 78, 14, 35, 6, 227, 11, 14, 35, 6, 225, 19,
+ 14, 35, 6, 152, 14, 35, 6, 196, 14, 35, 6, 218, 113, 14, 35, 6, 72, 14,
+ 35, 6, 211, 211, 14, 35, 6, 214, 85, 14, 35, 6, 213, 169, 14, 35, 6, 213,
+ 108, 14, 35, 6, 212, 152, 14, 35, 4, 63, 14, 35, 4, 253, 201, 14, 35, 4,
+ 251, 121, 14, 35, 4, 249, 125, 14, 35, 4, 77, 14, 35, 4, 245, 95, 14, 35,
+ 4, 244, 41, 14, 35, 4, 242, 162, 14, 35, 4, 75, 14, 35, 4, 236, 3, 14,
+ 35, 4, 235, 141, 14, 35, 4, 155, 14, 35, 4, 184, 14, 35, 4, 206, 14, 35,
+ 4, 78, 14, 35, 4, 227, 11, 14, 35, 4, 225, 19, 14, 35, 4, 152, 14, 35, 4,
+ 196, 14, 35, 4, 218, 113, 14, 35, 4, 72, 14, 35, 4, 211, 211, 14, 35, 4,
+ 214, 85, 14, 35, 4, 213, 169, 14, 35, 4, 213, 108, 14, 35, 4, 212, 152,
+ 14, 35, 23, 6, 63, 14, 35, 23, 6, 253, 201, 14, 35, 23, 6, 251, 121, 14,
+ 35, 23, 6, 249, 125, 14, 35, 23, 6, 77, 14, 35, 23, 6, 245, 95, 14, 35,
+ 23, 6, 244, 41, 14, 35, 23, 6, 242, 162, 14, 35, 23, 6, 75, 14, 35, 23,
+ 6, 236, 3, 14, 35, 23, 6, 235, 141, 14, 35, 23, 6, 155, 14, 35, 23, 6,
+ 184, 14, 35, 23, 6, 206, 14, 35, 23, 6, 78, 14, 35, 23, 6, 227, 11, 14,
+ 35, 23, 6, 225, 19, 14, 35, 23, 6, 152, 14, 35, 23, 6, 196, 14, 35, 23,
+ 6, 218, 113, 14, 35, 23, 6, 72, 14, 35, 23, 6, 211, 211, 14, 35, 23, 6,
+ 214, 85, 14, 35, 23, 6, 213, 169, 14, 35, 23, 6, 213, 108, 14, 35, 23, 6,
+ 212, 152, 14, 35, 23, 4, 63, 14, 35, 23, 4, 253, 201, 14, 35, 23, 4, 251,
+ 121, 14, 35, 23, 4, 249, 125, 14, 35, 23, 4, 77, 14, 35, 23, 4, 245, 95,
+ 14, 35, 23, 4, 244, 41, 14, 35, 23, 4, 242, 162, 14, 35, 23, 4, 75, 14,
+ 35, 23, 4, 236, 3, 14, 35, 23, 4, 235, 141, 14, 35, 23, 4, 155, 14, 35,
+ 23, 4, 184, 14, 35, 23, 4, 206, 14, 35, 23, 4, 78, 14, 35, 23, 4, 227,
+ 11, 14, 35, 23, 4, 225, 19, 14, 35, 23, 4, 152, 14, 35, 23, 4, 196, 14,
+ 35, 23, 4, 218, 113, 14, 35, 23, 4, 72, 14, 35, 23, 4, 211, 211, 14, 35,
+ 23, 4, 214, 85, 14, 35, 23, 4, 213, 169, 14, 35, 23, 4, 213, 108, 14, 35,
+ 23, 4, 212, 152, 14, 35, 32, 6, 63, 14, 35, 32, 6, 253, 201, 14, 35, 32,
+ 6, 251, 121, 14, 35, 32, 6, 249, 125, 14, 35, 32, 6, 77, 14, 35, 32, 6,
+ 245, 95, 14, 35, 32, 6, 244, 41, 14, 35, 32, 6, 242, 162, 14, 35, 32, 6,
+ 75, 14, 35, 32, 6, 236, 3, 14, 35, 32, 6, 235, 141, 14, 35, 32, 6, 155,
+ 14, 35, 32, 6, 184, 14, 35, 32, 6, 206, 14, 35, 32, 6, 78, 14, 35, 32, 6,
+ 227, 11, 14, 35, 32, 6, 225, 19, 14, 35, 32, 6, 152, 14, 35, 32, 6, 196,
+ 14, 35, 32, 6, 218, 113, 14, 35, 32, 6, 72, 14, 35, 32, 6, 211, 211, 14,
+ 35, 32, 6, 214, 85, 14, 35, 32, 6, 213, 169, 14, 35, 32, 6, 213, 108, 14,
+ 35, 32, 6, 212, 152, 14, 35, 32, 4, 63, 14, 35, 32, 4, 253, 201, 14, 35,
+ 32, 4, 251, 121, 14, 35, 32, 4, 249, 125, 14, 35, 32, 4, 77, 14, 35, 32,
+ 4, 245, 95, 14, 35, 32, 4, 244, 41, 14, 35, 32, 4, 242, 162, 14, 35, 32,
+ 4, 75, 14, 35, 32, 4, 236, 3, 14, 35, 32, 4, 235, 141, 14, 35, 32, 4,
+ 155, 14, 35, 32, 4, 184, 14, 35, 32, 4, 206, 14, 35, 32, 4, 78, 14, 35,
+ 32, 4, 227, 11, 14, 35, 32, 4, 225, 19, 14, 35, 32, 4, 152, 14, 35, 32,
+ 4, 196, 14, 35, 32, 4, 218, 113, 14, 35, 32, 4, 72, 14, 35, 32, 4, 211,
+ 211, 14, 35, 32, 4, 214, 85, 14, 35, 32, 4, 213, 169, 14, 35, 32, 4, 213,
+ 108, 14, 35, 32, 4, 212, 152, 14, 35, 23, 32, 6, 63, 14, 35, 23, 32, 6,
+ 253, 201, 14, 35, 23, 32, 6, 251, 121, 14, 35, 23, 32, 6, 249, 125, 14,
+ 35, 23, 32, 6, 77, 14, 35, 23, 32, 6, 245, 95, 14, 35, 23, 32, 6, 244,
+ 41, 14, 35, 23, 32, 6, 242, 162, 14, 35, 23, 32, 6, 75, 14, 35, 23, 32,
+ 6, 236, 3, 14, 35, 23, 32, 6, 235, 141, 14, 35, 23, 32, 6, 155, 14, 35,
+ 23, 32, 6, 184, 14, 35, 23, 32, 6, 206, 14, 35, 23, 32, 6, 78, 14, 35,
+ 23, 32, 6, 227, 11, 14, 35, 23, 32, 6, 225, 19, 14, 35, 23, 32, 6, 152,
+ 14, 35, 23, 32, 6, 196, 14, 35, 23, 32, 6, 218, 113, 14, 35, 23, 32, 6,
+ 72, 14, 35, 23, 32, 6, 211, 211, 14, 35, 23, 32, 6, 214, 85, 14, 35, 23,
+ 32, 6, 213, 169, 14, 35, 23, 32, 6, 213, 108, 14, 35, 23, 32, 6, 212,
+ 152, 14, 35, 23, 32, 4, 63, 14, 35, 23, 32, 4, 253, 201, 14, 35, 23, 32,
+ 4, 251, 121, 14, 35, 23, 32, 4, 249, 125, 14, 35, 23, 32, 4, 77, 14, 35,
+ 23, 32, 4, 245, 95, 14, 35, 23, 32, 4, 244, 41, 14, 35, 23, 32, 4, 242,
+ 162, 14, 35, 23, 32, 4, 75, 14, 35, 23, 32, 4, 236, 3, 14, 35, 23, 32, 4,
+ 235, 141, 14, 35, 23, 32, 4, 155, 14, 35, 23, 32, 4, 184, 14, 35, 23, 32,
+ 4, 206, 14, 35, 23, 32, 4, 78, 14, 35, 23, 32, 4, 227, 11, 14, 35, 23,
+ 32, 4, 225, 19, 14, 35, 23, 32, 4, 152, 14, 35, 23, 32, 4, 196, 14, 35,
+ 23, 32, 4, 218, 113, 14, 35, 23, 32, 4, 72, 14, 35, 23, 32, 4, 211, 211,
+ 14, 35, 23, 32, 4, 214, 85, 14, 35, 23, 32, 4, 213, 169, 14, 35, 23, 32,
+ 4, 213, 108, 14, 35, 23, 32, 4, 212, 152, 14, 231, 22, 6, 63, 14, 231,
+ 22, 6, 253, 201, 14, 231, 22, 6, 251, 121, 14, 231, 22, 6, 249, 125, 14,
+ 231, 22, 6, 77, 14, 231, 22, 6, 245, 95, 14, 231, 22, 6, 244, 41, 14,
+ 231, 22, 6, 242, 162, 14, 231, 22, 6, 75, 14, 231, 22, 6, 236, 3, 14,
+ 231, 22, 6, 235, 141, 14, 231, 22, 6, 155, 14, 231, 22, 6, 184, 14, 231,
+ 22, 6, 206, 14, 231, 22, 6, 78, 14, 231, 22, 6, 227, 11, 14, 231, 22, 6,
+ 225, 19, 14, 231, 22, 6, 152, 14, 231, 22, 6, 196, 14, 231, 22, 6, 218,
+ 113, 14, 231, 22, 6, 72, 14, 231, 22, 6, 211, 211, 14, 231, 22, 6, 214,
+ 85, 14, 231, 22, 6, 213, 169, 14, 231, 22, 6, 213, 108, 14, 231, 22, 6,
+ 212, 152, 14, 231, 22, 4, 63, 14, 231, 22, 4, 253, 201, 14, 231, 22, 4,
+ 251, 121, 14, 231, 22, 4, 249, 125, 14, 231, 22, 4, 77, 14, 231, 22, 4,
+ 245, 95, 14, 231, 22, 4, 244, 41, 14, 231, 22, 4, 242, 162, 14, 231, 22,
+ 4, 75, 14, 231, 22, 4, 236, 3, 14, 231, 22, 4, 235, 141, 14, 231, 22, 4,
+ 155, 14, 231, 22, 4, 184, 14, 231, 22, 4, 206, 14, 231, 22, 4, 78, 14,
+ 231, 22, 4, 227, 11, 14, 231, 22, 4, 225, 19, 14, 231, 22, 4, 152, 14,
+ 231, 22, 4, 196, 14, 231, 22, 4, 218, 113, 14, 231, 22, 4, 72, 14, 231,
+ 22, 4, 211, 211, 14, 231, 22, 4, 214, 85, 14, 231, 22, 4, 213, 169, 14,
+ 231, 22, 4, 213, 108, 14, 231, 22, 4, 212, 152, 14, 32, 4, 247, 194, 75,
+ 14, 32, 4, 247, 194, 236, 3, 14, 23, 6, 254, 179, 14, 23, 6, 252, 73, 14,
+ 23, 6, 243, 203, 14, 23, 6, 248, 126, 14, 23, 6, 245, 184, 14, 23, 6,
+ 212, 78, 14, 23, 6, 245, 149, 14, 23, 6, 217, 145, 14, 23, 6, 236, 44,
+ 14, 23, 6, 235, 84, 14, 23, 6, 233, 220, 14, 23, 6, 230, 242, 14, 23, 6,
+ 228, 135, 14, 23, 6, 213, 148, 14, 23, 6, 227, 102, 14, 23, 6, 226, 20,
+ 14, 23, 6, 223, 224, 14, 23, 6, 217, 146, 88, 14, 23, 6, 220, 122, 14,
+ 23, 6, 218, 5, 14, 23, 6, 215, 134, 14, 23, 6, 226, 45, 14, 23, 6, 250,
+ 170, 14, 23, 6, 225, 82, 14, 23, 6, 227, 104, 14, 23, 230, 108, 14, 23,
+ 4, 254, 179, 14, 23, 4, 252, 73, 14, 23, 4, 243, 203, 14, 23, 4, 248,
+ 126, 14, 23, 4, 245, 184, 14, 23, 4, 212, 78, 14, 23, 4, 245, 149, 14,
+ 23, 4, 217, 145, 14, 23, 4, 236, 44, 14, 23, 4, 235, 84, 14, 23, 4, 233,
+ 220, 14, 23, 4, 230, 242, 14, 23, 4, 228, 135, 14, 23, 4, 213, 148, 14,
+ 23, 4, 227, 102, 14, 23, 4, 226, 20, 14, 23, 4, 223, 224, 14, 23, 4, 41,
+ 220, 122, 14, 23, 4, 220, 122, 14, 23, 4, 218, 5, 14, 23, 4, 215, 134,
+ 14, 23, 4, 226, 45, 14, 23, 4, 250, 170, 14, 23, 4, 225, 82, 14, 23, 4,
+ 227, 104, 14, 23, 226, 162, 248, 50, 14, 23, 245, 185, 88, 14, 23, 217,
+ 146, 88, 14, 23, 235, 85, 88, 14, 23, 226, 46, 88, 14, 23, 223, 225, 88,
+ 14, 23, 226, 21, 88, 14, 32, 6, 254, 179, 14, 32, 6, 252, 73, 14, 32, 6,
+ 243, 203, 14, 32, 6, 248, 126, 14, 32, 6, 245, 184, 14, 32, 6, 212, 78,
+ 14, 32, 6, 245, 149, 14, 32, 6, 217, 145, 14, 32, 6, 236, 44, 14, 32, 6,
+ 235, 84, 14, 32, 6, 233, 220, 14, 32, 6, 230, 242, 14, 32, 6, 228, 135,
+ 14, 32, 6, 213, 148, 14, 32, 6, 227, 102, 14, 32, 6, 226, 20, 14, 32, 6,
+ 223, 224, 14, 32, 6, 217, 146, 88, 14, 32, 6, 220, 122, 14, 32, 6, 218,
+ 5, 14, 32, 6, 215, 134, 14, 32, 6, 226, 45, 14, 32, 6, 250, 170, 14, 32,
+ 6, 225, 82, 14, 32, 6, 227, 104, 14, 32, 230, 108, 14, 32, 4, 254, 179,
+ 14, 32, 4, 252, 73, 14, 32, 4, 243, 203, 14, 32, 4, 248, 126, 14, 32, 4,
+ 245, 184, 14, 32, 4, 212, 78, 14, 32, 4, 245, 149, 14, 32, 4, 217, 145,
+ 14, 32, 4, 236, 44, 14, 32, 4, 235, 84, 14, 32, 4, 233, 220, 14, 32, 4,
+ 230, 242, 14, 32, 4, 228, 135, 14, 32, 4, 213, 148, 14, 32, 4, 227, 102,
+ 14, 32, 4, 226, 20, 14, 32, 4, 223, 224, 14, 32, 4, 41, 220, 122, 14, 32,
+ 4, 220, 122, 14, 32, 4, 218, 5, 14, 32, 4, 215, 134, 14, 32, 4, 226, 45,
+ 14, 32, 4, 250, 170, 14, 32, 4, 225, 82, 14, 32, 4, 227, 104, 14, 32,
+ 226, 162, 248, 50, 14, 32, 245, 185, 88, 14, 32, 217, 146, 88, 14, 32,
+ 235, 85, 88, 14, 32, 226, 46, 88, 14, 32, 223, 225, 88, 14, 32, 226, 21,
+ 88, 14, 23, 32, 6, 254, 179, 14, 23, 32, 6, 252, 73, 14, 23, 32, 6, 243,
+ 203, 14, 23, 32, 6, 248, 126, 14, 23, 32, 6, 245, 184, 14, 23, 32, 6,
+ 212, 78, 14, 23, 32, 6, 245, 149, 14, 23, 32, 6, 217, 145, 14, 23, 32, 6,
+ 236, 44, 14, 23, 32, 6, 235, 84, 14, 23, 32, 6, 233, 220, 14, 23, 32, 6,
+ 230, 242, 14, 23, 32, 6, 228, 135, 14, 23, 32, 6, 213, 148, 14, 23, 32,
+ 6, 227, 102, 14, 23, 32, 6, 226, 20, 14, 23, 32, 6, 223, 224, 14, 23, 32,
+ 6, 217, 146, 88, 14, 23, 32, 6, 220, 122, 14, 23, 32, 6, 218, 5, 14, 23,
+ 32, 6, 215, 134, 14, 23, 32, 6, 226, 45, 14, 23, 32, 6, 250, 170, 14, 23,
+ 32, 6, 225, 82, 14, 23, 32, 6, 227, 104, 14, 23, 32, 230, 108, 14, 23,
+ 32, 4, 254, 179, 14, 23, 32, 4, 252, 73, 14, 23, 32, 4, 243, 203, 14, 23,
+ 32, 4, 248, 126, 14, 23, 32, 4, 245, 184, 14, 23, 32, 4, 212, 78, 14, 23,
+ 32, 4, 245, 149, 14, 23, 32, 4, 217, 145, 14, 23, 32, 4, 236, 44, 14, 23,
+ 32, 4, 235, 84, 14, 23, 32, 4, 233, 220, 14, 23, 32, 4, 230, 242, 14, 23,
+ 32, 4, 228, 135, 14, 23, 32, 4, 213, 148, 14, 23, 32, 4, 227, 102, 14,
+ 23, 32, 4, 226, 20, 14, 23, 32, 4, 223, 224, 14, 23, 32, 4, 41, 220, 122,
+ 14, 23, 32, 4, 220, 122, 14, 23, 32, 4, 218, 5, 14, 23, 32, 4, 215, 134,
+ 14, 23, 32, 4, 226, 45, 14, 23, 32, 4, 250, 170, 14, 23, 32, 4, 225, 82,
+ 14, 23, 32, 4, 227, 104, 14, 23, 32, 226, 162, 248, 50, 14, 23, 32, 245,
+ 185, 88, 14, 23, 32, 217, 146, 88, 14, 23, 32, 235, 85, 88, 14, 23, 32,
+ 226, 46, 88, 14, 23, 32, 223, 225, 88, 14, 23, 32, 226, 21, 88, 14, 35,
+ 23, 6, 254, 179, 14, 35, 23, 6, 252, 73, 14, 35, 23, 6, 243, 203, 14, 35,
+ 23, 6, 248, 126, 14, 35, 23, 6, 245, 184, 14, 35, 23, 6, 212, 78, 14, 35,
+ 23, 6, 245, 149, 14, 35, 23, 6, 217, 145, 14, 35, 23, 6, 236, 44, 14, 35,
+ 23, 6, 235, 84, 14, 35, 23, 6, 233, 220, 14, 35, 23, 6, 230, 242, 14, 35,
+ 23, 6, 228, 135, 14, 35, 23, 6, 213, 148, 14, 35, 23, 6, 227, 102, 14,
+ 35, 23, 6, 226, 20, 14, 35, 23, 6, 223, 224, 14, 35, 23, 6, 217, 146, 88,
+ 14, 35, 23, 6, 220, 122, 14, 35, 23, 6, 218, 5, 14, 35, 23, 6, 215, 134,
+ 14, 35, 23, 6, 226, 45, 14, 35, 23, 6, 250, 170, 14, 35, 23, 6, 225, 82,
+ 14, 35, 23, 6, 227, 104, 14, 35, 23, 230, 108, 14, 35, 23, 4, 254, 179,
+ 14, 35, 23, 4, 252, 73, 14, 35, 23, 4, 243, 203, 14, 35, 23, 4, 248, 126,
+ 14, 35, 23, 4, 245, 184, 14, 35, 23, 4, 212, 78, 14, 35, 23, 4, 245, 149,
+ 14, 35, 23, 4, 217, 145, 14, 35, 23, 4, 236, 44, 14, 35, 23, 4, 235, 84,
+ 14, 35, 23, 4, 233, 220, 14, 35, 23, 4, 230, 242, 14, 35, 23, 4, 228,
+ 135, 14, 35, 23, 4, 213, 148, 14, 35, 23, 4, 227, 102, 14, 35, 23, 4,
+ 226, 20, 14, 35, 23, 4, 223, 224, 14, 35, 23, 4, 41, 220, 122, 14, 35,
+ 23, 4, 220, 122, 14, 35, 23, 4, 218, 5, 14, 35, 23, 4, 215, 134, 14, 35,
+ 23, 4, 226, 45, 14, 35, 23, 4, 250, 170, 14, 35, 23, 4, 225, 82, 14, 35,
+ 23, 4, 227, 104, 14, 35, 23, 226, 162, 248, 50, 14, 35, 23, 245, 185, 88,
+ 14, 35, 23, 217, 146, 88, 14, 35, 23, 235, 85, 88, 14, 35, 23, 226, 46,
+ 88, 14, 35, 23, 223, 225, 88, 14, 35, 23, 226, 21, 88, 14, 35, 23, 32, 6,
+ 254, 179, 14, 35, 23, 32, 6, 252, 73, 14, 35, 23, 32, 6, 243, 203, 14,
+ 35, 23, 32, 6, 248, 126, 14, 35, 23, 32, 6, 245, 184, 14, 35, 23, 32, 6,
+ 212, 78, 14, 35, 23, 32, 6, 245, 149, 14, 35, 23, 32, 6, 217, 145, 14,
+ 35, 23, 32, 6, 236, 44, 14, 35, 23, 32, 6, 235, 84, 14, 35, 23, 32, 6,
+ 233, 220, 14, 35, 23, 32, 6, 230, 242, 14, 35, 23, 32, 6, 228, 135, 14,
+ 35, 23, 32, 6, 213, 148, 14, 35, 23, 32, 6, 227, 102, 14, 35, 23, 32, 6,
+ 226, 20, 14, 35, 23, 32, 6, 223, 224, 14, 35, 23, 32, 6, 217, 146, 88,
+ 14, 35, 23, 32, 6, 220, 122, 14, 35, 23, 32, 6, 218, 5, 14, 35, 23, 32,
+ 6, 215, 134, 14, 35, 23, 32, 6, 226, 45, 14, 35, 23, 32, 6, 250, 170, 14,
+ 35, 23, 32, 6, 225, 82, 14, 35, 23, 32, 6, 227, 104, 14, 35, 23, 32, 230,
+ 108, 14, 35, 23, 32, 4, 254, 179, 14, 35, 23, 32, 4, 252, 73, 14, 35, 23,
+ 32, 4, 243, 203, 14, 35, 23, 32, 4, 248, 126, 14, 35, 23, 32, 4, 245,
+ 184, 14, 35, 23, 32, 4, 212, 78, 14, 35, 23, 32, 4, 245, 149, 14, 35, 23,
+ 32, 4, 217, 145, 14, 35, 23, 32, 4, 236, 44, 14, 35, 23, 32, 4, 235, 84,
+ 14, 35, 23, 32, 4, 233, 220, 14, 35, 23, 32, 4, 230, 242, 14, 35, 23, 32,
+ 4, 228, 135, 14, 35, 23, 32, 4, 213, 148, 14, 35, 23, 32, 4, 227, 102,
+ 14, 35, 23, 32, 4, 226, 20, 14, 35, 23, 32, 4, 223, 224, 14, 35, 23, 32,
+ 4, 41, 220, 122, 14, 35, 23, 32, 4, 220, 122, 14, 35, 23, 32, 4, 218, 5,
+ 14, 35, 23, 32, 4, 215, 134, 14, 35, 23, 32, 4, 226, 45, 14, 35, 23, 32,
+ 4, 250, 170, 14, 35, 23, 32, 4, 225, 82, 14, 35, 23, 32, 4, 227, 104, 14,
+ 35, 23, 32, 226, 162, 248, 50, 14, 35, 23, 32, 245, 185, 88, 14, 35, 23,
+ 32, 217, 146, 88, 14, 35, 23, 32, 235, 85, 88, 14, 35, 23, 32, 226, 46,
+ 88, 14, 35, 23, 32, 223, 225, 88, 14, 35, 23, 32, 226, 21, 88, 14, 23, 6,
+ 248, 44, 14, 23, 4, 248, 44, 14, 23, 21, 212, 79, 14, 23, 21, 118, 14,
+ 23, 21, 112, 14, 23, 21, 170, 14, 23, 21, 167, 14, 23, 21, 185, 14, 23,
+ 21, 192, 14, 23, 21, 200, 14, 23, 21, 198, 14, 23, 21, 203, 14, 190, 21,
+ 212, 79, 14, 190, 21, 118, 14, 190, 21, 112, 14, 190, 21, 170, 14, 190,
+ 21, 167, 14, 190, 21, 185, 14, 190, 21, 192, 14, 190, 21, 200, 14, 190,
+ 21, 198, 14, 190, 21, 203, 14, 35, 21, 212, 79, 14, 35, 21, 118, 14, 35,
+ 21, 112, 14, 35, 21, 170, 14, 35, 21, 167, 14, 35, 21, 185, 14, 35, 21,
+ 192, 14, 35, 21, 200, 14, 35, 21, 198, 14, 35, 21, 203, 14, 35, 23, 21,
+ 212, 79, 14, 35, 23, 21, 118, 14, 35, 23, 21, 112, 14, 35, 23, 21, 170,
+ 14, 35, 23, 21, 167, 14, 35, 23, 21, 185, 14, 35, 23, 21, 192, 14, 35,
+ 23, 21, 200, 14, 35, 23, 21, 198, 14, 35, 23, 21, 203, 14, 231, 22, 21,
+ 212, 79, 14, 231, 22, 21, 118, 14, 231, 22, 21, 112, 14, 231, 22, 21,
+ 170, 14, 231, 22, 21, 167, 14, 231, 22, 21, 185, 14, 231, 22, 21, 192,
+ 14, 231, 22, 21, 200, 14, 231, 22, 21, 198, 14, 231, 22, 21, 203, 232,
+ 83, 86, 246, 41, 213, 227, 232, 83, 86, 219, 234, 213, 227, 232, 83, 86,
+ 213, 253, 213, 227, 232, 83, 86, 228, 210, 213, 227, 232, 83, 86, 224,
+ 38, 246, 171, 232, 83, 86, 242, 225, 246, 171, 232, 83, 86, 69, 246, 171,
+ 232, 83, 86, 124, 68, 250, 200, 232, 83, 86, 119, 68, 250, 200, 232, 83,
+ 86, 137, 68, 250, 200, 232, 83, 86, 244, 101, 68, 250, 200, 232, 83, 86,
+ 244, 170, 68, 250, 200, 232, 83, 86, 220, 72, 68, 250, 200, 232, 83, 86,
+ 221, 66, 68, 250, 200, 232, 83, 86, 246, 15, 68, 250, 200, 232, 83, 86,
+ 229, 95, 68, 250, 200, 232, 83, 86, 124, 68, 252, 199, 232, 83, 86, 119,
+ 68, 252, 199, 232, 83, 86, 137, 68, 252, 199, 232, 83, 86, 244, 101, 68,
+ 252, 199, 232, 83, 86, 244, 170, 68, 252, 199, 232, 83, 86, 220, 72, 68,
+ 252, 199, 232, 83, 86, 221, 66, 68, 252, 199, 232, 83, 86, 246, 15, 68,
+ 252, 199, 232, 83, 86, 229, 95, 68, 252, 199, 232, 83, 86, 124, 68, 250,
+ 94, 232, 83, 86, 119, 68, 250, 94, 232, 83, 86, 137, 68, 250, 94, 232,
+ 83, 86, 244, 101, 68, 250, 94, 232, 83, 86, 244, 170, 68, 250, 94, 232,
+ 83, 86, 220, 72, 68, 250, 94, 232, 83, 86, 221, 66, 68, 250, 94, 232, 83,
+ 86, 246, 15, 68, 250, 94, 232, 83, 86, 229, 95, 68, 250, 94, 232, 83, 86,
+ 225, 195, 232, 83, 86, 227, 60, 232, 83, 86, 252, 200, 232, 83, 86, 250,
+ 130, 232, 83, 86, 219, 190, 232, 83, 86, 218, 254, 232, 83, 86, 253, 222,
+ 232, 83, 86, 213, 220, 232, 83, 86, 235, 179, 232, 83, 86, 252, 228, 129,
+ 86, 201, 252, 228, 129, 86, 241, 148, 129, 86, 241, 147, 129, 86, 241,
+ 146, 129, 86, 241, 145, 129, 86, 241, 144, 129, 86, 241, 143, 129, 86,
+ 241, 142, 129, 86, 241, 141, 129, 86, 241, 140, 129, 86, 241, 139, 129,
+ 86, 241, 138, 129, 86, 241, 137, 129, 86, 241, 136, 129, 86, 241, 135,
+ 129, 86, 241, 134, 129, 86, 241, 133, 129, 86, 241, 132, 129, 86, 241,
+ 131, 129, 86, 241, 130, 129, 86, 241, 129, 129, 86, 241, 128, 129, 86,
+ 241, 127, 129, 86, 241, 126, 129, 86, 241, 125, 129, 86, 241, 124, 129,
+ 86, 241, 123, 129, 86, 241, 122, 129, 86, 241, 121, 129, 86, 241, 120,
+ 129, 86, 241, 119, 129, 86, 241, 118, 129, 86, 241, 117, 129, 86, 241,
+ 116, 129, 86, 241, 115, 129, 86, 241, 114, 129, 86, 241, 113, 129, 86,
+ 241, 112, 129, 86, 241, 111, 129, 86, 241, 110, 129, 86, 241, 109, 129,
+ 86, 241, 108, 129, 86, 241, 107, 129, 86, 241, 106, 129, 86, 241, 105,
+ 129, 86, 241, 104, 129, 86, 241, 103, 129, 86, 241, 102, 129, 86, 241,
+ 101, 129, 86, 241, 100, 129, 86, 66, 252, 228, 129, 86, 214, 220, 129,
+ 86, 214, 219, 129, 86, 214, 218, 129, 86, 214, 217, 129, 86, 214, 216,
+ 129, 86, 214, 215, 129, 86, 214, 214, 129, 86, 214, 213, 129, 86, 214,
+ 212, 129, 86, 214, 211, 129, 86, 214, 210, 129, 86, 214, 209, 129, 86,
+ 214, 208, 129, 86, 214, 207, 129, 86, 214, 206, 129, 86, 214, 205, 129,
+ 86, 214, 204, 129, 86, 214, 203, 129, 86, 214, 202, 129, 86, 214, 201,
+ 129, 86, 214, 200, 129, 86, 214, 199, 129, 86, 214, 198, 129, 86, 214,
+ 197, 129, 86, 214, 196, 129, 86, 214, 195, 129, 86, 214, 194, 129, 86,
+ 214, 193, 129, 86, 214, 192, 129, 86, 214, 191, 129, 86, 214, 190, 129,
+ 86, 214, 189, 129, 86, 214, 188, 129, 86, 214, 187, 129, 86, 214, 186,
+ 129, 86, 214, 185, 129, 86, 214, 184, 129, 86, 214, 183, 129, 86, 214,
+ 182, 129, 86, 214, 181, 129, 86, 214, 180, 129, 86, 214, 179, 129, 86,
+ 214, 178, 129, 86, 214, 177, 129, 86, 214, 176, 129, 86, 214, 175, 129,
+ 86, 214, 174, 129, 86, 214, 173, 129, 86, 214, 172, 225, 201, 251, 43,
+ 252, 228, 225, 201, 251, 43, 255, 41, 68, 219, 222, 225, 201, 251, 43,
+ 119, 68, 219, 222, 225, 201, 251, 43, 137, 68, 219, 222, 225, 201, 251,
+ 43, 244, 101, 68, 219, 222, 225, 201, 251, 43, 244, 170, 68, 219, 222,
+ 225, 201, 251, 43, 220, 72, 68, 219, 222, 225, 201, 251, 43, 221, 66, 68,
+ 219, 222, 225, 201, 251, 43, 246, 15, 68, 219, 222, 225, 201, 251, 43,
+ 229, 95, 68, 219, 222, 225, 201, 251, 43, 217, 214, 68, 219, 222, 225,
+ 201, 251, 43, 235, 254, 68, 219, 222, 225, 201, 251, 43, 234, 151, 68,
+ 219, 222, 225, 201, 251, 43, 224, 195, 68, 219, 222, 225, 201, 251, 43,
+ 234, 199, 68, 219, 222, 225, 201, 251, 43, 255, 41, 68, 242, 72, 225,
+ 201, 251, 43, 119, 68, 242, 72, 225, 201, 251, 43, 137, 68, 242, 72, 225,
+ 201, 251, 43, 244, 101, 68, 242, 72, 225, 201, 251, 43, 244, 170, 68,
+ 242, 72, 225, 201, 251, 43, 220, 72, 68, 242, 72, 225, 201, 251, 43, 221,
+ 66, 68, 242, 72, 225, 201, 251, 43, 246, 15, 68, 242, 72, 225, 201, 251,
+ 43, 229, 95, 68, 242, 72, 225, 201, 251, 43, 217, 214, 68, 242, 72, 225,
+ 201, 251, 43, 235, 254, 68, 242, 72, 225, 201, 251, 43, 234, 151, 68,
+ 242, 72, 225, 201, 251, 43, 224, 195, 68, 242, 72, 225, 201, 251, 43,
+ 234, 199, 68, 242, 72, 225, 201, 251, 43, 255, 41, 68, 248, 64, 225, 201,
+ 251, 43, 119, 68, 248, 64, 225, 201, 251, 43, 137, 68, 248, 64, 225, 201,
+ 251, 43, 244, 101, 68, 248, 64, 225, 201, 251, 43, 244, 170, 68, 248, 64,
+ 225, 201, 251, 43, 220, 72, 68, 248, 64, 225, 201, 251, 43, 221, 66, 68,
+ 248, 64, 225, 201, 251, 43, 246, 15, 68, 248, 64, 225, 201, 251, 43, 229,
+ 95, 68, 248, 64, 225, 201, 251, 43, 217, 214, 68, 248, 64, 225, 201, 251,
+ 43, 235, 254, 68, 248, 64, 225, 201, 251, 43, 234, 151, 68, 248, 64, 225,
+ 201, 251, 43, 224, 195, 68, 248, 64, 225, 201, 251, 43, 234, 199, 68,
+ 248, 64, 225, 201, 251, 43, 85, 235, 179, 225, 201, 251, 43, 255, 41, 68,
+ 250, 46, 225, 201, 251, 43, 119, 68, 250, 46, 225, 201, 251, 43, 137, 68,
+ 250, 46, 225, 201, 251, 43, 244, 101, 68, 250, 46, 225, 201, 251, 43,
+ 244, 170, 68, 250, 46, 225, 201, 251, 43, 220, 72, 68, 250, 46, 225, 201,
+ 251, 43, 221, 66, 68, 250, 46, 225, 201, 251, 43, 246, 15, 68, 250, 46,
+ 225, 201, 251, 43, 229, 95, 68, 250, 46, 225, 201, 251, 43, 217, 214, 68,
+ 250, 46, 225, 201, 251, 43, 235, 254, 68, 250, 46, 225, 201, 251, 43,
+ 234, 151, 68, 250, 46, 225, 201, 251, 43, 224, 195, 68, 250, 46, 225,
+ 201, 251, 43, 234, 199, 68, 250, 46, 225, 201, 251, 43, 69, 235, 179, 21,
+ 212, 80, 244, 64, 219, 83, 21, 212, 80, 250, 23, 21, 124, 250, 23, 21,
+ 119, 250, 23, 21, 137, 250, 23, 21, 244, 101, 250, 23, 21, 244, 170, 250,
+ 23, 21, 220, 72, 250, 23, 21, 221, 66, 250, 23, 21, 246, 15, 250, 23, 21,
+ 229, 95, 250, 23, 87, 7, 6, 1, 63, 87, 7, 6, 1, 253, 201, 87, 7, 6, 1,
+ 251, 121, 87, 7, 6, 1, 249, 125, 87, 7, 6, 1, 77, 87, 7, 6, 1, 245, 95,
+ 87, 7, 6, 1, 244, 41, 87, 7, 6, 1, 242, 162, 87, 7, 6, 1, 75, 87, 7, 6,
+ 1, 236, 3, 87, 7, 6, 1, 235, 141, 87, 7, 6, 1, 155, 87, 7, 6, 1, 184, 87,
+ 7, 6, 1, 206, 87, 7, 6, 1, 78, 87, 7, 6, 1, 227, 11, 87, 7, 6, 1, 225,
+ 19, 87, 7, 6, 1, 152, 87, 7, 6, 1, 196, 87, 7, 6, 1, 218, 113, 87, 7, 6,
+ 1, 72, 87, 7, 6, 1, 211, 211, 87, 7, 6, 1, 214, 85, 87, 7, 6, 1, 213,
+ 169, 87, 7, 6, 1, 213, 108, 87, 7, 6, 1, 212, 152, 216, 232, 220, 254,
+ 251, 209, 7, 6, 1, 196, 37, 32, 7, 6, 1, 251, 121, 37, 32, 7, 6, 1, 152,
+ 37, 250, 248, 37, 213, 171, 92, 7, 6, 1, 63, 92, 7, 6, 1, 253, 201, 92,
+ 7, 6, 1, 251, 121, 92, 7, 6, 1, 249, 125, 92, 7, 6, 1, 77, 92, 7, 6, 1,
+ 245, 95, 92, 7, 6, 1, 244, 41, 92, 7, 6, 1, 242, 162, 92, 7, 6, 1, 75,
+ 92, 7, 6, 1, 236, 3, 92, 7, 6, 1, 235, 141, 92, 7, 6, 1, 155, 92, 7, 6,
+ 1, 184, 92, 7, 6, 1, 206, 92, 7, 6, 1, 78, 92, 7, 6, 1, 227, 11, 92, 7,
+ 6, 1, 225, 19, 92, 7, 6, 1, 152, 92, 7, 6, 1, 196, 92, 7, 6, 1, 218, 113,
+ 92, 7, 6, 1, 72, 92, 7, 6, 1, 211, 211, 92, 7, 6, 1, 214, 85, 92, 7, 6,
+ 1, 213, 169, 92, 7, 6, 1, 213, 108, 92, 7, 6, 1, 212, 152, 92, 241, 54,
+ 92, 230, 189, 92, 222, 125, 92, 219, 177, 92, 225, 134, 92, 214, 10, 150,
+ 37, 7, 6, 1, 63, 150, 37, 7, 6, 1, 253, 201, 150, 37, 7, 6, 1, 251, 121,
+ 150, 37, 7, 6, 1, 249, 125, 150, 37, 7, 6, 1, 77, 150, 37, 7, 6, 1, 245,
+ 95, 150, 37, 7, 6, 1, 244, 41, 150, 37, 7, 6, 1, 242, 162, 150, 37, 7, 6,
+ 1, 75, 150, 37, 7, 6, 1, 236, 3, 150, 37, 7, 6, 1, 235, 141, 150, 37, 7,
+ 6, 1, 155, 150, 37, 7, 6, 1, 184, 150, 37, 7, 6, 1, 206, 150, 37, 7, 6,
+ 1, 78, 150, 37, 7, 6, 1, 227, 11, 150, 37, 7, 6, 1, 225, 19, 150, 37, 7,
+ 6, 1, 152, 150, 37, 7, 6, 1, 196, 150, 37, 7, 6, 1, 218, 113, 150, 37, 7,
+ 6, 1, 72, 150, 37, 7, 6, 1, 211, 211, 150, 37, 7, 6, 1, 214, 85, 150, 37,
+ 7, 6, 1, 213, 169, 150, 37, 7, 6, 1, 213, 108, 150, 37, 7, 6, 1, 212,
+ 152, 150, 92, 7, 6, 1, 63, 150, 92, 7, 6, 1, 253, 201, 150, 92, 7, 6, 1,
+ 251, 121, 150, 92, 7, 6, 1, 249, 125, 150, 92, 7, 6, 1, 77, 150, 92, 7,
+ 6, 1, 245, 95, 150, 92, 7, 6, 1, 244, 41, 150, 92, 7, 6, 1, 242, 162,
+ 150, 92, 7, 6, 1, 75, 150, 92, 7, 6, 1, 236, 3, 150, 92, 7, 6, 1, 235,
+ 141, 150, 92, 7, 6, 1, 155, 150, 92, 7, 6, 1, 184, 150, 92, 7, 6, 1, 206,
+ 150, 92, 7, 6, 1, 78, 150, 92, 7, 6, 1, 227, 11, 150, 92, 7, 6, 1, 225,
+ 19, 150, 92, 7, 6, 1, 152, 150, 92, 7, 6, 1, 196, 150, 92, 7, 6, 1, 218,
+ 113, 150, 92, 7, 6, 1, 72, 150, 92, 7, 6, 1, 211, 211, 150, 92, 7, 6, 1,
+ 214, 85, 150, 92, 7, 6, 1, 213, 169, 150, 92, 7, 6, 1, 213, 108, 150, 92,
+ 7, 6, 1, 212, 152, 249, 191, 150, 92, 7, 6, 1, 227, 11, 150, 92, 240,
+ 223, 150, 92, 195, 150, 92, 222, 227, 150, 92, 255, 57, 150, 92, 214, 10,
+ 42, 247, 237, 92, 250, 83, 92, 249, 232, 92, 244, 86, 92, 240, 215, 92,
+ 229, 235, 92, 229, 228, 92, 227, 117, 92, 219, 241, 92, 116, 2, 245, 119,
+ 79, 92, 214, 104, 224, 31, 236, 97, 16, 1, 63, 224, 31, 236, 97, 16, 1,
+ 253, 201, 224, 31, 236, 97, 16, 1, 251, 121, 224, 31, 236, 97, 16, 1,
+ 249, 125, 224, 31, 236, 97, 16, 1, 77, 224, 31, 236, 97, 16, 1, 245, 95,
+ 224, 31, 236, 97, 16, 1, 244, 41, 224, 31, 236, 97, 16, 1, 242, 162, 224,
+ 31, 236, 97, 16, 1, 75, 224, 31, 236, 97, 16, 1, 236, 3, 224, 31, 236,
+ 97, 16, 1, 235, 141, 224, 31, 236, 97, 16, 1, 155, 224, 31, 236, 97, 16,
+ 1, 184, 224, 31, 236, 97, 16, 1, 206, 224, 31, 236, 97, 16, 1, 78, 224,
+ 31, 236, 97, 16, 1, 227, 11, 224, 31, 236, 97, 16, 1, 225, 19, 224, 31,
+ 236, 97, 16, 1, 152, 224, 31, 236, 97, 16, 1, 196, 224, 31, 236, 97, 16,
+ 1, 218, 113, 224, 31, 236, 97, 16, 1, 72, 224, 31, 236, 97, 16, 1, 211,
+ 211, 224, 31, 236, 97, 16, 1, 214, 85, 224, 31, 236, 97, 16, 1, 213, 169,
+ 224, 31, 236, 97, 16, 1, 213, 108, 224, 31, 236, 97, 16, 1, 212, 152, 42,
+ 136, 241, 168, 92, 56, 234, 138, 92, 56, 222, 227, 92, 9, 215, 154, 238,
+ 160, 92, 9, 215, 154, 238, 164, 92, 9, 215, 154, 238, 172, 92, 56, 248,
+ 162, 92, 9, 215, 154, 238, 179, 92, 9, 215, 154, 238, 166, 92, 9, 215,
+ 154, 238, 138, 92, 9, 215, 154, 238, 165, 92, 9, 215, 154, 238, 178, 92,
+ 9, 215, 154, 238, 152, 92, 9, 215, 154, 238, 145, 92, 9, 215, 154, 238,
+ 154, 92, 9, 215, 154, 238, 175, 92, 9, 215, 154, 238, 161, 92, 9, 215,
+ 154, 238, 177, 92, 9, 215, 154, 238, 153, 92, 9, 215, 154, 238, 176, 92,
+ 9, 215, 154, 238, 139, 92, 9, 215, 154, 238, 144, 92, 9, 215, 154, 238,
+ 137, 92, 9, 215, 154, 238, 167, 92, 9, 215, 154, 238, 169, 92, 9, 215,
+ 154, 238, 147, 92, 9, 215, 154, 238, 158, 92, 9, 215, 154, 238, 156, 92,
+ 9, 215, 154, 238, 182, 92, 9, 215, 154, 238, 181, 92, 9, 215, 154, 238,
+ 135, 92, 9, 215, 154, 238, 162, 92, 9, 215, 154, 238, 180, 92, 9, 215,
+ 154, 238, 171, 92, 9, 215, 154, 238, 157, 92, 9, 215, 154, 238, 136, 92,
+ 9, 215, 154, 238, 159, 92, 9, 215, 154, 238, 141, 92, 9, 215, 154, 238,
+ 140, 92, 9, 215, 154, 238, 170, 92, 9, 215, 154, 238, 148, 92, 9, 215,
+ 154, 238, 150, 92, 9, 215, 154, 238, 151, 92, 9, 215, 154, 238, 143, 92,
+ 9, 215, 154, 238, 174, 92, 9, 215, 154, 238, 168, 216, 232, 220, 254,
+ 251, 209, 9, 215, 154, 238, 149, 216, 232, 220, 254, 251, 209, 9, 215,
+ 154, 238, 181, 216, 232, 220, 254, 251, 209, 9, 215, 154, 238, 179, 216,
+ 232, 220, 254, 251, 209, 9, 215, 154, 238, 163, 216, 232, 220, 254, 251,
+ 209, 9, 215, 154, 238, 146, 216, 232, 220, 254, 251, 209, 9, 215, 154,
+ 238, 159, 216, 232, 220, 254, 251, 209, 9, 215, 154, 238, 142, 216, 232,
+ 220, 254, 251, 209, 9, 215, 154, 238, 173, 216, 232, 220, 254, 251, 209,
+ 9, 215, 154, 238, 155, 37, 147, 255, 22, 37, 147, 255, 44, 249, 136, 244,
+ 131, 250, 60, 215, 170, 229, 108, 2, 219, 106, 218, 247, 113, 230, 254,
+ 218, 246, 250, 86, 253, 250, 246, 130, 218, 245, 113, 251, 172, 224, 84,
+ 251, 193, 253, 250, 229, 107, 214, 28, 214, 22, 214, 116, 231, 78, 214,
+ 12, 246, 45, 243, 21, 245, 133, 246, 45, 243, 21, 254, 164, 246, 45, 243,
+ 21, 254, 11, 243, 21, 2, 231, 185, 163, 231, 13, 88, 214, 14, 249, 200,
+ 231, 13, 88, 244, 181, 224, 202, 231, 13, 88, 214, 14, 243, 50, 231, 13,
+ 88, 244, 64, 231, 13, 88, 214, 39, 243, 50, 231, 13, 88, 233, 202, 224,
+ 202, 231, 13, 88, 214, 39, 249, 200, 231, 13, 88, 249, 200, 231, 12, 163,
+ 231, 13, 2, 245, 23, 244, 181, 224, 202, 231, 13, 2, 245, 23, 233, 202,
+ 224, 202, 231, 13, 2, 245, 23, 244, 64, 231, 13, 2, 245, 23, 218, 253, 2,
+ 245, 23, 243, 19, 219, 109, 220, 200, 219, 109, 250, 176, 222, 110, 245,
+ 127, 216, 206, 248, 156, 216, 206, 226, 223, 216, 206, 251, 82, 216, 81,
+ 250, 178, 252, 2, 223, 127, 242, 27, 218, 250, 252, 2, 246, 49, 68, 232,
+ 72, 246, 49, 68, 223, 218, 242, 51, 244, 101, 233, 176, 250, 50, 232, 48,
+ 233, 175, 245, 9, 233, 175, 233, 176, 244, 136, 236, 113, 213, 227, 230,
+ 198, 217, 2, 253, 234, 242, 239, 231, 201, 214, 26, 218, 21, 233, 148,
+ 252, 195, 225, 230, 224, 38, 254, 94, 242, 225, 254, 94, 226, 128, 226,
+ 129, 250, 179, 219, 68, 242, 126, 220, 37, 68, 225, 212, 231, 222, 227,
+ 100, 251, 244, 225, 145, 233, 158, 223, 219, 249, 205, 223, 219, 252,
+ 205, 249, 235, 223, 218, 249, 159, 22, 223, 218, 219, 95, 251, 218, 219,
+ 221, 251, 203, 244, 85, 244, 81, 223, 142, 218, 205, 225, 147, 248, 242,
+ 227, 138, 218, 222, 244, 82, 220, 175, 244, 180, 251, 77, 2, 218, 198,
+ 248, 107, 219, 255, 240, 222, 249, 204, 221, 15, 240, 221, 240, 222, 249,
+ 204, 246, 183, 249, 234, 250, 144, 134, 251, 54, 233, 12, 249, 153, 241,
+ 160, 225, 149, 220, 185, 252, 83, 251, 214, 225, 150, 68, 244, 122, 249,
+ 233, 244, 113, 22, 234, 152, 217, 240, 213, 219, 242, 116, 222, 207, 251,
+ 228, 22, 249, 166, 213, 225, 243, 24, 250, 39, 243, 24, 216, 164, 246,
+ 166, 252, 108, 230, 233, 250, 67, 252, 108, 230, 232, 252, 231, 251, 227,
+ 223, 220, 213, 192, 225, 111, 252, 27, 251, 76, 235, 253, 250, 137, 216,
+ 206, 244, 251, 250, 136, 244, 183, 244, 184, 219, 219, 252, 204, 226,
+ 159, 225, 160, 250, 9, 252, 205, 218, 23, 216, 206, 249, 191, 244, 156,
+ 225, 231, 248, 153, 235, 247, 247, 206, 251, 32, 219, 67, 213, 228, 250,
+ 158, 231, 13, 214, 149, 250, 219, 222, 140, 222, 165, 242, 244, 251, 51,
+ 251, 33, 241, 94, 244, 219, 213, 244, 223, 136, 250, 40, 244, 175, 225,
+ 172, 22, 244, 179, 231, 110, 230, 248, 251, 66, 250, 99, 242, 79, 254,
+ 27, 226, 226, 216, 240, 242, 98, 250, 89, 217, 208, 217, 80, 250, 80,
+ 251, 250, 226, 88, 254, 26, 214, 155, 243, 206, 248, 14, 242, 5, 220, 31,
+ 232, 112, 252, 37, 243, 207, 248, 57, 251, 217, 244, 141, 225, 201, 251,
+ 41, 27, 228, 201, 230, 225, 27, 228, 196, 222, 153, 242, 201, 27, 234,
+ 255, 216, 161, 214, 139, 27, 222, 134, 223, 61, 220, 212, 2, 222, 167,
+ 217, 210, 224, 103, 22, 252, 205, 220, 52, 22, 220, 52, 251, 237, 252,
+ 169, 22, 241, 154, 250, 180, 244, 162, 220, 10, 223, 62, 218, 226, 216,
+ 165, 241, 95, 224, 104, 254, 165, 244, 120, 223, 73, 244, 120, 218, 200,
+ 241, 84, 251, 173, 241, 84, 2, 243, 190, 227, 132, 251, 173, 235, 247,
+ 225, 155, 227, 131, 245, 132, 225, 155, 227, 131, 241, 93, 252, 191, 253,
+ 224, 217, 218, 232, 112, 241, 89, 232, 240, 241, 89, 249, 238, 219, 79,
+ 222, 139, 248, 115, 219, 79, 245, 13, 236, 8, 233, 211, 235, 247, 251,
+ 26, 245, 132, 251, 26, 224, 68, 230, 252, 227, 20, 214, 28, 251, 177,
+ 249, 207, 217, 73, 233, 140, 224, 105, 251, 24, 246, 171, 249, 198, 213,
+ 247, 220, 17, 220, 15, 241, 94, 224, 80, 243, 10, 221, 2, 231, 29, 223,
+ 130, 250, 168, 247, 211, 225, 241, 251, 251, 245, 247, 227, 140, 219,
+ 203, 220, 253, 251, 176, 254, 130, 241, 159, 233, 242, 252, 106, 244,
+ 179, 216, 164, 244, 179, 252, 1, 216, 63, 242, 96, 250, 169, 252, 231,
+ 250, 169, 244, 76, 252, 231, 250, 169, 252, 29, 226, 106, 234, 146, 225,
+ 164, 246, 163, 251, 67, 252, 222, 251, 67, 247, 205, 230, 253, 245, 23,
+ 249, 208, 245, 23, 217, 74, 245, 23, 224, 106, 245, 23, 251, 25, 245, 23,
+ 246, 172, 245, 23, 219, 192, 213, 247, 241, 95, 245, 23, 231, 30, 245,
+ 23, 247, 212, 245, 23, 225, 242, 245, 23, 244, 79, 245, 23, 242, 123,
+ 245, 23, 213, 214, 245, 23, 252, 117, 245, 23, 226, 209, 245, 23, 225,
+ 242, 228, 207, 226, 142, 225, 103, 245, 102, 246, 48, 228, 207, 230, 250,
+ 216, 245, 69, 116, 225, 177, 252, 226, 236, 100, 69, 121, 225, 177, 252,
+ 226, 236, 100, 69, 43, 225, 177, 252, 226, 236, 100, 69, 47, 225, 177,
+ 252, 226, 236, 100, 244, 173, 242, 119, 53, 214, 20, 242, 119, 53, 227,
+ 118, 242, 119, 53, 217, 102, 116, 53, 217, 102, 121, 53, 250, 79, 242,
+ 114, 53, 210, 242, 114, 53, 249, 186, 213, 210, 242, 98, 245, 103, 229,
+ 252, 218, 112, 235, 241, 246, 168, 234, 202, 252, 39, 213, 210, 250, 53,
+ 225, 50, 242, 117, 225, 146, 232, 55, 220, 205, 253, 246, 220, 205, 242,
+ 13, 220, 205, 213, 210, 222, 180, 213, 210, 251, 236, 244, 118, 251, 144,
+ 236, 113, 220, 114, 251, 143, 236, 113, 220, 114, 251, 213, 243, 34, 232,
+ 63, 213, 211, 245, 7, 232, 64, 22, 213, 212, 241, 165, 242, 113, 119,
+ 231, 193, 241, 165, 242, 113, 119, 213, 209, 241, 165, 242, 113, 225,
+ 169, 227, 130, 213, 212, 2, 251, 160, 246, 46, 251, 194, 2, 214, 228,
+ 226, 80, 2, 252, 4, 242, 136, 232, 64, 2, 242, 210, 226, 21, 232, 52,
+ 232, 64, 2, 216, 69, 227, 111, 232, 63, 227, 111, 213, 211, 252, 230,
+ 249, 252, 213, 195, 225, 106, 235, 247, 227, 126, 235, 247, 243, 9, 243,
+ 62, 252, 231, 254, 149, 245, 107, 254, 196, 254, 197, 231, 20, 236, 118,
+ 220, 47, 236, 90, 248, 106, 226, 79, 242, 207, 248, 246, 233, 71, 230,
+ 98, 225, 168, 245, 24, 232, 20, 242, 135, 252, 184, 225, 171, 218, 131,
+ 225, 234, 234, 184, 79, 232, 240, 233, 132, 223, 164, 243, 150, 219, 85,
+ 234, 183, 251, 222, 249, 210, 2, 242, 74, 214, 6, 252, 115, 242, 74, 251,
+ 188, 242, 74, 119, 242, 72, 219, 217, 242, 74, 242, 219, 242, 74, 242,
+ 75, 2, 71, 252, 0, 242, 74, 242, 225, 242, 74, 213, 34, 242, 74, 225, 51,
+ 242, 74, 242, 75, 2, 223, 220, 223, 231, 242, 72, 242, 75, 248, 153, 248,
+ 66, 221, 27, 2, 111, 62, 236, 73, 245, 250, 182, 251, 170, 254, 148, 88,
+ 251, 245, 220, 39, 88, 250, 32, 88, 219, 197, 218, 207, 88, 246, 161,
+ 248, 224, 88, 225, 235, 68, 225, 165, 244, 150, 252, 51, 247, 238, 88,
+ 219, 210, 252, 204, 217, 115, 252, 204, 69, 244, 140, 241, 63, 225, 175,
+ 88, 231, 33, 252, 217, 249, 162, 245, 120, 110, 247, 207, 53, 249, 202,
+ 251, 42, 252, 190, 2, 213, 32, 53, 252, 190, 2, 247, 207, 53, 252, 190,
+ 2, 245, 135, 53, 252, 190, 2, 225, 144, 53, 231, 33, 2, 213, 223, 250,
+ 197, 2, 215, 130, 216, 202, 22, 213, 32, 53, 222, 120, 226, 78, 250, 13,
+ 251, 192, 231, 69, 244, 145, 248, 2, 227, 65, 248, 7, 246, 125, 244, 196,
+ 244, 129, 210, 244, 196, 244, 129, 226, 239, 2, 249, 164, 226, 239, 245,
+ 16, 215, 140, 251, 72, 217, 239, 251, 72, 251, 43, 236, 100, 250, 197, 2,
+ 215, 130, 216, 201, 250, 197, 2, 246, 179, 216, 201, 252, 187, 250, 196,
+ 250, 66, 225, 46, 223, 121, 225, 46, 226, 184, 219, 75, 223, 68, 216,
+ 193, 223, 68, 251, 241, 218, 53, 233, 173, 228, 199, 228, 200, 2, 248,
+ 152, 249, 209, 250, 60, 251, 242, 210, 251, 242, 242, 225, 251, 242, 252,
+ 0, 251, 242, 227, 61, 251, 242, 251, 239, 230, 93, 252, 220, 222, 128,
+ 231, 194, 217, 223, 224, 50, 226, 237, 244, 248, 232, 112, 222, 164, 254,
+ 127, 225, 67, 255, 29, 232, 242, 250, 186, 231, 206, 227, 35, 216, 209,
+ 236, 109, 216, 209, 226, 244, 246, 101, 88, 236, 106, 245, 199, 245, 200,
+ 2, 246, 179, 80, 50, 250, 60, 232, 78, 2, 232, 236, 244, 162, 250, 60,
+ 232, 78, 2, 224, 83, 244, 162, 210, 232, 78, 2, 224, 83, 244, 162, 210,
+ 232, 78, 2, 232, 236, 244, 162, 225, 152, 225, 153, 241, 97, 229, 233,
+ 231, 43, 226, 29, 231, 43, 226, 30, 2, 96, 80, 253, 250, 233, 168, 214,
+ 158, 231, 42, 231, 43, 226, 30, 227, 133, 228, 229, 231, 43, 226, 28,
+ 254, 128, 2, 252, 175, 251, 66, 214, 155, 251, 66, 217, 220, 224, 98,
+ 214, 154, 216, 32, 96, 254, 33, 250, 62, 96, 22, 135, 210, 250, 96, 254,
+ 33, 250, 62, 96, 22, 135, 210, 250, 96, 254, 34, 2, 37, 124, 227, 26,
+ 250, 62, 246, 179, 22, 215, 130, 210, 250, 96, 254, 33, 254, 126, 246,
+ 179, 22, 215, 130, 210, 250, 96, 254, 33, 117, 251, 191, 88, 127, 251,
+ 191, 88, 219, 214, 2, 251, 60, 91, 219, 213, 219, 214, 2, 124, 219, 237,
+ 214, 22, 219, 214, 2, 137, 219, 237, 214, 21, 252, 161, 245, 250, 225,
+ 197, 233, 164, 232, 89, 243, 24, 223, 178, 232, 89, 243, 24, 233, 22, 2,
+ 236, 83, 226, 110, 250, 60, 233, 22, 2, 235, 0, 235, 0, 233, 21, 210,
+ 233, 21, 252, 91, 252, 92, 2, 251, 60, 91, 251, 240, 233, 74, 88, 224,
+ 99, 251, 140, 252, 229, 2, 135, 80, 50, 245, 222, 2, 135, 80, 50, 227,
+ 100, 2, 245, 119, 156, 2, 43, 47, 80, 50, 219, 244, 2, 96, 80, 50, 216,
+ 240, 2, 215, 130, 80, 50, 228, 229, 124, 215, 160, 246, 13, 88, 234, 254,
+ 217, 213, 236, 77, 16, 31, 7, 6, 233, 131, 236, 77, 16, 31, 7, 4, 233,
+ 131, 236, 77, 16, 31, 228, 98, 236, 77, 16, 31, 218, 142, 236, 77, 16,
+ 31, 7, 233, 131, 244, 185, 245, 250, 216, 235, 213, 190, 242, 124, 228,
+ 81, 22, 251, 246, 241, 171, 225, 218, 231, 109, 217, 221, 249, 177, 252,
+ 205, 220, 72, 225, 179, 219, 110, 2, 231, 107, 247, 195, 235, 247, 16,
+ 31, 252, 103, 216, 191, 245, 235, 85, 42, 251, 140, 69, 42, 251, 140,
+ 233, 207, 224, 38, 250, 95, 233, 207, 252, 0, 250, 95, 233, 207, 227, 61,
+ 248, 65, 233, 207, 252, 0, 248, 65, 4, 227, 61, 248, 65, 4, 252, 0, 248,
+ 65, 215, 139, 224, 38, 216, 196, 246, 180, 224, 38, 216, 196, 215, 139,
+ 4, 224, 38, 216, 196, 246, 180, 4, 224, 38, 216, 196, 250, 64, 245, 24,
+ 124, 227, 143, 250, 64, 245, 24, 119, 227, 143, 250, 64, 245, 24, 137,
+ 227, 143, 250, 64, 245, 24, 244, 101, 227, 143, 250, 64, 245, 24, 244,
+ 170, 227, 143, 250, 64, 245, 24, 220, 72, 227, 143, 250, 64, 245, 24,
+ 221, 66, 227, 143, 250, 64, 245, 24, 246, 15, 227, 143, 250, 64, 245, 24,
+ 229, 95, 227, 143, 250, 64, 245, 24, 217, 214, 227, 143, 250, 64, 245,
+ 24, 245, 246, 227, 143, 250, 64, 245, 24, 216, 49, 227, 143, 250, 64,
+ 245, 24, 227, 95, 250, 64, 245, 24, 216, 29, 250, 64, 245, 24, 217, 107,
+ 250, 64, 245, 24, 244, 97, 250, 64, 245, 24, 244, 168, 250, 64, 245, 24,
+ 220, 68, 250, 64, 245, 24, 221, 65, 250, 64, 245, 24, 246, 14, 250, 64,
+ 245, 24, 229, 94, 250, 64, 245, 24, 217, 212, 250, 64, 245, 24, 245, 244,
+ 250, 64, 245, 24, 216, 47, 231, 1, 244, 65, 217, 4, 216, 228, 219, 102,
+ 68, 233, 109, 220, 115, 68, 235, 248, 230, 246, 242, 223, 245, 24, 2,
+ 220, 21, 245, 102, 245, 24, 2, 217, 235, 68, 235, 170, 220, 21, 245, 24,
+ 2, 210, 230, 250, 220, 21, 245, 24, 2, 210, 230, 251, 22, 220, 21, 245,
+ 102, 220, 21, 245, 24, 2, 210, 230, 251, 22, 250, 34, 218, 206, 220, 21,
+ 245, 24, 2, 210, 230, 251, 22, 217, 71, 245, 102, 220, 21, 245, 24, 2,
+ 242, 128, 220, 21, 245, 24, 2, 241, 96, 213, 221, 245, 23, 220, 21, 245,
+ 24, 2, 220, 21, 245, 102, 245, 24, 222, 158, 248, 134, 244, 122, 224, 16,
+ 245, 23, 220, 21, 245, 24, 2, 242, 73, 245, 102, 220, 21, 245, 24, 2,
+ 218, 248, 220, 20, 245, 23, 229, 236, 245, 23, 215, 164, 245, 23, 245,
+ 24, 2, 250, 34, 218, 206, 226, 103, 245, 23, 250, 7, 245, 23, 245, 24,
+ 217, 104, 111, 234, 183, 234, 182, 245, 24, 2, 250, 60, 245, 102, 245,
+ 24, 2, 219, 45, 216, 246, 22, 213, 221, 245, 104, 245, 24, 2, 219, 45,
+ 216, 246, 22, 217, 71, 245, 102, 248, 9, 245, 23, 254, 144, 245, 23, 225,
+ 143, 245, 23, 249, 179, 245, 23, 226, 82, 245, 23, 245, 24, 2, 232, 253,
+ 68, 216, 175, 248, 9, 251, 142, 224, 16, 245, 23, 244, 241, 245, 23, 214,
+ 7, 245, 23, 220, 38, 245, 23, 217, 38, 245, 23, 232, 243, 249, 179, 245,
+ 23, 245, 24, 2, 210, 230, 251, 22, 250, 34, 218, 206, 245, 24, 222, 132,
+ 236, 113, 244, 242, 254, 0, 245, 23, 244, 138, 245, 23, 247, 238, 245,
+ 23, 245, 24, 213, 219, 230, 250, 245, 24, 2, 231, 219, 232, 22, 242, 223,
+ 251, 25, 245, 24, 2, 220, 21, 245, 102, 251, 25, 245, 24, 2, 217, 235,
+ 68, 235, 170, 220, 21, 251, 25, 245, 24, 2, 210, 230, 250, 220, 21, 251,
+ 25, 245, 24, 2, 242, 73, 245, 102, 251, 25, 245, 24, 2, 213, 187, 220,
+ 22, 234, 182, 251, 25, 245, 24, 2, 250, 60, 245, 102, 225, 143, 251, 25,
+ 245, 23, 249, 179, 251, 25, 245, 23, 214, 7, 251, 25, 245, 23, 245, 24,
+ 2, 228, 229, 243, 3, 243, 130, 245, 24, 2, 227, 118, 243, 130, 226, 80,
+ 251, 219, 248, 147, 222, 111, 231, 29, 242, 76, 231, 29, 219, 215, 231,
+ 29, 242, 108, 226, 80, 224, 82, 124, 242, 118, 226, 80, 224, 82, 251,
+ 229, 242, 114, 236, 113, 250, 236, 226, 80, 244, 72, 226, 80, 2, 225,
+ 143, 245, 23, 226, 80, 2, 244, 130, 242, 113, 223, 138, 242, 61, 219, 97,
+ 233, 20, 224, 88, 251, 44, 242, 11, 216, 218, 242, 11, 216, 219, 2, 251,
+ 168, 228, 207, 216, 218, 231, 169, 182, 224, 89, 219, 103, 216, 216, 216,
+ 217, 251, 44, 251, 146, 227, 97, 251, 146, 216, 172, 251, 147, 219, 83,
+ 231, 70, 254, 166, 244, 186, 245, 216, 225, 169, 251, 44, 227, 97, 225,
+ 169, 251, 44, 217, 252, 227, 97, 217, 252, 253, 223, 227, 97, 253, 223,
+ 224, 45, 214, 229, 248, 130, 216, 163, 254, 28, 232, 246, 216, 224, 231,
+ 23, 231, 0, 224, 87, 218, 221, 224, 87, 231, 0, 251, 83, 255, 6, 216,
+ 215, 220, 217, 223, 118, 219, 208, 201, 216, 222, 233, 100, 66, 216, 222,
+ 233, 100, 249, 252, 53, 225, 169, 251, 29, 223, 231, 233, 100, 216, 193,
+ 244, 163, 227, 100, 225, 154, 247, 198, 228, 229, 245, 205, 53, 220, 19,
+ 88, 228, 229, 220, 19, 88, 225, 45, 233, 63, 236, 113, 236, 16, 225, 209,
+ 88, 247, 221, 228, 206, 233, 63, 88, 225, 148, 214, 28, 88, 228, 220,
+ 214, 28, 88, 252, 50, 228, 229, 252, 49, 252, 48, 231, 0, 252, 48, 226,
+ 124, 228, 229, 226, 123, 250, 160, 249, 187, 231, 190, 88, 213, 208, 88,
+ 223, 245, 252, 231, 88, 217, 5, 214, 28, 250, 57, 220, 179, 252, 164,
+ 252, 162, 226, 152, 249, 239, 249, 151, 252, 214, 250, 82, 43, 232, 222,
+ 106, 16, 31, 224, 183, 106, 16, 31, 254, 227, 106, 16, 31, 244, 185, 106,
+ 16, 31, 246, 44, 106, 16, 31, 214, 27, 106, 16, 31, 254, 84, 106, 16, 31,
+ 254, 85, 224, 33, 106, 16, 31, 254, 85, 224, 32, 106, 16, 31, 254, 85,
+ 214, 128, 106, 16, 31, 254, 85, 214, 127, 106, 16, 31, 214, 142, 106, 16,
+ 31, 214, 141, 106, 16, 31, 214, 140, 106, 16, 31, 219, 3, 106, 16, 31,
+ 226, 37, 219, 3, 106, 16, 31, 85, 219, 3, 106, 16, 31, 231, 189, 219, 30,
+ 106, 16, 31, 231, 189, 219, 29, 106, 16, 31, 231, 189, 219, 28, 106, 16,
+ 31, 250, 98, 106, 16, 31, 222, 196, 106, 16, 31, 229, 83, 106, 16, 31,
+ 214, 126, 106, 16, 31, 214, 125, 106, 16, 31, 223, 139, 222, 196, 106,
+ 16, 31, 223, 139, 222, 195, 106, 16, 31, 243, 6, 106, 16, 31, 220, 111,
+ 106, 16, 31, 236, 36, 227, 58, 106, 16, 31, 236, 36, 227, 57, 106, 16,
+ 31, 249, 197, 68, 236, 35, 106, 16, 31, 224, 29, 68, 236, 35, 106, 16,
+ 31, 249, 230, 227, 58, 106, 16, 31, 236, 34, 227, 58, 106, 16, 31, 219,
+ 31, 68, 249, 229, 106, 16, 31, 249, 197, 68, 249, 229, 106, 16, 31, 249,
+ 197, 68, 249, 228, 106, 16, 31, 249, 230, 254, 121, 106, 16, 31, 222,
+ 197, 68, 249, 230, 254, 121, 106, 16, 31, 219, 31, 68, 222, 197, 68, 249,
+ 229, 106, 16, 31, 214, 225, 106, 16, 31, 217, 51, 227, 58, 106, 16, 31,
+ 233, 179, 227, 58, 106, 16, 31, 254, 120, 227, 58, 106, 16, 31, 219, 31,
+ 68, 254, 119, 106, 16, 31, 222, 197, 68, 254, 119, 106, 16, 31, 219, 31,
+ 68, 222, 197, 68, 254, 119, 106, 16, 31, 214, 143, 68, 254, 119, 106, 16,
+ 31, 224, 29, 68, 254, 119, 106, 16, 31, 224, 29, 68, 254, 118, 106, 16,
+ 31, 224, 28, 106, 16, 31, 224, 27, 106, 16, 31, 224, 26, 106, 16, 31,
+ 224, 25, 106, 16, 31, 254, 193, 106, 16, 31, 254, 192, 106, 16, 31, 232,
+ 41, 106, 16, 31, 222, 202, 106, 16, 31, 254, 32, 106, 16, 31, 224, 52,
+ 106, 16, 31, 224, 51, 106, 16, 31, 253, 226, 106, 16, 31, 252, 21, 227,
+ 58, 106, 16, 31, 218, 13, 106, 16, 31, 218, 12, 106, 16, 31, 224, 188,
+ 233, 92, 106, 16, 31, 251, 234, 106, 16, 31, 251, 233, 106, 16, 31, 251,
+ 232, 106, 16, 31, 254, 174, 106, 16, 31, 227, 121, 106, 16, 31, 219, 199,
+ 106, 16, 31, 217, 49, 106, 16, 31, 242, 198, 106, 16, 31, 214, 15, 106,
+ 16, 31, 225, 142, 106, 16, 31, 251, 70, 106, 16, 31, 216, 58, 106, 16,
+ 31, 251, 46, 231, 6, 106, 16, 31, 222, 143, 68, 235, 172, 106, 16, 31,
+ 251, 80, 106, 16, 31, 216, 190, 106, 16, 31, 219, 107, 216, 190, 106, 16,
+ 31, 233, 19, 106, 16, 31, 220, 3, 106, 16, 31, 215, 119, 106, 16, 31,
+ 241, 95, 246, 140, 106, 16, 31, 254, 13, 106, 16, 31, 225, 150, 254, 13,
+ 106, 16, 31, 251, 195, 106, 16, 31, 225, 141, 251, 195, 106, 16, 31, 254,
+ 171, 106, 16, 31, 219, 71, 218, 240, 219, 70, 106, 16, 31, 219, 71, 218,
+ 240, 219, 69, 106, 16, 31, 219, 27, 106, 16, 31, 225, 116, 106, 16, 31,
+ 247, 254, 106, 16, 31, 248, 0, 106, 16, 31, 247, 255, 106, 16, 31, 225,
+ 53, 106, 16, 31, 225, 43, 106, 16, 31, 249, 185, 106, 16, 31, 249, 184,
+ 106, 16, 31, 249, 183, 106, 16, 31, 249, 182, 106, 16, 31, 249, 181, 106,
+ 16, 31, 254, 204, 106, 16, 31, 252, 165, 68, 232, 27, 106, 16, 31, 252,
+ 165, 68, 214, 255, 106, 16, 31, 223, 243, 106, 16, 31, 241, 87, 106, 16,
+ 31, 229, 107, 106, 16, 31, 248, 212, 106, 16, 31, 231, 18, 106, 16, 31,
+ 157, 246, 170, 106, 16, 31, 157, 227, 38, 9, 13, 240, 212, 9, 13, 240,
+ 211, 9, 13, 240, 210, 9, 13, 240, 209, 9, 13, 240, 208, 9, 13, 240, 207,
+ 9, 13, 240, 206, 9, 13, 240, 205, 9, 13, 240, 204, 9, 13, 240, 203, 9,
+ 13, 240, 202, 9, 13, 240, 201, 9, 13, 240, 200, 9, 13, 240, 199, 9, 13,
+ 240, 198, 9, 13, 240, 197, 9, 13, 240, 196, 9, 13, 240, 195, 9, 13, 240,
+ 194, 9, 13, 240, 193, 9, 13, 240, 192, 9, 13, 240, 191, 9, 13, 240, 190,
+ 9, 13, 240, 189, 9, 13, 240, 188, 9, 13, 240, 187, 9, 13, 240, 186, 9,
+ 13, 240, 185, 9, 13, 240, 184, 9, 13, 240, 183, 9, 13, 240, 182, 9, 13,
+ 240, 181, 9, 13, 240, 180, 9, 13, 240, 179, 9, 13, 240, 178, 9, 13, 240,
+ 177, 9, 13, 240, 176, 9, 13, 240, 175, 9, 13, 240, 174, 9, 13, 240, 173,
+ 9, 13, 240, 172, 9, 13, 240, 171, 9, 13, 240, 170, 9, 13, 240, 169, 9,
+ 13, 240, 168, 9, 13, 240, 167, 9, 13, 240, 166, 9, 13, 240, 165, 9, 13,
+ 240, 164, 9, 13, 240, 163, 9, 13, 240, 162, 9, 13, 240, 161, 9, 13, 240,
+ 160, 9, 13, 240, 159, 9, 13, 240, 158, 9, 13, 240, 157, 9, 13, 240, 156,
+ 9, 13, 240, 155, 9, 13, 240, 154, 9, 13, 240, 153, 9, 13, 240, 152, 9,
+ 13, 240, 151, 9, 13, 240, 150, 9, 13, 240, 149, 9, 13, 240, 148, 9, 13,
+ 240, 147, 9, 13, 240, 146, 9, 13, 240, 145, 9, 13, 240, 144, 9, 13, 240,
+ 143, 9, 13, 240, 142, 9, 13, 240, 141, 9, 13, 240, 140, 9, 13, 240, 139,
+ 9, 13, 240, 138, 9, 13, 240, 137, 9, 13, 240, 136, 9, 13, 240, 135, 9,
+ 13, 240, 134, 9, 13, 240, 133, 9, 13, 240, 132, 9, 13, 240, 131, 9, 13,
+ 240, 130, 9, 13, 240, 129, 9, 13, 240, 128, 9, 13, 240, 127, 9, 13, 240,
+ 126, 9, 13, 240, 125, 9, 13, 240, 124, 9, 13, 240, 123, 9, 13, 240, 122,
+ 9, 13, 240, 121, 9, 13, 240, 120, 9, 13, 240, 119, 9, 13, 240, 118, 9,
+ 13, 240, 117, 9, 13, 240, 116, 9, 13, 240, 115, 9, 13, 240, 114, 9, 13,
+ 240, 113, 9, 13, 240, 112, 9, 13, 240, 111, 9, 13, 240, 110, 9, 13, 240,
+ 109, 9, 13, 240, 108, 9, 13, 240, 107, 9, 13, 240, 106, 9, 13, 240, 105,
+ 9, 13, 240, 104, 9, 13, 240, 103, 9, 13, 240, 102, 9, 13, 240, 101, 9,
+ 13, 240, 100, 9, 13, 240, 99, 9, 13, 240, 98, 9, 13, 240, 97, 9, 13, 240,
+ 96, 9, 13, 240, 95, 9, 13, 240, 94, 9, 13, 240, 93, 9, 13, 240, 92, 9,
+ 13, 240, 91, 9, 13, 240, 90, 9, 13, 240, 89, 9, 13, 240, 88, 9, 13, 240,
+ 87, 9, 13, 240, 86, 9, 13, 240, 85, 9, 13, 240, 84, 9, 13, 240, 83, 9,
+ 13, 240, 82, 9, 13, 240, 81, 9, 13, 240, 80, 9, 13, 240, 79, 9, 13, 240,
+ 78, 9, 13, 240, 77, 9, 13, 240, 76, 9, 13, 240, 75, 9, 13, 240, 74, 9,
+ 13, 240, 73, 9, 13, 240, 72, 9, 13, 240, 71, 9, 13, 240, 70, 9, 13, 240,
+ 69, 9, 13, 240, 68, 9, 13, 240, 67, 9, 13, 240, 66, 9, 13, 240, 65, 9,
+ 13, 240, 64, 9, 13, 240, 63, 9, 13, 240, 62, 9, 13, 240, 61, 9, 13, 240,
+ 60, 9, 13, 240, 59, 9, 13, 240, 58, 9, 13, 240, 57, 9, 13, 240, 56, 9,
+ 13, 240, 55, 9, 13, 240, 54, 9, 13, 240, 53, 9, 13, 240, 52, 9, 13, 240,
+ 51, 9, 13, 240, 50, 9, 13, 240, 49, 9, 13, 240, 48, 9, 13, 240, 47, 9,
+ 13, 240, 46, 9, 13, 240, 45, 9, 13, 240, 44, 9, 13, 240, 43, 9, 13, 240,
+ 42, 9, 13, 240, 41, 9, 13, 240, 40, 9, 13, 240, 39, 9, 13, 240, 38, 9,
+ 13, 240, 37, 9, 13, 240, 36, 9, 13, 240, 35, 9, 13, 240, 34, 9, 13, 240,
+ 33, 9, 13, 240, 32, 9, 13, 240, 31, 9, 13, 240, 30, 9, 13, 240, 29, 9,
+ 13, 240, 28, 9, 13, 240, 27, 9, 13, 240, 26, 9, 13, 240, 25, 9, 13, 240,
+ 24, 9, 13, 240, 23, 9, 13, 240, 22, 9, 13, 240, 21, 9, 13, 240, 20, 9,
+ 13, 240, 19, 9, 13, 240, 18, 9, 13, 240, 17, 9, 13, 240, 16, 9, 13, 240,
+ 15, 9, 13, 240, 14, 9, 13, 240, 13, 9, 13, 240, 12, 9, 13, 240, 11, 9,
+ 13, 240, 10, 9, 13, 240, 9, 9, 13, 240, 8, 9, 13, 240, 7, 9, 13, 240, 6,
+ 9, 13, 240, 5, 9, 13, 240, 4, 9, 13, 240, 3, 9, 13, 240, 2, 9, 13, 240,
+ 1, 9, 13, 240, 0, 9, 13, 239, 255, 9, 13, 239, 254, 9, 13, 239, 253, 9,
+ 13, 239, 252, 9, 13, 239, 251, 9, 13, 239, 250, 9, 13, 239, 249, 9, 13,
+ 239, 248, 9, 13, 239, 247, 9, 13, 239, 246, 9, 13, 239, 245, 9, 13, 239,
+ 244, 9, 13, 239, 243, 9, 13, 239, 242, 9, 13, 239, 241, 9, 13, 239, 240,
+ 9, 13, 239, 239, 9, 13, 239, 238, 9, 13, 239, 237, 9, 13, 239, 236, 9,
+ 13, 239, 235, 9, 13, 239, 234, 9, 13, 239, 233, 9, 13, 239, 232, 9, 13,
+ 239, 231, 9, 13, 239, 230, 9, 13, 239, 229, 9, 13, 239, 228, 9, 13, 239,
+ 227, 9, 13, 239, 226, 9, 13, 239, 225, 9, 13, 239, 224, 9, 13, 239, 223,
+ 9, 13, 239, 222, 9, 13, 239, 221, 9, 13, 239, 220, 9, 13, 239, 219, 9,
+ 13, 239, 218, 9, 13, 239, 217, 9, 13, 239, 216, 9, 13, 239, 215, 9, 13,
+ 239, 214, 9, 13, 239, 213, 9, 13, 239, 212, 9, 13, 239, 211, 9, 13, 239,
+ 210, 9, 13, 239, 209, 9, 13, 239, 208, 9, 13, 239, 207, 9, 13, 239, 206,
+ 9, 13, 239, 205, 9, 13, 239, 204, 9, 13, 239, 203, 9, 13, 239, 202, 9,
+ 13, 239, 201, 9, 13, 239, 200, 9, 13, 239, 199, 9, 13, 239, 198, 9, 13,
+ 239, 197, 9, 13, 239, 196, 9, 13, 239, 195, 9, 13, 239, 194, 9, 13, 239,
+ 193, 9, 13, 239, 192, 9, 13, 239, 191, 9, 13, 239, 190, 9, 13, 239, 189,
+ 9, 13, 239, 188, 9, 13, 239, 187, 9, 13, 239, 186, 9, 13, 239, 185, 9,
+ 13, 239, 184, 9, 13, 239, 183, 9, 13, 239, 182, 9, 13, 239, 181, 9, 13,
+ 239, 180, 9, 13, 239, 179, 9, 13, 239, 178, 9, 13, 239, 177, 9, 13, 239,
+ 176, 9, 13, 239, 175, 9, 13, 239, 174, 9, 13, 239, 173, 9, 13, 239, 172,
+ 9, 13, 239, 171, 9, 13, 239, 170, 9, 13, 239, 169, 9, 13, 239, 168, 9,
+ 13, 239, 167, 9, 13, 239, 166, 9, 13, 239, 165, 9, 13, 239, 164, 9, 13,
+ 239, 163, 9, 13, 239, 162, 9, 13, 239, 161, 9, 13, 239, 160, 9, 13, 239,
+ 159, 9, 13, 239, 158, 9, 13, 239, 157, 9, 13, 239, 156, 9, 13, 239, 155,
+ 9, 13, 239, 154, 9, 13, 239, 153, 9, 13, 239, 152, 9, 13, 239, 151, 9,
+ 13, 239, 150, 9, 13, 239, 149, 9, 13, 239, 148, 9, 13, 239, 147, 9, 13,
+ 239, 146, 9, 13, 239, 145, 9, 13, 239, 144, 9, 13, 239, 143, 9, 13, 239,
+ 142, 9, 13, 239, 141, 9, 13, 239, 140, 9, 13, 239, 139, 9, 13, 239, 138,
+ 9, 13, 239, 137, 9, 13, 239, 136, 9, 13, 239, 135, 9, 13, 239, 134, 9,
+ 13, 239, 133, 9, 13, 239, 132, 9, 13, 239, 131, 9, 13, 239, 130, 9, 13,
+ 239, 129, 9, 13, 239, 128, 9, 13, 239, 127, 9, 13, 239, 126, 9, 13, 239,
+ 125, 9, 13, 239, 124, 9, 13, 239, 123, 9, 13, 239, 122, 9, 13, 239, 121,
+ 9, 13, 239, 120, 9, 13, 239, 119, 9, 13, 239, 118, 9, 13, 239, 117, 9,
+ 13, 239, 116, 9, 13, 239, 115, 9, 13, 239, 114, 9, 13, 239, 113, 9, 13,
+ 239, 112, 9, 13, 239, 111, 9, 13, 239, 110, 9, 13, 239, 109, 9, 13, 239,
+ 108, 9, 13, 239, 107, 9, 13, 239, 106, 9, 13, 239, 105, 9, 13, 239, 104,
+ 9, 13, 239, 103, 9, 13, 239, 102, 9, 13, 239, 101, 9, 13, 239, 100, 9,
+ 13, 239, 99, 9, 13, 239, 98, 9, 13, 239, 97, 9, 13, 239, 96, 9, 13, 239,
+ 95, 9, 13, 239, 94, 9, 13, 239, 93, 9, 13, 239, 92, 9, 13, 239, 91, 9,
+ 13, 239, 90, 9, 13, 239, 89, 9, 13, 239, 88, 9, 13, 239, 87, 9, 13, 239,
+ 86, 9, 13, 239, 85, 9, 13, 239, 84, 9, 13, 239, 83, 9, 13, 239, 82, 9,
+ 13, 239, 81, 9, 13, 239, 80, 9, 13, 239, 79, 9, 13, 239, 78, 9, 13, 239,
+ 77, 9, 13, 239, 76, 9, 13, 239, 75, 9, 13, 239, 74, 9, 13, 239, 73, 9,
+ 13, 239, 72, 9, 13, 239, 71, 9, 13, 239, 70, 9, 13, 239, 69, 9, 13, 239,
+ 68, 9, 13, 239, 67, 9, 13, 239, 66, 9, 13, 239, 65, 9, 13, 239, 64, 9,
+ 13, 239, 63, 9, 13, 239, 62, 9, 13, 239, 61, 9, 13, 239, 60, 9, 13, 239,
+ 59, 9, 13, 239, 58, 9, 13, 239, 57, 9, 13, 239, 56, 9, 13, 239, 55, 9,
+ 13, 239, 54, 9, 13, 239, 53, 9, 13, 239, 52, 9, 13, 239, 51, 9, 13, 239,
+ 50, 9, 13, 239, 49, 9, 13, 239, 48, 9, 13, 239, 47, 9, 13, 239, 46, 9,
+ 13, 239, 45, 9, 13, 239, 44, 9, 13, 239, 43, 9, 13, 239, 42, 9, 13, 239,
+ 41, 9, 13, 239, 40, 9, 13, 239, 39, 9, 13, 239, 38, 9, 13, 239, 37, 9,
+ 13, 239, 36, 9, 13, 239, 35, 9, 13, 239, 34, 9, 13, 239, 33, 9, 13, 239,
+ 32, 9, 13, 239, 31, 9, 13, 239, 30, 9, 13, 239, 29, 9, 13, 239, 28, 9,
+ 13, 239, 27, 9, 13, 239, 26, 9, 13, 239, 25, 9, 13, 239, 24, 9, 13, 239,
+ 23, 9, 13, 239, 22, 9, 13, 239, 21, 9, 13, 239, 20, 9, 13, 239, 19, 9,
+ 13, 239, 18, 9, 13, 239, 17, 9, 13, 239, 16, 9, 13, 239, 15, 9, 13, 239,
+ 14, 9, 13, 239, 13, 9, 13, 239, 12, 9, 13, 239, 11, 9, 13, 239, 10, 9,
+ 13, 239, 9, 9, 13, 239, 8, 9, 13, 239, 7, 9, 13, 239, 6, 9, 13, 239, 5,
+ 9, 13, 239, 4, 9, 13, 239, 3, 9, 13, 239, 2, 9, 13, 239, 1, 9, 13, 239,
+ 0, 9, 13, 238, 255, 9, 13, 238, 254, 9, 13, 238, 253, 9, 13, 238, 252, 9,
+ 13, 238, 251, 9, 13, 238, 250, 9, 13, 238, 249, 9, 13, 238, 248, 9, 13,
+ 238, 247, 9, 13, 238, 246, 9, 13, 238, 245, 9, 13, 238, 244, 9, 13, 238,
+ 243, 9, 13, 238, 242, 9, 13, 238, 241, 9, 13, 238, 240, 9, 13, 238, 239,
+ 9, 13, 238, 238, 9, 13, 238, 237, 9, 13, 238, 236, 9, 13, 238, 235, 9,
+ 13, 238, 234, 9, 13, 238, 233, 9, 13, 238, 232, 9, 13, 238, 231, 9, 13,
+ 238, 230, 9, 13, 238, 229, 9, 13, 238, 228, 9, 13, 238, 227, 9, 13, 238,
+ 226, 9, 13, 238, 225, 9, 13, 238, 224, 9, 13, 238, 223, 9, 13, 238, 222,
+ 9, 13, 238, 221, 9, 13, 238, 220, 9, 13, 238, 219, 9, 13, 238, 218, 9,
+ 13, 238, 217, 9, 13, 238, 216, 9, 13, 238, 215, 9, 13, 238, 214, 9, 13,
+ 238, 213, 9, 13, 238, 212, 9, 13, 238, 211, 9, 13, 238, 210, 9, 13, 238,
+ 209, 9, 13, 238, 208, 9, 13, 238, 207, 9, 13, 238, 206, 9, 13, 238, 205,
+ 9, 13, 238, 204, 9, 13, 238, 203, 9, 13, 238, 202, 9, 13, 238, 201, 9,
+ 13, 238, 200, 9, 13, 238, 199, 9, 13, 238, 198, 9, 13, 238, 197, 9, 13,
+ 238, 196, 9, 13, 238, 195, 9, 13, 238, 194, 9, 13, 238, 193, 9, 13, 238,
+ 192, 9, 13, 238, 191, 9, 13, 238, 190, 9, 13, 238, 189, 9, 13, 238, 188,
+ 9, 13, 238, 187, 9, 13, 238, 186, 9, 13, 238, 185, 9, 13, 238, 184, 9,
+ 13, 238, 183, 233, 212, 218, 47, 128, 219, 225, 128, 245, 119, 79, 128,
+ 224, 178, 79, 128, 51, 53, 128, 247, 207, 53, 128, 226, 93, 53, 128, 254,
+ 162, 128, 254, 97, 128, 43, 226, 168, 128, 47, 226, 168, 128, 254, 3,
+ 128, 95, 53, 128, 250, 23, 128, 241, 20, 128, 244, 64, 219, 83, 128, 219,
+ 250, 128, 21, 212, 79, 128, 21, 118, 128, 21, 112, 128, 21, 170, 128, 21,
+ 167, 128, 21, 185, 128, 21, 192, 128, 21, 200, 128, 21, 198, 128, 21,
+ 203, 128, 250, 30, 128, 221, 93, 128, 233, 137, 53, 128, 245, 182, 53,
+ 128, 242, 228, 53, 128, 224, 193, 79, 128, 250, 22, 253, 249, 128, 7, 6,
+ 1, 63, 128, 7, 6, 1, 253, 201, 128, 7, 6, 1, 251, 121, 128, 7, 6, 1, 249,
+ 125, 128, 7, 6, 1, 77, 128, 7, 6, 1, 245, 95, 128, 7, 6, 1, 244, 41, 128,
+ 7, 6, 1, 242, 162, 128, 7, 6, 1, 75, 128, 7, 6, 1, 236, 3, 128, 7, 6, 1,
+ 235, 141, 128, 7, 6, 1, 155, 128, 7, 6, 1, 184, 128, 7, 6, 1, 206, 128,
+ 7, 6, 1, 78, 128, 7, 6, 1, 227, 11, 128, 7, 6, 1, 225, 19, 128, 7, 6, 1,
+ 152, 128, 7, 6, 1, 196, 128, 7, 6, 1, 218, 113, 128, 7, 6, 1, 72, 128, 7,
+ 6, 1, 211, 211, 128, 7, 6, 1, 214, 85, 128, 7, 6, 1, 213, 169, 128, 7, 6,
+ 1, 213, 108, 128, 7, 6, 1, 212, 152, 128, 43, 42, 125, 128, 223, 237,
+ 219, 250, 128, 47, 42, 125, 128, 250, 91, 255, 46, 128, 117, 233, 83,
+ 128, 242, 234, 255, 46, 128, 7, 4, 1, 63, 128, 7, 4, 1, 253, 201, 128, 7,
+ 4, 1, 251, 121, 128, 7, 4, 1, 249, 125, 128, 7, 4, 1, 77, 128, 7, 4, 1,
+ 245, 95, 128, 7, 4, 1, 244, 41, 128, 7, 4, 1, 242, 162, 128, 7, 4, 1, 75,
+ 128, 7, 4, 1, 236, 3, 128, 7, 4, 1, 235, 141, 128, 7, 4, 1, 155, 128, 7,
+ 4, 1, 184, 128, 7, 4, 1, 206, 128, 7, 4, 1, 78, 128, 7, 4, 1, 227, 11,
+ 128, 7, 4, 1, 225, 19, 128, 7, 4, 1, 152, 128, 7, 4, 1, 196, 128, 7, 4,
+ 1, 218, 113, 128, 7, 4, 1, 72, 128, 7, 4, 1, 211, 211, 128, 7, 4, 1, 214,
+ 85, 128, 7, 4, 1, 213, 169, 128, 7, 4, 1, 213, 108, 128, 7, 4, 1, 212,
+ 152, 128, 43, 249, 163, 125, 128, 66, 233, 83, 128, 47, 249, 163, 125,
+ 128, 177, 251, 62, 218, 47, 44, 222, 21, 44, 222, 10, 44, 221, 255, 44,
+ 221, 243, 44, 221, 232, 44, 221, 221, 44, 221, 210, 44, 221, 199, 44,
+ 221, 188, 44, 221, 180, 44, 221, 179, 44, 221, 178, 44, 221, 177, 44,
+ 221, 175, 44, 221, 174, 44, 221, 173, 44, 221, 172, 44, 221, 171, 44,
+ 221, 170, 44, 221, 169, 44, 221, 168, 44, 221, 167, 44, 221, 166, 44,
+ 221, 164, 44, 221, 163, 44, 221, 162, 44, 221, 161, 44, 221, 160, 44,
+ 221, 159, 44, 221, 158, 44, 221, 157, 44, 221, 156, 44, 221, 155, 44,
+ 221, 153, 44, 221, 152, 44, 221, 151, 44, 221, 150, 44, 221, 149, 44,
+ 221, 148, 44, 221, 147, 44, 221, 146, 44, 221, 145, 44, 221, 144, 44,
+ 221, 142, 44, 221, 141, 44, 221, 140, 44, 221, 139, 44, 221, 138, 44,
+ 221, 137, 44, 221, 136, 44, 221, 135, 44, 221, 134, 44, 221, 133, 44,
+ 221, 131, 44, 221, 130, 44, 221, 129, 44, 221, 128, 44, 221, 127, 44,
+ 221, 126, 44, 221, 125, 44, 221, 124, 44, 221, 123, 44, 221, 122, 44,
+ 221, 120, 44, 221, 119, 44, 221, 118, 44, 221, 117, 44, 221, 116, 44,
+ 221, 115, 44, 221, 114, 44, 221, 113, 44, 221, 112, 44, 221, 111, 44,
+ 221, 109, 44, 221, 108, 44, 221, 107, 44, 221, 106, 44, 221, 105, 44,
+ 221, 104, 44, 221, 103, 44, 221, 102, 44, 221, 101, 44, 221, 100, 44,
+ 222, 97, 44, 222, 96, 44, 222, 95, 44, 222, 94, 44, 222, 93, 44, 222, 92,
+ 44, 222, 91, 44, 222, 90, 44, 222, 89, 44, 222, 88, 44, 222, 86, 44, 222,
+ 85, 44, 222, 84, 44, 222, 83, 44, 222, 82, 44, 222, 81, 44, 222, 80, 44,
+ 222, 79, 44, 222, 78, 44, 222, 77, 44, 222, 75, 44, 222, 74, 44, 222, 73,
+ 44, 222, 72, 44, 222, 71, 44, 222, 70, 44, 222, 69, 44, 222, 68, 44, 222,
+ 67, 44, 222, 66, 44, 222, 64, 44, 222, 63, 44, 222, 62, 44, 222, 61, 44,
+ 222, 60, 44, 222, 59, 44, 222, 58, 44, 222, 57, 44, 222, 56, 44, 222, 55,
+ 44, 222, 53, 44, 222, 52, 44, 222, 51, 44, 222, 50, 44, 222, 49, 44, 222,
+ 48, 44, 222, 47, 44, 222, 46, 44, 222, 45, 44, 222, 44, 44, 222, 42, 44,
+ 222, 41, 44, 222, 40, 44, 222, 39, 44, 222, 38, 44, 222, 37, 44, 222, 36,
+ 44, 222, 35, 44, 222, 34, 44, 222, 33, 44, 222, 31, 44, 222, 30, 44, 222,
+ 29, 44, 222, 28, 44, 222, 27, 44, 222, 26, 44, 222, 25, 44, 222, 24, 44,
+ 222, 23, 44, 222, 22, 44, 222, 20, 44, 222, 19, 44, 222, 18, 44, 222, 17,
+ 44, 222, 16, 44, 222, 15, 44, 222, 14, 44, 222, 13, 44, 222, 12, 44, 222,
+ 11, 44, 222, 9, 44, 222, 8, 44, 222, 7, 44, 222, 6, 44, 222, 5, 44, 222,
+ 4, 44, 222, 3, 44, 222, 2, 44, 222, 1, 44, 222, 0, 44, 221, 254, 44, 221,
+ 253, 44, 221, 252, 44, 221, 251, 44, 221, 250, 44, 221, 249, 44, 221,
+ 248, 44, 221, 247, 44, 221, 246, 44, 221, 245, 44, 221, 242, 44, 221,
+ 241, 44, 221, 240, 44, 221, 239, 44, 221, 238, 44, 221, 237, 44, 221,
+ 236, 44, 221, 235, 44, 221, 234, 44, 221, 233, 44, 221, 231, 44, 221,
+ 230, 44, 221, 229, 44, 221, 228, 44, 221, 227, 44, 221, 226, 44, 221,
+ 225, 44, 221, 224, 44, 221, 223, 44, 221, 222, 44, 221, 220, 44, 221,
+ 219, 44, 221, 218, 44, 221, 217, 44, 221, 216, 44, 221, 215, 44, 221,
+ 214, 44, 221, 213, 44, 221, 212, 44, 221, 211, 44, 221, 209, 44, 221,
+ 208, 44, 221, 207, 44, 221, 206, 44, 221, 205, 44, 221, 204, 44, 221,
+ 203, 44, 221, 202, 44, 221, 201, 44, 221, 200, 44, 221, 198, 44, 221,
+ 197, 44, 221, 196, 44, 221, 195, 44, 221, 194, 44, 221, 193, 44, 221,
+ 192, 44, 221, 191, 44, 221, 190, 44, 221, 189, 44, 221, 187, 44, 221,
+ 186, 44, 221, 185, 44, 221, 184, 44, 221, 183, 44, 221, 182, 44, 221,
+ 181, 7, 6, 1, 243, 89, 7, 4, 1, 243, 89, 158, 1, 233, 45, 202, 1, 244,
+ 133, 244, 125, 202, 1, 244, 133, 244, 246, 202, 1, 223, 146, 202, 1, 233,
+ 26, 61, 156, 252, 15, 220, 204, 243, 55, 231, 129, 223, 228, 8, 3, 236,
+ 17, 79, 225, 110, 244, 109, 31, 66, 47, 69, 233, 142, 125, 48, 27, 16,
+ 244, 71, 220, 49, 250, 133, 214, 247, 7, 6, 1, 111, 2, 232, 111, 22, 209,
+ 7, 4, 1, 111, 2, 232, 111, 22, 209, 7, 6, 1, 154, 2, 66, 233, 84, 55, 7,
+ 4, 1, 154, 2, 66, 233, 84, 55, 7, 6, 1, 154, 2, 66, 233, 84, 252, 90, 22,
+ 209, 7, 4, 1, 154, 2, 66, 233, 84, 252, 90, 22, 209, 7, 6, 1, 154, 2, 66,
+ 233, 84, 252, 90, 22, 138, 7, 4, 1, 154, 2, 66, 233, 84, 252, 90, 22,
+ 138, 7, 6, 1, 154, 2, 250, 91, 22, 232, 110, 7, 4, 1, 154, 2, 250, 91,
+ 22, 232, 110, 7, 6, 1, 154, 2, 250, 91, 22, 251, 34, 7, 4, 1, 154, 2,
+ 250, 91, 22, 251, 34, 7, 6, 1, 241, 7, 2, 232, 111, 22, 209, 7, 4, 1,
+ 241, 7, 2, 232, 111, 22, 209, 7, 4, 1, 241, 7, 2, 62, 74, 22, 138, 7, 4,
+ 1, 229, 229, 2, 217, 56, 50, 7, 6, 1, 141, 2, 66, 233, 84, 55, 7, 4, 1,
+ 141, 2, 66, 233, 84, 55, 7, 6, 1, 141, 2, 66, 233, 84, 252, 90, 22, 209,
+ 7, 4, 1, 141, 2, 66, 233, 84, 252, 90, 22, 209, 7, 6, 1, 141, 2, 66, 233,
+ 84, 252, 90, 22, 138, 7, 4, 1, 141, 2, 66, 233, 84, 252, 90, 22, 138, 7,
+ 6, 1, 223, 29, 2, 66, 233, 84, 55, 7, 4, 1, 223, 29, 2, 66, 233, 84, 55,
+ 7, 6, 1, 103, 2, 232, 111, 22, 209, 7, 4, 1, 103, 2, 232, 111, 22, 209,
+ 7, 6, 1, 111, 2, 227, 128, 22, 138, 7, 4, 1, 111, 2, 227, 128, 22, 138,
+ 7, 6, 1, 111, 2, 227, 128, 22, 177, 7, 4, 1, 111, 2, 227, 128, 22, 177,
+ 7, 6, 1, 154, 2, 227, 128, 22, 138, 7, 4, 1, 154, 2, 227, 128, 22, 138,
+ 7, 6, 1, 154, 2, 227, 128, 22, 177, 7, 4, 1, 154, 2, 227, 128, 22, 177,
+ 7, 6, 1, 154, 2, 62, 74, 22, 138, 7, 4, 1, 154, 2, 62, 74, 22, 138, 7, 6,
+ 1, 154, 2, 62, 74, 22, 177, 7, 4, 1, 154, 2, 62, 74, 22, 177, 7, 4, 1,
+ 241, 7, 2, 62, 74, 22, 209, 7, 4, 1, 241, 7, 2, 62, 74, 22, 177, 7, 6, 1,
+ 241, 7, 2, 227, 128, 22, 138, 7, 4, 1, 241, 7, 2, 227, 128, 22, 62, 74,
+ 22, 138, 7, 6, 1, 241, 7, 2, 227, 128, 22, 177, 7, 4, 1, 241, 7, 2, 227,
+ 128, 22, 62, 74, 22, 177, 7, 6, 1, 236, 4, 2, 177, 7, 4, 1, 236, 4, 2,
+ 62, 74, 22, 177, 7, 6, 1, 234, 13, 2, 177, 7, 4, 1, 234, 13, 2, 177, 7,
+ 6, 1, 232, 183, 2, 177, 7, 4, 1, 232, 183, 2, 177, 7, 6, 1, 224, 148, 2,
+ 177, 7, 4, 1, 224, 148, 2, 177, 7, 6, 1, 103, 2, 227, 128, 22, 138, 7, 4,
+ 1, 103, 2, 227, 128, 22, 138, 7, 6, 1, 103, 2, 227, 128, 22, 177, 7, 4,
+ 1, 103, 2, 227, 128, 22, 177, 7, 6, 1, 103, 2, 232, 111, 22, 138, 7, 4,
+ 1, 103, 2, 232, 111, 22, 138, 7, 6, 1, 103, 2, 232, 111, 22, 177, 7, 4,
+ 1, 103, 2, 232, 111, 22, 177, 7, 4, 1, 255, 21, 2, 209, 7, 4, 1, 210,
+ 141, 2, 209, 7, 4, 1, 210, 141, 2, 138, 7, 4, 1, 216, 66, 215, 86, 2,
+ 209, 7, 4, 1, 216, 66, 215, 86, 2, 138, 7, 4, 1, 222, 137, 2, 209, 7, 4,
+ 1, 222, 137, 2, 138, 7, 4, 1, 241, 156, 222, 137, 2, 209, 7, 4, 1, 241,
+ 156, 222, 137, 2, 138, 142, 1, 234, 227, 36, 120, 235, 141, 36, 120, 229,
+ 228, 36, 120, 251, 121, 36, 120, 228, 66, 36, 120, 216, 131, 36, 120,
+ 229, 7, 36, 120, 218, 113, 36, 120, 206, 36, 120, 227, 11, 36, 120, 184,
+ 36, 120, 213, 108, 36, 120, 152, 36, 120, 155, 36, 120, 211, 211, 36,
+ 120, 233, 46, 36, 120, 233, 55, 36, 120, 223, 116, 36, 120, 228, 247, 36,
+ 120, 236, 3, 36, 120, 221, 49, 36, 120, 219, 177, 36, 120, 196, 36, 120,
+ 242, 162, 36, 120, 234, 96, 36, 3, 235, 128, 36, 3, 234, 212, 36, 3, 234,
+ 203, 36, 3, 234, 81, 36, 3, 234, 52, 36, 3, 235, 44, 36, 3, 235, 43, 36,
+ 3, 235, 108, 36, 3, 234, 148, 36, 3, 234, 130, 36, 3, 235, 57, 36, 3,
+ 229, 225, 36, 3, 229, 178, 36, 3, 229, 174, 36, 3, 229, 143, 36, 3, 229,
+ 136, 36, 3, 229, 214, 36, 3, 229, 212, 36, 3, 229, 223, 36, 3, 229, 155,
+ 36, 3, 229, 150, 36, 3, 229, 216, 36, 3, 251, 87, 36, 3, 250, 111, 36, 3,
+ 250, 101, 36, 3, 249, 176, 36, 3, 249, 148, 36, 3, 250, 247, 36, 3, 250,
+ 239, 36, 3, 251, 78, 36, 3, 250, 42, 36, 3, 249, 236, 36, 3, 251, 22, 36,
+ 3, 228, 63, 36, 3, 228, 49, 36, 3, 228, 44, 36, 3, 228, 29, 36, 3, 228,
+ 22, 36, 3, 228, 56, 36, 3, 228, 55, 36, 3, 228, 61, 36, 3, 228, 35, 36,
+ 3, 228, 33, 36, 3, 228, 59, 36, 3, 216, 127, 36, 3, 216, 107, 36, 3, 216,
+ 106, 36, 3, 216, 95, 36, 3, 216, 92, 36, 3, 216, 123, 36, 3, 216, 122,
+ 36, 3, 216, 126, 36, 3, 216, 105, 36, 3, 216, 104, 36, 3, 216, 125, 36,
+ 3, 229, 5, 36, 3, 228, 249, 36, 3, 228, 248, 36, 3, 228, 232, 36, 3, 228,
+ 231, 36, 3, 229, 2, 36, 3, 229, 1, 36, 3, 229, 4, 36, 3, 228, 234, 36, 3,
+ 228, 233, 36, 3, 229, 3, 36, 3, 218, 63, 36, 3, 217, 84, 36, 3, 217, 70,
+ 36, 3, 216, 90, 36, 3, 216, 57, 36, 3, 217, 242, 36, 3, 217, 232, 36, 3,
+ 218, 42, 36, 3, 109, 36, 3, 216, 243, 36, 3, 218, 5, 36, 3, 230, 112, 36,
+ 3, 229, 128, 36, 3, 229, 103, 36, 3, 228, 135, 36, 3, 228, 78, 36, 3,
+ 229, 254, 36, 3, 229, 251, 36, 3, 230, 99, 36, 3, 228, 228, 36, 3, 228,
+ 218, 36, 3, 230, 76, 36, 3, 226, 251, 36, 3, 226, 20, 36, 3, 225, 239,
+ 36, 3, 225, 71, 36, 3, 225, 42, 36, 3, 226, 132, 36, 3, 226, 122, 36, 3,
+ 226, 235, 36, 3, 225, 186, 36, 3, 225, 165, 36, 3, 226, 144, 36, 3, 232,
+ 114, 36, 3, 231, 112, 36, 3, 231, 84, 36, 3, 230, 242, 36, 3, 230, 194,
+ 36, 3, 231, 226, 36, 3, 231, 215, 36, 3, 232, 81, 36, 3, 231, 45, 36, 3,
+ 231, 16, 36, 3, 232, 13, 36, 3, 213, 94, 36, 3, 213, 0, 36, 3, 212, 247,
+ 36, 3, 212, 204, 36, 3, 212, 173, 36, 3, 213, 39, 36, 3, 213, 36, 36, 3,
+ 213, 73, 36, 3, 212, 236, 36, 3, 212, 221, 36, 3, 213, 47, 36, 3, 224,
+ 109, 36, 3, 223, 222, 36, 3, 223, 170, 36, 3, 223, 77, 36, 3, 223, 49,
+ 36, 3, 224, 55, 36, 3, 224, 35, 36, 3, 224, 92, 36, 3, 223, 146, 36, 3,
+ 223, 133, 36, 3, 224, 63, 36, 3, 233, 254, 36, 3, 233, 111, 36, 3, 233,
+ 97, 36, 3, 232, 230, 36, 3, 232, 205, 36, 3, 233, 180, 36, 3, 233, 172,
+ 36, 3, 233, 231, 36, 3, 233, 26, 36, 3, 232, 254, 36, 3, 233, 196, 36, 3,
+ 215, 7, 36, 3, 214, 159, 36, 3, 214, 147, 36, 3, 214, 103, 36, 3, 214,
+ 96, 36, 3, 214, 237, 36, 3, 214, 232, 36, 3, 215, 5, 36, 3, 214, 123, 36,
+ 3, 214, 112, 36, 3, 214, 243, 36, 3, 233, 44, 36, 3, 233, 39, 36, 3, 233,
+ 38, 36, 3, 233, 35, 36, 3, 233, 34, 36, 3, 233, 41, 36, 3, 233, 40, 36,
+ 3, 233, 43, 36, 3, 233, 37, 36, 3, 233, 36, 36, 3, 233, 42, 36, 3, 233,
+ 53, 36, 3, 233, 48, 36, 3, 233, 47, 36, 3, 233, 31, 36, 3, 233, 30, 36,
+ 3, 233, 50, 36, 3, 233, 49, 36, 3, 233, 52, 36, 3, 233, 33, 36, 3, 233,
+ 32, 36, 3, 233, 51, 36, 3, 223, 114, 36, 3, 223, 103, 36, 3, 223, 102,
+ 36, 3, 223, 96, 36, 3, 223, 89, 36, 3, 223, 110, 36, 3, 223, 109, 36, 3,
+ 223, 113, 36, 3, 223, 101, 36, 3, 223, 100, 36, 3, 223, 112, 36, 3, 228,
+ 245, 36, 3, 228, 240, 36, 3, 228, 239, 36, 3, 228, 236, 36, 3, 228, 235,
+ 36, 3, 228, 242, 36, 3, 228, 241, 36, 3, 228, 244, 36, 3, 228, 238, 36,
+ 3, 228, 237, 36, 3, 228, 243, 36, 3, 235, 255, 36, 3, 235, 225, 36, 3,
+ 235, 218, 36, 3, 235, 168, 36, 3, 235, 151, 36, 3, 235, 242, 36, 3, 235,
+ 240, 36, 3, 235, 251, 36, 3, 235, 185, 36, 3, 235, 176, 36, 3, 235, 245,
+ 36, 3, 221, 43, 36, 3, 220, 233, 36, 3, 220, 228, 36, 3, 220, 170, 36, 3,
+ 220, 155, 36, 3, 221, 8, 36, 3, 221, 6, 36, 3, 221, 35, 36, 3, 220, 208,
+ 36, 3, 220, 202, 36, 3, 221, 16, 36, 3, 219, 175, 36, 3, 219, 145, 36, 3,
+ 219, 141, 36, 3, 219, 132, 36, 3, 219, 129, 36, 3, 219, 150, 36, 3, 219,
+ 149, 36, 3, 219, 174, 36, 3, 219, 137, 36, 3, 219, 136, 36, 3, 219, 152,
+ 36, 3, 222, 225, 36, 3, 220, 136, 36, 3, 220, 120, 36, 3, 219, 41, 36, 3,
+ 218, 219, 36, 3, 222, 123, 36, 3, 222, 112, 36, 3, 222, 212, 36, 3, 220,
+ 5, 36, 3, 219, 245, 36, 3, 222, 160, 36, 3, 242, 148, 36, 3, 242, 28, 36,
+ 3, 242, 10, 36, 3, 241, 74, 36, 3, 241, 55, 36, 3, 242, 85, 36, 3, 242,
+ 67, 36, 3, 242, 138, 36, 3, 241, 173, 36, 3, 241, 158, 36, 3, 242, 93,
+ 36, 3, 234, 95, 36, 3, 234, 94, 36, 3, 234, 89, 36, 3, 234, 88, 36, 3,
+ 234, 85, 36, 3, 234, 84, 36, 3, 234, 91, 36, 3, 234, 90, 36, 3, 234, 93,
+ 36, 3, 234, 87, 36, 3, 234, 86, 36, 3, 234, 92, 36, 3, 220, 176, 99, 1,
+ 216, 1, 67, 120, 5, 250, 37, 183, 67, 120, 5, 250, 37, 234, 250, 67, 120,
+ 5, 250, 37, 234, 148, 67, 120, 5, 250, 37, 234, 224, 67, 120, 5, 250, 37,
+ 229, 155, 67, 120, 5, 250, 37, 251, 88, 67, 120, 5, 250, 37, 250, 215,
+ 67, 120, 5, 250, 37, 250, 42, 67, 120, 5, 250, 37, 250, 146, 67, 120, 5,
+ 250, 37, 228, 35, 67, 120, 5, 250, 37, 249, 30, 67, 120, 5, 250, 37, 216,
+ 116, 67, 120, 5, 250, 37, 247, 220, 67, 120, 5, 250, 37, 216, 111, 67,
+ 120, 5, 250, 37, 207, 67, 120, 5, 250, 37, 218, 66, 67, 120, 5, 250, 37,
+ 217, 174, 67, 120, 5, 250, 37, 109, 67, 120, 5, 250, 37, 217, 122, 67,
+ 120, 5, 250, 37, 228, 228, 67, 120, 5, 250, 37, 252, 234, 67, 120, 5,
+ 250, 37, 226, 59, 67, 120, 5, 250, 37, 225, 186, 67, 120, 5, 250, 37,
+ 226, 33, 67, 120, 5, 250, 37, 231, 45, 67, 120, 5, 250, 37, 212, 236, 67,
+ 120, 5, 250, 37, 223, 146, 67, 120, 5, 250, 37, 233, 26, 67, 120, 5, 250,
+ 37, 214, 123, 67, 120, 5, 250, 37, 221, 47, 67, 120, 5, 250, 37, 219,
+ 176, 67, 120, 5, 250, 37, 222, 227, 67, 120, 5, 250, 37, 162, 67, 120, 5,
+ 250, 37, 233, 255, 67, 30, 5, 250, 37, 225, 11, 67, 236, 101, 30, 5, 250,
+ 37, 224, 210, 67, 236, 101, 30, 5, 250, 37, 223, 37, 67, 236, 101, 30, 5,
+ 250, 37, 223, 30, 67, 236, 101, 30, 5, 250, 37, 224, 248, 67, 30, 5, 227,
+ 107, 67, 30, 5, 255, 65, 136, 1, 252, 47, 229, 226, 136, 1, 252, 47, 229,
+ 178, 136, 1, 252, 47, 229, 143, 136, 1, 252, 47, 229, 214, 136, 1, 252,
+ 47, 229, 155, 56, 1, 252, 47, 229, 226, 56, 1, 252, 47, 229, 178, 56, 1,
+ 252, 47, 229, 143, 56, 1, 252, 47, 229, 214, 56, 1, 252, 47, 229, 155,
+ 56, 1, 254, 229, 250, 247, 56, 1, 254, 229, 216, 90, 56, 1, 254, 229,
+ 109, 56, 1, 254, 229, 227, 11, 59, 1, 245, 109, 245, 108, 249, 244, 161,
+ 134, 59, 1, 245, 108, 245, 109, 249, 244, 161, 134,
};
static unsigned char phrasebook_offset1[] = {
@@ -13551,6 +13709,7 @@ static unsigned char phrasebook_offset1[] = {
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
+ 17, 17, 219, 17, 220, 221, 222, 223, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
@@ -13607,7 +13766,7 @@ static unsigned char phrasebook_offset1[] = {
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
- 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
+ 17,
};
static unsigned int phrasebook_offset2[] = {
@@ -13619,2569 +13778,2626 @@ static unsigned int phrasebook_offset2[] = {
209, 212, 216, 219, 223, 227, 232, 237, 242, 246, 251, 256, 261, 265,
270, 275, 279, 283, 287, 291, 296, 301, 305, 309, 314, 318, 323, 328,
333, 338, 343, 347, 350, 354, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 356, 360, 365,
- 368, 371, 374, 377, 380, 383, 385, 388, 394, 402, 405, 409, 412, 414,
- 417, 420, 423, 426, 430, 433, 436, 440, 442, 445, 451, 459, 466, 473,
- 480, 485, 492, 498, 505, 512, 519, 527, 532, 540, 547, 553, 560, 567,
- 575, 582, 590, 598, 603, 611, 618, 624, 631, 638, 645, 648, 654, 661,
- 667, 674, 681, 688, 693, 699, 706, 712, 719, 726, 733, 741, 746, 754,
- 761, 767, 774, 781, 789, 796, 804, 812, 817, 825, 832, 838, 845, 852,
- 859, 862, 868, 875, 881, 888, 895, 902, 907, 915, 922, 929, 936, 943,
- 950, 957, 964, 971, 979, 987, 995, 1003, 1011, 1019, 1027, 1035, 1042,
- 1049, 1056, 1063, 1070, 1077, 1084, 1091, 1098, 1105, 1112, 1119, 1127,
- 1135, 1143, 1151, 1159, 1167, 1175, 1183, 1191, 1199, 1206, 1213, 1221,
- 1229, 1237, 1245, 1253, 1261, 1269, 1277, 1285, 1291, 1296, 1301, 1309,
- 1317, 1325, 1333, 1338, 1345, 1352, 1360, 1368, 1376, 1384, 1394, 1404,
- 1411, 1418, 1425, 1432, 1440, 1448, 1456, 1464, 1475, 1480, 1485, 1492,
- 1499, 1506, 1513, 1520, 1527, 1532, 1537, 1544, 1551, 1559, 1567, 1575,
- 1583, 1590, 1597, 1605, 1613, 1621, 1629, 1637, 1645, 1653, 1661, 1669,
- 1677, 1684, 1691, 1698, 1705, 1712, 1719, 1726, 1733, 1741, 1749, 1756,
- 1763, 1770, 1777, 1785, 1793, 1801, 1809, 1817, 1824, 1831, 1839, 1847,
- 1855, 1863, 1868, 1874, 1880, 1887, 1894, 1899, 1904, 1910, 1917, 1924,
- 1931, 1938, 1946, 1954, 1961, 1967, 1972, 1978, 1985, 1992, 1999, 2004,
- 2009, 2014, 2021, 2028, 2035, 2042, 2049, 2055, 2063, 2073, 2082, 2089,
- 2096, 2101, 2106, 2113, 2120, 2124, 2129, 2134, 2139, 2147, 2156, 2163,
- 2170, 2179, 2186, 2193, 2198, 2205, 2212, 2219, 2226, 2233, 2238, 2245,
- 2252, 2260, 2265, 2270, 2275, 2285, 2289, 2295, 2301, 2307, 2313, 2321,
- 2334, 2342, 2347, 2357, 2362, 2367, 2377, 2382, 2389, 2396, 2404, 2412,
- 2419, 2426, 2433, 2440, 2450, 2460, 2469, 2478, 2488, 2498, 2508, 2518,
- 2524, 2534, 2544, 2554, 2564, 2572, 2580, 2587, 2594, 2602, 2610, 2618,
- 2626, 2633, 2640, 2650, 2660, 2668, 2676, 2684, 2689, 2699, 2704, 2711,
- 2718, 2723, 2728, 2736, 2744, 2754, 2764, 2771, 2778, 2787, 2796, 2804,
- 2812, 2821, 2830, 2838, 2846, 2855, 2864, 2873, 2882, 2892, 2902, 2910,
- 2918, 2927, 2936, 2945, 2954, 2964, 2974, 2982, 2990, 2999, 3008, 3017,
- 3026, 3035, 3044, 3049, 3054, 3062, 3070, 3080, 3088, 3093, 3098, 3105,
- 3112, 3119, 3126, 3133, 3140, 3150, 3160, 3170, 3180, 3187, 3194, 3204,
- 3214, 3222, 3230, 3238, 3246, 3254, 3261, 3268, 3275, 3281, 3288, 3295,
- 3302, 3311, 3321, 3331, 3338, 3345, 3351, 3356, 3363, 3369, 3375, 3382,
- 3389, 3400, 3410, 3417, 3424, 3431, 3438, 3444, 3449, 3456, 3462, 3468,
- 3476, 3484, 3491, 3497, 3502, 3509, 3515, 3523, 3533, 3543, 3552, 3559,
- 3565, 3571, 3576, 3583, 3590, 3597, 3604, 3611, 3616, 3621, 3631, 3639,
- 3648, 3653, 3659, 3670, 3677, 3685, 3694, 3699, 3705, 3711, 3718, 3723,
- 3729, 3740, 3749, 3758, 3766, 3774, 3784, 3789, 3796, 3803, 3808, 3820,
- 3829, 3837, 3844, 3853, 3858, 3863, 3870, 3877, 3884, 3891, 3897, 3906,
- 3914, 3919, 3927, 3933, 3941, 3949, 3955, 3961, 3967, 3975, 3983, 3989,
- 3997, 4004, 4009, 4016, 4024, 4034, 4041, 4048, 4058, 4065, 4072, 4082,
- 4089, 4096, 4103, 4109, 4115, 4125, 4138, 4143, 4150, 4155, 4159, 4165,
- 4174, 4181, 4186, 4191, 4195, 4200, 4206, 4210, 4216, 4222, 4228, 4234,
- 4242, 4247, 4252, 4257, 4262, 4268, 4270, 4275, 4279, 4285, 4291, 4297,
- 4302, 4309, 4316, 4322, 4329, 4337, 4345, 4350, 4355, 4359, 4364, 4366,
- 4368, 4371, 4373, 4376, 4381, 4386, 4392, 4397, 4401, 4405, 4410, 4419,
- 4425, 4430, 4436, 4441, 4447, 4455, 4463, 4467, 4471, 4476, 4482, 4488,
- 4494, 4500, 4505, 4513, 4522, 4531, 4536, 4542, 4549, 4556, 4563, 4570,
- 4574, 4580, 4585, 4590, 4595, 4600, 4603, 4606, 4609, 4612, 4615, 4618,
- 4622, 4626, 4632, 4635, 4640, 4646, 4652, 4655, 4660, 4666, 4670, 4676,
- 4682, 4688, 4694, 4699, 4704, 4709, 4712, 4718, 4723, 4728, 4732, 4737,
- 4743, 4749, 4752, 4756, 4760, 4764, 4767, 4770, 4775, 4779, 4786, 4790,
- 4796, 4800, 4806, 4810, 4814, 4818, 4823, 4828, 4835, 4841, 4848, 4854,
- 4860, 4866, 4869, 4873, 4877, 4881, 4885, 4890, 4895, 4899, 4903, 4909,
- 4913, 4917, 4922, 4928, 4933, 4939, 4943, 4950, 4955, 4960, 4965, 4970,
- 4976, 4979, 4983, 4988, 4993, 5002, 5008, 5013, 5017, 5022, 5026, 5031,
- 5035, 5039, 5044, 5048, 5054, 5059, 5064, 5069, 5074, 5079, 5084, 5090,
- 5096, 5102, 5107, 5112, 5118, 5124, 5130, 5135, 5140, 5147, 5154, 5158,
- 5164, 5171, 0, 0, 5178, 5181, 5190, 5199, 5210, 0, 0, 0, 0, 0, 5214,
- 5217, 5222, 5230, 5235, 5243, 5251, 0, 5259, 0, 5267, 5275, 5283, 5294,
- 5299, 5304, 5309, 5314, 5319, 5324, 5329, 5334, 5339, 5344, 5349, 5354,
- 5359, 5364, 5369, 5374, 0, 5379, 5384, 5389, 5394, 5399, 5404, 5409,
- 5414, 5422, 5430, 5438, 5446, 5454, 5462, 5473, 5478, 5483, 5488, 5493,
- 5498, 5503, 5508, 5513, 5518, 5523, 5528, 5533, 5538, 5543, 5548, 5553,
- 5558, 5564, 5569, 5574, 5579, 5584, 5589, 5594, 5599, 5607, 5615, 5623,
- 5631, 5639, 5644, 5648, 5652, 5659, 5669, 5679, 5683, 5687, 5691, 5697,
- 5704, 5708, 5713, 5717, 5722, 5726, 5731, 5735, 5740, 5745, 5750, 5755,
- 5760, 5765, 5770, 5775, 5780, 5785, 5790, 5795, 5800, 5805, 5810, 5814,
- 5818, 5824, 5828, 5833, 5839, 5847, 5852, 5857, 5864, 5869, 5874, 5881,
- 5890, 5899, 5910, 5918, 5923, 5928, 5933, 5940, 5945, 5951, 5956, 5961,
- 5966, 5971, 5976, 5981, 5989, 5995, 6000, 6004, 6009, 6014, 6019, 6024,
- 6029, 6034, 6039, 6043, 6049, 6053, 6058, 6063, 6068, 6072, 6077, 6082,
- 6087, 6092, 6096, 6101, 6105, 6110, 6115, 6120, 6125, 6131, 6136, 6142,
- 6146, 6151, 6155, 6159, 6164, 6169, 6174, 6179, 6184, 6189, 6194, 6198,
- 6204, 6208, 6213, 6218, 6223, 6227, 6232, 6237, 6242, 6247, 6251, 6256,
- 6260, 6265, 6270, 6275, 6280, 6286, 6291, 6297, 6301, 6306, 6310, 6318,
- 6323, 6328, 6333, 6340, 6345, 6351, 6356, 6361, 6366, 6371, 6376, 6381,
- 6389, 6395, 6400, 6405, 6410, 6415, 6420, 6426, 6432, 6439, 6446, 6455,
- 6464, 6471, 6478, 6487, 6496, 6501, 6506, 6511, 6516, 6521, 6526, 6531,
- 6536, 6547, 6558, 6563, 6568, 6575, 6582, 6590, 6598, 6603, 6608, 6613,
- 6618, 6622, 6626, 6630, 6635, 6641, 6645, 6652, 6657, 6667, 6677, 6683,
- 6689, 6697, 6705, 6713, 6721, 6728, 6735, 6744, 6753, 6761, 6769, 6777,
- 6785, 6793, 6801, 6809, 6817, 6824, 6831, 6837, 6843, 6851, 6859, 6866,
- 6873, 6882, 6891, 6897, 6903, 6911, 6919, 6927, 6935, 6941, 6947, 6955,
- 6963, 6971, 6979, 6986, 6993, 7001, 7009, 7017, 7025, 7030, 7035, 7042,
- 7049, 7059, 7069, 7073, 7081, 7089, 7096, 7103, 7111, 7119, 7126, 7133,
- 7141, 7149, 7156, 7163, 7171, 7179, 7184, 7191, 7198, 7205, 7212, 7218,
- 7224, 7232, 7240, 7245, 7250, 7258, 7266, 7274, 7282, 7290, 7298, 7305,
- 7312, 7320, 7328, 7336, 7344, 7351, 7358, 7364, 7370, 7379, 7388, 7395,
- 7402, 7409, 7416, 7423, 7430, 7437, 7444, 7452, 7460, 7468, 7476, 7484,
- 7492, 7502, 7512, 7519, 7526, 7533, 7540, 7547, 7554, 7561, 7568, 7575,
- 7582, 7589, 7596, 7603, 7610, 7617, 7624, 7631, 7638, 7645, 7652, 7659,
- 7666, 7673, 7680, 7685, 7690, 7695, 7700, 7705, 7710, 7715, 7720, 7725,
- 7730, 7736, 7742, 7751, 7760, 7769, 7778, 7786, 7794, 7802, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 7810, 7815, 7820, 7825, 7830, 7835, 7840, 7845, 7850,
- 7854, 7859, 7864, 7869, 7874, 7879, 7884, 7889, 7894, 7899, 7904, 7909,
- 7914, 7919, 7924, 7929, 7934, 7939, 7944, 7948, 7953, 7958, 7963, 7968,
- 7973, 7978, 7983, 7988, 7993, 0, 0, 7998, 8005, 8008, 8012, 8016, 8019,
- 8023, 0, 8027, 8032, 8037, 8042, 8047, 8052, 8057, 8062, 8067, 8071,
- 8076, 8081, 8086, 8091, 8096, 8101, 8106, 8111, 8116, 8121, 8126, 8131,
- 8136, 8141, 8146, 8151, 8156, 8161, 8165, 8170, 8175, 8180, 8185, 8190,
- 8195, 8200, 8205, 8210, 8215, 0, 8222, 8227, 0, 0, 0, 0, 0, 0, 8230,
- 8235, 8240, 8245, 8252, 8259, 8264, 8269, 8274, 8279, 8284, 8289, 8294,
- 8301, 8306, 8313, 8320, 8325, 8332, 8337, 8342, 8347, 8354, 8359, 8364,
- 8371, 8380, 8385, 8390, 8395, 8400, 8406, 8411, 8418, 8425, 8432, 8437,
- 8442, 8447, 8452, 8457, 8462, 8472, 8477, 8485, 8490, 8495, 8500, 8505,
- 8512, 8519, 8526, 8532, 8538, 8545, 0, 0, 0, 0, 0, 0, 0, 0, 8552, 8556,
- 8560, 8564, 8568, 8572, 8576, 8580, 8584, 8588, 8592, 8597, 8601, 8605,
- 8610, 8614, 8619, 8623, 8627, 8631, 8636, 8640, 8645, 8649, 8653, 8657,
- 8661, 0, 0, 0, 0, 0, 8665, 8672, 8680, 8687, 8692, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 8697, 8700, 8704, 8709, 0, 0, 8713, 8719, 8725, 8728, 8735,
- 8744, 8747, 8750, 8755, 8761, 8765, 8773, 8779, 8785, 8793, 8797, 8802,
- 8813, 8818, 8822, 8826, 8830, 0, 0, 8833, 8840, 8844, 8850, 8854, 8861,
- 8867, 8874, 8880, 8886, 8890, 8894, 8900, 8904, 8908, 8912, 8916, 8920,
- 8924, 8928, 8932, 8936, 8940, 8944, 8948, 8952, 8956, 8960, 8964, 8968,
- 8976, 8984, 8994, 9003, 9012, 9015, 9019, 9023, 9027, 9031, 9035, 9039,
- 9043, 9047, 9052, 9056, 9059, 9062, 9065, 9068, 9071, 9074, 9077, 9080,
- 9084, 9087, 9090, 9095, 9100, 9106, 9109, 9116, 9125, 9130, 9135, 9142,
- 9147, 9152, 9156, 9160, 9164, 9168, 9172, 9176, 9180, 9184, 9188, 9192,
- 9197, 9202, 9209, 9215, 9221, 9227, 9232, 9240, 9248, 9253, 9259, 9265,
- 9271, 9277, 9281, 9285, 9289, 9296, 9306, 9310, 9314, 9318, 9324, 9332,
- 9336, 9340, 9347, 9351, 9355, 9359, 9366, 9373, 9385, 9389, 9393, 9397,
- 9407, 9416, 9420, 9428, 9435, 9442, 9451, 9462, 9470, 9474, 9483, 9494,
- 9502, 9515, 9523, 9531, 9539, 9547, 9553, 9562, 9569, 9573, 9581, 9585,
- 9592, 9600, 9604, 9610, 9617, 9624, 9628, 9636, 9640, 9647, 9651, 9659,
- 9663, 9671, 9679, 9686, 9694, 9702, 9709, 9715, 9719, 9726, 9734, 9740,
- 9747, 9754, 9760, 9769, 9777, 9784, 9790, 9794, 9797, 9801, 9807, 9815,
- 9819, 9825, 9831, 9838, 9845, 9848, 9855, 9860, 9868, 9873, 9877, 9890,
- 9903, 9909, 9916, 9921, 9927, 9932, 9938, 9948, 9955, 9964, 9974, 9980,
- 9985, 9990, 9994, 9998, 10003, 10008, 10014, 10022, 10030, 10041, 10046,
- 10055, 10064, 10071, 10077, 10083, 10089, 10095, 10101, 10107, 10113,
- 10119, 10125, 10132, 10139, 10146, 10152, 10160, 10169, 10175, 10182,
- 10189, 10194, 10199, 10203, 10210, 10217, 10226, 10235, 10238, 10243,
- 10248, 0, 10253, 10257, 10261, 10267, 10271, 10275, 10281, 10285, 10293,
- 10297, 10301, 10305, 10309, 10313, 10319, 10323, 10329, 10333, 10337,
- 10341, 10345, 10349, 10354, 10357, 10361, 10367, 10371, 10375, 10379,
- 10383, 10387, 10393, 10399, 10405, 10409, 10413, 10418, 10422, 10426,
- 10431, 10435, 10439, 10446, 10453, 10457, 10461, 10466, 10470, 10474,
- 10477, 10482, 10485, 10488, 10493, 10498, 10502, 10506, 10512, 10518,
- 10521, 0, 0, 10524, 10530, 10536, 10542, 10552, 10564, 10576, 10593,
- 10605, 10616, 10624, 10631, 10642, 10657, 10668, 10674, 10683, 10691,
- 10703, 10713, 10721, 10733, 10740, 10748, 10760, 10766, 10772, 10780,
- 10788, 10796, 10802, 10812, 10819, 10829, 10839, 10852, 10866, 10880,
- 10890, 10901, 10912, 10925, 10938, 10952, 10964, 10976, 10989, 11002,
- 11014, 11027, 11036, 11044, 11049, 11054, 11059, 11064, 11069, 11074,
- 11079, 11084, 11089, 11094, 11099, 11104, 11109, 11114, 11119, 11124,
- 11129, 11134, 11139, 11144, 11149, 11154, 11159, 11164, 11169, 11174,
- 11179, 11184, 11189, 11194, 11199, 11204, 11208, 11213, 11218, 11223,
- 11228, 11233, 11237, 11241, 11245, 11249, 11253, 11257, 11261, 11265,
- 11269, 11273, 11277, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11282,
- 11287, 11291, 11295, 11299, 11303, 11307, 11311, 11315, 11319, 11323,
- 11327, 11332, 11336, 11340, 11344, 11349, 11353, 11358, 11362, 11367,
- 11371, 11376, 11381, 11386, 11391, 11395, 11400, 11405, 11410, 11415,
- 11419, 11424, 11431, 11435, 11440, 11444, 11448, 11453, 11457, 11464,
- 11471, 11478, 11484, 11492, 11500, 11509, 11517, 11524, 11531, 11539,
- 11545, 11551, 11557, 11563, 11570, 11575, 11579, 11584, 0, 0, 0, 0, 0,
- 11588, 11593, 11598, 11603, 11608, 11613, 11618, 11623, 11628, 11633,
- 11638, 11643, 11648, 11653, 11658, 11663, 11668, 11673, 11678, 11683,
- 11688, 11693, 11698, 11703, 11708, 11713, 11718, 11726, 11733, 11739,
- 11744, 11752, 11759, 11765, 11772, 11778, 11783, 11790, 11797, 11803,
- 11808, 11813, 11819, 11824, 11829, 11835, 0, 0, 11840, 11846, 11852,
- 11858, 11864, 11870, 11876, 11881, 11889, 11895, 11901, 11907, 11913,
- 11919, 11927, 0, 11933, 11938, 11943, 11948, 11953, 11958, 11963, 11968,
- 11973, 11978, 11983, 11988, 11993, 11998, 12003, 12008, 12013, 12018,
- 12023, 12028, 12033, 12038, 12043, 12048, 12053, 12058, 12063, 12068, 0,
- 0, 12073, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 355, 359, 364,
+ 367, 370, 373, 376, 379, 382, 384, 387, 393, 401, 404, 408, 411, 413,
+ 416, 419, 422, 425, 429, 432, 435, 439, 441, 444, 450, 458, 465, 472,
+ 479, 484, 490, 496, 503, 509, 516, 524, 529, 537, 543, 549, 556, 563,
+ 570, 577, 585, 593, 598, 605, 611, 617, 624, 630, 637, 640, 646, 652,
+ 658, 665, 672, 679, 684, 690, 696, 702, 709, 715, 722, 730, 735, 743,
+ 749, 755, 762, 769, 776, 783, 791, 799, 804, 811, 817, 823, 830, 836,
+ 843, 846, 852, 858, 864, 871, 878, 885, 890, 898, 905, 912, 919, 926,
+ 933, 940, 947, 954, 962, 970, 978, 986, 994, 1002, 1010, 1018, 1025,
+ 1032, 1039, 1046, 1053, 1060, 1067, 1074, 1081, 1088, 1095, 1102, 1110,
+ 1118, 1126, 1134, 1142, 1150, 1158, 1166, 1174, 1182, 1189, 1196, 1203,
+ 1210, 1218, 1226, 1234, 1242, 1250, 1258, 1266, 1272, 1277, 1282, 1290,
+ 1298, 1306, 1314, 1319, 1326, 1333, 1341, 1349, 1357, 1365, 1375, 1385,
+ 1392, 1399, 1406, 1413, 1421, 1429, 1437, 1445, 1456, 1461, 1466, 1473,
+ 1480, 1487, 1494, 1501, 1508, 1513, 1518, 1525, 1532, 1540, 1548, 1556,
+ 1564, 1571, 1578, 1586, 1594, 1602, 1610, 1618, 1626, 1634, 1642, 1650,
+ 1658, 1665, 1672, 1678, 1684, 1691, 1698, 1705, 1712, 1720, 1728, 1735,
+ 1742, 1749, 1756, 1764, 1772, 1780, 1788, 1796, 1803, 1810, 1818, 1826,
+ 1834, 1842, 1847, 1853, 1859, 1866, 1873, 1878, 1883, 1888, 1895, 1902,
+ 1909, 1916, 1924, 1932, 1939, 1945, 1950, 1955, 1962, 1969, 1976, 1981,
+ 1986, 1991, 1998, 2005, 2012, 2019, 2026, 2032, 2040, 2050, 2058, 2065,
+ 2072, 2077, 2082, 2089, 2096, 2100, 2105, 2110, 2115, 2123, 2132, 2139,
+ 2146, 2155, 2162, 2169, 2174, 2181, 2188, 2195, 2202, 2209, 2214, 2221,
+ 2228, 2236, 2241, 2246, 2251, 2261, 2265, 2271, 2277, 2283, 2289, 2297,
+ 2310, 2318, 2323, 2333, 2338, 2343, 2353, 2358, 2365, 2372, 2380, 2388,
+ 2395, 2402, 2409, 2416, 2426, 2436, 2445, 2454, 2464, 2474, 2483, 2492,
+ 2498, 2508, 2518, 2528, 2538, 2546, 2554, 2561, 2568, 2576, 2584, 2592,
+ 2600, 2607, 2614, 2624, 2634, 2642, 2650, 2658, 2663, 2673, 2678, 2685,
+ 2692, 2697, 2702, 2709, 2716, 2726, 2736, 2743, 2750, 2759, 2768, 2775,
+ 2782, 2791, 2800, 2807, 2814, 2823, 2832, 2840, 2848, 2858, 2868, 2875,
+ 2882, 2891, 2900, 2908, 2916, 2926, 2936, 2943, 2950, 2959, 2968, 2977,
+ 2986, 2995, 3004, 3009, 3014, 3022, 3030, 3040, 3048, 3053, 3058, 3065,
+ 3072, 3079, 3086, 3093, 3100, 3110, 3120, 3130, 3140, 3147, 3154, 3164,
+ 3174, 3182, 3190, 3198, 3206, 3214, 3221, 3228, 3235, 3241, 3248, 3255,
+ 3262, 3271, 3281, 3291, 3298, 3305, 3311, 3316, 3323, 3329, 3335, 3342,
+ 3349, 3360, 3370, 3377, 3384, 3391, 3398, 3404, 3409, 3416, 3422, 3427,
+ 3435, 3443, 3450, 3456, 3461, 3468, 3473, 3480, 3489, 3498, 3507, 3514,
+ 3520, 3526, 3531, 3538, 3545, 3552, 3559, 3566, 3571, 3576, 3585, 3593,
+ 3602, 3607, 3613, 3624, 3631, 3639, 3648, 3653, 3659, 3665, 3672, 3677,
+ 3683, 3694, 3703, 3712, 3720, 3728, 3738, 3743, 3750, 3757, 3762, 3774,
+ 3783, 3791, 3798, 3807, 3812, 3817, 3824, 3831, 3838, 3845, 3851, 3860,
+ 3868, 3873, 3881, 3887, 3895, 3903, 3909, 3915, 3921, 3928, 3936, 3942,
+ 3950, 3957, 3962, 3969, 3977, 3987, 3994, 4001, 4011, 4018, 4025, 4035,
+ 4042, 4049, 4056, 4062, 4068, 4078, 4091, 4096, 4103, 4108, 4112, 4118,
+ 4127, 4134, 4139, 4144, 4148, 4153, 4159, 4163, 4169, 4175, 4181, 4187,
+ 4195, 4200, 4205, 4210, 4215, 4221, 4223, 4228, 4232, 4238, 4244, 4250,
+ 4255, 4262, 4269, 4275, 4282, 4290, 4298, 4303, 4308, 4312, 4317, 4319,
+ 4321, 4324, 4326, 4328, 4333, 4338, 4344, 4349, 4353, 4357, 4362, 4371,
+ 4377, 4382, 4388, 4393, 4399, 4407, 4415, 4419, 4423, 4428, 4434, 4440,
+ 4446, 4452, 4457, 4465, 4474, 4483, 4487, 4493, 4500, 4507, 4514, 4521,
+ 4525, 4530, 4535, 4540, 4545, 4550, 4552, 4555, 4558, 4561, 4564, 4567,
+ 4571, 4575, 4581, 4584, 4589, 4595, 4601, 4604, 4609, 4615, 4619, 4625,
+ 4631, 4637, 4643, 4648, 4653, 4658, 4661, 4667, 4672, 4677, 4681, 4686,
+ 4692, 4698, 4701, 4705, 4709, 4713, 4716, 4719, 4724, 4728, 4735, 4739,
+ 4745, 4749, 4755, 4759, 4763, 4767, 4772, 4777, 4784, 4790, 4797, 4803,
+ 4809, 4815, 4818, 4822, 4826, 4829, 4833, 4838, 4843, 4847, 4851, 4857,
+ 4861, 4865, 4870, 4876, 4881, 4887, 4891, 4898, 4903, 4908, 4913, 4918,
+ 4924, 4927, 4931, 4936, 4941, 4950, 4956, 4961, 4965, 4970, 4974, 4979,
+ 4983, 4987, 4992, 4995, 5001, 5006, 5011, 5016, 5021, 5026, 5031, 5037,
+ 5043, 5049, 5054, 5059, 5065, 5071, 5077, 5082, 5087, 5094, 5101, 5105,
+ 5111, 5118, 0, 0, 5125, 5128, 5137, 5146, 5157, 0, 0, 0, 0, 0, 5161,
+ 5164, 5169, 5177, 5182, 5190, 5198, 0, 5206, 0, 5214, 5222, 5230, 5241,
+ 5246, 5251, 5256, 5261, 5266, 5271, 5276, 5281, 5286, 5291, 5296, 5301,
+ 5306, 5311, 5316, 5321, 0, 5326, 5331, 5336, 5341, 5346, 5351, 5356,
+ 5361, 5369, 5377, 5385, 5393, 5401, 5409, 5420, 5425, 5430, 5435, 5440,
+ 5445, 5450, 5455, 5460, 5465, 5470, 5475, 5480, 5485, 5490, 5495, 5500,
+ 5505, 5511, 5516, 5521, 5526, 5531, 5536, 5541, 5546, 5554, 5562, 5570,
+ 5578, 5586, 5591, 5595, 5599, 5606, 5616, 5626, 5630, 5634, 5638, 5644,
+ 5651, 5655, 5660, 5664, 5669, 5673, 5678, 5682, 5687, 5692, 5697, 5702,
+ 5707, 5712, 5717, 5722, 5727, 5732, 5737, 5742, 5747, 5752, 5757, 5761,
+ 5765, 5771, 5775, 5780, 5786, 5794, 5799, 5804, 5811, 5816, 5821, 5828,
+ 5837, 5846, 5857, 5864, 5869, 5874, 5879, 5886, 5891, 5897, 5902, 5907,
+ 5912, 5917, 5922, 5927, 5934, 5940, 5945, 5949, 5954, 5959, 5964, 5969,
+ 5974, 5979, 5984, 5988, 5994, 5998, 6003, 6008, 6013, 6017, 6022, 6027,
+ 6032, 6037, 6041, 6046, 6050, 6055, 6060, 6065, 6070, 6076, 6081, 6087,
+ 6091, 6096, 6100, 6104, 6109, 6114, 6119, 6124, 6129, 6134, 6139, 6143,
+ 6149, 6153, 6158, 6163, 6168, 6172, 6177, 6182, 6187, 6192, 6196, 6201,
+ 6205, 6210, 6215, 6220, 6225, 6231, 6236, 6242, 6246, 6251, 6255, 6262,
+ 6267, 6272, 6277, 6284, 6289, 6295, 6300, 6305, 6310, 6315, 6320, 6325,
+ 6332, 6338, 6343, 6348, 6353, 6358, 6363, 6369, 6375, 6382, 6389, 6398,
+ 6407, 6414, 6421, 6430, 6439, 6444, 6449, 6454, 6459, 6464, 6469, 6474,
+ 6479, 6490, 6501, 6506, 6511, 6518, 6525, 6533, 6541, 6546, 6551, 6556,
+ 6561, 6565, 6569, 6573, 6579, 6585, 6589, 6596, 6601, 6611, 6621, 6627,
+ 6633, 6641, 6649, 6657, 6665, 6672, 6679, 6688, 6697, 6705, 6713, 6721,
+ 6729, 6737, 6745, 6753, 6761, 6768, 6775, 6781, 6787, 6795, 6803, 6810,
+ 6817, 6826, 6835, 6841, 6847, 6855, 6863, 6871, 6879, 6885, 6891, 6899,
+ 6907, 6915, 6923, 6930, 6937, 6945, 6953, 6961, 6969, 6974, 6979, 6986,
+ 6993, 7003, 7013, 7017, 7025, 7033, 7040, 7047, 7055, 7063, 7070, 7077,
+ 7085, 7093, 7100, 7107, 7115, 7123, 7128, 7135, 7142, 7149, 7156, 7162,
+ 7168, 7176, 7184, 7189, 7194, 7202, 7210, 7218, 7226, 7234, 7242, 7249,
+ 7256, 7264, 7272, 7280, 7288, 7295, 7302, 7308, 7314, 7323, 7332, 7339,
+ 7346, 7353, 7360, 7367, 7374, 7381, 7388, 7396, 7404, 7412, 7420, 7428,
+ 7436, 7446, 7456, 7463, 7470, 7477, 7484, 7491, 7498, 7505, 7512, 7519,
+ 7526, 7533, 7540, 7547, 7554, 7561, 7568, 7575, 7582, 7589, 7596, 7603,
+ 7610, 7617, 7624, 7629, 7634, 7639, 7644, 7649, 7654, 7659, 7664, 7669,
+ 7674, 7680, 7686, 7695, 7704, 7713, 7722, 7730, 7738, 7746, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 7754, 7759, 7764, 7769, 7774, 7779, 7784, 7789, 7794,
+ 7798, 7803, 7808, 7813, 7818, 7823, 7828, 7833, 7838, 7843, 7848, 7853,
+ 7858, 7863, 7868, 7873, 7878, 7883, 7888, 7892, 7897, 7902, 7907, 7912,
+ 7917, 7922, 7927, 7932, 7937, 0, 0, 7942, 7949, 7952, 7956, 7960, 7963,
+ 7967, 0, 7971, 7976, 7981, 7986, 7991, 7996, 8001, 8006, 8011, 8015,
+ 8020, 8025, 8030, 8035, 8040, 8045, 8050, 8055, 8060, 8065, 8070, 8075,
+ 8080, 8085, 8090, 8095, 8100, 8105, 8109, 8114, 8119, 8124, 8129, 8134,
+ 8139, 8144, 8149, 8154, 8159, 0, 8166, 8171, 0, 0, 0, 0, 0, 0, 8174,
+ 8179, 8184, 8189, 8196, 8203, 8208, 8213, 8218, 8223, 8228, 8233, 8238,
+ 8245, 8250, 8257, 8264, 8269, 8276, 8281, 8286, 8291, 8298, 8303, 8308,
+ 8315, 8324, 8329, 8334, 8339, 8344, 8350, 8355, 8362, 8369, 8376, 8381,
+ 8386, 8391, 8396, 8401, 8406, 8416, 8421, 8429, 8434, 8439, 8444, 8449,
+ 8456, 8463, 8470, 8476, 8482, 8489, 0, 0, 0, 0, 0, 0, 0, 0, 8496, 8500,
+ 8504, 8508, 8512, 8516, 8520, 8524, 8528, 8532, 8536, 8541, 8545, 8549,
+ 8554, 8558, 8563, 8567, 8571, 8575, 8580, 8584, 8589, 8593, 8597, 8601,
+ 8605, 0, 0, 0, 0, 0, 8609, 8616, 8624, 8631, 8636, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 8641, 8644, 8648, 8653, 0, 0, 8657, 8663, 8669, 8672, 8679,
+ 8688, 8691, 8694, 8699, 8705, 8709, 8717, 8723, 8729, 8737, 8741, 8746,
+ 8757, 8762, 8766, 8770, 8774, 0, 0, 8777, 8784, 8788, 8794, 8798, 8805,
+ 8811, 8818, 8824, 8830, 8834, 8838, 8844, 8848, 8852, 8856, 8860, 8864,
+ 8868, 8872, 8876, 8880, 8884, 8888, 8892, 8896, 8900, 8904, 8908, 8912,
+ 8920, 8928, 8938, 8947, 8956, 8959, 8963, 8967, 8971, 8975, 8979, 8983,
+ 8987, 8991, 8996, 9000, 9003, 9006, 9009, 9012, 9015, 9018, 9021, 9024,
+ 9028, 9031, 9034, 9039, 9044, 9050, 9053, 9060, 9069, 9074, 9079, 9086,
+ 9091, 9096, 9100, 9104, 9108, 9112, 9116, 9120, 9124, 9128, 9132, 9136,
+ 9141, 9146, 9153, 9159, 9165, 9171, 9176, 9184, 9192, 9197, 9203, 9209,
+ 9215, 9221, 9225, 9229, 9233, 9240, 9250, 9254, 9258, 9262, 9268, 9276,
+ 9280, 9284, 9291, 9295, 9299, 9303, 9310, 9317, 9329, 9333, 9337, 9341,
+ 9351, 9360, 9364, 9372, 9379, 9386, 9395, 9406, 9414, 9418, 9427, 9438,
+ 9446, 9459, 9467, 9475, 9483, 9491, 9497, 9506, 9513, 9517, 9525, 9529,
+ 9536, 9544, 9548, 9554, 9561, 9568, 9572, 9580, 9584, 9591, 9595, 9603,
+ 9607, 9615, 9623, 9630, 9638, 9646, 9653, 9659, 9663, 9670, 9678, 9684,
+ 9691, 9698, 9704, 9713, 9721, 9728, 9734, 9738, 9741, 9745, 9751, 9759,
+ 9763, 9769, 9775, 9782, 9789, 9792, 9799, 9804, 9812, 9817, 9821, 9834,
+ 9847, 9853, 9860, 9865, 9871, 9876, 9882, 9892, 9899, 9908, 9918, 9924,
+ 9929, 9934, 9938, 9942, 9947, 9952, 9958, 9966, 9974, 9985, 9990, 9999,
+ 10008, 10015, 10021, 10027, 10033, 10039, 10045, 10051, 10057, 10063,
+ 10069, 10076, 10083, 10090, 10096, 10104, 10113, 10119, 10126, 10133,
+ 10138, 10143, 10147, 10154, 10161, 10170, 10179, 10182, 10187, 10192, 0,
+ 10197, 10201, 10205, 10211, 10215, 10219, 10225, 10229, 10237, 10241,
+ 10245, 10249, 10253, 10257, 10263, 10267, 10273, 10277, 10281, 10285,
+ 10289, 10293, 10298, 10301, 10305, 10311, 10315, 10319, 10323, 10327,
+ 10331, 10337, 10343, 10349, 10353, 10357, 10362, 10366, 10370, 10375,
+ 10379, 10383, 10390, 10397, 10401, 10405, 10410, 10414, 10418, 10421,
+ 10426, 10429, 10432, 10437, 10442, 10446, 10450, 10456, 10462, 10465, 0,
+ 0, 10468, 10474, 10480, 10486, 10496, 10508, 10520, 10537, 10549, 10560,
+ 10568, 10575, 10586, 10601, 10612, 10618, 10627, 10635, 10647, 10657,
+ 10665, 10677, 10684, 10692, 10704, 10710, 10716, 10724, 10732, 10740,
+ 10746, 10756, 10763, 10773, 10783, 10796, 10810, 10824, 10834, 10845,
+ 10856, 10869, 10882, 10896, 10908, 10920, 10933, 10946, 10958, 10971,
+ 10980, 10988, 10993, 10998, 11003, 11008, 11013, 11018, 11023, 11028,
+ 11033, 11038, 11043, 11048, 11053, 11058, 11063, 11068, 11073, 11078,
+ 11083, 11088, 11093, 11098, 11103, 11108, 11113, 11118, 11123, 11128,
+ 11133, 11138, 11143, 11148, 11152, 11157, 11162, 11167, 11172, 11177,
+ 11181, 11185, 11189, 11193, 11197, 11201, 11205, 11209, 11213, 11217,
+ 11221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11226, 11231, 11235,
+ 11239, 11243, 11247, 11251, 11255, 11259, 11263, 11267, 11271, 11276,
+ 11280, 11284, 11288, 11293, 11297, 11302, 11306, 11311, 11315, 11320,
+ 11325, 11330, 11335, 11339, 11344, 11349, 11354, 11359, 11363, 11368,
+ 11375, 11379, 11384, 11388, 11392, 11397, 11401, 11408, 11415, 11422,
+ 11428, 11436, 11444, 11453, 11461, 11468, 11475, 11483, 11489, 11495,
+ 11501, 11507, 11514, 11519, 11523, 11528, 0, 0, 0, 0, 0, 11532, 11537,
+ 11542, 11547, 11552, 11557, 11562, 11567, 11572, 11577, 11582, 11587,
+ 11592, 11597, 11602, 11607, 11612, 11617, 11622, 11627, 11632, 11637,
+ 11642, 11647, 11652, 11657, 11662, 11670, 11677, 11683, 11688, 11696,
+ 11703, 11709, 11716, 11722, 11727, 11734, 11741, 11747, 11752, 11757,
+ 11763, 11768, 11773, 11779, 0, 0, 11784, 11790, 11796, 11802, 11808,
+ 11814, 11820, 11825, 11833, 11839, 11845, 11851, 11857, 11863, 11871, 0,
+ 11877, 11882, 11887, 11892, 11897, 11902, 11907, 11912, 11917, 11922,
+ 11927, 11932, 11937, 11942, 11947, 11952, 11957, 11962, 11967, 11972,
+ 11977, 11982, 11987, 11992, 11997, 12002, 12007, 12012, 0, 0, 12017, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12077, 12083,
- 12087, 12091, 12095, 12100, 12103, 12107, 12110, 12114, 12117, 12121,
- 12125, 12129, 12134, 12139, 12142, 12146, 12151, 12156, 12159, 12163,
- 12166, 12170, 12174, 12178, 12182, 12186, 12190, 12194, 12198, 12202,
- 12206, 12210, 12214, 12218, 12222, 12226, 12230, 12234, 12238, 12241,
- 12245, 12248, 12252, 12256, 12260, 12263, 12266, 12269, 12273, 12277,
- 12281, 12285, 12289, 12293, 12297, 12301, 12304, 12309, 12314, 12318,
- 12322, 12327, 12331, 12336, 12340, 12345, 12350, 12356, 12362, 12368,
- 12372, 12377, 12383, 12389, 12393, 12398, 12402, 12408, 12413, 12416,
- 12422, 12428, 12433, 12438, 12445, 12450, 12455, 12459, 12463, 12467,
- 12471, 12475, 12479, 12483, 12487, 12492, 12497, 12502, 12508, 12511,
- 12515, 12519, 12522, 12525, 12528, 12531, 12534, 12537, 12540, 12543,
- 12546, 12550, 12557, 12562, 12566, 12570, 12574, 12578, 0, 12582, 12586,
- 12590, 12594, 12598, 12604, 12608, 0, 12612, 12616, 12620, 0, 12624,
- 12627, 12631, 12634, 12638, 12641, 12645, 12649, 0, 0, 12653, 12656, 0,
- 0, 12660, 12663, 12667, 12670, 12674, 12678, 12682, 12686, 12690, 12694,
- 12698, 12702, 12706, 12710, 12714, 12718, 12722, 12726, 12730, 12734,
- 12738, 12742, 0, 12745, 12748, 12752, 12756, 12760, 12763, 12766, 0,
- 12769, 0, 0, 0, 12773, 12777, 12781, 12785, 0, 0, 12788, 12792, 12796,
- 12801, 12805, 12810, 12814, 12819, 12824, 0, 0, 12830, 12834, 0, 0,
- 12839, 12843, 12848, 12852, 0, 0, 0, 0, 0, 0, 0, 0, 12858, 0, 0, 0, 0,
- 12864, 12868, 0, 12872, 12876, 12881, 12886, 12891, 0, 0, 12897, 12901,
- 12904, 12907, 12910, 12913, 12916, 12919, 12922, 12925, 12928, 12937,
- 12946, 12950, 12954, 12960, 12966, 12972, 12978, 12992, 12999, 13002, 0,
- 0, 0, 0, 0, 13006, 13012, 13016, 0, 13020, 13023, 13027, 13030, 13034,
- 13037, 0, 0, 0, 0, 13041, 13045, 0, 0, 13049, 13053, 13057, 13060, 13064,
- 13068, 13072, 13076, 13080, 13084, 13088, 13092, 13096, 13100, 13104,
- 13108, 13112, 13116, 13120, 13124, 13128, 13132, 0, 13135, 13138, 13142,
- 13146, 13150, 13153, 13156, 0, 13159, 13163, 0, 13167, 13171, 0, 13175,
- 13179, 0, 0, 13182, 0, 13186, 13191, 13195, 13200, 13204, 0, 0, 0, 0,
- 13209, 13214, 0, 0, 13219, 13224, 13229, 0, 0, 0, 13233, 0, 0, 0, 0, 0,
- 0, 0, 13237, 13241, 13245, 13249, 0, 13253, 0, 0, 0, 0, 0, 0, 0, 13257,
- 13261, 13264, 13267, 13270, 13273, 13276, 13279, 13282, 13285, 13288,
- 13291, 13294, 13297, 13300, 13305, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 13309, 13313, 13317, 0, 13321, 13324, 13328, 13331, 13335, 13338, 13342,
- 13346, 13350, 0, 13355, 13358, 13362, 0, 13367, 13370, 13374, 13377,
- 13381, 13385, 13389, 13393, 13397, 13401, 13405, 13409, 13413, 13417,
- 13421, 13425, 13429, 13433, 13437, 13441, 13445, 13449, 0, 13452, 13455,
- 13459, 13463, 13467, 13470, 13473, 0, 13476, 13480, 0, 13484, 13488,
- 13492, 13496, 13500, 0, 0, 13503, 13507, 13511, 13516, 13520, 13525,
- 13529, 13534, 13539, 13545, 0, 13551, 13555, 13560, 0, 13566, 13570,
- 13575, 0, 0, 13579, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13582,
- 13587, 13592, 13597, 0, 0, 13603, 13607, 13610, 13613, 13616, 13619,
- 13622, 13625, 13628, 13631, 0, 13634, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 13638, 13642, 13646, 0, 13650, 13653, 13657, 13660, 13664,
- 13667, 13671, 13675, 0, 0, 13679, 13682, 0, 0, 13686, 13689, 13693,
- 13696, 13700, 13704, 13708, 13712, 13716, 13720, 13724, 13728, 13732,
- 13736, 13740, 13744, 13748, 13752, 13756, 13760, 13764, 13768, 0, 13771,
- 13774, 13778, 13782, 13786, 13789, 13792, 0, 13795, 13799, 0, 13803,
- 13807, 13811, 13815, 13819, 0, 0, 13822, 13826, 13830, 13835, 13839,
- 13844, 13848, 13853, 13858, 0, 0, 13864, 13868, 0, 0, 13873, 13877,
- 13882, 0, 0, 0, 0, 0, 0, 0, 0, 13886, 13892, 0, 0, 0, 0, 13898, 13902, 0,
- 13906, 13910, 13915, 13920, 13925, 0, 0, 13931, 13935, 13938, 13941,
- 13944, 13947, 13950, 13953, 13956, 13959, 13962, 13965, 13969, 13975,
- 13981, 13987, 13993, 13999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14005, 14009,
- 0, 14013, 14016, 14020, 14023, 14027, 14030, 0, 0, 0, 14034, 14037,
- 14041, 0, 14045, 14048, 14052, 14056, 0, 0, 0, 14059, 14063, 0, 14067, 0,
- 14071, 14075, 0, 0, 0, 14079, 14083, 0, 0, 0, 14087, 14090, 14094, 0, 0,
- 0, 14097, 14100, 14103, 14106, 14110, 14114, 14118, 14122, 14126, 14130,
- 14134, 14138, 0, 0, 0, 0, 14141, 14146, 14150, 14155, 14159, 0, 0, 0,
- 14164, 14168, 14173, 0, 14178, 14182, 14187, 14192, 0, 0, 14196, 0, 0, 0,
- 0, 0, 0, 14199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14205, 14209,
- 14212, 14215, 14218, 14221, 14224, 14227, 14230, 14233, 14236, 14240,
- 14245, 14250, 14254, 14258, 14262, 14266, 14270, 14275, 14279, 0, 0, 0,
- 0, 0, 0, 14282, 14286, 14290, 0, 14294, 14297, 14301, 14304, 14308,
- 14311, 14315, 14319, 0, 14323, 14326, 14330, 0, 14334, 14337, 14341,
- 14345, 14348, 14352, 14356, 14360, 14364, 14368, 14372, 14376, 14380,
- 14384, 14388, 14392, 14396, 14400, 14404, 14408, 14412, 14416, 14420, 0,
- 14423, 14426, 14430, 14434, 14438, 14441, 14444, 14447, 14451, 14455, 0,
- 14459, 14463, 14467, 14471, 14475, 0, 0, 0, 14478, 14482, 14487, 14491,
- 14496, 14500, 14505, 14510, 0, 14516, 14520, 14525, 0, 14530, 14534,
- 14539, 14544, 0, 0, 0, 0, 0, 0, 0, 14548, 14552, 0, 14558, 14562, 0, 0,
- 0, 0, 0, 0, 14566, 14571, 14576, 14581, 0, 0, 14587, 14591, 14594, 14597,
- 14600, 14603, 14606, 14609, 14612, 14615, 0, 0, 0, 0, 0, 0, 0, 0, 14618,
- 14631, 14643, 14655, 14667, 14679, 14691, 14703, 0, 0, 14707, 14711, 0,
- 14715, 14718, 14722, 14725, 14729, 14732, 14736, 14740, 0, 14744, 14747,
- 14751, 0, 14755, 14758, 14762, 14766, 14769, 14773, 14777, 14781, 14785,
- 14789, 14793, 14797, 14801, 14805, 14809, 14813, 14817, 14821, 14825,
- 14829, 14833, 14837, 14841, 0, 14844, 14847, 14851, 14855, 14859, 14862,
- 14865, 14868, 14872, 14876, 0, 14880, 14884, 14888, 14892, 14896, 0, 0,
- 14899, 14903, 14907, 14912, 14916, 14921, 14925, 14930, 14935, 0, 14941,
- 14945, 14950, 0, 14955, 14959, 14964, 14969, 0, 0, 0, 0, 0, 0, 0, 14973,
- 14977, 0, 0, 0, 0, 0, 0, 0, 14983, 0, 14987, 14992, 14997, 15002, 0, 0,
- 15008, 15012, 15015, 15018, 15021, 15024, 15027, 15030, 15033, 15036, 0,
- 15039, 15043, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15047, 15051,
- 0, 15055, 15058, 15062, 15065, 15069, 15072, 15076, 15080, 0, 15084,
- 15087, 15091, 0, 15095, 15098, 15102, 15106, 15109, 15113, 15117, 15121,
- 15125, 15129, 15133, 15137, 15141, 15145, 15149, 15153, 15157, 15161,
- 15165, 15169, 15173, 15177, 15181, 15184, 15188, 15191, 15195, 15199,
- 15203, 15206, 15209, 15212, 15216, 15220, 15224, 15228, 15232, 15236,
- 15240, 15244, 15247, 0, 0, 15251, 15255, 15260, 15264, 15269, 15273,
- 15278, 15283, 0, 15289, 15293, 15298, 0, 15303, 15307, 15312, 15317,
- 15321, 0, 0, 0, 0, 0, 0, 0, 0, 15326, 0, 0, 0, 0, 0, 0, 0, 0, 15332,
- 15337, 15342, 15347, 0, 0, 15353, 15357, 15360, 15363, 15366, 15369,
- 15372, 15375, 15378, 15381, 15384, 15388, 15393, 15398, 15404, 15410, 0,
- 0, 0, 15416, 15420, 15426, 15431, 15437, 15442, 15448, 0, 0, 15454,
- 15458, 0, 15462, 15466, 15470, 15474, 15478, 15482, 15486, 15490, 15494,
- 15498, 15502, 15506, 15510, 15514, 15518, 15522, 15526, 15530, 0, 0, 0,
- 15534, 15540, 15546, 15552, 15558, 15564, 15570, 15576, 15582, 15588,
- 15594, 15600, 15608, 15614, 15620, 15626, 15632, 15638, 15644, 15650,
- 15656, 15662, 15668, 15674, 0, 15680, 15686, 15692, 15698, 15704, 15710,
- 15714, 15720, 15724, 0, 15728, 0, 0, 15734, 15738, 15744, 15750, 15756,
- 15760, 15766, 0, 0, 0, 15770, 0, 0, 0, 0, 15774, 15779, 15786, 15793,
- 15800, 15807, 0, 15814, 0, 15821, 15826, 15831, 15838, 15845, 15854,
- 15865, 15874, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 15879, 15886, 15893, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15898, 15904,
- 15910, 15916, 15922, 15928, 15934, 15940, 15946, 15952, 15958, 15964,
- 15970, 15976, 15982, 15988, 15994, 16000, 16006, 16012, 16018, 16024,
- 16030, 16036, 16042, 16048, 16054, 16060, 16066, 16072, 16078, 16084,
- 16090, 16095, 16101, 16107, 16111, 16117, 16121, 16127, 16133, 16139,
- 16145, 16151, 16157, 16162, 16168, 16172, 16177, 16183, 16189, 16195,
- 16200, 16206, 16212, 16218, 16223, 16229, 0, 0, 0, 0, 16233, 16239,
- 16244, 16250, 16255, 16263, 16271, 16275, 16279, 16283, 16289, 16295,
- 16301, 16307, 16311, 16315, 16319, 16323, 16327, 16330, 16333, 16336,
- 16339, 16342, 16345, 16348, 16351, 16354, 16358, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12021, 12027, 12031,
+ 12035, 12039, 12044, 12047, 12051, 12054, 12058, 12061, 12065, 12069,
+ 12073, 12078, 12083, 12086, 12090, 12095, 12100, 12103, 12107, 12110,
+ 12114, 12118, 12122, 12126, 12130, 12134, 12138, 12142, 12146, 12150,
+ 12154, 12158, 12162, 12166, 12170, 12174, 12178, 12182, 12185, 12189,
+ 12192, 12196, 12200, 12204, 12207, 12210, 12213, 12217, 12221, 12225,
+ 12229, 12233, 12237, 12241, 12245, 12248, 12253, 12258, 12262, 12266,
+ 12271, 12275, 12280, 12284, 12289, 12294, 12300, 12306, 12312, 12316,
+ 12321, 12327, 12333, 12337, 12342, 12346, 12352, 12357, 12360, 12366,
+ 12372, 12377, 12382, 12389, 12394, 12399, 12403, 12407, 12411, 12415,
+ 12419, 12423, 12427, 12431, 12436, 12441, 12446, 12452, 12455, 12459,
+ 12463, 12466, 12469, 12472, 12475, 12478, 12481, 12484, 12487, 12490,
+ 12494, 12501, 12506, 12510, 12514, 12518, 12522, 0, 12526, 12530, 12534,
+ 12538, 12542, 12548, 12552, 0, 12556, 12560, 12564, 0, 12568, 12571,
+ 12575, 12578, 12582, 12585, 12589, 12593, 0, 0, 12597, 12600, 0, 0,
+ 12604, 12607, 12611, 12614, 12618, 12622, 12626, 12630, 12634, 12638,
+ 12642, 12646, 12650, 12654, 12658, 12662, 12666, 12670, 12674, 12678,
+ 12682, 12686, 0, 12689, 12692, 12696, 12700, 12704, 12707, 12710, 0,
+ 12713, 0, 0, 0, 12717, 12721, 12725, 12729, 0, 0, 12732, 12736, 12740,
+ 12745, 12749, 12754, 12758, 12763, 12768, 0, 0, 12774, 12778, 0, 0,
+ 12783, 12787, 12792, 12796, 0, 0, 0, 0, 0, 0, 0, 0, 12802, 0, 0, 0, 0,
+ 12808, 12812, 0, 12816, 12820, 12825, 12830, 12835, 0, 0, 12841, 12845,
+ 12848, 12851, 12854, 12857, 12860, 12863, 12866, 12869, 12872, 12881,
+ 12890, 12894, 12898, 12904, 12910, 12916, 12922, 12936, 12943, 12946, 0,
+ 0, 0, 0, 0, 12950, 12956, 12960, 0, 12964, 12967, 12971, 12974, 12978,
+ 12981, 0, 0, 0, 0, 12985, 12989, 0, 0, 12993, 12997, 13001, 13004, 13008,
+ 13012, 13016, 13020, 13024, 13028, 13032, 13036, 13040, 13044, 13048,
+ 13052, 13056, 13060, 13064, 13068, 13072, 13076, 0, 13079, 13082, 13086,
+ 13090, 13094, 13097, 13100, 0, 13103, 13107, 0, 13111, 13115, 0, 13119,
+ 13123, 0, 0, 13126, 0, 13130, 13135, 13139, 13144, 13148, 0, 0, 0, 0,
+ 13153, 13158, 0, 0, 13163, 13168, 13173, 0, 0, 0, 13177, 0, 0, 0, 0, 0,
+ 0, 0, 13181, 13185, 13189, 13193, 0, 13197, 0, 0, 0, 0, 0, 0, 0, 13201,
+ 13205, 13208, 13211, 13214, 13217, 13220, 13223, 13226, 13229, 13232,
+ 13235, 13238, 13241, 13244, 13249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 13253, 13257, 13261, 0, 13265, 13268, 13272, 13275, 13279, 13282, 13286,
+ 13290, 13294, 0, 13299, 13302, 13306, 0, 13311, 13314, 13318, 13321,
+ 13325, 13329, 13333, 13337, 13341, 13345, 13349, 13353, 13357, 13361,
+ 13365, 13369, 13373, 13377, 13381, 13385, 13389, 13393, 0, 13396, 13399,
+ 13403, 13407, 13411, 13414, 13417, 0, 13420, 13424, 0, 13428, 13432,
+ 13436, 13440, 13444, 0, 0, 13447, 13451, 13455, 13460, 13464, 13469,
+ 13473, 13478, 13483, 13489, 0, 13495, 13499, 13504, 0, 13510, 13514,
+ 13519, 0, 0, 13523, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13526,
+ 13531, 13536, 13541, 0, 0, 13547, 13551, 13554, 13557, 13560, 13563,
+ 13566, 13569, 13572, 13575, 0, 13578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 13582, 13586, 13590, 0, 13594, 13597, 13601, 13604, 13608,
+ 13611, 13615, 13619, 0, 0, 13623, 13626, 0, 0, 13630, 13633, 13637,
+ 13640, 13644, 13648, 13652, 13656, 13660, 13664, 13668, 13672, 13676,
+ 13680, 13684, 13688, 13692, 13696, 13700, 13704, 13708, 13712, 0, 13715,
+ 13718, 13722, 13726, 13730, 13733, 13736, 0, 13739, 13743, 0, 13747,
+ 13751, 13755, 13759, 13763, 0, 0, 13766, 13770, 13774, 13779, 13783,
+ 13788, 13792, 13797, 13802, 0, 0, 13808, 13812, 0, 0, 13817, 13821,
+ 13826, 0, 0, 0, 0, 0, 0, 0, 0, 13830, 13836, 0, 0, 0, 0, 13842, 13846, 0,
+ 13850, 13854, 13859, 13864, 13869, 0, 0, 13875, 13879, 13882, 13885,
+ 13888, 13891, 13894, 13897, 13900, 13903, 13906, 13909, 13913, 13919,
+ 13925, 13931, 13937, 13943, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13949, 13953,
+ 0, 13957, 13960, 13964, 13967, 13971, 13974, 0, 0, 0, 13978, 13981,
+ 13985, 0, 13989, 13992, 13996, 14000, 0, 0, 0, 14003, 14007, 0, 14011, 0,
+ 14015, 14019, 0, 0, 0, 14023, 14027, 0, 0, 0, 14031, 14034, 14038, 0, 0,
+ 0, 14041, 14044, 14047, 14050, 14054, 14058, 14062, 14066, 14070, 14074,
+ 14078, 14082, 0, 0, 0, 0, 14085, 14090, 14094, 14099, 14103, 0, 0, 0,
+ 14108, 14112, 14117, 0, 14122, 14126, 14131, 14136, 0, 0, 14140, 0, 0, 0,
+ 0, 0, 0, 14143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14149, 14153,
+ 14156, 14159, 14162, 14165, 14168, 14171, 14174, 14177, 14180, 14184,
+ 14189, 14194, 14198, 14202, 14206, 14210, 14214, 14219, 14223, 0, 0, 0,
+ 0, 0, 0, 14226, 14230, 14234, 0, 14238, 14241, 14245, 14248, 14252,
+ 14255, 14259, 14263, 0, 14267, 14270, 14274, 0, 14278, 14281, 14285,
+ 14289, 14292, 14296, 14300, 14304, 14308, 14312, 14316, 14320, 14324,
+ 14328, 14332, 14336, 14340, 14344, 14348, 14352, 14356, 14360, 14364, 0,
+ 14367, 14370, 14374, 14378, 14382, 14385, 14388, 14391, 14395, 14399, 0,
+ 14403, 14407, 14411, 14415, 14419, 0, 0, 0, 14422, 14426, 14431, 14435,
+ 14440, 14444, 14449, 14454, 0, 14460, 14464, 14469, 0, 14474, 14478,
+ 14483, 14488, 0, 0, 0, 0, 0, 0, 0, 14492, 14496, 0, 14502, 14506, 0, 0,
+ 0, 0, 0, 0, 14510, 14515, 14520, 14525, 0, 0, 14531, 14535, 14538, 14541,
+ 14544, 14547, 14550, 14553, 14556, 14559, 0, 0, 0, 0, 0, 0, 0, 0, 14562,
+ 14575, 14587, 14599, 14611, 14623, 14635, 14647, 0, 0, 14651, 14655, 0,
+ 14659, 14662, 14666, 14669, 14673, 14676, 14680, 14684, 0, 14688, 14691,
+ 14695, 0, 14699, 14702, 14706, 14710, 14713, 14717, 14721, 14725, 14729,
+ 14733, 14737, 14741, 14745, 14749, 14753, 14757, 14761, 14765, 14769,
+ 14773, 14777, 14781, 14785, 0, 14788, 14791, 14795, 14799, 14803, 14806,
+ 14809, 14812, 14816, 14820, 0, 14824, 14828, 14832, 14836, 14840, 0, 0,
+ 14843, 14847, 14851, 14856, 14860, 14865, 14869, 14874, 14879, 0, 14885,
+ 14889, 14894, 0, 14899, 14903, 14908, 14913, 0, 0, 0, 0, 0, 0, 0, 14917,
+ 14921, 0, 0, 0, 0, 0, 0, 0, 14927, 0, 14931, 14936, 14941, 14946, 0, 0,
+ 14952, 14956, 14959, 14962, 14965, 14968, 14971, 14974, 14977, 14980, 0,
+ 14983, 14987, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14991, 14995,
+ 0, 14999, 15002, 15006, 15009, 15013, 15016, 15020, 15024, 0, 15028,
+ 15031, 15035, 0, 15039, 15042, 15046, 15050, 15053, 15057, 15061, 15065,
+ 15069, 15073, 15077, 15081, 15085, 15089, 15093, 15097, 15101, 15105,
+ 15109, 15113, 15117, 15121, 15125, 15128, 15132, 15135, 15139, 15143,
+ 15147, 15150, 15153, 15156, 15160, 15164, 15168, 15172, 15176, 15180,
+ 15184, 15188, 15191, 0, 0, 15195, 15199, 15204, 15208, 15213, 15217,
+ 15222, 15227, 0, 15233, 15237, 15242, 0, 15247, 15251, 15256, 15261,
+ 15265, 0, 0, 0, 0, 0, 0, 0, 0, 15270, 0, 0, 0, 0, 0, 0, 0, 0, 15276,
+ 15281, 15286, 15291, 0, 0, 15297, 15301, 15304, 15307, 15310, 15313,
+ 15316, 15319, 15322, 15325, 15328, 15332, 15337, 15342, 15348, 15354, 0,
+ 0, 0, 15360, 15364, 15370, 15375, 15381, 15386, 15392, 0, 0, 15398,
+ 15402, 0, 15406, 15410, 15414, 15418, 15422, 15426, 15430, 15434, 15438,
+ 15442, 15446, 15450, 15454, 15458, 15462, 15466, 15470, 15474, 0, 0, 0,
+ 15478, 15484, 15490, 15496, 15502, 15508, 15514, 15520, 15526, 15532,
+ 15538, 15544, 15552, 15558, 15564, 15570, 15576, 15582, 15588, 15594,
+ 15600, 15606, 15612, 15618, 0, 15624, 15630, 15636, 15642, 15648, 15654,
+ 15658, 15664, 15668, 0, 15672, 0, 0, 15678, 15682, 15688, 15694, 15700,
+ 15704, 15710, 0, 0, 0, 15714, 0, 0, 0, 0, 15718, 15723, 15730, 15737,
+ 15744, 15751, 0, 15758, 0, 15765, 15770, 15775, 15782, 15789, 15798,
+ 15809, 15818, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 15823, 15830, 15837, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15842, 15848,
+ 15854, 15860, 15866, 15872, 15878, 15884, 15890, 15896, 15902, 15908,
+ 15914, 15920, 15926, 15932, 15938, 15944, 15950, 15956, 15962, 15968,
+ 15974, 15980, 15986, 15992, 15998, 16004, 16010, 16016, 16022, 16028,
+ 16034, 16039, 16045, 16051, 16055, 16061, 16065, 16071, 16077, 16083,
+ 16089, 16095, 16101, 16106, 16112, 16116, 16121, 16127, 16133, 16139,
+ 16144, 16150, 16156, 16162, 16167, 16173, 0, 0, 0, 0, 16177, 16183,
+ 16188, 16194, 16199, 16207, 16215, 16219, 16223, 16227, 16233, 16239,
+ 16245, 16251, 16255, 16259, 16263, 16267, 16271, 16274, 16277, 16280,
+ 16283, 16286, 16289, 16292, 16295, 16298, 16302, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 16362, 16367, 0, 16374, 0, 0, 16381, 16386, 0, 16391, 0,
- 0, 16398, 0, 0, 0, 0, 0, 0, 16403, 16408, 16412, 16419, 0, 16426, 16431,
- 16436, 16441, 16448, 16455, 16462, 0, 16469, 16474, 16479, 0, 16486, 0,
- 16493, 0, 0, 16498, 16505, 0, 16512, 16516, 16523, 16527, 16532, 16540,
- 16546, 16552, 16557, 16563, 16569, 16575, 16580, 0, 16586, 16594, 16601,
- 0, 0, 16608, 16613, 16619, 16624, 16630, 0, 16636, 0, 16642, 16649,
- 16656, 16663, 16670, 16675, 0, 0, 16679, 16684, 16688, 16692, 16696,
- 16700, 16704, 16708, 16712, 16716, 0, 0, 16720, 16726, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 16306, 16310, 0, 16316, 0, 0, 16322, 16326, 0, 16330, 0,
+ 0, 16336, 0, 0, 0, 0, 0, 0, 16340, 16344, 16347, 16353, 0, 16359, 16363,
+ 16367, 16371, 16377, 16383, 16389, 0, 16395, 16399, 16403, 0, 16409, 0,
+ 16415, 0, 0, 16419, 16425, 0, 16431, 16434, 16440, 16443, 16447, 16454,
+ 16459, 16464, 16468, 16473, 16478, 16483, 16487, 0, 16492, 16499, 16505,
+ 0, 0, 16511, 16515, 16520, 16524, 16529, 0, 16534, 0, 16539, 16545,
+ 16551, 16557, 16563, 16567, 0, 0, 16570, 16574, 16577, 16580, 16583,
+ 16586, 16589, 16592, 16595, 16598, 0, 0, 16601, 16606, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 16732, 16736, 16747, 16762, 16777, 16787, 16798, 16811,
- 16822, 16828, 16836, 16846, 16852, 16860, 16864, 16870, 16876, 16884,
- 16894, 16902, 16915, 16921, 16929, 16937, 16949, 16956, 16964, 16972,
- 16980, 16988, 16996, 17004, 17014, 17018, 17021, 17024, 17027, 17030,
- 17033, 17036, 17039, 17042, 17045, 17049, 17053, 17057, 17061, 17065,
- 17069, 17073, 17077, 17081, 17086, 17092, 17102, 17116, 17126, 17132,
- 17138, 17146, 17154, 17162, 17170, 17176, 17182, 17185, 17189, 17193,
- 17197, 17201, 17205, 17209, 0, 17213, 17217, 17221, 17225, 17229, 17233,
- 17237, 17241, 17245, 17249, 17253, 17256, 17259, 17263, 17267, 17271,
- 17274, 17278, 17282, 17286, 17290, 17294, 17298, 17302, 17306, 17309,
- 17312, 17316, 17320, 17324, 17328, 17331, 17334, 17338, 17343, 17347, 0,
- 0, 0, 0, 17351, 17356, 17360, 17365, 17369, 17374, 17379, 17385, 17390,
- 17396, 17400, 17405, 17409, 17414, 17424, 17430, 17436, 17443, 17453,
- 17459, 17463, 17467, 17473, 17479, 17487, 17493, 17501, 17509, 17517,
- 17527, 17535, 17545, 17550, 17556, 17562, 17568, 17574, 17580, 17586, 0,
- 17592, 17598, 17604, 17610, 17616, 17622, 17628, 17634, 17640, 17646,
- 17652, 17657, 17662, 17668, 17674, 17680, 17685, 17691, 17697, 17703,
- 17709, 17715, 17721, 17727, 17733, 17738, 17743, 17749, 17755, 17761,
- 17767, 17772, 17777, 17783, 17791, 17798, 0, 17805, 17812, 17825, 17832,
- 17839, 17847, 17855, 17861, 17867, 17873, 17883, 17888, 17894, 17904,
- 17914, 0, 17924, 17934, 17942, 17954, 17966, 17972, 17986, 18001, 18006,
- 18011, 18019, 18027, 18035, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18043,
- 18046, 18050, 18054, 18058, 18062, 18066, 18070, 18074, 18078, 18082,
- 18086, 18090, 18094, 18098, 18102, 18106, 18110, 18114, 18118, 18122,
- 18125, 18128, 18132, 18136, 18140, 18143, 18146, 18149, 18153, 18157,
- 18161, 18164, 18168, 18171, 18176, 18179, 18183, 18186, 18190, 18193,
- 18198, 18201, 18205, 18212, 18217, 18221, 18226, 18230, 18235, 18239,
- 18244, 18251, 18257, 18262, 18266, 18270, 18274, 18278, 18282, 18288,
- 18294, 18301, 18307, 18313, 18317, 18320, 18323, 18326, 18329, 18332,
- 18335, 18338, 18341, 18344, 18350, 18354, 18358, 18362, 18366, 18370,
- 18374, 18378, 18382, 18387, 18391, 18396, 18401, 18407, 18412, 18418,
- 18424, 18430, 18436, 18442, 18450, 18458, 18467, 18475, 18484, 18493,
- 18504, 18514, 18524, 18535, 18546, 18556, 18566, 18576, 18586, 18596,
- 18606, 18616, 18626, 18634, 18641, 18647, 18654, 18659, 18665, 18671,
- 18677, 18683, 18689, 18695, 18700, 18706, 18712, 18718, 18724, 18729,
- 18738, 18745, 18751, 18758, 18766, 18772, 18778, 18784, 18790, 18798,
- 18806, 18816, 18824, 18832, 18838, 18843, 18848, 18853, 18858, 18863,
- 18868, 18873, 18878, 18883, 18889, 18895, 18901, 18908, 18913, 18919,
- 18924, 18929, 18934, 18939, 18944, 18949, 18954, 18959, 18964, 18969,
- 18974, 18979, 18984, 18989, 18994, 18999, 19004, 19009, 19014, 19019,
- 19024, 19029, 19034, 19039, 19044, 19049, 19054, 19059, 19064, 19069,
- 19074, 19079, 19084, 19089, 19094, 19099, 19104, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 19109, 19113, 19117, 19121, 19125, 19129, 19133, 19137, 19141,
- 19145, 19149, 19153, 19157, 19161, 19165, 19169, 19173, 19177, 19181,
- 19185, 19189, 19193, 19197, 19201, 19205, 19209, 19213, 19217, 19221,
- 19225, 19229, 19233, 19237, 19241, 19245, 19249, 19253, 19257, 19261,
- 19265, 19269, 19273, 19279, 19283, 19288, 0, 0, 0, 19293, 19297, 19301,
- 19305, 19309, 19313, 19317, 19321, 19325, 19329, 19333, 19337, 19341,
- 19345, 19349, 19353, 19357, 19361, 19365, 19369, 19373, 19377, 19381,
- 19385, 19389, 19393, 19397, 19401, 19405, 19409, 19413, 19417, 19421,
- 19425, 19429, 19433, 19437, 19441, 19445, 19449, 19453, 19457, 19461,
- 19465, 19469, 19473, 19477, 19481, 19485, 19489, 19493, 19497, 19501,
- 19505, 19509, 19513, 19517, 19521, 19525, 19529, 19533, 19537, 19541,
- 19545, 19549, 19553, 19557, 19561, 19565, 19569, 19573, 19577, 19581,
- 19585, 19589, 19593, 19597, 19601, 19605, 19609, 19613, 19617, 19621,
- 19625, 19629, 19633, 19637, 19641, 19645, 19649, 19653, 19657, 19661,
- 19665, 19669, 19673, 19677, 19681, 19684, 19688, 19691, 19695, 19699,
- 19702, 19706, 19710, 19713, 19717, 19721, 19725, 19729, 19732, 19736,
- 19740, 19744, 19748, 19752, 19756, 19759, 19763, 19767, 19771, 19775,
- 19779, 19783, 19787, 19791, 19795, 19799, 19803, 19807, 19811, 19815,
- 19819, 19823, 19827, 19831, 19835, 19839, 19843, 19847, 19851, 19855,
- 19859, 19863, 19867, 19871, 19875, 19879, 19883, 19887, 19891, 19895,
- 19899, 19903, 19907, 19911, 19915, 19919, 19923, 19927, 19931, 19935,
- 19939, 19943, 19947, 19951, 19955, 19959, 19963, 19967, 19971, 19975,
- 19979, 19983, 19987, 19991, 19995, 19999, 20003, 20007, 20011, 20015,
- 20019, 20023, 20027, 20031, 20035, 20039, 20043, 20047, 20051, 20055,
- 20059, 20063, 20067, 20071, 20075, 20079, 20083, 20087, 20091, 20095,
- 20099, 20103, 20107, 20111, 20115, 20119, 20123, 20127, 20131, 20135,
- 20139, 20143, 20147, 20151, 20155, 20159, 20163, 20167, 20171, 20175,
- 20179, 20183, 20187, 20191, 20195, 20199, 20203, 20207, 20211, 20215,
- 20219, 20223, 20227, 20231, 20235, 20239, 20243, 20247, 20251, 20255,
- 20259, 20263, 20267, 20271, 20275, 20279, 20283, 20287, 20291, 20295,
- 20299, 20303, 20307, 20311, 20314, 20318, 20322, 20326, 20330, 20334,
- 20338, 20342, 20346, 20350, 20354, 20358, 20362, 20366, 20370, 20374,
- 20378, 20382, 20386, 20390, 20394, 20398, 20402, 20406, 20409, 20413,
- 20417, 20421, 20425, 20429, 20433, 20437, 20441, 20445, 20449, 20453,
- 20457, 20461, 20465, 20469, 20472, 20476, 20480, 20484, 20488, 20492,
- 20496, 20500, 20504, 20508, 20512, 20516, 20520, 20524, 20528, 20532,
- 20536, 20540, 20544, 20548, 20552, 20556, 20560, 20564, 20568, 20572,
- 20576, 20580, 20584, 20588, 20592, 20596, 0, 20600, 20604, 20608, 20612,
- 0, 0, 20616, 20620, 20624, 20628, 20632, 20636, 20640, 0, 20644, 0,
- 20648, 20652, 20656, 20660, 0, 0, 20664, 20668, 20672, 20676, 20680,
- 20684, 20688, 20692, 20696, 20700, 20704, 20708, 20712, 20716, 20720,
- 20724, 20728, 20732, 20736, 20740, 20744, 20748, 20752, 20755, 20759,
- 20763, 20767, 20771, 20775, 20779, 20783, 20787, 20791, 20795, 20799,
- 20803, 20807, 20811, 20815, 20819, 20823, 0, 20827, 20831, 20835, 20839,
- 0, 0, 20843, 20846, 20850, 20854, 20858, 20862, 20866, 20870, 20874,
- 20878, 20882, 20886, 20890, 20894, 20898, 20902, 20906, 20911, 20916,
- 20921, 20927, 20933, 20938, 20943, 20949, 20952, 20956, 20960, 20964,
- 20968, 20972, 20976, 20980, 0, 20984, 20988, 20992, 20996, 0, 0, 21000,
- 21004, 21008, 21012, 21016, 21020, 21024, 0, 21028, 0, 21032, 21036,
- 21040, 21044, 0, 0, 21048, 21052, 21056, 21060, 21064, 21068, 21072,
- 21076, 21080, 21085, 21090, 21095, 21101, 21107, 21112, 0, 21117, 21121,
- 21125, 21129, 21133, 21137, 21141, 21145, 21149, 21153, 21157, 21161,
- 21165, 21169, 21173, 21177, 21181, 21184, 21188, 21192, 21196, 21200,
- 21204, 21208, 21212, 21216, 21220, 21224, 21228, 21232, 21236, 21240,
- 21244, 21248, 21252, 21256, 21260, 21264, 21268, 21272, 21276, 21280,
- 21284, 21288, 21292, 21296, 21300, 21304, 21308, 21312, 21316, 21320,
- 21324, 21328, 21332, 21336, 21340, 0, 21344, 21348, 21352, 21356, 0, 0,
- 21360, 21364, 21368, 21372, 21376, 21380, 21384, 21388, 21392, 21396,
- 21400, 21404, 21408, 21412, 21416, 21420, 21424, 21428, 21432, 21436,
- 21440, 21444, 21448, 21452, 21456, 21460, 21464, 21468, 21472, 21476,
- 21480, 21484, 21488, 21492, 21496, 21500, 21504, 21508, 21512, 21516,
- 21520, 21524, 21528, 21532, 21536, 21540, 21544, 21548, 21552, 21556,
- 21560, 21564, 21568, 21572, 21576, 21580, 21584, 21587, 21591, 21595,
- 21599, 21603, 21607, 21611, 21615, 21619, 21623, 0, 0, 21627, 21636,
- 21642, 21647, 21651, 21654, 21659, 21662, 21665, 21668, 21673, 21677,
- 21682, 21685, 21688, 21691, 21694, 21697, 21700, 21703, 21706, 21709,
- 21713, 21717, 21721, 21725, 21729, 21733, 21737, 21741, 21745, 21749, 0,
- 0, 0, 21755, 21761, 21765, 21769, 21773, 21779, 21783, 21787, 21791,
- 21797, 21801, 21805, 21809, 21815, 21819, 21823, 21827, 21833, 21839,
- 21845, 21853, 21859, 21865, 21871, 21877, 21883, 0, 0, 0, 0, 0, 0, 21889,
- 21892, 21895, 21898, 21901, 21904, 21908, 21912, 21915, 21919, 21923,
- 21927, 21931, 21935, 21938, 21942, 21946, 21950, 21954, 21958, 21962,
- 21966, 21970, 21974, 21978, 21982, 21985, 21989, 21993, 21997, 22001,
- 22004, 22008, 22012, 22016, 22020, 22024, 22028, 22032, 22036, 22040,
- 22044, 22048, 22052, 22056, 22060, 22063, 22067, 22071, 22075, 22079,
- 22083, 22087, 22091, 22095, 22099, 22103, 22107, 22111, 22115, 22119,
- 22123, 22127, 22131, 22135, 22139, 22143, 22147, 22151, 22155, 22159,
- 22163, 22167, 22171, 22175, 22179, 22183, 22187, 22191, 22195, 22198,
- 22202, 22206, 22210, 22214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22218,
- 22222, 22225, 22229, 22232, 22236, 22239, 22243, 22249, 22254, 22258,
- 22261, 22265, 22269, 22274, 22278, 22283, 22287, 22292, 22296, 22301,
- 22305, 22310, 22316, 22320, 22325, 22329, 22334, 22340, 22344, 22350,
- 22356, 22360, 22365, 22373, 22381, 22388, 22393, 22398, 22407, 22414,
- 22421, 22426, 22432, 22436, 22440, 22444, 22448, 22452, 22456, 22460,
- 22464, 22468, 22472, 22478, 22483, 22488, 22491, 22495, 22499, 22504,
- 22508, 22513, 22517, 22522, 22526, 22531, 22535, 22540, 22544, 22549,
- 22553, 22558, 22564, 22568, 22573, 22578, 22582, 22586, 22590, 22594,
- 22597, 22601, 22607, 22612, 22617, 22621, 22625, 22629, 22634, 22638,
- 22643, 22647, 22652, 22655, 22659, 22663, 22668, 22672, 22677, 22681,
- 22686, 22692, 22696, 22700, 22704, 22708, 22712, 22716, 22720, 22724,
- 22728, 22732, 22736, 22742, 22745, 22749, 22753, 22758, 22762, 22767,
- 22771, 22776, 22780, 22785, 22789, 22794, 22798, 22803, 22807, 22812,
- 22818, 22822, 22826, 22832, 22838, 22844, 22850, 22854, 22858, 22862,
- 22866, 22870, 22874, 22880, 22884, 22888, 22892, 22897, 22901, 22906,
- 22910, 22915, 22919, 22924, 22928, 22933, 22937, 22942, 22946, 22951,
- 22957, 22961, 22967, 22971, 22975, 22979, 22983, 22987, 22991, 22997,
- 23000, 23004, 23008, 23013, 23017, 23022, 23026, 23031, 23035, 23040,
- 23044, 23049, 23053, 23058, 23062, 23067, 23073, 23076, 23080, 23084,
- 23089, 23094, 23098, 23102, 23106, 23110, 23114, 23118, 23124, 23127,
- 23131, 23135, 23140, 23144, 23149, 23153, 23158, 23164, 23167, 23172,
- 23176, 23180, 23184, 23188, 23192, 23196, 23200, 23206, 23210, 23214,
+ 0, 0, 0, 0, 16611, 16615, 16626, 16641, 16656, 16666, 16677, 16690,
+ 16701, 16707, 16715, 16725, 16731, 16739, 16743, 16749, 16755, 16763,
+ 16773, 16781, 16794, 16800, 16808, 16816, 16828, 16835, 16843, 16851,
+ 16859, 16867, 16875, 16883, 16893, 16897, 16900, 16903, 16906, 16909,
+ 16912, 16915, 16918, 16921, 16924, 16928, 16932, 16936, 16940, 16944,
+ 16948, 16952, 16956, 16960, 16965, 16971, 16981, 16995, 17005, 17011,
+ 17017, 17025, 17033, 17041, 17049, 17055, 17061, 17064, 17068, 17072,
+ 17076, 17080, 17084, 17088, 0, 17092, 17096, 17100, 17104, 17108, 17112,
+ 17116, 17120, 17124, 17128, 17132, 17135, 17138, 17142, 17146, 17150,
+ 17153, 17157, 17161, 17165, 17169, 17173, 17177, 17181, 17185, 17188,
+ 17191, 17195, 17199, 17203, 17207, 17210, 17213, 17217, 17222, 17226, 0,
+ 0, 0, 0, 17230, 17235, 17239, 17244, 17248, 17253, 17258, 17264, 17269,
+ 17275, 17279, 17284, 17288, 17293, 17303, 17309, 17315, 17322, 17332,
+ 17338, 17342, 17346, 17352, 17358, 17366, 17372, 17380, 17388, 17396,
+ 17406, 17414, 17424, 17429, 17435, 17441, 17447, 17453, 17459, 17465, 0,
+ 17471, 17477, 17483, 17489, 17495, 17501, 17507, 17513, 17519, 17525,
+ 17531, 17536, 17541, 17547, 17553, 17559, 17564, 17570, 17576, 17582,
+ 17588, 17594, 17600, 17606, 17612, 17617, 17622, 17628, 17634, 17640,
+ 17646, 17651, 17656, 17662, 17670, 17677, 0, 17684, 17691, 17704, 17711,
+ 17718, 17726, 17734, 17740, 17746, 17752, 17762, 17767, 17773, 17783,
+ 17793, 0, 17803, 17813, 17821, 17833, 17845, 17851, 17865, 17880, 17885,
+ 17890, 17898, 17906, 17914, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17922,
+ 17925, 17929, 17933, 17937, 17941, 17945, 17949, 17953, 17957, 17961,
+ 17965, 17969, 17973, 17977, 17981, 17985, 17989, 17993, 17997, 18001,
+ 18004, 18007, 18011, 18015, 18019, 18022, 18025, 18028, 18032, 18036,
+ 18040, 18043, 18047, 18050, 18055, 18058, 18062, 18065, 18069, 18072,
+ 18077, 18080, 18084, 18091, 18096, 18100, 18105, 18109, 18114, 18118,
+ 18123, 18130, 18136, 18141, 18145, 18149, 18153, 18157, 18161, 18166,
+ 18171, 18177, 18182, 18188, 18192, 18195, 18198, 18201, 18204, 18207,
+ 18210, 18213, 18216, 18219, 18225, 18229, 18233, 18237, 18241, 18245,
+ 18249, 18253, 18257, 18262, 18266, 18271, 18276, 18282, 18287, 18293,
+ 18299, 18305, 18311, 18317, 18324, 18331, 18339, 18347, 18356, 18365,
+ 18376, 18386, 18396, 18407, 18418, 18428, 18438, 18448, 18458, 18468,
+ 18478, 18488, 18498, 18506, 18513, 18519, 18526, 18531, 18537, 18543,
+ 18549, 18555, 18561, 18567, 18572, 18578, 18584, 18590, 18596, 18601,
+ 18609, 18616, 18622, 18629, 18637, 18643, 18649, 18655, 18661, 18669,
+ 18677, 18687, 18695, 18703, 18709, 18714, 18719, 18724, 18729, 18734,
+ 18739, 18744, 18749, 18754, 18760, 18766, 18772, 18779, 18784, 18790,
+ 18795, 18800, 18805, 18810, 18815, 18820, 18825, 18830, 18835, 18840,
+ 18845, 18850, 18855, 18860, 18865, 18870, 18875, 18880, 18885, 18890,
+ 18895, 18900, 18905, 18910, 18915, 18920, 18925, 18930, 18935, 18940,
+ 18945, 18950, 18955, 18960, 18965, 18970, 18975, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 18980, 18984, 18988, 18992, 18996, 19000, 19004, 19008, 19012,
+ 19016, 19020, 19024, 19028, 19032, 19036, 19040, 19044, 19048, 19052,
+ 19056, 19060, 19064, 19068, 19072, 19076, 19080, 19084, 19088, 19092,
+ 19096, 19100, 19104, 19108, 19112, 19116, 19120, 19124, 19128, 19132,
+ 19136, 19140, 19144, 19150, 19154, 19159, 0, 0, 0, 19164, 19168, 19172,
+ 19176, 19180, 19184, 19188, 19192, 19196, 19200, 19204, 19208, 19212,
+ 19216, 19220, 19224, 19228, 19232, 19236, 19240, 19244, 19248, 19252,
+ 19256, 19260, 19264, 19268, 19272, 19276, 19280, 19284, 19288, 19292,
+ 19296, 19300, 19304, 19308, 19312, 19316, 19320, 19324, 19328, 19332,
+ 19336, 19340, 19344, 19348, 19352, 19356, 19360, 19364, 19368, 19372,
+ 19376, 19380, 19384, 19388, 19392, 19396, 19400, 19404, 19408, 19412,
+ 19416, 19420, 19424, 19428, 19432, 19436, 19440, 19444, 19448, 19452,
+ 19456, 19460, 19464, 19468, 19472, 19476, 19480, 19484, 19488, 19492,
+ 19496, 19500, 19504, 19508, 19512, 19516, 19520, 19524, 19528, 19532,
+ 19536, 19540, 19544, 19548, 19552, 19555, 19559, 19562, 19566, 19570,
+ 19573, 19577, 19581, 19584, 19588, 19592, 19596, 19600, 19603, 19607,
+ 19611, 19615, 19619, 19623, 19627, 19630, 19634, 19638, 19642, 19646,
+ 19650, 19654, 19658, 19662, 19666, 19670, 19674, 19678, 19682, 19686,
+ 19690, 19694, 19698, 19702, 19706, 19710, 19714, 19718, 19722, 19726,
+ 19730, 19734, 19738, 19742, 19746, 19750, 19754, 19758, 19762, 19766,
+ 19770, 19774, 19778, 19782, 19786, 19790, 19794, 19798, 19802, 19806,
+ 19810, 19814, 19818, 19822, 19826, 19830, 19834, 19838, 19842, 19846,
+ 19850, 19854, 19858, 19862, 19866, 19870, 19874, 19878, 19882, 19886,
+ 19890, 19894, 19898, 19902, 19906, 19910, 19914, 19918, 19922, 19926,
+ 19930, 19934, 19938, 19942, 19946, 19950, 19954, 19958, 19962, 19966,
+ 19970, 19974, 19978, 19982, 19986, 19990, 19994, 19998, 20002, 20006,
+ 20010, 20014, 20018, 20022, 20026, 20030, 20034, 20038, 20042, 20046,
+ 20050, 20054, 20058, 20062, 20066, 20070, 20074, 20078, 20082, 20086,
+ 20090, 20094, 20098, 20102, 20106, 20110, 20114, 20118, 20122, 20126,
+ 20130, 20134, 20138, 20142, 20146, 20150, 20154, 20158, 20162, 20166,
+ 20170, 20174, 20178, 20182, 20185, 20189, 20193, 20197, 20201, 20205,
+ 20209, 20213, 20217, 20221, 20225, 20229, 20233, 20237, 20241, 20245,
+ 20249, 20253, 20257, 20261, 20265, 20269, 20273, 20277, 20280, 20284,
+ 20288, 20292, 20296, 20300, 20304, 20308, 20312, 20316, 20320, 20324,
+ 20328, 20332, 20336, 20340, 20343, 20347, 20351, 20355, 20359, 20363,
+ 20367, 20371, 20375, 20379, 20383, 20387, 20391, 20395, 20399, 20403,
+ 20407, 20411, 20415, 20419, 20423, 20427, 20431, 20435, 20439, 20443,
+ 20447, 20451, 20455, 20459, 20463, 20467, 0, 20471, 20475, 20479, 20483,
+ 0, 0, 20487, 20491, 20495, 20499, 20503, 20507, 20511, 0, 20515, 0,
+ 20519, 20523, 20527, 20531, 0, 0, 20535, 20539, 20543, 20547, 20551,
+ 20555, 20559, 20563, 20567, 20571, 20575, 20579, 20583, 20587, 20591,
+ 20595, 20599, 20603, 20607, 20611, 20615, 20619, 20623, 20626, 20630,
+ 20634, 20638, 20642, 20646, 20650, 20654, 20658, 20662, 20666, 20670,
+ 20674, 20678, 20682, 20686, 20690, 20694, 0, 20698, 20702, 20706, 20710,
+ 0, 0, 20714, 20717, 20721, 20725, 20729, 20733, 20737, 20741, 20745,
+ 20749, 20753, 20757, 20761, 20765, 20769, 20773, 20777, 20782, 20787,
+ 20792, 20798, 20804, 20809, 20814, 20820, 20823, 20827, 20831, 20835,
+ 20839, 20843, 20847, 20851, 0, 20855, 20859, 20863, 20867, 0, 0, 20871,
+ 20875, 20879, 20883, 20887, 20891, 20895, 0, 20899, 0, 20903, 20907,
+ 20911, 20915, 0, 0, 20919, 20923, 20927, 20931, 20935, 20939, 20943,
+ 20947, 20951, 20956, 20961, 20966, 20972, 20978, 20983, 0, 20988, 20992,
+ 20996, 21000, 21004, 21008, 21012, 21016, 21020, 21024, 21028, 21032,
+ 21036, 21040, 21044, 21048, 21052, 21055, 21059, 21063, 21067, 21071,
+ 21075, 21079, 21083, 21087, 21091, 21095, 21099, 21103, 21107, 21111,
+ 21115, 21119, 21123, 21127, 21131, 21135, 21139, 21143, 21147, 21151,
+ 21155, 21159, 21163, 21167, 21171, 21175, 21179, 21183, 21187, 21191,
+ 21195, 21199, 21203, 21207, 21211, 0, 21215, 21219, 21223, 21227, 0, 0,
+ 21231, 21235, 21239, 21243, 21247, 21251, 21255, 21259, 21263, 21267,
+ 21271, 21275, 21279, 21283, 21287, 21291, 21295, 21299, 21303, 21307,
+ 21311, 21315, 21319, 21323, 21327, 21331, 21335, 21339, 21343, 21347,
+ 21351, 21355, 21359, 21363, 21367, 21371, 21375, 21379, 21383, 21387,
+ 21391, 21395, 21399, 21403, 21407, 21411, 21415, 21419, 21423, 21427,
+ 21431, 21435, 21439, 21443, 21447, 21451, 21455, 21458, 21462, 21466,
+ 21470, 21474, 21478, 21482, 21486, 21490, 21494, 0, 0, 21498, 21507,
+ 21513, 21518, 21522, 21525, 21530, 21533, 21536, 21539, 21544, 21548,
+ 21553, 21556, 21559, 21562, 21565, 21568, 21571, 21574, 21577, 21580,
+ 21584, 21588, 21592, 21596, 21600, 21604, 21608, 21612, 21616, 21620, 0,
+ 0, 0, 21626, 21632, 21636, 21640, 21644, 21650, 21654, 21658, 21662,
+ 21668, 21672, 21676, 21680, 21686, 21690, 21694, 21698, 21704, 21710,
+ 21716, 21724, 21730, 21736, 21742, 21748, 21754, 0, 0, 0, 0, 0, 0, 21760,
+ 21763, 21766, 21769, 21772, 21775, 21779, 21783, 21786, 21790, 21794,
+ 21798, 21802, 21806, 21809, 21813, 21817, 21821, 21825, 21829, 21833,
+ 21837, 21841, 21845, 21849, 21853, 21856, 21860, 21864, 21868, 21872,
+ 21875, 21879, 21883, 21887, 21891, 21895, 21899, 21903, 21907, 21911,
+ 21915, 21919, 21923, 21927, 21931, 21934, 21938, 21942, 21946, 21950,
+ 21954, 21958, 21962, 21966, 21970, 21974, 21978, 21982, 21986, 21990,
+ 21994, 21998, 22002, 22006, 22010, 22014, 22018, 22022, 22026, 22030,
+ 22034, 22038, 22042, 22046, 22050, 22054, 22058, 22062, 22066, 22069,
+ 22073, 22077, 22081, 22085, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22089,
+ 22093, 22096, 22100, 22103, 22107, 22110, 22114, 22120, 22125, 22129,
+ 22132, 22136, 22140, 22145, 22149, 22154, 22158, 22163, 22167, 22172,
+ 22176, 22181, 22187, 22191, 22196, 22200, 22205, 22211, 22215, 22221,
+ 22227, 22231, 22235, 22243, 22251, 22258, 22263, 22268, 22277, 22284,
+ 22291, 22296, 22302, 22306, 22310, 22314, 22318, 22322, 22326, 22330,
+ 22334, 22338, 22342, 22348, 22353, 22358, 22361, 22365, 22369, 22374,
+ 22378, 22383, 22387, 22392, 22396, 22401, 22405, 22410, 22414, 22419,
+ 22423, 22428, 22434, 22438, 22443, 22448, 22452, 22456, 22460, 22464,
+ 22467, 22471, 22477, 22482, 22487, 22491, 22495, 22499, 22504, 22508,
+ 22513, 22517, 22522, 22525, 22529, 22533, 22538, 22542, 22547, 22551,
+ 22556, 22562, 22566, 22570, 22574, 22578, 22582, 22586, 22590, 22594,
+ 22598, 22602, 22606, 22612, 22615, 22619, 22623, 22628, 22632, 22637,
+ 22641, 22646, 22650, 22655, 22659, 22664, 22668, 22673, 22677, 22682,
+ 22688, 22692, 22696, 22702, 22708, 22714, 22720, 22724, 22728, 22732,
+ 22736, 22740, 22744, 22750, 22754, 22758, 22762, 22767, 22771, 22776,
+ 22780, 22785, 22789, 22794, 22798, 22803, 22807, 22812, 22816, 22821,
+ 22827, 22831, 22837, 22841, 22845, 22849, 22853, 22857, 22861, 22867,
+ 22870, 22874, 22878, 22883, 22887, 22892, 22896, 22901, 22905, 22910,
+ 22914, 22919, 22923, 22928, 22932, 22937, 22943, 22946, 22950, 22954,
+ 22959, 22964, 22968, 22972, 22976, 22980, 22984, 22988, 22994, 22997,
+ 23001, 23005, 23010, 23014, 23019, 23023, 23028, 23034, 23037, 23042,
+ 23046, 23050, 23054, 23058, 23062, 23066, 23070, 23076, 23080, 23084,
+ 23088, 23093, 23097, 23102, 23106, 23111, 23115, 23120, 23124, 23129,
+ 23133, 23138, 23142, 23147, 23150, 23154, 23158, 23162, 23166, 23170,
+ 23174, 23178, 23182, 23188, 23192, 23196, 23200, 23205, 23209, 23214,
23218, 23223, 23227, 23232, 23236, 23241, 23245, 23250, 23254, 23259,
- 23263, 23268, 23272, 23277, 23280, 23284, 23288, 23292, 23296, 23300,
- 23304, 23308, 23312, 23318, 23322, 23326, 23330, 23335, 23339, 23344,
- 23348, 23353, 23357, 23362, 23366, 23371, 23375, 23380, 23384, 23389,
- 23395, 23398, 23403, 23407, 23412, 23418, 23424, 23430, 23436, 23442,
- 23448, 23454, 23458, 23462, 23466, 23470, 23474, 23478, 23482, 23486,
- 23491, 23495, 23500, 23504, 23509, 23513, 23518, 23522, 23527, 23531,
- 23536, 23540, 23545, 23549, 23553, 23557, 23561, 23565, 23569, 23573,
- 23579, 23582, 23586, 23590, 23595, 23599, 23604, 23608, 23613, 23617,
- 23622, 23626, 23631, 23635, 23640, 23644, 23649, 23655, 23659, 23665,
- 23670, 23676, 23680, 23686, 23691, 23695, 23699, 23703, 23707, 23711,
- 23716, 23719, 23723, 23728, 23732, 23737, 23740, 23744, 23748, 23752,
- 23756, 23760, 23764, 23768, 23772, 23776, 23780, 23784, 23789, 23793,
- 23797, 23803, 23807, 23813, 23817, 23823, 23827, 23831, 23835, 23839,
- 23843, 23848, 23852, 23856, 23860, 23864, 23868, 23872, 23876, 23880,
- 23884, 23888, 23894, 23900, 23906, 23912, 23918, 23923, 23929, 23935,
- 23941, 23945, 23949, 23953, 23957, 23961, 23965, 23969, 23973, 23977,
- 23981, 23985, 23989, 23993, 23998, 24003, 24008, 24012, 24016, 24020,
- 24024, 24028, 24032, 24036, 24040, 24044, 24048, 24054, 24060, 24066,
- 24072, 24078, 24084, 24090, 24096, 24102, 24106, 24110, 24114, 24118,
- 24122, 24126, 24130, 24136, 24142, 24148, 24154, 24160, 24166, 24172,
- 24178, 24184, 24189, 24194, 24199, 24204, 24210, 24216, 24222, 24228,
- 24234, 24240, 24246, 24251, 24257, 24263, 24269, 24274, 24280, 24286,
- 24292, 24297, 24302, 24307, 24312, 24317, 24322, 24327, 24332, 24337,
- 24342, 24347, 24352, 24356, 24361, 24366, 24371, 24376, 24381, 24386,
- 24391, 24396, 24401, 24406, 24411, 24416, 24421, 24426, 24431, 24436,
- 24441, 24446, 24451, 24456, 24461, 24466, 24471, 24476, 24481, 24486,
- 24491, 24496, 24501, 24505, 24510, 24515, 24520, 24525, 24530, 24535,
- 24540, 24545, 24550, 24555, 24560, 24565, 24570, 24575, 24580, 24585,
- 24590, 24595, 24600, 24605, 24610, 24615, 24620, 24625, 24630, 24634,
- 24639, 24644, 24649, 24654, 24659, 24663, 24668, 24673, 24678, 24683,
- 24688, 24692, 24697, 24703, 24708, 24713, 24718, 24723, 24729, 24734,
- 24739, 24744, 24749, 24754, 24759, 24764, 24769, 24774, 24779, 24784,
- 24789, 24794, 24799, 24804, 24809, 24814, 24819, 24824, 24829, 24834,
- 24839, 24844, 24849, 24854, 24859, 24864, 24869, 24874, 24879, 24884,
- 24889, 24894, 24899, 24904, 24909, 24914, 24919, 24924, 24929, 24934,
- 24939, 24944, 24949, 24955, 24960, 24965, 24970, 24975, 24980, 24985,
- 24990, 24995, 25000, 25005, 25010, 25015, 25020, 25025, 25030, 25035,
- 25040, 25045, 25050, 25055, 25060, 25065, 25070, 25075, 25080, 25085,
- 25090, 25095, 25100, 25105, 25110, 25115, 25120, 25125, 25130, 25135,
- 25140, 25145, 25151, 25155, 25159, 25163, 25167, 25171, 25175, 25179,
- 25183, 25189, 25195, 25201, 25207, 25213, 25219, 25225, 25232, 25238,
- 25243, 25248, 25253, 25258, 25263, 25268, 25273, 25278, 25283, 25288,
- 25293, 25298, 25303, 25308, 25313, 25318, 25323, 25328, 25333, 25338,
- 25343, 25348, 25353, 25358, 25363, 25368, 25373, 25378, 0, 0, 0, 25385,
- 25395, 25399, 25406, 25410, 25414, 25418, 25426, 25430, 25435, 25440,
- 25445, 25449, 25454, 25459, 25462, 25466, 25470, 25479, 25483, 25487,
- 25493, 25497, 25501, 25509, 25513, 25521, 25527, 25533, 25539, 25545,
- 25554, 25559, 25563, 25572, 25575, 25581, 25585, 25591, 25596, 25602,
- 25610, 25616, 25621, 25628, 25633, 25637, 25641, 25651, 25657, 25661,
- 25671, 25677, 25681, 25685, 25692, 25699, 25704, 25709, 25718, 25722,
- 25726, 25730, 25738, 25745, 25749, 25753, 25757, 25761, 25765, 25769,
- 25773, 25777, 25781, 25785, 25789, 25794, 25799, 25804, 25808, 25812, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25816, 25820, 25824, 25828,
- 25832, 25837, 25842, 25847, 25852, 25856, 25860, 25865, 25869, 0, 25873,
- 25878, 25883, 25888, 25892, 25897, 25902, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 25907, 25911, 25915, 25919, 25923, 25928, 25933, 25938, 25943, 25947,
- 25951, 25956, 25960, 25964, 25968, 25973, 25978, 25983, 25987, 25992,
- 25997, 26002, 26008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26013, 26017, 26021,
- 26025, 26029, 26034, 26039, 26044, 26049, 26053, 26057, 26062, 26066,
- 26070, 26074, 26079, 26084, 26089, 26093, 26098, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 26103, 26107, 26111, 26115, 26119, 26124, 26129, 26134,
- 26139, 26143, 26147, 26152, 26156, 0, 26160, 26165, 26170, 0, 26175,
- 26180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26185, 26188, 26192, 26196,
- 26200, 26204, 26208, 26212, 26216, 26220, 26224, 26228, 26232, 26236,
- 26240, 26244, 26248, 26252, 26255, 26259, 26263, 26267, 26271, 26275,
- 26279, 26283, 26287, 26291, 26295, 26299, 26303, 26307, 26311, 26314,
- 26318, 26322, 26328, 26334, 26340, 26346, 26352, 26358, 26364, 26370,
- 26376, 26382, 26388, 26394, 26400, 26406, 26415, 26424, 26430, 26436,
- 26442, 26447, 26451, 26456, 26461, 26466, 26470, 26475, 26480, 26485,
- 26489, 26494, 26498, 26503, 26508, 26513, 26518, 26522, 26526, 26530,
- 26534, 26538, 26542, 26546, 26550, 26554, 26558, 26564, 26568, 26572,
- 26576, 26580, 26584, 26592, 26598, 26602, 26608, 26612, 26618, 26622, 0,
- 0, 26626, 26630, 26633, 26636, 26639, 26642, 26645, 26648, 26651, 26654,
- 0, 0, 0, 0, 0, 0, 26657, 26665, 26673, 26681, 26689, 26697, 26705, 26713,
- 26721, 26729, 0, 0, 0, 0, 0, 0, 26737, 26740, 26743, 26746, 26751, 26754,
- 26759, 26766, 26774, 26779, 26786, 26789, 26796, 26803, 26810, 0, 26814,
- 26818, 26821, 26824, 26827, 26830, 26833, 26836, 26839, 26842, 0, 0, 0,
- 0, 0, 0, 26845, 26848, 26851, 26854, 26857, 26860, 26864, 26868, 26872,
- 26875, 26879, 26883, 26886, 26890, 26894, 26897, 26901, 26905, 26909,
- 26913, 26917, 26921, 26925, 26928, 26931, 26935, 26939, 26942, 26946,
- 26950, 26954, 26958, 26962, 26966, 26970, 26974, 26981, 26986, 26991,
- 26996, 27001, 27007, 27013, 27019, 27025, 27030, 27036, 27042, 27047,
- 27053, 27059, 27065, 27071, 27077, 27082, 27088, 27093, 27099, 27105,
- 27111, 27117, 27123, 27128, 27133, 27139, 27145, 27150, 27156, 27161,
- 27167, 27172, 27177, 27183, 27189, 27195, 27201, 27207, 27213, 27219,
- 27225, 27231, 27237, 27243, 27249, 27254, 27259, 27264, 27270, 0, 0, 0,
- 0, 0, 0, 0, 0, 27276, 27285, 27294, 27302, 27310, 27320, 27328, 27337,
- 27344, 27351, 27358, 27366, 27374, 27382, 27390, 27398, 27406, 27414,
- 27422, 27429, 27437, 27445, 27453, 27461, 27469, 27479, 27489, 27499,
- 27509, 27519, 27529, 27539, 27549, 27559, 27569, 27579, 27589, 27599,
- 27609, 27617, 27625, 27635, 27643, 0, 0, 0, 0, 0, 27653, 27657, 27661,
- 27665, 27669, 27673, 27677, 27681, 27685, 27689, 27693, 27697, 27701,
- 27705, 27709, 27713, 27717, 27721, 27725, 27729, 27733, 27737, 27741,
- 27745, 27751, 27755, 27761, 27765, 27771, 27775, 27781, 27785, 27789,
- 27793, 27797, 27801, 27805, 27811, 27817, 27823, 27829, 27834, 27839,
- 27844, 27850, 27856, 27862, 27868, 27875, 27881, 27886, 27891, 27895,
- 27899, 27903, 27907, 27911, 27915, 27919, 27925, 27931, 27937, 27942,
- 27949, 27954, 27959, 27965, 27970, 27977, 27984, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 27990, 27995, 27998, 28002, 28006, 28010, 28014, 28018, 28022,
- 28026, 28030, 28034, 28038, 28042, 28046, 28050, 28053, 28056, 28060,
- 28064, 28068, 28071, 28074, 28077, 28081, 28085, 28089, 28093, 28097, 0,
- 0, 0, 28100, 28104, 28108, 28112, 28117, 28122, 28127, 28132, 28136,
- 28140, 28145, 28150, 0, 0, 0, 0, 28156, 28160, 28165, 28170, 28175,
- 28179, 28183, 28187, 28191, 28196, 28200, 28204, 0, 0, 0, 0, 28208, 0, 0,
- 0, 28212, 28216, 28220, 28224, 28227, 28230, 28233, 28236, 28239, 28242,
- 28245, 28248, 28251, 28256, 28262, 28268, 28274, 28280, 28285, 28291,
- 28297, 28303, 28308, 28314, 28319, 28325, 28331, 28336, 28342, 28348,
- 28354, 28359, 28364, 28369, 28375, 28381, 28386, 28392, 28397, 28403,
- 28408, 28414, 0, 0, 28420, 28426, 28432, 28438, 28444, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 28450, 28457, 28464, 28470, 28477, 28484, 28490, 28497,
- 28504, 28511, 28518, 28524, 28531, 28538, 28544, 28551, 28558, 28564,
- 28571, 28578, 28584, 28590, 28597, 28603, 28609, 28616, 28622, 28629,
- 28636, 28643, 28650, 28657, 28664, 28670, 28677, 28684, 28690, 28697,
- 28704, 28711, 28718, 28725, 28732, 28739, 0, 0, 0, 0, 28746, 28754,
- 28761, 28768, 28774, 28781, 28787, 28794, 28800, 28807, 28814, 28821,
- 28828, 28835, 28842, 28849, 28856, 28863, 28870, 28877, 28883, 28889,
- 28896, 28903, 28910, 28916, 0, 0, 0, 0, 0, 0, 28922, 28928, 28933, 28938,
- 28943, 28948, 28953, 28958, 28963, 28968, 28973, 0, 0, 0, 28979, 28985,
- 28991, 28995, 29001, 29007, 29013, 29019, 29025, 29031, 29037, 29043,
- 29049, 29055, 29061, 29067, 29073, 29079, 29085, 29089, 29095, 29101,
- 29107, 29113, 29119, 29125, 29131, 29137, 29143, 29149, 29155, 29161,
- 29167, 29173, 29179, 29183, 29188, 29193, 29198, 29202, 29207, 29211,
- 29216, 29221, 29226, 29230, 29235, 29240, 29245, 29250, 29255, 29259,
- 29263, 29268, 29273, 29278, 29282, 29286, 29291, 29296, 29301, 29306, 0,
- 0, 29312, 29316, 29323, 29328, 29334, 29340, 29345, 29351, 29357, 29362,
- 29368, 29374, 29380, 29386, 29392, 29397, 29402, 29408, 29413, 29419,
- 29424, 29430, 29436, 29442, 29448, 29452, 29457, 29462, 29468, 29474,
- 29479, 29485, 29491, 29495, 29500, 29505, 29509, 29514, 29519, 29524,
- 29529, 29535, 29541, 29547, 29552, 29557, 29561, 29566, 29570, 29575,
- 29579, 29584, 29589, 29594, 29599, 29606, 29613, 29621, 29632, 29641,
- 29649, 29656, 29667, 29673, 29680, 0, 29687, 29692, 29697, 29705, 29711,
- 29719, 29724, 29730, 29736, 29742, 29747, 29753, 29758, 29765, 29771,
- 29776, 29782, 29788, 29794, 29801, 29808, 29815, 29820, 29825, 29832,
- 29839, 29846, 29853, 29860, 0, 0, 29867, 29874, 29881, 29887, 29893,
- 29899, 29905, 29911, 29917, 29923, 29929, 0, 0, 0, 0, 0, 0, 29935, 29941,
- 29946, 29951, 29956, 29961, 29966, 29971, 29976, 29981, 0, 0, 0, 0, 0, 0,
- 29986, 29991, 29996, 30001, 30006, 30011, 30016, 30025, 30032, 30037,
- 30042, 30047, 30052, 30057, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 23265, 23268, 23273, 23277, 23282, 23288, 23294, 23300, 23306, 23312,
+ 23318, 23324, 23328, 23332, 23336, 23340, 23344, 23348, 23352, 23356,
+ 23361, 23365, 23370, 23374, 23379, 23383, 23388, 23392, 23397, 23401,
+ 23406, 23410, 23415, 23419, 23423, 23427, 23431, 23435, 23439, 23443,
+ 23449, 23452, 23456, 23460, 23465, 23469, 23474, 23478, 23483, 23487,
+ 23492, 23496, 23501, 23505, 23510, 23514, 23519, 23525, 23529, 23535,
+ 23540, 23546, 23550, 23556, 23561, 23565, 23569, 23573, 23577, 23581,
+ 23586, 23589, 23593, 23598, 23602, 23607, 23610, 23614, 23618, 23622,
+ 23626, 23630, 23634, 23638, 23642, 23646, 23650, 23654, 23659, 23663,
+ 23667, 23673, 23677, 23683, 23687, 23693, 23697, 23701, 23705, 23709,
+ 23713, 23718, 23722, 23726, 23730, 23734, 23738, 23742, 23746, 23750,
+ 23754, 23758, 23764, 23770, 23776, 23782, 23788, 23793, 23799, 23805,
+ 23811, 23815, 23819, 23823, 23827, 23831, 23835, 23839, 23843, 23847,
+ 23851, 23855, 23859, 23863, 23868, 23873, 23878, 23882, 23886, 23890,
+ 23894, 23898, 23902, 23906, 23910, 23914, 23918, 23924, 23930, 23936,
+ 23942, 23948, 23954, 23960, 23966, 23972, 23976, 23980, 23984, 23988,
+ 23992, 23996, 24000, 24006, 24012, 24018, 24024, 24030, 24036, 24042,
+ 24048, 24054, 24059, 24064, 24069, 24074, 24080, 24086, 24092, 24098,
+ 24104, 24110, 24116, 24121, 24127, 24133, 24139, 24144, 24150, 24156,
+ 24162, 24167, 24172, 24177, 24182, 24187, 24192, 24197, 24202, 24207,
+ 24212, 24217, 24222, 24226, 24231, 24236, 24241, 24246, 24251, 24256,
+ 24261, 24266, 24271, 24276, 24281, 24286, 24291, 24296, 24301, 24306,
+ 24311, 24316, 24321, 24326, 24331, 24336, 24341, 24346, 24351, 24356,
+ 24361, 24366, 24371, 24375, 24380, 24385, 24390, 24395, 24400, 24405,
+ 24410, 24415, 24420, 24425, 24430, 24435, 24440, 24445, 24450, 24455,
+ 24460, 24465, 24470, 24475, 24480, 24485, 24490, 24495, 24500, 24504,
+ 24509, 24514, 24519, 24524, 24529, 24533, 24538, 24543, 24548, 24553,
+ 24558, 24562, 24567, 24573, 24578, 24583, 24588, 24593, 24599, 24604,
+ 24609, 24614, 24619, 24624, 24629, 24634, 24639, 24644, 24649, 24654,
+ 24659, 24664, 24669, 24674, 24679, 24684, 24689, 24694, 24699, 24704,
+ 24709, 24714, 24719, 24724, 24729, 24734, 24739, 24744, 24749, 24754,
+ 24759, 24764, 24769, 24774, 24779, 24784, 24789, 24794, 24799, 24804,
+ 24809, 24814, 24819, 24825, 24830, 24835, 24840, 24845, 24850, 24855,
+ 24860, 24865, 24870, 24875, 24880, 24885, 24890, 24895, 24900, 24905,
+ 24910, 24915, 24920, 24925, 24930, 24935, 24940, 24945, 24950, 24955,
+ 24960, 24965, 24970, 24975, 24980, 24985, 24990, 24995, 25000, 25005,
+ 25010, 25015, 25021, 25025, 25029, 25033, 25037, 25041, 25045, 25049,
+ 25053, 25059, 25065, 25071, 25077, 25083, 25089, 25095, 25102, 25108,
+ 25113, 25118, 25123, 25128, 25133, 25138, 25143, 25148, 25153, 25158,
+ 25163, 25168, 25173, 25178, 25183, 25188, 25193, 25198, 25203, 25208,
+ 25213, 25218, 25223, 25228, 25233, 25238, 25243, 25248, 0, 0, 0, 25255,
+ 25265, 25269, 25276, 25280, 25284, 25288, 25296, 25300, 25305, 25310,
+ 25315, 25319, 25324, 25329, 25332, 25336, 25340, 25349, 25353, 25357,
+ 25363, 25367, 25371, 25379, 25383, 25391, 25397, 25403, 25409, 25415,
+ 25424, 25429, 25433, 25442, 25445, 25451, 25455, 25461, 25466, 25472,
+ 25480, 25486, 25491, 25498, 25503, 25507, 25511, 25521, 25527, 25531,
+ 25541, 25547, 25551, 25555, 25562, 25569, 25574, 25579, 25588, 25592,
+ 25596, 25600, 25608, 25615, 25619, 25623, 25627, 25631, 25635, 25639,
+ 25643, 25647, 25651, 25655, 25659, 25664, 25669, 25674, 25678, 25682, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25686, 25690, 25694, 25698,
+ 25702, 25707, 25712, 25717, 25722, 25726, 25730, 25735, 25739, 0, 25743,
+ 25748, 25753, 25758, 25762, 25767, 25772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 25777, 25781, 25785, 25789, 25793, 25798, 25803, 25808, 25813, 25817,
+ 25821, 25826, 25830, 25834, 25838, 25843, 25848, 25853, 25857, 25862,
+ 25867, 25872, 25878, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25883, 25887, 25891,
+ 25895, 25899, 25904, 25909, 25914, 25919, 25923, 25927, 25932, 25936,
+ 25940, 25944, 25949, 25954, 25959, 25963, 25968, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 25973, 25977, 25981, 25985, 25989, 25994, 25999, 26004,
+ 26009, 26013, 26017, 26022, 26026, 0, 26030, 26035, 26040, 0, 26045,
+ 26050, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26055, 26058, 26062, 26066,
+ 26070, 26074, 26078, 26082, 26086, 26090, 26094, 26098, 26102, 26106,
+ 26110, 26114, 26118, 26122, 26125, 26129, 26133, 26137, 26141, 26145,
+ 26149, 26153, 26157, 26161, 26165, 26169, 26173, 26177, 26181, 26184,
+ 26188, 26192, 26198, 26204, 26210, 26216, 26222, 26228, 26234, 26240,
+ 26246, 26252, 26258, 26264, 26270, 26276, 26285, 26294, 26300, 26306,
+ 26312, 26317, 26321, 26326, 26331, 26336, 26340, 26345, 26350, 26355,
+ 26359, 26364, 26368, 26373, 26378, 26383, 26388, 26392, 26396, 26400,
+ 26404, 26408, 26412, 26416, 26420, 26424, 26428, 26434, 26438, 26442,
+ 26446, 26450, 26454, 26462, 26468, 26472, 26478, 26482, 26488, 26492, 0,
+ 0, 26496, 26500, 26503, 26506, 26509, 26512, 26515, 26518, 26521, 26524,
+ 0, 0, 0, 0, 0, 0, 26527, 26535, 26543, 26551, 26559, 26567, 26575, 26583,
+ 26591, 26599, 0, 0, 0, 0, 0, 0, 26607, 26610, 26613, 26616, 26621, 26624,
+ 26629, 26636, 26644, 26649, 26656, 26659, 26666, 26673, 26680, 0, 26684,
+ 26688, 26691, 26694, 26697, 26700, 26703, 26706, 26709, 26712, 0, 0, 0,
+ 0, 0, 0, 26715, 26718, 26721, 26724, 26727, 26730, 26734, 26738, 26742,
+ 26745, 26749, 26753, 26756, 26760, 26764, 26767, 26771, 26775, 26779,
+ 26783, 26787, 26791, 26795, 26798, 26801, 26805, 26809, 26812, 26816,
+ 26820, 26824, 26828, 26832, 26836, 26840, 26844, 26851, 26856, 26861,
+ 26866, 26871, 26877, 26883, 26889, 26895, 26900, 26906, 26912, 26917,
+ 26923, 26929, 26935, 26941, 26947, 26952, 26958, 26963, 26969, 26975,
+ 26981, 26987, 26993, 26998, 27003, 27009, 27015, 27020, 27026, 27031,
+ 27037, 27042, 27047, 27053, 27059, 27065, 27071, 27077, 27083, 27089,
+ 27095, 27101, 27107, 27113, 27119, 27124, 27129, 27134, 27140, 0, 0, 0,
+ 0, 0, 0, 0, 0, 27146, 27155, 27164, 27172, 27180, 27190, 27198, 27207,
+ 27214, 27221, 27228, 27236, 27244, 27252, 27260, 27268, 27276, 27284,
+ 27292, 27299, 27307, 27315, 27323, 27331, 27339, 27349, 27359, 27369,
+ 27379, 27389, 27399, 27409, 27419, 27429, 27439, 27449, 27459, 27469,
+ 27479, 27487, 27495, 27505, 27513, 0, 0, 0, 0, 0, 27523, 27527, 27531,
+ 27535, 27539, 27543, 27547, 27551, 27555, 27559, 27563, 27567, 27571,
+ 27575, 27579, 27583, 27587, 27591, 27595, 27599, 27603, 27607, 27611,
+ 27615, 27621, 27625, 27631, 27635, 27641, 27645, 27651, 27655, 27659,
+ 27663, 27667, 27671, 27675, 27681, 27687, 27693, 27699, 27704, 27709,
+ 27714, 27720, 27726, 27732, 27738, 27745, 27751, 27756, 27761, 27765,
+ 27769, 27773, 27777, 27781, 27785, 27789, 27795, 27801, 27807, 27812,
+ 27819, 27824, 27829, 27835, 27840, 27847, 27854, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 27860, 27866, 27870, 27875, 27880, 27885, 27890, 27895, 27900,
+ 27905, 27910, 27915, 27920, 27925, 27930, 27935, 27939, 27943, 27948,
+ 27953, 27958, 27962, 27966, 27970, 27975, 27980, 27985, 27990, 27995, 0,
+ 0, 0, 27999, 28004, 28009, 28014, 28020, 28026, 28032, 28038, 28043,
+ 28048, 28054, 28060, 0, 0, 0, 0, 28067, 28072, 28078, 28084, 28090,
+ 28095, 28100, 28105, 28110, 28116, 28121, 28126, 0, 0, 0, 0, 28131, 0, 0,
+ 0, 28136, 28141, 28146, 28151, 28155, 28159, 28163, 28167, 28171, 28175,
+ 28179, 28183, 28187, 28192, 28198, 28204, 28210, 28216, 28221, 28227,
+ 28233, 28239, 28244, 28250, 28255, 28261, 28267, 28272, 28278, 28284,
+ 28290, 28295, 28300, 28305, 28311, 28317, 28322, 28328, 28333, 28339,
+ 28344, 28350, 0, 0, 28356, 28362, 28368, 28374, 28380, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 28386, 28393, 28400, 28406, 28413, 28420, 28426, 28433,
+ 28440, 28447, 28454, 28460, 28467, 28474, 28480, 28487, 28494, 28500,
+ 28507, 28514, 28520, 28526, 28533, 28539, 28545, 28552, 28558, 28565,
+ 28572, 28579, 28586, 28593, 28600, 28606, 28613, 28620, 28626, 28633,
+ 28640, 28647, 28654, 28661, 28668, 28675, 0, 0, 0, 0, 28682, 28690,
+ 28697, 28704, 28710, 28717, 28723, 28730, 28736, 28743, 28750, 28757,
+ 28764, 28771, 28778, 28785, 28792, 28799, 28806, 28813, 28819, 28825,
+ 28832, 28839, 28846, 28852, 0, 0, 0, 0, 0, 0, 28858, 28864, 28869, 28874,
+ 28879, 28884, 28889, 28894, 28899, 28904, 28909, 0, 0, 0, 28915, 28921,
+ 28927, 28931, 28937, 28943, 28949, 28955, 28961, 28967, 28973, 28979,
+ 28985, 28991, 28997, 29003, 29009, 29015, 29021, 29025, 29031, 29037,
+ 29043, 29049, 29055, 29061, 29067, 29073, 29079, 29085, 29091, 29097,
+ 29103, 29109, 29115, 29119, 29124, 29129, 29134, 29138, 29143, 29147,
+ 29152, 29157, 29162, 29166, 29171, 29176, 29181, 29186, 29191, 29195,
+ 29199, 29204, 29209, 29214, 29218, 29222, 29227, 29232, 29237, 29242, 0,
+ 0, 29248, 29252, 29259, 29264, 29270, 29276, 29281, 29287, 29293, 29298,
+ 29304, 29310, 29316, 29322, 29328, 29333, 29338, 29344, 29349, 29355,
+ 29360, 29366, 29372, 29378, 29384, 29388, 29393, 29398, 29404, 29410,
+ 29415, 29421, 29427, 29431, 29436, 29441, 29445, 29450, 29455, 29460,
+ 29465, 29471, 29477, 29483, 29488, 29493, 29497, 29502, 29506, 29511,
+ 29515, 29520, 29525, 29530, 29535, 29542, 29548, 29555, 29565, 29574,
+ 29581, 29587, 29597, 29602, 29608, 0, 29614, 29619, 29624, 29632, 29638,
+ 29646, 29651, 29657, 29663, 29669, 29674, 29680, 29685, 29692, 29698,
+ 29703, 29709, 29715, 29721, 29728, 29735, 29742, 29747, 29752, 29759,
+ 29766, 29773, 29780, 29787, 0, 0, 29794, 29801, 29808, 29814, 29820,
+ 29826, 29832, 29838, 29844, 29850, 29856, 0, 0, 0, 0, 0, 0, 29862, 29868,
+ 29873, 29878, 29883, 29888, 29893, 29898, 29903, 29908, 0, 0, 0, 0, 0, 0,
+ 29913, 29918, 29923, 29928, 29933, 29938, 29943, 29952, 29959, 29964,
+ 29969, 29974, 29979, 29984, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30062, 30068,
- 30074, 30078, 30082, 30086, 30090, 30096, 30100, 30106, 30110, 30116,
- 30122, 30130, 30136, 30144, 30148, 30152, 30156, 30162, 30165, 30171,
- 30175, 30181, 30185, 30189, 30195, 30199, 30205, 30209, 30215, 30223,
- 30231, 30239, 30245, 30249, 30255, 30259, 30265, 30268, 30271, 30277,
- 30281, 30287, 30290, 30293, 30296, 30300, 30304, 30310, 30316, 30320,
- 30323, 30327, 30332, 30337, 30344, 30349, 30356, 30363, 30372, 30379,
- 30388, 30393, 30400, 30407, 30416, 30421, 30428, 30433, 30439, 30445,
- 30451, 30457, 30463, 30469, 0, 0, 0, 0, 30475, 30479, 30482, 30485,
- 30488, 30491, 30494, 30497, 30500, 30503, 30506, 30509, 30512, 30515,
- 30520, 30525, 30530, 30533, 30538, 30543, 30548, 30553, 30560, 30565,
- 30570, 30575, 30580, 30587, 30593, 30599, 30605, 30611, 30617, 30626,
- 30635, 30641, 30647, 30656, 30665, 30674, 30683, 30692, 30701, 30710,
- 30719, 0, 0, 0, 30728, 30733, 30738, 30743, 30747, 30751, 30755, 30760,
- 30764, 30768, 30773, 30777, 30782, 30787, 30792, 30797, 30802, 30807,
- 30812, 30817, 30822, 30826, 30830, 30835, 30840, 30845, 30849, 30853,
- 30857, 30862, 30867, 30872, 30877, 30881, 30888, 30895, 30902, 30908,
- 30914, 30920, 30926, 30932, 30938, 0, 0, 0, 30943, 30948, 30953, 30958,
- 30962, 30966, 30970, 30974, 30978, 30982, 30986, 30990, 0, 0, 0, 0, 0, 0,
- 30994, 30998, 31004, 31008, 31014, 31020, 31025, 31032, 31036, 31042,
- 31046, 31052, 31057, 31064, 31071, 31076, 31083, 31088, 31093, 31097,
- 31103, 31107, 31113, 31120, 31127, 31132, 31139, 31146, 31150, 31156,
- 31161, 31166, 31173, 31178, 31183, 31188, 31193, 31197, 31201, 31206,
- 31211, 31218, 31224, 31229, 31236, 31241, 31248, 31253, 31263, 31270,
- 31277, 31281, 0, 0, 0, 0, 0, 0, 0, 0, 31285, 31294, 31301, 31308, 31315,
- 31318, 31322, 31326, 31330, 31334, 31338, 31342, 31346, 31350, 31354,
- 31358, 31362, 31366, 31369, 31372, 31376, 31380, 31384, 31388, 31392,
- 31396, 31399, 31403, 31407, 31411, 31415, 31418, 31421, 31425, 31428,
- 31432, 31436, 31440, 31444, 31448, 31451, 31456, 31461, 31466, 31470,
- 31474, 31479, 31483, 31488, 31492, 31498, 31503, 31508, 31513, 31519,
- 31524, 31530, 31536, 31542, 31546, 0, 0, 0, 31550, 31555, 31564, 31569,
- 31576, 31581, 31585, 31588, 31591, 31594, 31597, 31600, 31603, 31606,
- 31609, 0, 0, 0, 31612, 31616, 31620, 31624, 31631, 31637, 31643, 31649,
- 31655, 31661, 31667, 31673, 31679, 31685, 31692, 31699, 31706, 31713,
- 31720, 31727, 31734, 31741, 31748, 31755, 31762, 31769, 31776, 31783,
- 31790, 31797, 31804, 31811, 31818, 31825, 31832, 31839, 31846, 31853,
- 31860, 31867, 31874, 31881, 31888, 31895, 31903, 31911, 31919, 31925,
- 31931, 31937, 31945, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29989, 29995,
+ 30001, 30005, 30009, 30013, 30017, 30023, 30027, 30033, 30037, 30043,
+ 30049, 30057, 30063, 30071, 30075, 30079, 30083, 30089, 30092, 30098,
+ 30102, 30108, 30112, 30116, 30122, 30126, 30132, 30136, 30142, 30150,
+ 30158, 30166, 30172, 30176, 30182, 30186, 30192, 30195, 30198, 30204,
+ 30208, 30214, 30217, 30220, 30223, 30227, 30231, 30237, 30243, 30247,
+ 30250, 30254, 30259, 30264, 30271, 30276, 30283, 30290, 30299, 30306,
+ 30315, 30320, 30327, 30334, 30343, 30348, 30355, 30360, 30366, 30372,
+ 30378, 30384, 30390, 30396, 0, 0, 0, 0, 30402, 30406, 30409, 30412,
+ 30415, 30418, 30421, 30424, 30427, 30430, 30433, 30436, 30439, 30442,
+ 30447, 30452, 30457, 30460, 30465, 30470, 30475, 30480, 30487, 30492,
+ 30497, 30502, 30507, 30514, 30520, 30526, 30532, 30538, 30544, 30553,
+ 30562, 30568, 30574, 30582, 30590, 30599, 30608, 30616, 30624, 30633,
+ 30642, 0, 0, 0, 30650, 30655, 30660, 30665, 30669, 30673, 30677, 30682,
+ 30686, 30690, 30695, 30699, 30704, 30709, 30714, 30719, 30724, 30729,
+ 30734, 30739, 30744, 30748, 30752, 30757, 30762, 30767, 30771, 30775,
+ 30779, 30784, 30789, 30794, 30799, 30803, 30809, 30815, 30821, 30827,
+ 30833, 30839, 30845, 30851, 30857, 0, 0, 0, 30862, 30867, 30872, 30877,
+ 30881, 30885, 30889, 30893, 30897, 30901, 30905, 30909, 0, 0, 0, 0, 0, 0,
+ 30913, 30917, 30923, 30927, 30933, 30939, 30944, 30951, 30955, 30961,
+ 30965, 30971, 30976, 30983, 30990, 30995, 31002, 31007, 31012, 31016,
+ 31022, 31026, 31032, 31039, 31046, 31051, 31058, 31065, 31069, 31075,
+ 31080, 31085, 31092, 31097, 31102, 31107, 31112, 31116, 31120, 31125,
+ 31130, 31137, 31143, 31148, 31155, 31160, 31167, 31172, 31182, 31188,
+ 31194, 31198, 0, 0, 0, 0, 0, 0, 0, 0, 31202, 31211, 31218, 31225, 31232,
+ 31235, 31239, 31243, 31247, 31251, 31255, 31259, 31263, 31267, 31271,
+ 31275, 31279, 31283, 31286, 31289, 31293, 31297, 31301, 31305, 31309,
+ 31313, 31316, 31320, 31324, 31328, 31332, 31335, 31338, 31342, 31345,
+ 31349, 31353, 31357, 31361, 31365, 31368, 31373, 31378, 31383, 31387,
+ 31391, 31396, 31400, 31405, 31409, 31414, 31418, 31422, 31426, 31431,
+ 31435, 31440, 31445, 31450, 31454, 0, 0, 0, 31458, 31463, 31472, 31477,
+ 31484, 31489, 31493, 31496, 31499, 31502, 31505, 31508, 31511, 31514,
+ 31517, 0, 0, 0, 31520, 31524, 31528, 31532, 31539, 31545, 31551, 31557,
+ 31563, 31569, 31575, 31581, 31587, 31593, 31600, 31607, 31614, 31621,
+ 31628, 31635, 31642, 31649, 31656, 31663, 31670, 31677, 31684, 31691,
+ 31698, 31705, 31712, 31719, 31726, 31733, 31740, 31747, 31754, 31761,
+ 31768, 31775, 31782, 31789, 31796, 31803, 31811, 31819, 31827, 31833,
+ 31839, 31845, 31853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31954, 31959, 31964, 31969,
- 31974, 31983, 31994, 32003, 32014, 32020, 32033, 32039, 32046, 32053,
- 32058, 32064, 32070, 32081, 32090, 32097, 32104, 32113, 32120, 32129,
- 32139, 32149, 32156, 32163, 32170, 32180, 32185, 32193, 32199, 32207,
- 32216, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32221, 32226, 32232, 32239,
- 32247, 32253, 32259, 32265, 32270, 32278, 32284, 32290, 32296, 32304,
- 32309, 32316, 32321, 32328, 32334, 32342, 32350, 32357, 32363, 32370,
- 32377, 32383, 32390, 32397, 32403, 32408, 32414, 32422, 32430, 32436,
- 32442, 32448, 32454, 32462, 32466, 32472, 32478, 32484, 32490, 32496,
- 32502, 32506, 32511, 32516, 32523, 32528, 32532, 32538, 32543, 32548,
- 32552, 32557, 32562, 32566, 32570, 32574, 32580, 32584, 32589, 32594,
- 32598, 32603, 32607, 32612, 32616, 32622, 32627, 32634, 32639, 32644,
- 32648, 32653, 32659, 32667, 32672, 32678, 32683, 32687, 32692, 32696,
- 32702, 32709, 32716, 32721, 32726, 32730, 32736, 32742, 32747, 32752,
- 32757, 32763, 32768, 32774, 32779, 32785, 32791, 32797, 32804, 32811,
- 32818, 32825, 32832, 32839, 32844, 32853, 32863, 32873, 32883, 32893,
- 32903, 32913, 32926, 32936, 32946, 32956, 32963, 32968, 32975, 32983,
- 32991, 32998, 33005, 33012, 33019, 33027, 33036, 33045, 33054, 33063,
- 33072, 33081, 33090, 33099, 33108, 33117, 33126, 33135, 33144, 33153,
- 33161, 33170, 33181, 33189, 33199, 33211, 33220, 33229, 33239, 33248,
- 33256, 33265, 33272, 33277, 33285, 33290, 33298, 33303, 33312, 33318,
- 33325, 33332, 33337, 33342, 33350, 33358, 33367, 33376, 33381, 33388,
- 33399, 33407, 33416, 33421, 33427, 33432, 33439, 33444, 33453, 33458,
- 33463, 33468, 33475, 33482, 33487, 33496, 33504, 33509, 33514, 33521,
- 33528, 33532, 33536, 33539, 33542, 33545, 33548, 33551, 33554, 33561,
- 33564, 33567, 33572, 33576, 33580, 33584, 33588, 33592, 33602, 33608,
- 33614, 33620, 33628, 33636, 33642, 33648, 33655, 33661, 33666, 33672,
- 33678, 33683, 33689, 33695, 33703, 33708, 33714, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33720, 33727, 33734, 33739, 33748,
- 33756, 33764, 33771, 33778, 33785, 33792, 33800, 33808, 33818, 33828,
- 33836, 33844, 33852, 33860, 33869, 33878, 33886, 33894, 33903, 33912,
- 33922, 33932, 33941, 33950, 33958, 33966, 33974, 33982, 33992, 34002,
- 34010, 34018, 34026, 34034, 34042, 34050, 34058, 34066, 34074, 34082,
- 34090, 34098, 34107, 34116, 34125, 34134, 34144, 34154, 34161, 34168,
- 34176, 34184, 34193, 34202, 34210, 34218, 34230, 34242, 34251, 34260,
- 34269, 34278, 34285, 34292, 34300, 34308, 34316, 34324, 34332, 34340,
- 34348, 34356, 34365, 34374, 34383, 34392, 34401, 34410, 34420, 34430,
- 34440, 34450, 34459, 34468, 34475, 34482, 34490, 34498, 34506, 34514,
- 34522, 34530, 34542, 34554, 34563, 34572, 34580, 34588, 34596, 34604,
- 34615, 34626, 34637, 34648, 34660, 34672, 34680, 34688, 34696, 34704,
- 34713, 34722, 34731, 34740, 34748, 34756, 34764, 34772, 34780, 34788,
- 34797, 34806, 34816, 34826, 34834, 34842, 34850, 34858, 34866, 34874,
- 34881, 34888, 34896, 34904, 34912, 34920, 34928, 34936, 34944, 34952,
- 34960, 34968, 34976, 34984, 34992, 35000, 35008, 35016, 35025, 35034,
- 35043, 35051, 35060, 35069, 35078, 35087, 35097, 35106, 35112, 35117,
- 35124, 35131, 35139, 35147, 35156, 35165, 35175, 35185, 35196, 35207,
- 35217, 35227, 35237, 35247, 35256, 35265, 35275, 35285, 35296, 35307,
- 35317, 35327, 35337, 35347, 35354, 35361, 35369, 35377, 35384, 35391,
- 35400, 35409, 35419, 35429, 35440, 35451, 35461, 35471, 35481, 35491,
- 35500, 35509, 35517, 35525, 35532, 35539, 35547, 35555, 35564, 35573,
- 35583, 35593, 35604, 35615, 35625, 35635, 35645, 35655, 35664, 35673,
- 35683, 35693, 35704, 35715, 35725, 35735, 35745, 35755, 35762, 35769,
- 35777, 35785, 35794, 35803, 35813, 35823, 35834, 35845, 35855, 35865,
- 35875, 35885, 35893, 35901, 35909, 35917, 35926, 35935, 35943, 35951,
- 35958, 35965, 35972, 35979, 35987, 35995, 36003, 36011, 36022, 36032,
- 36043, 36053, 36064, 36074, 36082, 36090, 36101, 36111, 36122, 36132,
- 36143, 36153, 36161, 36169, 36180, 36190, 36201, 0, 0, 36211, 36219,
- 36227, 36238, 36248, 36259, 0, 0, 36269, 36277, 36285, 36296, 36306,
- 36317, 36327, 36338, 36348, 36356, 36364, 36375, 36385, 36396, 36406,
- 36417, 36427, 36435, 36443, 36454, 36464, 36475, 36485, 36496, 36506,
- 36514, 36522, 36533, 36543, 36554, 36564, 36575, 36585, 36593, 36601,
- 36612, 36622, 36633, 0, 0, 36643, 36651, 36659, 36670, 36680, 36691, 0,
- 0, 36701, 36709, 36717, 36728, 36738, 36749, 36759, 36770, 0, 36780, 0,
- 36788, 0, 36798, 0, 36808, 36818, 36826, 36834, 36845, 36855, 36866,
- 36876, 36887, 36897, 36905, 36913, 36924, 36934, 36945, 36955, 36966,
- 36976, 36984, 36992, 37000, 37008, 37016, 37024, 37032, 37040, 37048,
- 37056, 37064, 37072, 37080, 0, 0, 37088, 37099, 37109, 37123, 37136,
- 37150, 37163, 37177, 37190, 37201, 37211, 37225, 37238, 37252, 37265,
- 37279, 37292, 37303, 37313, 37327, 37340, 37354, 37367, 37381, 37394,
- 37405, 37415, 37429, 37442, 37456, 37469, 37483, 37496, 37507, 37517,
- 37531, 37544, 37558, 37571, 37585, 37598, 37609, 37619, 37633, 37646,
- 37660, 37673, 37687, 37700, 37708, 37716, 37727, 37735, 0, 37746, 37754,
- 37765, 37773, 37781, 37789, 37797, 37805, 37808, 37811, 37814, 37817,
- 37823, 37834, 37842, 0, 37853, 37861, 37872, 37880, 37888, 37896, 37904,
- 37912, 37918, 37924, 37930, 37938, 37946, 37957, 0, 0, 37968, 37976,
- 37987, 37995, 38003, 38011, 0, 38019, 38024, 38029, 38034, 38042, 38050,
- 38061, 38072, 38080, 38088, 38096, 38107, 38115, 38123, 38131, 38139,
- 38147, 38153, 38159, 0, 0, 38162, 38173, 38181, 0, 38192, 38200, 38211,
- 38219, 38227, 38235, 38243, 38251, 38254, 0, 38257, 38261, 38265, 38269,
- 38273, 38277, 38281, 38285, 38289, 38293, 38297, 38301, 38307, 38313,
- 38319, 38322, 38325, 38327, 38331, 38335, 38339, 38343, 38345, 38349,
- 38353, 38359, 38365, 38372, 38379, 38384, 38389, 38395, 38401, 38403,
- 38406, 38408, 38412, 38416, 38420, 38423, 38427, 38431, 38435, 38439,
- 38443, 38449, 38453, 38457, 38463, 38468, 38475, 38477, 38480, 38484,
- 38488, 38493, 38499, 38501, 38510, 38519, 38522, 38526, 38528, 38530,
- 38532, 38535, 38541, 38543, 38547, 38551, 38558, 38565, 38569, 38574,
- 38579, 38584, 38589, 38593, 38597, 38600, 38604, 38608, 38615, 38620,
- 38624, 38628, 38633, 38637, 38641, 38646, 38651, 38655, 38659, 38663,
- 38665, 38670, 38675, 38679, 38683, 38687, 38691, 0, 0, 0, 0, 0, 38695,
- 38701, 38707, 38714, 38721, 38726, 38731, 38735, 0, 0, 38741, 38744,
- 38747, 38750, 38753, 38756, 38759, 38763, 38767, 38772, 38777, 38782,
- 38788, 38792, 38795, 38798, 38801, 38804, 38807, 38810, 38813, 38816,
- 38819, 38823, 38827, 38832, 38837, 0, 38842, 38848, 38854, 38860, 38867,
- 38874, 38881, 38888, 38894, 38900, 38906, 38913, 38919, 0, 0, 0, 38926,
- 38929, 38932, 38935, 38940, 38943, 38946, 38949, 38952, 38955, 38958,
- 38962, 38965, 38968, 38971, 38974, 38977, 38982, 38985, 38988, 38991,
- 38994, 38997, 39002, 39005, 39008, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 39013, 39018, 39023, 39030, 39038, 39043,
- 39048, 39052, 39056, 39061, 39068, 39075, 39079, 39084, 39089, 39094,
- 39099, 39106, 39111, 39116, 39121, 39130, 39137, 39144, 39148, 39153,
- 39159, 39164, 39171, 39179, 39187, 39191, 39195, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 39199, 39203, 39211, 39215, 39219, 39224, 39228,
- 39232, 39236, 39238, 39242, 39246, 39250, 39255, 39259, 39263, 39271,
- 39274, 39278, 39281, 39284, 39290, 39293, 39296, 39302, 39306, 39310,
- 39314, 39317, 39321, 39324, 39328, 39330, 39333, 39336, 39340, 39342,
- 39346, 39349, 39352, 39357, 39362, 39369, 39372, 39375, 39379, 39384,
- 39387, 39390, 39393, 39397, 39402, 39405, 39408, 39410, 39413, 39416,
- 39419, 39423, 39428, 39431, 39435, 39439, 39443, 39447, 39452, 39458,
- 39463, 39468, 39474, 39479, 39484, 39488, 39492, 39497, 39501, 39505,
- 39508, 39510, 39515, 39521, 39528, 39535, 39542, 39549, 39556, 39563,
- 39570, 39577, 39585, 39592, 39600, 39607, 39614, 39622, 39630, 39635,
- 39640, 39645, 39650, 39655, 39660, 39665, 39670, 39675, 39680, 39686,
- 39692, 39698, 39704, 39711, 39719, 39726, 39732, 39738, 39744, 39750,
- 39756, 39762, 39768, 39774, 39780, 39787, 39794, 39801, 39808, 39816,
- 39825, 39833, 39844, 39852, 39860, 39869, 39876, 39885, 39894, 39902,
- 39911, 0, 0, 0, 0, 0, 0, 39919, 39921, 39924, 39926, 39929, 39932, 39935,
- 39940, 39945, 39950, 39955, 39959, 39963, 39967, 39971, 39976, 39982,
- 39987, 39993, 39998, 40003, 40008, 40014, 40019, 40025, 40031, 40035,
- 40039, 40044, 40049, 40054, 40059, 40064, 40072, 40080, 40088, 40096,
- 40103, 40111, 40118, 40125, 40134, 40146, 40153, 40160, 40167, 40174,
- 40182, 40190, 40197, 40204, 40212, 40220, 40225, 40233, 40238, 40243,
- 40249, 40254, 40260, 40267, 40274, 40279, 40285, 40290, 40293, 40297,
- 40300, 40304, 40308, 40312, 40318, 40324, 40330, 40336, 40340, 40344,
- 40348, 40352, 40358, 40364, 40368, 40373, 40377, 40382, 40387, 40392,
- 40395, 40399, 40402, 40406, 40413, 40421, 40432, 40443, 40448, 40457,
- 40464, 40473, 40482, 40486, 40492, 40500, 40504, 40509, 40514, 40520,
- 40526, 40532, 40539, 40543, 40547, 40552, 40555, 40557, 40561, 40565,
- 40573, 40577, 40579, 40581, 40585, 40593, 40598, 40604, 40614, 40621,
- 40626, 40630, 40634, 40638, 40641, 40644, 40647, 40651, 40655, 40659,
- 40663, 40667, 40670, 40674, 40678, 40681, 40683, 40686, 40688, 40692,
- 40696, 40698, 40704, 40707, 40712, 40716, 40720, 40722, 40724, 40726,
- 40729, 40733, 40737, 40741, 40745, 40749, 40755, 40761, 40763, 40765,
- 40767, 40769, 40772, 40774, 40778, 40780, 40784, 40788, 40793, 40797,
- 40801, 40805, 40809, 40813, 40819, 40823, 40833, 40843, 40847, 40853,
- 40859, 40863, 40867, 40870, 40875, 40879, 40885, 40889, 40901, 40909,
- 40913, 40917, 40923, 40927, 40930, 40932, 40935, 40939, 40943, 40950,
- 40954, 40958, 40962, 40965, 40970, 40975, 40980, 40985, 40990, 40995,
- 41003, 41011, 41015, 41019, 41021, 41026, 41030, 41034, 41042, 41050,
- 41056, 41062, 41071, 41080, 41085, 41090, 41098, 41106, 41108, 41110,
- 41115, 41120, 41126, 41132, 41138, 41144, 41148, 41152, 41159, 41166,
- 41172, 41178, 41188, 41198, 41206, 41214, 41216, 41220, 41224, 41229,
- 41234, 41241, 41248, 41251, 41254, 41257, 41260, 41263, 41268, 41272,
- 41277, 41282, 41285, 41288, 41291, 41294, 41297, 41301, 41304, 41307,
- 41310, 41313, 41315, 41317, 41319, 41321, 41329, 41337, 41343, 41347,
- 41353, 41363, 41369, 41375, 41381, 41389, 41397, 41408, 41412, 41416,
- 41418, 41424, 41426, 41428, 41430, 41432, 41438, 41441, 41447, 41453,
- 41457, 41461, 41465, 41468, 41472, 41476, 41478, 41487, 41496, 41501,
- 41506, 41512, 41518, 41524, 41527, 41530, 41533, 41536, 41538, 41543,
- 41548, 41553, 41559, 41565, 41573, 41581, 41587, 41593, 41599, 41605,
- 41614, 41623, 41632, 41641, 41650, 41659, 41668, 41677, 41686, 41695,
- 41703, 41715, 41725, 41740, 41743, 41748, 41754, 41760, 41767, 41781,
- 41796, 41802, 41808, 41815, 41821, 41829, 41835, 41848, 41862, 41867,
- 41873, 41880, 41883, 41886, 41888, 41891, 41894, 41896, 41898, 41902,
- 41905, 41908, 41911, 41914, 41919, 41924, 41929, 41934, 41939, 41942,
- 41944, 41946, 41948, 41952, 41956, 41960, 41966, 41971, 41973, 41975,
- 41980, 41985, 41990, 41995, 42000, 42005, 42007, 42009, 42018, 42022,
- 42030, 42039, 42041, 42046, 42051, 42059, 42063, 42065, 42069, 42071,
- 42075, 42079, 42083, 42085, 42087, 42089, 42094, 42101, 42108, 42115,
- 42122, 42129, 42136, 42143, 42150, 42156, 42162, 42169, 42176, 42183,
- 42190, 42196, 42202, 42209, 42216, 42223, 42231, 42238, 42246, 42253,
- 42261, 42268, 42276, 42284, 42291, 42299, 42306, 42314, 42321, 42329,
- 42336, 42343, 42350, 42357, 42364, 42372, 42379, 42386, 42393, 42401,
- 42408, 42415, 42422, 42429, 42437, 42445, 42452, 42459, 42465, 42472,
- 42477, 42484, 42491, 42500, 42507, 42515, 42523, 42528, 42533, 42538,
- 42545, 42552, 42559, 42566, 42571, 42576, 42585, 42591, 42594, 42602,
- 42605, 42610, 42615, 42618, 42621, 42629, 42632, 42637, 42640, 42647,
- 42652, 42660, 42663, 42666, 42669, 42674, 42679, 42682, 42685, 42693,
- 42696, 42701, 42708, 42712, 42716, 42721, 42726, 42732, 42737, 42743,
- 42749, 42754, 42760, 42768, 42774, 42782, 42790, 42796, 42804, 42812,
- 42821, 42829, 42835, 42843, 42852, 42860, 42864, 42869, 42882, 42895,
- 42899, 42903, 42907, 42911, 42921, 42925, 42930, 42935, 42940, 42945,
- 42950, 42955, 42965, 42975, 42983, 42993, 43003, 43011, 43021, 43031,
- 43039, 43049, 43059, 43067, 43075, 43085, 43095, 43098, 43101, 43104,
- 43109, 43113, 43119, 43126, 43133, 43141, 43148, 43152, 43156, 43160,
- 43164, 43166, 43170, 43174, 43179, 43184, 43191, 43198, 43201, 43208,
- 43210, 43212, 43216, 43220, 43225, 43231, 43237, 43243, 43249, 43258,
- 43267, 43276, 43280, 43282, 43286, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 43293, 43297, 43304, 43311, 43318, 43325, 43329, 43333, 43337, 43341,
- 43346, 43352, 43357, 43363, 43369, 43375, 43381, 43389, 43396, 43403,
- 43410, 43417, 43422, 43428, 43437, 43441, 43448, 43452, 43456, 43462,
- 43468, 43474, 43480, 43484, 43488, 43491, 43495, 43499, 43506, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43513,
- 43516, 43520, 43524, 43530, 43536, 43542, 43550, 43557, 43561, 43569, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43574, 43577,
- 43580, 43583, 43586, 43589, 43592, 43595, 43598, 43601, 43605, 43609,
- 43613, 43617, 43621, 43625, 43629, 43633, 43637, 43641, 43645, 43648,
- 43651, 43654, 43657, 43660, 43663, 43666, 43669, 43672, 43676, 43680,
- 43684, 43688, 43692, 43696, 43700, 43704, 43708, 43712, 43716, 43722,
- 43728, 43734, 43741, 43748, 43755, 43762, 43769, 43776, 43783, 43790,
- 43797, 43804, 43811, 43818, 43825, 43832, 43839, 43846, 43853, 43858,
- 43864, 43870, 43876, 43881, 43887, 43893, 43899, 43904, 43910, 43916,
- 43921, 43926, 43931, 43936, 43942, 43948, 43953, 43958, 43964, 43969,
- 43975, 43981, 43987, 43993, 43999, 44004, 44010, 44016, 44022, 44027,
- 44033, 44039, 44045, 44050, 44056, 44062, 44067, 44072, 44077, 44082,
- 44088, 44094, 44099, 44104, 44110, 44115, 44121, 44127, 44133, 44139,
- 44145, 44150, 44156, 44162, 44168, 44173, 44179, 44185, 44191, 44196,
- 44202, 44208, 44213, 44218, 44223, 44228, 44234, 44240, 44245, 44250,
- 44256, 44261, 44267, 44273, 44279, 44285, 44291, 44295, 44300, 44305,
- 44310, 44315, 44320, 44325, 44330, 44335, 44340, 44345, 44349, 44353,
- 44357, 44361, 44365, 44369, 44373, 44377, 44381, 44386, 44391, 44396,
- 44401, 44406, 44411, 44420, 44429, 44438, 44447, 44456, 44465, 44474,
- 44483, 44490, 44498, 44506, 44513, 44520, 44528, 44536, 44543, 44550,
- 44558, 44566, 44573, 44580, 44588, 44596, 44603, 44610, 44618, 44627,
- 44636, 44644, 44653, 44662, 44669, 44676, 44684, 44693, 44702, 44710,
- 44719, 44728, 44735, 44742, 44751, 44760, 44768, 44776, 44785, 44794,
- 44801, 44808, 44817, 44826, 44834, 44842, 44851, 44860, 44867, 44874,
- 44883, 44892, 44900, 44909, 44918, 44926, 44936, 44946, 44956, 44966,
- 44975, 44984, 44993, 45002, 45009, 45017, 45025, 45033, 45041, 45046,
- 45051, 45060, 45068, 45075, 45084, 45092, 45099, 45108, 45116, 45123,
- 45132, 45140, 45147, 45156, 45164, 45171, 45180, 45188, 45195, 45204,
- 45212, 45219, 45228, 45236, 45243, 45252, 45260, 45267, 45276, 45285,
- 45294, 45303, 45317, 45331, 45338, 45343, 45348, 45353, 45358, 45363,
- 45368, 45373, 45378, 45386, 45394, 45402, 45410, 45415, 45422, 45429,
- 45436, 45441, 45449, 45456, 45464, 45468, 45475, 45481, 45488, 45492,
- 45498, 45504, 45510, 45514, 45517, 45521, 45525, 45532, 45538, 45544,
- 45550, 45556, 45570, 45580, 45594, 45608, 45614, 45624, 45638, 45641,
- 45644, 45651, 45659, 45664, 45669, 45677, 45689, 45701, 45709, 45713,
- 45717, 45720, 45723, 45727, 45731, 45734, 45737, 45742, 45747, 45753,
- 45759, 45764, 45769, 45775, 45781, 45786, 45791, 45796, 45801, 45807,
- 45813, 45818, 45823, 45829, 45835, 45840, 45845, 45848, 45851, 45860,
- 45862, 45864, 45867, 45871, 45877, 45879, 45882, 45889, 45896, 45904,
- 45912, 45922, 45936, 45941, 45946, 45950, 45955, 45963, 45971, 45980,
- 45989, 45998, 46007, 46012, 46017, 46023, 46029, 46035, 46041, 46044,
- 46050, 46056, 46066, 46076, 46084, 46092, 46101, 46110, 46114, 46122,
- 46130, 46138, 46146, 46155, 46164, 46173, 46182, 46187, 46192, 46197,
- 46202, 46207, 46213, 46219, 46224, 46230, 46232, 46234, 46236, 46238,
- 46241, 46244, 46246, 46248, 46250, 46254, 46258, 46260, 46262, 46265,
- 46268, 46272, 46278, 46284, 46286, 46293, 46297, 46302, 46307, 46309,
- 46319, 46325, 46331, 46337, 46343, 46349, 46355, 46360, 46363, 46366,
- 46369, 46371, 46373, 46377, 46381, 46386, 46391, 46396, 46399, 46403,
- 46408, 46411, 46415, 46420, 46425, 46430, 46435, 46440, 46445, 46450,
- 46455, 46460, 46465, 46470, 46475, 46481, 46487, 46493, 46495, 46498,
- 46500, 46503, 46505, 46507, 46509, 46511, 46513, 46515, 46517, 46519,
- 46521, 46523, 46525, 46527, 46529, 46531, 46533, 46535, 46537, 46542,
- 46547, 46552, 46557, 46562, 46567, 46572, 46577, 46582, 46587, 46592,
- 46597, 46602, 46607, 46612, 46617, 46622, 46627, 46632, 46637, 46641,
- 46645, 46649, 46655, 46661, 46666, 46671, 46676, 46681, 46686, 46691,
- 46699, 46707, 46715, 46723, 46731, 46739, 46747, 46755, 46761, 46766,
- 46771, 46776, 46779, 46783, 46787, 46791, 46795, 46799, 46803, 46810,
- 46817, 46825, 46833, 46838, 46843, 46850, 46857, 46864, 46871, 46874,
- 46877, 46882, 46884, 46888, 46893, 46895, 46897, 46899, 46901, 46906,
- 46909, 46911, 46916, 46923, 46930, 46933, 46937, 46942, 46947, 46955,
- 46961, 46967, 46979, 46986, 46993, 46998, 47003, 47009, 47012, 47015,
- 47020, 47022, 47026, 47028, 47030, 47032, 47034, 47036, 47038, 47043,
- 47045, 47047, 47049, 47051, 47055, 47057, 47060, 47065, 47070, 47075,
- 47080, 47086, 47092, 47094, 47097, 47104, 47111, 47118, 47125, 47129,
- 47133, 47135, 47137, 47141, 47147, 47152, 47154, 47158, 47167, 47175,
- 47183, 47189, 47195, 47200, 47206, 47211, 47214, 47228, 47231, 47236,
- 47241, 47247, 47257, 47259, 47265, 47271, 47275, 47282, 47286, 47288,
- 47290, 47294, 47300, 47305, 47311, 47313, 47319, 47321, 47327, 47329,
- 47331, 47336, 47338, 47342, 47347, 47349, 47354, 47359, 47363, 47370, 0,
- 47380, 47386, 47389, 47395, 47398, 47403, 47408, 47412, 47414, 47416,
- 47420, 47424, 47428, 47432, 47437, 47439, 47444, 47447, 47450, 47453,
- 47457, 47461, 47466, 47470, 47475, 47480, 47484, 47490, 47497, 47500,
- 47506, 47511, 47515, 47520, 47526, 47532, 47539, 47545, 47552, 47559,
- 47561, 47568, 47572, 47579, 47585, 47590, 47596, 47600, 47605, 47608,
- 47614, 47620, 47627, 47635, 47642, 47651, 47661, 47668, 47674, 47678,
- 47686, 47691, 47700, 47703, 47706, 47715, 47726, 47733, 47735, 47741,
- 47746, 47748, 47751, 47755, 47763, 47772, 47775, 47780, 47785, 47793,
- 47801, 47809, 47817, 47823, 47829, 47835, 47843, 47848, 47851, 47855,
- 47858, 47870, 47880, 47891, 47900, 47911, 47921, 47930, 47936, 47944,
- 47948, 47956, 47960, 47968, 47975, 47982, 47991, 48000, 48010, 48020,
- 48030, 48040, 48049, 48058, 48068, 48078, 48087, 48096, 48102, 48108,
- 48114, 48120, 48126, 48132, 48138, 48144, 48150, 48157, 48163, 48169,
- 48175, 48181, 48187, 48193, 48199, 48205, 48211, 48218, 48225, 48232,
- 48239, 48246, 48253, 48260, 48267, 48274, 48281, 48289, 48294, 48297,
- 48301, 48305, 48311, 48314, 48320, 48326, 48331, 48335, 48340, 48346,
- 48353, 48356, 48363, 48370, 48374, 48383, 48392, 48397, 48403, 48408,
- 48413, 48420, 48427, 48435, 48443, 48452, 48456, 48465, 48470, 48474,
- 48481, 48485, 48492, 48500, 48505, 48513, 48517, 48522, 48526, 48531,
- 48535, 48540, 48545, 48554, 48556, 48560, 48564, 48571, 48578, 48583,
- 48591, 48597, 0, 48603, 0, 48606, 48611, 48616, 48624, 48628, 48635,
- 48643, 48651, 48656, 48661, 48667, 48672, 48677, 48683, 48688, 48691,
- 48695, 48699, 48706, 48715, 48720, 48729, 48738, 48744, 48750, 48755,
- 48760, 48765, 48770, 48776, 48782, 48790, 48798, 48804, 48810, 48815,
- 48820, 48827, 48834, 48840, 48843, 48846, 48850, 48854, 48858, 48863,
- 48869, 48875, 48882, 48889, 48894, 48898, 48902, 48906, 48910, 48914,
- 48918, 48922, 48926, 48930, 48934, 48938, 48942, 48946, 48950, 48954,
- 48958, 48962, 48966, 48970, 48974, 48978, 48982, 48986, 48990, 48994,
- 48998, 49002, 49006, 49010, 49014, 49018, 49022, 49026, 49030, 49034,
- 49038, 49042, 49046, 49050, 49054, 49058, 49062, 49066, 49070, 49074,
- 49078, 49082, 49086, 49090, 49094, 49098, 49102, 49106, 49110, 49114,
- 49118, 49122, 49126, 49130, 49134, 49138, 49142, 49146, 49150, 49154,
- 49158, 49162, 49166, 49170, 49174, 49178, 49182, 49186, 49190, 49194,
- 49198, 49202, 49206, 49210, 49214, 49218, 49222, 49226, 49230, 49234,
- 49238, 49242, 49246, 49250, 49254, 49258, 49262, 49266, 49270, 49274,
- 49278, 49282, 49286, 49290, 49294, 49298, 49302, 49306, 49310, 49314,
- 49318, 49322, 49326, 49330, 49334, 49338, 49342, 49346, 49350, 49354,
- 49358, 49362, 49366, 49370, 49374, 49378, 49382, 49386, 49390, 49394,
- 49398, 49402, 49406, 49410, 49414, 49418, 49422, 49426, 49430, 49434,
- 49438, 49442, 49446, 49450, 49454, 49458, 49462, 49466, 49470, 49474,
- 49478, 49482, 49486, 49490, 49494, 49498, 49502, 49506, 49510, 49514,
- 49518, 49522, 49526, 49530, 49534, 49538, 49542, 49546, 49550, 49554,
- 49558, 49562, 49566, 49570, 49574, 49578, 49582, 49586, 49590, 49594,
- 49598, 49602, 49606, 49610, 49614, 49618, 49622, 49626, 49630, 49634,
- 49638, 49642, 49646, 49650, 49654, 49658, 49662, 49666, 49670, 49674,
- 49678, 49682, 49686, 49690, 49694, 49698, 49702, 49706, 49710, 49714,
- 49718, 49722, 49726, 49730, 49734, 49738, 49742, 49746, 49750, 49754,
- 49758, 49762, 49766, 49770, 49774, 49778, 49782, 49786, 49790, 49794,
- 49798, 49802, 49806, 49810, 49814, 49818, 49822, 49826, 49830, 49834,
- 49838, 49842, 49846, 49850, 49854, 49858, 49862, 49866, 49870, 49874,
- 49878, 49882, 49886, 49890, 49894, 49898, 49902, 49906, 49910, 49914,
- 49918, 49925, 49933, 49939, 49945, 49952, 49959, 49965, 49971, 49977,
- 49983, 49988, 49993, 49998, 50003, 50009, 50015, 50023, 50030, 50036,
- 50042, 50050, 50059, 50066, 50076, 50087, 50090, 50093, 50097, 50101,
- 50108, 50115, 50126, 50137, 50147, 50157, 50164, 50171, 50178, 50185,
- 50196, 50207, 50218, 50229, 50239, 50249, 50261, 50273, 50284, 50295,
- 50307, 50319, 50328, 50338, 50348, 50359, 50370, 50377, 50384, 50391,
- 50398, 50408, 50418, 50426, 50434, 50441, 50448, 50455, 50462, 50469,
- 50474, 50479, 50485, 50493, 50503, 50511, 50519, 50527, 50535, 50543,
- 50551, 50559, 50567, 50576, 50585, 50595, 50605, 50614, 50623, 50633,
- 50643, 50652, 50661, 50671, 50681, 50690, 50699, 50709, 50719, 50733,
- 50750, 50764, 50781, 50795, 50809, 50823, 50837, 50847, 50858, 50868,
- 50879, 50896, 50913, 50921, 50927, 50934, 50941, 50948, 50955, 50960,
- 50966, 50971, 50976, 50982, 50987, 50992, 50997, 51002, 51007, 51014,
- 51019, 51026, 51031, 51036, 51040, 51044, 51051, 51058, 51065, 51072,
- 51079, 51086, 51099, 51112, 51125, 51138, 51146, 51154, 51160, 51166,
- 51173, 51180, 51187, 51194, 51198, 51203, 51211, 51219, 51227, 51234,
- 51238, 51246, 51254, 51258, 51262, 51267, 51274, 51282, 51290, 51310,
- 51330, 51350, 51370, 51390, 51410, 51430, 51450, 51456, 51463, 51472,
- 51480, 51488, 51493, 51496, 51499, 51504, 51507, 51526, 51533, 51539,
- 51545, 51549, 51552, 51555, 51558, 51570, 51583, 51590, 51597, 51600,
- 51604, 51607, 51612, 51617, 51622, 51628, 51637, 51644, 51651, 51659,
- 51666, 51673, 51676, 51682, 51688, 51691, 51694, 51699, 51704, 51710,
- 51716, 51720, 51725, 51732, 51736, 51742, 51746, 51750, 51758, 51770,
- 51779, 51783, 51785, 51794, 51803, 51809, 51812, 51818, 51824, 51829,
- 51834, 51839, 51844, 51849, 51854, 51856, 51862, 51867, 51874, 51878,
- 51884, 51887, 51891, 51898, 51905, 51907, 51909, 51915, 51921, 51927,
- 51936, 51945, 51952, 51959, 51965, 51971, 51976, 51981, 51986, 51992,
- 51998, 52003, 52010, 52014, 52018, 52031, 52044, 52056, 52065, 52071,
- 52078, 52083, 52088, 52093, 52098, 52103, 52105, 52112, 52119, 52126,
- 52133, 52140, 52148, 52154, 52159, 52165, 52171, 52177, 52184, 52190,
- 52198, 52206, 52214, 52222, 52229, 52235, 52241, 52250, 52254, 52263,
- 52272, 52281, 52289, 52293, 52299, 52306, 52313, 52317, 52323, 52330,
- 52335, 52340, 52346, 52351, 52356, 52363, 52370, 52375, 52380, 52388,
- 52396, 52406, 52416, 52423, 52430, 52434, 52438, 52450, 52456, 52462,
- 52467, 52472, 52479, 52486, 52492, 52498, 52507, 52515, 52523, 52530,
- 52537, 52544, 52550, 52557, 52563, 52570, 52577, 52584, 52591, 52597,
- 52602, 52611, 52621, 52628, 52637, 52643, 52648, 52653, 52663, 52669,
- 52675, 52681, 52689, 52694, 52701, 52708, 52719, 52726, 52733, 52740,
- 52747, 52754, 52761, 52768, 52780, 52792, 52803, 52814, 52827, 52840,
- 52845, 52850, 52859, 52868, 52875, 52882, 52891, 52900, 52908, 52916,
- 52924, 52932, 52942, 52952, 52966, 52980, 52988, 52996, 53008, 53020,
- 53028, 53036, 53046, 53056, 53061, 53066, 53075, 53084, 53089, 53094,
- 53102, 53108, 53114, 53122, 53130, 53143, 53156, 53160, 53164, 53171,
- 53178, 53185, 53193, 53201, 53210, 53219, 53225, 53231, 53238, 53245,
- 53252, 53259, 53268, 53277, 53280, 53283, 53288, 53293, 53299, 53305,
- 53312, 53319, 53329, 53339, 53346, 53353, 53361, 53369, 53377, 53385,
- 53393, 53401, 53408, 53415, 53419, 53423, 53430, 53437, 53442, 53447,
- 53452, 53457, 53463, 53477, 53484, 53491, 53495, 53497, 53499, 53504,
- 53509, 53514, 53518, 53526, 53533, 53540, 53548, 53560, 53568, 53576,
- 53587, 53591, 53595, 53601, 53609, 53622, 53629, 53636, 53643, 53648,
- 53655, 53664, 53672, 53678, 53684, 53690, 53699, 53708, 53716, 53725,
- 53730, 53733, 53738, 53744, 53750, 53756, 53762, 53766, 53769, 53773,
- 53777, 53783, 53789, 53795, 53801, 53805, 53809, 53816, 53823, 53830,
- 53837, 53844, 53851, 53861, 53871, 53878, 53885, 53893, 53901, 53905,
- 53910, 53915, 53921, 53927, 53930, 53933, 53936, 53939, 53943, 53948,
- 53953, 53958, 53963, 53968, 53972, 53976, 53980, 53984, 53988, 53992,
- 53996, 54002, 54006, 54012, 54017, 54024, 54032, 54039, 54047, 54054,
- 54062, 54071, 54078, 54088, 54099, 54105, 54114, 54120, 54129, 54138,
- 54144, 54150, 54154, 54158, 54167, 54176, 54183, 54190, 54199, 0, 0, 0,
- 54208, 54213, 54217, 54221, 54226, 54231, 54236, 54244, 54252, 54255, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31862, 31867, 31872, 31877,
+ 31882, 31891, 31902, 31911, 31922, 31928, 31941, 31947, 31954, 31961,
+ 31966, 31972, 31978, 31989, 31998, 32005, 32012, 32021, 32028, 32037,
+ 32047, 32057, 32064, 32071, 32078, 32088, 32093, 32101, 32107, 32115,
+ 32124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32129, 32134, 32140, 32147,
+ 32155, 32161, 32167, 32173, 32178, 32185, 32191, 32197, 32203, 32211,
+ 32216, 32223, 32228, 32234, 32240, 32247, 32255, 32262, 32268, 32275,
+ 32282, 32288, 32295, 32302, 32308, 32313, 32319, 32327, 32335, 32341,
+ 32347, 32353, 32359, 32367, 32371, 32377, 32383, 32389, 32395, 32401,
+ 32407, 32411, 32416, 32421, 32428, 32433, 32437, 32443, 32448, 32453,
+ 32457, 32462, 32467, 32471, 32475, 32479, 32485, 32489, 32494, 32499,
+ 32503, 32508, 32512, 32517, 32521, 32527, 32532, 32539, 32544, 32549,
+ 32553, 32558, 32563, 32570, 32575, 32581, 32586, 32590, 32595, 32599,
+ 32604, 32611, 32618, 32623, 32628, 32632, 32638, 32644, 32649, 32654,
+ 32659, 32665, 32670, 32676, 32681, 32687, 32693, 32699, 32706, 32713,
+ 32720, 32727, 32734, 32741, 32746, 32754, 32763, 32772, 32781, 32790,
+ 32799, 32808, 32820, 32829, 32838, 32847, 32854, 32859, 32866, 32874,
+ 32882, 32889, 32896, 32903, 32910, 32918, 32927, 32936, 32945, 32954,
+ 32963, 32972, 32981, 32990, 32999, 33008, 33017, 33026, 33035, 33044,
+ 33052, 33061, 33072, 33080, 33089, 33100, 33109, 33118, 33127, 33136,
+ 33144, 33153, 33160, 33165, 33173, 33178, 33185, 33190, 33199, 33205,
+ 33212, 33219, 33224, 33229, 33237, 33245, 33254, 33263, 33268, 33275,
+ 33286, 33294, 33303, 33308, 33314, 33319, 33326, 33331, 33340, 33345,
+ 33350, 33355, 33362, 33369, 33374, 33383, 33391, 33396, 33401, 33408,
+ 33415, 33419, 33423, 33426, 33429, 33432, 33435, 33438, 33441, 33448,
+ 33451, 33454, 33459, 33463, 33467, 33471, 33475, 33479, 33488, 33494,
+ 33500, 33506, 33514, 33522, 33528, 33534, 33541, 33547, 33552, 33558,
+ 33564, 33569, 33575, 33581, 33589, 33594, 33600, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33606, 33613, 33620, 33625, 33634,
+ 33642, 33650, 33657, 33664, 33671, 33678, 33686, 33694, 33704, 33714,
+ 33722, 33730, 33738, 33746, 33755, 33764, 33772, 33780, 33789, 33798,
+ 33807, 33816, 33825, 33834, 33842, 33850, 33858, 33866, 33876, 33886,
+ 33894, 33902, 33910, 33918, 33926, 33934, 33942, 33950, 33958, 33966,
+ 33974, 33982, 33991, 34000, 34009, 34018, 34028, 34038, 34045, 34052,
+ 34060, 34068, 34077, 34086, 34094, 34102, 34114, 34126, 34135, 34144,
+ 34153, 34162, 34169, 34176, 34184, 34192, 34200, 34208, 34216, 34224,
+ 34232, 34240, 34249, 34258, 34267, 34276, 34285, 34294, 34304, 34314,
+ 34323, 34332, 34341, 34350, 34357, 34364, 34372, 34380, 34388, 34396,
+ 34404, 34412, 34424, 34436, 34445, 34454, 34462, 34470, 34478, 34486,
+ 34497, 34508, 34519, 34530, 34542, 34554, 34562, 34570, 34578, 34586,
+ 34595, 34604, 34613, 34622, 34630, 34638, 34646, 34654, 34662, 34670,
+ 34679, 34688, 34698, 34708, 34715, 34722, 34730, 34738, 34745, 34752,
+ 34759, 34766, 34774, 34782, 34790, 34798, 34806, 34814, 34822, 34830,
+ 34838, 34846, 34854, 34862, 34870, 34878, 34886, 34894, 34903, 34912,
+ 34921, 34929, 34938, 34947, 34956, 34965, 34975, 34984, 34990, 34995,
+ 35002, 35009, 35017, 35025, 35034, 35043, 35052, 35061, 35072, 35083,
+ 35092, 35101, 35111, 35121, 35130, 35139, 35148, 35157, 35168, 35179,
+ 35188, 35197, 35207, 35217, 35224, 35231, 35239, 35247, 35253, 35259,
+ 35268, 35277, 35286, 35295, 35306, 35317, 35326, 35335, 35345, 35355,
+ 35364, 35373, 35381, 35389, 35396, 35403, 35411, 35419, 35428, 35437,
+ 35446, 35455, 35466, 35477, 35486, 35495, 35505, 35515, 35524, 35533,
+ 35542, 35551, 35562, 35573, 35582, 35591, 35601, 35611, 35618, 35625,
+ 35633, 35641, 35650, 35659, 35668, 35677, 35688, 35699, 35708, 35717,
+ 35727, 35737, 35744, 35751, 35759, 35767, 35776, 35785, 35792, 35799,
+ 35806, 35813, 35820, 35827, 35835, 35843, 35851, 35859, 35870, 35881,
+ 35892, 35903, 35914, 35925, 35933, 35941, 35952, 35963, 35974, 35985,
+ 35996, 36007, 36015, 36023, 36034, 36045, 36056, 0, 0, 36067, 36075,
+ 36083, 36094, 36105, 36116, 0, 0, 36127, 36135, 36143, 36154, 36165,
+ 36176, 36187, 36198, 36209, 36217, 36225, 36236, 36247, 36258, 36269,
+ 36280, 36291, 36299, 36307, 36318, 36329, 36340, 36351, 36362, 36373,
+ 36381, 36389, 36400, 36411, 36422, 36433, 36444, 36455, 36463, 36471,
+ 36482, 36493, 36504, 0, 0, 36515, 36523, 36531, 36542, 36553, 36564, 0,
+ 0, 36575, 36583, 36591, 36602, 36613, 36624, 36635, 36646, 0, 36657, 0,
+ 36665, 0, 36676, 0, 36687, 36698, 36706, 36714, 36725, 36736, 36747,
+ 36758, 36769, 36780, 36788, 36796, 36807, 36818, 36829, 36840, 36851,
+ 36862, 36870, 36878, 36886, 36894, 36902, 36910, 36918, 36926, 36934,
+ 36942, 36950, 36958, 36966, 0, 0, 36974, 36985, 36996, 37010, 37024,
+ 37038, 37052, 37066, 37080, 37091, 37102, 37116, 37130, 37144, 37158,
+ 37172, 37186, 37197, 37208, 37222, 37236, 37250, 37264, 37278, 37292,
+ 37303, 37314, 37328, 37342, 37356, 37370, 37384, 37398, 37409, 37420,
+ 37434, 37448, 37462, 37476, 37490, 37504, 37515, 37526, 37540, 37554,
+ 37568, 37582, 37596, 37610, 37618, 37626, 37637, 37645, 0, 37656, 37664,
+ 37675, 37683, 37691, 37699, 37707, 37715, 37718, 37721, 37724, 37727,
+ 37733, 37744, 37752, 0, 37763, 37771, 37782, 37790, 37798, 37806, 37814,
+ 37822, 37828, 37834, 37840, 37848, 37856, 37867, 0, 0, 37878, 37886,
+ 37897, 37905, 37913, 37921, 0, 37929, 37935, 37941, 37947, 37955, 37963,
+ 37974, 37985, 37993, 38001, 38009, 38020, 38028, 38036, 38044, 38052,
+ 38060, 38066, 38072, 0, 0, 38075, 38086, 38094, 0, 38105, 38113, 38124,
+ 38132, 38140, 38148, 38156, 38164, 38167, 0, 38170, 38174, 38178, 38182,
+ 38186, 38190, 38194, 38198, 38202, 38206, 38210, 38214, 38220, 38226,
+ 38232, 38235, 38238, 38240, 38244, 38248, 38252, 38256, 38258, 38262,
+ 38266, 38272, 38278, 38285, 38292, 38297, 38302, 38308, 38314, 38316,
+ 38319, 38321, 38325, 38329, 38333, 38336, 38340, 38344, 38348, 38352,
+ 38356, 38362, 38366, 38370, 38376, 38381, 38388, 38390, 38393, 38397,
+ 38401, 38406, 38412, 38414, 38423, 38432, 38435, 38439, 38441, 38443,
+ 38445, 38448, 38454, 38456, 38460, 38464, 38471, 38478, 38482, 38487,
+ 38492, 38497, 38502, 38506, 38510, 38513, 38517, 38521, 38528, 38533,
+ 38537, 38541, 38546, 38550, 38554, 38559, 38564, 38568, 38572, 38576,
+ 38578, 38583, 38588, 38592, 38596, 38600, 38604, 0, 0, 0, 0, 0, 38608,
+ 38614, 38620, 38627, 38634, 38639, 38644, 38648, 0, 0, 38654, 38657,
+ 38660, 38663, 38666, 38669, 38672, 38676, 38680, 38685, 38690, 38695,
+ 38701, 38705, 38708, 38711, 38714, 38717, 38720, 38723, 38726, 38729,
+ 38732, 38736, 38740, 38745, 38750, 0, 38755, 38761, 38767, 38773, 38780,
+ 38787, 38794, 38801, 38807, 38813, 38819, 38826, 38832, 0, 0, 0, 38839,
+ 38842, 38845, 38848, 38853, 38856, 38859, 38862, 38865, 38868, 38871,
+ 38875, 38878, 38881, 38884, 38887, 38890, 38895, 38898, 38901, 38904,
+ 38907, 38910, 38915, 38918, 38921, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 38926, 38931, 38936, 38943, 38951, 38956,
+ 38961, 38965, 38969, 38974, 38981, 38988, 38992, 38997, 39002, 39007,
+ 39012, 39019, 39024, 39029, 39034, 39043, 39050, 39057, 39061, 39066,
+ 39072, 39077, 39084, 39093, 39102, 39106, 39110, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 39114, 39118, 39126, 39130, 39134, 39139, 39143,
+ 39147, 39151, 39153, 39157, 39161, 39165, 39170, 39174, 39178, 39186,
+ 39189, 39193, 39196, 39199, 39205, 39208, 39211, 39217, 39221, 39225,
+ 39229, 39232, 39236, 39239, 39243, 39245, 39248, 39251, 39255, 39257,
+ 39261, 39264, 39267, 39272, 39277, 39284, 39287, 39290, 39294, 39299,
+ 39302, 39305, 39308, 39312, 39317, 39320, 39323, 39325, 39328, 39331,
+ 39334, 39338, 39343, 39346, 39350, 39354, 39358, 39362, 39367, 39373,
+ 39378, 39383, 39389, 39394, 39399, 39403, 39407, 39412, 39416, 39420,
+ 39423, 39425, 39430, 39436, 39443, 39450, 39457, 39464, 39471, 39478,
+ 39485, 39492, 39500, 39507, 39515, 39522, 39529, 39537, 39545, 39550,
+ 39555, 39560, 39565, 39570, 39575, 39580, 39585, 39590, 39595, 39601,
+ 39607, 39613, 39619, 39626, 39634, 39641, 39647, 39653, 39659, 39665,
+ 39671, 39677, 39683, 39689, 39695, 39702, 39709, 39716, 39723, 39731,
+ 39740, 39748, 39759, 39767, 39775, 39784, 39791, 39800, 39809, 39817,
+ 39826, 0, 0, 0, 0, 0, 0, 39834, 39836, 39839, 39841, 39844, 39847, 39850,
+ 39855, 39860, 39865, 39870, 39874, 39878, 39882, 39886, 39891, 39897,
+ 39902, 39908, 39913, 39918, 39923, 39929, 39934, 39940, 39946, 39950,
+ 39954, 39959, 39964, 39969, 39974, 39979, 39987, 39995, 40003, 40011,
+ 40018, 40026, 40033, 40040, 40049, 40061, 40067, 40073, 40081, 40089,
+ 40098, 40107, 40115, 40123, 40132, 40141, 40146, 40154, 40159, 40164,
+ 40170, 40175, 40181, 40188, 40195, 40200, 40206, 40211, 40214, 40218,
+ 40221, 40225, 40229, 40233, 40239, 40245, 40251, 40257, 40261, 40265,
+ 40269, 40273, 40279, 40285, 40289, 40294, 40298, 40303, 40308, 40313,
+ 40316, 40320, 40323, 40327, 40334, 40342, 40353, 40364, 40369, 40378,
+ 40385, 40394, 40403, 40407, 40413, 40421, 40425, 40430, 40435, 40441,
+ 40447, 40453, 40460, 40464, 40468, 40473, 40476, 40478, 40482, 40486,
+ 40494, 40498, 40500, 40502, 40506, 40514, 40519, 40525, 40535, 40542,
+ 40547, 40551, 40555, 40559, 40562, 40565, 40568, 40572, 40576, 40580,
+ 40584, 40588, 40591, 40595, 40599, 40602, 40604, 40607, 40609, 40613,
+ 40617, 40619, 40625, 40628, 40633, 40637, 40641, 40643, 40645, 40647,
+ 40650, 40654, 40658, 40662, 40666, 40670, 40676, 40682, 40684, 40686,
+ 40688, 40690, 40693, 40695, 40699, 40701, 40705, 40708, 40713, 40717,
+ 40721, 40724, 40727, 40731, 40737, 40741, 40751, 40761, 40765, 40771,
+ 40777, 40780, 40784, 40787, 40792, 40796, 40802, 40806, 40818, 40826,
+ 40830, 40834, 40840, 40844, 40847, 40849, 40852, 40856, 40860, 40867,
+ 40871, 40875, 40879, 40882, 40887, 40892, 40897, 40902, 40907, 40912,
+ 40920, 40928, 40932, 40936, 40938, 40943, 40947, 40951, 40959, 40967,
+ 40973, 40979, 40988, 40997, 41002, 41007, 41015, 41023, 41025, 41027,
+ 41032, 41037, 41043, 41049, 41055, 41061, 41065, 41069, 41076, 41083,
+ 41089, 41095, 41105, 41115, 41123, 41131, 41133, 41137, 41141, 41146,
+ 41151, 41158, 41165, 41168, 41171, 41174, 41177, 41180, 41185, 41189,
+ 41194, 41199, 41202, 41205, 41208, 41211, 41214, 41218, 41221, 41224,
+ 41227, 41230, 41232, 41234, 41236, 41238, 41246, 41254, 41260, 41264,
+ 41270, 41280, 41286, 41292, 41298, 41306, 41314, 41325, 41329, 41333,
+ 41335, 41341, 41343, 41345, 41347, 41349, 41355, 41358, 41364, 41370,
+ 41374, 41378, 41382, 41385, 41389, 41393, 41395, 41404, 41413, 41418,
+ 41423, 41429, 41435, 41441, 41444, 41447, 41450, 41453, 41455, 41460,
+ 41465, 41470, 41476, 41482, 41490, 41498, 41504, 41510, 41516, 41522,
+ 41531, 41540, 41549, 41558, 41567, 41576, 41585, 41594, 41603, 41612,
+ 41620, 41632, 41642, 41657, 41660, 41665, 41671, 41677, 41684, 41698,
+ 41713, 41719, 41725, 41732, 41738, 41746, 41752, 41765, 41779, 41784,
+ 41790, 41797, 41800, 41803, 41805, 41808, 41811, 41813, 41815, 41819,
+ 41822, 41825, 41828, 41831, 41836, 41841, 41846, 41851, 41856, 41859,
+ 41861, 41863, 41865, 41869, 41873, 41877, 41883, 41888, 41890, 41892,
+ 41897, 41902, 41907, 41912, 41917, 41922, 41924, 41926, 41935, 41939,
+ 41947, 41956, 41958, 41963, 41968, 41976, 41980, 41982, 41986, 41988,
+ 41992, 41996, 42000, 42002, 42004, 42006, 42011, 42018, 42025, 42032,
+ 42039, 42046, 42053, 42060, 42067, 42073, 42079, 42086, 42093, 42100,
+ 42107, 42113, 42119, 42126, 42133, 42140, 42148, 42155, 42163, 42170,
+ 42178, 42185, 42193, 42201, 42208, 42216, 42223, 42231, 42238, 42246,
+ 42253, 42260, 42267, 42274, 42281, 42289, 42296, 42303, 42310, 42318,
+ 42325, 42332, 42339, 42346, 42354, 42362, 42369, 42376, 42382, 42388,
+ 42393, 42399, 42406, 42415, 42422, 42429, 42436, 42441, 42446, 42451,
+ 42458, 42465, 42472, 42479, 42484, 42489, 42498, 42503, 42506, 42514,
+ 42517, 42522, 42527, 42530, 42533, 42541, 42544, 42549, 42552, 42559,
+ 42564, 42572, 42575, 42578, 42581, 42586, 42591, 42594, 42597, 42605,
+ 42608, 42613, 42620, 42624, 42628, 42633, 42638, 42644, 42649, 42655,
+ 42661, 42666, 42672, 42680, 42686, 42694, 42702, 42708, 42716, 42724,
+ 42733, 42741, 42747, 42755, 42764, 42772, 42776, 42781, 42794, 42807,
+ 42811, 42815, 42819, 42823, 42833, 42837, 42842, 42847, 42852, 42857,
+ 42862, 42867, 42877, 42887, 42895, 42905, 42915, 42923, 42933, 42943,
+ 42951, 42961, 42971, 42979, 42987, 42997, 43007, 43010, 43013, 43016,
+ 43021, 43025, 43031, 43038, 43045, 43053, 43060, 43064, 43068, 43072,
+ 43076, 43078, 43082, 43086, 43091, 43096, 43103, 43110, 43113, 43120,
+ 43122, 43124, 43128, 43132, 43137, 43143, 43149, 43155, 43161, 43170,
+ 43179, 43188, 43192, 43194, 43198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 43205, 43209, 43216, 43223, 43230, 43237, 43241, 43245, 43249, 43253,
+ 43258, 43264, 43269, 43275, 43281, 43287, 43293, 43301, 43308, 43315,
+ 43322, 43329, 43334, 43340, 43349, 43353, 43360, 43364, 43368, 43374,
+ 43380, 43386, 43392, 43396, 43400, 43403, 43406, 43410, 43417, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43424,
+ 43427, 43431, 43435, 43441, 43447, 43453, 43461, 43468, 43472, 43480, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43485, 43488,
+ 43491, 43494, 43497, 43500, 43503, 43506, 43509, 43512, 43516, 43520,
+ 43524, 43528, 43532, 43536, 43540, 43544, 43548, 43552, 43556, 43559,
+ 43562, 43565, 43568, 43571, 43574, 43577, 43580, 43583, 43587, 43591,
+ 43595, 43599, 43603, 43607, 43611, 43615, 43619, 43623, 43627, 43633,
+ 43639, 43645, 43652, 43659, 43666, 43673, 43680, 43687, 43694, 43701,
+ 43708, 43715, 43722, 43729, 43736, 43743, 43750, 43757, 43764, 43769,
+ 43775, 43781, 43787, 43792, 43798, 43804, 43810, 43815, 43821, 43827,
+ 43832, 43837, 43842, 43847, 43853, 43859, 43864, 43869, 43875, 43880,
+ 43886, 43892, 43898, 43904, 43910, 43915, 43921, 43927, 43933, 43938,
+ 43944, 43950, 43956, 43961, 43967, 43973, 43978, 43983, 43988, 43993,
+ 43999, 44005, 44010, 44015, 44021, 44026, 44032, 44038, 44044, 44050,
+ 44056, 44061, 44067, 44073, 44079, 44084, 44090, 44096, 44102, 44107,
+ 44113, 44119, 44124, 44129, 44134, 44139, 44145, 44151, 44156, 44161,
+ 44167, 44172, 44178, 44184, 44190, 44196, 44202, 44206, 44211, 44216,
+ 44221, 44226, 44231, 44236, 44241, 44246, 44251, 44256, 44260, 44264,
+ 44268, 44272, 44276, 44280, 44284, 44288, 44292, 44297, 44302, 44307,
+ 44312, 44317, 44322, 44331, 44340, 44349, 44358, 44367, 44376, 44385,
+ 44394, 44401, 44409, 44417, 44424, 44431, 44439, 44447, 44454, 44461,
+ 44469, 44477, 44484, 44491, 44499, 44507, 44514, 44521, 44529, 44538,
+ 44547, 44555, 44564, 44573, 44580, 44587, 44595, 44604, 44613, 44621,
+ 44630, 44639, 44646, 44653, 44662, 44671, 44679, 44687, 44696, 44705,
+ 44712, 44719, 44728, 44737, 44745, 44753, 44762, 44771, 44778, 44785,
+ 44794, 44803, 44811, 44820, 44829, 44837, 44847, 44857, 44867, 44877,
+ 44886, 44895, 44904, 44913, 44920, 44928, 44936, 44944, 44952, 44957,
+ 44962, 44971, 44979, 44986, 44995, 45003, 45010, 45019, 45027, 45034,
+ 45043, 45051, 45058, 45067, 45075, 45082, 45091, 45099, 45106, 45115,
+ 45123, 45130, 45139, 45147, 45154, 45163, 45171, 45178, 45187, 45196,
+ 45205, 45214, 45228, 45242, 45249, 45254, 45259, 45264, 45269, 45274,
+ 45279, 45284, 45289, 45297, 45305, 45313, 45321, 45326, 45333, 45340,
+ 45347, 45352, 45360, 45367, 45375, 45379, 45386, 45392, 45399, 45403,
+ 45409, 45415, 45421, 45425, 45428, 45432, 45436, 45443, 45449, 45455,
+ 45461, 45467, 45481, 45491, 45505, 45519, 45525, 45535, 45549, 45552,
+ 45555, 45562, 45570, 45575, 45580, 45588, 45600, 45612, 45620, 45624,
+ 45628, 45631, 45634, 45638, 45642, 45645, 45648, 45653, 45658, 45664,
+ 45670, 45675, 45680, 45686, 45692, 45697, 45702, 45707, 45712, 45718,
+ 45724, 45729, 45734, 45740, 45746, 45751, 45756, 45759, 45762, 45771,
+ 45773, 45775, 45778, 45782, 45788, 45790, 45793, 45800, 45807, 45815,
+ 45823, 45833, 45847, 45852, 45857, 45861, 45866, 45874, 45882, 45891,
+ 45900, 45909, 45918, 45923, 45928, 45934, 45940, 45946, 45952, 45955,
+ 45961, 45967, 45977, 45987, 45995, 46003, 46012, 46021, 46025, 46033,
+ 46041, 46049, 46057, 46066, 46075, 46084, 46093, 46098, 46103, 46108,
+ 46113, 46118, 46124, 46130, 46135, 46141, 46143, 46145, 46147, 46149,
+ 46152, 46155, 46157, 46159, 46161, 46165, 46169, 46171, 46173, 46176,
+ 46179, 46183, 46189, 46195, 46197, 46204, 46208, 46213, 46218, 46220,
+ 46230, 46236, 46242, 46248, 46254, 46260, 46266, 46271, 46274, 46277,
+ 46280, 46282, 46284, 46288, 46292, 46297, 46302, 46307, 46310, 46314,
+ 46319, 46322, 46326, 46331, 46336, 46341, 46346, 46351, 46356, 46361,
+ 46366, 46371, 46376, 46381, 46386, 46392, 46398, 46404, 46406, 46409,
+ 46411, 46414, 46416, 46418, 46420, 46422, 46424, 46426, 46428, 46430,
+ 46432, 46434, 46436, 46438, 46440, 46442, 46444, 46446, 46448, 46453,
+ 46458, 46463, 46468, 46473, 46478, 46483, 46488, 46493, 46498, 46503,
+ 46508, 46513, 46518, 46523, 46528, 46533, 46538, 46543, 46548, 46552,
+ 46556, 46560, 46566, 46572, 46577, 46582, 46587, 46592, 46597, 46602,
+ 46610, 46618, 46626, 46634, 46642, 46650, 46658, 46666, 46672, 46677,
+ 46682, 46687, 46690, 46694, 46698, 46702, 46706, 46710, 46714, 46721,
+ 46728, 46736, 46744, 46749, 46754, 46761, 46768, 46775, 46782, 46785,
+ 46788, 46793, 46795, 46799, 46804, 46806, 46808, 46810, 46812, 46817,
+ 46820, 46822, 46827, 46834, 46841, 46844, 46848, 46853, 46858, 46866,
+ 46872, 46878, 46890, 46897, 46904, 46909, 46914, 46920, 46923, 46926,
+ 46931, 46933, 46937, 46939, 46941, 46943, 46945, 46947, 46949, 46954,
+ 46956, 46958, 46960, 46962, 46966, 46968, 46971, 46976, 46981, 46986,
+ 46991, 46997, 47003, 47005, 47008, 47015, 47022, 47029, 47036, 47040,
+ 47044, 47046, 47048, 47052, 47058, 47063, 47065, 47069, 47078, 47086,
+ 47094, 47100, 47106, 47111, 47117, 47122, 47125, 47139, 47142, 47147,
+ 47152, 47158, 47168, 47170, 47176, 47182, 47186, 47193, 47197, 47199,
+ 47201, 47205, 47211, 47216, 47222, 47224, 47230, 47232, 47238, 47240,
+ 47242, 47247, 47249, 47253, 47258, 47260, 47265, 47270, 47274, 47281, 0,
+ 47291, 47297, 47300, 47306, 47309, 47314, 47319, 47323, 47325, 47327,
+ 47331, 47335, 47339, 47343, 47348, 47350, 47355, 47358, 47361, 47364,
+ 47368, 47372, 47377, 47381, 47386, 47391, 47395, 47400, 47406, 47409,
+ 47415, 47420, 47424, 47429, 47435, 47441, 47448, 47454, 47461, 47468,
+ 47470, 47477, 47481, 47487, 47493, 47498, 47504, 47508, 47513, 47516,
+ 47521, 47527, 47534, 47542, 47549, 47558, 47568, 47575, 47581, 47585,
+ 47592, 47597, 47606, 47609, 47612, 47621, 47631, 47638, 47640, 47646,
+ 47651, 47653, 47656, 47660, 47668, 47677, 47680, 47685, 47690, 47698,
+ 47706, 47714, 47722, 47728, 47734, 47740, 47748, 47753, 47756, 47760,
+ 47763, 47775, 47785, 47796, 47805, 47816, 47826, 47835, 47841, 47849,
+ 47853, 47861, 47865, 47873, 47880, 47887, 47896, 47905, 47915, 47925,
+ 47935, 47945, 47954, 47963, 47973, 47983, 47992, 48001, 48007, 48013,
+ 48019, 48025, 48031, 48037, 48043, 48049, 48055, 48062, 48068, 48074,
+ 48080, 48086, 48092, 48098, 48104, 48110, 48116, 48123, 48130, 48137,
+ 48144, 48151, 48158, 48165, 48172, 48179, 48186, 48194, 48199, 48202,
+ 48206, 48210, 48216, 48219, 48225, 48231, 48236, 48240, 48245, 48251,
+ 48258, 48261, 48268, 48275, 48279, 48288, 48297, 48302, 48308, 48313,
+ 48318, 48325, 48332, 48340, 48348, 48357, 48361, 48370, 48375, 48379,
+ 48386, 48390, 48397, 48405, 48410, 48418, 48422, 48427, 48431, 48436,
+ 48440, 48445, 48450, 48459, 48461, 48464, 48467, 48474, 48481, 48486,
+ 48494, 48500, 0, 48506, 0, 48509, 48514, 48519, 48527, 48531, 48538,
+ 48546, 48554, 48559, 48564, 48570, 48575, 48580, 48586, 48591, 48594,
+ 48598, 48602, 48609, 48618, 48623, 48632, 48641, 48647, 48653, 48658,
+ 48663, 48668, 48673, 48679, 48685, 48693, 48701, 48707, 48713, 48718,
+ 48723, 48730, 48737, 48743, 48746, 48749, 48753, 48757, 48761, 48766,
+ 48772, 48778, 48785, 48792, 48797, 48801, 48805, 48809, 48813, 48817,
+ 48821, 48825, 48829, 48833, 48837, 48841, 48845, 48849, 48853, 48857,
+ 48861, 48865, 48869, 48873, 48877, 48881, 48885, 48889, 48893, 48897,
+ 48901, 48905, 48909, 48913, 48917, 48921, 48925, 48929, 48933, 48937,
+ 48941, 48945, 48949, 48953, 48957, 48961, 48965, 48969, 48973, 48977,
+ 48981, 48985, 48989, 48993, 48997, 49001, 49005, 49009, 49013, 49017,
+ 49021, 49025, 49029, 49033, 49037, 49041, 49045, 49049, 49053, 49057,
+ 49061, 49065, 49069, 49073, 49077, 49081, 49085, 49089, 49093, 49097,
+ 49101, 49105, 49109, 49113, 49117, 49121, 49125, 49129, 49133, 49137,
+ 49141, 49145, 49149, 49153, 49157, 49161, 49165, 49169, 49173, 49177,
+ 49181, 49185, 49189, 49193, 49197, 49201, 49205, 49209, 49213, 49217,
+ 49221, 49225, 49229, 49233, 49237, 49241, 49245, 49249, 49253, 49257,
+ 49261, 49265, 49269, 49273, 49277, 49281, 49285, 49289, 49293, 49297,
+ 49301, 49305, 49309, 49313, 49317, 49321, 49325, 49329, 49333, 49337,
+ 49341, 49345, 49349, 49353, 49357, 49361, 49365, 49369, 49373, 49377,
+ 49381, 49385, 49389, 49393, 49397, 49401, 49405, 49409, 49413, 49417,
+ 49421, 49425, 49429, 49433, 49437, 49441, 49445, 49449, 49453, 49457,
+ 49461, 49465, 49469, 49473, 49477, 49481, 49485, 49489, 49493, 49497,
+ 49501, 49505, 49509, 49513, 49517, 49521, 49525, 49529, 49533, 49537,
+ 49541, 49545, 49549, 49553, 49557, 49561, 49565, 49569, 49573, 49577,
+ 49581, 49585, 49589, 49593, 49597, 49601, 49605, 49609, 49613, 49617,
+ 49621, 49625, 49629, 49633, 49637, 49641, 49645, 49649, 49653, 49657,
+ 49661, 49665, 49669, 49673, 49677, 49681, 49685, 49689, 49693, 49697,
+ 49701, 49705, 49709, 49713, 49717, 49721, 49725, 49729, 49733, 49737,
+ 49741, 49745, 49749, 49753, 49757, 49761, 49765, 49769, 49773, 49777,
+ 49781, 49785, 49789, 49793, 49797, 49801, 49805, 49809, 49813, 49817,
+ 49821, 49828, 49836, 49842, 49848, 49855, 49862, 49868, 49874, 49880,
+ 49886, 49891, 49896, 49901, 49906, 49912, 49918, 49926, 49933, 49939,
+ 49945, 49953, 49962, 49969, 49979, 49990, 49993, 49996, 50000, 50004,
+ 50011, 50018, 50029, 50040, 50050, 50060, 50067, 50074, 50081, 50088,
+ 50099, 50110, 50121, 50132, 50142, 50152, 50164, 50176, 50187, 50198,
+ 50210, 50222, 50231, 50241, 50251, 50262, 50273, 50280, 50287, 50294,
+ 50301, 50311, 50321, 50329, 50337, 50344, 50351, 50358, 50365, 50372,
+ 50377, 50382, 50388, 50396, 50406, 50416, 50426, 50436, 50446, 50456,
+ 50466, 50476, 50486, 50496, 50506, 50517, 50528, 50538, 50548, 50559,
+ 50570, 50580, 50590, 50601, 50612, 50622, 50632, 50643, 50654, 50670,
+ 50689, 50705, 50724, 50740, 50756, 50772, 50788, 50799, 50811, 50822,
+ 50834, 50853, 50872, 50880, 50886, 50893, 50900, 50907, 50914, 50919,
+ 50925, 50930, 50935, 50941, 50946, 50951, 50956, 50961, 50966, 50973,
+ 50978, 50985, 50990, 50995, 50999, 51003, 51010, 51017, 51024, 51031,
+ 51038, 51045, 51058, 51071, 51084, 51097, 51105, 51113, 51119, 51125,
+ 51132, 51139, 51146, 51153, 51157, 51162, 51170, 51178, 51186, 51193,
+ 51197, 51205, 51213, 51217, 51221, 51226, 51233, 51241, 51249, 51268,
+ 51287, 51306, 51325, 51344, 51363, 51382, 51401, 51407, 51414, 51423,
+ 51431, 51439, 51444, 51447, 51450, 51455, 51458, 51477, 51484, 51490,
+ 51496, 51500, 51503, 51506, 51509, 51521, 51534, 51541, 51548, 51551,
+ 51555, 51558, 51563, 51568, 51573, 51579, 51588, 51595, 51602, 51610,
+ 51617, 51624, 51627, 51633, 51639, 51642, 51645, 51650, 51655, 51661,
+ 51667, 51671, 51676, 51683, 51687, 51693, 51697, 51701, 51709, 51721,
+ 51730, 51734, 51736, 51745, 51754, 51760, 51763, 51769, 51775, 51780,
+ 51785, 51790, 51795, 51800, 51805, 51807, 51813, 51818, 51825, 51829,
+ 51835, 51838, 51842, 51849, 51856, 51858, 51860, 51866, 51872, 51878,
+ 51887, 51896, 51903, 51910, 51916, 51922, 51927, 51932, 51937, 51943,
+ 51949, 51954, 51961, 51965, 51969, 51982, 51995, 52007, 52016, 52022,
+ 52029, 52034, 52039, 52044, 52049, 52054, 52056, 52063, 52070, 52077,
+ 52084, 52091, 52099, 52105, 52110, 52116, 52122, 52128, 52135, 52141,
+ 52149, 52157, 52165, 52173, 52180, 52186, 52192, 52201, 52205, 52214,
+ 52223, 52232, 52240, 52244, 52250, 52257, 52264, 52268, 52274, 52281,
+ 52286, 52291, 52297, 52302, 52307, 52314, 52321, 52326, 52331, 52339,
+ 52347, 52357, 52367, 52374, 52381, 52385, 52389, 52401, 52407, 52413,
+ 52418, 52423, 52430, 52437, 52443, 52449, 52458, 52466, 52474, 52481,
+ 52488, 52495, 52501, 52508, 52514, 52521, 52528, 52535, 52542, 52548,
+ 52553, 52562, 52572, 52579, 52588, 52594, 52599, 52604, 52614, 52620,
+ 52626, 52632, 52640, 52645, 52652, 52659, 52670, 52677, 52684, 52691,
+ 52698, 52705, 52712, 52719, 52731, 52743, 52754, 52765, 52778, 52791,
+ 52796, 52801, 52810, 52819, 52826, 52833, 52842, 52851, 52859, 52867,
+ 52875, 52883, 52893, 52903, 52917, 52931, 52939, 52947, 52959, 52971,
+ 52979, 52987, 52997, 53007, 53012, 53017, 53026, 53035, 53040, 53045,
+ 53053, 53059, 53065, 53073, 53081, 53094, 53107, 53111, 53115, 53122,
+ 53129, 53136, 53144, 53152, 53161, 53170, 53176, 53182, 53189, 53196,
+ 53203, 53210, 53219, 53228, 53231, 53234, 53239, 53244, 53250, 53256,
+ 53263, 53270, 53280, 53290, 53297, 53304, 53312, 53320, 53328, 53336,
+ 53344, 53352, 53358, 53364, 53368, 53372, 53379, 53386, 53391, 53396,
+ 53401, 53406, 53412, 53426, 53433, 53440, 53444, 53446, 53448, 53453,
+ 53458, 53463, 53467, 53475, 53482, 53489, 53497, 53509, 53517, 53525,
+ 53536, 53540, 53544, 53550, 53558, 53571, 53578, 53585, 53592, 53597,
+ 53604, 53613, 53621, 53627, 53633, 53639, 53648, 53657, 53665, 53674,
+ 53679, 53682, 53687, 53693, 53699, 53705, 53711, 53715, 53718, 53722,
+ 53726, 53732, 53738, 53744, 53750, 53754, 53758, 53765, 53772, 53779,
+ 53786, 53793, 53800, 53810, 53820, 53827, 53834, 53842, 53850, 53854,
+ 53859, 53864, 53870, 53876, 53879, 53882, 53885, 53888, 53892, 53897,
+ 53902, 53907, 53912, 53917, 53921, 53925, 53929, 53933, 53937, 53941,
+ 53945, 53951, 53955, 53961, 53966, 53973, 53981, 53988, 53996, 54003,
+ 54011, 54020, 54027, 54037, 54048, 54054, 54063, 54069, 54078, 54087,
+ 54093, 54099, 54103, 54107, 54116, 54125, 54132, 54139, 54148, 0, 0, 0,
+ 54157, 54162, 54166, 54170, 54175, 54180, 54185, 54193, 54201, 54204, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54259, 54264, 54269, 54274, 54279,
- 54284, 54289, 54294, 54299, 54304, 54309, 54315, 54319, 54324, 54329,
- 54334, 54339, 54344, 54349, 54354, 54359, 54364, 54369, 54374, 54379,
- 54384, 54389, 54394, 54399, 54404, 54409, 54414, 54419, 54424, 54429,
- 54435, 54440, 54446, 54455, 54460, 54468, 54475, 54484, 54489, 54494,
- 54499, 54505, 0, 54512, 54517, 54522, 54527, 54532, 54537, 54542, 54547,
- 54552, 54557, 54562, 54568, 54572, 54577, 54582, 54587, 54592, 54597,
- 54602, 54607, 54612, 54617, 54622, 54627, 54632, 54637, 54642, 54647,
- 54652, 54657, 54662, 54667, 54672, 54677, 54682, 54688, 54693, 54699,
- 54708, 54713, 54721, 54728, 54737, 54742, 54747, 54752, 54758, 0, 54765,
- 54773, 54781, 54791, 54798, 54806, 54812, 54821, 54829, 54837, 54845,
- 54853, 54861, 54869, 54874, 54881, 54887, 54894, 54902, 54909, 54916,
- 54924, 54930, 54936, 54943, 54950, 54960, 54970, 54977, 54984, 54989,
- 54999, 55009, 55014, 55019, 55024, 55029, 55034, 55039, 55044, 55049,
- 55054, 55059, 55064, 55069, 55074, 55079, 55084, 55089, 55094, 55099,
- 55104, 55109, 55114, 55119, 55124, 55129, 55134, 55139, 55144, 55149,
- 55154, 55159, 55163, 55167, 55172, 55177, 55182, 55187, 55192, 55197,
- 55202, 55207, 55212, 55217, 55222, 55227, 55232, 55237, 55242, 55247,
- 55252, 55257, 55264, 55271, 55278, 55285, 55292, 55299, 55306, 55313,
- 55320, 55327, 55334, 55341, 55348, 55355, 55360, 55365, 55372, 55379,
- 55386, 55393, 55400, 55407, 55414, 55421, 55428, 55435, 55442, 55449,
- 55455, 55461, 55467, 55473, 55480, 55487, 55494, 55501, 55508, 55515,
- 55522, 55529, 55536, 55543, 55551, 55559, 55567, 55575, 55583, 55591,
- 55599, 55607, 55611, 55617, 55623, 55627, 55633, 55639, 55645, 55652,
- 55659, 55666, 55673, 55678, 55684, 0, 0, 0, 0, 0, 0, 0, 55690, 55698,
- 55707, 55716, 55724, 55730, 55735, 55740, 55745, 55750, 55755, 55760,
- 55765, 55770, 55775, 55780, 55785, 55790, 55795, 55800, 55805, 55810,
- 55815, 55820, 55825, 55830, 55835, 55840, 55845, 55850, 55855, 55860,
- 55865, 55870, 55875, 55880, 55885, 55890, 55895, 55900, 55905, 55910,
- 55915, 55920, 55925, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55930, 55934, 55939,
- 55944, 55949, 55954, 55963, 55968, 55973, 55978, 55983, 55988, 55993,
- 55998, 56003, 56010, 56015, 56020, 56029, 56036, 56041, 56046, 56051,
- 56058, 56063, 56070, 56075, 56080, 56087, 56094, 56099, 56104, 56109,
- 56116, 56123, 56128, 56133, 56138, 56143, 56148, 56155, 56162, 56167,
- 56172, 56177, 56182, 56187, 56192, 56197, 56202, 56207, 56212, 56217,
- 56224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56229, 56236, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 56241, 56247, 56251, 56255, 56259, 56263, 56267, 56271,
- 56275, 56279, 56283, 56287, 56293, 56297, 56301, 56305, 56309, 56313,
- 56317, 56321, 56325, 56329, 56333, 56337, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 56341, 56345, 56349, 56353, 56357, 56361, 56365, 0, 56369, 56373, 56377,
- 56381, 56385, 56389, 56393, 0, 56397, 56401, 56405, 56409, 56413, 56417,
- 56421, 0, 56425, 56429, 56433, 56437, 56441, 56445, 56449, 0, 56453,
- 56457, 56461, 56465, 56469, 56473, 56477, 0, 56481, 56485, 56489, 56493,
- 56497, 56501, 56505, 0, 56509, 56513, 56517, 56521, 56525, 56529, 56533,
- 0, 56537, 56541, 56545, 56549, 56553, 56557, 56561, 0, 56565, 56570,
- 56575, 56580, 56585, 56590, 56595, 56599, 56604, 56609, 56614, 56618,
- 56623, 56628, 56633, 56638, 56642, 56647, 56652, 56657, 56662, 56667,
- 56672, 56676, 56681, 56686, 56693, 56698, 56703, 56709, 56716, 56723,
- 56732, 56739, 56748, 56752, 56756, 56762, 56768, 56774, 56782, 56788,
- 56792, 56796, 56800, 56806, 56812, 56816, 56818, 56822, 56828, 56830,
- 56834, 56838, 56842, 56848, 56853, 56857, 56861, 56866, 56872, 56877,
- 56882, 56887, 56892, 56899, 56906, 56911, 56916, 56921, 56926, 56931,
- 56936, 56940, 56944, 56951, 56958, 56964, 56968, 56973, 56976, 56980, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54208, 54213, 54218, 54223, 54228,
+ 54233, 54238, 54243, 54248, 54253, 54258, 54264, 54268, 54273, 54278,
+ 54283, 54288, 54293, 54298, 54303, 54308, 54313, 54318, 54323, 54328,
+ 54333, 54338, 54343, 54348, 54353, 54358, 54363, 54368, 54373, 54378,
+ 54384, 54389, 54395, 54404, 54409, 54417, 54424, 54433, 54438, 54443,
+ 54448, 54454, 0, 54461, 54466, 54471, 54476, 54481, 54486, 54491, 54496,
+ 54501, 54506, 54511, 54517, 54521, 54526, 54531, 54536, 54541, 54546,
+ 54551, 54556, 54561, 54566, 54571, 54576, 54581, 54586, 54591, 54596,
+ 54601, 54606, 54611, 54616, 54621, 54626, 54631, 54637, 54642, 54648,
+ 54657, 54662, 54670, 54677, 54686, 54691, 54696, 54701, 54707, 0, 54714,
+ 54722, 54730, 54739, 54746, 54754, 54760, 54769, 54777, 54785, 54793,
+ 54801, 54809, 54817, 54822, 54829, 54835, 54842, 54850, 54857, 54864,
+ 54872, 54878, 54884, 54891, 54898, 54908, 54918, 54925, 54932, 54937,
+ 54947, 54957, 54962, 54967, 54972, 54977, 54982, 54987, 54992, 54997,
+ 55002, 55007, 55012, 55017, 55022, 55027, 55032, 55037, 55042, 55047,
+ 55052, 55057, 55062, 55067, 55072, 55077, 55082, 55087, 55092, 55097,
+ 55102, 55107, 55111, 55115, 55120, 55125, 55130, 55135, 55140, 55145,
+ 55150, 55155, 55160, 55165, 55170, 55175, 55180, 55185, 55190, 55195,
+ 55200, 55205, 55212, 55219, 55226, 55233, 55240, 55247, 55254, 55261,
+ 55268, 55275, 55282, 55289, 55296, 55303, 55308, 55313, 55320, 55327,
+ 55334, 55341, 55348, 55355, 55362, 55369, 55376, 55383, 55390, 55397,
+ 55403, 55409, 55415, 55421, 55428, 55435, 55442, 55449, 55456, 55463,
+ 55470, 55477, 55484, 55491, 55499, 55507, 55515, 55523, 55531, 55539,
+ 55547, 55555, 55559, 55565, 55571, 55575, 55581, 55587, 55593, 55600,
+ 55607, 55614, 55621, 55626, 55632, 0, 0, 0, 0, 0, 0, 0, 55638, 55646,
+ 55655, 55664, 55672, 55678, 55683, 55688, 55693, 55698, 55703, 55708,
+ 55713, 55718, 55723, 55728, 55733, 55738, 55743, 55748, 55753, 55758,
+ 55763, 55768, 55773, 55778, 55783, 55788, 55793, 55798, 55803, 55808,
+ 55813, 55818, 55823, 55828, 55833, 55838, 55843, 55848, 55853, 55858,
+ 55863, 55868, 55873, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55878, 55882, 55887,
+ 55892, 55897, 55902, 55911, 55916, 55921, 55926, 55931, 55936, 55941,
+ 55946, 55951, 55958, 55963, 55968, 55977, 55984, 55989, 55994, 55999,
+ 56006, 56011, 56018, 56023, 56028, 56035, 56042, 56047, 56052, 56057,
+ 56064, 56071, 56076, 56081, 56086, 56091, 56096, 56103, 56110, 56115,
+ 56120, 56125, 56130, 56135, 56140, 56145, 56150, 56155, 56160, 56165,
+ 56172, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56177, 56184, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 56189, 56194, 56198, 56202, 56206, 56210, 56214, 56218,
+ 56222, 56226, 56230, 56234, 56240, 56244, 56248, 56252, 56256, 56260,
+ 56264, 56268, 56272, 56276, 56280, 56284, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 56288, 56292, 56296, 56300, 56304, 56308, 56312, 0, 56316, 56320, 56324,
+ 56328, 56332, 56336, 56340, 0, 56344, 56348, 56352, 56356, 56360, 56364,
+ 56368, 0, 56372, 56376, 56380, 56384, 56388, 56392, 56396, 0, 56400,
+ 56404, 56408, 56412, 56416, 56420, 56424, 0, 56428, 56432, 56436, 56440,
+ 56444, 56448, 56452, 0, 56456, 56460, 56464, 56468, 56472, 56476, 56480,
+ 0, 56484, 56488, 56492, 56496, 56500, 56504, 56508, 0, 56512, 56517,
+ 56522, 56527, 56532, 56537, 56542, 56546, 56551, 56556, 56561, 56565,
+ 56570, 56575, 56580, 56585, 56589, 56594, 56599, 56604, 56609, 56614,
+ 56619, 56623, 56628, 56633, 56640, 56645, 56650, 56656, 56663, 56670,
+ 56679, 56686, 56695, 56699, 56703, 56709, 56715, 56721, 56729, 56735,
+ 56739, 56743, 56747, 56753, 56759, 56763, 56765, 56769, 56775, 56777,
+ 56781, 56785, 56789, 56795, 56800, 56804, 56808, 56813, 56819, 56824,
+ 56829, 56834, 56839, 56846, 56853, 56858, 56863, 56868, 56873, 56878,
+ 56883, 56887, 56891, 56898, 56905, 56911, 56915, 56920, 56922, 56926, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 56988, 56992, 56996, 57001, 57006, 57011, 57015, 57019,
- 57023, 57028, 57033, 57037, 57041, 57045, 57049, 57054, 57059, 57064,
- 57069, 57073, 57077, 57082, 57087, 57092, 57097, 57101, 0, 57105, 57109,
- 57113, 57117, 57121, 57125, 57129, 57134, 57139, 57143, 57148, 57153,
- 57162, 57166, 57170, 57174, 57181, 57185, 57190, 57195, 57199, 57203,
- 57209, 57214, 57219, 57224, 57229, 57233, 57237, 57241, 57245, 57249,
- 57254, 57259, 57263, 57267, 57272, 57277, 57282, 57286, 57290, 57295,
- 57300, 57306, 57312, 57316, 57322, 57328, 57332, 57338, 57344, 57349,
- 57354, 57358, 57364, 57368, 57372, 57378, 57384, 57389, 57394, 57398,
- 57402, 57410, 57416, 57422, 57428, 57433, 57438, 57443, 57449, 57453,
- 57459, 57463, 57467, 57473, 57479, 57485, 57491, 57497, 57503, 57509,
- 57515, 57521, 57527, 57533, 57539, 57543, 57549, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 57555, 57558, 57562, 57566, 57570, 57574, 57577, 57580,
- 57584, 57588, 57592, 57596, 57599, 57604, 57608, 57612, 57616, 57622,
- 57626, 57630, 57634, 57638, 57645, 57651, 57655, 57659, 57663, 57667,
- 57671, 57675, 57679, 57683, 57687, 57691, 57695, 57701, 57705, 57709,
- 57713, 57717, 57721, 57725, 57729, 57733, 57737, 57741, 57745, 57749,
- 57753, 57757, 57761, 57765, 57771, 57777, 57782, 57787, 57791, 57795,
- 57799, 57803, 57807, 57811, 57815, 57819, 57823, 57827, 57831, 57835,
- 57839, 57843, 57847, 57851, 57855, 57859, 57863, 57867, 57871, 57875,
- 57879, 57883, 57889, 57893, 57897, 57901, 57905, 57909, 57913, 57917,
- 57921, 57926, 57933, 57937, 57941, 57945, 57949, 57953, 57957, 57961,
- 57965, 57969, 57973, 57977, 57981, 57988, 57992, 57998, 58002, 58006,
- 58010, 58014, 58018, 58021, 58025, 58029, 58033, 58037, 58041, 58045,
- 58049, 58053, 58057, 58061, 58065, 58069, 58073, 58077, 58081, 58085,
- 58089, 58093, 58097, 58101, 58105, 58109, 58113, 58117, 58121, 58125,
- 58129, 58133, 58137, 58141, 58145, 58149, 58155, 58159, 58163, 58167,
- 58171, 58175, 58179, 58183, 58187, 58191, 58195, 58199, 58203, 58207,
- 58211, 58215, 58219, 58223, 58227, 58231, 58235, 58239, 58243, 58247,
- 58251, 58255, 58259, 58263, 58271, 58275, 58279, 58283, 58287, 58291,
- 58297, 58301, 58305, 58309, 58313, 58317, 58321, 58325, 58329, 58333,
- 58337, 58341, 58345, 58349, 58355, 58359, 58363, 58367, 58371, 58375,
- 58379, 58383, 58387, 58391, 58395, 58399, 58403, 58407, 58411, 58415,
- 58419, 58423, 58427, 58431, 58435, 58439, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58443, 58452, 58460,
- 58472, 58483, 58491, 58500, 58509, 58519, 58531, 58543, 58555, 0, 0, 0,
- 0, 58561, 58564, 58567, 58572, 58575, 58582, 58586, 58590, 58594, 58598,
- 58602, 58607, 58612, 58616, 58620, 58625, 58630, 58635, 58640, 58643,
- 58646, 58652, 58658, 58663, 58668, 58675, 58682, 58686, 58690, 58694,
- 58702, 58708, 58715, 58720, 58725, 58730, 58735, 58740, 58745, 58750,
- 58755, 58760, 58765, 58770, 58775, 58780, 58785, 58791, 58796, 58800,
- 58806, 58817, 58827, 58842, 58852, 58856, 58865, 58871, 58877, 58883,
- 58888, 58891, 58896, 58900, 0, 58906, 58910, 58913, 58917, 58920, 58924,
- 58927, 58931, 58934, 58938, 58941, 58944, 58948, 58952, 58956, 58960,
- 58964, 58968, 58972, 58976, 58980, 58984, 58988, 58992, 58996, 59000,
- 59004, 59008, 59012, 59016, 59020, 59024, 59028, 59032, 59036, 59041,
- 59045, 59049, 59053, 59057, 59060, 59064, 59067, 59071, 59075, 59079,
- 59083, 59086, 59090, 59093, 59097, 59101, 59105, 59109, 59113, 59117,
- 59121, 59125, 59129, 59133, 59137, 59141, 59144, 59148, 59152, 59156,
- 59160, 59164, 59167, 59172, 59176, 59181, 59185, 59188, 59192, 59196,
- 59200, 59204, 59209, 59213, 59217, 59221, 59225, 59228, 59232, 59236, 0,
- 0, 59241, 59249, 59257, 59264, 59271, 59275, 59281, 59286, 59291, 59295,
- 59298, 59302, 59305, 59309, 59312, 59316, 59319, 59323, 59326, 59329,
- 59333, 59337, 59341, 59345, 59349, 59353, 59357, 59361, 59365, 59369,
- 59373, 59377, 59381, 59385, 59389, 59393, 59397, 59401, 59405, 59409,
- 59413, 59417, 59421, 59426, 59430, 59434, 59438, 59442, 59445, 59449,
- 59452, 59456, 59460, 59464, 59468, 59471, 59475, 59478, 59482, 59486,
- 59490, 59494, 59498, 59502, 59506, 59510, 59514, 59518, 59522, 59526,
- 59529, 59533, 59537, 59541, 59545, 59549, 59552, 59557, 59561, 59566,
- 59570, 59573, 59577, 59581, 59585, 59589, 59594, 59598, 59602, 59606,
- 59610, 59613, 59617, 59621, 59626, 59630, 59634, 59638, 59642, 59647,
- 59654, 59658, 59664, 0, 0, 0, 0, 0, 59669, 59673, 59677, 59680, 59684,
- 59688, 59692, 59695, 59698, 59702, 59706, 59710, 59714, 59718, 59722,
- 59726, 59730, 59734, 59737, 59741, 59745, 59748, 59751, 59754, 59757,
- 59761, 59765, 59769, 59773, 59777, 59781, 59785, 59789, 59793, 59797,
- 59800, 59803, 59807, 59811, 59815, 59819, 0, 0, 0, 59823, 59827, 59831,
- 59835, 59839, 59843, 59847, 59851, 59855, 59859, 59863, 59867, 59871,
- 59875, 59879, 59883, 59887, 59891, 59895, 59899, 59903, 59907, 59911,
- 59915, 59919, 59923, 59927, 59931, 59935, 59939, 59943, 59946, 59950,
- 59953, 59957, 59961, 59964, 59968, 59972, 59975, 59979, 59983, 59987,
- 59991, 59994, 59998, 60002, 60006, 60010, 60014, 60018, 60021, 60024,
- 60028, 60032, 60036, 60040, 60044, 60048, 60052, 60056, 60060, 60064,
- 60068, 60072, 60076, 60080, 60084, 60088, 60092, 60096, 60100, 60104,
- 60108, 60112, 60116, 60120, 60124, 60128, 60132, 60136, 60140, 60144,
- 60148, 60152, 60156, 60160, 60164, 60168, 60172, 60176, 60180, 60184,
- 60188, 0, 60192, 60198, 60204, 60209, 60214, 60219, 60225, 60231, 60237,
- 60243, 60249, 60255, 60261, 60267, 60273, 60279, 60285, 60289, 60293,
- 60297, 60301, 60305, 60309, 60313, 60317, 60321, 60325, 60329, 60333,
- 60337, 60341, 60345, 60349, 60353, 60357, 60361, 60365, 60370, 60375,
- 60380, 60385, 60389, 60393, 0, 0, 0, 0, 0, 60397, 60402, 60407, 60412,
- 60417, 60422, 60427, 60432, 60437, 60442, 60447, 60452, 60457, 60462,
- 60467, 60472, 60476, 60481, 60485, 60490, 60495, 60500, 60505, 60510,
- 60515, 60520, 60525, 60530, 60535, 60540, 60545, 60550, 60555, 60560,
- 60565, 60570, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60575, 60580, 60585,
- 60590, 60594, 60599, 60603, 60608, 60613, 60618, 60623, 60628, 60632,
- 60637, 60642, 60647, 60652, 60656, 60660, 60664, 60668, 60672, 60676,
- 60680, 60684, 60688, 60692, 60696, 60700, 60704, 60708, 60713, 60718,
- 60723, 60728, 60733, 60738, 60743, 60748, 60753, 60758, 60763, 60768,
- 60773, 60778, 60783, 60789, 0, 60796, 60799, 60802, 60805, 60808, 60811,
- 60814, 60817, 60820, 60823, 60827, 60831, 60835, 60839, 60843, 60847,
- 60851, 60855, 60859, 60863, 60867, 60871, 60875, 60879, 60883, 60887,
- 60891, 60895, 60899, 60903, 60907, 60911, 60915, 60919, 60923, 60927,
- 60931, 60935, 60939, 60943, 60947, 60956, 60965, 60974, 60983, 60992,
- 61001, 61010, 61019, 61022, 61027, 61032, 61037, 61042, 61047, 61052,
- 61057, 61062, 61067, 61071, 61076, 61081, 61086, 61091, 61096, 61100,
- 61104, 61108, 61112, 61116, 61120, 61124, 61128, 61132, 61136, 61140,
- 61144, 61148, 61152, 61157, 61162, 61167, 61172, 61177, 61182, 61187,
- 61192, 61197, 61202, 61207, 61212, 61217, 61222, 61228, 61234, 61239,
- 61244, 61247, 61250, 61253, 61256, 61259, 61262, 61265, 61268, 61271,
- 61275, 61279, 61283, 61287, 61291, 61295, 61299, 61303, 61307, 61311,
- 61315, 61319, 61323, 61327, 61331, 61335, 61339, 61343, 61347, 61351,
- 61355, 61359, 61363, 61367, 61371, 61375, 61379, 61383, 61387, 61391,
- 61395, 61399, 61403, 61407, 61411, 61415, 61419, 61423, 61427, 61431,
- 61436, 61441, 61446, 61451, 61455, 61460, 61465, 61470, 61475, 61480,
- 61485, 61490, 61495, 61500, 61504, 61510, 61516, 61522, 61528, 61534,
- 61540, 61546, 61552, 61558, 61564, 61570, 61576, 61579, 61582, 61585,
- 61590, 61593, 61596, 61599, 61602, 61605, 61608, 61612, 61616, 61620,
- 61624, 61628, 61632, 61636, 61640, 61644, 61648, 61652, 61656, 61660,
- 61663, 61666, 61670, 61674, 61678, 61682, 61685, 61689, 61693, 61697,
- 61701, 61704, 61708, 61712, 61716, 61720, 61723, 61727, 61731, 61734,
- 61738, 61742, 61746, 61750, 61754, 61758, 61762, 0, 61766, 61769, 61772,
- 61775, 61778, 61781, 61784, 61787, 61790, 61793, 61796, 61799, 61802,
- 61805, 61808, 61811, 61814, 61817, 61820, 61823, 61826, 61829, 61832,
- 61835, 61838, 61841, 61844, 61847, 61850, 61853, 61856, 61859, 61862,
- 61865, 61868, 61871, 61874, 61877, 61880, 61883, 61886, 61889, 61892,
- 61895, 61898, 61901, 61904, 61907, 61910, 61913, 61916, 61919, 61922,
- 61925, 61928, 61931, 61934, 61937, 61940, 61943, 61946, 61949, 61952,
- 61955, 61958, 61961, 61964, 61967, 61970, 61973, 61976, 61979, 61982,
- 61985, 61988, 61991, 61994, 61997, 62000, 62003, 62006, 62009, 62012,
- 62015, 62018, 62021, 62024, 62027, 62030, 62038, 62045, 62052, 62059,
- 62066, 62073, 62080, 62087, 62094, 62101, 62109, 62117, 62125, 62133,
- 62141, 62149, 62157, 62165, 62173, 62181, 62189, 62197, 62205, 62213,
- 62221, 62224, 62227, 62230, 62232, 62235, 62238, 62241, 62246, 62251,
- 62254, 62261, 62268, 62275, 62282, 62285, 62290, 62292, 62296, 62298,
- 62300, 62303, 62306, 62309, 62312, 62315, 62318, 62321, 62326, 62331,
- 62334, 62337, 62340, 62343, 62346, 62349, 62352, 62356, 62359, 62362,
- 62365, 62368, 62371, 62375, 62378, 62381, 62384, 62389, 62394, 62399,
- 62404, 62409, 62414, 62419, 62424, 62429, 62437, 62439, 62442, 62445,
- 62448, 62451, 62456, 62464, 62467, 62470, 62474, 62477, 62480, 62483,
- 62488, 62491, 62494, 62499, 62502, 62505, 62510, 62513, 62516, 62521,
- 62526, 62531, 62534, 62537, 62540, 62543, 62549, 62552, 62555, 62558,
- 62560, 62563, 62566, 62569, 62574, 62577, 62580, 62583, 62586, 62589,
- 62594, 62597, 62600, 62603, 62606, 62609, 62612, 62615, 62618, 62621,
- 62626, 62630, 62637, 62644, 62651, 62658, 62665, 62672, 62679, 62686,
- 62693, 62701, 62709, 62717, 62725, 62733, 62741, 62749, 62757, 62765,
- 62773, 62781, 62789, 62797, 62805, 62813, 62821, 62829, 62837, 62845,
- 62853, 62861, 62869, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 56934, 56938, 56942, 56947, 56952, 56957, 56961, 56965,
+ 56969, 56974, 56979, 56983, 56987, 56991, 56995, 57000, 57005, 57010,
+ 57015, 57019, 57023, 57028, 57033, 57038, 57043, 57047, 0, 57051, 57055,
+ 57059, 57063, 57067, 57071, 57075, 57080, 57085, 57089, 57094, 57099,
+ 57108, 57112, 57116, 57120, 57127, 57131, 57136, 57141, 57145, 57149,
+ 57155, 57160, 57165, 57170, 57175, 57179, 57183, 57187, 57191, 57195,
+ 57200, 57205, 57209, 57213, 57218, 57223, 57228, 57232, 57236, 57241,
+ 57246, 57252, 57258, 57262, 57268, 57274, 57278, 57284, 57290, 57295,
+ 57300, 57304, 57310, 57314, 57318, 57324, 57330, 57335, 57340, 57344,
+ 57348, 57356, 57362, 57368, 57374, 57379, 57384, 57389, 57395, 57399,
+ 57405, 57409, 57413, 57419, 57425, 57431, 57437, 57443, 57449, 57455,
+ 57461, 57467, 57473, 57479, 57485, 57489, 57495, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 57501, 57504, 57508, 57512, 57516, 57520, 57523, 57526,
+ 57530, 57534, 57538, 57542, 57545, 57550, 57554, 57558, 57562, 57567,
+ 57571, 57575, 57579, 57583, 57589, 57595, 57599, 57603, 57607, 57611,
+ 57615, 57619, 57623, 57627, 57631, 57635, 57639, 57645, 57649, 57653,
+ 57657, 57661, 57665, 57669, 57673, 57677, 57681, 57685, 57689, 57693,
+ 57697, 57701, 57705, 57709, 57715, 57721, 57726, 57731, 57735, 57739,
+ 57743, 57747, 57751, 57755, 57759, 57763, 57767, 57771, 57775, 57779,
+ 57783, 57787, 57791, 57795, 57799, 57803, 57807, 57811, 57815, 57819,
+ 57823, 57827, 57833, 57837, 57841, 57845, 57849, 57853, 57857, 57861,
+ 57865, 57870, 57877, 57881, 57885, 57889, 57893, 57897, 57901, 57905,
+ 57909, 57913, 57917, 57921, 57925, 57932, 57936, 57942, 57946, 57950,
+ 57954, 57958, 57962, 57965, 57969, 57973, 57977, 57981, 57985, 57989,
+ 57993, 57997, 58001, 58005, 58009, 58013, 58017, 58021, 58025, 58029,
+ 58033, 58037, 58041, 58045, 58049, 58053, 58057, 58061, 58065, 58069,
+ 58073, 58077, 58081, 58085, 58089, 58093, 58099, 58103, 58107, 58111,
+ 58115, 58119, 58123, 58127, 58131, 58135, 58139, 58143, 58147, 58151,
+ 58155, 58159, 58163, 58167, 58171, 58175, 58179, 58183, 58187, 58191,
+ 58195, 58199, 58203, 58207, 58215, 58219, 58223, 58227, 58231, 58235,
+ 58241, 58245, 58249, 58253, 58257, 58261, 58265, 58269, 58273, 58277,
+ 58281, 58285, 58289, 58293, 58299, 58303, 58307, 58311, 58315, 58319,
+ 58323, 58327, 58331, 58335, 58339, 58343, 58347, 58351, 58355, 58359,
+ 58363, 58367, 58371, 58375, 58379, 58383, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58387, 58396, 58404,
+ 58416, 58427, 58435, 58444, 58453, 58463, 58475, 58487, 58499, 0, 0, 0,
+ 0, 58505, 58508, 58511, 58516, 58519, 58526, 58530, 58534, 58538, 58542,
+ 58546, 58551, 58556, 58560, 58564, 58569, 58574, 58579, 58584, 58587,
+ 58590, 58596, 58602, 58607, 58612, 58619, 58626, 58630, 58634, 58638,
+ 58646, 58652, 58659, 58664, 58669, 58674, 58679, 58684, 58689, 58694,
+ 58699, 58704, 58709, 58714, 58719, 58724, 58729, 58735, 58740, 58744,
+ 58750, 58761, 58771, 58786, 58796, 58800, 58809, 58815, 58821, 58827,
+ 58832, 58835, 58840, 58844, 0, 58850, 58854, 58857, 58861, 58864, 58868,
+ 58871, 58875, 58878, 58882, 58885, 58888, 58892, 58896, 58900, 58904,
+ 58908, 58912, 58916, 58920, 58924, 58928, 58932, 58936, 58940, 58944,
+ 58948, 58952, 58956, 58960, 58964, 58968, 58972, 58976, 58980, 58985,
+ 58989, 58993, 58997, 59001, 59004, 59008, 59011, 59015, 59019, 59023,
+ 59027, 59030, 59034, 59037, 59041, 59045, 59049, 59053, 59057, 59061,
+ 59065, 59069, 59073, 59077, 59081, 59085, 59088, 59092, 59096, 59100,
+ 59104, 59108, 59111, 59116, 59120, 59125, 59129, 59132, 59136, 59140,
+ 59144, 59148, 59153, 59157, 59161, 59165, 59169, 59172, 59176, 59180, 0,
+ 0, 59185, 59193, 59201, 59208, 59215, 59219, 59225, 59230, 59235, 59239,
+ 59242, 59246, 59249, 59253, 59256, 59260, 59263, 59267, 59270, 59273,
+ 59277, 59281, 59285, 59289, 59293, 59297, 59301, 59305, 59309, 59313,
+ 59317, 59321, 59325, 59329, 59333, 59337, 59341, 59345, 59349, 59353,
+ 59357, 59361, 59365, 59370, 59374, 59378, 59382, 59386, 59389, 59393,
+ 59396, 59400, 59404, 59408, 59412, 59415, 59419, 59422, 59426, 59430,
+ 59434, 59438, 59442, 59446, 59450, 59454, 59458, 59462, 59466, 59470,
+ 59473, 59477, 59481, 59485, 59489, 59493, 59496, 59501, 59505, 59510,
+ 59514, 59517, 59521, 59525, 59529, 59533, 59538, 59542, 59546, 59550,
+ 59554, 59557, 59561, 59565, 59570, 59574, 59578, 59582, 59586, 59591,
+ 59598, 59602, 59608, 0, 0, 0, 0, 0, 59613, 59617, 59621, 59624, 59628,
+ 59632, 59636, 59639, 59642, 59646, 59650, 59654, 59658, 59662, 59666,
+ 59670, 59674, 59678, 59681, 59685, 59689, 59692, 59695, 59698, 59701,
+ 59705, 59709, 59713, 59717, 59721, 59725, 59729, 59733, 59737, 59741,
+ 59744, 59747, 59751, 59755, 59759, 59763, 0, 0, 0, 59767, 59771, 59775,
+ 59779, 59783, 59787, 59791, 59795, 59799, 59803, 59807, 59811, 59815,
+ 59819, 59823, 59827, 59831, 59835, 59839, 59843, 59847, 59851, 59855,
+ 59859, 59863, 59867, 59871, 59875, 59879, 59883, 59887, 59890, 59894,
+ 59897, 59901, 59905, 59908, 59912, 59916, 59919, 59923, 59927, 59931,
+ 59935, 59938, 59942, 59946, 59950, 59954, 59958, 59962, 59965, 59968,
+ 59972, 59976, 59980, 59984, 59988, 59992, 59996, 60000, 60004, 60008,
+ 60012, 60016, 60020, 60024, 60028, 60032, 60036, 60040, 60044, 60048,
+ 60052, 60056, 60060, 60064, 60068, 60072, 60076, 60080, 60084, 60088,
+ 60092, 60096, 60100, 60104, 60108, 60112, 60116, 60120, 60124, 60128,
+ 60132, 0, 60136, 60142, 60148, 60153, 60158, 60163, 60169, 60175, 60181,
+ 60187, 60193, 60199, 60205, 60211, 60217, 60223, 60229, 60233, 60237,
+ 60241, 60245, 60249, 60253, 60257, 60261, 60265, 60269, 60273, 60277,
+ 60281, 60285, 60289, 60293, 60297, 60301, 60305, 60309, 60314, 60319,
+ 60324, 60329, 60333, 60337, 0, 0, 0, 0, 0, 60341, 60346, 60351, 60356,
+ 60361, 60366, 60371, 60376, 60381, 60386, 60391, 60396, 60401, 60406,
+ 60411, 60416, 60420, 60425, 60429, 60434, 60439, 60444, 60449, 60454,
+ 60459, 60464, 60469, 60474, 60479, 60484, 60489, 60494, 60499, 60504,
+ 60509, 60514, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60519, 60524, 60529,
+ 60534, 60538, 60543, 60547, 60552, 60557, 60562, 60567, 60572, 60576,
+ 60581, 60586, 60591, 60596, 60600, 60604, 60608, 60612, 60616, 60620,
+ 60624, 60628, 60632, 60636, 60640, 60644, 60648, 60652, 60657, 60662,
+ 60667, 60672, 60677, 60682, 60687, 60692, 60697, 60702, 60707, 60712,
+ 60717, 60722, 60727, 60733, 0, 60740, 60743, 60746, 60749, 60752, 60755,
+ 60758, 60761, 60764, 60767, 60771, 60775, 60779, 60783, 60787, 60791,
+ 60795, 60799, 60803, 60807, 60811, 60815, 60819, 60823, 60827, 60831,
+ 60835, 60839, 60843, 60847, 60851, 60855, 60859, 60863, 60867, 60871,
+ 60875, 60879, 60883, 60887, 60891, 60900, 60909, 60918, 60927, 60936,
+ 60945, 60954, 60963, 60966, 60971, 60976, 60981, 60986, 60991, 60996,
+ 61001, 61006, 61011, 61015, 61020, 61025, 61030, 61035, 61040, 61044,
+ 61048, 61052, 61056, 61060, 61064, 61068, 61072, 61076, 61080, 61084,
+ 61088, 61092, 61096, 61101, 61106, 61111, 61116, 61121, 61126, 61131,
+ 61136, 61141, 61146, 61151, 61156, 61161, 61166, 61172, 61178, 61183,
+ 61188, 61191, 61194, 61197, 61200, 61203, 61206, 61209, 61212, 61215,
+ 61219, 61223, 61227, 61231, 61235, 61239, 61243, 61247, 61251, 61255,
+ 61259, 61263, 61267, 61271, 61275, 61279, 61283, 61287, 61291, 61295,
+ 61299, 61303, 61307, 61311, 61315, 61319, 61323, 61327, 61331, 61335,
+ 61339, 61343, 61347, 61351, 61355, 61359, 61363, 61367, 61371, 61375,
+ 61380, 61385, 61390, 61395, 61399, 61404, 61409, 61414, 61419, 61424,
+ 61429, 61434, 61439, 61444, 61448, 61454, 61460, 61466, 61472, 61478,
+ 61484, 61490, 61496, 61502, 61508, 61514, 61520, 61523, 61526, 61529,
+ 61534, 61537, 61540, 61543, 61546, 61549, 61552, 61556, 61560, 61564,
+ 61568, 61572, 61576, 61580, 61584, 61588, 61592, 61596, 61600, 61604,
+ 61607, 61610, 61614, 61618, 61622, 61626, 61629, 61633, 61637, 61641,
+ 61645, 61648, 61652, 61656, 61660, 61664, 61667, 61671, 61675, 61678,
+ 61682, 61686, 61690, 61694, 61698, 61702, 61706, 0, 61710, 61713, 61716,
+ 61719, 61722, 61725, 61728, 61731, 61734, 61737, 61740, 61743, 61746,
+ 61749, 61752, 61755, 61758, 61761, 61764, 61767, 61770, 61773, 61776,
+ 61779, 61782, 61785, 61788, 61791, 61794, 61797, 61800, 61803, 61806,
+ 61809, 61812, 61815, 61818, 61821, 61824, 61827, 61830, 61833, 61836,
+ 61839, 61842, 61845, 61848, 61851, 61854, 61857, 61860, 61863, 61866,
+ 61869, 61872, 61875, 61878, 61881, 61884, 61887, 61890, 61893, 61896,
+ 61899, 61902, 61905, 61908, 61911, 61914, 61917, 61920, 61923, 61926,
+ 61929, 61932, 61935, 61938, 61941, 61944, 61947, 61950, 61953, 61956,
+ 61959, 61962, 61965, 61968, 61971, 61974, 61982, 61989, 61996, 62003,
+ 62010, 62017, 62024, 62031, 62038, 62045, 62053, 62061, 62069, 62077,
+ 62085, 62093, 62101, 62109, 62117, 62125, 62133, 62141, 62149, 62157,
+ 62165, 62168, 62171, 62174, 62176, 62179, 62182, 62185, 62190, 62195,
+ 62198, 62205, 62212, 62219, 62226, 62229, 62234, 62236, 62240, 62242,
+ 62244, 62247, 62250, 62253, 62256, 62259, 62262, 62265, 62270, 62275,
+ 62278, 62281, 62284, 62287, 62290, 62293, 62296, 62300, 62303, 62306,
+ 62309, 62312, 62315, 62319, 62322, 62325, 62328, 62333, 62338, 62343,
+ 62348, 62353, 62358, 62363, 62368, 62373, 62381, 62383, 62386, 62389,
+ 62392, 62395, 62400, 62408, 62411, 62414, 62418, 62421, 62424, 62427,
+ 62432, 62435, 62438, 62443, 62446, 62449, 62454, 62457, 62460, 62465,
+ 62470, 62475, 62478, 62481, 62484, 62487, 62493, 62496, 62499, 62502,
+ 62504, 62507, 62510, 62513, 62518, 62521, 62524, 62527, 62530, 62533,
+ 62538, 62541, 62544, 62547, 62550, 62553, 62556, 62559, 62562, 62565,
+ 62570, 62574, 62581, 62588, 62595, 62602, 62609, 62616, 62623, 62630,
+ 62637, 62645, 62653, 62661, 62669, 62677, 62685, 62693, 62701, 62709,
+ 62717, 62725, 62733, 62741, 62749, 62757, 62765, 62773, 62781, 62789,
+ 62797, 62805, 62813, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 62872, 62881, 62890, 62901, 62908, 62913, 62918, 62925, 62932, 62938,
- 62943, 62948, 62953, 62958, 62965, 62970, 62975, 62980, 62991, 62996,
- 63001, 63008, 63013, 63020, 63025, 63030, 63037, 63044, 63051, 63060,
- 63069, 63074, 63079, 63084, 63091, 63096, 63106, 63113, 63118, 63123,
- 63128, 63133, 63138, 63143, 63152, 63159, 63166, 63171, 63178, 63183,
- 63190, 63199, 63210, 63215, 63224, 63229, 63236, 63245, 63254, 63259,
- 63264, 63271, 63277, 63284, 63291, 63295, 63299, 63302, 63306, 63310,
- 63314, 63318, 63322, 63326, 63330, 63333, 63337, 63341, 63345, 63349,
- 63353, 63357, 63360, 63364, 63368, 63371, 63375, 63379, 63383, 63387,
- 63391, 63395, 63399, 63403, 63407, 63411, 63415, 63419, 63423, 63427,
- 63431, 63435, 63439, 63443, 63447, 63451, 63455, 63459, 63463, 63467,
- 63471, 63475, 63479, 63483, 63487, 63491, 63495, 63499, 63503, 63507,
- 63511, 63515, 63519, 63523, 63527, 63531, 63535, 63539, 63543, 63547,
- 63550, 63554, 63558, 63562, 63566, 63570, 63574, 63578, 63582, 63586,
- 63590, 63594, 63598, 63602, 63606, 63610, 63614, 63618, 63622, 63626,
- 63630, 63634, 63638, 63642, 63646, 63650, 63654, 63658, 63662, 63666,
- 63670, 63674, 63678, 63682, 63686, 63690, 63694, 63698, 63702, 63706,
- 63710, 63714, 63718, 63722, 63726, 63730, 63734, 63738, 63742, 63746,
- 63750, 63754, 63758, 63762, 63766, 63770, 63774, 63778, 63782, 63786,
- 63790, 63794, 63798, 63802, 63806, 63810, 63814, 63818, 63822, 63826,
- 63830, 63834, 63838, 63842, 63846, 63850, 63854, 63858, 63862, 63866,
- 63870, 63874, 63878, 63882, 63886, 63890, 63894, 63898, 63902, 63906,
- 63910, 63914, 63918, 63922, 63926, 63930, 63934, 63938, 63942, 63946,
- 63950, 63954, 63958, 63962, 63966, 63970, 63974, 63978, 63982, 63986,
- 63990, 63994, 63998, 64002, 64006, 64010, 64014, 64018, 64021, 64025,
- 64029, 64033, 64037, 64041, 64045, 64049, 64053, 64057, 64061, 64065,
- 64069, 64073, 64077, 64081, 64085, 64089, 64093, 64097, 64101, 64105,
- 64109, 64113, 64117, 64121, 64125, 64129, 64133, 64137, 64141, 64145,
- 64149, 64153, 64157, 64161, 64165, 64169, 64173, 64177, 64181, 64185,
- 64189, 64193, 64197, 64201, 64205, 64209, 64213, 64217, 64221, 64225,
- 64229, 64233, 64237, 64241, 64245, 64249, 64253, 64257, 64261, 64265,
- 64269, 64273, 64277, 64281, 64285, 64289, 64293, 64297, 64301, 64305,
- 64309, 64313, 64317, 64321, 64325, 64329, 64333, 64337, 64341, 64345,
- 64349, 64353, 64357, 64361, 64365, 64369, 64373, 64377, 64381, 64385,
- 64389, 64393, 64397, 64401, 64405, 64409, 64413, 64417, 64421, 64425,
- 64429, 64433, 64437, 64441, 64445, 64449, 64453, 64457, 64461, 64465,
- 64469, 64473, 64477, 64481, 64484, 64488, 64492, 64496, 64500, 64504,
- 64508, 64512, 64516, 64520, 64524, 64528, 64532, 64536, 64540, 64544,
- 64548, 64552, 64556, 64560, 64564, 64568, 64572, 64576, 64580, 64584,
- 64588, 64592, 64596, 64600, 64604, 64608, 64612, 64616, 64620, 64624,
- 64628, 64632, 64636, 64640, 64644, 64648, 64652, 64656, 64660, 64664,
- 64668, 64672, 64676, 64680, 64684, 64688, 64692, 64696, 64700, 64704,
- 64708, 64712, 64716, 64720, 64724, 64728, 64732, 64736, 64740, 64744,
- 64748, 64752, 64756, 64760, 64764, 64768, 64772, 64776, 64780, 64784,
- 64788, 64792, 64796, 64800, 64804, 64808, 64812, 64816, 64820, 64824,
- 64828, 64832, 64836, 64840, 64843, 64847, 64851, 64855, 64859, 64863,
- 64867, 64871, 64875, 64879, 64883, 64887, 64891, 64895, 64899, 64903,
- 64907, 64911, 64915, 64919, 64923, 64927, 64931, 64935, 64939, 64943,
- 64947, 64951, 64955, 64959, 64963, 64967, 64971, 64975, 64979, 64983,
- 64987, 64991, 64995, 64999, 65003, 65007, 65011, 65015, 65019, 65023,
- 65027, 65031, 65035, 65039, 65043, 65047, 65051, 65055, 65059, 65063,
- 65067, 65071, 65075, 65079, 65083, 65087, 65091, 65095, 65099, 65103,
- 65107, 65111, 65115, 65119, 65123, 65127, 65131, 65135, 65139, 65143,
- 65147, 65151, 65155, 65159, 65163, 65167, 65171, 65175, 65179, 65183,
- 65187, 65191, 65195, 65199, 65203, 65207, 65211, 65215, 65219, 65223,
- 65227, 65231, 65235, 65239, 65243, 65247, 65251, 65255, 65259, 65263,
- 65267, 65271, 65275, 65279, 65283, 65287, 65291, 65295, 65299, 65303,
- 65307, 65311, 65315, 65319, 65323, 65327, 65331, 65335, 65338, 65342,
- 65346, 65350, 65354, 65358, 65362, 65366, 65370, 65374, 65378, 65382,
- 65386, 65390, 65394, 65398, 65402, 65406, 65410, 65414, 65418, 65422,
- 65426, 65430, 65434, 65438, 65442, 65446, 65450, 65454, 65458, 65462,
- 65466, 65470, 65474, 65478, 65482, 65486, 65490, 65494, 65498, 65502,
- 65506, 65510, 65514, 65518, 65522, 65526, 65530, 65534, 65538, 65542,
- 65546, 65550, 65554, 65558, 65562, 65566, 65570, 65574, 65578, 65582,
- 65586, 65590, 65594, 65598, 65602, 65606, 65610, 65614, 65618, 65622,
- 65626, 65630, 65634, 65638, 65642, 65646, 65650, 65654, 65658, 65662,
- 65666, 65670, 65674, 65678, 65682, 65686, 65690, 65694, 65698, 65702,
- 65706, 65710, 65714, 65718, 65722, 65726, 65730, 65734, 65738, 65742,
- 65746, 65750, 65754, 65758, 65762, 65766, 65770, 65774, 65778, 65782,
- 65786, 65790, 65793, 65797, 65801, 65805, 65809, 65813, 65817, 65821,
- 65825, 65829, 65833, 65837, 65841, 65845, 65849, 65853, 65857, 65861,
- 65865, 65869, 65873, 65877, 65881, 65885, 65889, 65893, 65897, 65901,
- 65905, 65909, 65913, 65917, 65921, 65925, 65929, 65933, 65937, 65941,
- 65945, 65949, 65953, 65957, 65961, 65965, 65969, 65973, 65977, 65981,
- 65985, 65989, 65993, 65997, 66001, 66005, 66009, 66013, 66017, 66021,
- 66025, 66029, 66033, 66037, 66041, 66045, 66049, 66053, 66057, 66061,
- 66065, 66069, 66073, 66077, 66081, 66085, 66089, 66093, 66097, 66101,
- 66105, 66109, 66113, 66117, 66121, 66125, 66129, 66133, 66137, 66141,
- 66145, 66149, 66153, 66157, 66161, 66165, 66169, 66173, 66177, 66181,
- 66185, 66189, 66193, 66197, 66201, 66205, 66209, 66213, 66217, 66221,
- 66225, 66229, 66233, 66237, 66241, 66245, 66249, 66253, 66257, 66261,
- 66265, 66269, 66273, 66277, 66281, 66285, 66289, 66293, 66297, 66301,
- 66305, 66309, 66313, 66317, 66321, 66325, 66329, 66333, 66337, 66341,
- 66345, 66349, 66353, 66357, 66361, 66365, 66369, 66373, 66377, 66381,
- 66385, 66389, 66393, 66396, 66400, 66404, 66408, 66412, 66416, 66420,
- 66424, 66428, 66432, 66436, 66440, 66444, 66448, 66452, 66456, 66460,
- 66464, 66468, 66472, 66476, 66480, 66484, 66488, 66492, 66496, 66500,
- 66504, 66508, 66512, 66516, 66520, 66524, 66528, 66532, 66536, 66540,
- 66544, 66548, 66552, 66556, 66560, 66564, 66568, 66572, 66576, 66580,
- 66584, 66588, 66592, 66596, 66600, 66604, 66608, 66612, 66616, 66620,
- 66624, 66628, 66632, 66636, 66640, 66644, 66648, 66652, 66656, 66660,
- 66664, 66668, 66672, 66676, 66680, 66684, 66688, 66692, 66696, 66700,
- 66704, 66708, 66712, 66716, 66720, 66724, 66728, 66732, 66736, 66740,
- 66744, 66748, 66752, 66756, 66760, 66764, 66768, 66772, 66776, 66780,
- 66784, 66788, 66792, 66796, 66800, 66804, 66808, 66812, 66816, 66820,
- 66824, 66828, 66832, 66836, 66840, 66844, 66848, 66852, 66856, 66860,
- 66864, 66868, 66872, 66876, 66880, 66884, 66888, 66892, 66896, 66900,
- 66904, 66908, 66912, 66916, 66920, 66924, 66928, 66932, 66936, 66940,
- 66944, 66948, 66952, 66956, 66960, 66964, 66968, 66972, 66976, 66980,
- 66984, 66988, 66992, 66996, 67000, 67004, 67008, 67012, 67016, 67020,
- 67024, 67028, 67032, 67036, 67040, 67044, 67048, 67052, 67056, 67060,
- 67064, 67068, 67072, 67076, 67080, 67084, 67088, 67092, 67096, 67100,
- 67104, 67108, 67112, 67116, 67120, 67124, 67128, 67132, 67136, 67140,
- 67144, 67148, 67152, 67155, 67159, 67163, 67167, 67171, 67175, 67179,
- 67183, 67187, 67191, 67195, 67199, 67203, 67207, 67211, 67215, 67219,
- 67223, 67227, 67231, 67235, 67239, 67243, 67247, 67251, 67255, 67259,
- 67263, 67267, 67271, 67275, 67279, 67283, 67287, 67291, 67295, 67299,
- 67303, 67307, 67311, 67315, 67319, 67323, 67327, 67331, 67335, 67339,
- 67343, 67347, 67351, 67355, 67359, 67363, 67367, 67371, 67375, 67379,
- 67383, 67387, 67391, 67395, 67399, 67403, 67407, 67411, 67415, 67419,
- 67423, 67427, 67431, 67435, 67439, 67443, 67447, 67451, 67455, 67459,
- 67463, 67467, 67471, 67475, 67479, 67483, 67487, 67491, 67495, 67499,
- 67503, 67507, 67511, 67515, 67519, 67523, 67527, 67531, 67535, 67539,
- 67543, 67547, 67551, 67555, 67559, 67563, 67567, 67571, 67575, 67579,
- 67583, 67587, 67591, 67595, 67599, 67603, 67607, 67611, 67615, 67619,
- 67623, 67627, 67631, 67635, 67639, 67643, 67647, 67651, 67655, 67659,
- 67663, 67667, 67671, 67675, 67679, 67683, 67687, 67691, 67695, 67699,
- 67703, 67707, 67711, 67715, 67719, 67723, 67727, 67731, 67735, 67739,
- 67743, 67747, 67751, 67755, 67759, 67763, 67767, 67771, 67775, 67779,
- 67783, 67787, 67791, 67795, 67799, 67803, 67807, 67811, 67815, 67819,
- 67823, 67827, 67831, 67835, 67839, 67843, 67847, 67851, 67855, 67859,
- 67863, 67867, 67871, 67875, 67879, 67883, 67887, 67891, 67895, 67899,
- 67903, 67907, 67911, 67915, 67919, 67923, 67927, 67931, 67935, 0, 0, 0,
- 67939, 67943, 67947, 67951, 67955, 67959, 67963, 67967, 67971, 67975,
- 67979, 67983, 67987, 67991, 67995, 67999, 68003, 68007, 68011, 68015,
- 68019, 68023, 68027, 68031, 68035, 68039, 68043, 68047, 68051, 68055,
- 68059, 68063, 68067, 68071, 68075, 68079, 68083, 68087, 68091, 68095,
- 68099, 68103, 68107, 68111, 68115, 68119, 68123, 68127, 68131, 68135,
- 68139, 68143, 68147, 68151, 68155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68159,
- 68164, 68168, 68173, 68178, 68183, 68188, 68193, 68197, 68202, 68207,
- 68212, 68217, 68222, 68227, 68232, 68236, 68240, 68245, 68250, 68255,
- 68260, 68265, 68269, 68274, 68279, 68284, 68289, 68294, 68298, 68303,
- 68307, 68312, 68316, 68321, 68325, 68329, 68333, 68338, 68343, 68348,
- 68356, 68364, 68372, 68380, 68387, 68395, 68401, 68409, 68413, 68417,
- 68421, 68425, 68429, 68433, 68437, 68441, 68445, 68449, 68453, 68457,
- 68461, 68465, 68469, 68473, 68477, 68481, 68485, 68489, 68493, 68497,
- 68501, 68505, 68509, 68513, 68517, 68521, 68525, 68529, 68533, 68537,
- 68541, 68545, 68549, 68553, 68556, 68560, 68564, 68568, 68572, 68576,
- 68580, 68584, 68588, 68592, 68596, 68600, 68604, 68608, 68612, 68616,
- 68620, 68624, 68628, 68632, 68636, 68640, 68644, 68648, 68652, 68656,
- 68660, 68664, 68668, 68672, 68676, 68680, 68684, 68688, 68692, 68696,
- 68700, 68703, 68707, 68711, 68714, 68718, 68722, 68726, 68729, 68733,
- 68737, 68741, 68745, 68749, 68753, 68757, 68761, 68765, 68769, 68773,
- 68777, 68781, 68785, 68788, 68792, 68796, 68800, 68804, 68808, 68812,
- 68816, 68820, 68824, 68827, 68830, 68834, 68838, 68842, 68845, 68848,
- 68852, 68856, 68860, 68864, 68868, 68872, 68876, 68880, 68884, 68888,
- 68892, 68896, 68900, 68904, 68908, 68912, 68916, 68920, 68924, 68928,
- 68932, 68936, 68940, 68944, 68948, 68952, 68956, 68960, 68964, 68968,
- 68972, 68976, 68980, 68984, 68988, 68992, 68996, 68999, 69003, 69007,
- 69011, 69015, 69019, 69023, 69027, 69031, 69035, 69039, 69043, 69047,
- 69051, 69055, 69059, 69063, 69067, 69071, 69075, 69079, 69083, 69087,
- 69091, 69095, 69099, 69103, 69107, 69111, 69115, 69119, 69123, 69127,
- 69131, 69135, 69139, 69143, 69146, 69150, 69154, 69158, 69162, 69166,
- 69170, 69174, 69178, 69182, 69186, 69190, 69194, 69198, 69202, 69206,
- 69210, 69213, 69217, 69221, 69225, 69229, 69233, 69237, 69241, 69245,
- 69249, 69253, 69257, 69261, 69265, 69269, 69273, 69277, 69281, 69285,
- 69289, 69293, 69297, 69300, 69304, 69308, 69312, 69316, 69320, 69324,
- 69328, 69332, 69336, 69340, 69344, 69348, 69352, 69356, 69360, 69364,
- 69368, 69372, 69376, 69380, 69384, 69388, 69392, 69396, 69400, 69404,
- 69408, 69412, 69416, 69420, 69424, 69428, 69432, 69436, 69440, 69444,
- 69448, 69452, 69456, 69460, 69464, 69468, 69472, 69475, 69480, 69484,
- 69490, 69495, 69501, 69505, 69509, 69513, 69517, 69521, 69525, 69529,
- 69533, 69537, 69541, 69545, 69549, 69553, 69557, 69560, 69563, 69566,
- 69569, 69572, 69575, 69578, 69581, 69584, 69589, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69595, 69600, 69605, 69610, 69615,
- 69622, 69629, 69634, 69639, 69644, 69649, 69656, 69663, 69670, 69677,
- 69684, 69691, 69701, 69711, 69718, 69725, 69732, 69739, 69745, 69751,
- 69760, 69769, 69776, 69783, 69794, 69805, 69810, 69815, 69822, 69829,
- 69836, 69843, 69850, 69857, 69864, 69871, 69877, 69883, 69889, 69895,
- 69902, 69909, 69914, 69918, 69925, 69932, 69939, 0, 0, 0, 0, 0, 0, 0, 0,
- 69943, 69947, 69951, 69954, 69957, 69962, 69967, 69972, 69977, 69982,
- 69987, 69992, 69997, 70002, 70007, 70016, 70025, 70030, 70035, 70040,
- 70045, 70050, 70055, 70060, 70065, 70070, 70075, 70080, 0, 0, 0, 0, 0, 0,
- 0, 0, 70085, 70088, 70091, 70094, 70098, 70102, 70106, 70110, 70113,
- 70117, 70120, 70124, 70127, 70131, 70135, 70139, 70143, 70147, 70151,
- 70155, 70158, 70162, 70166, 70170, 70174, 70178, 70182, 70186, 70190,
- 70194, 70198, 70202, 70206, 70210, 70214, 70217, 70221, 70225, 70229,
- 70233, 70237, 70241, 70245, 70249, 70253, 70257, 70261, 70265, 70269,
- 70273, 70277, 70281, 70285, 70289, 70293, 70297, 70301, 70305, 70309,
- 70313, 70316, 70320, 70324, 70328, 70332, 70336, 70340, 70344, 70347,
- 70351, 70355, 70359, 70363, 70367, 70371, 70375, 70379, 70383, 70387,
- 70391, 70395, 70400, 70405, 70408, 70413, 70416, 70419, 70422, 0, 0, 0,
- 0, 0, 0, 0, 0, 70426, 70435, 70444, 70453, 70462, 70471, 70480, 70489,
- 70498, 70506, 70513, 70521, 70528, 70536, 70546, 70555, 70565, 70574,
- 70584, 70592, 70599, 70607, 70614, 70622, 70627, 70632, 70637, 70646,
- 70652, 70658, 70665, 70674, 70682, 70690, 70698, 70705, 70712, 70719,
- 70726, 70731, 70736, 70741, 70746, 70751, 70756, 70761, 70766, 70774,
- 70782, 70788, 70793, 70798, 70803, 70808, 70813, 70818, 70823, 70828,
- 70833, 70841, 70849, 70854, 70859, 70869, 70879, 70886, 70893, 70902,
- 70911, 70923, 70935, 70941, 70947, 70955, 70963, 70973, 70983, 70990,
- 70997, 71002, 71007, 71019, 71031, 71039, 71047, 71057, 71067, 71079,
- 71091, 71100, 71109, 71116, 71123, 71130, 71137, 71146, 71155, 71160,
- 71165, 71172, 71179, 71186, 71193, 71205, 71217, 71222, 71227, 71232,
- 71237, 71242, 71247, 71252, 71257, 71261, 71266, 71271, 71276, 71281,
- 71286, 71292, 71297, 71302, 71309, 71316, 71323, 71330, 71337, 71346,
- 71355, 71361, 71367, 71373, 71379, 71385, 71391, 71398, 71405, 71412,
- 71416, 71423, 71428, 71433, 71440, 0, 71453, 71461, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 71469, 71478, 71487, 71496, 71505, 71514, 71523,
- 71532, 71541, 71550, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 62816, 62825, 62834, 62845, 62852, 62857, 62862, 62869, 62876, 62882,
+ 62887, 62892, 62897, 62902, 62909, 62914, 62919, 62924, 62935, 62940,
+ 62945, 62952, 62957, 62964, 62969, 62974, 62981, 62988, 62995, 63004,
+ 63013, 63018, 63023, 63028, 63035, 63040, 63050, 63057, 63062, 63067,
+ 63072, 63077, 63082, 63087, 63096, 63103, 63110, 63115, 63122, 63127,
+ 63134, 63143, 63154, 63159, 63168, 63173, 63180, 63189, 63198, 63203,
+ 63208, 63215, 63221, 63228, 63235, 63239, 63243, 63246, 63250, 63254,
+ 63258, 63262, 63266, 63270, 63274, 63277, 63281, 63285, 63289, 63293,
+ 63297, 63301, 63304, 63308, 63312, 63315, 63319, 63323, 63327, 63331,
+ 63335, 63339, 63343, 63347, 63351, 63355, 63359, 63363, 63367, 63371,
+ 63375, 63379, 63383, 63387, 63391, 63395, 63399, 63403, 63407, 63411,
+ 63415, 63419, 63423, 63427, 63431, 63435, 63439, 63443, 63447, 63451,
+ 63455, 63459, 63463, 63467, 63471, 63475, 63479, 63483, 63487, 63491,
+ 63494, 63498, 63502, 63506, 63510, 63514, 63518, 63522, 63526, 63530,
+ 63534, 63538, 63542, 63546, 63550, 63554, 63558, 63562, 63566, 63570,
+ 63574, 63578, 63582, 63586, 63590, 63594, 63598, 63602, 63606, 63610,
+ 63614, 63618, 63622, 63626, 63630, 63634, 63638, 63642, 63646, 63650,
+ 63654, 63658, 63662, 63666, 63670, 63674, 63678, 63682, 63686, 63690,
+ 63694, 63698, 63702, 63706, 63710, 63714, 63718, 63722, 63726, 63730,
+ 63734, 63738, 63742, 63746, 63750, 63754, 63758, 63762, 63766, 63770,
+ 63774, 63778, 63782, 63786, 63790, 63794, 63798, 63802, 63806, 63810,
+ 63814, 63818, 63822, 63826, 63830, 63834, 63838, 63842, 63846, 63850,
+ 63854, 63858, 63862, 63866, 63870, 63874, 63878, 63882, 63886, 63890,
+ 63894, 63898, 63902, 63906, 63910, 63914, 63918, 63922, 63926, 63930,
+ 63934, 63938, 63942, 63946, 63950, 63954, 63958, 63962, 63965, 63969,
+ 63973, 63977, 63981, 63985, 63989, 63993, 63997, 64001, 64005, 64009,
+ 64013, 64017, 64021, 64025, 64029, 64033, 64037, 64041, 64045, 64049,
+ 64053, 64057, 64061, 64065, 64069, 64073, 64077, 64081, 64085, 64089,
+ 64093, 64097, 64101, 64105, 64109, 64113, 64117, 64121, 64125, 64129,
+ 64133, 64137, 64141, 64145, 64149, 64153, 64157, 64161, 64165, 64169,
+ 64173, 64177, 64181, 64185, 64189, 64193, 64197, 64201, 64205, 64209,
+ 64213, 64217, 64221, 64225, 64229, 64233, 64237, 64241, 64245, 64249,
+ 64253, 64257, 64261, 64265, 64269, 64273, 64277, 64281, 64285, 64289,
+ 64293, 64297, 64301, 64305, 64309, 64313, 64317, 64321, 64325, 64329,
+ 64333, 64337, 64341, 64345, 64349, 64353, 64357, 64361, 64365, 64369,
+ 64373, 64377, 64381, 64385, 64389, 64393, 64397, 64401, 64405, 64409,
+ 64413, 64417, 64421, 64425, 64428, 64432, 64436, 64440, 64444, 64448,
+ 64452, 64456, 64460, 64464, 64468, 64472, 64476, 64480, 64484, 64488,
+ 64492, 64496, 64500, 64504, 64508, 64512, 64516, 64520, 64524, 64528,
+ 64532, 64536, 64540, 64544, 64548, 64552, 64556, 64560, 64564, 64568,
+ 64572, 64576, 64580, 64584, 64588, 64592, 64596, 64600, 64604, 64608,
+ 64612, 64616, 64620, 64624, 64628, 64632, 64636, 64640, 64644, 64648,
+ 64652, 64656, 64660, 64664, 64668, 64672, 64676, 64680, 64684, 64688,
+ 64692, 64696, 64700, 64704, 64708, 64712, 64716, 64720, 64724, 64728,
+ 64732, 64736, 64740, 64744, 64748, 64752, 64756, 64760, 64764, 64768,
+ 64772, 64776, 64780, 64784, 64787, 64791, 64795, 64799, 64803, 64807,
+ 64811, 64815, 64819, 64823, 64827, 64831, 64835, 64839, 64843, 64847,
+ 64851, 64855, 64859, 64863, 64867, 64871, 64875, 64879, 64883, 64887,
+ 64891, 64895, 64899, 64903, 64907, 64911, 64915, 64919, 64923, 64927,
+ 64931, 64935, 64939, 64943, 64947, 64951, 64955, 64959, 64963, 64967,
+ 64971, 64975, 64979, 64983, 64987, 64991, 64995, 64999, 65003, 65007,
+ 65011, 65015, 65019, 65023, 65027, 65031, 65035, 65039, 65043, 65047,
+ 65051, 65055, 65059, 65063, 65067, 65071, 65075, 65079, 65083, 65087,
+ 65091, 65095, 65099, 65103, 65107, 65111, 65115, 65119, 65123, 65127,
+ 65131, 65135, 65139, 65143, 65147, 65151, 65155, 65159, 65163, 65167,
+ 65171, 65175, 65179, 65183, 65187, 65191, 65195, 65199, 65203, 65207,
+ 65211, 65215, 65219, 65223, 65227, 65231, 65235, 65239, 65243, 65247,
+ 65251, 65255, 65259, 65263, 65267, 65271, 65275, 65279, 65282, 65286,
+ 65290, 65294, 65298, 65302, 65306, 65310, 65314, 65318, 65322, 65326,
+ 65330, 65334, 65338, 65342, 65346, 65350, 65354, 65358, 65362, 65366,
+ 65370, 65374, 65378, 65382, 65386, 65390, 65394, 65398, 65402, 65406,
+ 65410, 65414, 65418, 65422, 65426, 65430, 65434, 65438, 65442, 65446,
+ 65450, 65454, 65458, 65462, 65466, 65470, 65474, 65478, 65482, 65486,
+ 65490, 65494, 65498, 65502, 65506, 65510, 65514, 65518, 65522, 65526,
+ 65530, 65534, 65538, 65542, 65546, 65550, 65554, 65558, 65562, 65566,
+ 65570, 65574, 65578, 65582, 65586, 65590, 65594, 65598, 65602, 65606,
+ 65610, 65614, 65618, 65622, 65626, 65630, 65634, 65638, 65642, 65646,
+ 65650, 65654, 65658, 65662, 65666, 65670, 65674, 65678, 65682, 65686,
+ 65690, 65694, 65698, 65702, 65706, 65710, 65714, 65718, 65722, 65726,
+ 65730, 65734, 65737, 65741, 65745, 65749, 65753, 65757, 65761, 65765,
+ 65769, 65773, 65777, 65781, 65785, 65789, 65793, 65797, 65801, 65805,
+ 65809, 65813, 65817, 65821, 65825, 65829, 65833, 65837, 65841, 65845,
+ 65849, 65853, 65857, 65861, 65865, 65869, 65873, 65877, 65881, 65885,
+ 65889, 65893, 65897, 65901, 65905, 65909, 65913, 65917, 65921, 65925,
+ 65929, 65933, 65937, 65941, 65945, 65949, 65953, 65957, 65961, 65965,
+ 65969, 65973, 65977, 65981, 65985, 65989, 65993, 65997, 66001, 66005,
+ 66009, 66013, 66017, 66021, 66025, 66029, 66033, 66037, 66041, 66045,
+ 66049, 66053, 66057, 66061, 66065, 66069, 66073, 66077, 66081, 66085,
+ 66089, 66093, 66097, 66101, 66105, 66109, 66113, 66117, 66121, 66125,
+ 66129, 66133, 66137, 66141, 66145, 66149, 66153, 66157, 66161, 66165,
+ 66169, 66173, 66177, 66181, 66185, 66189, 66193, 66197, 66201, 66205,
+ 66209, 66213, 66217, 66221, 66225, 66229, 66233, 66237, 66241, 66245,
+ 66249, 66253, 66257, 66261, 66265, 66269, 66273, 66277, 66281, 66285,
+ 66289, 66293, 66297, 66301, 66305, 66309, 66313, 66317, 66321, 66325,
+ 66329, 66333, 66337, 66340, 66344, 66348, 66352, 66356, 66360, 66364,
+ 66368, 66372, 66376, 66380, 66384, 66388, 66392, 66396, 66400, 66404,
+ 66408, 66412, 66416, 66420, 66424, 66428, 66432, 66436, 66440, 66444,
+ 66448, 66452, 66456, 66460, 66464, 66468, 66472, 66476, 66480, 66484,
+ 66488, 66492, 66496, 66500, 66504, 66508, 66512, 66516, 66520, 66524,
+ 66528, 66532, 66536, 66540, 66544, 66548, 66552, 66556, 66560, 66564,
+ 66568, 66572, 66576, 66580, 66584, 66588, 66592, 66596, 66600, 66604,
+ 66608, 66612, 66616, 66620, 66624, 66628, 66632, 66636, 66640, 66644,
+ 66648, 66652, 66656, 66660, 66664, 66668, 66672, 66676, 66680, 66684,
+ 66688, 66692, 66696, 66700, 66704, 66708, 66712, 66716, 66720, 66724,
+ 66728, 66732, 66736, 66740, 66744, 66748, 66752, 66756, 66760, 66764,
+ 66768, 66772, 66776, 66780, 66784, 66788, 66792, 66796, 66800, 66804,
+ 66808, 66812, 66816, 66820, 66824, 66828, 66832, 66836, 66840, 66844,
+ 66848, 66852, 66856, 66860, 66864, 66868, 66872, 66876, 66880, 66884,
+ 66888, 66892, 66896, 66900, 66904, 66908, 66912, 66916, 66920, 66924,
+ 66928, 66932, 66936, 66940, 66944, 66948, 66952, 66956, 66960, 66964,
+ 66968, 66972, 66976, 66980, 66984, 66988, 66992, 66996, 67000, 67004,
+ 67008, 67012, 67016, 67020, 67024, 67028, 67032, 67036, 67040, 67044,
+ 67048, 67052, 67056, 67060, 67064, 67068, 67072, 67076, 67080, 67084,
+ 67088, 67092, 67096, 67099, 67103, 67107, 67111, 67115, 67119, 67123,
+ 67127, 67131, 67135, 67139, 67143, 67147, 67151, 67155, 67159, 67163,
+ 67167, 67171, 67175, 67179, 67183, 67187, 67191, 67195, 67199, 67203,
+ 67207, 67211, 67215, 67219, 67223, 67227, 67231, 67235, 67239, 67243,
+ 67247, 67251, 67255, 67259, 67263, 67267, 67271, 67275, 67279, 67283,
+ 67287, 67291, 67295, 67299, 67303, 67307, 67311, 67315, 67319, 67323,
+ 67327, 67331, 67335, 67339, 67343, 67347, 67351, 67355, 67359, 67363,
+ 67367, 67371, 67375, 67379, 67383, 67387, 67391, 67395, 67399, 67403,
+ 67407, 67411, 67415, 67419, 67423, 67427, 67431, 67435, 67439, 67443,
+ 67447, 67451, 67455, 67459, 67463, 67467, 67471, 67475, 67479, 67483,
+ 67487, 67491, 67495, 67499, 67503, 67507, 67511, 67515, 67519, 67523,
+ 67527, 67531, 67535, 67539, 67543, 67547, 67551, 67555, 67559, 67563,
+ 67567, 67571, 67575, 67579, 67583, 67587, 67591, 67595, 67599, 67603,
+ 67607, 67611, 67615, 67619, 67623, 67627, 67631, 67635, 67639, 67643,
+ 67647, 67651, 67655, 67659, 67663, 67667, 67671, 67675, 67679, 67683,
+ 67687, 67691, 67695, 67699, 67703, 67707, 67711, 67715, 67719, 67723,
+ 67727, 67731, 67735, 67739, 67743, 67747, 67751, 67755, 67759, 67763,
+ 67767, 67771, 67775, 67779, 67783, 67787, 67791, 67795, 67799, 67803,
+ 67807, 67811, 67815, 67819, 67823, 67827, 67831, 67835, 67839, 67843,
+ 67847, 67851, 67855, 67859, 67863, 67867, 67871, 67875, 67879, 0, 0, 0,
+ 67883, 67887, 67891, 67895, 67899, 67903, 67907, 67911, 67915, 67919,
+ 67923, 67927, 67931, 67935, 67939, 67943, 67947, 67951, 67955, 67959,
+ 67963, 67967, 67971, 67975, 67979, 67983, 67987, 67991, 67995, 67999,
+ 68003, 68007, 68011, 68015, 68019, 68023, 68027, 68031, 68035, 68039,
+ 68043, 68047, 68051, 68055, 68059, 68063, 68067, 68071, 68075, 68079,
+ 68083, 68087, 68091, 68095, 68099, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68103,
+ 68108, 68112, 68117, 68122, 68127, 68132, 68137, 68141, 68146, 68151,
+ 68156, 68161, 68166, 68171, 68176, 68180, 68184, 68189, 68194, 68199,
+ 68204, 68209, 68213, 68218, 68223, 68228, 68233, 68238, 68242, 68247,
+ 68251, 68256, 68260, 68265, 68269, 68273, 68277, 68282, 68287, 68292,
+ 68300, 68308, 68316, 68324, 68331, 68339, 68345, 68353, 68357, 68361,
+ 68365, 68369, 68373, 68377, 68381, 68385, 68389, 68393, 68397, 68401,
+ 68405, 68409, 68413, 68417, 68421, 68425, 68429, 68433, 68437, 68441,
+ 68445, 68449, 68453, 68457, 68461, 68465, 68469, 68473, 68477, 68481,
+ 68485, 68489, 68493, 68497, 68500, 68504, 68508, 68512, 68516, 68520,
+ 68524, 68528, 68532, 68536, 68540, 68544, 68548, 68552, 68556, 68560,
+ 68564, 68568, 68572, 68576, 68580, 68584, 68588, 68592, 68596, 68600,
+ 68604, 68608, 68612, 68616, 68620, 68624, 68628, 68632, 68636, 68640,
+ 68644, 68647, 68651, 68655, 68658, 68662, 68666, 68670, 68673, 68677,
+ 68681, 68685, 68689, 68693, 68697, 68701, 68705, 68709, 68713, 68717,
+ 68721, 68725, 68729, 68732, 68736, 68740, 68744, 68748, 68752, 68756,
+ 68760, 68764, 68768, 68771, 68774, 68778, 68782, 68786, 68789, 68792,
+ 68796, 68800, 68804, 68808, 68812, 68816, 68820, 68824, 68828, 68832,
+ 68836, 68840, 68844, 68848, 68852, 68856, 68860, 68864, 68868, 68872,
+ 68876, 68880, 68884, 68888, 68892, 68896, 68900, 68904, 68908, 68912,
+ 68916, 68920, 68924, 68928, 68932, 68936, 68940, 68943, 68947, 68951,
+ 68955, 68959, 68963, 68967, 68971, 68975, 68979, 68983, 68987, 68991,
+ 68995, 68999, 69003, 69007, 69011, 69015, 69019, 69023, 69027, 69031,
+ 69035, 69039, 69043, 69047, 69051, 69055, 69059, 69063, 69067, 69071,
+ 69075, 69079, 69083, 69087, 69090, 69094, 69098, 69102, 69106, 69110,
+ 69114, 69118, 69122, 69126, 69130, 69134, 69138, 69142, 69146, 69150,
+ 69154, 69157, 69161, 69165, 69169, 69173, 69177, 69181, 69185, 69189,
+ 69193, 69197, 69201, 69205, 69209, 69213, 69217, 69221, 69225, 69229,
+ 69233, 69237, 69241, 69244, 69248, 69252, 69256, 69260, 69264, 69268,
+ 69272, 69276, 69280, 69284, 69288, 69292, 69296, 69300, 69304, 69308,
+ 69312, 69316, 69320, 69324, 69328, 69332, 69336, 69340, 69344, 69348,
+ 69352, 69356, 69360, 69364, 69368, 69372, 69376, 69380, 69384, 69388,
+ 69392, 69396, 69400, 69404, 69408, 69412, 69416, 69419, 69424, 69428,
+ 69434, 69439, 69445, 69449, 69453, 69457, 69461, 69465, 69469, 69473,
+ 69477, 69481, 69485, 69489, 69493, 69497, 69501, 69504, 69507, 69510,
+ 69513, 69516, 69519, 69522, 69525, 69528, 69533, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69539, 69544, 69549, 69554, 69559,
+ 69566, 69573, 69578, 69583, 69588, 69593, 69600, 69607, 69614, 69621,
+ 69628, 69635, 69645, 69655, 69662, 69669, 69676, 69683, 69689, 69695,
+ 69704, 69713, 69720, 69727, 69738, 69749, 69754, 69759, 69766, 69773,
+ 69780, 69787, 69794, 69801, 69808, 69815, 69821, 69827, 69833, 69839,
+ 69846, 69853, 69858, 69862, 69869, 69876, 69883, 0, 0, 0, 0, 0, 0, 0, 0,
+ 69887, 69891, 69895, 69898, 69901, 69906, 69911, 69916, 69921, 69926,
+ 69931, 69936, 69941, 69946, 69951, 69960, 69969, 69974, 69979, 69984,
+ 69989, 69994, 69999, 70004, 70009, 70014, 70019, 70024, 0, 0, 0, 0, 0, 0,
+ 0, 0, 70029, 70032, 70035, 70038, 70042, 70046, 70050, 70054, 70057,
+ 70061, 70064, 70068, 70071, 70075, 70079, 70083, 70087, 70091, 70095,
+ 70099, 70102, 70106, 70110, 70114, 70118, 70122, 70126, 70130, 70134,
+ 70138, 70142, 70146, 70150, 70154, 70158, 70161, 70165, 70169, 70173,
+ 70177, 70181, 70185, 70189, 70193, 70197, 70201, 70205, 70209, 70213,
+ 70217, 70221, 70225, 70229, 70233, 70237, 70241, 70245, 70249, 70253,
+ 70257, 70260, 70264, 70268, 70272, 70276, 70280, 70284, 70288, 70291,
+ 70295, 70299, 70303, 70307, 70311, 70315, 70319, 70323, 70327, 70331,
+ 70335, 70339, 70344, 70349, 70352, 70357, 70360, 70363, 70366, 0, 0, 0,
+ 0, 0, 0, 0, 0, 70370, 70379, 70388, 70397, 70406, 70415, 70424, 70433,
+ 70442, 70450, 70457, 70465, 70472, 70480, 70490, 70499, 70509, 70518,
+ 70528, 70536, 70543, 70551, 70558, 70566, 70571, 70576, 70581, 70590,
+ 70596, 70602, 70609, 70618, 70626, 70634, 70642, 70649, 70656, 70663,
+ 70670, 70675, 70680, 70685, 70690, 70695, 70700, 70705, 70710, 70718,
+ 70726, 70732, 70737, 70742, 70747, 70752, 70757, 70762, 70767, 70772,
+ 70777, 70785, 70793, 70798, 70803, 70813, 70823, 70830, 70837, 70846,
+ 70855, 70867, 70879, 70885, 70891, 70899, 70907, 70917, 70927, 70934,
+ 70941, 70946, 70951, 70963, 70975, 70983, 70991, 71001, 71011, 71023,
+ 71035, 71044, 71053, 71060, 71067, 71074, 71081, 71090, 71099, 71104,
+ 71109, 71116, 71123, 71130, 71137, 71149, 71161, 71166, 71171, 71176,
+ 71181, 71186, 71191, 71196, 71201, 71205, 71210, 71215, 71220, 71225,
+ 71230, 71236, 71241, 71246, 71253, 71260, 71267, 71274, 71281, 71290,
+ 71299, 71305, 71311, 71317, 71323, 71329, 71335, 71342, 71349, 71356,
+ 71360, 71367, 71372, 71377, 71384, 0, 71397, 71405, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 71413, 71422, 71431, 71440, 71449, 71458, 71467,
+ 71476, 71485, 71494, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71559, 71566, 71574, 71582,
- 71589, 71597, 71604, 71610, 71616, 71623, 71629, 71635, 71641, 71648,
- 71655, 71662, 71669, 71676, 71683, 71690, 71697, 71704, 71711, 71718,
- 71725, 71732, 71739, 71745, 71752, 71759, 71766, 71773, 71780, 71787,
- 71794, 71801, 71808, 71815, 71822, 71829, 71836, 71843, 71850, 71857,
- 71864, 71871, 71879, 71887, 71895, 71903, 0, 0, 0, 0, 71911, 71920,
- 71929, 71938, 71947, 71956, 71965, 71972, 71979, 71986, 0, 0, 0, 0, 0, 0,
- 71993, 71997, 72002, 72007, 72012, 72017, 72022, 72027, 72032, 72037,
- 72042, 72047, 72051, 72055, 72060, 72065, 72069, 72074, 72079, 72084,
- 72089, 72094, 72099, 72104, 72108, 72112, 72117, 72122, 72127, 72131,
- 72135, 72139, 72143, 72147, 72151, 72156, 72161, 72166, 72171, 72176,
- 72183, 72189, 72194, 72199, 72204, 72209, 72215, 72222, 72228, 72235,
- 72241, 72247, 72252, 72259, 72265, 72270, 0, 0, 0, 0, 0, 0, 0, 0, 72276,
- 72280, 72284, 72287, 72291, 72294, 72298, 72301, 72305, 72309, 72314,
- 72318, 72323, 72326, 72330, 72334, 72337, 72341, 72345, 72348, 72352,
- 72356, 72360, 72364, 72368, 72372, 72376, 72380, 72384, 72388, 72392,
- 72396, 72400, 72404, 72408, 72412, 72416, 72420, 72423, 72426, 72430,
- 72434, 72438, 72441, 72444, 72447, 72451, 72455, 72459, 72463, 72467,
- 72470, 72474, 72480, 72485, 72489, 72494, 72498, 72503, 72508, 72514,
- 72519, 72525, 72529, 72534, 72539, 72543, 72548, 72553, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 72557, 72560, 72564, 72568, 72571, 72574, 72577, 72580, 72583,
- 72586, 72589, 72592, 0, 0, 0, 0, 0, 0, 72595, 72600, 72604, 72608, 72612,
- 72616, 72620, 72624, 72628, 72632, 72636, 72640, 72644, 72648, 72652,
- 72656, 72660, 72665, 72670, 72676, 72682, 72689, 72694, 72699, 72705,
- 72709, 72714, 72717, 0, 0, 0, 0, 72720, 72727, 72733, 72739, 72745,
- 72751, 72757, 72763, 72769, 72775, 72781, 72787, 72794, 72801, 72808,
- 72815, 72822, 72829, 72836, 72843, 72850, 72856, 72862, 72869, 72875,
- 72882, 72889, 72895, 72901, 72908, 72915, 72922, 72928, 72935, 72942,
- 72948, 72955, 72961, 72968, 72975, 72981, 72987, 72994, 73000, 73007,
- 73014, 73023, 73030, 73037, 73041, 73046, 73051, 73056, 73061, 73065,
- 73069, 73074, 73078, 73083, 73088, 73093, 73098, 73102, 73107, 73111,
- 73116, 73120, 73125, 73130, 73135, 73140, 73144, 73149, 73154, 73159,
- 73165, 73170, 73176, 73182, 73188, 73195, 73201, 73207, 73214, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 73218, 73223, 73227, 73231, 73235, 73239, 73243,
- 73247, 73251, 73255, 73259, 73263, 73267, 73271, 73275, 73279, 73283,
- 73287, 73291, 73295, 73299, 73303, 73307, 73311, 73315, 73319, 73323,
- 73327, 73331, 73335, 0, 0, 0, 73339, 73343, 73347, 73351, 73355, 73358,
- 73364, 73367, 73371, 73374, 73380, 73386, 73394, 73397, 73401, 73404,
- 73407, 73413, 73419, 73423, 73429, 73433, 73437, 73443, 73447, 73453,
- 73459, 73463, 73467, 73473, 73477, 73483, 73489, 73493, 73499, 73503,
- 73509, 73512, 73515, 73521, 73525, 73531, 73534, 73537, 73540, 73546,
- 73550, 73554, 73560, 73566, 73570, 73573, 73579, 73584, 73589, 73594,
- 73601, 73606, 73613, 73618, 73625, 73630, 73636, 73642, 73648, 73651,
- 73655, 73659, 73664, 73669, 73674, 73679, 73684, 73689, 73694, 73699,
- 73706, 73711, 0, 73718, 73721, 73725, 73728, 73731, 73734, 73737, 73740,
- 73743, 73746, 73749, 0, 0, 0, 0, 73752, 73759, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71503, 71510, 71518, 71526,
+ 71533, 71541, 71548, 71554, 71560, 71567, 71573, 71579, 71585, 71592,
+ 71599, 71606, 71613, 71620, 71627, 71634, 71641, 71648, 71655, 71662,
+ 71669, 71676, 71683, 71689, 71696, 71703, 71710, 71717, 71724, 71731,
+ 71738, 71745, 71752, 71759, 71766, 71773, 71780, 71787, 71794, 71801,
+ 71808, 71815, 71823, 71831, 71839, 71847, 0, 0, 0, 0, 71855, 71864,
+ 71873, 71882, 71891, 71900, 71909, 71916, 71923, 71930, 0, 0, 0, 0, 0, 0,
+ 71937, 71941, 71946, 71951, 71956, 71961, 71966, 71971, 71976, 71981,
+ 71986, 71991, 71995, 71999, 72004, 72009, 72013, 72018, 72023, 72028,
+ 72033, 72038, 72043, 72048, 72052, 72056, 72061, 72066, 72071, 72075,
+ 72079, 72083, 72087, 72091, 72095, 72100, 72105, 72110, 72115, 72120,
+ 72127, 72133, 72138, 72143, 72148, 72153, 72159, 72166, 72172, 72179,
+ 72185, 72191, 72196, 72203, 72209, 72214, 0, 0, 0, 0, 0, 0, 0, 0, 72220,
+ 72224, 72228, 72231, 72235, 72238, 72242, 72245, 72249, 72253, 72258,
+ 72262, 72267, 72270, 72274, 72278, 72281, 72285, 72289, 72292, 72296,
+ 72300, 72304, 72308, 72312, 72316, 72320, 72324, 72328, 72332, 72336,
+ 72340, 72344, 72348, 72352, 72356, 72360, 72364, 72367, 72370, 72374,
+ 72378, 72382, 72385, 72388, 72391, 72395, 72399, 72403, 72407, 72411,
+ 72414, 72418, 72423, 72428, 72432, 72437, 72441, 72446, 72451, 72457,
+ 72462, 72468, 72472, 72477, 72482, 72486, 72491, 72496, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 72500, 72503, 72507, 72511, 72514, 72517, 72520, 72523, 72526,
+ 72529, 72532, 72535, 0, 0, 0, 0, 0, 0, 72538, 72543, 72547, 72551, 72555,
+ 72559, 72563, 72567, 72571, 72575, 72579, 72583, 72587, 72591, 72595,
+ 72599, 72603, 72608, 72613, 72619, 72625, 72632, 72637, 72642, 72648,
+ 72652, 72657, 72660, 0, 0, 0, 0, 72663, 72670, 72676, 72682, 72688,
+ 72694, 72700, 72706, 72712, 72718, 72724, 72730, 72737, 72744, 72751,
+ 72758, 72765, 72772, 72779, 72786, 72793, 72799, 72805, 72812, 72818,
+ 72825, 72832, 72838, 72844, 72851, 72858, 72865, 72871, 72878, 72885,
+ 72891, 72898, 72904, 72911, 72918, 72924, 72930, 72937, 72943, 72950,
+ 72957, 72966, 72973, 72980, 72984, 72989, 72994, 72999, 73004, 73008,
+ 73012, 73017, 73021, 73026, 73031, 73036, 73041, 73045, 73050, 73054,
+ 73059, 73063, 73068, 73073, 73078, 73083, 73087, 73092, 73097, 73102,
+ 73108, 73113, 73119, 73125, 73131, 73137, 73142, 73147, 73153, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 73157, 73162, 73166, 73170, 73174, 73178, 73182,
+ 73186, 73190, 73194, 73198, 73202, 73206, 73210, 73214, 73218, 73222,
+ 73226, 73230, 73234, 73238, 73242, 73246, 73250, 73254, 73258, 73262,
+ 73266, 73270, 73274, 0, 0, 0, 73278, 73282, 73286, 73290, 73294, 73297,
+ 73303, 73306, 73310, 73313, 73319, 73325, 73333, 73336, 73340, 73343,
+ 73346, 73352, 73358, 73362, 73368, 73372, 73376, 73382, 73386, 73392,
+ 73398, 73402, 73406, 73412, 73416, 73422, 73428, 73432, 73438, 73442,
+ 73448, 73451, 73454, 73460, 73464, 73470, 73473, 73476, 73479, 73485,
+ 73489, 73493, 73499, 73505, 73509, 73512, 73518, 73523, 73528, 73533,
+ 73540, 73545, 73552, 73557, 73564, 73569, 73574, 73579, 73584, 73587,
+ 73591, 73595, 73600, 73605, 73610, 73615, 73620, 73625, 73630, 73635,
+ 73642, 73647, 0, 73654, 73657, 73661, 73664, 73667, 73670, 73673, 73676,
+ 73679, 73682, 73685, 0, 0, 0, 0, 73688, 73695, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 73764, 73767, 73770, 73773, 73776, 73780, 73783, 73786, 73790, 73794,
- 73798, 73802, 73806, 73810, 73814, 73818, 73822, 73826, 73830, 73834,
- 73838, 73842, 73846, 73850, 73854, 73857, 73861, 73864, 73868, 73872,
- 73876, 73880, 73884, 73887, 73891, 73894, 73897, 73901, 73905, 73909,
- 73913, 73916, 73921, 73925, 73930, 73935, 73939, 73944, 73948, 73953,
- 73958, 73963, 73968, 73973, 73979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73985,
- 73990, 73995, 74000, 74007, 74012, 74017, 74021, 74026, 74031, 74035,
- 74039, 74044, 74050, 0, 0, 74057, 74061, 74064, 74067, 74070, 74073,
- 74076, 74079, 74082, 74085, 0, 0, 74088, 74093, 74098, 74104, 74111,
- 74117, 74123, 74129, 74135, 74141, 74147, 74153, 74159, 74165, 74171,
- 74177, 74182, 74188, 74193, 74199, 74205, 74212, 74218, 74224, 74229,
- 74236, 74243, 74250, 74256, 74261, 74266, 74271, 0, 0, 0, 0, 74279,
- 74285, 74291, 74297, 74303, 74309, 74315, 74321, 74327, 74333, 74339,
- 74345, 74351, 74357, 74363, 74369, 74375, 74381, 74387, 74393, 74399,
- 74404, 74409, 74415, 74421, 74427, 74433, 74439, 74445, 74451, 74457,
- 74463, 74469, 74475, 74481, 74487, 74493, 74499, 74505, 74511, 74517,
- 74523, 74529, 74535, 74541, 74547, 74553, 74558, 74563, 74569, 74574,
- 74578, 74583, 74587, 74591, 74595, 74601, 74606, 74611, 74616, 74621,
- 74626, 74631, 74636, 74643, 74650, 74657, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74664, 74669, 74674, 74679,
- 74686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74693, 74697, 74701, 74705, 74709,
- 74713, 0, 0, 74717, 74721, 74725, 74729, 74733, 74737, 0, 0, 74741,
- 74745, 74749, 74753, 74757, 74761, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74765,
- 74769, 74773, 74777, 74781, 74785, 74789, 0, 74793, 74797, 74801, 74805,
- 74809, 74813, 74817, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 73700, 73703, 73706, 73709, 73712, 73716, 73719, 73722, 73726, 73730,
+ 73734, 73738, 73742, 73746, 73750, 73754, 73758, 73762, 73766, 73770,
+ 73774, 73778, 73782, 73786, 73790, 73793, 73797, 73800, 73804, 73808,
+ 73812, 73816, 73820, 73823, 73827, 73830, 73833, 73837, 73841, 73845,
+ 73849, 73852, 73857, 73861, 73866, 73871, 73875, 73880, 73884, 73889,
+ 73894, 73899, 73903, 73907, 73912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 73917,
+ 73922, 73927, 73932, 73938, 73943, 73948, 73952, 73957, 73962, 73966,
+ 73970, 73975, 73980, 0, 0, 73986, 73990, 73993, 73996, 73999, 74002,
+ 74005, 74008, 74011, 74014, 0, 0, 74017, 74022, 74027, 74033, 74040,
+ 74046, 74052, 74058, 74064, 74070, 74076, 74082, 74088, 74094, 74100,
+ 74106, 74111, 74117, 74122, 74128, 74134, 74141, 74147, 74153, 74158,
+ 74165, 74172, 74179, 74185, 74190, 74195, 74200, 0, 0, 0, 0, 74208,
+ 74214, 74220, 74226, 74232, 74238, 74244, 74250, 74256, 74262, 74268,
+ 74274, 74280, 74286, 74292, 74298, 74304, 74310, 74316, 74322, 74328,
+ 74333, 74338, 74344, 74350, 74356, 74362, 74368, 74374, 74380, 74386,
+ 74392, 74398, 74404, 74410, 74416, 74422, 74428, 74434, 74440, 74446,
+ 74452, 74458, 74464, 74470, 74476, 74482, 74487, 74492, 74498, 74503,
+ 74507, 74512, 74516, 74520, 74524, 74530, 74535, 74540, 74545, 74550,
+ 74555, 74560, 74565, 74572, 74579, 74586, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74593, 74598, 74603, 74608,
+ 74615, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74622, 74626, 74630, 74634, 74638,
+ 74642, 0, 0, 74646, 74650, 74654, 74658, 74662, 74666, 0, 0, 74670,
+ 74674, 74678, 74682, 74686, 74690, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74694,
+ 74698, 74702, 74706, 74710, 74714, 74718, 0, 74722, 74726, 74730, 74734,
+ 74738, 74742, 74746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 74750, 74757, 74764, 74771, 74778, 74784, 74790,
+ 74797, 74804, 74811, 74818, 74825, 74832, 74839, 74846, 74853, 74859,
+ 74866, 74873, 74880, 74887, 74894, 74901, 74908, 74915, 74922, 74929,
+ 74936, 74945, 74954, 74963, 74972, 74981, 74990, 74999, 75008, 75016,
+ 75024, 75032, 75040, 75048, 75056, 75064, 75072, 75078, 75086, 0, 0,
+ 75094, 75101, 75107, 75113, 75119, 75125, 75131, 75137, 75143, 75149, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 75155, 75159, 75163, 75167, 75171, 75175, 75179, 75183,
+ 75187, 75191, 75195, 75199, 75203, 75207, 75211, 75215, 75219, 75223,
+ 75227, 75231, 75235, 75239, 75243, 0, 0, 0, 0, 75247, 75251, 75255,
+ 75259, 75263, 75267, 75271, 75275, 75279, 75283, 75287, 75291, 75295,
+ 75299, 75303, 75307, 75311, 75315, 75319, 75323, 75327, 75331, 75335,
+ 75339, 75343, 75347, 75351, 75355, 75359, 75363, 75367, 75371, 75375,
+ 75379, 75383, 75387, 75391, 75395, 75399, 75403, 75407, 75411, 75415,
+ 75419, 75423, 75427, 75431, 75435, 75439, 0, 0, 0, 0, 75443, 75447,
+ 75451, 75455, 75459, 75463, 75467, 75471, 75475, 75479, 75483, 75487,
+ 75491, 75495, 75499, 75503, 75507, 75511, 75515, 75519, 75523, 75527,
+ 75531, 75535, 75539, 75543, 75547, 75551, 75555, 75559, 75563, 75567,
+ 75571, 75575, 75579, 75583, 75587, 75591, 75595, 75599, 75603, 75607,
+ 75611, 75615, 75619, 75623, 75627, 75631, 75635, 75639, 75643, 75647,
+ 75651, 75655, 75659, 75663, 75667, 75671, 75675, 75679, 75683, 75687,
+ 75691, 75695, 75699, 75703, 75707, 75711, 75715, 75719, 75723, 75727,
+ 75731, 75735, 75739, 75743, 75747, 75751, 75755, 75759, 75763, 75767,
+ 75771, 75775, 75779, 75783, 75787, 75791, 75795, 75799, 75803, 75807,
+ 75811, 75815, 75819, 75823, 75827, 75831, 75835, 75839, 75843, 75847,
+ 75851, 75855, 75859, 75863, 75867, 75871, 75875, 75879, 75883, 75887,
+ 75891, 75895, 75899, 75903, 75907, 75911, 75915, 75919, 75923, 75927,
+ 75931, 75935, 75939, 75943, 75947, 75951, 75955, 75959, 75963, 75967,
+ 75971, 75975, 75979, 75983, 75987, 75991, 75995, 75999, 76003, 76007,
+ 76011, 76015, 76019, 76023, 76027, 76031, 76035, 76039, 76043, 76047,
+ 76051, 76055, 76059, 76063, 76067, 76071, 76075, 76079, 76083, 76087,
+ 76091, 76095, 76099, 76103, 76107, 76111, 76115, 76119, 76123, 76127,
+ 76131, 76135, 76139, 76143, 76147, 76151, 76155, 76159, 76163, 76167,
+ 76171, 76175, 76179, 76183, 76187, 76191, 76195, 76199, 76203, 76207,
+ 76211, 76215, 76219, 76223, 76227, 76231, 76235, 76239, 76243, 76247,
+ 76251, 76255, 76259, 76263, 76267, 76271, 76275, 76279, 76283, 76287,
+ 76291, 76295, 76299, 76303, 76307, 76311, 76315, 76319, 76323, 76327,
+ 76331, 76335, 76339, 76343, 76347, 76351, 76355, 76359, 76363, 76367,
+ 76371, 76375, 76379, 76383, 76387, 76391, 76395, 76399, 76403, 76407,
+ 76411, 76415, 76419, 76423, 76427, 76431, 76435, 76439, 76443, 76447,
+ 76451, 76455, 76459, 76463, 76467, 76471, 76475, 76479, 76483, 76487,
+ 76491, 76495, 76499, 76503, 76507, 76511, 76515, 76519, 76523, 76527,
+ 76531, 76535, 76539, 76543, 76547, 76551, 76555, 76559, 76563, 76567,
+ 76571, 76575, 76579, 76583, 76587, 76591, 76595, 76599, 76603, 76607,
+ 76611, 76615, 76619, 76623, 76627, 76631, 76635, 76639, 76643, 76647, 0,
+ 0, 76651, 76655, 76659, 76663, 76667, 76671, 76675, 76679, 76683, 76687,
+ 76691, 76695, 76699, 76703, 76707, 76711, 76715, 76719, 76723, 76727,
+ 76731, 76735, 76739, 76743, 76747, 76751, 76755, 76759, 76763, 76767,
+ 76771, 76775, 76779, 76783, 76787, 76791, 76795, 76799, 76803, 76807,
+ 76811, 76815, 76819, 76823, 76827, 76831, 76835, 76839, 76843, 76847,
+ 76851, 76855, 76859, 76863, 76867, 76871, 76875, 76879, 76883, 76887,
+ 76891, 76895, 0, 0, 76899, 76903, 76907, 76911, 76915, 76919, 76923,
+ 76927, 76931, 76935, 76939, 76943, 76947, 76951, 76955, 76959, 76963,
+ 76967, 76971, 76975, 76979, 76983, 76987, 76991, 76995, 76999, 77003,
+ 77007, 77011, 77015, 77019, 77023, 77027, 77031, 77035, 77039, 77043,
+ 77047, 77051, 77055, 77059, 77063, 77067, 77071, 77075, 77079, 77083,
+ 77087, 77091, 77095, 77099, 77103, 77107, 77111, 77115, 77119, 77123,
+ 77127, 77131, 77135, 77139, 77143, 77147, 77151, 77155, 77159, 77163,
+ 77167, 77171, 77175, 77179, 77183, 77187, 77191, 77195, 77199, 77203,
+ 77207, 77211, 77215, 77219, 77223, 77227, 77231, 77235, 77239, 77243,
+ 77247, 77251, 77255, 77259, 77263, 77267, 77271, 77275, 77279, 77283,
+ 77287, 77291, 77295, 77299, 77303, 77307, 77311, 77315, 77319, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77323, 77328, 77333, 77338, 77343,
+ 77348, 77356, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77361, 77368, 77375,
+ 77382, 77389, 0, 0, 0, 0, 0, 77396, 77403, 77410, 77420, 77426, 77432,
+ 77438, 77444, 77450, 77456, 77463, 77469, 77475, 77481, 77490, 77499,
+ 77511, 77523, 77529, 77535, 77541, 77548, 77555, 77562, 77569, 77576, 0,
+ 77583, 77590, 77597, 77605, 77612, 0, 77619, 0, 77626, 77633, 0, 77640,
+ 77648, 0, 77655, 77662, 77669, 77676, 77683, 77690, 77697, 77704, 77711,
+ 77718, 77723, 77730, 77737, 77743, 77749, 77755, 77761, 77767, 77773,
+ 77779, 77785, 77791, 77797, 77803, 77809, 77815, 77821, 77827, 77833,
+ 77839, 77845, 77851, 77857, 77863, 77869, 77875, 77881, 77887, 77893,
+ 77899, 77905, 77911, 77917, 77923, 77929, 77935, 77941, 77947, 77953,
+ 77959, 77965, 77971, 77977, 77983, 77989, 77995, 78001, 78007, 78013,
+ 78019, 78025, 78031, 78037, 78043, 78049, 78055, 78061, 78067, 78073,
+ 78079, 78085, 78091, 78097, 78103, 78109, 78115, 78121, 78127, 78133,
+ 78139, 78145, 78151, 78157, 78163, 78169, 78175, 78181, 78187, 78193,
+ 78201, 78209, 78215, 78221, 78227, 78233, 78242, 78251, 78259, 78267,
+ 78275, 78283, 78291, 78299, 78307, 78315, 78322, 78329, 78339, 78349,
+ 78353, 78357, 78362, 78367, 78372, 78377, 78386, 78395, 78401, 78407,
+ 78414, 78421, 78428, 78432, 78438, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 78444, 78450, 78456, 78462, 78468, 78473, 78478, 78484,
+ 78490, 78496, 78502, 78510, 78516, 78522, 78530, 78538, 78546, 78554,
+ 78559, 78564, 78569, 78574, 78587, 78600, 78610, 78620, 78631, 78642,
+ 78653, 78664, 78674, 78684, 78695, 78706, 78717, 78728, 78738, 78748,
+ 78758, 78774, 78790, 78806, 78813, 78820, 78827, 78834, 78844, 78854,
+ 78864, 78876, 78886, 78894, 78902, 78911, 78919, 78929, 78937, 78945,
+ 78953, 78962, 78970, 78980, 78988, 78996, 79004, 79014, 79022, 79029,
+ 79036, 79043, 79050, 79058, 79066, 79074, 79082, 79090, 79099, 79107,
+ 79115, 79123, 79131, 79139, 79148, 79156, 79164, 79172, 79180, 79188,
+ 79196, 79204, 79212, 79220, 79228, 79237, 79245, 79255, 79263, 79271,
+ 79279, 79289, 79297, 79305, 79313, 79321, 79330, 79339, 79347, 79357,
+ 79365, 79373, 79381, 79390, 79398, 79408, 79416, 79423, 79430, 79438,
+ 79445, 79454, 79461, 79469, 79477, 79486, 79494, 79504, 79512, 79520,
+ 79528, 79538, 79546, 79553, 79560, 79568, 79575, 79584, 79591, 79601,
+ 79611, 79622, 79631, 79640, 79649, 79658, 79667, 79677, 79688, 79699,
+ 79709, 79720, 79732, 79742, 79751, 79760, 79768, 79777, 79787, 79795,
+ 79804, 79813, 79821, 79830, 79840, 79848, 79857, 79866, 79874, 79883,
+ 79893, 79901, 79911, 79919, 79929, 79937, 79945, 79954, 79962, 79972,
+ 79980, 79988, 79998, 80006, 80013, 80020, 80029, 80038, 80046, 80055,
+ 80065, 80073, 80084, 80092, 80100, 80107, 80115, 80124, 80131, 80141,
+ 80151, 80162, 80172, 80183, 80191, 80199, 80208, 80216, 80225, 80233,
+ 80241, 80250, 80258, 80267, 80275, 80282, 80289, 80296, 80303, 80311,
+ 80319, 80327, 80335, 80344, 80352, 80360, 80369, 80377, 80385, 80393,
+ 80402, 80410, 80418, 80426, 80434, 80442, 80450, 80458, 80466, 80474,
+ 80483, 80491, 80499, 80507, 80515, 80523, 80532, 80541, 80549, 80557,
+ 80565, 80574, 80582, 80591, 80598, 80605, 80613, 80620, 80628, 80636,
+ 80645, 80653, 80662, 80670, 80678, 80688, 80695, 80702, 80710, 80717,
+ 80725, 80735, 80746, 80754, 80763, 80771, 80780, 80788, 80797, 80805,
+ 80814, 80822, 80831, 80840, 80848, 80856, 80864, 80873, 80880, 80888,
+ 80897, 80906, 80915, 80925, 80933, 80943, 80951, 80961, 80969, 80979,
+ 80987, 80997, 81005, 81014, 81021, 81030, 81037, 81047, 81055, 81065,
+ 81073, 81083, 81091, 81099, 81107, 81116, 81124, 81133, 81142, 81151,
+ 81160, 81170, 81178, 81188, 81196, 81206, 81214, 81224, 81232, 81242,
+ 81250, 81259, 81266, 81275, 81282, 81292, 81300, 81310, 81318, 81328,
+ 81336, 81344, 81352, 81361, 81369, 81378, 81387, 81396, 81405, 81413,
+ 81421, 81430, 81438, 81447, 81456, 81464, 81472, 81480, 81489, 81497,
+ 81505, 81514, 81522, 81530, 81538, 81546, 81551, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 81556, 81566, 81576, 81586, 81596, 81607, 81617,
+ 81627, 81638, 81647, 81656, 81665, 81676, 81686, 81696, 81708, 81718,
+ 81728, 81738, 81748, 81758, 81768, 81778, 81788, 81798, 81808, 81818,
+ 81829, 81840, 81850, 81860, 81872, 81883, 81894, 81904, 81914, 81924,
+ 81934, 81944, 81954, 81964, 81976, 81986, 81996, 82008, 82019, 82030,
+ 82040, 82050, 82060, 82070, 82082, 82092, 82102, 82113, 82124, 82134,
+ 82144, 82153, 82162, 82171, 82180, 82189, 82199, 0, 0, 82209, 82219,
+ 82229, 82239, 82249, 82261, 82271, 82281, 82293, 82303, 82315, 82324,
+ 82333, 82344, 82354, 82366, 82377, 82390, 82400, 82412, 82421, 82432,
+ 82443, 82456, 82466, 82476, 82486, 82496, 82506, 82515, 82524, 82533,
+ 82542, 82552, 82562, 82572, 82582, 82592, 82602, 82612, 82622, 82632,
+ 82642, 82652, 82662, 82671, 82680, 82689, 82699, 82709, 82719, 82729,
+ 82739, 82750, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82760, 82775,
+ 82790, 82796, 82802, 82808, 82814, 82820, 82826, 82832, 82838, 82846,
+ 82850, 82853, 0, 0, 82861, 82864, 82867, 82870, 82873, 82876, 82879,
+ 82882, 82885, 82888, 82891, 82894, 82897, 82900, 82903, 82906, 82909,
+ 82917, 82926, 82937, 82945, 82953, 82962, 82971, 82982, 82994, 0, 0, 0,
+ 0, 0, 0, 83003, 83008, 83013, 83020, 83027, 83033, 83039, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 83044, 83054, 83064, 83074, 83083, 83094, 83103, 83112,
+ 83122, 83132, 83144, 83156, 83167, 83178, 83189, 83200, 83210, 83220,
+ 83230, 83240, 83251, 83262, 83266, 83271, 83280, 83289, 83293, 83297,
+ 83301, 83306, 83311, 83316, 83321, 83324, 83328, 0, 83333, 83336, 83339,
+ 83343, 83347, 83352, 83356, 83360, 83365, 83370, 83377, 83384, 83387,
+ 83390, 83393, 83396, 83399, 83403, 83407, 0, 83411, 83416, 83420, 83424,
+ 0, 0, 0, 0, 83429, 83434, 83441, 83446, 83451, 0, 83456, 83461, 83466,
+ 83471, 83476, 83481, 83486, 83491, 83496, 83501, 83506, 83511, 83520,
+ 83529, 83537, 83545, 83554, 83563, 83572, 83581, 83589, 83597, 83605,
+ 83613, 83618, 83623, 83629, 83635, 83641, 83647, 83655, 83663, 83669,
+ 83675, 83681, 83687, 83693, 83699, 83705, 83711, 83716, 83721, 83726,
+ 83731, 83736, 83741, 83746, 83751, 83757, 83763, 83769, 83775, 83781,
+ 83787, 83793, 83799, 83805, 83811, 83817, 83823, 83829, 83835, 83841,
+ 83847, 83853, 83859, 83865, 83871, 83877, 83883, 83889, 83895, 83901,
+ 83907, 83913, 83919, 83925, 83931, 83937, 83943, 83949, 83955, 83961,
+ 83967, 83973, 83979, 83985, 83991, 83997, 84003, 84009, 84015, 84021,
+ 84027, 84033, 84039, 84045, 84051, 84057, 84063, 84069, 84075, 84081,
+ 84087, 84093, 84099, 84105, 84111, 84116, 84121, 84126, 84131, 84137,
+ 84143, 84149, 84155, 84161, 84167, 84173, 84179, 84185, 84191, 84198,
+ 84205, 84210, 84215, 84220, 84225, 84237, 84249, 84260, 84271, 84283,
+ 84295, 84303, 0, 0, 84311, 0, 84319, 84323, 84327, 84330, 84334, 84338,
+ 84341, 84344, 84348, 84352, 84355, 84358, 84361, 84364, 84369, 84372,
+ 84376, 84379, 84382, 84385, 84388, 84391, 84394, 84397, 84400, 84403,
+ 84406, 84409, 84413, 84417, 84421, 84425, 84430, 84435, 84441, 84447,
+ 84453, 84458, 84464, 84470, 84476, 84481, 84487, 84493, 84498, 84503,
+ 84508, 84513, 84519, 84525, 84530, 84535, 84541, 84546, 84552, 84558,
+ 84564, 84570, 84576, 84580, 84585, 84589, 84594, 84598, 84603, 84608,
+ 84614, 84620, 84626, 84631, 84637, 84643, 84649, 84654, 84660, 84666,
+ 84671, 84676, 84681, 84686, 84692, 84698, 84703, 84708, 84714, 84719,
+ 84725, 84731, 84737, 84743, 84749, 84754, 84758, 84763, 84765, 84770,
+ 84775, 84781, 84786, 84791, 84795, 84801, 84806, 84811, 84816, 84821,
+ 84826, 84831, 84836, 84842, 84848, 84854, 84862, 84866, 84870, 84874,
+ 84878, 84882, 84886, 84891, 84896, 84901, 84906, 84911, 84916, 84921,
+ 84926, 84931, 84936, 84941, 84946, 84951, 84955, 84959, 84964, 84969,
+ 84974, 84979, 84983, 84988, 84993, 84998, 85003, 85007, 85012, 85017,
+ 85022, 85027, 85031, 85036, 85041, 85045, 85050, 85055, 85060, 85065,
+ 85070, 85074, 85081, 85088, 85092, 85097, 85102, 85107, 85112, 85117,
+ 85122, 85127, 85132, 85137, 85142, 85147, 85152, 85157, 85162, 85167,
+ 85172, 85177, 85182, 85187, 85192, 85197, 85202, 85207, 85212, 85217,
+ 85222, 85227, 85232, 85237, 0, 0, 0, 85242, 85246, 85251, 85255, 85260,
+ 85265, 0, 0, 85269, 85274, 85279, 85283, 85288, 85293, 0, 0, 85298,
+ 85303, 85307, 85312, 85317, 85322, 0, 0, 85327, 85332, 85337, 0, 0, 0,
+ 85341, 85345, 85349, 85353, 85356, 85360, 85364, 0, 85368, 85374, 85377,
+ 85381, 85384, 85388, 85392, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85396, 85402,
+ 85408, 85414, 85420, 0, 0, 85424, 85430, 85436, 85442, 85448, 85454,
+ 85461, 85468, 85475, 85482, 85489, 85496, 0, 85503, 85510, 85517, 85523,
+ 85530, 85537, 85544, 85551, 85557, 85564, 85571, 85578, 85585, 85591,
+ 85598, 85605, 85612, 85619, 85625, 85632, 85639, 85646, 85653, 85660,
+ 85667, 85674, 0, 85681, 85687, 85694, 85701, 85708, 85715, 85722, 85729,
+ 85736, 85743, 85750, 85757, 85764, 85771, 85777, 85784, 85791, 85798,
+ 85805, 0, 85812, 85819, 0, 85826, 85833, 85840, 85847, 85854, 85861,
+ 85868, 85875, 85882, 85889, 85896, 85903, 85910, 85917, 85924, 0, 0,
+ 85930, 85935, 85940, 85945, 85950, 85955, 85960, 85965, 85970, 85975,
+ 85980, 85985, 85990, 85995, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86000, 86007,
+ 86014, 86021, 86028, 86035, 86042, 86049, 86056, 86063, 86070, 86077,
+ 86084, 86091, 86098, 86105, 86112, 86119, 86126, 86133, 86141, 86149,
+ 86156, 86163, 86168, 86176, 86184, 86191, 86198, 86203, 86210, 86215,
+ 86220, 86227, 86232, 86237, 86242, 86250, 86255, 86260, 86267, 86272,
+ 86277, 86284, 86291, 86296, 86301, 86306, 86311, 86316, 86321, 86326,
+ 86331, 86336, 86343, 86348, 86355, 86360, 86365, 86370, 86375, 86380,
+ 86385, 86390, 86395, 86400, 86405, 86410, 86417, 86424, 86431, 86438,
+ 86444, 86449, 86456, 86461, 86466, 86475, 86482, 86491, 86498, 86503,
+ 86508, 86516, 86521, 86526, 86531, 86536, 86541, 86548, 86553, 86558,
+ 86563, 86568, 86573, 86580, 86587, 86594, 86601, 86608, 86615, 86622,
+ 86629, 86636, 86643, 86650, 86657, 86664, 86671, 86678, 86685, 86692,
+ 86699, 86706, 86713, 86720, 86727, 86734, 86741, 86748, 86755, 86762,
+ 86769, 0, 0, 0, 0, 0, 86776, 86784, 86792, 0, 0, 0, 0, 86797, 86801,
+ 86805, 86809, 86813, 86817, 86821, 86825, 86829, 86833, 86838, 86843,
+ 86848, 86853, 86858, 86863, 86868, 86873, 86878, 86884, 86890, 86896,
+ 86903, 86910, 86917, 86924, 86931, 86938, 86944, 86950, 86956, 86963,
+ 86970, 86977, 86984, 86991, 86998, 87005, 87012, 87019, 87026, 87033,
+ 87040, 87047, 87054, 0, 0, 0, 87061, 87069, 87077, 87085, 87093, 87101,
+ 87111, 87121, 87129, 87137, 87145, 87153, 87161, 87167, 87174, 87183,
+ 87192, 87201, 87210, 87219, 87228, 87238, 87249, 87259, 87270, 87279,
+ 87288, 87297, 87307, 87318, 87328, 87339, 87350, 87359, 87367, 87373,
+ 87379, 87385, 87391, 87399, 87407, 87413, 87420, 87430, 87437, 87444,
+ 87451, 87458, 87465, 87475, 87482, 87489, 87497, 87505, 87514, 87523,
+ 87532, 87541, 87550, 87558, 87567, 87576, 87585, 87589, 87596, 87601,
+ 87606, 87610, 87614, 87618, 87622, 87627, 87632, 87638, 87644, 87648,
+ 87654, 87658, 87662, 87666, 87670, 87674, 87678, 87684, 0, 0, 0, 0, 0,
+ 87688, 87693, 87698, 87703, 87708, 87715, 87720, 87725, 87730, 87735,
+ 87740, 87745, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 74821, 74828, 74835, 74842, 74849, 74855, 74861,
- 74868, 74875, 74882, 74889, 74896, 74903, 74910, 74917, 74924, 74930,
- 74937, 74944, 74951, 74958, 74965, 74972, 74979, 74986, 74993, 75000,
- 75007, 75016, 75025, 75034, 75043, 75052, 75061, 75070, 75079, 75087,
- 75095, 75103, 75111, 75119, 75127, 75135, 75143, 75149, 75157, 0, 0,
- 75165, 75172, 75178, 75184, 75190, 75196, 75202, 75208, 75214, 75220, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 87750, 87757, 87766, 87775, 87782, 87789, 87796,
+ 87803, 87810, 87817, 87823, 87830, 87837, 87844, 87851, 87858, 87865,
+ 87872, 87879, 87888, 87895, 87902, 87909, 87916, 87923, 87930, 87937,
+ 87944, 87953, 87960, 87967, 87974, 87981, 87988, 87995, 88004, 88011,
+ 88018, 88025, 88032, 88041, 88048, 88055, 88062, 88070, 88079, 0, 0,
+ 88088, 88092, 88096, 88101, 88106, 88111, 88116, 88120, 88125, 88130,
+ 88135, 88140, 88145, 88150, 88154, 88158, 88162, 88167, 88172, 88176,
+ 88181, 88186, 88190, 88194, 88199, 88204, 88209, 88214, 88219, 0, 0, 0,
+ 88224, 88228, 88233, 88238, 88242, 88247, 88251, 88256, 88261, 88266,
+ 88271, 88275, 88279, 88284, 88289, 88294, 88299, 88303, 88308, 88312,
+ 88317, 88322, 88326, 88331, 88336, 88341, 88345, 88349, 88354, 88359,
+ 88364, 88369, 88374, 88379, 88384, 88389, 88394, 88399, 88404, 88409,
+ 88414, 88419, 88424, 88429, 88434, 88439, 88444, 88449, 88454, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88459, 88463,
+ 88468, 88473, 88478, 88482, 88487, 88492, 88497, 88502, 88506, 88510,
+ 88515, 88520, 88525, 88530, 88534, 88539, 88544, 88549, 88554, 88559,
+ 88564, 88568, 88573, 88578, 88583, 88588, 88593, 88598, 88603, 0, 88608,
+ 88613, 88618, 88624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88630, 88635,
+ 88640, 88645, 88650, 88655, 88660, 88665, 88670, 88675, 88680, 88685,
+ 88690, 88695, 88700, 88705, 88710, 88715, 88720, 88725, 88730, 88735,
+ 88740, 88745, 88750, 88755, 88760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 75226, 75230, 75234, 75238, 75242, 75246, 75250, 75254,
- 75258, 75262, 75266, 75270, 75274, 75278, 75282, 75286, 75290, 75294,
- 75298, 75302, 75306, 75310, 75314, 0, 0, 0, 0, 75318, 75322, 75326,
- 75330, 75334, 75338, 75342, 75346, 75350, 75354, 75358, 75362, 75366,
- 75370, 75374, 75378, 75382, 75386, 75390, 75394, 75398, 75402, 75406,
- 75410, 75414, 75418, 75422, 75426, 75430, 75434, 75438, 75442, 75446,
- 75450, 75454, 75458, 75462, 75466, 75470, 75474, 75478, 75482, 75486,
- 75490, 75494, 75498, 75502, 75506, 75510, 0, 0, 0, 0, 75514, 75518,
- 75522, 75526, 75530, 75534, 75538, 75542, 75546, 75550, 75554, 75558,
- 75562, 75566, 75570, 75574, 75578, 75582, 75586, 75590, 75594, 75598,
- 75602, 75606, 75610, 75614, 75618, 75622, 75626, 75630, 75634, 75638,
- 75642, 75646, 75650, 75654, 75658, 75662, 75666, 75670, 75674, 75678,
- 75682, 75686, 75690, 75694, 75698, 75702, 75706, 75710, 75714, 75718,
- 75722, 75726, 75730, 75734, 75738, 75742, 75746, 75750, 75754, 75758,
- 75762, 75766, 75770, 75774, 75778, 75782, 75786, 75790, 75794, 75798,
- 75802, 75806, 75810, 75814, 75818, 75822, 75826, 75830, 75834, 75838,
- 75842, 75846, 75850, 75854, 75858, 75862, 75866, 75870, 75874, 75878,
- 75882, 75886, 75890, 75894, 75898, 75902, 75906, 75910, 75914, 75918,
- 75922, 75926, 75930, 75934, 75938, 75942, 75946, 75950, 75954, 75958,
- 75962, 75966, 75970, 75974, 75978, 75982, 75986, 75990, 75994, 75998,
- 76002, 76006, 76010, 76014, 76018, 76022, 76026, 76030, 76034, 76038,
- 76042, 76046, 76050, 76054, 76058, 76062, 76066, 76070, 76074, 76078,
- 76082, 76086, 76090, 76094, 76098, 76102, 76106, 76110, 76114, 76118,
- 76122, 76126, 76130, 76134, 76138, 76142, 76146, 76150, 76154, 76158,
- 76162, 76166, 76170, 76174, 76178, 76182, 76186, 76190, 76194, 76198,
- 76202, 76206, 76210, 76214, 76218, 76222, 76226, 76230, 76234, 76238,
- 76242, 76246, 76250, 76254, 76258, 76262, 76266, 76270, 76274, 76278,
- 76282, 76286, 76290, 76294, 76298, 76302, 76306, 76310, 76314, 76318,
- 76322, 76326, 76330, 76334, 76338, 76342, 76346, 76350, 76354, 76358,
- 76362, 76366, 76370, 76374, 76378, 76382, 76386, 76390, 76394, 76398,
- 76402, 76406, 76410, 76414, 76418, 76422, 76426, 76430, 76434, 76438,
- 76442, 76446, 76450, 76454, 76458, 76462, 76466, 76470, 76474, 76478,
- 76482, 76486, 76490, 76494, 76498, 76502, 76506, 76510, 76514, 76518,
- 76522, 76526, 76530, 76534, 76538, 76542, 76546, 76550, 76554, 76558,
- 76562, 76566, 76570, 76574, 76578, 76582, 76586, 76590, 76594, 76598,
- 76602, 76606, 76610, 76614, 76618, 76622, 76626, 76630, 76634, 76638,
- 76642, 76646, 76650, 76654, 76658, 76662, 76666, 76670, 76674, 76678,
- 76682, 76686, 76690, 76694, 76698, 76702, 76706, 76710, 76714, 76718, 0,
- 0, 76722, 76726, 76730, 76734, 76738, 76742, 76746, 76750, 76754, 76758,
- 76762, 76766, 76770, 76774, 76778, 76782, 76786, 76790, 76794, 76798,
- 76802, 76806, 76810, 76814, 76818, 76822, 76826, 76830, 76834, 76838,
- 76842, 76846, 76850, 76854, 76858, 76862, 76866, 76870, 76874, 76878,
- 76882, 76886, 76890, 76894, 76898, 76902, 76906, 76910, 76914, 76918,
- 76922, 76926, 76930, 76934, 76938, 76942, 76946, 76950, 76954, 76958,
- 76962, 76966, 0, 0, 76970, 76974, 76978, 76982, 76986, 76990, 76994,
- 76998, 77002, 77006, 77010, 77014, 77018, 77022, 77026, 77030, 77034,
- 77038, 77042, 77046, 77050, 77054, 77058, 77062, 77066, 77070, 77074,
- 77078, 77082, 77086, 77090, 77094, 77098, 77102, 77106, 77110, 77114,
- 77118, 77122, 77126, 77130, 77134, 77138, 77142, 77146, 77150, 77154,
- 77158, 77162, 77166, 77170, 77174, 77178, 77182, 77186, 77190, 77194,
- 77198, 77202, 77206, 77210, 77214, 77218, 77222, 77226, 77230, 77234,
- 77238, 77242, 77246, 77250, 77254, 77258, 77262, 77266, 77270, 77274,
- 77278, 77282, 77286, 77290, 77294, 77298, 77302, 77306, 77310, 77314,
- 77318, 77322, 77326, 77330, 77334, 77338, 77342, 77346, 77350, 77354,
- 77358, 77362, 77366, 77370, 77374, 77378, 77382, 77386, 77390, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88767, 88772, 88777,
+ 88782, 88787, 88792, 88797, 88802, 88807, 88812, 88817, 88822, 88827,
+ 88832, 88837, 88842, 88847, 88852, 88857, 88862, 88867, 88872, 88877,
+ 88882, 88887, 88892, 88897, 88901, 88905, 88909, 0, 88914, 88920, 88925,
+ 88930, 88935, 88940, 88946, 88952, 88958, 88964, 88970, 88976, 88982,
+ 88988, 88994, 89000, 89006, 89012, 89018, 89023, 89029, 89035, 89040,
+ 89046, 89051, 89057, 89063, 89068, 89074, 89080, 89085, 89091, 89097,
+ 89103, 89109, 89115, 89121, 0, 0, 0, 0, 89126, 89132, 89138, 89144,
+ 89150, 89156, 89162, 89168, 89174, 89181, 89186, 89191, 89197, 89203, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77394, 77399, 77404, 77409, 77414,
- 77419, 77427, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77432, 77439, 77446,
- 77453, 77460, 0, 0, 0, 0, 0, 77467, 77474, 77481, 77491, 77497, 77503,
- 77509, 77515, 77521, 77527, 77534, 77540, 77546, 77552, 77561, 77570,
- 77582, 77594, 77600, 77606, 77612, 77619, 77626, 77633, 77640, 77647, 0,
- 77654, 77661, 77668, 77676, 77683, 0, 77690, 0, 77697, 77704, 0, 77711,
- 77719, 0, 77726, 77733, 77740, 77747, 77754, 77761, 77768, 77775, 77782,
- 77789, 77794, 77801, 77808, 77814, 77820, 77826, 77832, 77838, 77844,
- 77850, 77856, 77862, 77868, 77874, 77880, 77886, 77892, 77898, 77904,
- 77910, 77916, 77922, 77928, 77934, 77940, 77946, 77952, 77958, 77964,
- 77970, 77976, 77982, 77988, 77994, 78000, 78006, 78012, 78018, 78024,
- 78030, 78036, 78042, 78048, 78054, 78060, 78066, 78072, 78078, 78084,
- 78090, 78096, 78102, 78108, 78114, 78120, 78126, 78132, 78138, 78144,
- 78150, 78156, 78162, 78168, 78174, 78180, 78186, 78192, 78198, 78204,
- 78210, 78216, 78222, 78228, 78234, 78240, 78246, 78252, 78258, 78264,
- 78272, 78280, 78286, 78292, 78298, 78304, 78313, 78322, 78330, 78338,
- 78346, 78354, 78362, 78370, 78378, 78386, 78393, 78400, 78410, 78420,
- 78424, 78428, 78433, 78438, 78443, 78448, 78457, 78466, 78472, 78478,
- 78485, 78492, 78499, 78503, 78509, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 78515, 78521, 78527, 78533, 78539, 78544, 78549, 78555,
- 78561, 78567, 78573, 78581, 78587, 78593, 78601, 78609, 78617, 78625,
- 78630, 78635, 78640, 78645, 78657, 78669, 78679, 78689, 78700, 78711,
- 78722, 78733, 78743, 78753, 78764, 78775, 78786, 78797, 78807, 78817,
- 78827, 78842, 78857, 78872, 78879, 78886, 78893, 78900, 78910, 78920,
- 78930, 78941, 78951, 78959, 78967, 78976, 78984, 78993, 79001, 79009,
- 79017, 79026, 79034, 79043, 79051, 79059, 79067, 79076, 79084, 79091,
- 79098, 79105, 79112, 79120, 79128, 79136, 79144, 79152, 79161, 79169,
- 79177, 79185, 79193, 79201, 79210, 79218, 79226, 79234, 79242, 79250,
- 79258, 79266, 79274, 79282, 79290, 79299, 79307, 79316, 79324, 79332,
- 79340, 79349, 79357, 79365, 79373, 79381, 79390, 79399, 79407, 79416,
- 79424, 79432, 79440, 79449, 79457, 79466, 79474, 79481, 79488, 79496,
- 79503, 79511, 79518, 79526, 79534, 79543, 79551, 79560, 79568, 79576,
- 79584, 79593, 79601, 79608, 79615, 79623, 79630, 79638, 79645, 79655,
- 79665, 79675, 79684, 79693, 79702, 79711, 79720, 79730, 79741, 79752,
- 79762, 79773, 79784, 79794, 79803, 79812, 79820, 79829, 79838, 79846,
- 79855, 79864, 79872, 79881, 79890, 79898, 79907, 79916, 79924, 79933,
- 79942, 79950, 79959, 79967, 79976, 79984, 79992, 80001, 80009, 80018,
- 80026, 80034, 80043, 80051, 80058, 80065, 80074, 80083, 80091, 80100,
- 80109, 80117, 80127, 80135, 80143, 80150, 80158, 80166, 80173, 80183,
- 80193, 80204, 80214, 80225, 80233, 80241, 80250, 80258, 80267, 80275,
- 80283, 80292, 80300, 80309, 80317, 80324, 80331, 80338, 80345, 80353,
- 80361, 80369, 80377, 80386, 80394, 80402, 80411, 80419, 80427, 80435,
- 80444, 80452, 80460, 80468, 80476, 80484, 80492, 80500, 80508, 80516,
- 80525, 80533, 80541, 80549, 80557, 80565, 80574, 80583, 80591, 80599,
- 80607, 80616, 80624, 80633, 80640, 80647, 80655, 80662, 80670, 80678,
- 80687, 80695, 80704, 80712, 80720, 80730, 80737, 80744, 80752, 80759,
- 80767, 80777, 80788, 80796, 80805, 80813, 80822, 80830, 80839, 80847,
- 80856, 80864, 80873, 80882, 80890, 80898, 80906, 80915, 80922, 80930,
- 80939, 80948, 80957, 80966, 80974, 80983, 80991, 81000, 81008, 81017,
- 81025, 81034, 81042, 81050, 81057, 81065, 81072, 81081, 81089, 81098,
- 81106, 81115, 81123, 81131, 81139, 81148, 81156, 81165, 81174, 81183,
- 81192, 81201, 81209, 81218, 81226, 81235, 81243, 81252, 81260, 81269,
- 81277, 81285, 81292, 81300, 81307, 81316, 81324, 81333, 81341, 81350,
- 81358, 81366, 81374, 81383, 81391, 81400, 81409, 81418, 81427, 81435,
- 81443, 81452, 81460, 81469, 81478, 81486, 81494, 81502, 81511, 81519,
- 81527, 81536, 81544, 81552, 81560, 81568, 81573, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 81578, 81588, 81598, 81608, 81618, 81629, 81639,
- 81649, 81660, 81669, 81678, 81687, 81697, 81707, 81717, 81728, 81738,
- 81748, 81758, 81768, 81778, 81788, 81798, 81808, 81818, 81828, 81838,
- 81849, 81860, 81870, 81880, 81891, 81902, 81913, 81923, 81933, 81943,
- 81953, 81963, 81973, 81983, 81994, 82004, 82014, 82025, 82036, 82047,
- 82057, 82067, 82077, 82087, 82098, 82108, 82118, 82129, 82140, 82150,
- 82160, 82169, 82178, 82187, 82196, 82205, 82215, 0, 0, 82225, 82235,
- 82245, 82255, 82265, 82276, 82286, 82296, 82307, 82317, 82328, 82337,
- 82346, 82357, 82367, 82378, 82389, 82401, 82411, 82422, 82431, 82441,
- 82451, 82463, 82473, 82483, 82493, 82503, 82513, 82522, 82531, 82540,
- 82549, 82559, 82569, 82579, 82589, 82599, 82609, 82619, 82629, 82639,
- 82649, 82659, 82669, 82678, 82687, 82696, 82706, 82716, 82726, 82736,
- 82746, 82757, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82767, 82782,
- 82797, 82803, 82809, 82815, 82821, 82827, 82833, 82839, 82845, 82853,
- 82857, 82860, 0, 0, 82868, 82871, 82874, 82877, 82880, 82883, 82886,
- 82889, 82892, 82895, 82898, 82901, 82904, 82907, 82910, 82913, 82916,
- 82924, 82933, 82944, 82952, 82960, 82969, 82978, 82989, 83001, 0, 0, 0,
- 0, 0, 0, 83010, 83015, 83020, 83027, 83034, 83040, 83046, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 83051, 83061, 83071, 83081, 83090, 83101, 83110, 83119,
- 83129, 83139, 83151, 83163, 83174, 83185, 83196, 83207, 83217, 83227,
- 83237, 83247, 83258, 83269, 83273, 83278, 83287, 83296, 83300, 83304,
- 83308, 83313, 83318, 83323, 83328, 83331, 83335, 0, 83340, 83343, 83346,
- 83350, 83354, 83359, 83363, 83367, 83372, 83377, 83384, 83391, 83394,
- 83397, 83400, 83403, 83406, 83410, 83414, 0, 83418, 83423, 83427, 83431,
- 0, 0, 0, 0, 83436, 83441, 83448, 83453, 83458, 0, 83463, 83468, 83473,
- 83478, 83483, 83488, 83493, 83498, 83503, 83508, 83513, 83518, 83527,
- 83536, 83544, 83552, 83561, 83570, 83579, 83588, 83596, 83604, 83612,
- 83620, 83625, 83630, 83636, 83642, 83648, 83654, 83662, 83670, 83676,
- 83682, 83688, 83694, 83700, 83706, 83712, 83718, 83723, 83728, 83733,
- 83738, 83743, 83748, 83753, 83758, 83764, 83770, 83776, 83782, 83788,
- 83794, 83800, 83806, 83812, 83818, 83824, 83830, 83836, 83842, 83848,
- 83854, 83860, 83866, 83872, 83878, 83884, 83890, 83896, 83902, 83908,
- 83914, 83920, 83926, 83932, 83938, 83944, 83950, 83956, 83962, 83968,
- 83974, 83980, 83986, 83992, 83998, 84004, 84010, 84016, 84022, 84028,
- 84034, 84040, 84046, 84052, 84058, 84064, 84070, 84076, 84082, 84088,
- 84094, 84100, 84106, 84112, 84118, 84123, 84128, 84133, 84138, 84144,
- 84150, 84156, 84162, 84168, 84174, 84180, 84186, 84192, 84198, 84204,
- 84210, 84215, 84220, 84225, 84230, 84242, 84254, 84265, 84276, 84288,
- 84300, 84308, 0, 0, 84316, 0, 84324, 84328, 84332, 84335, 84339, 84343,
- 84346, 84349, 84353, 84357, 84360, 84363, 84366, 84369, 84374, 84377,
- 84381, 84384, 84387, 84390, 84393, 84396, 84399, 84402, 84405, 84408,
- 84411, 84414, 84418, 84422, 84426, 84430, 84435, 84440, 84446, 84452,
- 84458, 84463, 84469, 84475, 84481, 84486, 84492, 84498, 84503, 84508,
- 84513, 84518, 84524, 84530, 84535, 84540, 84546, 84551, 84557, 84563,
- 84569, 84575, 84581, 84585, 84590, 84594, 84599, 84603, 84608, 84613,
- 84619, 84625, 84631, 84636, 84642, 84648, 84654, 84659, 84665, 84671,
- 84676, 84681, 84686, 84691, 84697, 84703, 84708, 84713, 84719, 84724,
- 84730, 84736, 84742, 84748, 84754, 84759, 84763, 84768, 84771, 84776,
- 84781, 84787, 84792, 84797, 84801, 84807, 84812, 84817, 84822, 84827,
- 84832, 84837, 84842, 84848, 84854, 84860, 84868, 84872, 84876, 84880,
- 84884, 84888, 84892, 84897, 84902, 84907, 84912, 84917, 84922, 84927,
- 84932, 84937, 84942, 84947, 84952, 84957, 84961, 84965, 84970, 84975,
- 84980, 84985, 84989, 84994, 84999, 85004, 85009, 85013, 85018, 85023,
- 85028, 85033, 85037, 85042, 85047, 85051, 85056, 85061, 85066, 85071,
- 85076, 85080, 85087, 85094, 85098, 85103, 85108, 85113, 85118, 85123,
- 85128, 85133, 85138, 85143, 85148, 85153, 85158, 85163, 85168, 85173,
- 85178, 85183, 85188, 85193, 85198, 85203, 85208, 85213, 85218, 85223,
- 85228, 85233, 85238, 85243, 0, 0, 0, 85248, 85252, 85257, 85261, 85266,
- 85271, 0, 0, 85275, 85280, 85285, 85289, 85294, 85299, 0, 0, 85304,
- 85309, 85313, 85318, 85323, 85328, 0, 0, 85333, 85338, 85343, 0, 0, 0,
- 85347, 85351, 85355, 85359, 85362, 85366, 85370, 0, 85374, 85380, 85383,
- 85387, 85390, 85394, 85398, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85402, 85408,
- 85414, 85420, 85426, 0, 0, 85430, 85436, 85442, 85448, 85454, 85460,
- 85467, 85474, 85481, 85488, 85495, 85502, 0, 85509, 85516, 85523, 85529,
- 85536, 85543, 85550, 85557, 85563, 85570, 85577, 85584, 85591, 85597,
- 85604, 85611, 85618, 85625, 85631, 85638, 85645, 85652, 85659, 85666,
- 85673, 85680, 0, 85687, 85693, 85700, 85707, 85714, 85721, 85728, 85735,
- 85742, 85749, 85756, 85763, 85770, 85777, 85783, 85790, 85797, 85804,
- 85811, 0, 85818, 85825, 0, 85832, 85839, 85846, 85853, 85860, 85867,
- 85874, 85881, 85888, 85895, 85902, 85909, 85916, 85923, 85930, 0, 0,
- 85936, 85941, 85946, 85951, 85956, 85961, 85966, 85971, 85976, 85981,
- 85986, 85991, 85996, 86001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86006, 86013,
- 86020, 86027, 86034, 86041, 86048, 86055, 86062, 86069, 86076, 86083,
- 86090, 86097, 86104, 86111, 86118, 86125, 86132, 86139, 86147, 86155,
- 86162, 86169, 86174, 86182, 86190, 86197, 86204, 86209, 86216, 86221,
- 86226, 86233, 86238, 86243, 86248, 86256, 86261, 86266, 86273, 86278,
- 86283, 86290, 86297, 86302, 86307, 86312, 86317, 86322, 86327, 86332,
- 86337, 86342, 86349, 86354, 86361, 86366, 86371, 86376, 86381, 86386,
- 86391, 86396, 86401, 86406, 86411, 86416, 86423, 86430, 86437, 86444,
- 86450, 86455, 86462, 86467, 86472, 86481, 86488, 86497, 86504, 86509,
- 86514, 86522, 86527, 86532, 86537, 86542, 86547, 86554, 86559, 86564,
- 86569, 86574, 86579, 86586, 86593, 86600, 86607, 86614, 86621, 86628,
- 86635, 86642, 86649, 86656, 86663, 86670, 86677, 86684, 86691, 86698,
- 86705, 86712, 86719, 86726, 86733, 86740, 86747, 86754, 86761, 86768,
- 86775, 0, 0, 0, 0, 0, 86782, 86790, 86798, 0, 0, 0, 0, 86803, 86807,
- 86811, 86815, 86819, 86823, 86827, 86831, 86835, 86839, 86844, 86849,
- 86854, 86859, 86864, 86869, 86874, 86879, 86884, 86890, 86896, 86902,
- 86909, 86916, 86923, 86930, 86937, 86944, 86950, 86956, 86962, 86969,
- 86976, 86983, 86990, 86997, 87004, 87011, 87018, 87025, 87032, 87039,
- 87046, 87053, 87060, 0, 0, 0, 87067, 87075, 87083, 87091, 87099, 87107,
- 87117, 87127, 87135, 87143, 87151, 87159, 87167, 87173, 87180, 87189,
- 87198, 87207, 87216, 87225, 87234, 87244, 87255, 87265, 87276, 87285,
- 87294, 87303, 87313, 87324, 87334, 87345, 87356, 87365, 87373, 87379,
- 87385, 87391, 87397, 87405, 87413, 87419, 87426, 87436, 87443, 87450,
- 87457, 87464, 87471, 87481, 87488, 87495, 87503, 87511, 87520, 87529,
- 87538, 87547, 87556, 87564, 87573, 87582, 87591, 87595, 87602, 87607,
- 87612, 87616, 87620, 87624, 87628, 87633, 87638, 87644, 87650, 87654,
- 87660, 87664, 87668, 87672, 87676, 87680, 87684, 87690, 0, 0, 0, 0, 0,
- 87694, 87699, 87704, 87709, 87714, 87721, 87726, 87731, 87736, 87741,
- 87746, 87751, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89209, 89214, 89219,
+ 89224, 89230, 89235, 89241, 89247, 89253, 89259, 89266, 89272, 89279,
+ 89284, 89289, 89294, 89299, 89304, 89309, 89314, 89319, 89324, 89329,
+ 89334, 89339, 89344, 89349, 89354, 89359, 89364, 89369, 89374, 89379,
+ 89384, 89389, 89394, 89399, 89404, 89409, 89414, 89419, 89424, 89429,
+ 89434, 89440, 89445, 89451, 89457, 89463, 89469, 89476, 89482, 89489,
+ 89494, 89499, 89504, 89509, 89514, 89519, 89524, 89529, 89534, 89539,
+ 89544, 89549, 89554, 89559, 89564, 89569, 89574, 89579, 89584, 89589,
+ 89594, 89599, 89604, 89609, 89614, 89619, 89624, 89629, 89634, 89639,
+ 89644, 89649, 89654, 89659, 89664, 89669, 89674, 89679, 89684, 89689,
+ 89694, 89699, 89704, 89709, 89714, 89719, 89724, 89729, 89734, 89739,
+ 89744, 89749, 89754, 89759, 89764, 89769, 89774, 89779, 89784, 89789,
+ 89794, 89799, 89804, 89809, 89814, 89819, 89824, 89829, 89834, 89839,
+ 89844, 89849, 89854, 89859, 89864, 89869, 89874, 89879, 89884, 89889,
+ 89894, 89899, 89904, 89908, 89913, 89918, 89923, 89928, 89933, 89938,
+ 89943, 89948, 89953, 89958, 89963, 89968, 89972, 89976, 89980, 89984,
+ 89988, 89992, 89996, 90001, 90006, 0, 0, 90011, 90016, 90020, 90024,
+ 90028, 90032, 90036, 90040, 90044, 90048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 87756, 87763, 87772, 87781, 87788, 87795, 87802,
- 87809, 87816, 87823, 87829, 87836, 87843, 87850, 87857, 87864, 87871,
- 87878, 87885, 87894, 87901, 87908, 87915, 87922, 87929, 87936, 87943,
- 87950, 87959, 87966, 87973, 87980, 87987, 87994, 88001, 88010, 88017,
- 88024, 88031, 88038, 88047, 88054, 88061, 88068, 88076, 88085, 0, 0,
- 88094, 88098, 88102, 88107, 88112, 88117, 88122, 88126, 88131, 88136,
- 88141, 88146, 88151, 88156, 88160, 88164, 88168, 88173, 88178, 88182,
- 88187, 88192, 88196, 88200, 88205, 88210, 88215, 88220, 88225, 0, 0, 0,
- 88230, 88234, 88239, 88244, 88248, 88253, 88257, 88262, 88267, 88272,
- 88277, 88281, 88285, 88290, 88295, 88300, 88305, 88309, 88314, 88318,
- 88323, 88328, 88332, 88337, 88342, 88347, 88351, 88355, 88360, 88365,
- 88370, 88375, 88380, 88385, 88390, 88395, 88400, 88405, 88410, 88415,
- 88420, 88425, 88430, 88435, 88440, 88445, 88450, 88455, 88460, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88465, 88469,
- 88474, 88479, 88484, 88488, 88493, 88498, 88503, 88508, 88512, 88516,
- 88521, 88526, 88531, 88536, 88540, 88545, 88550, 88555, 88560, 88565,
- 88570, 88574, 88579, 88584, 88589, 88594, 88599, 88604, 88609, 0, 88614,
- 88619, 88624, 88630, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88636, 88641,
- 88646, 88651, 88656, 88661, 88666, 88671, 88676, 88681, 88686, 88691,
- 88696, 88701, 88706, 88711, 88716, 88721, 88726, 88731, 88736, 88741,
- 88746, 88751, 88756, 88761, 88766, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88773, 88778, 88783,
- 88788, 88793, 88798, 88803, 88808, 88813, 88818, 88823, 88828, 88833,
- 88838, 88843, 88848, 88853, 88858, 88863, 88868, 88873, 88878, 88883,
- 88888, 88893, 88898, 88903, 88907, 88911, 88915, 0, 88920, 88926, 88931,
- 88936, 88941, 88946, 88952, 88958, 88964, 88970, 88976, 88982, 88988,
- 88994, 89000, 89006, 89012, 89018, 89024, 89029, 89035, 89041, 89046,
- 89052, 89057, 89063, 89069, 89074, 89080, 89086, 89091, 89097, 89103,
- 89109, 89115, 89121, 89127, 0, 0, 0, 0, 89132, 89138, 89144, 89150,
- 89156, 89162, 89168, 89174, 89180, 89187, 89192, 89197, 89203, 89209, 0,
+ 0, 0, 0, 0, 90052, 90056, 90060, 90064, 90068, 90072, 0, 0, 90077, 0,
+ 90082, 90086, 90091, 90096, 90101, 90106, 90111, 90116, 90121, 90126,
+ 90131, 90135, 90140, 90145, 90150, 90155, 90159, 90164, 90169, 90174,
+ 90179, 90183, 90188, 90193, 90198, 90203, 90207, 90212, 90217, 90222,
+ 90227, 90232, 90237, 90242, 90247, 90252, 90257, 90262, 90267, 90271,
+ 90276, 90281, 90286, 90291, 0, 90296, 90301, 0, 0, 0, 90306, 0, 0, 90311,
+ 90316, 90323, 90330, 90337, 90344, 90351, 90358, 90365, 90372, 90379,
+ 90386, 90393, 90400, 90407, 90414, 90421, 90428, 90435, 90442, 90449,
+ 90456, 90463, 0, 90470, 90477, 90483, 90489, 90495, 90502, 90509, 90517,
+ 90525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90534, 90539, 90544, 90549, 90554, 90559,
+ 90564, 90569, 90574, 90579, 90584, 90589, 90594, 90599, 90604, 90609,
+ 90614, 90619, 90624, 90629, 90634, 90639, 90644, 90648, 90653, 90658,
+ 90664, 90668, 0, 0, 0, 90672, 90678, 90682, 90687, 90692, 90697, 90701,
+ 90706, 90710, 90715, 90720, 90724, 90728, 90732, 90736, 90740, 90745,
+ 90750, 90754, 90759, 90764, 90768, 90773, 90778, 90783, 90788, 90793, 0,
+ 0, 0, 0, 0, 90798, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89215, 89220, 89225,
- 89230, 89236, 89241, 89247, 89253, 89259, 89265, 89272, 89278, 89285,
- 89290, 89295, 89300, 89305, 89310, 89315, 89320, 89325, 89330, 89335,
- 89340, 89345, 89350, 89355, 89360, 89365, 89370, 89375, 89380, 89385,
- 89390, 89395, 89400, 89405, 89410, 89415, 89420, 89425, 89430, 89435,
- 89440, 89446, 89451, 89457, 89463, 89469, 89475, 89482, 89488, 89495,
- 89500, 89505, 89510, 89515, 89520, 89525, 89530, 89535, 89540, 89545,
- 89550, 89555, 89560, 89565, 89570, 89575, 89580, 89585, 89590, 89595,
- 89600, 89605, 89610, 89615, 89620, 89625, 89630, 89635, 89640, 89645,
- 89650, 89655, 89660, 89665, 89670, 89675, 89680, 89685, 89690, 89695,
- 89700, 89705, 89710, 89715, 89720, 89725, 89730, 89735, 89740, 89745,
- 89750, 89755, 89760, 89765, 89770, 89775, 89780, 89785, 89790, 89795,
- 89800, 89805, 89810, 89815, 89820, 89825, 89830, 89835, 89840, 89845,
- 89850, 89855, 89860, 89865, 89870, 89875, 89880, 89885, 89890, 89895,
- 89900, 89905, 89910, 89914, 89919, 89924, 89929, 89934, 89939, 89944,
- 89949, 89954, 89959, 89964, 89969, 89974, 89978, 89982, 89986, 89990,
- 89994, 89998, 90002, 90007, 90012, 0, 0, 90017, 90022, 90026, 90030,
- 90034, 90038, 90042, 90046, 90050, 90054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90803,
+ 90807, 90812, 90817, 0, 90823, 90828, 0, 0, 0, 0, 0, 90833, 90839, 90846,
+ 90851, 90856, 90860, 90865, 90870, 0, 90875, 90880, 90885, 0, 90890,
+ 90895, 90900, 90905, 90910, 90915, 90920, 90925, 90930, 90935, 90940,
+ 90944, 90948, 90953, 90958, 90963, 90967, 90971, 90975, 90980, 90985,
+ 90990, 90995, 91000, 91005, 91009, 91014, 0, 0, 0, 0, 91019, 91025,
+ 91030, 0, 0, 0, 0, 91035, 91039, 91043, 91047, 91051, 91055, 91060,
+ 91065, 91071, 0, 0, 0, 0, 0, 0, 0, 0, 91077, 91083, 91090, 91096, 91103,
+ 91109, 91115, 91121, 91128, 0, 0, 0, 0, 0, 0, 0, 91134, 91142, 91150,
+ 91158, 91166, 91174, 91182, 91190, 91198, 91206, 91214, 91222, 91230,
+ 91238, 91246, 91254, 91262, 91270, 91278, 91286, 91294, 91302, 91310,
+ 91318, 91326, 91334, 91342, 91350, 91358, 91366, 91373, 91381, 91389,
+ 91393, 91398, 91403, 91408, 91413, 91418, 91423, 91428, 91432, 91437,
+ 91441, 91446, 91450, 91455, 91459, 91464, 91469, 91474, 91479, 91484,
+ 91489, 91494, 91499, 91504, 91509, 91514, 91519, 91524, 91529, 91534,
+ 91539, 91544, 91549, 91554, 91559, 91564, 91569, 91574, 91579, 91584,
+ 91589, 91594, 91599, 91604, 91609, 91614, 91619, 91624, 91629, 91634,
+ 91639, 91644, 91649, 0, 0, 0, 91654, 91659, 91668, 91676, 91685, 91694,
+ 91705, 91716, 91723, 91730, 91737, 91744, 91751, 91758, 91765, 91772,
+ 91779, 91786, 91793, 91800, 91807, 91814, 91821, 91828, 91835, 91842,
+ 91849, 91856, 91863, 0, 0, 91870, 91876, 91882, 91888, 91894, 91901,
+ 91908, 91916, 91924, 91931, 91938, 91945, 91952, 91959, 91966, 91973,
+ 91980, 91987, 91994, 92001, 92008, 92015, 92022, 92029, 92036, 92043,
+ 92050, 0, 0, 0, 0, 0, 92057, 92063, 92069, 92075, 92081, 92088, 92095,
+ 92103, 92111, 92117, 92123, 92130, 92136, 92142, 92148, 92154, 92161,
+ 92168, 92175, 92182, 92189, 92196, 92203, 92210, 92217, 92224, 92231,
+ 92238, 92245, 92252, 92259, 92266, 92273, 92280, 92287, 92294, 92301,
+ 92308, 92315, 92322, 92329, 92336, 92343, 92350, 92357, 92364, 92371,
+ 92378, 92385, 92392, 92399, 92406, 92413, 92420, 92427, 92434, 92441,
+ 92448, 92455, 92462, 92469, 92476, 92483, 92490, 92497, 92504, 92511,
+ 92518, 92525, 92532, 92539, 92546, 92553, 92560, 92567, 92574, 92581,
+ 92588, 92595, 92602, 92609, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 90058, 90062, 90066, 90070, 90074, 90078, 0, 0, 90083, 0,
- 90088, 90092, 90097, 90102, 90107, 90112, 90117, 90122, 90127, 90132,
- 90137, 90141, 90146, 90151, 90156, 90161, 90165, 90170, 90175, 90180,
- 90185, 90189, 90194, 90199, 90204, 90209, 90213, 90218, 90223, 90228,
- 90233, 90238, 90243, 90248, 90253, 90258, 90263, 90268, 90273, 90277,
- 90282, 90287, 90292, 90297, 0, 90302, 90307, 0, 0, 0, 90312, 0, 0, 90317,
- 90322, 90329, 90336, 90343, 90350, 90357, 90364, 90371, 90378, 90385,
- 90392, 90399, 90406, 90413, 90420, 90427, 90434, 90441, 90448, 90455,
- 90462, 90469, 0, 90476, 90483, 90489, 90495, 90501, 90508, 90515, 90523,
- 90531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90540, 90545, 90550, 90555, 90560, 90565,
- 90570, 90575, 90580, 90585, 90590, 90595, 90600, 90605, 90610, 90615,
- 90620, 90625, 90630, 90635, 90640, 90645, 90650, 90654, 90659, 90664,
- 90670, 90674, 0, 0, 0, 90678, 90684, 90688, 90693, 90698, 90703, 90707,
- 90712, 90716, 90721, 90726, 90730, 90734, 90738, 90742, 90746, 90751,
- 90756, 90760, 90765, 90770, 90774, 90779, 90784, 90789, 90794, 90799, 0,
- 0, 0, 0, 0, 90804, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90809,
- 90813, 90818, 90823, 0, 90829, 90834, 0, 0, 0, 0, 0, 90839, 90845, 90852,
- 90857, 90862, 90866, 90871, 90876, 0, 90881, 90886, 90891, 0, 90896,
- 90901, 90906, 90911, 90916, 90921, 90926, 90931, 90936, 90941, 90946,
- 90950, 90954, 90959, 90964, 90969, 90973, 90977, 90981, 90986, 90991,
- 90996, 91001, 91006, 91011, 91015, 91020, 0, 0, 0, 0, 91025, 91031,
- 91036, 0, 0, 0, 0, 91041, 91045, 91049, 91053, 91057, 91061, 91066,
- 91071, 91077, 0, 0, 0, 0, 0, 0, 0, 0, 91083, 91089, 91096, 91102, 91109,
- 91115, 91121, 91127, 91134, 0, 0, 0, 0, 0, 0, 0, 91140, 91148, 91156,
- 91164, 91172, 91180, 91188, 91196, 91204, 91212, 91220, 91228, 91236,
- 91244, 91252, 91260, 91268, 91276, 91284, 91292, 91300, 91308, 91316,
- 91324, 91332, 91340, 91348, 91356, 91364, 91372, 91379, 91387, 91395,
- 91399, 91404, 91409, 91414, 91419, 91424, 91429, 91434, 91438, 91443,
- 91447, 91452, 91456, 91461, 91465, 91470, 91475, 91480, 91485, 91490,
- 91495, 91500, 91505, 91510, 91515, 91520, 91525, 91530, 91535, 91540,
- 91545, 91550, 91555, 91560, 91565, 91570, 91575, 91580, 91585, 91590,
- 91595, 91600, 91605, 91610, 91615, 91620, 91625, 91630, 91635, 91640,
- 91645, 91650, 91655, 0, 0, 0, 91660, 91665, 91674, 91682, 91691, 91700,
- 91711, 91722, 91729, 91736, 91743, 91750, 91757, 91764, 91771, 91778,
- 91785, 91792, 91799, 91806, 91813, 91820, 91827, 91834, 91841, 91848,
- 91855, 91862, 91869, 0, 0, 91876, 91882, 91888, 91894, 91900, 91907,
- 91914, 91922, 91930, 91937, 91944, 91951, 91958, 91965, 91972, 91979,
- 91986, 91993, 92000, 92007, 92014, 92021, 92028, 92035, 92042, 92049,
- 92056, 0, 0, 0, 0, 0, 92063, 92069, 92075, 92081, 92087, 92094, 92101,
- 92109, 92117, 92123, 92129, 92136, 92142, 92148, 92154, 92160, 92167,
- 92174, 92181, 92188, 92195, 92202, 92209, 92216, 92223, 92230, 92237,
- 92244, 92251, 92258, 92265, 92272, 92279, 92286, 92293, 92300, 92307,
- 92314, 92321, 92328, 92335, 92342, 92349, 92356, 92363, 92370, 92377,
- 92384, 92391, 92398, 92405, 92412, 92419, 92426, 92433, 92440, 92447,
- 92454, 92461, 92468, 92475, 92482, 92489, 92496, 92503, 92510, 92517,
- 92524, 92531, 92538, 92545, 92552, 92559, 92566, 92573, 92580, 92587,
- 92594, 92601, 92608, 92615, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92616, 92620, 92624,
+ 92628, 92632, 92636, 92640, 92644, 92648, 92652, 92657, 92662, 92667,
+ 92672, 92677, 92682, 92687, 92692, 92697, 92703, 92709, 92715, 92722,
+ 92729, 92736, 92743, 92750, 92757, 92764, 92771, 92778, 0, 92785, 92789,
+ 92793, 92797, 92801, 92805, 92808, 92812, 92815, 92819, 92822, 92826,
+ 92830, 92835, 92839, 92844, 92847, 92851, 92854, 92858, 92861, 92865,
+ 92869, 92873, 92877, 92881, 92885, 92889, 92893, 92897, 92901, 92905,
+ 92909, 92913, 92917, 92921, 92925, 92929, 92933, 92936, 92939, 92943,
+ 92947, 92951, 92954, 92957, 92960, 92964, 92968, 92972, 92976, 92980,
+ 92983, 92987, 92993, 92999, 93005, 93010, 93017, 93021, 93026, 93030,
+ 93035, 93040, 93046, 93051, 93057, 93061, 93066, 93070, 93075, 93078,
+ 93081, 93085, 93090, 93096, 93101, 93107, 0, 0, 0, 0, 93112, 93115,
+ 93118, 93121, 93124, 93127, 93130, 93133, 93136, 93139, 93143, 93147,
+ 93151, 93155, 93159, 93163, 93167, 93171, 93175, 93180, 93185, 93189,
+ 93192, 93195, 93198, 93201, 93204, 93207, 93210, 93213, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93216, 93221, 93226, 93231, 93235, 93240,
+ 93244, 93249, 93253, 93258, 93262, 93267, 93271, 93276, 93280, 93285,
+ 93290, 93295, 93300, 93305, 93310, 93315, 93320, 93325, 93330, 93335,
+ 93340, 93345, 93350, 93355, 93360, 93365, 93370, 93375, 93380, 93384,
+ 93388, 93393, 93398, 93403, 93407, 93411, 93415, 93420, 93425, 93430,
+ 93435, 93440, 93444, 93450, 93455, 93461, 93466, 93472, 93477, 93483,
+ 93488, 93494, 93499, 93504, 93509, 93514, 93518, 93523, 93529, 93533, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93538, 93541, 93546, 93552, 93560,
+ 93565, 93571, 93579, 93585, 93591, 93595, 93599, 93606, 93615, 93622,
+ 93631, 93637, 93646, 93653, 93660, 93667, 93677, 93683, 93687, 93694,
+ 93703, 93713, 93720, 93727, 93731, 93735, 93742, 93752, 93756, 93763,
+ 93770, 93777, 93783, 93790, 93797, 93804, 93811, 93815, 93819, 93823,
+ 93830, 93834, 93841, 93848, 93862, 93871, 93875, 93879, 93883, 93890,
+ 93894, 93898, 93902, 93910, 93918, 93937, 93947, 93967, 93971, 93975,
+ 93979, 93983, 93987, 93991, 93995, 94002, 94006, 94009, 94013, 94017,
+ 94023, 94030, 94039, 94043, 94052, 94061, 94069, 94073, 94080, 94084,
+ 94088, 94092, 94096, 94107, 94116, 94125, 94134, 94143, 94155, 94164,
+ 94173, 94182, 94190, 94199, 94211, 94220, 94229, 94238, 94250, 94259,
+ 94268, 94280, 94289, 94298, 94310, 94319, 94323, 94327, 94331, 94335,
+ 94339, 94343, 94347, 94354, 94358, 94362, 94373, 94377, 94381, 94388,
+ 94394, 94400, 94404, 94411, 94415, 94419, 94423, 94427, 94431, 94435,
+ 94441, 94449, 94453, 94457, 94460, 94466, 94476, 94480, 94492, 94499,
+ 94506, 94513, 94520, 94526, 94530, 94534, 94538, 94542, 94549, 94558,
+ 94565, 94573, 94581, 94587, 94591, 94595, 94599, 94603, 94609, 94618,
+ 94630, 94637, 94644, 94653, 94664, 94670, 94679, 94688, 94695, 94704,
+ 94711, 94718, 94728, 94735, 94742, 94749, 94756, 94760, 94766, 94770,
+ 94781, 94789, 94798, 94810, 94817, 94824, 94834, 94841, 94850, 94857,
+ 94866, 94873, 94880, 94890, 94897, 94904, 94914, 94921, 94933, 94942,
+ 94949, 94956, 94963, 94972, 94982, 94995, 95002, 95012, 95022, 95029,
+ 95038, 95051, 95058, 95065, 95072, 95082, 95092, 95099, 95109, 95116,
+ 95123, 95133, 95139, 95146, 95153, 95160, 95170, 95177, 95184, 95191,
+ 95197, 95204, 95214, 95221, 95225, 95233, 95237, 95249, 95253, 95267,
+ 95271, 95275, 95279, 95283, 95289, 95296, 95304, 95308, 95312, 95316,
+ 95320, 95327, 95331, 95337, 95343, 95351, 95355, 95362, 95370, 95374,
+ 95378, 95384, 95388, 95397, 95406, 95413, 95423, 95429, 95433, 95437,
+ 95445, 95452, 95459, 95465, 95469, 95477, 95481, 95488, 95500, 95507,
+ 95517, 95523, 95527, 95536, 95543, 95552, 95556, 95560, 95567, 95571,
+ 95575, 95579, 95583, 95586, 95592, 95598, 95602, 95606, 95613, 95620,
+ 95627, 95634, 95641, 95648, 95655, 95662, 95668, 95672, 95676, 95683,
+ 95690, 95697, 95704, 95711, 95715, 95718, 95723, 95727, 95731, 95740,
+ 95749, 95753, 95757, 95763, 95769, 95786, 95792, 95796, 95805, 95809,
+ 95813, 95820, 95828, 95836, 95842, 95846, 95850, 95854, 95858, 95861,
+ 95867, 95874, 95884, 95891, 95898, 95905, 95911, 95918, 95925, 95932,
+ 95939, 95946, 95955, 95962, 95974, 95981, 95988, 95998, 96009, 96016,
+ 96023, 96030, 96037, 96044, 96051, 96058, 96065, 96072, 96079, 96089,
+ 96099, 96109, 96116, 96126, 96133, 96140, 96147, 96154, 96161, 96168,
+ 96175, 96182, 96189, 96196, 96203, 96210, 96217, 96223, 96230, 96237,
+ 96246, 96253, 96260, 96264, 96272, 96276, 96280, 96284, 96288, 96292,
+ 96299, 96303, 96312, 96316, 96323, 96331, 96335, 96339, 96343, 96356,
+ 96372, 96376, 96380, 96387, 96393, 96400, 96404, 96408, 96412, 96416,
+ 96420, 96427, 96431, 96449, 96453, 96457, 96464, 96468, 96472, 96478,
+ 96482, 96486, 96494, 96498, 96502, 96506, 96510, 96516, 96527, 96536,
+ 96545, 96552, 96559, 96570, 96577, 96584, 96591, 96598, 96605, 96612,
+ 96619, 96629, 96635, 96642, 96652, 96661, 96668, 96677, 96687, 96694,
+ 96701, 96708, 96715, 96727, 96734, 96741, 96748, 96755, 96762, 96772,
+ 96779, 96786, 96796, 96809, 96821, 96828, 96838, 96845, 96852, 96859,
+ 96873, 96879, 96887, 96897, 96907, 96914, 96921, 96927, 96931, 96938,
+ 96948, 96954, 96967, 96971, 96975, 96982, 96986, 96993, 97003, 97007,
+ 97011, 97015, 97019, 97023, 97030, 97034, 97041, 97048, 97055, 97064,
+ 97073, 97083, 97090, 97097, 97104, 97114, 97121, 97131, 97138, 97148,
+ 97155, 97162, 97172, 97182, 97189, 97195, 97203, 97211, 97217, 97223,
+ 97227, 97231, 97238, 97246, 97252, 97256, 97260, 97264, 97271, 97283,
+ 97286, 97293, 97299, 97303, 97307, 97311, 97315, 97319, 97323, 97327,
+ 97331, 97335, 97339, 97346, 97350, 97356, 97360, 97364, 97368, 97374,
+ 97381, 97388, 97395, 97406, 97414, 97418, 97424, 97433, 97440, 97446,
+ 97449, 97453, 97457, 97463, 97472, 97480, 97484, 97490, 97494, 97498,
+ 97502, 97508, 97515, 97521, 97525, 97531, 97535, 97539, 97548, 97560,
+ 97564, 97571, 97578, 97588, 97595, 97607, 97614, 97621, 97628, 97639,
+ 97649, 97662, 97672, 97679, 97683, 97687, 97691, 97695, 97704, 97713,
+ 97722, 97739, 97748, 97754, 97761, 97769, 97782, 97786, 97795, 97804,
+ 97813, 97822, 97833, 97842, 97851, 97860, 97869, 97878, 97887, 97897,
+ 97900, 97904, 97908, 97912, 97916, 97920, 97926, 97933, 97940, 97947,
+ 97953, 97959, 97966, 97972, 97979, 97987, 97991, 97998, 98005, 98012,
+ 98020, 98023, 98027, 98031, 98035, 98039, 98045, 98049, 98055, 98062,
+ 98069, 98075, 98082, 98089, 98096, 98103, 98110, 98117, 98124, 98131,
+ 98138, 98145, 98152, 98159, 98166, 98173, 98179, 98183, 98192, 98196,
+ 98200, 98204, 98208, 98214, 98221, 98228, 98235, 98242, 98249, 98255,
+ 98263, 98267, 98271, 98275, 98279, 98285, 98302, 98319, 98323, 98327,
+ 98331, 98335, 98339, 98343, 98349, 98356, 98360, 98366, 98373, 98380,
+ 98387, 98394, 98401, 98410, 98417, 98424, 98431, 98438, 98442, 98446,
+ 98452, 98464, 98468, 98472, 98481, 98485, 98489, 98493, 98499, 98503,
+ 98507, 98516, 98520, 98524, 98528, 98535, 98539, 98543, 98547, 98551,
+ 98555, 98559, 98563, 98567, 98573, 98580, 98587, 98593, 98597, 98614,
+ 98620, 98624, 98630, 98636, 98642, 98648, 98654, 98660, 98664, 98668,
+ 98672, 98678, 98682, 98688, 98692, 98696, 98703, 98710, 98727, 98731,
+ 98735, 98739, 98743, 98747, 98759, 98762, 98767, 98772, 98787, 98797,
+ 98809, 98813, 98817, 98821, 98827, 98834, 98841, 98851, 98863, 98869,
+ 98875, 98884, 98888, 98892, 98899, 98909, 98916, 98922, 98926, 98930,
+ 98937, 98943, 98947, 98953, 98957, 98965, 98971, 98975, 98983, 98991,
+ 98998, 99004, 99011, 99018, 99028, 99038, 99042, 99046, 99050, 99054,
+ 99060, 99067, 99073, 99080, 99087, 99094, 99103, 99110, 99117, 99123,
+ 99130, 99137, 99144, 99151, 99158, 99165, 99171, 99178, 99185, 99192,
+ 99201, 99208, 99215, 99219, 99225, 99229, 99235, 99242, 99249, 99256,
+ 99260, 99264, 99268, 99272, 99276, 99283, 99287, 99291, 99297, 99305,
+ 99309, 99313, 99317, 99321, 99328, 99332, 99336, 99344, 99348, 99352,
+ 99356, 99360, 99366, 99370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 99374, 99380, 99386, 99393, 99400, 99407, 99414, 99421, 99428,
+ 99434, 99441, 99448, 99455, 99462, 99469, 99476, 99482, 99488, 99494,
+ 99500, 99506, 99512, 99518, 99524, 99530, 99537, 99544, 99551, 99558,
+ 99565, 99572, 99578, 99584, 99590, 99597, 99604, 99610, 99616, 99625,
+ 99632, 99639, 99646, 99653, 99660, 99667, 99673, 99679, 99685, 99694,
+ 99701, 99708, 99719, 99730, 99736, 99742, 99748, 99757, 99764, 99771,
+ 99781, 99791, 99802, 99813, 99825, 99838, 99849, 99860, 99872, 99885,
+ 99896, 99907, 99918, 99929, 99940, 99952, 99960, 99968, 99977, 99986,
+ 99995, 100001, 100007, 100013, 100020, 100030, 100037, 100047, 100052,
+ 100057, 100063, 100069, 100077, 100085, 100094, 100105, 100116, 100124,
+ 100132, 100141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100150, 100161,
+ 100168, 100176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100184, 100188,
+ 100192, 100196, 100200, 100204, 100208, 100212, 100216, 100220, 100224,
+ 100228, 100232, 100236, 100240, 100244, 100248, 100252, 100256, 100260,
+ 100264, 100268, 100272, 100276, 100280, 100284, 100288, 100292, 100296,
+ 100300, 100304, 100308, 100312, 100316, 100320, 100324, 100328, 100332,
+ 100336, 100340, 100344, 100348, 100352, 100356, 100360, 100364, 100368,
+ 100372, 100376, 100380, 100384, 100388, 100392, 100396, 100400, 100404,
+ 100408, 100412, 100416, 100420, 100424, 100428, 100432, 100436, 100440,
+ 100444, 100448, 100452, 100456, 100460, 100464, 100468, 100472, 100476,
+ 100480, 100484, 100488, 100492, 100496, 100500, 100504, 100508, 100512,
+ 100516, 100520, 100524, 100528, 100532, 100536, 100540, 100544, 100548,
+ 100552, 100556, 100560, 100564, 100568, 100572, 100576, 100580, 100584,
+ 100588, 100592, 100596, 100600, 100604, 100608, 100612, 100616, 100620,
+ 100624, 100628, 100632, 100636, 100640, 100644, 100648, 100652, 100656,
+ 100660, 100664, 100668, 100672, 100676, 100680, 100684, 100688, 100692,
+ 100696, 100700, 100704, 100708, 100712, 100716, 100720, 100724, 100728,
+ 100732, 100736, 100740, 100744, 100748, 100752, 100756, 100760, 100764,
+ 100768, 100772, 100776, 100780, 100784, 100788, 100792, 100796, 100800,
+ 100804, 100808, 100812, 100816, 100820, 100824, 100828, 100832, 100836,
+ 100840, 100844, 100848, 100852, 100856, 100860, 100864, 100868, 100872,
+ 100876, 100880, 100884, 100888, 100892, 100896, 100900, 100904, 100908,
+ 100912, 100916, 100920, 100924, 100928, 100932, 100936, 100940, 100944,
+ 100948, 100952, 100956, 100960, 100964, 100968, 100972, 100976, 100980,
+ 100984, 100988, 100992, 100996, 101000, 101004, 101008, 101012, 101016,
+ 101020, 101024, 101028, 101032, 101036, 101040, 101044, 101048, 101052,
+ 101056, 101060, 101064, 101068, 101072, 101076, 101080, 101084, 101088,
+ 101092, 101096, 101100, 101104, 101108, 101112, 101116, 101120, 101124,
+ 101128, 101132, 101136, 101140, 101144, 101148, 101152, 101156, 101160,
+ 101164, 101168, 101172, 101176, 101180, 101184, 101188, 101192, 101196,
+ 101200, 101204, 101208, 101212, 101216, 101220, 101224, 101228, 101232,
+ 101236, 101240, 101244, 101248, 101252, 101256, 101260, 101264, 101268,
+ 101272, 101276, 101280, 101284, 101288, 101292, 101296, 101300, 101304,
+ 101308, 101312, 101316, 101320, 101324, 101328, 101332, 101336, 101340,
+ 101344, 101348, 101352, 101356, 101360, 101364, 101368, 101372, 101376,
+ 101380, 101384, 101388, 101392, 101396, 101400, 101404, 101408, 101412,
+ 101416, 101420, 101424, 101428, 101432, 101436, 101440, 101444, 101448,
+ 101452, 101456, 101460, 101464, 101468, 101472, 101476, 101480, 101484,
+ 101488, 101492, 101496, 101500, 101504, 101508, 101512, 101516, 101520,
+ 101524, 101528, 101532, 101536, 101540, 101544, 101548, 101552, 101556,
+ 101560, 101564, 101568, 101572, 101576, 101580, 101584, 101588, 101592,
+ 101596, 101600, 101604, 101608, 101612, 101616, 101620, 101624, 101628,
+ 101632, 101636, 101640, 101644, 101648, 101652, 101656, 101660, 101664,
+ 101668, 101672, 101676, 101680, 101684, 101688, 101692, 101696, 101700,
+ 101704, 101708, 101712, 101716, 101720, 101724, 101728, 101732, 101736,
+ 101740, 101744, 101748, 101752, 101756, 101760, 101764, 101768, 101772,
+ 101776, 101780, 101784, 101788, 101792, 101796, 101800, 101804, 101808,
+ 101812, 101816, 101820, 101824, 101828, 101832, 101836, 101840, 101844,
+ 101848, 101852, 101856, 101860, 101864, 101868, 101872, 101876, 101880,
+ 101884, 101888, 101892, 101896, 101900, 101904, 101908, 101912, 101916,
+ 101920, 101924, 101928, 101932, 101936, 101940, 101944, 101948, 101952,
+ 101956, 101960, 101964, 101968, 101972, 101976, 101980, 101984, 101988,
+ 101992, 101996, 102000, 102004, 102008, 102012, 102016, 102020, 102024,
+ 102028, 102032, 102036, 102040, 102044, 102048, 102052, 102056, 102060,
+ 102064, 102068, 102072, 102076, 102080, 102084, 102088, 102092, 102096,
+ 102100, 102104, 102108, 102112, 102116, 102120, 102124, 102128, 102132,
+ 102136, 102140, 102144, 102148, 102152, 102156, 102160, 102164, 102168,
+ 102172, 102176, 102180, 102184, 102188, 102192, 102196, 102200, 102204,
+ 102208, 102212, 102216, 102220, 102224, 102228, 102232, 102236, 102240,
+ 102244, 102248, 102252, 102256, 102260, 102264, 102268, 102272, 102276,
+ 102280, 102284, 102288, 102292, 102296, 102300, 102304, 102308, 102312,
+ 102316, 102320, 102324, 102328, 102332, 102336, 102340, 102344, 102348,
+ 102352, 102356, 102360, 102364, 102368, 102372, 102376, 102380, 102384,
+ 102388, 102392, 102396, 102400, 102404, 102408, 102412, 102416, 102420,
+ 102424, 102428, 102432, 102436, 102440, 102444, 102448, 102452, 102456,
+ 102460, 102464, 102468, 102472, 102476, 102480, 102484, 102488, 102492,
+ 102496, 102500, 102504, 102508, 102512, 102516, 102520, 102524, 102528,
+ 102532, 102536, 102540, 102544, 102548, 102552, 102556, 102560, 102564,
+ 102568, 102572, 102576, 102580, 102584, 102588, 102592, 102596, 102600,
+ 102604, 102608, 102612, 102616, 102620, 102624, 102628, 102632, 102636,
+ 102640, 102644, 102648, 102652, 102656, 102660, 102664, 102668, 102672,
+ 102676, 102680, 102684, 102688, 102692, 102696, 102700, 102704, 102708,
+ 102712, 102716, 102720, 102724, 102728, 102732, 102736, 102740, 102744,
+ 102748, 102752, 102756, 102760, 102764, 102768, 102772, 102776, 102780,
+ 102784, 102788, 102792, 102796, 102800, 102804, 102808, 102812, 102816,
+ 102820, 102824, 102828, 102832, 102836, 102840, 102844, 102848, 102852,
+ 102856, 102860, 102864, 102868, 102872, 102876, 102880, 102884, 102888,
+ 102892, 102896, 102900, 102904, 102908, 102912, 102916, 102920, 102924,
+ 102928, 102932, 102936, 102940, 102944, 102948, 102952, 102956, 102960,
+ 102964, 102968, 102972, 102976, 102980, 102984, 102988, 102992, 102996,
+ 103000, 103004, 103008, 103012, 103016, 103020, 103024, 103028, 103032,
+ 103036, 103040, 103044, 103048, 103052, 103056, 103060, 103064, 103068,
+ 103072, 103076, 103080, 103084, 103088, 103092, 103096, 103100, 103104,
+ 103108, 103112, 103116, 103120, 103124, 103128, 103132, 103136, 103140,
+ 103144, 103148, 103152, 103156, 103160, 103164, 103168, 103172, 103176,
+ 103180, 103184, 103188, 103192, 103196, 103200, 103204, 103208, 103212,
+ 103216, 103220, 103224, 103228, 103232, 103236, 103240, 103244, 103248,
+ 103252, 103256, 103260, 103264, 103268, 103272, 103276, 103280, 103284,
+ 103288, 103292, 103296, 103300, 103304, 103308, 103312, 103316, 103320,
+ 103324, 103328, 103332, 103336, 103340, 103344, 103348, 103352, 103356,
+ 103360, 103364, 103368, 103372, 103376, 103380, 103384, 103388, 103392,
+ 103396, 103400, 103404, 103408, 103412, 103416, 103420, 103424, 103428,
+ 103432, 103436, 103440, 103444, 103448, 103452, 103456, 103460, 103464,
+ 103468, 103472, 103476, 103480, 103484, 103488, 103492, 103496, 103500,
+ 103504, 103508, 103512, 103516, 103520, 103524, 103528, 103532, 103536,
+ 103540, 103544, 103548, 103552, 103556, 103560, 103564, 103568, 103572,
+ 103576, 103580, 103584, 103588, 103592, 103596, 103600, 103604, 103608,
+ 103612, 103616, 103620, 103624, 103628, 103632, 103636, 103640, 103644,
+ 103648, 103652, 103656, 103660, 103664, 103668, 103672, 103676, 103680,
+ 103684, 103688, 103692, 103696, 103700, 103704, 103708, 103712, 103716,
+ 103720, 103724, 103728, 103732, 103736, 103740, 103744, 103748, 103752,
+ 103756, 103760, 103764, 103768, 103772, 103776, 103780, 103784, 103788,
+ 103792, 103796, 103800, 103804, 103808, 103812, 103816, 103820, 103824,
+ 103828, 103832, 103836, 103840, 103844, 103848, 103852, 103856, 103860,
+ 103864, 103868, 103872, 103876, 103880, 103884, 103888, 103892, 103896,
+ 103900, 103904, 103908, 103912, 103916, 103920, 103924, 103928, 103932,
+ 103936, 103940, 103944, 103948, 103952, 103956, 103960, 103964, 103968,
+ 103972, 103976, 103980, 103984, 103988, 103992, 103996, 104000, 104004,
+ 104008, 104012, 104016, 104020, 104024, 104028, 104032, 104036, 104040,
+ 104044, 104048, 104052, 104056, 104060, 104064, 104068, 104072, 104076,
+ 104080, 104084, 104088, 104092, 104096, 104100, 104104, 104108, 104112,
+ 104116, 104120, 104124, 104128, 104132, 104136, 104140, 104144, 104148,
+ 104152, 104156, 104160, 104164, 104168, 104172, 104176, 104180, 104184,
+ 104188, 104192, 104196, 104200, 104204, 104208, 104212, 104216, 104220,
+ 104224, 104228, 104232, 104236, 104240, 104244, 104248, 104252, 104256,
+ 104260, 104264, 104268, 104272, 104276, 104280, 104284, 104288, 104292,
+ 104296, 104300, 104304, 104308, 104312, 104316, 104320, 104324, 104328,
+ 104332, 104336, 104340, 104344, 104348, 104352, 104356, 104360, 104364,
+ 104368, 104372, 104376, 104380, 104384, 104388, 104392, 104396, 104400,
+ 104404, 104408, 104412, 104416, 104420, 104424, 104428, 104432, 104436,
+ 104440, 104444, 104448, 104452, 104456, 104460, 104464, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 92622, 92626, 92630,
- 92634, 92638, 92642, 92646, 92650, 92654, 92658, 92663, 92668, 92673,
- 92678, 92683, 92688, 92693, 92698, 92703, 92709, 92715, 92721, 92728,
- 92735, 92742, 92749, 92756, 92763, 92770, 92777, 92784, 0, 92791, 92795,
- 92799, 92803, 92807, 92811, 92814, 92818, 92821, 92825, 92828, 92832,
- 92836, 92841, 92845, 92850, 92853, 92857, 92860, 92864, 92867, 92871,
- 92875, 92879, 92883, 92887, 92891, 92895, 92899, 92903, 92907, 92911,
- 92915, 92919, 92923, 92927, 92931, 92935, 92939, 92942, 92945, 92949,
- 92953, 92957, 92960, 92963, 92966, 92970, 92974, 92978, 92982, 92986,
- 92989, 92993, 92999, 93005, 93011, 93016, 93023, 93027, 93032, 93036,
- 93041, 93046, 93052, 93057, 93063, 93067, 93072, 93076, 93081, 93084,
- 93087, 93091, 93096, 93102, 93107, 93113, 0, 0, 0, 0, 93118, 93121,
- 93124, 93127, 93130, 93133, 93136, 93139, 93142, 93145, 93149, 93153,
- 93157, 93161, 93165, 93169, 93173, 93177, 93181, 93186, 93191, 93195,
- 93198, 93201, 93204, 93207, 93210, 93213, 93216, 93219, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93222, 93226, 93230, 93234, 93237, 93241,
- 93244, 93248, 93251, 93255, 93258, 93262, 93265, 93269, 93272, 93276,
- 93280, 93284, 93288, 93292, 93296, 93300, 93304, 93308, 93312, 93316,
- 93320, 93324, 93328, 93332, 93336, 93340, 93344, 93348, 93352, 93355,
- 93358, 93362, 93366, 93370, 93373, 93376, 93379, 93383, 93387, 93391,
- 93395, 93399, 93402, 93407, 93411, 93416, 93420, 93425, 93429, 93434,
- 93438, 93443, 93447, 93451, 93455, 93459, 93462, 93466, 93471, 93474, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 104468, 104475, 104482, 104491, 104500, 104507, 104512, 104519,
+ 104526, 104535, 104546, 104557, 104562, 104569, 104574, 104579, 104584,
+ 104589, 104594, 104599, 104604, 104609, 104614, 104619, 104624, 104631,
+ 104638, 104643, 104648, 104653, 104658, 104665, 104672, 104680, 104685,
+ 104692, 104697, 104702, 104707, 104712, 104717, 104724, 104731, 104736,
+ 104741, 104746, 104751, 104756, 104761, 104766, 104771, 104776, 104781,
+ 104786, 104791, 104796, 104801, 104806, 104811, 104816, 104821, 104826,
+ 104833, 104838, 104843, 104852, 104859, 104864, 104869, 104874, 104879,
+ 104884, 104889, 104894, 104899, 104904, 104909, 104914, 104919, 104924,
+ 104929, 104934, 104939, 104944, 104949, 104954, 104959, 104964, 104970,
+ 104978, 104984, 104992, 105000, 105008, 105014, 105020, 105026, 105032,
+ 105038, 105046, 105056, 105064, 105072, 105078, 105084, 105092, 105100,
+ 105106, 105114, 105122, 105130, 105136, 105142, 105148, 105154, 105160,
+ 105166, 105174, 105182, 105188, 105194, 105200, 105206, 105212, 105220,
+ 105226, 105232, 105238, 105244, 105250, 105256, 105264, 105270, 105276,
+ 105282, 105288, 105296, 105304, 105310, 105316, 105322, 105327, 105333,
+ 105339, 105346, 105351, 105356, 105361, 105366, 105371, 105376, 105381,
+ 105386, 105391, 105400, 105407, 105412, 105417, 105422, 105429, 105434,
+ 105439, 105444, 105451, 105456, 105461, 105466, 105471, 105476, 105481,
+ 105486, 105491, 105496, 105501, 105506, 105513, 105518, 105525, 105530,
+ 105535, 105542, 105547, 105552, 105557, 105562, 105567, 105572, 105577,
+ 105582, 105587, 105592, 105597, 105602, 105607, 105612, 105617, 105622,
+ 105627, 105632, 105637, 105644, 105649, 105654, 105659, 105664, 105669,
+ 105674, 105679, 105684, 105689, 105694, 105699, 105704, 105709, 105716,
+ 105721, 105726, 105733, 105738, 105743, 105748, 105753, 105758, 105763,
+ 105768, 105773, 105778, 105783, 105790, 105795, 105800, 105805, 105810,
+ 105815, 105822, 105829, 105834, 105839, 105844, 105849, 105854, 105859,
+ 105864, 105869, 105874, 105879, 105884, 105889, 105894, 105899, 105904,
+ 105909, 105914, 105919, 105924, 105929, 105934, 105939, 105944, 105949,
+ 105954, 105959, 105964, 105969, 105974, 105979, 105984, 105989, 105994,
+ 105999, 106004, 106009, 106016, 106021, 106026, 106031, 106036, 106041,
+ 106046, 106051, 106056, 106061, 106066, 106071, 106076, 106081, 106086,
+ 106091, 106096, 106101, 106106, 106111, 106116, 106121, 106126, 106131,
+ 106136, 106141, 106146, 106151, 106156, 106161, 106166, 106171, 106176,
+ 106181, 106186, 106191, 106196, 106201, 106206, 106211, 106216, 106221,
+ 106226, 106231, 106236, 106241, 106246, 106251, 106256, 106261, 106266,
+ 106271, 106276, 106281, 106286, 106291, 106296, 106301, 106306, 106313,
+ 106318, 106323, 106328, 106333, 106338, 106343, 106347, 106352, 106357,
+ 106362, 106367, 106372, 106377, 106382, 106387, 106392, 106397, 106402,
+ 106407, 106412, 106417, 106424, 106429, 106434, 106440, 106445, 106450,
+ 106455, 106460, 106465, 106470, 106475, 106480, 106485, 106490, 106495,
+ 106500, 106505, 106510, 106515, 106520, 106525, 106530, 106535, 106540,
+ 106545, 106550, 106555, 106560, 106565, 106570, 106575, 106580, 106585,
+ 106590, 106595, 106600, 106605, 106610, 106615, 106620, 106625, 106630,
+ 106635, 106640, 106645, 106650, 106655, 106662, 106667, 106672, 106679,
+ 106686, 106691, 106696, 106701, 106706, 106711, 106716, 106721, 106726,
+ 106731, 106736, 106741, 106746, 106751, 106756, 106761, 106766, 106771,
+ 106776, 106781, 106786, 106791, 106796, 106801, 106806, 106811, 106818,
+ 106823, 106828, 106833, 106838, 106843, 106848, 106853, 106858, 106863,
+ 106868, 106873, 106878, 106883, 106888, 106893, 106898, 106903, 106908,
+ 106915, 106920, 106925, 106930, 106935, 106940, 106945, 106950, 106956,
+ 106961, 106966, 106971, 106976, 106981, 106986, 106991, 106996, 107003,
+ 107010, 107015, 107020, 107024, 107029, 107033, 107037, 107042, 107049,
+ 107054, 107059, 107068, 107073, 107078, 107083, 107088, 107095, 107102,
+ 107107, 107112, 107117, 107122, 107129, 107134, 107139, 107144, 107149,
+ 107154, 107159, 107164, 107169, 107174, 107179, 107184, 107189, 107196,
+ 107200, 107205, 107210, 107215, 107220, 107224, 107229, 107234, 107239,
+ 107244, 107249, 107254, 107259, 107264, 107269, 107275, 107281, 107287,
+ 107293, 107299, 107305, 107311, 107317, 107323, 107329, 107335, 107341,
+ 107346, 107352, 107358, 107364, 107370, 107376, 107382, 107388, 107394,
+ 107400, 107406, 107412, 107417, 107423, 107429, 107435, 107441, 107447,
+ 107453, 107459, 107465, 107471, 107477, 107483, 107489, 107495, 107501,
+ 107507, 107513, 107519, 107525, 107531, 107537, 107542, 107548, 107554,
+ 107560, 107566, 107572, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93478, 93481, 93486, 93492, 93500,
- 93505, 93511, 93519, 93525, 93531, 93535, 93539, 93546, 93555, 93562,
- 93571, 93577, 93586, 93593, 93600, 93607, 93617, 93623, 93627, 93634,
- 93643, 93653, 93660, 93667, 93671, 93675, 93682, 93692, 93696, 93703,
- 93710, 93717, 93723, 93730, 93737, 93744, 93751, 93755, 93759, 93763,
- 93770, 93774, 93781, 93788, 93802, 93811, 93815, 93819, 93823, 93830,
- 93834, 93838, 93842, 93850, 93858, 93877, 93887, 93907, 93911, 93915,
- 93919, 93923, 93927, 93931, 93935, 93942, 93946, 93949, 93953, 93957,
- 93963, 93970, 93979, 93983, 93992, 94001, 94009, 94013, 94020, 94024,
- 94028, 94032, 94036, 94047, 94056, 94065, 94074, 94083, 94095, 94104,
- 94113, 94122, 94130, 94139, 94151, 94160, 94169, 94178, 94190, 94199,
- 94208, 94220, 94229, 94238, 94250, 94259, 94263, 94267, 94271, 94275,
- 94279, 94283, 94287, 94294, 94298, 94302, 94313, 94317, 94321, 94328,
- 94334, 94340, 94344, 94351, 94355, 94359, 94363, 94367, 94371, 94375,
- 94381, 94389, 94393, 94397, 94400, 94406, 94416, 94420, 94432, 94439,
- 94446, 94453, 94460, 94466, 94470, 94474, 94478, 94482, 94489, 94498,
- 94505, 94513, 94521, 94527, 94531, 94535, 94539, 94543, 94549, 94558,
- 94570, 94577, 94584, 94593, 94604, 94610, 94619, 94628, 94635, 94644,
- 94651, 94658, 94668, 94675, 94682, 94689, 94696, 94700, 94706, 94710,
- 94721, 94729, 94738, 94750, 94757, 94764, 94774, 94781, 94790, 94797,
- 94806, 94813, 94820, 94830, 94837, 94844, 94854, 94861, 94873, 94882,
- 94889, 94896, 94903, 94912, 94922, 94935, 94942, 94952, 94962, 94969,
- 94978, 94991, 94998, 95005, 95012, 95022, 95032, 95039, 95049, 95056,
- 95063, 95073, 95079, 95086, 95093, 95100, 95110, 95117, 95124, 95131,
- 95137, 95144, 95154, 95161, 95165, 95173, 95177, 95189, 95193, 95207,
- 95211, 95215, 95219, 95223, 95229, 95236, 95244, 95248, 95252, 95256,
- 95260, 95267, 95271, 95277, 95283, 95291, 95295, 95302, 95310, 95314,
- 95318, 95324, 95328, 95337, 95346, 95353, 95363, 95369, 95373, 95377,
- 95385, 95392, 95399, 95405, 95409, 95417, 95421, 95428, 95440, 95447,
- 95457, 95463, 95467, 95476, 95483, 95492, 95496, 95500, 95507, 95511,
- 95515, 95519, 95523, 95526, 95532, 95538, 95542, 95546, 95553, 95560,
- 95567, 95574, 95581, 95588, 95595, 95602, 95608, 95612, 95616, 95623,
- 95630, 95637, 95644, 95651, 95655, 95658, 95663, 95667, 95671, 95680,
- 95689, 95693, 95697, 95703, 95709, 95726, 95732, 95736, 95745, 95749,
- 95753, 95760, 95768, 95776, 95782, 95786, 95790, 95794, 95798, 95801,
- 95807, 95814, 95824, 95831, 95838, 95845, 95851, 95858, 95865, 95872,
- 95879, 95886, 95895, 95902, 95914, 95921, 95928, 95938, 95949, 95956,
- 95963, 95970, 95977, 95984, 95991, 95998, 96005, 96012, 96019, 96029,
- 96039, 96049, 96056, 96066, 96073, 96080, 96087, 96094, 96101, 96108,
- 96115, 96122, 96129, 96136, 96143, 96150, 96157, 96163, 96170, 96177,
- 96186, 96193, 96200, 96204, 96212, 96216, 96220, 96224, 96228, 96232,
- 96239, 96243, 96252, 96256, 96263, 96271, 96275, 96279, 96283, 96296,
- 96312, 96316, 96320, 96327, 96333, 96340, 96344, 96348, 96352, 96356,
- 96360, 96367, 96371, 96389, 96393, 96397, 96404, 96408, 96412, 96418,
- 96422, 96426, 96434, 96438, 96442, 96446, 96450, 96456, 96467, 96476,
- 96485, 96492, 96499, 96510, 96517, 96524, 96531, 96538, 96545, 96552,
- 96559, 96569, 96575, 96582, 96592, 96601, 96608, 96617, 96627, 96634,
- 96641, 96648, 96655, 96667, 96674, 96681, 96688, 96695, 96702, 96712,
- 96719, 96726, 96736, 96749, 96761, 96768, 96778, 96785, 96792, 96799,
- 96813, 96819, 96827, 96837, 96847, 96854, 96861, 96867, 96871, 96878,
- 96888, 96894, 96907, 96911, 96915, 96922, 96926, 96933, 96943, 96947,
- 96951, 96955, 96959, 96963, 96970, 96974, 96981, 96988, 96995, 97004,
- 97013, 97023, 97030, 97037, 97044, 97054, 97061, 97071, 97078, 97088,
- 97095, 97102, 97112, 97122, 97129, 97135, 97143, 97151, 97157, 97163,
- 97167, 97171, 97178, 97186, 97192, 97196, 97200, 97204, 97211, 97223,
- 97226, 97233, 97239, 97243, 97247, 97251, 97255, 97259, 97263, 97267,
- 97271, 97275, 97279, 97286, 97290, 97296, 97300, 97304, 97308, 97314,
- 97321, 97328, 97335, 97346, 97354, 97358, 97364, 97373, 97380, 97386,
- 97389, 97393, 97397, 97403, 97412, 97420, 97424, 97430, 97434, 97438,
- 97442, 97448, 97455, 97461, 97465, 97471, 97475, 97479, 97488, 97500,
- 97504, 97511, 97518, 97528, 97535, 97547, 97554, 97561, 97568, 97579,
- 97589, 97602, 97612, 97619, 97623, 97627, 97631, 97635, 97644, 97653,
- 97662, 97679, 97688, 97694, 97701, 97709, 97722, 97726, 97735, 97744,
- 97753, 97762, 97773, 97782, 97791, 97800, 97809, 97818, 97827, 97837,
- 97840, 97844, 97848, 97852, 97856, 97860, 97866, 97873, 97880, 97887,
- 97893, 97899, 97906, 97912, 97919, 97927, 97931, 97938, 97945, 97952,
- 97960, 97963, 97967, 97971, 97975, 97979, 97985, 97989, 97995, 98002,
- 98009, 98015, 98022, 98029, 98036, 98043, 98050, 98057, 98064, 98071,
- 98078, 98085, 98092, 98099, 98106, 98113, 98119, 98123, 98132, 98136,
- 98140, 98144, 98148, 98154, 98161, 98168, 98175, 98182, 98189, 98195,
- 98203, 98207, 98211, 98215, 98219, 98225, 98242, 98259, 98263, 98267,
- 98271, 98275, 98279, 98283, 98289, 98296, 98300, 98306, 98313, 98320,
- 98327, 98334, 98341, 98350, 98357, 98364, 98371, 98378, 98382, 98386,
- 98392, 98404, 98408, 98412, 98421, 98425, 98429, 98433, 98439, 98443,
- 98447, 98456, 98460, 98464, 98468, 98475, 98479, 98483, 98487, 98491,
- 98495, 98499, 98503, 98507, 98513, 98520, 98527, 98533, 98537, 98554,
- 98560, 98564, 98570, 98576, 98582, 98588, 98594, 98600, 98604, 98608,
- 98612, 98618, 98622, 98628, 98632, 98636, 98643, 98650, 98667, 98671,
- 98675, 98679, 98683, 98687, 98699, 98702, 98707, 98712, 98727, 98737,
- 98749, 98753, 98757, 98761, 98767, 98774, 98781, 98791, 98803, 98809,
- 98815, 98824, 98828, 98832, 98839, 98849, 98856, 98862, 98866, 98870,
- 98877, 98883, 98887, 98893, 98897, 98905, 98911, 98915, 98923, 98931,
- 98938, 98944, 98951, 98958, 98968, 98978, 98982, 98986, 98990, 98994,
- 99000, 99007, 99013, 99020, 99027, 99034, 99043, 99050, 99057, 99063,
- 99070, 99077, 99084, 99091, 99098, 99105, 99111, 99118, 99125, 99132,
- 99141, 99148, 99155, 99159, 99165, 99169, 99175, 99182, 99189, 99196,
- 99200, 99204, 99208, 99212, 99216, 99223, 99227, 99231, 99237, 99245,
- 99249, 99253, 99257, 99261, 99268, 99272, 99276, 99284, 99288, 99292,
- 99296, 99300, 99306, 99310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 99314, 99320, 99326, 99333, 99340, 99347, 99354, 99361, 99368,
- 99374, 99381, 99388, 99395, 99402, 99409, 99416, 99422, 99428, 99434,
- 99440, 99446, 99452, 99458, 99464, 99470, 99477, 99484, 99491, 99498,
- 99505, 99512, 99518, 99524, 99530, 99537, 99544, 99550, 99556, 99565,
- 99572, 99579, 99586, 99593, 99600, 99607, 99613, 99619, 99625, 99634,
- 99641, 99648, 99659, 99670, 99676, 99682, 99688, 99697, 99704, 99711,
- 99721, 99731, 99742, 99753, 99765, 99778, 99789, 99800, 99812, 99825,
- 99836, 99847, 99858, 99869, 99880, 99892, 99900, 99908, 99917, 99926,
- 99935, 99941, 99947, 99953, 99960, 99970, 99977, 99987, 99992, 99997,
- 100003, 100009, 100017, 100025, 100034, 100045, 100056, 100064, 100072,
- 100081, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100090, 100101, 100108,
- 100116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100124, 100128, 100132,
- 100136, 100140, 100144, 100148, 100152, 100156, 100160, 100164, 100168,
- 100172, 100176, 100180, 100184, 100188, 100192, 100196, 100200, 100204,
- 100208, 100212, 100216, 100220, 100224, 100228, 100232, 100236, 100240,
- 100244, 100248, 100252, 100256, 100260, 100264, 100268, 100272, 100276,
- 100280, 100284, 100288, 100292, 100296, 100300, 100304, 100308, 100312,
- 100316, 100320, 100324, 100328, 100332, 100336, 100340, 100344, 100348,
- 100352, 100356, 100360, 100364, 100368, 100372, 100376, 100380, 100384,
- 100388, 100392, 100396, 100400, 100404, 100408, 100412, 100416, 100420,
- 100424, 100428, 100432, 100436, 100440, 100444, 100448, 100452, 100456,
- 100460, 100464, 100468, 100472, 100476, 100480, 100484, 100488, 100492,
- 100496, 100500, 100504, 100508, 100512, 100516, 100520, 100524, 100528,
- 100532, 100536, 100540, 100544, 100548, 100552, 100556, 100560, 100564,
- 100568, 100572, 100576, 100580, 100584, 100588, 100592, 100596, 100600,
- 100604, 100608, 100612, 100616, 100620, 100624, 100628, 100632, 100636,
- 100640, 100644, 100648, 100652, 100656, 100660, 100664, 100668, 100672,
- 100676, 100680, 100684, 100688, 100692, 100696, 100700, 100704, 100708,
- 100712, 100716, 100720, 100724, 100728, 100732, 100736, 100740, 100744,
- 100748, 100752, 100756, 100760, 100764, 100768, 100772, 100776, 100780,
- 100784, 100788, 100792, 100796, 100800, 100804, 100808, 100812, 100816,
- 100820, 100824, 100828, 100832, 100836, 100840, 100844, 100848, 100852,
- 100856, 100860, 100864, 100868, 100872, 100876, 100880, 100884, 100888,
- 100892, 100896, 100900, 100904, 100908, 100912, 100916, 100920, 100924,
- 100928, 100932, 100936, 100940, 100944, 100948, 100952, 100956, 100960,
- 100964, 100968, 100972, 100976, 100980, 100984, 100988, 100992, 100996,
- 101000, 101004, 101008, 101012, 101016, 101020, 101024, 101028, 101032,
- 101036, 101040, 101044, 101048, 101052, 101056, 101060, 101064, 101068,
- 101072, 101076, 101080, 101084, 101088, 101092, 101096, 101100, 101104,
- 101108, 101112, 101116, 101120, 101124, 101128, 101132, 101136, 101140,
- 101144, 101148, 101152, 101156, 101160, 101164, 101168, 101172, 101176,
- 101180, 101184, 101188, 101192, 101196, 101200, 101204, 101208, 101212,
- 101216, 101220, 101224, 101228, 101232, 101236, 101240, 101244, 101248,
- 101252, 101256, 101260, 101264, 101268, 101272, 101276, 101280, 101284,
- 101288, 101292, 101296, 101300, 101304, 101308, 101312, 101316, 101320,
- 101324, 101328, 101332, 101336, 101340, 101344, 101348, 101352, 101356,
- 101360, 101364, 101368, 101372, 101376, 101380, 101384, 101388, 101392,
- 101396, 101400, 101404, 101408, 101412, 101416, 101420, 101424, 101428,
- 101432, 101436, 101440, 101444, 101448, 101452, 101456, 101460, 101464,
- 101468, 101472, 101476, 101480, 101484, 101488, 101492, 101496, 101500,
- 101504, 101508, 101512, 101516, 101520, 101524, 101528, 101532, 101536,
- 101540, 101544, 101548, 101552, 101556, 101560, 101564, 101568, 101572,
- 101576, 101580, 101584, 101588, 101592, 101596, 101600, 101604, 101608,
- 101612, 101616, 101620, 101624, 101628, 101632, 101636, 101640, 101644,
- 101648, 101652, 101656, 101660, 101664, 101668, 101672, 101676, 101680,
- 101684, 101688, 101692, 101696, 101700, 101704, 101708, 101712, 101716,
- 101720, 101724, 101728, 101732, 101736, 101740, 101744, 101748, 101752,
- 101756, 101760, 101764, 101768, 101772, 101776, 101780, 101784, 101788,
- 101792, 101796, 101800, 101804, 101808, 101812, 101816, 101820, 101824,
- 101828, 101832, 101836, 101840, 101844, 101848, 101852, 101856, 101860,
- 101864, 101868, 101872, 101876, 101880, 101884, 101888, 101892, 101896,
- 101900, 101904, 101908, 101912, 101916, 101920, 101924, 101928, 101932,
- 101936, 101940, 101944, 101948, 101952, 101956, 101960, 101964, 101968,
- 101972, 101976, 101980, 101984, 101988, 101992, 101996, 102000, 102004,
- 102008, 102012, 102016, 102020, 102024, 102028, 102032, 102036, 102040,
- 102044, 102048, 102052, 102056, 102060, 102064, 102068, 102072, 102076,
- 102080, 102084, 102088, 102092, 102096, 102100, 102104, 102108, 102112,
- 102116, 102120, 102124, 102128, 102132, 102136, 102140, 102144, 102148,
- 102152, 102156, 102160, 102164, 102168, 102172, 102176, 102180, 102184,
- 102188, 102192, 102196, 102200, 102204, 102208, 102212, 102216, 102220,
- 102224, 102228, 102232, 102236, 102240, 102244, 102248, 102252, 102256,
- 102260, 102264, 102268, 102272, 102276, 102280, 102284, 102288, 102292,
- 102296, 102300, 102304, 102308, 102312, 102316, 102320, 102324, 102328,
- 102332, 102336, 102340, 102344, 102348, 102352, 102356, 102360, 102364,
- 102368, 102372, 102376, 102380, 102384, 102388, 102392, 102396, 102400,
- 102404, 102408, 102412, 102416, 102420, 102424, 102428, 102432, 102436,
- 102440, 102444, 102448, 102452, 102456, 102460, 102464, 102468, 102472,
- 102476, 102480, 102484, 102488, 102492, 102496, 102500, 102504, 102508,
- 102512, 102516, 102520, 102524, 102528, 102532, 102536, 102540, 102544,
- 102548, 102552, 102556, 102560, 102564, 102568, 102572, 102576, 102580,
- 102584, 102588, 102592, 102596, 102600, 102604, 102608, 102612, 102616,
- 102620, 102624, 102628, 102632, 102636, 102640, 102644, 102648, 102652,
- 102656, 102660, 102664, 102668, 102672, 102676, 102680, 102684, 102688,
- 102692, 102696, 102700, 102704, 102708, 102712, 102716, 102720, 102724,
- 102728, 102732, 102736, 102740, 102744, 102748, 102752, 102756, 102760,
- 102764, 102768, 102772, 102776, 102780, 102784, 102788, 102792, 102796,
- 102800, 102804, 102808, 102812, 102816, 102820, 102824, 102828, 102832,
- 102836, 102840, 102844, 102848, 102852, 102856, 102860, 102864, 102868,
- 102872, 102876, 102880, 102884, 102888, 102892, 102896, 102900, 102904,
- 102908, 102912, 102916, 102920, 102924, 102928, 102932, 102936, 102940,
- 102944, 102948, 102952, 102956, 102960, 102964, 102968, 102972, 102976,
- 102980, 102984, 102988, 102992, 102996, 103000, 103004, 103008, 103012,
- 103016, 103020, 103024, 103028, 103032, 103036, 103040, 103044, 103048,
- 103052, 103056, 103060, 103064, 103068, 103072, 103076, 103080, 103084,
- 103088, 103092, 103096, 103100, 103104, 103108, 103112, 103116, 103120,
- 103124, 103128, 103132, 103136, 103140, 103144, 103148, 103152, 103156,
- 103160, 103164, 103168, 103172, 103176, 103180, 103184, 103188, 103192,
- 103196, 103200, 103204, 103208, 103212, 103216, 103220, 103224, 103228,
- 103232, 103236, 103240, 103244, 103248, 103252, 103256, 103260, 103264,
- 103268, 103272, 103276, 103280, 103284, 103288, 103292, 103296, 103300,
- 103304, 103308, 103312, 103316, 103320, 103324, 103328, 103332, 103336,
- 103340, 103344, 103348, 103352, 103356, 103360, 103364, 103368, 103372,
- 103376, 103380, 103384, 103388, 103392, 103396, 103400, 103404, 103408,
- 103412, 103416, 103420, 103424, 103428, 103432, 103436, 103440, 103444,
- 103448, 103452, 103456, 103460, 103464, 103468, 103472, 103476, 103480,
- 103484, 103488, 103492, 103496, 103500, 103504, 103508, 103512, 103516,
- 103520, 103524, 103528, 103532, 103536, 103540, 103544, 103548, 103552,
- 103556, 103560, 103564, 103568, 103572, 103576, 103580, 103584, 103588,
- 103592, 103596, 103600, 103604, 103608, 103612, 103616, 103620, 103624,
- 103628, 103632, 103636, 103640, 103644, 103648, 103652, 103656, 103660,
- 103664, 103668, 103672, 103676, 103680, 103684, 103688, 103692, 103696,
- 103700, 103704, 103708, 103712, 103716, 103720, 103724, 103728, 103732,
- 103736, 103740, 103744, 103748, 103752, 103756, 103760, 103764, 103768,
- 103772, 103776, 103780, 103784, 103788, 103792, 103796, 103800, 103804,
- 103808, 103812, 103816, 103820, 103824, 103828, 103832, 103836, 103840,
- 103844, 103848, 103852, 103856, 103860, 103864, 103868, 103872, 103876,
- 103880, 103884, 103888, 103892, 103896, 103900, 103904, 103908, 103912,
- 103916, 103920, 103924, 103928, 103932, 103936, 103940, 103944, 103948,
- 103952, 103956, 103960, 103964, 103968, 103972, 103976, 103980, 103984,
- 103988, 103992, 103996, 104000, 104004, 104008, 104012, 104016, 104020,
- 104024, 104028, 104032, 104036, 104040, 104044, 104048, 104052, 104056,
- 104060, 104064, 104068, 104072, 104076, 104080, 104084, 104088, 104092,
- 104096, 104100, 104104, 104108, 104112, 104116, 104120, 104124, 104128,
- 104132, 104136, 104140, 104144, 104148, 104152, 104156, 104160, 104164,
- 104168, 104172, 104176, 104180, 104184, 104188, 104192, 104196, 104200,
- 104204, 104208, 104212, 104216, 104220, 104224, 104228, 104232, 104236,
- 104240, 104244, 104248, 104252, 104256, 104260, 104264, 104268, 104272,
- 104276, 104280, 104284, 104288, 104292, 104296, 104300, 104304, 104308,
- 104312, 104316, 104320, 104324, 104328, 104332, 104336, 104340, 104344,
- 104348, 104352, 104356, 104360, 104364, 104368, 104372, 104376, 104380,
- 104384, 104388, 104392, 104396, 104400, 104404, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 107578, 107583, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 104408, 104415, 104422, 104431, 104440, 104447, 104452, 104459,
- 104466, 104475, 104486, 104497, 104502, 104509, 104514, 104519, 104524,
- 104529, 104534, 104539, 104544, 104549, 104554, 104559, 104564, 104571,
- 104578, 104583, 104588, 104593, 104598, 104605, 104612, 104620, 104625,
- 104632, 104637, 104642, 104647, 104652, 104657, 104664, 104671, 104676,
- 104681, 104686, 104691, 104696, 104701, 104706, 104711, 104716, 104721,
- 104726, 104731, 104736, 104741, 104746, 104751, 104756, 104761, 104766,
- 104773, 104778, 104783, 104792, 104799, 104804, 104809, 104814, 104819,
- 104824, 104829, 104834, 104839, 104844, 104849, 104854, 104859, 104864,
- 104869, 104874, 104879, 104884, 104889, 104894, 104899, 104904, 104910,
- 104918, 104924, 104932, 104940, 104948, 104954, 104960, 104966, 104972,
- 104978, 104986, 104996, 105004, 105012, 105018, 105024, 105032, 105040,
- 105046, 105054, 105062, 105070, 105076, 105082, 105088, 105094, 105100,
- 105106, 105114, 105122, 105128, 105134, 105140, 105146, 105152, 105160,
- 105166, 105172, 105178, 105184, 105190, 105196, 105204, 105210, 105216,
- 105222, 105228, 105236, 105244, 105250, 105256, 105262, 105267, 105273,
- 105279, 105286, 105291, 105296, 105301, 105306, 105311, 105316, 105321,
- 105326, 105331, 105340, 105347, 105352, 105357, 105362, 105369, 105374,
- 105379, 105384, 105391, 105396, 105401, 105406, 105411, 105416, 105421,
- 105426, 105431, 105436, 105441, 105446, 105453, 105458, 105465, 105470,
- 105475, 105482, 105487, 105492, 105497, 105502, 105507, 105512, 105517,
- 105522, 105527, 105532, 105537, 105542, 105547, 105552, 105557, 105562,
- 105567, 105572, 105577, 105584, 105589, 105594, 105599, 105604, 105609,
- 105614, 105619, 105624, 105629, 105634, 105639, 105644, 105649, 105656,
- 105661, 105666, 105673, 105678, 105683, 105688, 105693, 105698, 105703,
- 105708, 105713, 105718, 105723, 105730, 105735, 105740, 105745, 105750,
- 105755, 105762, 105769, 105774, 105779, 105784, 105789, 105794, 105799,
- 105804, 105809, 105814, 105819, 105824, 105829, 105834, 105839, 105844,
- 105849, 105854, 105859, 105864, 105869, 105874, 105879, 105884, 105889,
- 105894, 105899, 105904, 105909, 105914, 105919, 105924, 105929, 105934,
- 105939, 105944, 105949, 105956, 105961, 105966, 105971, 105976, 105981,
- 105986, 105991, 105996, 106001, 106006, 106011, 106016, 106021, 106026,
- 106031, 106036, 106041, 106046, 106051, 106056, 106061, 106066, 106071,
- 106076, 106081, 106086, 106091, 106096, 106101, 106106, 106111, 106116,
- 106121, 106126, 106131, 106136, 106141, 106146, 106151, 106156, 106161,
- 106166, 106171, 106176, 106181, 106186, 106191, 106196, 106201, 106206,
- 106211, 106216, 106221, 106226, 106231, 106236, 106241, 106246, 106253,
- 106258, 106263, 106268, 106273, 106278, 106283, 106287, 106292, 106297,
- 106302, 106307, 106312, 106317, 106322, 106327, 106332, 106337, 106342,
- 106347, 106352, 106357, 106364, 106369, 106374, 106380, 106385, 106390,
- 106395, 106400, 106405, 106410, 106415, 106420, 106425, 106430, 106435,
- 106440, 106445, 106450, 106455, 106460, 106465, 106470, 106475, 106480,
- 106485, 106490, 106495, 106500, 106505, 106510, 106515, 106520, 106525,
- 106530, 106535, 106540, 106545, 106550, 106555, 106560, 106565, 106570,
- 106575, 106580, 106585, 106590, 106595, 106602, 106607, 106612, 106619,
- 106626, 106631, 106636, 106641, 106646, 106651, 106656, 106661, 106666,
- 106671, 106676, 106681, 106686, 106691, 106696, 106701, 106706, 106711,
- 106716, 106721, 106726, 106731, 106736, 106741, 106746, 106751, 106758,
- 106763, 106768, 106773, 106778, 106783, 106788, 106793, 106798, 106803,
- 106808, 106813, 106818, 106823, 106828, 106833, 106838, 106843, 106848,
- 106855, 106860, 106865, 106870, 106875, 106880, 106885, 106890, 106896,
- 106901, 106906, 106911, 106916, 106921, 106926, 106931, 106936, 106943,
- 106950, 106955, 106960, 106964, 106969, 106973, 106977, 106982, 106989,
- 106994, 106999, 107008, 107013, 107018, 107023, 107028, 107035, 107042,
- 107047, 107052, 107057, 107062, 107069, 107074, 107079, 107084, 107089,
- 107094, 107099, 107104, 107109, 107114, 107119, 107124, 107129, 107136,
- 107140, 107145, 107150, 107155, 107160, 107164, 107169, 107174, 107179,
- 107184, 107189, 107194, 107199, 107204, 107209, 107215, 107221, 107227,
- 107233, 107239, 107245, 107251, 107257, 107263, 107269, 107275, 107281,
- 107286, 107292, 107298, 107304, 107310, 107316, 107322, 107328, 107334,
- 107340, 107346, 107352, 107357, 107363, 107369, 107375, 107381, 107387,
- 107393, 107399, 107405, 107411, 107417, 107423, 107429, 107435, 107441,
- 107447, 107453, 107459, 107465, 107471, 107477, 107482, 107488, 107494,
- 107500, 107506, 107512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 107518, 107523, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 107589, 107594,
+ 107599, 107604, 107611, 107618, 107625, 107632, 107637, 107642, 107647,
+ 107652, 107659, 107664, 107671, 107678, 107683, 107688, 107693, 107700,
+ 107705, 107710, 107717, 107724, 107729, 107734, 107739, 107746, 107753,
+ 107760, 107765, 107770, 107777, 107784, 107791, 107798, 107803, 107808,
+ 107813, 107820, 107825, 107830, 107835, 107842, 107851, 107858, 107863,
+ 107868, 107873, 107878, 107883, 107888, 107897, 107904, 107909, 107916,
+ 107923, 107928, 107933, 107938, 107945, 107950, 107957, 107964, 107969,
+ 107974, 107979, 107986, 107993, 107998, 108003, 108010, 108017, 108024,
+ 108029, 108034, 108039, 108044, 108051, 108060, 108069, 108074, 108081,
+ 108090, 108095, 108100, 108105, 108110, 108117, 108124, 108131, 108138,
+ 108143, 108148, 108153, 108160, 108167, 108174, 108179, 108184, 108191,
+ 108196, 108203, 108208, 108215, 108220, 108227, 108234, 108239, 108244,
+ 108249, 108254, 108259, 108264, 108269, 108274, 108279, 108286, 108293,
+ 108300, 108307, 108314, 108323, 108328, 108333, 108340, 108347, 108352,
+ 108359, 108366, 108373, 108380, 108387, 108394, 108399, 108404, 108409,
+ 108414, 108419, 108428, 108437, 108446, 108455, 108464, 108473, 108482,
+ 108491, 108496, 108507, 108518, 108527, 108532, 108537, 108542, 108547,
+ 108556, 108563, 108570, 108577, 108584, 108591, 108598, 108607, 108616,
+ 108627, 108636, 108647, 108656, 108663, 108672, 108683, 108692, 108701,
+ 108710, 108719, 108726, 108733, 108740, 108749, 108758, 108769, 108778,
+ 108787, 108798, 108803, 108808, 108819, 108827, 108836, 108845, 108854,
+ 108865, 108874, 108883, 108894, 108905, 108916, 108927, 108938, 108949,
+ 108956, 108963, 108970, 108977, 108988, 108997, 109004, 109011, 109018,
+ 109029, 109040, 109051, 109062, 109073, 109084, 109095, 109106, 109113,
+ 109120, 109129, 109138, 109145, 109152, 109159, 109168, 109177, 109186,
+ 109193, 109202, 109211, 109220, 109227, 109234, 109239, 109245, 109252,
+ 109259, 109266, 109273, 109280, 109287, 109296, 109305, 109314, 109323,
+ 109330, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109339, 109345, 109350, 109355,
+ 109362, 109368, 109374, 109380, 109386, 109392, 109398, 109404, 109408,
+ 109412, 109418, 109424, 109430, 109434, 109439, 109444, 109448, 109452,
+ 109455, 109461, 109467, 109473, 109479, 109485, 109491, 109497, 109503,
+ 109509, 109519, 109529, 109535, 109541, 109551, 109561, 109567, 0, 0,
+ 109573, 109581, 109586, 109591, 109597, 109603, 109609, 109615, 109621,
+ 109627, 109634, 109641, 109647, 109653, 109659, 109665, 109671, 109677,
+ 109683, 109689, 109694, 109700, 109706, 109712, 109718, 109724, 109733,
+ 109739, 109744, 109752, 109759, 109766, 109775, 109784, 109793, 109802,
+ 109811, 109820, 109829, 109838, 109848, 109858, 109866, 109874, 109883,
+ 109892, 109898, 109904, 109910, 109916, 109924, 109932, 109936, 109942,
+ 109947, 109953, 109959, 109965, 109971, 109977, 109986, 109991, 109998,
+ 110003, 110008, 110013, 110019, 110025, 110031, 110038, 110043, 110048,
+ 110053, 110058, 110063, 110069, 110075, 110081, 110087, 110093, 110099,
+ 110105, 110111, 110116, 110121, 110126, 110131, 110136, 110141, 110146,
+ 110151, 110157, 110163, 110168, 110173, 110178, 110183, 110188, 110194,
+ 110201, 110205, 110209, 110213, 110217, 110221, 110225, 110229, 110233,
+ 110241, 110251, 110255, 110259, 110265, 110271, 110277, 110283, 110289,
+ 110295, 110301, 110307, 110313, 110319, 110325, 110331, 110337, 110343,
+ 110347, 110351, 110358, 110364, 110370, 110376, 110381, 110388, 110393,
+ 110399, 110405, 110411, 110417, 110422, 110426, 110432, 110436, 110440,
+ 110444, 110450, 110456, 110460, 110466, 110472, 110478, 110484, 110490,
+ 110498, 110506, 110512, 110518, 110524, 110530, 110542, 110554, 110568,
+ 110580, 110592, 110606, 110620, 110634, 110638, 110646, 110654, 110659,
+ 110663, 110667, 110671, 110675, 110679, 110683, 110687, 110693, 110699,
+ 110705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110711, 110717, 110723, 110729,
+ 110735, 110741, 110747, 110753, 110759, 110765, 110771, 110777, 110783,
+ 110789, 110795, 110801, 110807, 110813, 110819, 110825, 110831, 110837,
+ 110843, 110849, 110855, 110861, 110867, 110873, 110879, 110885, 110891,
+ 110897, 110903, 110909, 110915, 110921, 110927, 110933, 110939, 110945,
+ 110951, 110957, 110963, 110969, 110975, 110981, 110987, 110993, 110999,
+ 111005, 111011, 111017, 111023, 111029, 111035, 111041, 111047, 111053,
+ 111059, 111065, 111071, 111077, 111083, 111089, 111095, 111101, 111107,
+ 111112, 111117, 111122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111126, 111131,
+ 111138, 111145, 111152, 111159, 111164, 111168, 111174, 111178, 111182,
+ 111188, 111192, 111196, 111200, 111206, 111213, 111217, 111221, 111225,
+ 111229, 111233, 111237, 111243, 111247, 111251, 111255, 111259, 111263,
+ 111267, 111271, 111275, 111279, 111283, 111287, 111291, 111296, 111300,
+ 111304, 111308, 111312, 111316, 111320, 111324, 111328, 111332, 111339,
+ 111343, 111351, 111355, 111359, 111363, 111367, 111371, 111375, 111379,
+ 111386, 111390, 111394, 111398, 111402, 111406, 111412, 111416, 111422,
+ 111426, 111430, 111434, 111438, 111442, 111446, 111450, 111454, 111458,
+ 111462, 111466, 111470, 111474, 111478, 111482, 111486, 111490, 111494,
+ 111498, 111506, 111510, 111514, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111518,
+ 111526, 111534, 111542, 111550, 111558, 111566, 111574, 111582, 111590,
+ 111598, 111606, 111614, 111622, 111630, 111638, 111646, 111654, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111662, 111666, 111671, 111676, 111681,
+ 111685, 111690, 111695, 111700, 111704, 111709, 111714, 111718, 111722,
+ 111726, 111730, 111735, 111740, 111744, 111748, 111753, 111757, 111762,
+ 111767, 111772, 111777, 111782, 111786, 111791, 111796, 111801, 111805,
+ 111810, 111815, 111820, 111824, 111829, 111834, 111838, 111842, 111846,
+ 111850, 111855, 111860, 111864, 111868, 111873, 111877, 111882, 111887,
+ 111892, 111897, 111902, 111906, 111911, 111916, 111921, 111925, 111930,
+ 111935, 111940, 111944, 111949, 111954, 111958, 111962, 111966, 111970,
+ 111975, 111980, 111984, 111988, 111993, 111997, 112002, 112007, 112012,
+ 112017, 112022, 112026, 112031, 112036, 112041, 112045, 112050, 0,
+ 112055, 112059, 112064, 112069, 112073, 112077, 112081, 112085, 112090,
+ 112095, 112099, 112103, 112108, 112112, 112117, 112122, 112127, 112132,
+ 112137, 112142, 112148, 112154, 112160, 112165, 112171, 112177, 112183,
+ 112188, 112194, 112200, 112205, 112210, 112215, 112220, 112226, 112232,
+ 112237, 112242, 112248, 112253, 112259, 112265, 112271, 112277, 112283,
+ 112288, 112294, 112300, 112306, 112311, 112317, 112323, 112329, 112334,
+ 112340, 112346, 112351, 112356, 112361, 112366, 112372, 112378, 112383,
+ 112388, 112394, 112399, 112405, 112411, 112417, 112423, 112429, 0,
+ 112433, 112438, 0, 0, 112443, 0, 0, 112448, 112453, 0, 0, 112458, 112462,
+ 112466, 112471, 0, 112476, 112480, 112485, 112489, 112494, 112499,
+ 112504, 112509, 112514, 112518, 112523, 112528, 0, 112533, 0, 112538,
+ 112543, 112547, 112552, 112557, 112561, 112565, 0, 112569, 112574,
+ 112579, 112583, 112587, 112592, 112596, 112601, 112606, 112611, 112616,
+ 112621, 112626, 112632, 112638, 112644, 112649, 112655, 112661, 112667,
+ 112672, 112678, 112684, 112689, 112694, 112699, 112704, 112710, 112716,
+ 112721, 112726, 112732, 112737, 112743, 112749, 112755, 112761, 112767,
+ 112772, 112778, 112784, 112790, 112795, 112801, 112807, 112813, 112818,
+ 112824, 112830, 112835, 112840, 112845, 112850, 112856, 112862, 112867,
+ 112872, 112878, 112883, 112889, 112895, 112901, 112907, 112913, 112917,
+ 0, 112922, 112927, 112931, 112936, 0, 0, 112941, 112946, 112951, 112955,
+ 112959, 112963, 112967, 112972, 0, 112977, 112981, 112986, 112990,
+ 112995, 113000, 113005, 0, 113010, 113014, 113019, 113024, 113029,
+ 113033, 113038, 113043, 113048, 113052, 113057, 113062, 113066, 113070,
+ 113074, 113078, 113083, 113088, 113092, 113096, 113101, 113105, 113110,
+ 113115, 113120, 113125, 113130, 113134, 0, 113139, 113144, 113148,
+ 113153, 0, 113158, 113162, 113167, 113172, 113176, 0, 113180, 0, 0, 0,
+ 113184, 113188, 113193, 113197, 113202, 113207, 113212, 0, 113217,
+ 113221, 113226, 113231, 113236, 113240, 113245, 113250, 113255, 113259,
+ 113264, 113269, 113273, 113277, 113281, 113285, 113290, 113295, 113299,
+ 113303, 113308, 113312, 113317, 113322, 113327, 113332, 113337, 113342,
+ 113348, 113354, 113360, 113365, 113371, 113377, 113383, 113388, 113394,
+ 113400, 113405, 113410, 113415, 113420, 113426, 113432, 113437, 113442,
+ 113448, 113453, 113459, 113465, 113471, 113477, 113483, 113488, 113494,
+ 113500, 113506, 113511, 113517, 113523, 113529, 113534, 113540, 113546,
+ 113551, 113556, 113561, 113566, 113572, 113578, 113583, 113588, 113594,
+ 113599, 113605, 113611, 113617, 113623, 113629, 113633, 113638, 113643,
+ 113648, 113652, 113657, 113662, 113667, 113671, 113676, 113681, 113685,
+ 113689, 113693, 113697, 113702, 113707, 113711, 113715, 113720, 113724,
+ 113729, 113734, 113739, 113744, 113749, 113753, 113758, 113763, 113768,
+ 113772, 113777, 113782, 113787, 113791, 113796, 113801, 113805, 113809,
+ 113813, 113817, 113822, 113827, 113831, 113835, 113840, 113844, 113849,
+ 113854, 113859, 113864, 113869, 113874, 113880, 113886, 113892, 113897,
+ 113903, 113909, 113915, 113920, 113926, 113932, 113937, 113942, 113947,
+ 113952, 113958, 113964, 113969, 113974, 113980, 113985, 113991, 113997,
+ 114003, 114009, 114015, 114020, 114026, 114032, 114038, 114043, 114049,
+ 114055, 114061, 114066, 114072, 114078, 114083, 114088, 114093, 114098,
+ 114104, 114110, 114115, 114120, 114126, 114131, 114137, 114143, 114149,
+ 114155, 114161, 114166, 114172, 114178, 114184, 114189, 114195, 114201,
+ 114207, 114212, 114218, 114224, 114229, 114234, 114239, 114244, 114250,
+ 114256, 114261, 114266, 114272, 114277, 114283, 114289, 114295, 114301,
+ 114307, 114312, 114318, 114324, 114330, 114335, 114341, 114347, 114353,
+ 114358, 114364, 114370, 114375, 114380, 114385, 114390, 114396, 114402,
+ 114407, 114412, 114418, 114423, 114429, 114435, 114441, 114447, 114453,
+ 114459, 114466, 114473, 114480, 114486, 114493, 114500, 114507, 114513,
+ 114520, 114527, 114533, 114539, 114545, 114551, 114558, 114565, 114571,
+ 114577, 114584, 114590, 114597, 114604, 114611, 114618, 114625, 114631,
+ 114638, 114645, 114652, 114658, 114665, 114672, 114679, 114685, 114692,
+ 114699, 114705, 114711, 114717, 114723, 114730, 114737, 114743, 114749,
+ 114756, 114762, 114769, 114776, 114783, 114790, 114797, 114802, 114808,
+ 114814, 114820, 114825, 114831, 114837, 114843, 114848, 114854, 114860,
+ 114865, 114870, 114875, 114880, 114886, 114892, 114897, 114902, 114908,
+ 114913, 114919, 114925, 114931, 114937, 114943, 114948, 114954, 114960,
+ 114966, 114971, 114977, 114983, 114989, 114994, 115000, 115006, 115011,
+ 115016, 115021, 115026, 115032, 115038, 115043, 115048, 115054, 115059,
+ 115065, 115071, 115077, 115083, 115089, 115095, 0, 0, 115102, 115107,
+ 115112, 115117, 115122, 115127, 115132, 115137, 115142, 115147, 115152,
+ 115157, 115162, 115167, 115172, 115177, 115182, 115187, 115193, 115198,
+ 115203, 115208, 115213, 115218, 115223, 115228, 115232, 115237, 115242,
+ 115247, 115252, 115257, 115262, 115267, 115272, 115277, 115282, 115287,
+ 115292, 115297, 115302, 115307, 115312, 115317, 115323, 115328, 115333,
+ 115338, 115343, 115348, 115353, 115358, 115364, 115369, 115374, 115379,
+ 115384, 115389, 115394, 115399, 115404, 115409, 115414, 115419, 115424,
+ 115429, 115434, 115439, 115444, 115449, 115454, 115459, 115464, 115469,
+ 115474, 115479, 115485, 115490, 115495, 115500, 115505, 115510, 115515,
+ 115520, 115524, 115529, 115534, 115539, 115544, 115549, 115554, 115559,
+ 115564, 115569, 115574, 115579, 115584, 115589, 115594, 115599, 115604,
+ 115609, 115615, 115620, 115625, 115630, 115635, 115640, 115645, 115650,
+ 115656, 115661, 115666, 115671, 115676, 115681, 115686, 115692, 115698,
+ 115704, 115710, 115716, 115722, 115728, 115734, 115740, 115746, 115752,
+ 115758, 115764, 115770, 115776, 115782, 115788, 115795, 115801, 115807,
+ 115813, 115819, 115825, 115831, 115837, 115842, 115848, 115854, 115860,
+ 115866, 115872, 115878, 115884, 115890, 115896, 115902, 115908, 115914,
+ 115920, 115926, 115932, 115938, 115944, 115951, 115957, 115963, 115969,
+ 115975, 115981, 115987, 115993, 116000, 116006, 116012, 116018, 116024,
+ 116030, 116036, 116042, 116048, 116054, 116060, 116066, 116072, 116078,
+ 116084, 116090, 116096, 116102, 116108, 116114, 116120, 116126, 116132,
+ 116138, 116145, 116151, 116157, 116163, 116169, 116175, 116181, 116187,
+ 116192, 116198, 116204, 116210, 116216, 116222, 116228, 116234, 116240,
+ 116246, 116252, 116258, 116264, 116270, 116276, 116282, 116288, 116294,
+ 116301, 116307, 116313, 116319, 116325, 116331, 116337, 116343, 116350,
+ 116356, 116362, 116368, 116374, 116380, 116386, 116393, 116400, 116407,
+ 116414, 116421, 116428, 116435, 116442, 116449, 116456, 116463, 116470,
+ 116477, 116484, 116491, 116498, 116505, 116513, 116520, 116527, 116534,
+ 116541, 116548, 116555, 116562, 116568, 116575, 116582, 116589, 116596,
+ 116603, 116610, 116617, 116624, 116631, 116638, 116645, 116652, 116659,
+ 116666, 116673, 116680, 116687, 116695, 116702, 116709, 116716, 116723,
+ 116730, 116737, 116744, 116752, 116759, 116766, 116773, 116780, 116787,
+ 116794, 116799, 0, 0, 116804, 116809, 116813, 116817, 116821, 116825,
+ 116829, 116833, 116837, 116841, 116845, 116850, 116854, 116858, 116862,
+ 116866, 116870, 116874, 116878, 116882, 116886, 116891, 116895, 116899,
+ 116903, 116907, 116911, 116915, 116919, 116923, 116927, 116933, 116938,
+ 116943, 116948, 116953, 116958, 116963, 116968, 116973, 116978, 116984,
+ 116989, 116994, 116999, 117004, 117009, 117014, 117019, 117024, 117029,
+ 117036, 117043, 117050, 117057, 117064, 117071, 117077, 117084, 117091,
+ 117098, 117106, 117114, 117122, 117130, 117138, 117146, 117153, 117160,
+ 117167, 117175, 117183, 117191, 117199, 117207, 117215, 117222, 117229,
+ 117236, 117244, 117252, 117260, 117268, 117276, 117284, 117289, 117294,
+ 117299, 117304, 117309, 117314, 117319, 117324, 117329, 0, 0, 0, 0,
+ 117334, 117339, 117343, 117347, 117351, 117355, 117359, 117363, 117367,
+ 117371, 117375, 117379, 117383, 117387, 117391, 117395, 117399, 117403,
+ 117407, 117411, 117415, 117419, 117423, 117427, 117431, 117435, 117439,
+ 117443, 117447, 117451, 117455, 117459, 117463, 117467, 117471, 117475,
+ 117479, 117483, 117487, 117491, 117495, 117499, 117503, 117507, 117511,
+ 117515, 117519, 117523, 117527, 117531, 117535, 117540, 117544, 117548,
+ 117552, 117556, 117560, 117564, 117568, 117572, 117576, 117580, 117584,
+ 117588, 117592, 117596, 117600, 117604, 117608, 117612, 117616, 117620,
+ 117624, 117628, 117632, 117636, 117640, 117644, 117648, 117652, 117656,
+ 117660, 117664, 117668, 117672, 117676, 117680, 117684, 117688, 117692,
+ 117696, 117700, 117704, 117708, 117712, 117716, 117720, 117724, 117728,
+ 117732, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117736, 117742, 117751,
+ 117759, 117767, 117776, 117785, 117794, 117803, 117812, 117821, 117830,
+ 117839, 117848, 117857, 0, 0, 117866, 117875, 117883, 117891, 117900,
+ 117909, 117918, 117927, 117936, 117945, 117954, 117963, 117972, 117981,
+ 0, 0, 117990, 117999, 118007, 118015, 118024, 118033, 118042, 118051,
+ 118060, 118069, 118078, 118087, 118096, 118105, 118114, 0, 118121,
+ 118130, 118138, 118146, 118155, 118164, 118173, 118182, 118191, 118200,
+ 118209, 118218, 118227, 118236, 118245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118252,
+ 118259, 118264, 118268, 118272, 118276, 118281, 118286, 118291, 118296,
+ 118301, 0, 0, 0, 0, 0, 118306, 118311, 118317, 118323, 118329, 118334,
+ 118340, 118346, 118352, 118357, 118363, 118369, 118374, 118379, 118384,
+ 118389, 118395, 118401, 118406, 118411, 118417, 118422, 118428, 118434,
+ 118440, 118446, 118452, 118462, 118469, 118475, 118478, 0, 118481,
+ 118486, 118492, 118498, 118504, 118509, 118515, 118521, 118527, 118532,
+ 118538, 118544, 118549, 118554, 118559, 118564, 118570, 118576, 118581,
+ 118586, 118592, 118597, 118603, 118609, 118615, 118621, 118627, 118630,
+ 118633, 118636, 118639, 118642, 118645, 118651, 118658, 118665, 118672,
+ 118678, 118685, 118692, 118699, 118705, 118712, 118719, 118725, 118731,
+ 118737, 118743, 118750, 118757, 118763, 118769, 118776, 118782, 118789,
+ 118796, 118803, 118810, 0, 0, 0, 0, 0, 0, 118817, 118823, 118830, 118837,
+ 118844, 118850, 118857, 118864, 118871, 118877, 118884, 118891, 118897,
+ 118903, 118909, 118915, 118922, 118929, 118935, 118941, 118948, 118954,
+ 118961, 118968, 118975, 118982, 118989, 118998, 119002, 119005, 119009,
+ 119013, 119017, 119020, 119023, 119026, 119029, 119032, 119035, 119038,
+ 119041, 119044, 119050, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 119053, 119060, 119068, 119076, 119084,
+ 119091, 119099, 119107, 119115, 119122, 119130, 119138, 119145, 119152,
+ 119159, 119166, 119174, 119182, 119189, 119196, 119204, 119211, 119219,
+ 119227, 119235, 119243, 119251, 119255, 119259, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 119263, 119269, 119275, 119281, 119285, 119291, 119297,
+ 119303, 119309, 119315, 119321, 119327, 119333, 119339, 119345, 119351,
+ 119357, 119363, 119369, 119375, 119381, 119387, 119393, 119399, 119405,
+ 119411, 119417, 119423, 119429, 119435, 119441, 119447, 119453, 119459,
+ 119465, 119471, 119477, 119483, 119489, 119495, 119501, 119507, 119513,
+ 0, 0, 0, 0, 0, 119519, 119530, 119541, 119552, 119563, 119574, 119585,
+ 119596, 119607, 0, 0, 0, 0, 0, 0, 0, 119618, 119622, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 107529, 107534,
- 107539, 107544, 107551, 107558, 107565, 107572, 107577, 107582, 107587,
- 107592, 107599, 107604, 107611, 107618, 107623, 107628, 107633, 107640,
- 107645, 107650, 107657, 107664, 107669, 107674, 107679, 107686, 107693,
- 107700, 107705, 107710, 107717, 107724, 107731, 107738, 107743, 107748,
- 107753, 107760, 107765, 107770, 107775, 107782, 107791, 107798, 107803,
- 107808, 107813, 107818, 107823, 107828, 107837, 107844, 107849, 107856,
- 107863, 107868, 107873, 107878, 107885, 107890, 107897, 107904, 107909,
- 107914, 107919, 107926, 107933, 107938, 107943, 107950, 107957, 107964,
- 107969, 107974, 107979, 107984, 107991, 108000, 108009, 108014, 108021,
- 108030, 108035, 108040, 108045, 108050, 108057, 108064, 108071, 108078,
- 108083, 108088, 108093, 108100, 108107, 108114, 108119, 108124, 108131,
- 108136, 108143, 108148, 108155, 108160, 108167, 108174, 108179, 108184,
- 108189, 108194, 108199, 108204, 108209, 108214, 108219, 108226, 108233,
- 108240, 108247, 108254, 108263, 108268, 108273, 108280, 108287, 108292,
- 108299, 108306, 108313, 108320, 108327, 108334, 108339, 108344, 108349,
- 108354, 108359, 108368, 108377, 108386, 108395, 108404, 108413, 108422,
- 108431, 108436, 108447, 108458, 108467, 108472, 108477, 108482, 108487,
- 108496, 108503, 108510, 108517, 108524, 108531, 108538, 108547, 108556,
- 108567, 108576, 108587, 108596, 108603, 108612, 108623, 108632, 108641,
- 108650, 108659, 108666, 108673, 108680, 108689, 108698, 108709, 108718,
- 108727, 108738, 108743, 108748, 108759, 108767, 108776, 108785, 108794,
- 108805, 108814, 108823, 108834, 108845, 108856, 108867, 108878, 108889,
- 108896, 108903, 108910, 108917, 108928, 108937, 108944, 108951, 108958,
- 108969, 108980, 108991, 109002, 109013, 109024, 109035, 109046, 109053,
- 109060, 109069, 109078, 109085, 109092, 109099, 109108, 109117, 109126,
- 109133, 109142, 109151, 109160, 109167, 109174, 109179, 109185, 109192,
- 109199, 109206, 109213, 109220, 109227, 109236, 109245, 109254, 109263,
- 109270, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109279, 109285, 109290, 109295,
- 109302, 109308, 109314, 109320, 109326, 109332, 109338, 109344, 109348,
- 109352, 109358, 109364, 109370, 109374, 109379, 109384, 109388, 109392,
- 109395, 109401, 109407, 109413, 109419, 109425, 109431, 109437, 109443,
- 109449, 109459, 109469, 109475, 109481, 109491, 109501, 109507, 0, 0,
- 109513, 109521, 109526, 109531, 109537, 109543, 109549, 109555, 109561,
- 109567, 109574, 109581, 109587, 109593, 109599, 109605, 109611, 109617,
- 109623, 109629, 109634, 109640, 109646, 109652, 109658, 109664, 109673,
- 109679, 109684, 109692, 109699, 109706, 109715, 109724, 109733, 109742,
- 109751, 109760, 109769, 109778, 109788, 109798, 109806, 109814, 109823,
- 109832, 109838, 109844, 109850, 109856, 109864, 109872, 109876, 109882,
- 109887, 109893, 109899, 109905, 109911, 109917, 109926, 109931, 109938,
- 109943, 109948, 109953, 109959, 109965, 109971, 109978, 109983, 109988,
- 109993, 109998, 110003, 110009, 110015, 110021, 110027, 110033, 110039,
- 110045, 110051, 110056, 110061, 110066, 110071, 110076, 110081, 110086,
- 110091, 110097, 110103, 110108, 110113, 110118, 110123, 110128, 110134,
- 110141, 110145, 110149, 110153, 110157, 110161, 110165, 110169, 110173,
- 110181, 110191, 110195, 110199, 110205, 110211, 110217, 110223, 110229,
- 110235, 110241, 110247, 110253, 110259, 110265, 110271, 110277, 110283,
- 110287, 110291, 110298, 110304, 110310, 110316, 110321, 110328, 110333,
- 110339, 110345, 110351, 110357, 110362, 110366, 110372, 110376, 110380,
- 110384, 110390, 110396, 110400, 110406, 110412, 110418, 110424, 110430,
- 110438, 110446, 110452, 110458, 110464, 110470, 110482, 110494, 110508,
- 110520, 110532, 110546, 110560, 110574, 110578, 110586, 110594, 110599,
- 110603, 110607, 110611, 110615, 110619, 110623, 110627, 110633, 110639,
- 110645, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110651, 110657, 110663, 110669,
- 110675, 110681, 110687, 110693, 110699, 110705, 110711, 110717, 110723,
- 110729, 110735, 110741, 110747, 110753, 110759, 110765, 110771, 110777,
- 110783, 110789, 110795, 110801, 110807, 110813, 110819, 110825, 110831,
- 110837, 110843, 110849, 110855, 110861, 110867, 110873, 110879, 110885,
- 110891, 110897, 110903, 110909, 110915, 110921, 110927, 110933, 110939,
- 110945, 110951, 110957, 110963, 110969, 110975, 110981, 110987, 110993,
- 110999, 111005, 111011, 111017, 111023, 111029, 111035, 111041, 111047,
- 111052, 111057, 111062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 119626, 119628, 119630,
+ 119634, 119639, 119644, 119646, 119652, 119657, 119659, 119665, 119669,
+ 119671, 119675, 119681, 119687, 119693, 119698, 119702, 119709, 119716,
+ 119723, 119728, 119735, 119742, 119749, 119753, 119759, 119768, 119777,
+ 119784, 119789, 119793, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 119797, 119799, 119801, 119805, 119809, 119813, 0, 119815, 119817,
+ 119821, 119823, 119825, 119827, 119829, 119834, 119839, 119841, 119847,
+ 119851, 119855, 119863, 119865, 119867, 119869, 119871, 119873, 119875,
+ 119877, 119879, 119881, 119883, 119887, 119891, 119893, 119895, 119897,
+ 119899, 119901, 119906, 119912, 119916, 119920, 119924, 119928, 119933,
+ 119937, 119939, 119941, 119945, 119951, 119953, 119955, 119957, 119961,
+ 119970, 119976, 119980, 119984, 119986, 119988, 119991, 119993, 119995,
+ 119997, 120001, 120003, 120007, 120012, 120014, 120019, 120025, 120032,
+ 120036, 120040, 120044, 120048, 120054, 0, 0, 0, 120058, 120060, 120064,
+ 120068, 120070, 120074, 120078, 120080, 120084, 120086, 120090, 120094,
+ 120098, 120102, 120106, 120110, 120114, 120118, 120124, 120128, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 120132, 120136, 120140, 120144, 120151,
+ 120153, 120157, 120159, 120161, 120165, 120169, 120173, 120175, 120179,
+ 120183, 120187, 120191, 120195, 120197, 120201, 120203, 120209, 120212,
+ 120217, 120219, 120221, 120224, 120226, 120228, 120231, 120238, 120245,
+ 120252, 120257, 120261, 120263, 120265, 0, 120267, 120269, 120273,
+ 120277, 120281, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 120283, 120287, 120292, 120296, 120302, 120308, 120310, 120312,
+ 120318, 120320, 120324, 120328, 120330, 120334, 120336, 120340, 120344,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120348, 120350, 120352,
+ 120354, 120358, 120360, 120362, 120364, 120366, 120368, 120370, 120372,
+ 120374, 120376, 120378, 120380, 120382, 120384, 120386, 120388, 120390,
+ 120392, 120394, 120396, 120398, 120400, 120402, 120406, 120408, 120410,
+ 120412, 120416, 120418, 120422, 120424, 120426, 120430, 120434, 120440,
+ 120442, 120444, 120446, 120448, 120452, 120456, 120458, 120462, 120466,
+ 120470, 120474, 120478, 120482, 120486, 120490, 120494, 120498, 120502,
+ 120506, 120510, 120514, 120518, 120522, 120526, 0, 120530, 0, 120532,
+ 120534, 120536, 120538, 120540, 120548, 120556, 120564, 120572, 120577,
+ 120582, 120587, 120591, 120595, 120600, 120604, 120606, 120610, 120612,
+ 120614, 120616, 120618, 120620, 120622, 120624, 120628, 120630, 120632,
+ 120634, 120638, 120642, 120646, 120650, 120654, 120656, 120662, 120668,
+ 120670, 120672, 120674, 120676, 120678, 120687, 120694, 120701, 120705,
+ 120712, 120717, 120724, 120733, 120738, 120742, 120746, 120748, 120752,
+ 120754, 120758, 120762, 120764, 120768, 120772, 120776, 120778, 120780,
+ 120786, 120788, 120790, 120792, 120796, 120800, 120802, 120806, 120808,
+ 120810, 120813, 120817, 120819, 120823, 120825, 120827, 120832, 120834,
+ 120838, 120842, 120845, 120849, 120853, 120857, 120861, 120865, 120869,
+ 120873, 120878, 120882, 120886, 120895, 120900, 120903, 120905, 120908,
+ 120911, 120916, 120918, 120921, 120926, 120930, 120933, 120937, 120941,
+ 120944, 120949, 120953, 120957, 120961, 120965, 120971, 120977, 120983,
+ 120989, 120994, 121005, 121007, 121011, 121013, 121015, 121019, 121023,
+ 121025, 121029, 121034, 121039, 121045, 121047, 121051, 121055, 121062,
+ 121069, 121073, 121075, 121077, 121081, 121083, 121087, 121091, 121095,
+ 121097, 121099, 121106, 121110, 121113, 121117, 121121, 121125, 121127,
+ 121131, 121133, 121135, 121139, 121141, 121145, 121149, 121155, 121159,
+ 121163, 121167, 121169, 121172, 121176, 121183, 121192, 121201, 121209,
+ 121217, 121219, 121223, 121225, 121229, 121240, 121244, 121250, 121256,
+ 121261, 0, 121263, 121267, 121269, 121271, 0, 0, 0, 121273, 121278,
+ 121288, 121303, 121315, 121327, 121331, 121335, 121341, 121343, 121351,
+ 121359, 121361, 121365, 121371, 121377, 121384, 121391, 121393, 121395,
+ 121398, 121400, 121406, 121408, 121411, 121415, 121421, 121427, 121438,
+ 121444, 121451, 121459, 121463, 121471, 121479, 121485, 121491, 121498,
+ 121500, 121504, 121506, 121508, 121513, 121515, 121517, 121519, 121521,
+ 121525, 121536, 121542, 121546, 121550, 121554, 121560, 121566, 121572,
+ 121578, 121583, 121588, 121594, 121600, 121607, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121614, 121621, 121628, 121635, 121643,
+ 121651, 121659, 121667, 121675, 121683, 121691, 121699, 121707, 121713,
+ 121719, 121725, 121731, 121737, 121743, 121749, 121755, 121761, 121767,
+ 121773, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111066, 111071,
- 111078, 111085, 111092, 111099, 111104, 111108, 111114, 111118, 111122,
- 111128, 111132, 111136, 111140, 111146, 111153, 111157, 111161, 111165,
- 111169, 111173, 111177, 111183, 111187, 111191, 111195, 111199, 111203,
- 111207, 111211, 111215, 111219, 111223, 111227, 111231, 111236, 111240,
- 111244, 111248, 111252, 111256, 111260, 111264, 111268, 111272, 111279,
- 111283, 111291, 111295, 111299, 111303, 111307, 111311, 111315, 111319,
- 111326, 111330, 111334, 111338, 111342, 111346, 111352, 111356, 111362,
- 111366, 111370, 111374, 111378, 111382, 111386, 111390, 111394, 111398,
- 111402, 111406, 111410, 111414, 111418, 111422, 111426, 111430, 111434,
- 111438, 111446, 111450, 111454, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111458,
- 111466, 111474, 111482, 111490, 111498, 111506, 111514, 111522, 111530,
- 111538, 111546, 111554, 111562, 111570, 111578, 111586, 111594, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111602, 111606, 111611, 111616, 111621,
- 111625, 111630, 111635, 111640, 111644, 111649, 111654, 111658, 111662,
- 111666, 111670, 111675, 111680, 111684, 111688, 111693, 111697, 111702,
- 111707, 111712, 111717, 111722, 111726, 111731, 111736, 111741, 111745,
- 111750, 111755, 111760, 111764, 111769, 111774, 111778, 111782, 111786,
- 111790, 111795, 111800, 111804, 111808, 111813, 111817, 111822, 111827,
- 111832, 111837, 111842, 111846, 111851, 111856, 111861, 111865, 111870,
- 111875, 111880, 111884, 111889, 111894, 111898, 111902, 111906, 111910,
- 111915, 111920, 111924, 111928, 111933, 111937, 111942, 111947, 111952,
- 111957, 111962, 111966, 111971, 111976, 111981, 111985, 111990, 0,
- 111995, 111999, 112004, 112009, 112013, 112017, 112021, 112025, 112030,
- 112035, 112039, 112043, 112048, 112052, 112057, 112062, 112067, 112072,
- 112077, 112082, 112088, 112094, 112100, 112105, 112111, 112117, 112123,
- 112128, 112134, 112140, 112145, 112150, 112155, 112160, 112166, 112172,
- 112177, 112182, 112188, 112193, 112199, 112205, 112211, 112217, 112223,
- 112228, 112234, 112240, 112246, 112251, 112257, 112263, 112269, 112274,
- 112280, 112286, 112291, 112296, 112301, 112306, 112312, 112318, 112323,
- 112328, 112334, 112339, 112345, 112351, 112357, 112363, 112369, 0,
- 112373, 112378, 0, 0, 112383, 0, 0, 112388, 112393, 0, 0, 112398, 112402,
- 112406, 112411, 0, 112416, 112420, 112425, 112429, 112434, 112439,
- 112444, 112449, 112454, 112458, 112463, 112468, 0, 112473, 0, 112478,
- 112483, 112487, 112492, 112497, 112501, 112505, 0, 112509, 112514,
- 112519, 112523, 112527, 112532, 112536, 112541, 112546, 112551, 112556,
- 112561, 112566, 112572, 112578, 112584, 112589, 112595, 112601, 112607,
- 112612, 112618, 112624, 112629, 112634, 112639, 112644, 112650, 112656,
- 112661, 112666, 112672, 112677, 112683, 112689, 112695, 112701, 112707,
- 112712, 112718, 112724, 112730, 112735, 112741, 112747, 112753, 112758,
- 112764, 112770, 112775, 112780, 112785, 112790, 112796, 112802, 112807,
- 112812, 112818, 112823, 112829, 112835, 112841, 112847, 112853, 112857,
- 0, 112862, 112867, 112871, 112876, 0, 0, 112881, 112886, 112891, 112895,
- 112899, 112903, 112907, 112912, 0, 112917, 112921, 112926, 112930,
- 112935, 112940, 112945, 0, 112950, 112954, 112959, 112964, 112969,
- 112973, 112978, 112983, 112988, 112992, 112997, 113002, 113006, 113010,
- 113014, 113018, 113023, 113028, 113032, 113036, 113041, 113045, 113050,
- 113055, 113060, 113065, 113070, 113074, 0, 113079, 113084, 113088,
- 113093, 0, 113098, 113102, 113107, 113112, 113116, 0, 113120, 0, 0, 0,
- 113124, 113128, 113133, 113137, 113142, 113147, 113152, 0, 113157,
- 113161, 113166, 113171, 113176, 113180, 113185, 113190, 113195, 113199,
- 113204, 113209, 113213, 113217, 113221, 113225, 113230, 113235, 113239,
- 113243, 113248, 113252, 113257, 113262, 113267, 113272, 113277, 113282,
- 113288, 113294, 113300, 113305, 113311, 113317, 113323, 113328, 113334,
- 113340, 113345, 113350, 113355, 113360, 113366, 113372, 113377, 113382,
- 113388, 113393, 113399, 113405, 113411, 113417, 113423, 113428, 113434,
- 113440, 113446, 113451, 113457, 113463, 113469, 113474, 113480, 113486,
- 113491, 113496, 113501, 113506, 113512, 113518, 113523, 113528, 113534,
- 113539, 113545, 113551, 113557, 113563, 113569, 113573, 113578, 113583,
- 113588, 113592, 113597, 113602, 113607, 113611, 113616, 113621, 113625,
- 113629, 113633, 113637, 113642, 113647, 113651, 113655, 113660, 113664,
- 113669, 113674, 113679, 113684, 113689, 113693, 113698, 113703, 113708,
- 113712, 113717, 113722, 113727, 113731, 113736, 113741, 113745, 113749,
- 113753, 113757, 113762, 113767, 113771, 113775, 113780, 113784, 113789,
- 113794, 113799, 113804, 113809, 113814, 113820, 113826, 113832, 113837,
- 113843, 113849, 113855, 113860, 113866, 113872, 113877, 113882, 113887,
- 113892, 113898, 113904, 113909, 113914, 113920, 113925, 113931, 113937,
- 113943, 113949, 113955, 113960, 113966, 113972, 113978, 113983, 113989,
- 113995, 114001, 114006, 114012, 114018, 114023, 114028, 114033, 114038,
- 114044, 114050, 114055, 114060, 114066, 114071, 114077, 114083, 114089,
- 114095, 114101, 114106, 114112, 114118, 114124, 114129, 114135, 114141,
- 114147, 114152, 114158, 114164, 114169, 114174, 114179, 114184, 114190,
- 114196, 114201, 114206, 114212, 114217, 114223, 114229, 114235, 114241,
- 114247, 114252, 114258, 114264, 114270, 114275, 114281, 114287, 114293,
- 114298, 114304, 114310, 114315, 114320, 114325, 114330, 114336, 114342,
- 114347, 114352, 114358, 114363, 114369, 114375, 114381, 114387, 114393,
- 114399, 114406, 114413, 114420, 114426, 114433, 114440, 114447, 114453,
- 114460, 114467, 114473, 114479, 114485, 114491, 114498, 114505, 114511,
- 114517, 114524, 114530, 114537, 114544, 114551, 114558, 114565, 114571,
- 114578, 114585, 114592, 114598, 114605, 114612, 114619, 114625, 114632,
- 114639, 114645, 114651, 114657, 114663, 114670, 114677, 114683, 114689,
- 114696, 114702, 114709, 114716, 114723, 114730, 114737, 114742, 114748,
- 114754, 114760, 114765, 114771, 114777, 114783, 114788, 114794, 114800,
- 114805, 114810, 114815, 114820, 114826, 114832, 114837, 114842, 114848,
- 114853, 114859, 114865, 114871, 114877, 114883, 114888, 114894, 114900,
- 114906, 114911, 114917, 114923, 114929, 114934, 114940, 114946, 114951,
- 114956, 114961, 114966, 114972, 114978, 114983, 114988, 114994, 114999,
- 115005, 115011, 115017, 115023, 115029, 115035, 0, 0, 115042, 115047,
- 115052, 115057, 115062, 115067, 115072, 115077, 115082, 115087, 115092,
- 115097, 115102, 115107, 115112, 115117, 115122, 115127, 115133, 115138,
- 115143, 115148, 115153, 115158, 115163, 115168, 115172, 115177, 115182,
- 115187, 115192, 115197, 115202, 115207, 115212, 115217, 115222, 115227,
- 115232, 115237, 115242, 115247, 115252, 115257, 115263, 115268, 115273,
- 115278, 115283, 115288, 115293, 115298, 115304, 115309, 115314, 115319,
- 115324, 115329, 115334, 115339, 115344, 115349, 115354, 115359, 115364,
- 115369, 115374, 115379, 115384, 115389, 115394, 115399, 115404, 115409,
- 115414, 115419, 115425, 115430, 115435, 115440, 115445, 115450, 115455,
- 115460, 115464, 115469, 115474, 115479, 115484, 115489, 115494, 115499,
- 115504, 115509, 115514, 115519, 115524, 115529, 115534, 115539, 115544,
- 115549, 115555, 115560, 115565, 115570, 115575, 115580, 115585, 115590,
- 115596, 115601, 115606, 115611, 115616, 115621, 115626, 115632, 115638,
- 115644, 115650, 115656, 115662, 115668, 115674, 115680, 115686, 115692,
- 115698, 115704, 115710, 115716, 115722, 115728, 115735, 115741, 115747,
- 115753, 115759, 115765, 115771, 115777, 115782, 115788, 115794, 115800,
- 115806, 115812, 115818, 115824, 115830, 115836, 115842, 115848, 115854,
- 115860, 115866, 115872, 115878, 115884, 115891, 115897, 115903, 115909,
- 115915, 115921, 115927, 115933, 115940, 115946, 115952, 115958, 115964,
- 115970, 115976, 115982, 115988, 115994, 116000, 116006, 116012, 116018,
- 116024, 116030, 116036, 116042, 116048, 116054, 116060, 116066, 116072,
- 116078, 116085, 116091, 116097, 116103, 116109, 116115, 116121, 116127,
- 116132, 116138, 116144, 116150, 116156, 116162, 116168, 116174, 116180,
- 116186, 116192, 116198, 116204, 116210, 116216, 116222, 116228, 116234,
- 116241, 116247, 116253, 116259, 116265, 116271, 116277, 116283, 116290,
- 116296, 116302, 116308, 116314, 116320, 116326, 116333, 116340, 116347,
- 116354, 116361, 116368, 116375, 116382, 116389, 116396, 116403, 116410,
- 116417, 116424, 116431, 116438, 116445, 116453, 116460, 116467, 116474,
- 116481, 116488, 116495, 116502, 116508, 116515, 116522, 116529, 116536,
- 116543, 116550, 116557, 116564, 116571, 116578, 116585, 116592, 116599,
- 116606, 116613, 116620, 116627, 116635, 116642, 116649, 116656, 116663,
- 116670, 116677, 116684, 116692, 116699, 116706, 116713, 116720, 116727,
- 116734, 116739, 0, 0, 116744, 116749, 116753, 116757, 116761, 116765,
- 116769, 116773, 116777, 116781, 116785, 116790, 116794, 116798, 116802,
- 116806, 116810, 116814, 116818, 116822, 116826, 116831, 116835, 116839,
- 116843, 116847, 116851, 116855, 116859, 116863, 116867, 116873, 116878,
- 116883, 116888, 116893, 116898, 116903, 116908, 116913, 116918, 116924,
- 116929, 116934, 116939, 116944, 116949, 116954, 116959, 116964, 116969,
- 116976, 116983, 116990, 116997, 117004, 117011, 117017, 117024, 117031,
- 117038, 117046, 117054, 117062, 117070, 117078, 117086, 117093, 117100,
- 117107, 117115, 117123, 117131, 117139, 117147, 117155, 117162, 117169,
- 117176, 117184, 117192, 117200, 117208, 117216, 117224, 117229, 117234,
- 117239, 117244, 117249, 117254, 117259, 117264, 117269, 0, 0, 0, 0,
- 117274, 117279, 117283, 117287, 117291, 117295, 117299, 117303, 117307,
- 117311, 117315, 117319, 117323, 117327, 117331, 117335, 117339, 117343,
- 117347, 117351, 117355, 117359, 117363, 117367, 117371, 117375, 117379,
- 117383, 117387, 117391, 117395, 117399, 117403, 117407, 117411, 117415,
- 117419, 117423, 117427, 117431, 117435, 117439, 117443, 117447, 117451,
- 117455, 117459, 117463, 117467, 117471, 117475, 117480, 117484, 117488,
- 117492, 117496, 117500, 117504, 117508, 117512, 117516, 117520, 117524,
- 117528, 117532, 117536, 117540, 117544, 117548, 117552, 117556, 117560,
- 117564, 117568, 117572, 117576, 117580, 117584, 117588, 117592, 117596,
- 117600, 117604, 117608, 117612, 117616, 117620, 117624, 117628, 117632,
- 117636, 117640, 117644, 117648, 117652, 117656, 117660, 117664, 117668,
- 117672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 117676, 117682, 117691,
- 117699, 117707, 117716, 117725, 117734, 117743, 117752, 117761, 117770,
- 117779, 117788, 117797, 0, 0, 117806, 117815, 117823, 117831, 117840,
- 117849, 117858, 117867, 117876, 117885, 117894, 117903, 117912, 117921,
- 0, 0, 117930, 117939, 117947, 117955, 117964, 117973, 117982, 117991,
- 118000, 118009, 118018, 118027, 118036, 118045, 118054, 0, 118061,
- 118070, 118078, 118086, 118095, 118104, 118113, 118122, 118131, 118140,
- 118149, 118158, 118167, 118176, 118185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118192,
- 118199, 118204, 118208, 118212, 118216, 118221, 118226, 118231, 118236,
- 118241, 0, 0, 0, 0, 0, 118246, 118251, 118257, 118263, 118269, 118274,
- 118280, 118286, 118292, 118297, 118303, 118309, 118314, 118319, 118324,
- 118329, 118335, 118341, 118346, 118351, 118357, 118362, 118368, 118374,
- 118380, 118386, 118392, 118402, 118409, 118415, 118418, 0, 118421,
- 118426, 118432, 118438, 118444, 118449, 118455, 118461, 118467, 118472,
- 118478, 118484, 118489, 118494, 118499, 118504, 118510, 118516, 118521,
- 118526, 118532, 118537, 118543, 118549, 118555, 118561, 118567, 118570,
- 118573, 118576, 118579, 118582, 118585, 118591, 118598, 118605, 118612,
- 118618, 118625, 118632, 118639, 118645, 118652, 118659, 118665, 118671,
- 118677, 118683, 118690, 118697, 118703, 118709, 118716, 118722, 118729,
- 118736, 118743, 118750, 0, 0, 0, 0, 0, 0, 118757, 118763, 118770, 118777,
- 118784, 118790, 118797, 118804, 118811, 118817, 118824, 118831, 118837,
- 118843, 118849, 118855, 118862, 118869, 118875, 118881, 118888, 118894,
- 118901, 118908, 118915, 118922, 118929, 118938, 118942, 118945, 118949,
- 118953, 118957, 118960, 118963, 118966, 118969, 118972, 118975, 118978,
- 118981, 118984, 118990, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 118993, 119000, 119008, 119016, 119024,
- 119031, 119039, 119047, 119055, 119062, 119070, 119078, 119085, 119092,
- 119099, 119106, 119114, 119122, 119129, 119136, 119144, 119151, 119159,
- 119167, 119175, 119183, 119191, 119195, 119199, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 119203, 119209, 119215, 119221, 119225, 119231, 119237,
- 119243, 119249, 119255, 119261, 119267, 119273, 119279, 119285, 119291,
- 119297, 119303, 119309, 119315, 119321, 119327, 119333, 119339, 119345,
- 119351, 119357, 119363, 119369, 119375, 119381, 119387, 119393, 119399,
- 119405, 119411, 119417, 119423, 119429, 119435, 119441, 119447, 119453,
- 0, 0, 0, 0, 0, 119459, 119470, 119481, 119492, 119503, 119514, 119525,
- 119536, 119547, 0, 0, 0, 0, 0, 0, 0, 119558, 119562, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 119566, 119568, 119570,
- 119574, 119579, 119584, 119586, 119592, 119597, 119599, 119605, 119609,
- 119611, 119615, 119621, 119627, 119633, 119638, 119642, 119649, 119656,
- 119663, 119668, 119675, 119682, 119689, 119693, 119699, 119708, 119717,
- 119724, 119729, 119733, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 119737, 119739, 119741, 119745, 119749, 119753, 0, 119755, 119757,
- 119761, 119763, 119765, 119767, 119769, 119774, 119779, 119781, 119787,
- 119791, 119795, 119803, 119805, 119807, 119809, 119811, 119813, 119815,
- 119817, 119819, 119821, 119823, 119827, 119831, 119833, 119835, 119837,
- 119839, 119841, 119846, 119852, 119856, 119860, 119864, 119868, 119873,
- 119877, 119879, 119881, 119885, 119891, 119893, 119895, 119897, 119901,
- 119910, 119916, 119920, 119924, 119926, 119928, 119931, 119933, 119935,
- 119937, 119941, 119943, 119947, 119952, 119954, 119959, 119965, 119972,
- 119976, 119980, 119984, 119988, 119994, 0, 0, 0, 119998, 120000, 120004,
- 120008, 120010, 120014, 120018, 120020, 120024, 120026, 120030, 120034,
- 120038, 120042, 120046, 120050, 120054, 120058, 120064, 120068, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 120072, 120076, 120080, 120084, 120091,
- 120093, 120097, 120099, 120101, 120105, 120109, 120113, 120115, 120119,
- 120123, 120127, 120131, 120135, 120137, 120141, 120143, 120149, 120152,
- 120157, 120159, 120161, 120164, 120166, 120168, 120171, 120178, 120185,
- 120192, 120197, 120201, 120203, 120205, 0, 120207, 120209, 120213,
- 120217, 120221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 120223, 120227, 120232, 120236, 120242, 120248, 120250, 120252,
- 120258, 120260, 120264, 120268, 120270, 120274, 120276, 120280, 120284,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 120288, 120290, 120292,
- 120294, 120298, 120300, 120302, 120304, 120306, 120308, 120310, 120312,
- 120314, 120316, 120318, 120320, 120322, 120324, 120326, 120328, 120330,
- 120332, 120334, 120336, 120338, 120340, 120342, 120346, 120348, 120350,
- 120352, 120356, 120358, 120362, 120364, 120366, 120370, 120374, 120380,
- 120382, 120384, 120386, 120388, 120392, 120396, 120398, 120402, 120406,
- 120410, 120414, 120418, 120422, 120426, 120430, 120434, 120438, 120442,
- 120446, 120450, 120454, 120458, 120462, 120466, 0, 120470, 0, 120472,
- 120474, 120476, 120478, 120480, 120488, 120496, 120504, 120512, 120517,
- 120522, 120527, 120531, 120535, 120540, 120545, 120547, 120551, 120553,
- 120555, 120557, 120559, 120561, 120563, 120565, 120569, 120571, 120573,
- 120575, 120579, 120583, 120587, 120591, 120595, 120597, 120603, 120609,
- 120611, 120613, 120615, 120617, 120619, 120628, 120635, 120642, 120646,
- 120653, 120658, 120665, 120674, 120679, 120683, 120687, 120689, 120693,
- 120695, 120699, 120703, 120705, 120709, 120713, 120717, 120719, 120721,
- 120727, 120729, 120731, 120733, 120737, 120741, 120743, 120747, 120749,
- 120751, 120754, 120758, 120760, 120764, 120766, 120768, 120773, 120775,
- 120779, 120783, 120786, 120790, 120794, 120798, 120802, 120806, 120810,
- 120814, 120819, 120823, 120827, 120836, 120841, 120844, 120846, 120849,
- 120852, 120857, 120859, 120862, 120867, 120871, 120874, 120878, 120882,
- 120885, 120890, 120894, 120898, 120902, 120906, 120912, 120918, 120924,
- 120930, 120935, 120946, 120948, 120952, 120954, 120956, 120960, 120964,
- 120966, 120970, 120976, 120981, 120987, 120989, 120993, 120997, 121004,
- 121011, 121015, 121017, 121019, 121023, 121025, 121029, 121033, 121037,
- 121039, 121041, 121048, 121052, 121056, 121060, 121064, 121068, 121070,
- 121074, 121076, 121078, 121082, 121084, 121088, 121092, 121098, 121102,
- 121106, 121110, 121112, 121115, 121119, 121126, 121135, 121144, 121153,
- 121162, 121164, 121168, 121170, 121174, 121185, 121189, 121195, 121201,
- 121206, 0, 121208, 121212, 121214, 121216, 0, 0, 0, 121218, 121223,
- 121234, 121250, 121263, 121276, 121280, 121284, 121290, 121292, 121300,
- 121308, 121310, 121314, 121320, 121326, 121333, 121340, 121342, 121344,
- 121348, 121350, 121356, 121358, 121361, 121365, 121371, 121377, 121388,
- 121394, 121401, 121409, 121413, 121421, 121429, 121435, 121441, 121448,
- 121450, 121454, 121456, 121458, 121463, 121465, 121467, 121469, 121471,
- 121475, 121486, 121492, 121496, 121500, 121504, 121510, 121516, 121522,
- 121528, 121533, 121538, 121544, 121550, 121557, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121564, 121571, 121578, 121585, 121593,
- 121601, 121609, 121617, 121625, 121633, 121641, 121649, 121657, 121663,
- 121669, 121675, 121681, 121687, 121693, 121699, 121705, 121711, 121717,
- 121723, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 121779, 121783, 121787, 121792, 121797, 0, 121799, 121808,
+ 121816, 121824, 121837, 121850, 121863, 121870, 121877, 121881, 121890,
+ 121898, 121902, 121911, 121918, 121922, 0, 121926, 121930, 121937, 0,
+ 121941, 0, 121945, 0, 121952, 0, 121961, 121973, 121985, 0, 121989,
+ 121993, 121997, 122001, 122005, 122013, 0, 0, 122021, 122025, 122029,
+ 122033, 0, 122037, 0, 0, 122043, 122054, 122062, 122066, 0, 122070,
+ 122074, 122080, 122087, 122098, 122108, 122118, 122129, 122138, 122149,
+ 122155, 122161, 0, 0, 0, 0, 122167, 122176, 122183, 122189, 122193,
+ 122197, 122201, 122210, 122222, 122226, 122233, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122240, 122242, 122244,
+ 122248, 122252, 122256, 122265, 122267, 122269, 122272, 122274, 122276,
+ 122280, 122282, 122286, 122288, 122292, 122294, 122296, 122300, 122304,
+ 122310, 122312, 122316, 122318, 122322, 122326, 122330, 122334, 122336,
+ 122338, 122342, 122346, 122350, 122354, 122356, 122358, 122360, 122365,
+ 122370, 122373, 122381, 122389, 122391, 122396, 122399, 122404, 122415,
+ 122422, 122427, 122432, 122434, 122438, 122440, 122444, 122446, 122450,
+ 122454, 122457, 122460, 122462, 122465, 122467, 122471, 122473, 122475,
+ 122477, 122481, 122483, 122487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122490,
+ 122495, 122500, 122505, 122510, 122515, 122520, 122527, 122534, 122541,
+ 122548, 122553, 122558, 122563, 122568, 122575, 122581, 122588, 122595,
+ 122602, 122607, 122612, 122617, 122622, 122627, 122634, 122641, 122646,
+ 122651, 122658, 122665, 122673, 122681, 122688, 122695, 122703, 122711,
+ 122719, 122726, 122736, 122747, 122752, 122759, 122766, 122773, 122781,
+ 122789, 122800, 122808, 122816, 122824, 122829, 122834, 122839, 122844,
+ 122849, 122854, 122859, 122864, 122869, 122874, 122879, 122884, 122891,
+ 122896, 122901, 122908, 122913, 122918, 122923, 122928, 122933, 122938,
+ 122943, 122948, 122953, 122958, 122963, 122968, 122975, 122983, 122988,
+ 122993, 123000, 123005, 123010, 123015, 123022, 123027, 123034, 123039,
+ 123046, 123051, 123060, 123069, 123074, 123079, 123084, 123089, 123094,
+ 123099, 123104, 123109, 123114, 123119, 123124, 123129, 123134, 123142,
+ 123150, 123155, 123160, 123165, 123170, 123175, 123181, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 123187, 123191, 123195, 123199, 123203, 123207, 123211,
+ 123215, 123219, 123223, 123227, 123231, 123235, 123239, 123243, 123247,
+ 123251, 123255, 123259, 123263, 123267, 123271, 123275, 123279, 123283,
+ 123287, 123291, 123295, 123299, 123303, 123307, 123311, 123315, 123319,
+ 123323, 123327, 123331, 123335, 123339, 123343, 123347, 123351, 123355,
+ 123359, 123363, 123367, 123371, 123375, 123379, 123383, 123387, 123391,
+ 123395, 123399, 123403, 123407, 123411, 123415, 123419, 123423, 123427,
+ 123431, 123435, 123439, 123443, 123447, 123451, 123455, 123459, 123463,
+ 123467, 123471, 123475, 123479, 123483, 123487, 123491, 123495, 123499,
+ 123503, 123507, 123511, 123515, 123519, 123523, 123527, 123531, 123535,
+ 123539, 123543, 123547, 123551, 123555, 123559, 123563, 123567, 123571,
+ 123575, 123579, 123583, 123587, 123591, 123595, 123599, 123603, 123607,
+ 123611, 123615, 123619, 123623, 123627, 123631, 123635, 123639, 123643,
+ 123647, 123651, 123655, 123659, 123663, 123667, 123671, 123675, 123679,
+ 123683, 123687, 123691, 123695, 123699, 123703, 123707, 123711, 123715,
+ 123719, 123723, 123727, 123731, 123735, 123739, 123743, 123747, 123751,
+ 123755, 123759, 123763, 123767, 123771, 123775, 123779, 123783, 123787,
+ 123791, 123795, 123799, 123803, 123807, 123811, 123815, 123819, 123823,
+ 123827, 123831, 123835, 123839, 123843, 123847, 123851, 123855, 123859,
+ 123863, 123867, 123871, 123875, 123879, 123883, 123887, 123891, 123895,
+ 123899, 123903, 123907, 123911, 123915, 123919, 123923, 123927, 123931,
+ 123935, 123939, 123943, 123947, 123951, 123955, 123959, 123963, 123967,
+ 123971, 123975, 123979, 123983, 123987, 123991, 123995, 123999, 124003,
+ 124007, 124011, 124015, 124019, 124023, 124027, 124031, 124035, 124039,
+ 124043, 124047, 124051, 124055, 124059, 124063, 124067, 124071, 124075,
+ 124079, 124083, 124087, 124091, 124095, 124099, 124103, 124107, 124111,
+ 124115, 124119, 124123, 124127, 124131, 124135, 124139, 124143, 124147,
+ 124151, 124155, 124159, 124163, 124167, 124171, 124175, 124179, 124183,
+ 124187, 124191, 124195, 124199, 124203, 124207, 124211, 124215, 124219,
+ 124223, 124227, 124231, 124235, 124239, 124243, 124247, 124251, 124255,
+ 124259, 124263, 124267, 124271, 124275, 124279, 124283, 124287, 124291,
+ 124295, 124299, 124303, 124307, 124311, 124315, 124319, 124323, 124327,
+ 124331, 124335, 124339, 124343, 124347, 124351, 124355, 124359, 124363,
+ 124367, 124371, 124375, 124379, 124383, 124387, 124391, 124395, 124399,
+ 124403, 124407, 124411, 124415, 124419, 124423, 124427, 124431, 124435,
+ 124439, 124443, 124447, 124451, 124455, 124459, 124463, 124467, 124471,
+ 124475, 124479, 124483, 124487, 124491, 124495, 124499, 124503, 124507,
+ 124511, 124515, 124519, 124523, 124527, 124531, 124535, 124539, 124543,
+ 124547, 124551, 124555, 124559, 124563, 124567, 124571, 124575, 124579,
+ 124583, 124587, 124591, 124595, 124599, 124603, 124607, 124611, 124615,
+ 124619, 124623, 124627, 124631, 124635, 124639, 124643, 124647, 124651,
+ 124655, 124659, 124663, 124667, 124671, 124675, 124679, 124683, 124687,
+ 124691, 124695, 124699, 124703, 124707, 124711, 124715, 124719, 124723,
+ 124727, 124731, 124735, 124739, 124743, 124747, 124751, 124755, 124759,
+ 124763, 124767, 124771, 124775, 124779, 124783, 124787, 124791, 124795,
+ 124799, 124803, 124807, 124811, 124815, 124819, 124823, 124827, 124831,
+ 124835, 124839, 124843, 124847, 124851, 124855, 124859, 124863, 124867,
+ 124871, 124875, 124879, 124883, 124887, 124891, 124895, 124899, 124903,
+ 124907, 124911, 124915, 124919, 124923, 124927, 124931, 124935, 124939,
+ 124943, 124947, 124951, 124955, 124959, 124963, 124967, 124971, 124975,
+ 124979, 124983, 124987, 124991, 124995, 124999, 125003, 125007, 125011,
+ 125015, 125019, 125023, 125027, 125031, 125035, 125039, 125043, 125047,
+ 125051, 125055, 125059, 125063, 125067, 125071, 125075, 125079, 125083,
+ 125087, 125091, 125095, 125099, 125103, 125107, 125111, 125115, 125119,
+ 125123, 125127, 125131, 125135, 125139, 125143, 125147, 125151, 125155,
+ 125159, 125163, 125167, 125171, 125175, 125179, 125183, 125187, 125191,
+ 125195, 125199, 125203, 125207, 125211, 125215, 125219, 125223, 125227,
+ 125231, 125235, 125239, 125243, 125247, 125251, 125255, 125259, 125263,
+ 125267, 125271, 125275, 125279, 125283, 125287, 125291, 125295, 125299,
+ 125303, 125307, 125311, 125315, 125319, 125323, 125327, 125331, 125335,
+ 125339, 125343, 125347, 125351, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 121729, 121733, 121737, 121742, 121747, 0, 121749, 121758,
- 121766, 121775, 121789, 121803, 121817, 121824, 121831, 121835, 121844,
- 121852, 121856, 121865, 121872, 121876, 0, 121880, 121884, 121891, 0,
- 121895, 0, 121899, 0, 121906, 0, 121915, 121927, 121939, 0, 121943,
- 121947, 121951, 121955, 121959, 121967, 0, 0, 121975, 121979, 121983,
- 121987, 0, 121991, 0, 0, 121997, 122009, 122017, 122021, 0, 122025,
- 122029, 122035, 122042, 122053, 122063, 122074, 122085, 122094, 122105,
- 122111, 122117, 0, 0, 0, 0, 122123, 122132, 122139, 122145, 122149,
- 122153, 122157, 122166, 122178, 122182, 122189, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122196, 122198, 122200,
- 122204, 122208, 122212, 122221, 122223, 122225, 122228, 122230, 122232,
- 122236, 122238, 122242, 122244, 122248, 122250, 122252, 122256, 122260,
- 122266, 122268, 122272, 122274, 122278, 122282, 122286, 122290, 122292,
- 122294, 122298, 122302, 122306, 122310, 122312, 122314, 122316, 122321,
- 122326, 122329, 122337, 122345, 122347, 122352, 122355, 122360, 122371,
- 122378, 122383, 122388, 122390, 122394, 122396, 122400, 122402, 122406,
- 122410, 122413, 122416, 122418, 122421, 122423, 122427, 122429, 122431,
- 122433, 122437, 122439, 122443, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125355, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125359,
+ 125362, 125366, 125370, 125373, 125377, 125381, 125384, 125387, 125391,
+ 125395, 125398, 125401, 125404, 125407, 125412, 125415, 125419, 125422,
+ 125425, 125428, 125431, 125434, 125437, 125440, 125443, 125446, 125449,
+ 125452, 125456, 125460, 125464, 125468, 125473, 125478, 125484, 125490,
+ 125496, 125501, 125507, 125513, 125519, 125524, 125530, 125536, 125541,
+ 125546, 125551, 125556, 125562, 125568, 125573, 125578, 125584, 125589,
+ 125595, 125601, 125607, 125613, 125619, 125623, 125628, 125632, 125637,
+ 125641, 125646, 125651, 125657, 125663, 125669, 125674, 125680, 125686,
+ 125692, 125697, 125703, 125709, 125714, 125719, 125724, 125729, 125735,
+ 125741, 125746, 125751, 125757, 125762, 125768, 125774, 125780, 125786,
+ 125792, 125797, 125801, 125806, 125808, 125812, 125815, 125818, 125821,
+ 125824, 125827, 125830, 125833, 125836, 125839, 125842, 125845, 125848,
+ 125851, 125854, 125857, 125860, 125863, 125866, 125869, 125872, 125875,
+ 125878, 125881, 125884, 125887, 125890, 125893, 125896, 125899, 125902,
+ 125905, 125908, 125911, 125914, 125917, 125920, 125923, 125926, 125929,
+ 125932, 125935, 125938, 125941, 125944, 125947, 125950, 125953, 125956,
+ 125959, 125962, 125965, 125968, 125971, 125974, 125977, 125980, 125983,
+ 125986, 125989, 125992, 125995, 125998, 126001, 126004, 126007, 126010,
+ 126013, 126016, 126019, 126022, 126025, 126028, 126031, 126034, 126037,
+ 126040, 126043, 126046, 126049, 126052, 126055, 126058, 126061, 126064,
+ 126067, 126070, 126073, 126076, 126079, 126082, 126085, 126088, 126091,
+ 126094, 126097, 126100, 126103, 126106, 126109, 126112, 126115, 126118,
+ 126121, 126124, 126127, 126130, 126133, 126136, 126139, 126142, 126145,
+ 126148, 126151, 126154, 126157, 126160, 126163, 126166, 126169, 126172,
+ 126175, 126178, 126181, 126184, 126187, 126190, 126193, 126196, 126199,
+ 126202, 126205, 126208, 126211, 126214, 126217, 126220, 126223, 126226,
+ 126229, 126232, 126235, 126238, 126241, 126244, 126247, 126250, 126253,
+ 126256, 126259, 126262, 126265, 126268, 126271, 126274, 126277, 126280,
+ 126283, 126286, 126289, 126292, 126295, 126298, 126301, 126304, 126307,
+ 126310, 126313, 126316, 126319, 126322, 126325, 126328, 126331, 126334,
+ 126337, 126340, 126343, 126346, 126349, 126352, 126355, 126358, 126361,
+ 126364, 126367, 126370, 126373, 126376, 126379, 126382, 126385, 126388,
+ 126391, 126394, 126397, 126400, 126403, 126406, 126409, 126412, 126415,
+ 126418, 126421, 126424, 126427, 126430, 126433, 126436, 126439, 126442,
+ 126445, 126448, 126451, 126454, 126457, 126460, 126463, 126466, 126469,
+ 126472, 126475, 126478, 126481, 126484, 126487, 126490, 126493, 126496,
+ 126499, 126502, 126505, 126508, 126511, 126514, 126517, 126520, 126523,
+ 126526, 126529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126532,
+ 126537, 126542, 126546, 126552, 126558, 126562, 126566, 126578, 126583,
+ 126594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 122446,
- 122451, 122456, 122461, 122466, 122471, 122476, 122483, 122490, 122497,
- 122504, 122509, 122514, 122519, 122524, 122531, 122537, 122544, 122551,
- 122558, 122563, 122568, 122573, 122578, 122583, 122590, 122597, 122602,
- 122607, 122614, 122621, 122629, 122637, 122644, 122651, 122659, 122667,
- 122675, 122682, 122692, 122703, 122708, 122715, 122722, 122729, 122737,
- 122745, 122756, 122764, 122772, 122780, 122785, 122790, 122795, 122800,
- 122805, 122810, 122815, 122820, 122825, 122830, 122835, 122840, 122847,
- 122852, 122857, 122864, 122869, 122874, 122879, 122884, 122889, 122894,
- 122899, 122904, 122909, 122914, 122919, 122924, 122931, 122939, 122944,
- 122949, 122956, 122961, 122966, 122971, 122978, 122983, 122990, 122995,
- 123002, 123007, 123016, 123025, 123030, 123035, 123040, 123045, 123050,
- 123055, 123060, 123065, 123070, 123075, 123080, 123085, 123090, 123098,
- 123106, 123111, 123116, 123121, 123126, 123131, 123137, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 123143, 123147, 123151, 123155, 123159, 123163, 123167,
- 123171, 123175, 123179, 123183, 123187, 123191, 123195, 123199, 123203,
- 123207, 123211, 123215, 123219, 123223, 123227, 123231, 123235, 123239,
- 123243, 123247, 123251, 123255, 123259, 123263, 123267, 123271, 123275,
- 123279, 123283, 123287, 123291, 123295, 123299, 123303, 123307, 123311,
- 123315, 123319, 123323, 123327, 123331, 123335, 123339, 123343, 123347,
- 123351, 123355, 123359, 123363, 123367, 123371, 123375, 123379, 123383,
- 123387, 123391, 123395, 123399, 123403, 123407, 123411, 123415, 123419,
- 123423, 123427, 123431, 123435, 123439, 123443, 123447, 123451, 123455,
- 123459, 123463, 123467, 123471, 123475, 123479, 123483, 123487, 123491,
- 123495, 123499, 123503, 123507, 123511, 123515, 123519, 123523, 123527,
- 123531, 123535, 123539, 123543, 123547, 123551, 123555, 123559, 123563,
- 123567, 123571, 123575, 123579, 123583, 123587, 123591, 123595, 123599,
- 123603, 123607, 123611, 123615, 123619, 123623, 123627, 123631, 123635,
- 123639, 123643, 123647, 123651, 123655, 123659, 123663, 123667, 123671,
- 123675, 123679, 123683, 123687, 123691, 123695, 123699, 123703, 123707,
- 123711, 123715, 123719, 123723, 123727, 123731, 123735, 123739, 123743,
- 123747, 123751, 123755, 123759, 123763, 123767, 123771, 123775, 123779,
- 123783, 123787, 123791, 123795, 123799, 123803, 123807, 123811, 123815,
- 123819, 123823, 123827, 123831, 123835, 123839, 123843, 123847, 123851,
- 123855, 123859, 123863, 123867, 123871, 123875, 123879, 123883, 123887,
- 123891, 123895, 123899, 123903, 123907, 123911, 123915, 123919, 123923,
- 123927, 123931, 123935, 123939, 123943, 123947, 123951, 123955, 123959,
- 123963, 123967, 123971, 123975, 123979, 123983, 123987, 123991, 123995,
- 123999, 124003, 124007, 124011, 124015, 124019, 124023, 124027, 124031,
- 124035, 124039, 124043, 124047, 124051, 124055, 124059, 124063, 124067,
- 124071, 124075, 124079, 124083, 124087, 124091, 124095, 124099, 124103,
- 124107, 124111, 124115, 124119, 124123, 124127, 124131, 124135, 124139,
- 124143, 124147, 124151, 124155, 124159, 124163, 124167, 124171, 124175,
- 124179, 124183, 124187, 124191, 124195, 124199, 124203, 124207, 124211,
- 124215, 124219, 124223, 124227, 124231, 124235, 124239, 124243, 124247,
- 124251, 124255, 124259, 124263, 124267, 124271, 124275, 124279, 124283,
- 124287, 124291, 124295, 124299, 124303, 124307, 124311, 124315, 124319,
- 124323, 124327, 124331, 124335, 124339, 124343, 124347, 124351, 124355,
- 124359, 124363, 124367, 124371, 124375, 124379, 124383, 124387, 124391,
- 124395, 124399, 124403, 124407, 124411, 124415, 124419, 124423, 124427,
- 124431, 124435, 124439, 124443, 124447, 124451, 124455, 124459, 124463,
- 124467, 124471, 124475, 124479, 124483, 124487, 124491, 124495, 124499,
- 124503, 124507, 124511, 124515, 124519, 124523, 124527, 124531, 124535,
- 124539, 124543, 124547, 124551, 124555, 124559, 124563, 124567, 124571,
- 124575, 124579, 124583, 124587, 124591, 124595, 124599, 124603, 124607,
- 124611, 124615, 124619, 124623, 124627, 124631, 124635, 124639, 124643,
- 124647, 124651, 124655, 124659, 124663, 124667, 124671, 124675, 124679,
- 124683, 124687, 124691, 124695, 124699, 124703, 124707, 124711, 124715,
- 124719, 124723, 124727, 124731, 124735, 124739, 124743, 124747, 124751,
- 124755, 124759, 124763, 124767, 124771, 124775, 124779, 124783, 124787,
- 124791, 124795, 124799, 124803, 124807, 124811, 124815, 124819, 124823,
- 124827, 124831, 124835, 124839, 124843, 124847, 124851, 124855, 124859,
- 124863, 124867, 124871, 124875, 124879, 124883, 124887, 124891, 124895,
- 124899, 124903, 124907, 124911, 124915, 124919, 124923, 124927, 124931,
- 124935, 124939, 124943, 124947, 124951, 124955, 124959, 124963, 124967,
- 124971, 124975, 124979, 124983, 124987, 124991, 124995, 124999, 125003,
- 125007, 125011, 125015, 125019, 125023, 125027, 125031, 125035, 125039,
- 125043, 125047, 125051, 125055, 125059, 125063, 125067, 125071, 125075,
- 125079, 125083, 125087, 125091, 125095, 125099, 125103, 125107, 125111,
- 125115, 125119, 125123, 125127, 125131, 125135, 125139, 125143, 125147,
- 125151, 125155, 125159, 125163, 125167, 125171, 125175, 125179, 125183,
- 125187, 125191, 125195, 125199, 125203, 125207, 125211, 125215, 125219,
- 125223, 125227, 125231, 125235, 125239, 125243, 125247, 125251, 125255,
- 125259, 125263, 125267, 125271, 125275, 125279, 125283, 125287, 125291,
- 125295, 125299, 125303, 125307, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 126605, 126614, 126623, 126632, 126641, 126653, 126665, 126677, 126689,
+ 126699, 126709, 126719, 126729, 126739, 126749, 126759, 126768, 126777,
+ 126786, 126798, 126810, 126822, 126834, 126844, 126854, 126863, 126872,
+ 126881, 126890, 126899, 126908, 126917, 126926, 126935, 126944, 126953,
+ 126962, 126971, 126980, 126990, 127000, 127010, 127023, 127033, 127046,
+ 127053, 127063, 127070, 127077, 127084, 127091, 127098, 127105, 127114,
+ 127123, 127132, 127141, 127150, 127159, 127168, 127177, 127184, 127191,
+ 127198, 127207, 127216, 127223, 127230, 127239, 127248, 127252, 127256,
+ 127260, 127264, 127268, 127272, 127276, 127280, 127283, 127287, 127290,
+ 127294, 127297, 127300, 127304, 127308, 127312, 127316, 127320, 127324,
+ 127328, 127332, 127335, 127339, 127343, 127347, 127351, 127355, 127359,
+ 127363, 127367, 127371, 127375, 127379, 127383, 127387, 127391, 127395,
+ 127399, 127403, 127407, 127411, 127415, 127419, 127423, 127427, 127431,
+ 127435, 127439, 127443, 127447, 127451, 127455, 127459, 127463, 127467,
+ 127471, 127475, 127479, 127483, 127487, 127491, 127495, 127499, 127503,
+ 127507, 127511, 127515, 127519, 127523, 127527, 127531, 127535, 127539,
+ 127543, 127547, 127551, 127555, 127559, 127563, 127567, 127571, 127575,
+ 127579, 127583, 127587, 127591, 127595, 127599, 127603, 127607, 127611,
+ 127615, 127619, 127623, 127627, 127631, 127635, 127639, 127642, 127646,
+ 127650, 127654, 127658, 127662, 127666, 127670, 127674, 127678, 127682,
+ 127686, 127690, 127694, 127698, 127702, 127706, 127710, 127714, 127718,
+ 127722, 127726, 127730, 127734, 127738, 127742, 127746, 127750, 127754,
+ 127758, 127762, 127766, 127770, 127774, 127778, 127782, 127786, 127790,
+ 127794, 127798, 127802, 127806, 127810, 127814, 127818, 127822, 127826,
+ 127830, 127834, 127838, 127842, 127846, 127850, 127854, 127858, 127862,
+ 127866, 127870, 127874, 127878, 127882, 127886, 127890, 127894, 127898,
+ 127902, 127906, 127910, 127914, 127918, 127922, 127926, 127930, 127934,
+ 127938, 127942, 127946, 127950, 127954, 127958, 127962, 127966, 127970,
+ 127974, 127978, 127982, 127986, 127990, 127994, 127998, 128002, 128006,
+ 128010, 128014, 128018, 128022, 128026, 128030, 128034, 128038, 128042,
+ 128046, 128050, 128054, 128058, 128062, 128066, 128070, 128074, 128078,
+ 128082, 128086, 128090, 128094, 128098, 128102, 128106, 128110, 128114,
+ 128118, 128122, 128126, 128130, 128134, 128138, 128142, 128146, 128150,
+ 128154, 128158, 128162, 128166, 128170, 128174, 128178, 128182, 128186,
+ 128190, 128194, 128198, 128202, 128206, 128210, 128214, 128218, 128222,
+ 128226, 128230, 128234, 128238, 128242, 128246, 128250, 128254, 128258,
+ 128262, 128266, 128270, 128274, 128278, 128282, 128286, 128290, 128294,
+ 128298, 128302, 128306, 128310, 128314, 128318, 128322, 128326, 128330,
+ 128334, 128338, 128342, 128346, 128350, 128354, 128358, 128362, 128366,
+ 128370, 128374, 128378, 128382, 128386, 128390, 128394, 128398, 128402,
+ 128406, 128410, 128416, 128423, 128430, 128437, 128444, 128451, 128458,
+ 128465, 128472, 128479, 128486, 128493, 128500, 128507, 128513, 128520,
+ 128527, 128533, 128540, 128547, 128554, 128561, 128568, 128575, 128582,
+ 128589, 128596, 128603, 128610, 128617, 128624, 128631, 128637, 128644,
+ 128651, 128660, 128669, 128678, 128687, 128692, 128697, 128703, 128709,
+ 128715, 128721, 128727, 128733, 128739, 128745, 128751, 128757, 128763,
+ 128769, 128774, 128780, 128790, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125311, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125315,
- 125318, 125322, 125326, 125329, 125333, 125337, 125340, 125343, 125347,
- 125351, 125354, 125357, 125360, 125363, 125368, 125371, 125375, 125378,
- 125381, 125384, 125387, 125390, 125393, 125396, 125399, 125402, 125405,
- 125408, 125412, 125416, 125420, 125424, 125429, 125434, 125440, 125446,
- 125452, 125457, 125463, 125469, 125475, 125480, 125486, 125492, 125497,
- 125502, 125507, 125512, 125518, 125524, 125529, 125534, 125540, 125545,
- 125551, 125557, 125563, 125569, 125575, 125579, 125584, 125588, 125593,
- 125597, 125602, 125607, 125613, 125619, 125625, 125630, 125636, 125642,
- 125648, 125653, 125659, 125665, 125670, 125675, 125680, 125685, 125691,
- 125697, 125702, 125707, 125713, 125718, 125724, 125730, 125736, 125742,
- 125748, 125753, 125757, 125762, 125765, 125769, 125772, 125775, 125778,
- 125781, 125784, 125787, 125790, 125793, 125796, 125799, 125802, 125805,
- 125808, 125811, 125814, 125817, 125820, 125823, 125826, 125829, 125832,
- 125835, 125838, 125841, 125844, 125847, 125850, 125853, 125856, 125859,
- 125862, 125865, 125868, 125871, 125874, 125877, 125880, 125883, 125886,
- 125889, 125892, 125895, 125898, 125901, 125904, 125907, 125910, 125913,
- 125916, 125919, 125922, 125925, 125928, 125931, 125934, 125937, 125940,
- 125943, 125946, 125949, 125952, 125955, 125958, 125961, 125964, 125967,
- 125970, 125973, 125976, 125979, 125982, 125985, 125988, 125991, 125994,
- 125997, 126000, 126003, 126006, 126009, 126012, 126015, 126018, 126021,
- 126024, 126027, 126030, 126033, 126036, 126039, 126042, 126045, 126048,
- 126051, 126054, 126057, 126060, 126063, 126066, 126069, 126072, 126075,
- 126078, 126081, 126084, 126087, 126090, 126093, 126096, 126099, 126102,
- 126105, 126108, 126111, 126114, 126117, 126120, 126123, 126126, 126129,
- 126132, 126135, 126138, 126141, 126144, 126147, 126150, 126153, 126156,
- 126159, 126162, 126165, 126168, 126171, 126174, 126177, 126180, 126183,
- 126186, 126189, 126192, 126195, 126198, 126201, 126204, 126207, 126210,
- 126213, 126216, 126219, 126222, 126225, 126228, 126231, 126234, 126237,
- 126240, 126243, 126246, 126249, 126252, 126255, 126258, 126261, 126264,
- 126267, 126270, 126273, 126276, 126279, 126282, 126285, 126288, 126291,
- 126294, 126297, 126300, 126303, 126306, 126309, 126312, 126315, 126318,
- 126321, 126324, 126327, 126330, 126333, 126336, 126339, 126342, 126345,
- 126348, 126351, 126354, 126357, 126360, 126363, 126366, 126369, 126372,
- 126375, 126378, 126381, 126384, 126387, 126390, 126393, 126396, 126399,
- 126402, 126405, 126408, 126411, 126414, 126417, 126420, 126423, 126426,
- 126429, 126432, 126435, 126438, 126441, 126444, 126447, 126450, 126453,
- 126456, 126459, 126462, 126465, 126468, 126471, 126474, 126477, 126480,
- 126483, 126486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
};
/* name->code dictionary */
@@ -16190,60 +16406,61 @@ static unsigned int code_hash[] = {
66480, 0, 42833, 74529, 12064, 0, 596, 0, 128103, 13192, 8651, 0, 0,
120218, 12995, 64865, 1373, 0, 0, 5816, 119067, 64810, 4231, 6825, 42897,
4233, 4234, 4232, 917836, 74415, 120210, 6384, 917840, 78108, 8851, 0,
- 128553, 0, 41601, 8874, 0, 7748, 0, 0, 0, 127939, 41603, 9784, 0, 9188,
- 41600, 0, 120618, 128343, 1457, 3535, 0, 0, 0, 0, 65240, 11951, 0, 3404,
- 0, 0, 0, 1759, 0, 41076, 68383, 120572, 119205, 66577, 0, 127764, 65859,
- 0, 7404, 0, 0, 0, 0, 65908, 9834, 3055, 9852, 0, 65288, 0, 11398, 0,
- 92417, 119255, 0, 0, 603, 74398, 43548, 0, 0, 917824, 3350, 120817,
- 64318, 917828, 127089, 3390, 74483, 43265, 120599, 917830, 78573, 0,
- 1919, 3400, 120651, 127944, 11647, 917540, 66446, 64141, 8562, 2121,
- 64138, 4043, 8712, 64134, 64133, 11297, 0, 0, 11966, 64128, 128587, 0, 0,
- 64132, 10867, 64130, 64129, 0, 43374, 9779, 2764, 66002, 10167, 9471, 0,
- 66021, 0, 0, 5457, 5440, 8857, 128771, 65282, 2843, 5355, 127928, 0, 0,
- 5194, 11657, 43984, 128292, 0, 0, 0, 0, 127027, 10717, 64570, 5630,
- 74350, 64143, 10682, 0, 10602, 800, 42499, 66186, 0, 0, 64930, 11631,
- 64146, 64145, 64144, 762, 13172, 118859, 194661, 64468, 10906, 1353,
- 6960, 0, 0, 5828, 8724, 917806, 8933, 1601, 42244, 858, 7080, 64109,
- 64108, 8090, 0, 74401, 917811, 587, 0, 128131, 0, 0, 0, 78214, 2750,
- 74218, 556, 64158, 64157, 0, 12213, 194678, 2760, 0, 0, 0, 194794, 64156,
- 64155, 42496, 0, 64151, 64150, 12679, 10053, 10421, 11093, 64153, 64152,
- 0, 0, 4839, 0, 0, 1874, 119016, 0, 6577, 64125, 64124, 64123, 0, 127531,
- 92534, 7007, 7590, 65443, 9036, 92550, 64122, 74422, 66609, 0, 64117,
- 64116, 6287, 64114, 2725, 64120, 64119, 43981, 42128, 127842, 1177,
- 65601, 12322, 64106, 69640, 127306, 64102, 7859, 1945, 64099, 0, 10453,
- 64104, 7188, 7997, 0, 7389, 0, 8705, 64097, 64096, 9571, 528, 128671,
- 44017, 11429, 0, 0, 0, 917990, 73841, 0, 0, 9056, 64313, 6188, 120019,
- 6155, 64068, 1823, 64066, 64065, 64072, 64071, 63, 7233, 92212, 0, 41904,
- 6639, 64064, 0, 128344, 0, 1176, 118959, 127930, 8162, 128667, 0, 0,
- 120519, 66376, 66242, 11415, 4333, 9855, 64112, 64642, 0, 5388, 0, 0, 0,
- 7714, 66222, 0, 7768, 0, 4199, 64708, 0, 0, 0, 8708, 9560, 64077, 64076,
- 8996, 4992, 4471, 42622, 64079, 64078, 92179, 0, 0, 0, 64615, 41915, 0,
- 12075, 92211, 0, 5174, 0, 0, 127557, 3123, 0, 12685, 127904, 8408, 64704,
- 0, 0, 9223, 0, 41616, 0, 73797, 0, 1116, 128204, 43049, 7136, 43050,
- 8548, 120485, 0, 119061, 917999, 0, 13115, 43675, 64091, 9322, 0, 120595,
- 64095, 64094, 8111, 66247, 42332, 64089, 64088, 6199, 0, 0, 11434, 64083,
- 64082, 11329, 7737, 64087, 64086, 64085, 64084, 194817, 9927, 41335,
- 4118, 1797, 0, 41334, 0, 46, 43448, 127881, 298, 0, 128114, 0, 42627, 0,
- 32, 6187, 119052, 11495, 11459, 3665, 0, 42871, 0, 19923, 74335, 0,
- 127192, 66239, 42264, 64403, 4412, 7240, 92495, 0, 0, 65758, 12750, 4181,
- 8544, 0, 120199, 917897, 120198, 69809, 6181, 65014, 0, 0, 0, 3639,
- 119588, 0, 0, 118904, 10073, 120206, 128862, 127186, 68409, 42844, 7498,
- 1098, 92565, 120205, 0, 0, 10207, 8789, 0, 0, 0, 0, 9234, 0, 6182, 0,
- 65058, 0, 0, 0, 0, 5471, 9461, 5573, 118936, 5473, 44, 0, 66244, 118907,
- 0, 66238, 12844, 0, 1622, 7767, 1900, 41339, 11458, 0, 0, 6581, 5576, 0,
- 64405, 41337, 0, 41631, 8947, 68390, 127844, 41694, 0, 0, 7908, 0, 10408,
- 6579, 0, 64618, 0, 120147, 2138, 6583, 7761, 127010, 120504, 194828, 0,
- 5058, 41010, 9992, 128299, 5057, 0, 0, 74538, 5054, 118951, 194971,
- 78606, 0, 1437, 41617, 658, 3497, 128509, 7486, 5061, 5060, 4235, 0, 0,
- 0, 12113, 4236, 4727, 0, 0, 7693, 10749, 0, 7488, 5773, 978, 128134, 0,
- 41619, 10239, 68611, 0, 66209, 0, 128700, 9748, 0, 127524, 0, 0, 0, 0,
- 195083, 0, 0, 0, 0, 0, 0, 0, 9341, 119596, 2379, 11325, 0, 64668, 67854,
- 8125, 120545, 6743, 119175, 917940, 2369, 0, 0, 0, 119235, 74092, 73936,
- 7008, 43660, 0, 0, 0, 2367, 127827, 0, 264, 2375, 8060, 6194, 119858,
- 1844, 119084, 0, 6019, 0, 0, 6961, 0, 118839, 0, 8800, 0, 42862, 4463,
- 65581, 6192, 194676, 42771, 0, 92333, 725, 65042, 118797, 120800, 0,
- 12892, 0, 0, 0, 0, 0, 0, 127261, 120707, 0, 0, 5074, 5073, 128790, 8983,
- 118981, 74493, 0, 5072, 128071, 6198, 11614, 0, 196, 0, 0, 0, 4929,
+ 128553, 0, 41601, 8874, 983518, 7748, 0, 0, 0, 127939, 41603, 9784, 0,
+ 9188, 41600, 0, 120618, 128343, 1457, 3535, 0, 0, 0, 0, 65240, 11951, 0,
+ 3404, 0, 0, 0, 1759, 0, 41076, 68383, 120572, 119205, 66577, 0, 127764,
+ 65859, 0, 7404, 0, 0, 0, 0, 65908, 9834, 3055, 9852, 983595, 65288, 0,
+ 11398, 0, 92417, 119255, 0, 0, 603, 74398, 43548, 0, 0, 917824, 3350,
+ 120817, 64318, 917828, 127089, 3390, 74483, 43265, 120599, 917830, 78573,
+ 0, 1919, 3400, 120651, 127944, 11647, 917540, 66446, 64141, 8562, 2121,
+ 64138, 4043, 8712, 64134, 64133, 11297, 983423, 0, 11966, 64128, 128587,
+ 0, 0, 64132, 10867, 64130, 64129, 983579, 43374, 9779, 2764, 66002,
+ 10167, 9471, 0, 66021, 0, 0, 5457, 5440, 8857, 128771, 65282, 2843, 5355,
+ 127928, 983697, 0, 5194, 11657, 43984, 128292, 0, 983364, 0, 0, 127027,
+ 10717, 64570, 5630, 74350, 64143, 10682, 0, 10602, 800, 42499, 66186, 0,
+ 0, 64930, 11631, 64146, 64145, 64144, 762, 13172, 118859, 194661, 64468,
+ 10906, 1353, 6960, 0, 0, 5828, 8724, 917806, 8933, 1601, 42244, 858,
+ 7080, 64109, 64108, 8090, 0, 74401, 917811, 587, 0, 128131, 0, 0, 0,
+ 78214, 2750, 74218, 556, 64158, 64157, 983681, 12213, 194678, 2760, 0, 0,
+ 0, 194794, 64156, 64155, 42496, 0, 64151, 64150, 12679, 10053, 10421,
+ 11093, 64153, 64152, 0, 0, 4839, 0, 0, 1874, 119016, 0, 6577, 64125,
+ 64124, 64123, 0, 127531, 92534, 7007, 7590, 65443, 9036, 92550, 64122,
+ 74422, 66609, 0, 64117, 64116, 6287, 64114, 2725, 64120, 64119, 43981,
+ 42128, 127842, 1177, 65601, 12322, 64106, 69640, 127306, 64102, 7859,
+ 1945, 64099, 0, 10453, 64104, 7188, 7997, 0, 7389, 0, 8705, 64097, 64096,
+ 9571, 528, 128671, 44017, 11429, 0, 0, 0, 917990, 73841, 0, 0, 9056,
+ 64313, 6188, 120019, 6155, 64068, 1823, 64066, 64065, 64072, 64071, 63,
+ 7233, 92212, 0, 41904, 6639, 64064, 983510, 128344, 0, 1176, 118959,
+ 127930, 8162, 128667, 983566, 0, 120519, 66376, 66242, 11415, 4333, 9855,
+ 64112, 64642, 0, 5388, 0, 0, 0, 7714, 66222, 0, 7768, 0, 4199, 64708, 0,
+ 0, 0, 8708, 9560, 64077, 64076, 8996, 4992, 4471, 42622, 64079, 64078,
+ 92179, 0, 0, 0, 64615, 41915, 0, 12075, 92211, 0, 5174, 0, 0, 127557,
+ 3123, 0, 12685, 127904, 8408, 64704, 0, 0, 9223, 0, 41616, 0, 73797, 0,
+ 1116, 128204, 43049, 7136, 43050, 8548, 120485, 0, 119061, 917999, 0,
+ 13115, 43675, 64091, 9322, 0, 120595, 64095, 64094, 8111, 66247, 42332,
+ 64089, 64088, 6199, 0, 0, 11434, 64083, 64082, 11329, 7737, 64087, 64086,
+ 64085, 64084, 194817, 9927, 41335, 4118, 1797, 0, 41334, 0, 46, 43448,
+ 127881, 298, 0, 128114, 0, 42627, 0, 32, 6187, 119052, 11495, 11459,
+ 3665, 983344, 42871, 0, 19923, 74335, 0, 127192, 66239, 42264, 64403,
+ 4412, 7240, 92495, 0, 983365, 65758, 12750, 4181, 8544, 0, 120199,
+ 917897, 120198, 69809, 6181, 65014, 0, 0, 0, 3639, 119588, 0, 0, 118904,
+ 10073, 120206, 128862, 127186, 68409, 42844, 7498, 1098, 92565, 120205,
+ 0, 0, 10207, 8789, 0, 0, 0, 0, 9234, 0, 6182, 0, 65058, 0, 0, 0, 0, 5471,
+ 9461, 5573, 118936, 5473, 44, 0, 66244, 118907, 0, 66238, 12844, 0, 1622,
+ 7767, 1900, 41339, 11458, 0, 0, 6581, 5576, 0, 64405, 41337, 0, 41631,
+ 8947, 68390, 127844, 41694, 0, 0, 7908, 0, 10408, 6579, 0, 64618, 0,
+ 120147, 2138, 6583, 7761, 127010, 120504, 194828, 0, 5058, 41010, 9992,
+ 128299, 5057, 0, 0, 74538, 5054, 118951, 194971, 78606, 0, 1437, 41617,
+ 658, 3497, 128509, 7486, 5061, 5060, 4235, 0, 0, 0, 12113, 4236, 4727, 0,
+ 0, 7693, 10749, 0, 7488, 5773, 978, 128134, 0, 41619, 10239, 68611, 0,
+ 66209, 0, 128700, 9748, 983688, 127524, 0, 0, 0, 0, 195083, 0, 983578, 0,
+ 0, 0, 0, 0, 9341, 119596, 2379, 11325, 0, 64668, 67854, 8125, 120545,
+ 6743, 119175, 917940, 2369, 0, 983704, 983705, 119235, 74092, 73936,
+ 7008, 43660, 0, 0, 0, 2367, 127827, 983592, 264, 2375, 8060, 6194,
+ 119858, 1844, 119084, 0, 6019, 0, 0, 6961, 0, 118839, 0, 8800, 0, 42862,
+ 4463, 65581, 6192, 194676, 42771, 0, 92333, 725, 65042, 118797, 120800,
+ 0, 12892, 0, 0, 0, 0, 0, 0, 127261, 120707, 0, 0, 5074, 5073, 128790,
+ 8983, 118981, 74493, 0, 5072, 128071, 6198, 11614, 0, 196, 0, 0, 0, 4929,
120342, 0, 0, 0, 0, 42847, 0, 0, 0, 4934, 0, 41323, 9758, 0, 92289,
127917, 42584, 0, 4329, 41321, 4979, 3048, 7752, 41320, 0, 74418, 12819,
0, 5071, 0, 3642, 0, 5070, 10042, 118835, 3987, 5068, 0, 8909, 78650,
@@ -16258,86 +16475,87 @@ static unsigned int code_hash[] = {
8143, 127115, 11983, 92249, 624, 74508, 4057, 43788, 5078, 74258, 12478,
0, 5076, 0, 194609, 0, 120097, 685, 9025, 1524, 12618, 0, 5539, 0, 92523,
120102, 7138, 120552, 0, 194611, 78752, 0, 12520, 8058, 9732, 0, 5080,
- 64775, 5036, 5035, 120590, 42604, 0, 0, 8074, 275, 13291, 1907, 78838,
- 4432, 127271, 5033, 127273, 127272, 4836, 3888, 73792, 10729, 64546,
- 127262, 43704, 127264, 127251, 67588, 119000, 127252, 127255, 8858, 6409,
- 127256, 120252, 128100, 0, 0, 66321, 0, 12814, 127248, 3432, 10218, 0,
- 6094, 7641, 42445, 0, 92487, 42406, 1676, 74320, 194607, 0, 5030, 0, 0,
- 0, 73869, 9622, 0, 0, 6787, 0, 0, 0, 0, 10544, 12919, 0, 92218, 0, 0, 0,
- 120789, 0, 947, 119835, 194586, 194585, 10969, 119935, 7613, 92562,
- 119936, 4795, 119930, 7018, 7376, 120181, 120192, 120268, 0, 43567,
- 74056, 917910, 118963, 119919, 7216, 65232, 7217, 251, 7218, 7895, 4395,
- 43538, 119926, 119929, 119928, 7213, 119922, 7214, 7215, 0, 74141, 8880,
- 7685, 66459, 120173, 65540, 119618, 625, 8187, 42861, 1113, 7236, 7915,
- 3630, 120176, 8179, 74264, 67886, 9316, 10980, 2489, 65624, 8150, 1359,
- 67652, 127329, 127330, 73756, 5042, 5041, 42769, 12084, 127324, 127321,
- 92279, 127319, 127320, 127317, 127318, 127315, 12283, 1616, 3795, 0,
- 8795, 66245, 0, 0, 0, 1138, 73905, 12677, 0, 0, 3239, 127311, 0, 0, 8431,
- 0, 42164, 0, 11778, 12620, 6826, 73773, 119073, 5040, 0, 0, 0, 78420, 0,
- 5039, 0, 78418, 0, 5038, 0, 0, 13184, 74293, 0, 64648, 0, 9359, 78416, 0,
- 128770, 65157, 6662, 0, 0, 3863, 73909, 4835, 55266, 43432, 127822, 4309,
- 7127, 194569, 0, 194568, 1301, 0, 42589, 569, 0, 73813, 711, 4389, 7133,
- 0, 73880, 11610, 11368, 0, 194570, 41331, 1006, 74240, 0, 1550, 8201,
- 73737, 7627, 5499, 5031, 77908, 42738, 65784, 77907, 65267, 3758, 0,
- 65781, 64734, 0, 2440, 65780, 77913, 8449, 0, 5008, 0, 2118, 0, 12121,
- 8255, 5512, 73875, 2128, 2130, 2131, 2126, 2133, 1119, 127068, 2114,
- 2116, 2455, 0, 2122, 2123, 2124, 2125, 0, 8714, 0, 2113, 0, 2115, 128177,
- 127907, 43713, 5052, 66220, 5821, 6186, 65778, 65775, 5051, 65773, 1429,
- 42647, 5050, 302, 388, 41115, 735, 6637, 5907, 65088, 0, 12726, 74594,
- 9117, 0, 12003, 5513, 6666, 5053, 74230, 5510, 78451, 0, 78447, 2470,
- 78437, 0, 1925, 0, 92237, 74807, 0, 5048, 5047, 0, 0, 0, 92313, 0, 74497,
- 92395, 8089, 6929, 639, 0, 68179, 64442, 0, 92348, 4599, 41402, 6674,
- 43397, 43294, 1476, 648, 0, 65819, 3233, 0, 41782, 6951, 0, 0, 3530,
- 9750, 128317, 0, 6656, 92367, 0, 5046, 8512, 65856, 74261, 8967, 0, 5045,
- 0, 1916, 7986, 5044, 120556, 9006, 13128, 5043, 0, 7853, 74068, 74004,
- 9669, 12341, 12703, 8402, 0, 119070, 917600, 41750, 3586, 64508, 43148,
- 0, 0, 119606, 0, 13296, 517, 0, 128534, 194946, 41528, 123, 65454, 0, 0,
- 74478, 10531, 7784, 41526, 10829, 73991, 8057, 1126, 73895, 0, 194591, 0,
- 3925, 4251, 8069, 10517, 120439, 489, 0, 4250, 120441, 120452, 43151, 0,
- 194851, 66200, 0, 0, 0, 78423, 0, 0, 8711, 6183, 0, 0, 0, 120448, 7623,
- 118925, 194853, 9235, 12760, 74176, 69662, 66445, 43540, 10062, 3743,
- 11514, 11078, 0, 12136, 0, 0, 120435, 0, 7726, 0, 19922, 267, 3393,
- 42198, 1371, 194849, 69233, 2458, 0, 6201, 0, 41074, 4266, 10652, 41612,
- 41077, 3402, 9050, 3398, 0, 0, 0, 3391, 41075, 2476, 0, 128017, 0, 10625,
- 0, 12767, 13017, 78743, 64261, 64934, 127537, 13014, 13013, 0, 6673, 0,
- 0, 0, 12438, 0, 0, 0, 0, 0, 9053, 13015, 74523, 0, 704, 66215, 6195, 0,
- 6660, 78758, 917760, 917793, 42212, 12629, 11435, 0, 55256, 65538, 0,
- 127940, 0, 74547, 0, 65448, 78100, 12948, 119001, 195002, 119238, 195004,
- 78099, 127085, 0, 0, 4287, 8276, 4902, 1131, 0, 78458, 66728, 1816, 0,
- 42533, 168, 42845, 4898, 64298, 0, 0, 4901, 1821, 0, 578, 3653, 0, 791,
- 9162, 6977, 0, 119298, 74561, 0, 73731, 8354, 43590, 119303, 0, 7557,
- 119339, 119301, 8234, 7241, 0, 194994, 119167, 194996, 12811, 65925,
- 3946, 78078, 10998, 78080, 673, 194867, 64397, 128276, 74599, 78449,
- 8890, 194977, 194976, 2448, 78085, 10267, 8424, 2452, 78083, 194864,
- 8729, 78456, 0, 7845, 917917, 78692, 4408, 4122, 6772, 11039, 8723,
- 194990, 127833, 119302, 731, 119304, 92286, 2438, 64855, 119300, 119299,
- 1175, 0, 42135, 373, 119172, 2119, 11457, 11521, 7723, 0, 0, 0, 41952, 0,
- 5273, 2127, 5269, 6337, 5202, 2404, 5267, 42823, 11291, 19915, 5277,
- 12963, 127864, 6189, 4125, 1314, 12133, 0, 118873, 1271, 0, 0, 66024,
- 41482, 3864, 74539, 0, 3879, 0, 12978, 4166, 4574, 0, 7567, 7459, 0,
- 41390, 5384, 41882, 67647, 92548, 5759, 0, 0, 41388, 92362, 41392, 64288,
- 41387, 0, 8706, 5552, 0, 700, 0, 5553, 0, 7088, 5356, 7499, 78110, 66596,
- 0, 0, 10263, 5554, 0, 12344, 10311, 78113, 6665, 0, 0, 7618, 8517, 11455,
+ 64775, 5036, 5035, 120590, 42604, 983391, 0, 8074, 275, 13291, 1907,
+ 78838, 4432, 127271, 5033, 127273, 127272, 4836, 3888, 73792, 10729,
+ 64546, 127262, 43704, 127264, 127251, 67588, 119000, 127252, 127255,
+ 8858, 6409, 127256, 120252, 128100, 0, 0, 66321, 0, 12814, 127248, 3432,
+ 10218, 0, 6094, 7641, 42445, 0, 92487, 42406, 1676, 74320, 194607, 0,
+ 5030, 0, 0, 0, 73869, 9622, 0, 0, 6787, 0, 0, 0, 983327, 10544, 12919, 0,
+ 92218, 0, 0, 0, 120789, 0, 947, 119835, 194586, 194585, 10969, 119935,
+ 7613, 92562, 119936, 4795, 119930, 7018, 7376, 120181, 120192, 120268, 0,
+ 43567, 74056, 917910, 118963, 119919, 7216, 65232, 7217, 251, 7218, 7895,
+ 4395, 43538, 119926, 119929, 119928, 7213, 119922, 7214, 7215, 983571,
+ 74141, 8880, 7685, 66459, 120173, 65540, 119618, 625, 8187, 42861, 1113,
+ 7236, 7915, 3630, 120176, 8179, 74264, 67886, 9316, 10980, 2489, 65624,
+ 8150, 1359, 67652, 127329, 127330, 73756, 5042, 5041, 42769, 12084,
+ 127324, 127321, 92279, 127319, 127320, 127317, 127318, 127315, 12283,
+ 1616, 3795, 0, 8795, 66245, 0, 0, 0, 1138, 73905, 12677, 0, 0, 3239,
+ 127311, 0, 0, 8431, 0, 42164, 0, 11778, 12620, 6826, 73773, 119073, 5040,
+ 0, 0, 0, 78420, 0, 5039, 0, 78418, 0, 5038, 0, 0, 13184, 74293, 0, 64648,
+ 0, 9359, 78416, 0, 128770, 65157, 6662, 0, 0, 3863, 73909, 4835, 55266,
+ 43432, 127822, 4309, 7127, 194569, 0, 194568, 1301, 0, 42589, 569, 0,
+ 73813, 711, 4389, 7133, 0, 73880, 11610, 11368, 0, 194570, 41331, 1006,
+ 74240, 0, 1550, 8201, 73737, 7627, 5499, 5031, 77908, 42738, 65784,
+ 77907, 65267, 3758, 0, 65781, 64734, 0, 2440, 65780, 77913, 8449, 0,
+ 5008, 983316, 2118, 0, 12121, 8255, 5512, 73875, 2128, 2130, 2131, 2126,
+ 2133, 1119, 127068, 2114, 2116, 2455, 0, 2122, 2123, 2124, 2125, 0, 8714,
+ 0, 2113, 0, 2115, 128177, 127907, 43713, 5052, 66220, 5821, 6186, 65778,
+ 65775, 5051, 65773, 1429, 42647, 5050, 302, 388, 41115, 735, 6637, 5907,
+ 65088, 0, 12726, 74594, 9117, 0, 12003, 5513, 6666, 5053, 74230, 5510,
+ 78451, 0, 78447, 2470, 78437, 0, 1925, 0, 92237, 74807, 0, 5048, 5047, 0,
+ 0, 0, 92313, 0, 74497, 92395, 8089, 6929, 639, 983307, 68179, 64442, 0,
+ 92348, 4599, 41402, 6674, 43397, 43294, 1476, 648, 0, 65819, 3233, 0,
+ 41782, 6951, 0, 983708, 3530, 9750, 128317, 0, 6656, 92367, 0, 5046,
+ 8512, 65856, 74261, 8967, 0, 5045, 0, 1916, 7986, 5044, 120556, 9006,
+ 13128, 5043, 0, 7853, 74068, 74004, 9669, 12341, 12703, 8402, 0, 119070,
+ 917600, 41750, 3586, 64508, 43148, 0, 0, 119606, 0, 13296, 517, 0,
+ 128534, 194946, 41528, 123, 65454, 0, 0, 74478, 10531, 7784, 41526,
+ 10829, 73991, 8057, 1126, 73895, 0, 194591, 0, 3925, 4251, 8069, 10517,
+ 120439, 489, 0, 4250, 120441, 120452, 43151, 0, 194851, 66200, 0, 0, 0,
+ 78423, 0, 0, 8711, 6183, 0, 0, 0, 120448, 7623, 118925, 194853, 9235,
+ 12760, 74176, 69662, 66445, 43540, 10062, 3743, 11514, 11078, 0, 12136,
+ 0, 0, 120435, 0, 7726, 0, 19922, 267, 3393, 42198, 1371, 194849, 69233,
+ 2458, 0, 6201, 0, 41074, 4266, 10652, 41612, 41077, 3402, 9050, 3398, 0,
+ 0, 0, 3391, 41075, 2476, 0, 128017, 0, 10625, 0, 12767, 13017, 78743,
+ 64261, 64934, 127537, 13014, 13013, 0, 6673, 0, 0, 0, 12438, 0, 0, 0,
+ 983615, 0, 9053, 13015, 74523, 0, 704, 66215, 6195, 983563, 6660, 78758,
+ 917760, 917793, 42212, 12629, 11435, 0, 55256, 65538, 0, 127940, 0,
+ 74547, 0, 65448, 78100, 12948, 119001, 195002, 119238, 195004, 78099,
+ 127085, 0, 0, 4287, 8276, 4902, 1131, 0, 78458, 66728, 1816, 0, 42533,
+ 168, 42845, 4898, 64298, 0, 0, 4901, 1821, 0, 578, 3653, 0, 791, 9162,
+ 6977, 0, 119298, 74561, 0, 73731, 8354, 43590, 119303, 0, 7557, 119339,
+ 119301, 8234, 7241, 0, 194994, 119167, 194996, 12811, 65925, 3946, 78078,
+ 10998, 78080, 673, 194867, 64397, 128276, 74599, 78449, 8890, 194977,
+ 194976, 2448, 78085, 10267, 8424, 2452, 78083, 194864, 8729, 78456, 0,
+ 7845, 917917, 78692, 4408, 4122, 6772, 11039, 8723, 194990, 127833,
+ 119302, 731, 119304, 92286, 2438, 64855, 119300, 119299, 1175, 0, 42135,
+ 373, 119172, 2119, 11457, 11521, 7723, 0, 0, 0, 41952, 0, 5273, 2127,
+ 5269, 6337, 5202, 2404, 5267, 42823, 11291, 19915, 5277, 12963, 127864,
+ 6189, 4125, 1314, 12133, 0, 118873, 1271, 983375, 0, 66024, 41482, 3864,
+ 74539, 0, 3879, 0, 12978, 4166, 4574, 0, 7567, 7459, 0, 41390, 5384,
+ 41882, 67647, 92548, 5759, 0, 0, 41388, 92362, 41392, 64288, 41387, 0,
+ 8706, 5552, 0, 700, 0, 5553, 0, 7088, 5356, 7499, 78110, 66596, 0, 0,
+ 10263, 5554, 0, 12344, 10311, 78113, 6665, 0, 0, 7618, 8517, 11455,
78440, 64632, 64447, 5555, 78088, 78093, 78091, 0, 42803, 65033, 9143,
6668, 195067, 195066, 195069, 656, 195071, 65037, 4577, 64624, 0, 0, 0,
- 0, 4269, 73885, 917775, 42846, 69644, 950, 0, 92273, 66580, 118895,
+ 983384, 4269, 73885, 917775, 42846, 69644, 950, 0, 92273, 66580, 118895,
66683, 10554, 917778, 119121, 0, 5098, 917770, 0, 119099, 5097, 4935,
- 9848, 10381, 0, 128870, 0, 3651, 0, 194610, 127556, 5102, 5101, 10269,
- 12983, 8138, 4517, 1932, 5100, 1439, 12093, 1247, 10034, 195064, 5099,
- 78373, 1441, 42087, 3063, 650, 0, 7838, 0, 195041, 195040, 119142, 9031,
- 120790, 128582, 9078, 8545, 66356, 128799, 0, 9154, 9118, 0, 0, 2676,
- 7750, 0, 73812, 6190, 8599, 195053, 0, 10795, 9857, 7014, 9856, 195033,
- 92620, 12129, 0, 8481, 0, 6202, 195035, 10920, 128237, 5203, 195039,
- 195038, 5108, 5107, 65818, 66019, 9762, 0, 5541, 74772, 0, 12613, 5284,
- 6657, 207, 128806, 4275, 74819, 854, 68147, 74381, 0, 0, 5103, 127861,
- 64348, 41368, 43974, 488, 69811, 0, 0, 10157, 0, 43034, 11438, 0, 0,
- 92694, 68431, 41771, 5106, 6669, 8504, 65154, 69813, 41367, 5105, 195030,
- 69720, 6476, 5104, 0, 304, 3176, 0, 0, 932, 128663, 6567, 238, 69656,
- 195011, 194595, 19905, 120577, 195015, 78870, 41044, 67640, 194902,
- 42055, 9912, 65939, 10670, 74093, 13273, 0, 12552, 195019, 8803, 309,
- 6622, 8151, 10858, 194596, 67636, 0, 12568, 0, 12553, 10814, 43275, 6950,
- 9712, 68680, 43970, 0, 65165, 92725, 0, 66466, 0, 0, 0, 66725, 6191,
- 11351, 10437, 11316, 67634, 0, 0, 41754, 67635, 9370, 2720, 194975,
+ 9848, 10381, 0, 128870, 983436, 3651, 0, 194610, 127556, 5102, 5101,
+ 10269, 12983, 8138, 4517, 1932, 5100, 1439, 12093, 1247, 10034, 195064,
+ 5099, 78373, 1441, 42087, 3063, 650, 0, 7838, 0, 195041, 195040, 119142,
+ 9031, 120790, 128582, 9078, 8545, 66356, 128799, 0, 9154, 9118, 0, 0,
+ 2676, 7750, 0, 73812, 6190, 8599, 195053, 0, 10795, 9857, 7014, 9856,
+ 195033, 92620, 12129, 0, 8481, 0, 6202, 195035, 10920, 128237, 5203,
+ 195039, 195038, 5108, 5107, 65818, 66019, 9762, 0, 5541, 74772, 0, 12613,
+ 5284, 6657, 207, 128806, 4275, 74819, 854, 68147, 74381, 0, 0, 5103,
+ 127861, 64348, 41368, 43974, 488, 69811, 0, 0, 10157, 0, 43034, 11438, 0,
+ 0, 92694, 68431, 41771, 5106, 6669, 8504, 65154, 69813, 41367, 5105,
+ 195030, 69720, 6476, 5104, 983484, 304, 3176, 0, 0, 932, 128663, 6567,
+ 238, 69656, 195011, 194595, 19905, 120577, 195015, 78870, 41044, 67640,
+ 194902, 42055, 9912, 65939, 10670, 74093, 13273, 0, 12552, 195019, 8803,
+ 309, 6622, 8151, 10858, 194596, 67636, 0, 12568, 0, 12553, 10814, 43275,
+ 6950, 9712, 68680, 43970, 983040, 65165, 92725, 0, 66466, 0, 0, 0, 66725,
+ 6191, 11351, 10437, 11316, 67634, 0, 0, 41754, 67635, 9370, 2720, 194975,
68462, 8232, 118817, 0, 3222, 0, 0, 0, 66663, 0, 0, 10834, 0, 0, 65732,
0, 917547, 92682, 67679, 195020, 0, 7781, 41383, 64568, 0, 120738, 12077,
0, 64586, 917620, 42396, 55255, 3475, 128035, 2479, 0, 3632, 120728,
@@ -16347,71 +16565,72 @@ static unsigned int code_hash[] = {
2529, 0, 0, 0, 42083, 120678, 68398, 194957, 67619, 66367, 194958, 9634,
92380, 9988, 0, 41068, 0, 0, 65264, 0, 0, 92545, 0, 785, 8236, 128647,
9027, 68160, 67623, 64383, 128821, 925, 127156, 0, 41985, 41071, 9586, 0,
- 41984, 9217, 0, 0, 0, 9186, 2067, 4016, 0, 0, 381, 0, 0, 42077, 0,
- 127483, 5184, 42078, 194947, 10810, 128531, 4585, 19943, 5860, 67633, 0,
- 0, 812, 3615, 0, 5178, 44000, 120548, 78807, 5188, 74287, 67629, 3605,
- 10692, 1166, 64429, 42639, 924, 0, 67631, 0, 120670, 2442, 10703, 78789,
- 67632, 917924, 12771, 12736, 12753, 0, 73933, 67626, 42401, 0, 0, 127373,
- 42288, 12751, 0, 8542, 13145, 194963, 2468, 66706, 41294, 3626, 3883,
- 64388, 42479, 0, 41117, 0, 92580, 0, 0, 67624, 0, 1290, 0, 65585, 2715,
- 806, 65208, 41884, 917883, 1318, 64731, 0, 0, 0, 66325, 3465, 2405, 9240,
- 0, 12756, 65259, 0, 0, 12752, 5833, 1432, 0, 41883, 73912, 9799, 0,
- 41886, 2480, 0, 2062, 127293, 6494, 5537, 78656, 0, 194587, 0, 1211, 0,
- 0, 0, 118832, 12318, 0, 0, 0, 10622, 0, 0, 78654, 6566, 78659, 0, 73780,
- 0, 64864, 0, 78660, 0, 8284, 13081, 0, 3589, 42051, 4035, 6492, 92236,
- 4265, 6642, 3977, 74186, 41778, 836, 119216, 2488, 0, 4582, 0, 0, 41777,
- 12926, 0, 7528, 10550, 0, 92706, 0, 11439, 0, 1374, 64878, 119014, 0,
- 42389, 41374, 0, 0, 78492, 41377, 127909, 0, 400, 12597, 120586, 0, 0,
- 6661, 0, 64827, 0, 73817, 390, 0, 74755, 0, 3473, 7718, 0, 0, 0, 55285,
- 0, 0, 0, 11969, 0, 127841, 6365, 1887, 6763, 0, 8080, 7006, 0, 0, 6757,
- 64351, 1544, 0, 6766, 64677, 120716, 0, 6146, 0, 771, 0, 0, 12812, 13168,
- 42272, 12200, 917927, 7904, 0, 953, 12917, 119560, 12300, 0, 11491, 9724,
- 10341, 0, 9524, 7490, 11389, 7489, 3379, 0, 7487, 0, 471, 7484, 7482,
- 6753, 7480, 7479, 7478, 7477, 6501, 7475, 6918, 7473, 7472, 2474, 7470,
- 7468, 10232, 10615, 10213, 127288, 92357, 10049, 78884, 3544, 0, 6017,
- 65311, 127481, 120216, 13306, 10533, 7870, 73949, 7625, 0, 120544, 0, 0,
- 92660, 0, 0, 0, 19961, 2472, 42665, 92341, 0, 2139, 4256, 120776, 74380,
- 0, 42675, 42658, 12845, 0, 0, 65138, 119355, 67862, 0, 65671, 120000,
- 120008, 8066, 7678, 74865, 0, 0, 0, 0, 7186, 0, 120555, 0, 445, 120566,
- 128308, 0, 0, 8330, 0, 0, 42797, 0, 120215, 0, 3902, 0, 1770, 0, 128866,
- 1560, 120209, 194972, 4584, 73843, 0, 11712, 10866, 118928, 1118, 92209,
- 0, 0, 1081, 7436, 68420, 7252, 0, 5996, 0, 4903, 0, 41386, 5162, 119189,
- 1330, 0, 7139, 0, 12047, 41384, 0, 0, 1848, 4334, 6324, 41975, 64777,
- 10674, 12308, 12186, 0, 0, 0, 12715, 128349, 0, 0, 2018, 66672, 41979,
- 66685, 119157, 0, 92464, 0, 126984, 0, 9334, 92705, 92315, 0, 7975, 0,
- 77957, 0, 66621, 4884, 66597, 69732, 0, 0, 6313, 65513, 0, 0, 0, 0, 2345,
- 43697, 463, 0, 0, 119607, 3117, 5460, 0, 0, 0, 0, 42279, 194577, 0,
- 78415, 0, 195008, 0, 13248, 0, 0, 0, 0, 0, 0, 5663, 0, 0, 0, 0, 2482,
- 1471, 0, 0, 42247, 12378, 73925, 69664, 0, 12374, 0, 0, 0, 0, 2460, 0,
- 11944, 12376, 127868, 64679, 0, 12380, 10557, 64473, 5870, 0, 2024,
- 127180, 0, 0, 539, 0, 127765, 0, 3853, 65180, 127923, 120796, 120245,
- 92324, 0, 8659, 0, 12474, 92579, 9503, 194969, 2478, 0, 4162, 0, 4260,
- 12953, 69633, 120089, 12470, 0, 74189, 2742, 12476, 11798, 10946, 127310,
- 5000, 0, 0, 0, 69672, 8213, 74017, 7771, 6161, 0, 6709, 0, 78885, 0,
- 127971, 120582, 78547, 0, 10301, 10333, 10397, 0, 0, 73791, 0, 0, 0, 0,
- 0, 4014, 12842, 73952, 12015, 127290, 8275, 3893, 0, 0, 12210, 7221,
- 42147, 0, 74550, 74465, 64747, 118841, 0, 12516, 4444, 0, 92271, 74537,
- 10892, 8231, 0, 6473, 41968, 78388, 41973, 3591, 41969, 0, 2453, 128549,
- 92666, 64705, 0, 0, 10349, 10413, 43591, 41962, 3202, 74353, 0, 8316, 0,
- 0, 0, 687, 0, 0, 0, 1840, 0, 68671, 119809, 4883, 285, 4723, 77927,
- 92692, 4459, 74577, 42921, 41720, 11089, 240, 19906, 0, 42323, 0, 9743,
- 120232, 13134, 0, 0, 0, 0, 0, 42634, 0, 43437, 3081, 11463, 120154, 0, 0,
- 10445, 0, 0, 66717, 2614, 9125, 119023, 1729, 0, 120236, 65221, 63883,
- 43334, 64852, 0, 120235, 66201, 0, 66578, 5001, 41879, 74427, 4121, 5003,
- 884, 66700, 63879, 4943, 5150, 73889, 74182, 127915, 643, 3086, 0, 42448,
- 42299, 58, 0, 917952, 120083, 63873, 8491, 0, 0, 0, 4530, 42409, 7126,
- 194575, 2721, 120074, 119096, 19929, 0, 194574, 0, 4242, 4264, 120077,
- 128132, 66179, 42412, 65941, 13114, 64522, 10740, 3094, 0, 9754, 119102,
- 4437, 73948, 128692, 0, 55280, 42174, 194925, 42430, 0, 0, 42355, 66026,
- 4306, 41380, 68432, 92586, 0, 66667, 127309, 0, 0, 42200, 42566, 0, 0,
- 5088, 6948, 0, 8524, 0, 0, 12385, 0, 0, 69646, 1386, 64580, 11480, 6116,
- 65039, 65038, 12392, 65036, 8064, 0, 12101, 5822, 119004, 2080, 710,
- 77999, 11663, 1666, 42091, 119657, 12383, 43671, 42092, 68418, 4289, 0,
- 63896, 12061, 42096, 43621, 3362, 12377, 0, 0, 68449, 7461, 73901, 1244,
- 331, 73786, 12683, 10662, 0, 8112, 0, 65852, 0, 12379, 194877, 120818,
- 41964, 42208, 63843, 2084, 41965, 0, 65866, 4327, 0, 63840, 78549, 41220,
- 13032, 0, 584, 12933, 43177, 12373, 0, 13000, 1351, 2935, 8698, 12665, 0,
- 1930, 0, 78229, 12427, 66514, 0, 13031, 0, 63901, 0, 3657, 128572, 65202,
+ 41984, 9217, 0, 0, 0, 9186, 2067, 4016, 983538, 0, 381, 983404, 0, 42077,
+ 0, 127483, 5184, 42078, 194947, 10810, 128531, 4585, 19943, 5860, 67633,
+ 0, 0, 812, 3615, 0, 5178, 44000, 120548, 78807, 5188, 74287, 67629, 3605,
+ 10692, 1166, 64429, 42639, 924, 0, 67631, 983464, 120670, 2442, 10703,
+ 78789, 67632, 917924, 12771, 12736, 12753, 0, 73933, 67626, 42401, 0, 0,
+ 127373, 42288, 12751, 0, 8542, 13145, 194963, 2468, 66706, 41294, 3626,
+ 3883, 64388, 42479, 0, 41117, 0, 92580, 0, 0, 67624, 0, 1290, 0, 65585,
+ 2715, 806, 65208, 41884, 917883, 1318, 64731, 0, 0, 0, 66325, 3465, 2405,
+ 9240, 0, 12756, 65259, 0, 983516, 12752, 5833, 1432, 0, 41883, 73912,
+ 9799, 0, 41886, 2480, 0, 2062, 127293, 6494, 5537, 78656, 0, 194587, 0,
+ 1211, 0, 0, 0, 118832, 12318, 0, 0, 0, 10622, 983514, 0, 78654, 6566,
+ 78659, 0, 73780, 0, 64864, 0, 78660, 0, 8284, 13081, 0, 3589, 42051,
+ 4035, 6492, 92236, 4265, 6642, 3977, 74186, 41778, 836, 119216, 2488, 0,
+ 4582, 0, 0, 41777, 12926, 0, 7528, 10550, 0, 92706, 0, 11439, 0, 1374,
+ 64878, 119014, 0, 42389, 41374, 0, 0, 78492, 41377, 127909, 0, 400,
+ 12597, 120586, 0, 0, 6661, 0, 64827, 0, 73817, 390, 0, 74755, 983597,
+ 3473, 7718, 0, 0, 0, 55285, 0, 0, 0, 11969, 0, 127841, 6365, 1887, 6763,
+ 0, 8080, 7006, 0, 0, 6757, 64351, 1544, 0, 6766, 64677, 120716, 0, 6146,
+ 0, 771, 0, 0, 12812, 13168, 42272, 12200, 917927, 7904, 0, 953, 12917,
+ 119560, 12300, 0, 11491, 9724, 10341, 983508, 9524, 7490, 11389, 7489,
+ 3379, 0, 7487, 0, 471, 7484, 7482, 6753, 7480, 7479, 7478, 7477, 6501,
+ 7475, 6918, 7473, 7472, 2474, 7470, 7468, 10232, 10615, 10213, 127288,
+ 92357, 10049, 78884, 3544, 0, 6017, 65311, 127481, 120216, 13306, 10533,
+ 7870, 73949, 7625, 0, 120544, 0, 0, 92660, 0, 0, 0, 19961, 2472, 42665,
+ 92341, 0, 2139, 4256, 120776, 74380, 0, 42675, 42658, 12845, 0, 0, 65138,
+ 119355, 67862, 0, 65671, 120000, 120008, 8066, 7678, 74865, 0, 0, 0, 0,
+ 7186, 0, 120555, 0, 445, 120566, 128308, 0, 0, 8330, 0, 0, 42797, 0,
+ 120215, 0, 3902, 0, 1770, 0, 128866, 1560, 120209, 194972, 4584, 73843,
+ 0, 11712, 10866, 118928, 1118, 92209, 0, 0, 1081, 7436, 68420, 7252, 0,
+ 5996, 0, 4903, 0, 41386, 5162, 119189, 1330, 0, 7139, 0, 12047, 41384, 0,
+ 0, 1848, 4334, 6324, 41975, 64777, 10674, 12308, 12186, 0, 0, 983476,
+ 12715, 128349, 0, 0, 2018, 66672, 41979, 66685, 119157, 0, 92464, 0,
+ 126984, 0, 9334, 92705, 92315, 0, 7975, 0, 77957, 0, 66621, 4884, 66597,
+ 69732, 0, 0, 6313, 65513, 0, 0, 0, 0, 2345, 43697, 463, 0, 0, 119607,
+ 3117, 5460, 0, 0, 0, 0, 42279, 194577, 0, 78415, 0, 195008, 0, 13248, 0,
+ 0, 0, 0, 0, 0, 5663, 0, 0, 0, 0, 2482, 1471, 0, 0, 42247, 12378, 73925,
+ 69664, 0, 12374, 0, 0, 0, 983429, 2460, 0, 11944, 12376, 127868, 64679,
+ 0, 12380, 10557, 64473, 5870, 0, 2024, 127180, 0, 0, 539, 0, 127765, 0,
+ 3853, 65180, 127923, 120796, 120245, 92324, 0, 8659, 0, 12474, 92579,
+ 9503, 194969, 2478, 0, 4162, 0, 4260, 12953, 69633, 120089, 12470, 0,
+ 74189, 2742, 12476, 11798, 10946, 127310, 5000, 0, 983323, 0, 69672,
+ 8213, 74017, 7771, 6161, 0, 6709, 0, 78885, 983443, 127971, 120582,
+ 78547, 0, 10301, 10333, 10397, 0, 0, 73791, 0, 0, 0, 0, 0, 4014, 12842,
+ 73952, 12015, 127290, 8275, 3893, 0, 0, 12210, 7221, 42147, 0, 74550,
+ 74465, 64747, 118841, 0, 12516, 4444, 0, 92271, 74537, 10892, 8231, 0,
+ 6473, 41968, 78388, 41973, 3591, 41969, 0, 2453, 128549, 92666, 64705, 0,
+ 0, 10349, 10413, 43591, 41962, 3202, 74353, 0, 8316, 0, 0, 0, 687, 0, 0,
+ 0, 1840, 0, 68671, 119809, 4883, 285, 4723, 77927, 92692, 4459, 74577,
+ 42921, 41720, 11089, 240, 19906, 0, 42323, 0, 9743, 120232, 13134, 0, 0,
+ 0, 0, 0, 42634, 0, 43437, 3081, 11463, 120154, 0, 0, 10445, 0, 0, 66717,
+ 2614, 9125, 119023, 1729, 0, 120236, 65221, 63883, 43334, 64852, 0,
+ 120235, 66201, 0, 66578, 5001, 41879, 74427, 4121, 5003, 884, 66700,
+ 63879, 4943, 5150, 73889, 74182, 127915, 643, 3086, 0, 42448, 42299, 58,
+ 0, 917952, 120083, 63873, 8491, 0, 0, 0, 4530, 42409, 7126, 194575, 2721,
+ 120074, 119096, 19929, 0, 194574, 0, 4242, 4264, 120077, 128132, 66179,
+ 42412, 65941, 13114, 64522, 10740, 3094, 0, 9754, 119102, 4437, 73948,
+ 128692, 0, 55280, 42174, 194925, 42430, 0, 0, 42355, 66026, 4306, 41380,
+ 68432, 92586, 0, 66667, 127309, 0, 0, 42200, 42566, 0, 0, 5088, 6948, 0,
+ 8524, 0, 0, 12385, 0, 0, 69646, 1386, 64580, 11480, 6116, 65039, 65038,
+ 12392, 65036, 8064, 0, 12101, 5822, 119004, 2080, 710, 77999, 11663,
+ 1666, 42091, 119657, 12383, 43671, 42092, 68418, 4289, 0, 63896, 12061,
+ 42096, 43621, 3362, 12377, 983567, 0, 68449, 7461, 73901, 1244, 331,
+ 73786, 12683, 10662, 0, 8112, 0, 65852, 0, 12379, 194877, 120818, 41964,
+ 42208, 63843, 2084, 41965, 0, 65866, 4327, 0, 63840, 78549, 41220, 13032,
+ 0, 584, 12933, 43177, 12373, 0, 13000, 1351, 2935, 8698, 12665, 0, 1930,
+ 0, 78229, 12427, 66514, 983357, 13031, 0, 63901, 0, 3657, 128572, 65202,
6000, 119206, 12426, 127181, 0, 41740, 12428, 41283, 41916, 119210, 0, 0,
12429, 6727, 0, 7562, 0, 5170, 0, 41755, 676, 0, 66704, 66664, 9978,
66491, 3536, 0, 9752, 92397, 6162, 0, 69228, 10113, 41829, 65886, 5159,
@@ -16423,103 +16642,104 @@ static unsigned int code_hash[] = {
41501, 0, 42031, 5719, 7172, 42687, 8368, 0, 41499, 0, 0, 42242, 41498,
917794, 42025, 78567, 65805, 42463, 0, 2924, 0, 120510, 0, 0, 119213,
73941, 0, 42330, 917784, 3969, 0, 0, 7169, 1992, 9652, 73977, 7246,
- 42086, 917790, 917789, 0, 0, 128801, 0, 0, 327, 0, 9042, 917777, 917776,
- 65148, 12433, 917781, 127276, 917779, 12431, 8668, 12434, 0, 917782,
- 5999, 0, 7712, 12432, 128243, 43653, 1726, 1015, 0, 8212, 0, 128014,
- 42423, 119066, 0, 128108, 66709, 0, 8811, 927, 0, 0, 12436, 0, 42021, 0,
- 0, 1299, 12240, 42350, 65143, 0, 195016, 0, 78197, 11348, 0, 78037, 9194,
- 0, 0, 19914, 12179, 0, 9648, 194923, 63836, 63832, 917773, 10967, 63816,
- 2594, 3444, 63817, 64651, 0, 41503, 127478, 11265, 0, 120756, 194922, 0,
- 5664, 3972, 0, 0, 0, 128508, 12416, 917764, 119608, 10816, 917769,
- 917768, 12418, 74111, 3882, 8532, 917771, 1573, 128648, 119847, 4596,
- 66339, 12417, 66001, 65343, 194782, 12414, 8287, 68219, 195017, 68108,
- 1143, 119169, 119846, 12415, 6626, 42763, 0, 118884, 9021, 120783, 0,
- 11724, 0, 0, 127104, 128526, 0, 0, 8027, 10997, 9171, 12741, 11400,
- 74197, 194799, 0, 128239, 0, 128881, 119604, 127523, 120190, 194773,
- 67608, 128214, 42368, 0, 7715, 3881, 41487, 12118, 42514, 68651, 0, 0,
- 3009, 41476, 41489, 69825, 3007, 1448, 3018, 194809, 3889, 8521, 5083,
- 5082, 119859, 120184, 8519, 0, 3014, 5081, 65853, 120715, 0, 120183,
- 78219, 5079, 64802, 42210, 4597, 65532, 78444, 120185, 12371, 0, 8407, 0,
- 10805, 8518, 10779, 120188, 0, 0, 12367, 42170, 0, 92557, 629, 1924, 0,
- 12037, 74366, 5987, 8462, 8005, 12365, 63933, 69735, 120815, 12369,
- 10649, 0, 5077, 127108, 10880, 63927, 5075, 917881, 0, 65075, 0, 11007,
- 0, 66659, 92607, 0, 66684, 0, 3434, 4954, 1904, 0, 5266, 126980, 5272,
- 10499, 4507, 9578, 63923, 120177, 7979, 0, 9831, 0, 194926, 461, 9803, 0,
- 4504, 1505, 0, 6325, 5276, 43021, 120488, 0, 55236, 0, 66461, 5177,
- 41324, 12055, 8722, 0, 41327, 0, 66695, 4114, 409, 4383, 8900, 8948,
- 41325, 0, 721, 10182, 9108, 0, 0, 119185, 42229, 194912, 0, 5998, 0,
- 42353, 74825, 0, 12587, 0, 78571, 0, 0, 194562, 41576, 42215, 78570,
- 119207, 0, 8578, 5995, 7573, 41575, 74789, 74752, 63944, 63949, 64767,
- 2670, 4167, 0, 11723, 0, 74120, 0, 65076, 938, 43414, 73854, 11737, 9721,
- 0, 0, 0, 11742, 2419, 0, 11493, 12334, 194913, 4153, 12302, 10793, 5250,
- 12407, 11978, 4404, 9189, 12401, 42007, 5775, 6759, 65806, 43997, 0,
- 42002, 12404, 0, 0, 4940, 12410, 7683, 1167, 73729, 4983, 0, 861, 0, 0,
- 0, 0, 65577, 43370, 0, 0, 11956, 0, 0, 0, 9616, 6631, 0, 12816, 74583,
- 42218, 12710, 68674, 12721, 4101, 66185, 0, 5992, 7616, 195044, 0, 12577,
- 0, 0, 853, 42693, 195014, 0, 0, 5016, 43535, 63893, 42835, 9491, 917913,
- 0, 917914, 0, 12712, 7105, 127807, 65060, 120797, 9900, 0, 0, 194919, 0,
- 127830, 0, 64778, 12585, 10565, 128151, 12177, 0, 0, 0, 77824, 0, 4900,
- 127874, 12878, 92630, 8984, 4119, 74768, 8971, 78593, 43113, 9702, 78594,
- 11025, 9245, 13048, 4927, 4138, 74185, 92481, 92710, 12397, 77827, 0,
- 13054, 12394, 0, 0, 0, 13053, 0, 3948, 10781, 1546, 0, 5010, 1680, 10507,
- 78590, 78583, 0, 0, 0, 194915, 7267, 0, 74833, 128181, 5993, 2819, 0,
- 12706, 77840, 1893, 7266, 63915, 7264, 7265, 0, 1363, 0, 63997, 63910,
- 63996, 3077, 0, 0, 1512, 0, 12589, 41479, 128313, 0, 43339, 0, 9836,
- 120727, 0, 41481, 43335, 7832, 42343, 3090, 43337, 817, 1664, 1850,
- 128841, 3079, 11340, 42408, 42447, 127140, 120020, 42307, 12386, 42304,
- 917555, 0, 12389, 0, 92366, 41996, 11526, 63985, 5864, 1147, 63992,
- 42887, 1987, 92718, 5480, 7858, 11653, 4116, 12391, 66193, 0, 4939,
- 12384, 0, 0, 41686, 63905, 119601, 194688, 0, 0, 12649, 0, 0, 8247, 507,
- 91, 2042, 120775, 43643, 194689, 66028, 10036, 41844, 119813, 774,
- 119831, 0, 119815, 5994, 12539, 0, 78375, 120597, 119833, 0, 119600, 0,
- 0, 7719, 6026, 2486, 128312, 119808, 162, 0, 65219, 41073, 9687, 41681,
- 6304, 119812, 66196, 194881, 5262, 0, 55233, 12681, 42379, 0, 7534,
- 12219, 0, 127528, 42810, 10492, 0, 0, 0, 43119, 0, 120753, 12403, 2500,
- 195013, 0, 4899, 12729, 0, 0, 74113, 2343, 4103, 19946, 74112, 77851,
- 13112, 0, 195012, 12859, 0, 120148, 66369, 5861, 127758, 11999, 12400, 0,
- 0, 12645, 5146, 11320, 68410, 6748, 65040, 0, 64184, 12974, 64183, 67613,
- 120645, 5147, 0, 0, 74524, 0, 1928, 0, 67649, 5991, 3445, 67609, 4976,
- 64176, 0, 67610, 8241, 0, 77868, 4206, 0, 0, 0, 128298, 0, 10138, 0, 0,
- 8897, 0, 0, 8357, 4124, 77862, 65836, 120641, 127926, 77859, 0, 0, 1123,
- 963, 41553, 10120, 12405, 120150, 92664, 398, 13278, 9723, 6366, 120311,
- 7945, 0, 4402, 9970, 12402, 0, 42392, 1305, 12408, 0, 44007, 0, 0, 41464,
- 12411, 12969, 120824, 41465, 0, 8528, 1575, 0, 63955, 165, 3024, 41467,
- 119163, 0, 9093, 0, 9147, 0, 63958, 0, 9148, 9692, 4096, 53, 73776, 6750,
- 195018, 0, 9594, 0, 0, 43527, 0, 727, 194703, 0, 5805, 0, 6726, 0, 42176,
- 12370, 11655, 119095, 10591, 12364, 0, 12372, 120642, 120307, 0, 92343,
- 0, 12366, 10963, 6066, 1329, 0, 3052, 9220, 0, 64478, 194701, 10803,
- 4132, 120306, 68474, 92473, 0, 0, 74837, 120155, 1499, 0, 8055, 42740,
- 63965, 0, 63962, 74042, 8924, 43123, 5988, 3660, 63969, 11781, 42718,
- 8788, 1357, 64851, 65743, 0, 8774, 0, 127086, 9941, 120172, 0, 1933,
- 69655, 9564, 0, 92435, 73866, 0, 0, 2487, 67614, 3121, 1804, 3311, 67615,
- 0, 78302, 12220, 67616, 120598, 127475, 0, 68200, 6675, 128144, 0, 67592,
- 120685, 0, 64771, 1198, 9132, 0, 64619, 510, 64663, 0, 0, 4561, 2101,
- 1398, 0, 92554, 74034, 41569, 92684, 11406, 8167, 12127, 0, 840, 0, 0, 0,
- 6967, 0, 0, 9796, 0, 333, 0, 0, 8144, 2117, 0, 0, 12406, 0, 19931,
- 119089, 6678, 7769, 0, 12621, 0, 127366, 10227, 4764, 43101, 9981, 0,
- 40986, 4127, 66487, 0, 42202, 12754, 195022, 0, 0, 0, 67594, 2048, 12944,
- 4050, 67595, 917967, 43102, 10581, 12985, 4533, 195021, 74003, 6490, 0,
- 12038, 0, 0, 120704, 65461, 9798, 69704, 0, 1948, 119007, 0, 952, 128235,
- 0, 0, 120802, 6449, 9494, 120313, 0, 43098, 4843, 8142, 64160, 4098,
- 64170, 0, 0, 3436, 119973, 0, 12817, 67597, 6676, 3930, 66708, 0, 0,
- 67598, 0, 0, 0, 65591, 41581, 65916, 1453, 0, 0, 0, 8500, 42222, 120142,
- 73743, 120400, 4317, 11543, 67676, 64676, 0, 0, 67606, 119083, 0, 42217,
- 13102, 0, 66003, 6672, 0, 0, 0, 0, 63841, 9613, 9001, 4526, 11274, 67601,
- 64520, 64210, 6664, 78704, 42056, 10228, 64957, 11281, 0, 64213, 1469,
- 66640, 65381, 42197, 4988, 42372, 0, 9598, 904, 352, 42225, 1451, 8061,
- 8453, 4134, 0, 74847, 66576, 127916, 0, 10520, 8575, 9960, 1201, 127289,
- 12846, 127291, 127292, 11919, 64962, 127287, 43739, 127281, 8511, 9460,
- 823, 11587, 12305, 0, 64695, 127305, 12387, 1253, 13183, 65766, 500,
- 42783, 65765, 64208, 64369, 65760, 65761, 119585, 11606, 64784, 11702,
- 66498, 9821, 64304, 0, 5152, 11048, 7533, 68366, 64410, 92305, 0, 4323,
- 120062, 92669, 0, 127052, 42587, 42214, 41394, 0, 4763, 4112, 118935, 0,
- 5260, 43143, 0, 326, 120131, 68423, 0, 10771, 2876, 74074, 92530, 194924,
- 41398, 7382, 9802, 127077, 127076, 453, 41396, 120524, 42720, 12140,
- 9572, 0, 7003, 194883, 42334, 7704, 0, 194885, 43144, 4123, 8494, 43146,
- 9977, 0, 0, 65759, 10765, 64061, 4465, 9808, 64056, 65582, 4126, 0, 9521,
- 9589, 64755, 0, 64020, 0, 10464, 0, 0, 194869, 64514, 11528, 64024,
- 128072, 679, 64013, 0, 5850, 758, 7536, 0, 92234, 41441, 10693, 64006, 0,
- 64005, 4058, 119019, 0, 64660, 0, 119050, 0, 0, 1139, 43298, 64027,
+ 42086, 917790, 917789, 0, 0, 128801, 983543, 0, 327, 0, 9042, 917777,
+ 917776, 65148, 12433, 917781, 127276, 917779, 12431, 8668, 12434, 983570,
+ 917782, 5999, 0, 7712, 12432, 128243, 43653, 1726, 1015, 0, 8212, 0,
+ 128014, 42423, 119066, 0, 128108, 66709, 0, 8811, 927, 0, 0, 12436, 0,
+ 42021, 0, 0, 1299, 12240, 42350, 65143, 0, 195016, 0, 78197, 11348, 0,
+ 78037, 9194, 0, 0, 19914, 12179, 983547, 9648, 194923, 63836, 63832,
+ 917773, 10967, 63816, 2594, 3444, 63817, 64651, 0, 41503, 127478, 11265,
+ 0, 120756, 194922, 0, 5664, 3972, 0, 0, 0, 128508, 12416, 917764, 119608,
+ 10816, 917769, 917768, 12418, 74111, 3882, 8532, 917771, 1573, 128648,
+ 119847, 4596, 66339, 12417, 66001, 65343, 194782, 12414, 8287, 68219,
+ 195017, 68108, 1143, 119169, 119846, 12415, 6626, 42763, 0, 118884, 9021,
+ 120783, 0, 11724, 0, 0, 127104, 128526, 0, 0, 8027, 10997, 9171, 12741,
+ 11400, 74197, 194799, 0, 128239, 0, 128881, 119604, 127523, 120190,
+ 194773, 67608, 128214, 42368, 0, 7715, 3881, 41487, 12118, 42514, 68651,
+ 0, 983630, 3009, 41476, 41489, 69825, 3007, 1448, 3018, 194809, 3889,
+ 8521, 5083, 5082, 119859, 120184, 8519, 0, 3014, 5081, 65853, 120715, 0,
+ 120183, 78219, 5079, 64802, 42210, 4597, 65532, 78444, 120185, 12371, 0,
+ 8407, 0, 10805, 8518, 10779, 120188, 0, 983665, 12367, 42170, 0, 92557,
+ 629, 1924, 0, 12037, 74366, 5987, 8462, 8005, 12365, 63933, 69735,
+ 120815, 12369, 10649, 0, 5077, 127108, 10880, 63927, 5075, 917881, 0,
+ 65075, 0, 11007, 983440, 66659, 92607, 0, 66684, 0, 3434, 4954, 1904, 0,
+ 5266, 126980, 5272, 10499, 4507, 9578, 63923, 120177, 7979, 0, 9831, 0,
+ 194926, 461, 9803, 0, 4504, 1505, 0, 6325, 5276, 43021, 120488, 0, 55236,
+ 0, 66461, 5177, 41324, 12055, 8722, 0, 41327, 0, 66695, 4114, 409, 4383,
+ 8900, 8948, 41325, 0, 721, 10182, 9108, 0, 0, 119185, 42229, 194912, 0,
+ 5998, 0, 42353, 74825, 0, 12587, 0, 78571, 0, 0, 194562, 41576, 42215,
+ 78570, 119207, 0, 8578, 5995, 7573, 41575, 74789, 74752, 63944, 63949,
+ 64767, 2670, 4167, 0, 11723, 0, 74120, 0, 65076, 938, 43414, 73854,
+ 11737, 9721, 0, 0, 0, 11742, 2419, 0, 11493, 12334, 194913, 4153, 12302,
+ 10793, 5250, 12407, 11978, 4404, 9189, 12401, 42007, 5775, 6759, 65806,
+ 43997, 0, 42002, 12404, 983297, 0, 4940, 12410, 7683, 1167, 73729, 4983,
+ 0, 861, 0, 0, 0, 0, 65577, 43370, 0, 0, 11956, 0, 0, 0, 9616, 6631, 0,
+ 12816, 74583, 42218, 12710, 68674, 12721, 4101, 66185, 0, 5992, 7616,
+ 195044, 0, 12577, 0, 0, 853, 42693, 195014, 0, 983382, 5016, 43535,
+ 63893, 42835, 9491, 917913, 0, 917914, 0, 12712, 7105, 127807, 65060,
+ 120797, 9900, 0, 0, 194919, 0, 127830, 0, 64778, 12585, 10565, 128151,
+ 12177, 0, 0, 0, 77824, 0, 4900, 127874, 12878, 92630, 8984, 4119, 74768,
+ 8971, 78593, 43113, 9702, 78594, 11025, 9245, 13048, 4927, 4138, 74185,
+ 92481, 92710, 12397, 77827, 0, 13054, 12394, 0, 0, 0, 13053, 0, 3948,
+ 10781, 1546, 0, 5010, 1680, 10507, 78590, 78583, 0, 0, 0, 194915, 7267,
+ 0, 74833, 128181, 5993, 2819, 0, 12706, 77840, 1893, 7266, 63915, 7264,
+ 7265, 0, 1363, 0, 63997, 63910, 63996, 3077, 0, 0, 1512, 0, 12589, 41479,
+ 128313, 0, 43339, 0, 9836, 120727, 0, 41481, 43335, 7832, 42343, 3090,
+ 43337, 817, 1664, 1850, 128841, 3079, 11340, 42408, 42447, 127140,
+ 120020, 42307, 12386, 42304, 917555, 0, 12389, 0, 92366, 41996, 11526,
+ 63985, 5864, 1147, 63992, 42887, 1987, 92718, 5480, 7858, 11653, 4116,
+ 12391, 66193, 0, 4939, 12384, 0, 0, 41686, 63905, 119601, 194688, 983603,
+ 0, 12649, 0, 0, 8247, 507, 91, 2042, 120775, 43643, 194689, 66028, 10036,
+ 41844, 119813, 774, 119831, 0, 119815, 5994, 12539, 0, 78375, 120597,
+ 119833, 0, 119600, 0, 0, 7719, 6026, 2486, 128312, 119808, 162, 0, 65219,
+ 41073, 9687, 41681, 6304, 119812, 66196, 194881, 5262, 0, 55233, 12681,
+ 42379, 0, 7534, 12219, 0, 127528, 42810, 10492, 0, 983396, 0, 43119, 0,
+ 120753, 12403, 2500, 195013, 0, 4899, 12729, 0, 0, 74113, 2343, 4103,
+ 19946, 74112, 77851, 13112, 0, 195012, 12859, 983569, 120148, 66369,
+ 5861, 127758, 11999, 12400, 0, 983574, 12645, 5146, 11320, 68410, 6748,
+ 65040, 0, 64184, 12974, 64183, 67613, 120645, 5147, 0, 0, 74524, 0, 1928,
+ 0, 67649, 5991, 3445, 67609, 4976, 64176, 0, 67610, 8241, 0, 77868, 4206,
+ 0, 0, 0, 128298, 0, 10138, 0, 0, 8897, 0, 0, 8357, 4124, 77862, 65836,
+ 120641, 127926, 77859, 0, 0, 1123, 963, 41553, 10120, 12405, 120150,
+ 92664, 398, 13278, 9723, 6366, 120311, 7945, 0, 4402, 9970, 12402, 0,
+ 42392, 1305, 12408, 0, 44007, 0, 0, 41464, 12411, 12969, 120824, 41465,
+ 983309, 8528, 1575, 0, 63955, 165, 3024, 41467, 119163, 0, 9093, 0, 9147,
+ 0, 63958, 0, 9148, 9692, 4096, 53, 73776, 6750, 195018, 0, 9594, 0, 0,
+ 43527, 0, 727, 194703, 0, 5805, 0, 6726, 0, 42176, 12370, 11655, 119095,
+ 10591, 12364, 0, 12372, 120642, 120307, 0, 92343, 0, 12366, 10963, 6066,
+ 1329, 0, 3052, 9220, 0, 64478, 194701, 10803, 4132, 120306, 68474, 92473,
+ 0, 0, 74837, 120155, 1499, 0, 8055, 42740, 63965, 0, 63962, 74042, 8924,
+ 43123, 5988, 3660, 63969, 11781, 42718, 8788, 1357, 64851, 65743, 0,
+ 8774, 0, 127086, 9941, 120172, 0, 1933, 69655, 9564, 0, 92435, 73866, 0,
+ 0, 2487, 67614, 3121, 1804, 3311, 67615, 0, 78302, 12220, 67616, 120598,
+ 127475, 0, 68200, 6675, 128144, 0, 67592, 120685, 0, 64771, 1198, 9132,
+ 0, 64619, 510, 64663, 0, 0, 4561, 2101, 1398, 0, 92554, 74034, 41569,
+ 92684, 11406, 8167, 12127, 0, 840, 0, 0, 0, 6967, 0, 0, 9796, 0, 333, 0,
+ 0, 8144, 2117, 0, 983339, 12406, 0, 19931, 119089, 6678, 7769, 0, 12621,
+ 0, 127366, 10227, 4764, 43101, 9981, 0, 40986, 4127, 66487, 0, 42202,
+ 12754, 195022, 0, 0, 0, 67594, 2048, 12944, 4050, 67595, 917967, 43102,
+ 10581, 12985, 4533, 195021, 74003, 6490, 0, 12038, 0, 0, 120704, 65461,
+ 9798, 69704, 0, 1948, 119007, 0, 952, 128235, 0, 0, 120802, 6449, 9494,
+ 120313, 0, 43098, 4843, 8142, 64160, 4098, 64170, 0, 0, 3436, 119973, 0,
+ 12817, 67597, 6676, 3930, 66708, 0, 0, 67598, 0, 0, 0, 65591, 41581,
+ 65916, 1453, 0, 0, 0, 8500, 42222, 120142, 73743, 120400, 4317, 11543,
+ 67676, 64676, 0, 0, 67606, 119083, 0, 42217, 13102, 0, 66003, 6672, 0, 0,
+ 0, 983482, 63841, 9613, 9001, 4526, 11274, 67601, 64520, 64210, 6664,
+ 78704, 42056, 10228, 64957, 11281, 0, 64213, 1469, 66640, 65381, 42197,
+ 4988, 42372, 0, 9598, 904, 352, 42225, 1451, 8061, 8453, 4134, 0, 74847,
+ 66576, 127916, 0, 10520, 8575, 9960, 1201, 127289, 12846, 127291, 127292,
+ 11919, 64962, 127287, 43739, 127281, 8511, 9460, 823, 11587, 12305, 0,
+ 64695, 127305, 12387, 1253, 13183, 65766, 500, 42783, 65765, 64208,
+ 64369, 65760, 65761, 119585, 11606, 64784, 11702, 66498, 9821, 64304, 0,
+ 5152, 11048, 7533, 68366, 64410, 92305, 0, 4323, 120062, 92669, 0,
+ 127052, 42587, 42214, 41394, 0, 4763, 4112, 118935, 0, 5260, 43143, 0,
+ 326, 120131, 68423, 0, 10771, 2876, 74074, 92530, 194924, 41398, 7382,
+ 9802, 127077, 127076, 453, 41396, 120524, 42720, 12140, 9572, 0, 7003,
+ 194883, 42334, 7704, 0, 194885, 43144, 4123, 8494, 43146, 9977, 0, 0,
+ 65759, 10765, 64061, 4465, 9808, 64056, 65582, 4126, 0, 9521, 9589,
+ 64755, 0, 64020, 0, 10464, 0, 0, 194869, 64514, 11528, 64024, 128072,
+ 679, 64013, 0, 5850, 758, 7536, 0, 92234, 41441, 10693, 64006, 983311,
+ 64005, 4058, 119019, 0, 64660, 0, 119050, 0, 983434, 1139, 43298, 64027,
64029, 8970, 0, 9934, 0, 10774, 128020, 42201, 12421, 128216, 0, 1852,
3057, 128113, 73744, 64034, 64039, 0, 0, 0, 0, 92322, 7645, 12854, 74338,
3496, 0, 0, 0, 9102, 627, 127795, 6158, 8327, 74553, 66632, 12419, 13309,
@@ -16529,143 +16749,145 @@ static unsigned int code_hash[] = {
74779, 0, 185, 65085, 74533, 64754, 194848, 7535, 8085, 42525, 120387,
9749, 41701, 6131, 1949, 4117, 7847, 120489, 194711, 64483, 65693, 0, 0,
0, 69695, 42240, 0, 0, 42864, 0, 64667, 41868, 1184, 0, 815, 11484,
- 127535, 67840, 0, 0, 128793, 0, 10986, 64683, 0, 0, 194709, 0, 0, 9879,
- 0, 0, 4158, 128050, 68166, 0, 0, 0, 0, 69645, 332, 118808, 0, 5142, 2407,
- 69643, 42199, 0, 92404, 74373, 0, 55217, 0, 63870, 43163, 0, 0, 92390,
- 42867, 1834, 0, 92461, 69817, 10940, 65249, 119040, 8662, 0, 0, 2652,
- 120527, 7164, 10784, 195093, 67674, 0, 92233, 92482, 194749, 74562,
+ 127535, 67840, 983386, 0, 128793, 0, 10986, 64683, 983520, 0, 194709, 0,
+ 0, 9879, 0, 0, 4158, 128050, 68166, 0, 0, 0, 0, 69645, 332, 118808, 0,
+ 5142, 2407, 69643, 42199, 0, 92404, 74373, 0, 55217, 0, 63870, 43163, 0,
+ 0, 92390, 42867, 1834, 0, 92461, 69817, 10940, 65249, 119040, 8662, 0, 0,
+ 2652, 120527, 7164, 10784, 195093, 67674, 0, 92233, 92482, 194749, 74562,
917505, 1828, 74474, 120327, 78620, 8531, 12499, 6280, 12324, 118854,
65238, 68374, 4832, 65573, 0, 6279, 12508, 12904, 12502, 9161, 0, 1620,
64436, 3601, 195094, 128073, 0, 609, 11555, 0, 12496, 127839, 74181,
4343, 12505, 0, 127863, 0, 11377, 239, 0, 637, 0, 0, 42671, 0, 0, 0,
- 43565, 127082, 0, 12696, 128256, 0, 194796, 12929, 0, 712, 0, 4197, 0,
- 42818, 128688, 0, 120490, 0, 119137, 1506, 43562, 0, 0, 0, 12651, 0,
- 64628, 74517, 12058, 74084, 917838, 7494, 0, 4924, 65592, 118844, 0,
+ 43565, 127082, 983656, 12696, 128256, 0, 194796, 12929, 0, 712, 0, 4197,
+ 983045, 42818, 128688, 0, 120490, 0, 119137, 1506, 43562, 0, 0, 0, 12651,
+ 0, 64628, 74517, 12058, 74084, 917838, 7494, 0, 4924, 65592, 118844, 0,
127088, 355, 9719, 127087, 13066, 64796, 0, 0, 12033, 42178, 0, 69760,
42571, 92635, 0, 0, 0, 0, 0, 127176, 3178, 0, 0, 92704, 0, 9080, 127000,
120352, 0, 68209, 0, 11082, 0, 5699, 195100, 66000, 9488, 65166, 119112,
0, 0, 0, 0, 128208, 0, 5265, 69235, 0, 11487, 67858, 12464, 0, 43045, 0,
0, 43345, 0, 10770, 118994, 6807, 465, 9829, 0, 74348, 0, 43346, 8116,
- 795, 0, 0, 12462, 10930, 10831, 0, 118952, 64362, 74334, 0, 120811, 0,
- 12468, 8607, 1008, 0, 10092, 195078, 917842, 67855, 55257, 73771, 1766,
- 11282, 11996, 1820, 4547, 0, 0, 0, 0, 13223, 128665, 64595, 127294, 0,
- 92311, 4345, 12616, 0, 0, 0, 74467, 0, 0, 0, 5382, 0, 0, 0, 119060,
+ 795, 0, 0, 12462, 10930, 10831, 0, 118952, 64362, 74334, 983346, 120811,
+ 0, 12468, 8607, 1008, 0, 10092, 195078, 917842, 67855, 55257, 73771,
+ 1766, 11282, 11996, 1820, 4547, 0, 0, 0, 0, 13223, 128665, 64595, 127294,
+ 0, 92311, 4345, 12616, 0, 0, 0, 74467, 0, 0, 0, 5382, 0, 0, 0, 119060,
64953, 5406, 19920, 92216, 66510, 3590, 0, 1130, 0, 0, 42016, 11823,
43023, 0, 118896, 7742, 0, 13280, 0, 9326, 73826, 5310, 74812, 78584,
- 92229, 8959, 43589, 6747, 66723, 0, 8568, 0, 120496, 73816, 120803, 0,
- 42670, 0, 11621, 12460, 0, 120631, 0, 43063, 74519, 127182, 0, 0, 0,
- 69783, 11689, 5410, 5783, 10468, 8403, 5400, 11594, 128247, 0, 118990,
+ 92229, 8959, 43589, 6747, 66723, 0, 8568, 0, 120496, 73816, 120803,
+ 983583, 42670, 0, 11621, 12460, 0, 120631, 0, 43063, 74519, 127182, 0, 0,
+ 0, 69783, 11689, 5410, 5783, 10468, 8403, 5400, 11594, 128247, 0, 118990,
10491, 0, 64412, 0, 0, 5587, 42865, 64404, 8268, 4923, 65086, 8981,
12382, 42133, 120755, 9706, 69738, 0, 66610, 10461, 12103, 0, 8642, 0,
- 42766, 0, 66566, 9983, 0, 119105, 0, 0, 0, 7398, 41515, 0, 11802, 8041,
- 1461, 910, 119133, 0, 6749, 3658, 0, 120525, 0, 7617, 194841, 12888, 0,
- 67668, 13143, 0, 9193, 11097, 5703, 0, 41517, 41504, 41519, 10016, 64305,
- 0, 65864, 623, 781, 670, 10660, 5769, 613, 7543, 120279, 477, 41083,
- 92521, 0, 592, 1578, 12459, 43449, 0, 0, 8225, 0, 654, 11345, 653, 652,
- 0, 647, 0, 633, 120744, 0, 0, 12480, 43243, 0, 39, 12487, 0, 120529,
- 74199, 12482, 0, 12489, 0, 3195, 5550, 0, 7897, 0, 1203, 74396, 1813,
- 64544, 41311, 12090, 0, 2877, 0, 0, 1675, 0, 0, 0, 0, 10070, 10595, 0,
- 119077, 0, 0, 0, 0, 0, 43244, 0, 0, 0, 119561, 0, 0, 194921, 128160,
- 9939, 0, 0, 77860, 0, 0, 270, 0, 10714, 0, 0, 0, 0, 0, 65372, 0, 74038,
- 119558, 6273, 66679, 364, 9595, 194908, 0, 0, 707, 0, 0, 9282, 66489,
- 224, 0, 68670, 9332, 4966, 68677, 0, 68644, 0, 3841, 68634, 0, 10732,
- 68640, 850, 4972, 0, 64699, 2909, 68619, 44008, 68627, 0, 11544, 10203,
- 9608, 0, 0, 11962, 194694, 12507, 1196, 128687, 128311, 777, 120187,
- 4375, 65271, 67678, 0, 12198, 0, 64824, 119343, 0, 9454, 63778, 8658,
- 42528, 78000, 2705, 917975, 41520, 0, 0, 11986, 7765, 42502, 8280, 0,
- 2701, 0, 0, 5767, 0, 0, 9809, 8353, 63747, 66701, 63772, 0, 63745, 1748,
- 63770, 0, 0, 0, 65542, 63766, 55244, 3061, 0, 63764, 63787, 9067, 6096,
- 0, 7694, 0, 7257, 63768, 3485, 12987, 0, 127522, 120628, 63807, 1591, 0,
- 6386, 63783, 0, 0, 127173, 0, 0, 0, 74575, 0, 65719, 13083, 64574, 65012,
- 0, 1640, 12495, 66691, 7624, 3138, 10996, 92247, 1922, 0, 12498, 10987,
- 0, 0, 3894, 65543, 0, 194842, 0, 493, 0, 43197, 1717, 4228, 479, 10303,
- 74020, 0, 917935, 10335, 3520, 917932, 12490, 64315, 0, 127039, 12493,
- 6233, 42681, 1002, 12491, 0, 64911, 92615, 2096, 65120, 0, 0, 0, 11611,
- 11632, 127041, 66213, 63864, 66221, 66226, 66229, 13218, 66231, 66216,
- 8507, 66236, 66211, 66218, 92672, 66240, 78041, 66233, 8928, 0, 7909,
- 66234, 11605, 63759, 0, 66208, 73999, 63799, 63803, 244, 11542, 12898,
- 12494, 73761, 12492, 12669, 0, 0, 74153, 0, 128278, 120680, 4882, 13040,
- 0, 8612, 4885, 74053, 0, 13042, 4880, 64662, 2429, 1360, 248, 0, 63797,
- 92394, 42358, 0, 7292, 0, 63756, 42786, 66693, 0, 1870, 78040, 470,
- 78038, 78035, 78036, 0, 78034, 4579, 128090, 0, 12511, 74453, 12514, 0,
- 74579, 7239, 7001, 8623, 0, 128052, 128048, 7378, 12512, 11615, 6104, 0,
- 0, 659, 6098, 0, 12234, 127307, 127067, 8311, 12510, 41803, 13039,
- 127072, 12513, 10202, 12471, 0, 8747, 0, 0, 0, 2323, 0, 2319, 77917,
- 12477, 77916, 2311, 0, 4415, 237, 6281, 127280, 0, 0, 2309, 1312, 8173,
- 128871, 12469, 0, 78505, 64335, 10609, 0, 128111, 9397, 11524, 9395,
- 9396, 9393, 9394, 9391, 9392, 9389, 6209, 9387, 9388, 4932, 9386, 9383,
- 9384, 6740, 0, 65451, 8185, 0, 917832, 43024, 43336, 67659, 2313, 128167,
- 7948, 9236, 0, 0, 0, 10570, 43473, 6289, 10484, 0, 0, 11998, 12082,
- 10924, 3147, 0, 120684, 12524, 119081, 2310, 11818, 9381, 9382, 9379,
- 9380, 9377, 9378, 9375, 9376, 1683, 9374, 0, 9372, 12444, 0, 0, 13016,
- 8210, 0, 42029, 11079, 12331, 43451, 42032, 8744, 726, 0, 0, 4155, 0, 0,
- 42030, 5007, 12522, 43088, 0, 4951, 127805, 127240, 0, 9922, 43309, 0,
- 12525, 0, 12016, 65770, 9548, 67665, 403, 78230, 12503, 0, 0, 11030, 0,
- 92567, 65691, 63998, 1819, 10496, 0, 0, 119920, 0, 194668, 0, 12506, 0,
- 12231, 0, 12500, 44023, 12509, 64393, 78830, 3389, 10589, 6608, 41047,
- 120321, 78395, 78394, 74069, 77995, 78391, 3608, 8281, 120320, 1107, 0,
- 9076, 8862, 69743, 41052, 13084, 64766, 43217, 7803, 13222, 74165, 74782,
- 128817, 8546, 11553, 63995, 13177, 9043, 6303, 0, 498, 64471, 120324,
- 128567, 12529, 8042, 0, 2344, 12528, 8031, 2414, 0, 69719, 3231, 0, 6422,
- 66512, 69653, 12530, 2537, 78405, 41429, 12658, 13036, 65772, 0, 78738,
- 41433, 4719, 469, 0, 4363, 3313, 41428, 78407, 2023, 1772, 78224, 78225,
- 65706, 10051, 64812, 78220, 0, 9920, 12215, 0, 4931, 1951, 12497, 119363,
- 9607, 0, 9663, 0, 119634, 6503, 41110, 0, 1491, 0, 0, 127304, 41061, 0,
- 0, 127187, 65026, 41993, 41509, 11045, 65028, 78602, 66476, 41108, 9738,
- 41995, 1075, 1958, 12535, 41992, 41506, 0, 41687, 0, 120717, 127776,
- 9940, 127299, 7692, 0, 8008, 41131, 330, 8566, 65083, 41133, 9816,
- 128074, 12532, 78550, 78546, 3508, 127058, 43235, 0, 127298, 64139,
+ 42766, 983601, 66566, 9983, 0, 119105, 0, 0, 0, 7398, 41515, 0, 11802,
+ 8041, 1461, 910, 119133, 0, 6749, 3658, 0, 120525, 0, 7617, 194841,
+ 12888, 0, 67668, 13143, 0, 9193, 11097, 5703, 0, 41517, 41504, 41519,
+ 10016, 64305, 0, 65864, 623, 781, 670, 10660, 5769, 613, 7543, 120279,
+ 477, 41083, 92521, 0, 592, 1578, 12459, 43449, 0, 0, 8225, 0, 654, 11345,
+ 653, 652, 0, 647, 0, 633, 120744, 0, 0, 12480, 43243, 0, 39, 12487, 0,
+ 120529, 74199, 12482, 0, 12489, 0, 3195, 5550, 983298, 7897, 0, 1203,
+ 74396, 1813, 64544, 41311, 12090, 0, 2877, 0, 0, 1675, 0, 0, 0, 0, 10070,
+ 10595, 0, 119077, 0, 983355, 0, 0, 0, 43244, 0, 0, 983651, 119561, 0, 0,
+ 194921, 128160, 9939, 0, 0, 77860, 0, 0, 270, 0, 10714, 0, 0, 0, 0, 0,
+ 65372, 0, 74038, 119558, 6273, 66679, 364, 9595, 194908, 0, 0, 707, 0, 0,
+ 9282, 66489, 224, 0, 68670, 9332, 4966, 68677, 0, 68644, 0, 3841, 68634,
+ 0, 10732, 68640, 850, 4972, 0, 64699, 2909, 68619, 44008, 68627, 983453,
+ 11544, 10203, 9608, 0, 0, 11962, 194694, 12507, 1196, 128687, 128311,
+ 777, 120187, 4375, 65271, 67678, 0, 12198, 0, 64824, 119343, 0, 9454,
+ 63778, 8658, 42528, 78000, 2705, 917975, 41520, 0, 0, 11986, 7765, 42502,
+ 8280, 0, 2701, 0, 0, 5767, 0, 0, 9809, 8353, 63747, 66701, 63772, 983549,
+ 63745, 1748, 63770, 0, 0, 0, 65542, 63766, 55244, 3061, 0, 63764, 63787,
+ 9067, 6096, 0, 7694, 0, 7257, 63768, 3485, 12987, 0, 127522, 120628,
+ 63807, 1591, 0, 6386, 63783, 0, 0, 127173, 0, 0, 0, 74575, 0, 65719,
+ 13083, 64574, 65012, 0, 1640, 12495, 66691, 7624, 3138, 10996, 92247,
+ 1922, 0, 12498, 10987, 0, 0, 3894, 65543, 0, 194842, 983332, 493, 0,
+ 43197, 1717, 4228, 479, 10303, 74020, 0, 917935, 10335, 3520, 917932,
+ 12490, 64315, 0, 127039, 12493, 6233, 42681, 1002, 12491, 0, 64911,
+ 92615, 2096, 65120, 0, 0, 0, 11611, 11632, 127041, 66213, 63864, 66221,
+ 66226, 66229, 13218, 66231, 66216, 8507, 66236, 66211, 66218, 92672,
+ 66240, 78041, 66233, 8928, 983296, 7909, 66234, 11605, 63759, 983389,
+ 66208, 73999, 63799, 63803, 244, 11542, 12898, 12494, 73761, 12492,
+ 12669, 0, 0, 74153, 0, 128278, 120680, 4882, 13040, 0, 8612, 4885, 74053,
+ 0, 13042, 4880, 64662, 2429, 1360, 248, 0, 63797, 92394, 42358, 0, 7292,
+ 0, 63756, 42786, 66693, 0, 1870, 78040, 470, 78038, 78035, 78036, 983313,
+ 78034, 4579, 128090, 0, 12511, 74453, 12514, 0, 74579, 7239, 7001, 8623,
+ 0, 128052, 128048, 7378, 12512, 11615, 6104, 0, 0, 659, 6098, 0, 12234,
+ 127307, 127067, 8311, 12510, 41803, 13039, 127072, 12513, 10202, 12471,
+ 0, 8747, 983655, 0, 0, 2323, 0, 2319, 77917, 12477, 77916, 2311, 0, 4415,
+ 237, 6281, 127280, 0, 0, 2309, 1312, 8173, 128871, 12469, 0, 78505,
+ 64335, 10609, 0, 128111, 9397, 11524, 9395, 9396, 9393, 9394, 9391, 9392,
+ 9389, 6209, 9387, 9388, 4932, 9386, 9383, 9384, 6740, 0, 65451, 8185, 0,
+ 917832, 43024, 43336, 67659, 2313, 128167, 7948, 9236, 0, 0, 0, 10570,
+ 43473, 6289, 10484, 0, 0, 11998, 12082, 10924, 3147, 0, 120684, 12524,
+ 119081, 2310, 11818, 9381, 9382, 9379, 9380, 9377, 9378, 9375, 9376,
+ 1683, 9374, 983513, 9372, 12444, 0, 0, 13016, 8210, 983690, 42029, 11079,
+ 12331, 43451, 42032, 8744, 726, 0, 983572, 4155, 0, 0, 42030, 5007,
+ 12522, 43088, 0, 4951, 127805, 127240, 0, 9922, 43309, 983576, 12525, 0,
+ 12016, 65770, 9548, 67665, 403, 78230, 12503, 0, 0, 11030, 0, 92567,
+ 65691, 63998, 1819, 10496, 0, 0, 119920, 0, 194668, 0, 12506, 0, 12231,
+ 0, 12500, 44023, 12509, 64393, 78830, 3389, 10589, 6608, 41047, 120321,
+ 78395, 78394, 74069, 77995, 78391, 3608, 8281, 120320, 1107, 0, 9076,
+ 8862, 69743, 41052, 13084, 64766, 43217, 7803, 13222, 74165, 74782,
+ 128817, 8546, 11553, 63995, 13177, 9043, 6303, 983679, 498, 64471,
+ 120324, 128567, 12529, 8042, 0, 2344, 12528, 8031, 2414, 0, 69719, 3231,
+ 0, 6422, 66512, 69653, 12530, 2537, 78405, 41429, 12658, 13036, 65772, 0,
+ 78738, 41433, 4719, 469, 0, 4363, 3313, 41428, 78407, 2023, 1772, 78224,
+ 78225, 65706, 10051, 64812, 78220, 0, 9920, 12215, 0, 4931, 1951, 12497,
+ 119363, 9607, 0, 9663, 0, 119634, 6503, 41110, 0, 1491, 0, 0, 127304,
+ 41061, 0, 0, 127187, 65026, 41993, 41509, 11045, 65028, 78602, 66476,
+ 41108, 9738, 41995, 1075, 1958, 12535, 41992, 41506, 0, 41687, 0, 120717,
+ 127776, 9940, 127299, 7692, 0, 8008, 41131, 330, 8566, 65083, 41133,
+ 9816, 128074, 12532, 78550, 78546, 3508, 127058, 43235, 0, 127298, 64139,
78231, 6411, 12910, 78554, 66644, 13028, 6737, 12537, 0, 0, 64136, 12536,
- 2350, 13029, 78233, 0, 0, 13030, 6702, 4527, 0, 12538, 128810, 0, 65599,
- 65717, 9966, 0, 4948, 12484, 4032, 128149, 12623, 0, 6207, 0, 6117,
- 65930, 8412, 0, 7438, 1296, 2325, 41511, 0, 10149, 74118, 0, 127286,
- 12481, 0, 12488, 0, 0, 41556, 64414, 118802, 2354, 128571, 73766, 0,
- 6295, 901, 41510, 7953, 0, 65032, 41513, 0, 11927, 66584, 78559, 78560,
- 78557, 78558, 0, 78556, 848, 9868, 0, 6424, 78568, 119338, 78565, 74031,
- 78563, 78564, 2352, 78572, 893, 64576, 11289, 1407, 0, 0, 13026, 6762,
- 78579, 78580, 13023, 8903, 9777, 66715, 1871, 8099, 0, 0, 1343, 0, 0,
- 9325, 6818, 6283, 11738, 0, 0, 0, 11741, 0, 0, 9216, 8263, 11279, 194752,
- 0, 194754, 13021, 64494, 3136, 194758, 194757, 194760, 13022, 42737,
- 9956, 0, 0, 74552, 10014, 0, 41260, 119340, 13020, 10024, 194764, 194767,
- 74340, 69681, 0, 64945, 8029, 0, 0, 0, 3335, 0, 0, 9776, 120526, 194748,
- 5215, 42644, 3333, 1632, 194751, 64849, 3342, 78582, 5363, 12957, 78581,
- 4156, 0, 0, 6421, 78591, 1611, 78589, 13018, 74257, 78588, 74542, 3337,
- 4537, 67895, 11736, 0, 68608, 6482, 4214, 73790, 11945, 0, 13046, 8838,
- 425, 4025, 10709, 78595, 2108, 2392, 13047, 0, 0, 6819, 13049, 6499,
- 92243, 12424, 68614, 73944, 13050, 9924, 194745, 6507, 127919, 0, 128069,
- 3277, 8929, 4947, 41055, 0, 194722, 194721, 194724, 13045, 64626, 66034,
- 7751, 194727, 8371, 194729, 3997, 12806, 8768, 13044, 0, 12420, 4024,
- 194730, 41054, 1078, 9757, 69736, 41057, 0, 0, 0, 0, 0, 92210, 92411, 0,
- 41496, 0, 9165, 1572, 11911, 0, 118842, 2346, 13270, 8958, 0, 9646, 3773,
- 43183, 6401, 5831, 0, 0, 13043, 8056, 92494, 65681, 208, 127382, 41514,
- 0, 0, 0, 10699, 6408, 92227, 7825, 5661, 0, 120630, 3603, 41109, 2398,
- 3548, 0, 0, 119933, 0, 3115, 9918, 0, 11321, 42912, 0, 0, 194726, 4876,
- 65804, 0, 0, 43468, 0, 41558, 41471, 73950, 8158, 9944, 41472, 120298,
- 13051, 78689, 3143, 194674, 6701, 41559, 1896, 66256, 13052, 194680,
- 5665, 0, 119071, 7025, 63974, 0, 74352, 74161, 4154, 9863, 43550, 12310,
- 5662, 42382, 194686, 73924, 1121, 194665, 63959, 0, 9942, 13231, 0,
- 64752, 4732, 194666, 11596, 119931, 65187, 1626, 63983, 10110, 64772,
- 42024, 6420, 42028, 0, 10509, 2795, 4910, 194728, 69231, 64753, 6275,
- 917808, 118830, 63978, 11044, 3229, 6423, 42774, 0, 0, 0, 12823, 2331,
- 917810, 42026, 6137, 0, 7524, 0, 917809, 8346, 0, 8338, 128315, 65043, 0,
- 822, 127984, 9903, 64721, 42722, 194656, 194659, 78655, 78661, 194660,
- 78662, 41265, 5311, 1795, 965, 118791, 10587, 78055, 11278, 78632,
- 194640, 0, 12946, 194641, 119341, 120349, 6294, 3144, 194648, 194647,
- 65019, 194649, 73990, 0, 0, 748, 41067, 2330, 535, 3148, 12375, 194652,
- 194629, 10556, 2475, 12388, 4889, 8968, 67863, 3593, 0, 0, 2342, 0,
- 194634, 65206, 4894, 194635, 4890, 194637, 917804, 581, 4893, 0, 6571,
- 65545, 4888, 4157, 78048, 78049, 78046, 78047, 0, 10119, 6415, 42893, 0,
- 69702, 0, 0, 11375, 64746, 2332, 78063, 412, 78061, 64932, 42880, 43587,
- 0, 0, 0, 0, 65197, 78066, 12203, 78064, 78065, 8913, 65854, 4875, 65811,
- 120381, 120389, 118888, 9344, 8826, 120386, 120395, 13104, 74781, 11997,
- 120393, 78075, 0, 3134, 0, 65696, 92331, 0, 66217, 0, 8334, 119344, 0,
- 3449, 0, 0, 78414, 78413, 118950, 74011, 0, 0, 0, 0, 1908, 120167, 4328,
- 10734, 127014, 0, 127914, 7804, 78272, 10811, 6250, 11339, 4914, 11367,
- 0, 78054, 4917, 74516, 74208, 64285, 4912, 5464, 127836, 118893, 2361,
- 7971, 78072, 78073, 55243, 78071, 0, 8086, 74317, 6707, 8319, 2312,
- 40977, 10960, 40962, 8305, 12573, 0, 40980, 0, 13202, 0, 12582, 78282, 0,
- 0, 42438, 55221, 6288, 78280, 127946, 5653, 42400, 10891, 7698, 5658,
- 74045, 120165, 0, 0, 4913, 0, 0, 0, 42326, 128194, 12728, 92685, 42478,
+ 2350, 13029, 78233, 0, 0, 13030, 6702, 4527, 0, 12538, 128810, 983380,
+ 65599, 65717, 9966, 0, 4948, 12484, 4032, 128149, 12623, 0, 6207, 0,
+ 6117, 65930, 8412, 0, 7438, 1296, 2325, 41511, 0, 10149, 74118, 0,
+ 127286, 12481, 0, 12488, 0, 0, 41556, 64414, 118802, 2354, 128571, 73766,
+ 0, 6295, 901, 41510, 7953, 0, 65032, 41513, 0, 11927, 66584, 78559,
+ 78560, 78557, 78558, 0, 78556, 848, 9868, 0, 6424, 78568, 119338, 78565,
+ 74031, 78563, 78564, 2352, 78572, 893, 64576, 11289, 1407, 0, 0, 13026,
+ 6762, 78579, 78580, 13023, 8903, 9777, 66715, 1871, 8099, 0, 0, 1343,
+ 983558, 0, 9325, 6818, 6283, 11738, 0, 983666, 0, 11741, 0, 0, 9216,
+ 8263, 11279, 194752, 983560, 194754, 13021, 64494, 3136, 194758, 194757,
+ 194760, 13022, 42737, 9956, 0, 0, 74552, 10014, 0, 41260, 119340, 13020,
+ 10024, 194764, 194767, 74340, 69681, 0, 64945, 8029, 0, 0, 983515, 3335,
+ 0, 0, 9776, 120526, 194748, 5215, 42644, 3333, 1632, 194751, 64849, 3342,
+ 78582, 5363, 12957, 78581, 4156, 0, 0, 6421, 78591, 1611, 78589, 13018,
+ 74257, 78588, 74542, 3337, 4537, 67895, 11736, 0, 68608, 6482, 4214,
+ 73790, 11945, 0, 13046, 8838, 425, 4025, 10709, 78595, 2108, 2392, 13047,
+ 0, 0, 6819, 13049, 6499, 92243, 12424, 68614, 73944, 13050, 9924, 194745,
+ 6507, 127919, 0, 128069, 3277, 8929, 4947, 41055, 0, 194722, 194721,
+ 194724, 13045, 64626, 66034, 7751, 194727, 8371, 194729, 3997, 12806,
+ 8768, 13044, 0, 12420, 4024, 194730, 41054, 1078, 9757, 69736, 41057, 0,
+ 0, 0, 0, 0, 92210, 92411, 0, 41496, 0, 9165, 1572, 11911, 0, 118842,
+ 2346, 13270, 8958, 0, 9646, 3773, 43183, 6401, 5831, 0, 0, 13043, 8056,
+ 92494, 65681, 208, 127382, 41514, 0, 0, 0, 10699, 6408, 92227, 7825,
+ 5661, 0, 120630, 3603, 41109, 2398, 3548, 0, 0, 119933, 0, 3115, 9918, 0,
+ 11321, 42912, 0, 0, 194726, 4876, 65804, 0, 0, 43468, 0, 41558, 41471,
+ 73950, 8158, 9944, 41472, 120298, 13051, 78689, 3143, 194674, 6701,
+ 41559, 1896, 66256, 13052, 194680, 5665, 0, 119071, 7025, 63974, 0,
+ 74352, 74161, 4154, 9863, 43550, 12310, 5662, 42382, 194686, 73924, 1121,
+ 194665, 63959, 0, 9942, 13231, 0, 64752, 4732, 194666, 11596, 119931,
+ 65187, 1626, 63983, 10110, 64772, 42024, 6420, 42028, 0, 10509, 2795,
+ 4910, 194728, 69231, 64753, 6275, 917808, 118830, 63978, 11044, 3229,
+ 6423, 42774, 0, 0, 0, 12823, 2331, 917810, 42026, 6137, 0, 7524, 0,
+ 917809, 8346, 0, 8338, 128315, 65043, 0, 822, 127984, 9903, 64721, 42722,
+ 194656, 194659, 78655, 78661, 194660, 78662, 41265, 5311, 1795, 965,
+ 118791, 10587, 78055, 11278, 78632, 194640, 0, 12946, 194641, 119341,
+ 120349, 6294, 3144, 194648, 194647, 65019, 194649, 73990, 0, 983692, 748,
+ 41067, 2330, 535, 3148, 12375, 194652, 194629, 10556, 2475, 12388, 4889,
+ 8968, 67863, 3593, 0, 0, 2342, 0, 194634, 65206, 4894, 194635, 4890,
+ 194637, 917804, 581, 4893, 0, 6571, 65545, 4888, 4157, 78048, 78049,
+ 78046, 78047, 0, 10119, 6415, 42893, 0, 69702, 0, 0, 11375, 64746, 2332,
+ 78063, 412, 78061, 64932, 42880, 43587, 0, 0, 0, 0, 65197, 78066, 12203,
+ 78064, 78065, 8913, 65854, 4875, 65811, 120381, 120389, 118888, 9344,
+ 8826, 120386, 120395, 13104, 74781, 11997, 120393, 78075, 0, 3134, 0,
+ 65696, 92331, 0, 66217, 0, 8334, 119344, 0, 3449, 0, 0, 78414, 78413,
+ 118950, 74011, 0, 0, 0, 0, 1908, 120167, 4328, 10734, 127014, 0, 127914,
+ 7804, 78272, 10811, 6250, 11339, 4914, 11367, 0, 78054, 4917, 74516,
+ 74208, 64285, 4912, 5464, 127836, 118893, 2361, 7971, 78072, 78073,
+ 55243, 78071, 0, 8086, 74317, 6707, 8319, 2312, 40977, 10960, 40962,
+ 8305, 12573, 983352, 40980, 983696, 13202, 0, 12582, 78282, 0, 983427,
+ 42438, 55221, 6288, 78280, 127946, 5653, 42400, 10891, 7698, 5658, 74045,
+ 120165, 0, 0, 4913, 0, 983691, 0, 42326, 128194, 12728, 92685, 42478,
2327, 0, 12563, 42287, 12705, 0, 0, 12588, 8821, 6153, 2867, 194708,
66312, 698, 128007, 194606, 10356, 74075, 194713, 651, 12641, 0, 0, 0, 0,
41552, 65115, 78465, 78467, 78463, 78464, 128851, 78461, 194697, 74356,
@@ -16673,373 +16895,377 @@ static unsigned int code_hash[] = {
120676, 8703, 5462, 917629, 0, 10101, 0, 0, 8479, 4151, 41933, 0, 0,
66254, 120821, 0, 0, 128654, 0, 119194, 74050, 92701, 0, 0, 0, 0, 0,
12278, 0, 0, 0, 2700, 12576, 7842, 12899, 0, 0, 2699, 0, 73845, 2985,
- 92568, 0, 917845, 12192, 119314, 0, 119312, 9827, 119310, 119311, 119308,
- 119309, 119306, 11481, 41210, 119305, 0, 35, 78481, 78482, 66694, 68479,
- 78477, 78478, 43596, 6090, 64257, 7812, 10534, 0, 78485, 73848, 78483,
- 4272, 0, 40967, 40964, 917825, 12704, 78487, 43306, 0, 64497, 12138,
- 7930, 0, 43303, 68216, 0, 917826, 5244, 4189, 127098, 67596, 127504,
- 4188, 1879, 0, 968, 0, 43743, 0, 8873, 0, 0, 917827, 65555, 12574, 0, 0,
- 0, 74490, 127099, 43657, 0, 0, 0, 42682, 12578, 12720, 0, 41227, 0,
- 12346, 127101, 64848, 0, 0, 7251, 0, 0, 118850, 119141, 128546, 66015, 0,
- 959, 8885, 12564, 66457, 78808, 9469, 9632, 92323, 74761, 64323, 0, 0, 0,
- 0, 310, 0, 41281, 10976, 0, 92190, 0, 74266, 10054, 6497, 8574, 0, 9012,
- 19958, 74420, 65089, 13215, 12730, 65163, 74044, 374, 43195, 816, 0, 0,
- 0, 41934, 7465, 0, 128168, 0, 4715, 6101, 0, 41936, 0, 4879, 0, 65446, 0,
- 307, 127147, 9585, 5374, 0, 128059, 0, 0, 0, 0, 0, 65567, 120614, 1929,
- 0, 12142, 0, 12236, 41419, 194618, 120610, 12982, 194623, 5378, 78791,
- 128679, 41421, 0, 4462, 0, 0, 128092, 821, 0, 2498, 5800, 120157, 0,
- 1760, 2421, 4469, 2324, 828, 3611, 78400, 757, 1185, 0, 78770, 43597,
- 10628, 74808, 194572, 7999, 43971, 0, 0, 10634, 10942, 7713, 2348, 0,
- 64374, 4380, 194608, 119044, 9982, 64324, 41240, 862, 65626, 78462, 1810,
- 3673, 5137, 194617, 0, 7277, 65622, 0, 7566, 64688, 194593, 194592,
- 78092, 74357, 194597, 4748, 92228, 194598, 194601, 42260, 5871, 119075,
- 0, 74576, 44019, 0, 128189, 3967, 194604, 13137, 8775, 127945, 0, 2963,
- 0, 8410, 4454, 723, 127882, 966, 4449, 92330, 92238, 0, 7819, 2320,
- 194589, 339, 4968, 194590, 120399, 8075, 55276, 0, 8047, 0, 78827, 12634,
- 41542, 78780, 7466, 6705, 12174, 42610, 0, 74452, 0, 1584, 66645, 6045,
- 6729, 120640, 65218, 78777, 0, 78062, 7537, 0, 11370, 0, 10330, 0, 10394,
- 0, 74194, 0, 127929, 9780, 0, 13092, 194576, 119605, 194578, 7074, 92648,
- 194579, 194582, 11414, 128868, 2531, 13034, 0, 0, 4211, 1259, 7517, 0, 0,
- 194561, 40996, 13037, 7092, 641, 5219, 194567, 194566, 11064, 41129, 0,
- 42850, 13035, 9075, 92387, 5466, 128153, 0, 64098, 65793, 4535, 194573,
- 4271, 78417, 128357, 6769, 41410, 0, 64262, 6767, 41407, 0, 0, 6755,
- 118864, 9046, 127934, 0, 0, 0, 0, 0, 67675, 0, 0, 0, 64338, 2563, 13033,
- 247, 118915, 0, 12338, 4651, 0, 11270, 0, 0, 11933, 0, 0, 41903, 43447,
- 11001, 0, 42255, 0, 92661, 69821, 41905, 0, 0, 10775, 9793, 5009, 0,
- 42269, 64587, 0, 42535, 69812, 64529, 41408, 42853, 3877, 120795, 42674,
- 8147, 43566, 119021, 0, 10236, 65918, 43782, 0, 0, 64506, 69652, 118921,
- 4747, 128058, 0, 43200, 5832, 0, 0, 5141, 42600, 0, 43203, 0, 0, 43286,
- 0, 128211, 43778, 0, 41305, 78776, 43781, 11303, 65547, 0, 7031, 859, 0,
- 0, 0, 6059, 126985, 55235, 0, 8535, 0, 65196, 194787, 66032, 11488, 0,
- 120786, 42233, 64140, 9946, 63885, 0, 11822, 0, 43189, 0, 0, 1788, 1579,
- 120482, 917817, 0, 0, 0, 9028, 119571, 69234, 0, 0, 1285, 64882, 41242,
- 0, 0, 12640, 0, 7401, 0, 12625, 68198, 0, 92254, 3940, 41597, 55260,
- 3396, 12642, 8665, 0, 0, 12630, 1653, 917815, 10153, 0, 6166, 120516,
- 120523, 0, 8815, 66673, 65046, 9285, 913, 42259, 119317, 119318, 2142,
- 68454, 42485, 118837, 7878, 8211, 42293, 64377, 0, 92643, 0, 194673,
- 12032, 0, 9725, 0, 78431, 5263, 12818, 78430, 41939, 10022, 65387, 78419,
- 42777, 10139, 980, 43698, 65386, 0, 0, 43701, 43198, 7184, 120673,
- 194797, 917819, 10085, 119992, 0, 119993, 6634, 92373, 0, 119323, 8072,
- 119321, 43700, 0, 8872, 7783, 917992, 12398, 8237, 0, 0, 12395, 0,
- 126977, 120565, 9914, 127011, 917854, 73975, 6367, 6351, 66688, 0, 78107,
- 0, 64735, 41243, 92199, 7808, 1829, 0, 41937, 4358, 43272, 6353, 0, 0,
- 120422, 0, 1710, 0, 0, 65607, 0, 49, 6627, 0, 6258, 10683, 78672, 9741,
- 78329, 5649, 78441, 43443, 64418, 1643, 65213, 8405, 3470, 128225, 13213,
- 42452, 78331, 0, 78445, 0, 1072, 78457, 78452, 78454, 6576, 41988, 41132,
- 65675, 1080, 120002, 9886, 55225, 1101, 68404, 12309, 55227, 0, 12632,
- 1086, 1869, 78685, 7680, 0, 65458, 120714, 12639, 3380, 8123, 1091,
- 12638, 7977, 4501, 41099, 0, 66309, 0, 0, 1494, 0, 0, 0, 11693, 0, 10494,
- 92655, 65872, 12363, 11386, 0, 0, 0, 0, 64582, 0, 73794, 0, 8022, 0,
- 120462, 74106, 12413, 194829, 917994, 0, 917995, 5570, 1881, 7210, 0,
- 1012, 66630, 0, 120709, 7208, 66442, 5569, 0, 42339, 0, 6063, 0, 0,
- 119594, 6053, 65602, 0, 92201, 64727, 9160, 194827, 0, 0, 92180, 10503,
- 118810, 6055, 3870, 4279, 8490, 120114, 4319, 64786, 8602, 120110, 11326,
- 92204, 0, 0, 120119, 78333, 120117, 120118, 120099, 120100, 65087, 5571,
- 3674, 9740, 9121, 5568, 120107, 120108, 42085, 10107, 42159, 42870,
- 120101, 589, 7050, 0, 43281, 10233, 41263, 66251, 65729, 66253, 0, 74099,
- 42645, 0, 194815, 8583, 0, 5847, 6928, 0, 0, 0, 0, 0, 66592, 12204,
- 917962, 19966, 77856, 42561, 120626, 0, 0, 8120, 120701, 0, 0, 128012,
- 41063, 0, 10664, 0, 8369, 0, 4551, 194964, 3369, 0, 0, 9673, 66334,
- 65580, 10478, 118960, 12517, 557, 9457, 12034, 0, 6355, 12519, 41004, 0,
- 195025, 74094, 0, 0, 77970, 0, 0, 128175, 12111, 3927, 0, 12515, 1474,
- 67893, 5492, 6923, 128099, 10441, 73836, 0, 43990, 5493, 0, 74319, 0,
- 66635, 12019, 0, 1618, 0, 120474, 9645, 10430, 917959, 5853, 13063,
- 10363, 0, 12956, 128169, 120729, 11314, 917582, 12060, 0, 78392, 12826,
- 6329, 0, 10514, 65517, 74395, 2707, 8309, 0, 127054, 78398, 43570, 2697,
- 43420, 78396, 127057, 2695, 42171, 0, 0, 0, 67617, 118971, 0, 2693,
- 12125, 12766, 0, 1164, 0, 0, 41918, 0, 127542, 8687, 66009, 12178, 7053,
- 128001, 7469, 0, 5248, 12218, 120538, 6427, 42884, 41123, 0, 0, 42873,
- 41126, 9991, 41128, 74371, 127031, 0, 9873, 0, 42877, 7994, 64762, 2053,
- 42843, 6591, 9340, 0, 1589, 0, 296, 74438, 78852, 0, 67841, 74370, 0,
- 8922, 128068, 74600, 12700, 74836, 0, 12579, 0, 12575, 6416, 5656, 2891,
- 13262, 65590, 5299, 0, 11473, 5449, 1252, 0, 78404, 41431, 74369, 65373,
- 5295, 917569, 74114, 1223, 1642, 174, 78399, 883, 4161, 12691, 42603,
- 41413, 3212, 41459, 3211, 74810, 41425, 127029, 78412, 74450, 9728, 3846,
- 8070, 6150, 6636, 4370, 0, 0, 74178, 74587, 74117, 0, 0, 0, 4986, 12189,
- 0, 67648, 120499, 917553, 4257, 12104, 77942, 6220, 9004, 65561, 0,
- 77949, 0, 68135, 917576, 77946, 0, 69679, 69684, 9890, 78561, 12971,
- 78453, 92556, 73898, 11979, 0, 118900, 917894, 0, 9635, 12600, 8871, 0,
- 0, 0, 6469, 74227, 0, 65304, 4679, 10230, 64300, 64867, 3427, 4240, 0, 0,
- 0, 0, 42916, 0, 0, 0, 7282, 78728, 65733, 4445, 127138, 128082, 3494,
- 74606, 6555, 0, 77976, 0, 0, 78566, 0, 0, 65898, 0, 65312, 5447, 0,
- 12895, 65593, 4010, 0, 41106, 0, 64448, 0, 41105, 0, 65820, 6232, 0,
- 128280, 0, 43608, 119091, 0, 6538, 4335, 78364, 3941, 41122, 11061,
- 78363, 64892, 9113, 1954, 12155, 0, 42878, 11500, 0, 0, 74578, 0, 65832,
- 0, 0, 0, 77975, 119230, 4586, 0, 350, 10951, 0, 509, 0, 0, 92307, 0, 0,
- 5133, 0, 0, 9500, 0, 4957, 64741, 2422, 9354, 0, 0, 0, 2496, 11516, 944,
- 118851, 3890, 12168, 1438, 0, 0, 0, 41947, 1220, 120828, 128555, 0, 0,
- 1571, 42630, 41949, 42805, 8270, 943, 564, 0, 312, 41980, 0, 0, 78120,
- 8877, 269, 4429, 6272, 9617, 1460, 6954, 78657, 41120, 65121, 10862,
- 6060, 41119, 41416, 74355, 4173, 0, 0, 0, 1906, 917986, 11532, 74073, 0,
- 0, 1985, 6296, 9582, 917895, 64287, 0, 78115, 11428, 1730, 2457, 0,
- 19918, 10469, 0, 0, 7703, 8840, 8035, 0, 0, 92491, 0, 6129, 0, 0, 128268,
- 0, 7874, 8681, 119092, 0, 13136, 0, 0, 74278, 63886, 118881, 9605, 73892,
- 13220, 128776, 120274, 5514, 0, 9228, 0, 0, 0, 5240, 9811, 10012, 3096,
- 0, 0, 0, 66676, 65873, 0, 0, 0, 9501, 0, 1272, 64536, 65465, 64654, 7467,
- 0, 1467, 10158, 10040, 0, 9519, 0, 917812, 0, 118899, 12193, 0, 0, 0, 0,
- 0, 19935, 0, 92162, 69676, 0, 0, 0, 5275, 0, 0, 8637, 0, 0, 3789, 63880,
- 11471, 43554, 65862, 11474, 66332, 66603, 128138, 2426, 12042, 92194, 0,
- 9537, 3961, 12115, 77953, 2605, 4500, 64561, 55224, 4981, 0, 0, 63876,
- 11667, 42686, 77973, 42362, 64686, 4499, 41649, 7589, 0, 0, 3237, 0,
- 68215, 0, 8541, 78298, 0, 41866, 0, 0, 0, 0, 0, 43555, 2823, 9559, 10060,
- 41940, 8299, 41945, 7132, 41941, 3308, 7190, 64880, 8614, 65220, 41493,
- 0, 41699, 10762, 43780, 12999, 0, 0, 8106, 4128, 0, 0, 4494, 0, 4012,
- 10395, 0, 43633, 65447, 0, 0, 11004, 695, 739, 696, 7611, 0, 42755,
- 74802, 9227, 7506, 7510, 92281, 691, 738, 7511, 7512, 7515, 3868, 688,
- 41847, 690, 2548, 737, 974, 8003, 7406, 917911, 0, 0, 3985, 917912,
- 65860, 63921, 7051, 69777, 4682, 917805, 12809, 6406, 4685, 92505, 10879,
- 10347, 4680, 6341, 0, 3851, 8132, 74325, 0, 917907, 0, 41958, 119176,
- 917908, 0, 0, 42657, 92468, 7643, 42373, 11714, 67587, 43568, 0, 11717,
- 7650, 10594, 64951, 7647, 7649, 128155, 7646, 0, 78082, 9651, 0, 3891, 0,
- 0, 2337, 1735, 74324, 67860, 2363, 0, 0, 43561, 0, 0, 74146, 1860, 7495,
- 7580, 5812, 7497, 7584, 119140, 127853, 0, 120347, 7727, 0, 8498, 69818,
- 8949, 3065, 42719, 7135, 1569, 92375, 12534, 12124, 7690, 0, 12533, 0,
- 6418, 4543, 78086, 6969, 0, 74800, 0, 0, 11980, 128650, 0, 63894, 120760,
+ 92568, 983498, 917845, 12192, 119314, 0, 119312, 9827, 119310, 119311,
+ 119308, 119309, 119306, 11481, 41210, 119305, 0, 35, 78481, 78482, 66694,
+ 68479, 78477, 78478, 43596, 6090, 64257, 7812, 10534, 0, 78485, 73848,
+ 78483, 4272, 0, 40967, 40964, 917825, 12704, 78487, 43306, 0, 64497,
+ 12138, 7930, 0, 43303, 68216, 0, 917826, 5244, 4189, 127098, 67596,
+ 127504, 4188, 1879, 0, 968, 0, 43743, 0, 8873, 0, 0, 917827, 65555,
+ 12574, 0, 0, 0, 74490, 127099, 43657, 0, 0, 0, 42682, 12578, 12720, 0,
+ 41227, 0, 12346, 127101, 64848, 0, 0, 7251, 0, 0, 118850, 119141, 128546,
+ 66015, 0, 959, 8885, 12564, 66457, 78808, 9469, 9632, 92323, 74761,
+ 64323, 0, 0, 0, 0, 310, 0, 41281, 10976, 0, 92190, 0, 74266, 10054, 6497,
+ 8574, 0, 9012, 19958, 74420, 65089, 13215, 12730, 65163, 74044, 374,
+ 43195, 816, 0, 0, 0, 41934, 7465, 0, 128168, 0, 4715, 6101, 0, 41936, 0,
+ 4879, 0, 65446, 0, 307, 127147, 9585, 5374, 0, 128059, 0, 0, 0, 983303,
+ 0, 65567, 120614, 1929, 0, 12142, 0, 12236, 41419, 194618, 120610, 12982,
+ 194623, 5378, 78791, 128679, 41421, 0, 4462, 0, 0, 128092, 821, 0, 2498,
+ 5800, 120157, 983618, 1760, 2421, 4469, 2324, 828, 3611, 78400, 757,
+ 1185, 0, 78770, 43597, 10628, 74808, 194572, 7999, 43971, 0, 0, 10634,
+ 10942, 7713, 2348, 0, 64374, 4380, 194608, 119044, 9982, 64324, 41240,
+ 862, 65626, 78462, 1810, 3673, 5137, 194617, 0, 7277, 65622, 0, 7566,
+ 64688, 194593, 194592, 78092, 74357, 194597, 4748, 92228, 194598, 194601,
+ 42260, 5871, 119075, 0, 74576, 44019, 0, 128189, 3967, 194604, 13137,
+ 8775, 127945, 0, 2963, 0, 8410, 4454, 723, 127882, 966, 4449, 92330,
+ 92238, 0, 7819, 2320, 194589, 339, 4968, 194590, 120399, 8075, 55276, 0,
+ 8047, 0, 78827, 12634, 41542, 78780, 7466, 6705, 12174, 42610, 0, 74452,
+ 0, 1584, 66645, 6045, 6729, 120640, 65218, 78777, 0, 78062, 7537, 0,
+ 11370, 0, 10330, 0, 10394, 0, 74194, 0, 127929, 9780, 0, 13092, 194576,
+ 119605, 194578, 7074, 92648, 194579, 194582, 11414, 128868, 2531, 13034,
+ 0, 0, 4211, 1259, 7517, 0, 0, 194561, 40996, 13037, 7092, 641, 5219,
+ 194567, 194566, 11064, 41129, 0, 42850, 13035, 9075, 92387, 5466, 128153,
+ 0, 64098, 65793, 4535, 194573, 4271, 78417, 128357, 6769, 41410, 0,
+ 64262, 6767, 41407, 0, 0, 6755, 118864, 9046, 127934, 0, 0, 0, 0, 0,
+ 67675, 0, 0, 0, 64338, 2563, 13033, 247, 118915, 0, 12338, 4651, 0,
+ 11270, 0, 0, 11933, 0, 0, 41903, 43447, 11001, 0, 42255, 0, 92661, 69821,
+ 41905, 0, 0, 10775, 9793, 5009, 0, 42269, 64587, 0, 42535, 69812, 64529,
+ 41408, 42853, 3877, 120795, 42674, 8147, 43566, 119021, 983511, 10236,
+ 65918, 43782, 0, 0, 64506, 69652, 118921, 4747, 128058, 0, 43200, 5832,
+ 0, 0, 5141, 42600, 0, 43203, 0, 983534, 43286, 0, 128211, 43778, 0,
+ 41305, 78776, 43781, 11303, 65547, 0, 7031, 859, 0, 0, 0, 6059, 126985,
+ 55235, 0, 8535, 0, 65196, 194787, 66032, 11488, 0, 120786, 42233, 64140,
+ 9946, 63885, 0, 11822, 0, 43189, 983633, 0, 1788, 1579, 120482, 917817,
+ 0, 0, 0, 9028, 119571, 69234, 0, 0, 1285, 64882, 41242, 0, 0, 12640, 0,
+ 7401, 0, 12625, 68198, 0, 92254, 3940, 41597, 55260, 3396, 12642, 8665,
+ 0, 0, 12630, 1653, 917815, 10153, 0, 6166, 120516, 120523, 0, 8815,
+ 66673, 65046, 9285, 913, 42259, 119317, 119318, 2142, 68454, 42485,
+ 118837, 7878, 8211, 42293, 64377, 0, 92643, 0, 194673, 12032, 0, 9725, 0,
+ 78431, 5263, 12818, 78430, 41939, 10022, 65387, 78419, 42777, 10139, 980,
+ 43698, 65386, 0, 0, 43701, 43198, 7184, 120673, 194797, 917819, 10085,
+ 119992, 0, 119993, 6634, 92373, 0, 119323, 8072, 119321, 43700, 0, 8872,
+ 7783, 917992, 12398, 8237, 0, 0, 12395, 0, 126977, 120565, 9914, 127011,
+ 917854, 73975, 6367, 6351, 66688, 0, 78107, 0, 64735, 41243, 92199, 7808,
+ 1829, 0, 41937, 4358, 43272, 6353, 0, 0, 120422, 0, 1710, 0, 0, 65607, 0,
+ 49, 6627, 0, 6258, 10683, 78672, 9741, 78329, 5649, 78441, 43443, 64418,
+ 1643, 65213, 8405, 3470, 128225, 13213, 42452, 78331, 0, 78445, 0, 1072,
+ 78457, 78452, 78454, 6576, 41988, 41132, 65675, 1080, 120002, 9886,
+ 55225, 1101, 68404, 12309, 55227, 0, 12632, 1086, 1869, 78685, 7680, 0,
+ 65458, 120714, 12639, 3380, 8123, 1091, 12638, 7977, 4501, 41099, 0,
+ 66309, 0, 0, 1494, 0, 0, 0, 11693, 0, 10494, 92655, 65872, 12363, 11386,
+ 0, 0, 0, 0, 64582, 0, 73794, 0, 8022, 0, 120462, 74106, 12413, 194829,
+ 917994, 0, 917995, 5570, 1881, 7210, 0, 1012, 66630, 0, 120709, 7208,
+ 66442, 5569, 0, 42339, 0, 6063, 0, 0, 119594, 6053, 65602, 0, 92201,
+ 64727, 9160, 194827, 0, 0, 92180, 10503, 118810, 6055, 3870, 4279, 8490,
+ 120114, 4319, 64786, 8602, 120110, 11326, 92204, 0, 0, 120119, 78333,
+ 120117, 120118, 120099, 120100, 65087, 5571, 3674, 9740, 9121, 5568,
+ 120107, 120108, 42085, 10107, 42159, 42870, 120101, 589, 7050, 0, 43281,
+ 10233, 41263, 66251, 65729, 66253, 0, 74099, 42645, 0, 194815, 8583, 0,
+ 5847, 6928, 0, 0, 0, 0, 0, 66592, 12204, 917962, 19966, 77856, 42561,
+ 120626, 0, 0, 8120, 120701, 0, 0, 128012, 41063, 0, 10664, 0, 8369, 0,
+ 4551, 194964, 3369, 0, 0, 9673, 66334, 65580, 10478, 118960, 12517, 557,
+ 9457, 12034, 983406, 6355, 12519, 41004, 0, 195025, 74094, 0, 0, 77970,
+ 0, 0, 128175, 12111, 3927, 0, 12515, 1474, 67893, 5492, 6923, 128099,
+ 10441, 73836, 0, 43990, 5493, 0, 74319, 0, 66635, 12019, 0, 1618, 0,
+ 120474, 9645, 10430, 917959, 5853, 13063, 10363, 0, 12956, 128169,
+ 120729, 11314, 917582, 12060, 0, 78392, 12826, 6329, 0, 10514, 65517,
+ 74395, 2707, 8309, 0, 127054, 78398, 43570, 2697, 43420, 78396, 127057,
+ 2695, 42171, 0, 0, 0, 67617, 118971, 0, 2693, 12125, 12766, 0, 1164, 0,
+ 0, 41918, 0, 127542, 8687, 66009, 12178, 7053, 128001, 7469, 0, 5248,
+ 12218, 120538, 6427, 42884, 41123, 0, 0, 42873, 41126, 9991, 41128,
+ 74371, 127031, 0, 9873, 0, 42877, 7994, 64762, 2053, 42843, 6591, 9340,
+ 0, 1589, 0, 296, 74438, 78852, 0, 67841, 74370, 0, 8922, 128068, 74600,
+ 12700, 74836, 0, 12579, 0, 12575, 6416, 5656, 2891, 13262, 65590, 5299,
+ 0, 11473, 5449, 1252, 0, 78404, 41431, 74369, 65373, 5295, 917569, 74114,
+ 1223, 1642, 174, 78399, 883, 4161, 12691, 42603, 41413, 3212, 41459,
+ 3211, 74810, 41425, 127029, 78412, 74450, 9728, 3846, 8070, 6150, 6636,
+ 4370, 0, 0, 74178, 74587, 74117, 0, 0, 0, 4986, 12189, 0, 67648, 120499,
+ 917553, 4257, 12104, 77942, 6220, 9004, 65561, 0, 77949, 0, 68135,
+ 917576, 77946, 0, 69679, 69684, 9890, 78561, 12971, 78453, 92556, 73898,
+ 11979, 0, 118900, 917894, 0, 9635, 12600, 8871, 0, 0, 0, 6469, 74227, 0,
+ 65304, 4679, 10230, 64300, 64867, 3427, 4240, 0, 0, 0, 0, 42916, 0, 0, 0,
+ 7282, 78728, 65733, 4445, 127138, 128082, 3494, 74606, 6555, 0, 77976, 0,
+ 0, 78566, 0, 0, 65898, 0, 65312, 5447, 0, 12895, 65593, 4010, 0, 41106,
+ 0, 64448, 0, 41105, 0, 65820, 6232, 0, 128280, 0, 43608, 119091, 0, 6538,
+ 4335, 78364, 3941, 41122, 11061, 78363, 64892, 9113, 1954, 12155, 983409,
+ 42878, 11500, 0, 0, 74578, 0, 65832, 0, 0, 0, 77975, 119230, 4586, 0,
+ 350, 10951, 0, 509, 0, 0, 92307, 0, 0, 5133, 0, 0, 9500, 0, 4957, 64741,
+ 2422, 9354, 0, 0, 0, 2496, 11516, 944, 118851, 3890, 12168, 1438, 0, 0,
+ 0, 41947, 1220, 120828, 128555, 0, 0, 1571, 42630, 41949, 42805, 8270,
+ 943, 564, 0, 312, 41980, 983676, 0, 78120, 8877, 269, 4429, 6272, 9617,
+ 1460, 6954, 78657, 41120, 65121, 10862, 6060, 41119, 41416, 74355, 4173,
+ 0, 0, 0, 1906, 917986, 11532, 74073, 0, 0, 1985, 6296, 9582, 917895,
+ 64287, 0, 78115, 11428, 1730, 2457, 0, 19918, 10469, 0, 0, 7703, 8840,
+ 8035, 0, 0, 92491, 0, 6129, 0, 0, 128268, 0, 7874, 8681, 119092, 0,
+ 13136, 0, 0, 74278, 63886, 118881, 9605, 73892, 13220, 128776, 120274,
+ 5514, 0, 9228, 0, 0, 0, 5240, 9811, 10012, 3096, 0, 0, 0, 66676, 65873,
+ 0, 0, 0, 9501, 0, 1272, 64536, 65465, 64654, 7467, 0, 1467, 10158, 10040,
+ 0, 9519, 0, 917812, 0, 118899, 12193, 0, 0, 0, 0, 0, 19935, 0, 92162,
+ 69676, 0, 0, 0, 5275, 0, 0, 8637, 0, 0, 3789, 63880, 11471, 43554, 65862,
+ 11474, 66332, 66603, 128138, 2426, 12042, 92194, 983646, 9537, 3961,
+ 12115, 77953, 2605, 4500, 64561, 55224, 4981, 0, 0, 63876, 11667, 42686,
+ 77973, 42362, 64686, 4499, 41649, 7589, 0, 0, 3237, 0, 68215, 0, 8541,
+ 78298, 0, 41866, 0, 0, 0, 0, 0, 43555, 2823, 9559, 10060, 41940, 8299,
+ 41945, 7132, 41941, 3308, 7190, 64880, 8614, 65220, 41493, 0, 41699,
+ 10762, 43780, 12999, 0, 0, 8106, 4128, 0, 0, 4494, 0, 4012, 10395,
+ 983335, 43633, 65447, 0, 0, 11004, 695, 739, 696, 7611, 0, 42755, 74802,
+ 9227, 7506, 7510, 92281, 691, 738, 7511, 7512, 7515, 3868, 688, 41847,
+ 690, 2548, 737, 974, 8003, 7406, 917911, 0, 0, 3985, 917912, 65860,
+ 63921, 7051, 69777, 4682, 917805, 12809, 6406, 4685, 92505, 10879, 10347,
+ 4680, 6341, 0, 3851, 8132, 74325, 0, 917907, 0, 41958, 119176, 917908, 0,
+ 0, 42657, 92468, 7643, 42373, 11714, 67587, 43568, 0, 11717, 7650, 10594,
+ 64951, 7647, 7649, 128155, 7646, 0, 78082, 9651, 0, 3891, 0, 0, 2337,
+ 1735, 74324, 67860, 2363, 0, 0, 43561, 0, 0, 74146, 1860, 7495, 7580,
+ 5812, 7497, 7584, 119140, 127853, 0, 120347, 7727, 0, 8498, 69818, 8949,
+ 3065, 42719, 7135, 1569, 92375, 12534, 12124, 7690, 0, 12533, 0, 6418,
+ 4543, 78086, 6969, 0, 74800, 0, 0, 11980, 128650, 983536, 63894, 120760,
12282, 66192, 0, 74592, 8850, 74275, 9238, 10617, 917545, 0, 92625, 0,
12791, 0, 0, 0, 4447, 73732, 12793, 12900, 92377, 10950, 0, 78087, 12790,
41400, 119128, 66607, 12792, 42232, 194938, 1744, 12789, 10366, 12317,
- 41310, 0, 41399, 0, 0, 55258, 0, 12690, 0, 0, 43672, 127840, 41652, 2974,
- 9010, 11315, 0, 278, 0, 41405, 119254, 0, 10077, 63853, 74557, 42586, 0,
- 0, 6002, 0, 43553, 0, 67903, 0, 12787, 41308, 7934, 65306, 0, 0, 0, 8646,
- 0, 77829, 0, 0, 6413, 6550, 0, 1940, 0, 43637, 220, 65193, 43551, 10678,
- 10044, 0, 0, 0, 68659, 6403, 5707, 10393, 127532, 0, 66614, 0, 0, 0,
- 10297, 0, 3742, 0, 3959, 0, 0, 0, 2467, 0, 6003, 63844, 6663, 8040, 0,
- 63845, 4182, 78171, 4676, 120501, 0, 0, 2510, 0, 10208, 78168, 92361,
- 11540, 43546, 6692, 0, 41060, 0, 0, 9083, 0, 0, 78144, 1559, 63831, 9677,
- 120260, 0, 65256, 0, 74070, 0, 0, 365, 12056, 43027, 120423, 41716,
- 128236, 0, 120472, 5516, 2845, 7717, 8036, 41717, 73827, 544, 12045,
- 6278, 0, 5515, 0, 0, 0, 65339, 43221, 65194, 0, 5517, 0, 0, 74841, 67884,
- 0, 67890, 67885, 67880, 67881, 67882, 67883, 0, 0, 67879, 127188, 1902,
- 67887, 9638, 12976, 0, 12483, 12368, 41769, 42726, 41765, 128819, 6667,
- 67874, 7556, 67878, 74351, 11264, 989, 42677, 67889, 0, 1311, 917966,
- 4326, 11000, 63824, 13068, 10932, 128880, 6917, 78155, 0, 949, 78162, 0,
- 6148, 8605, 42253, 78177, 0, 0, 42715, 0, 0, 0, 63871, 0, 41796, 1269,
- 6530, 0, 65057, 0, 5144, 12221, 42716, 0, 4431, 4331, 0, 128675, 41834,
- 5279, 0, 10336, 8312, 0, 42701, 128825, 0, 78165, 66036, 0, 0, 6428,
- 42270, 0, 0, 43059, 42666, 5256, 1067, 255, 12131, 0, 9493, 0, 41014,
- 11793, 0, 0, 74394, 43460, 10653, 42723, 0, 119632, 0, 6560, 7016, 74274,
- 0, 43556, 3929, 73900, 6614, 2768, 92504, 9746, 5135, 11811, 12796,
- 11953, 0, 69761, 5139, 346, 74303, 6305, 12795, 4675, 5168, 78552,
- 127753, 74315, 74361, 8253, 8817, 1136, 0, 43563, 92232, 0, 194750, 7392,
- 8230, 9365, 0, 0, 0, 0, 0, 4041, 0, 2357, 43240, 12786, 229, 119885,
- 119884, 44004, 7142, 119881, 12350, 65554, 119882, 119877, 119876, 12785,
- 63863, 43795, 7770, 10712, 64853, 12686, 118916, 42375, 0, 127238, 66352,
- 10470, 0, 11059, 10791, 917944, 450, 0, 0, 10432, 12097, 5450, 64691,
- 1233, 0, 44009, 78284, 66338, 0, 0, 1839, 118799, 0, 10927, 1701, 0,
- 2388, 41749, 41761, 5453, 8361, 119865, 41758, 5444, 41763, 64889, 7143,
- 92493, 78677, 0, 92429, 78174, 66432, 8801, 3053, 4340, 0, 0, 65812,
- 917831, 0, 41824, 0, 120203, 194800, 194803, 42700, 194805, 127980,
- 194807, 78676, 92356, 194808, 0, 0, 4493, 4336, 0, 2314, 43602, 78826,
- 119325, 194811, 42439, 64638, 42327, 43528, 4489, 194791, 0, 194793,
- 1912, 42385, 10306, 10370, 0, 0, 8867, 10250, 10258, 2712, 1635, 78821,
- 1410, 92671, 0, 118878, 0, 0, 9919, 0, 559, 128157, 41825, 127975, 78188,
- 4892, 74016, 194781, 6542, 41957, 128865, 5777, 0, 759, 65749, 2079,
- 65248, 12788, 64487, 64552, 0, 10223, 42062, 0, 0, 0, 3668, 65754, 43560,
- 12226, 0, 65149, 2340, 41959, 194786, 194785, 194788, 43618, 65747,
- 10937, 2962, 0, 2321, 3587, 65745, 92436, 8921, 9952, 0, 0, 42714, 9951,
- 43409, 194770, 2949, 66012, 194775, 194774, 2958, 68359, 41820, 43038,
- 2395, 0, 9976, 120043, 120050, 120058, 68220, 128143, 42809, 42807, 0,
- 120046, 10198, 4150, 64371, 8318, 41790, 0, 41898, 2360, 41794, 917942,
- 0, 127818, 0, 0, 2418, 0, 2411, 11336, 799, 63823, 10276, 10308, 10372,
- 917541, 41772, 42813, 2317, 10260, 118980, 55284, 92203, 0, 10384, 0, 0,
- 0, 7753, 2351, 6655, 64489, 0, 0, 77872, 4443, 42779, 230, 0, 0, 43549,
- 4855, 42150, 65739, 5441, 41896, 10288, 10320, 0, 855, 7046, 6109, 65045,
- 63839, 78198, 2049, 10098, 0, 74145, 127943, 10264, 10280, 9184, 10376,
- 7013, 4467, 0, 0, 0, 41887, 0, 4862, 9735, 6537, 120591, 74286, 3914,
- 92178, 0, 9065, 12961, 0, 0, 92253, 0, 289, 0, 4694, 11420, 4690, 0,
- 120514, 917978, 4693, 0, 42724, 0, 4688, 120454, 0, 0, 119629, 8238,
- 3110, 120162, 0, 120163, 6528, 127553, 43035, 120161, 218, 0, 1520, 0,
- 4786, 0, 43225, 4602, 0, 78167, 10088, 6548, 0, 120156, 43978, 8988,
- 8888, 0, 0, 0, 0, 10666, 0, 73902, 69740, 0, 0, 9975, 0, 119902, 4689,
- 8932, 0, 65560, 119209, 74441, 78810, 0, 0, 0, 0, 0, 0, 0, 0, 10065,
- 8207, 0, 92613, 128011, 0, 662, 0, 9244, 194863, 0, 119261, 0, 0, 0, 0,
- 41929, 0, 0, 66674, 41926, 120408, 120443, 10513, 64637, 194862, 0, 52,
- 13118, 6475, 0, 120341, 12095, 10225, 4812, 92578, 0, 0, 74085, 0, 3978,
- 0, 917945, 127823, 11582, 120761, 12281, 0, 6544, 13241, 0, 69782,
- 128557, 194860, 11765, 65258, 10369, 0, 1585, 7192, 10249, 422, 1500,
- 2036, 986, 194859, 64394, 5781, 5599, 64294, 2494, 120450, 4861, 74021,
- 64334, 78203, 127808, 0, 92266, 65102, 8961, 65842, 10243, 10245, 917933,
- 120410, 0, 120453, 64821, 9478, 2508, 92683, 0, 202, 128246, 74131, 1242,
- 65514, 0, 63940, 128706, 64533, 120129, 0, 67842, 11990, 92430, 63939,
- 43375, 65440, 2504, 0, 78671, 64829, 0, 6943, 917934, 5859, 0, 2858, 0,
- 74294, 0, 69239, 0, 119027, 12992, 2753, 1936, 74491, 92574, 2751, 12662,
- 2763, 8953, 64701, 10731, 12922, 7052, 917839, 0, 0, 0, 63920, 74128,
- 2856, 119910, 47, 119911, 126986, 65858, 0, 0, 0, 7899, 0, 8417, 43798,
- 7072, 0, 0, 4033, 128164, 43992, 0, 0, 212, 64600, 1903, 12320, 0, 0, 0,
- 0, 8915, 2759, 945, 6689, 0, 0, 0, 0, 1291, 74828, 0, 0, 9531, 13155,
- 8505, 68379, 12062, 0, 0, 65487, 92189, 41837, 120611, 120432, 0, 0, 0,
- 120433, 0, 63935, 73962, 120806, 64787, 43524, 0, 64426, 0, 194948, 0, 0,
- 65664, 6693, 9843, 0, 8674, 119887, 128812, 92715, 0, 12624, 0, 1673,
- 4811, 92383, 5986, 9338, 3046, 74480, 5985, 917928, 119598, 9820, 0,
- 12187, 0, 0, 5984, 0, 43308, 4393, 0, 0, 0, 0, 0, 74826, 64733, 0, 0,
- 3491, 0, 0, 128219, 3514, 65485, 0, 7492, 0, 74605, 92483, 7514, 0, 0,
- 194731, 7502, 7587, 68353, 0, 0, 63925, 0, 7610, 219, 0, 0, 692, 43588,
- 74433, 41635, 43241, 9688, 7147, 9535, 0, 0, 0, 64530, 0, 64610, 11804,
- 0, 7149, 7453, 0, 8013, 0, 92301, 0, 8895, 5253, 0, 5458, 0, 2866, 0,
- 127860, 65111, 68433, 6700, 120484, 0, 0, 0, 8962, 77960, 9641, 43694,
- 7059, 0, 0, 9604, 78700, 7441, 63826, 78706, 118941, 64392, 194735, 0,
- 2844, 0, 41974, 0, 12139, 0, 0, 0, 3358, 65295, 0, 3104, 194734, 0,
- 194765, 0, 5308, 0, 290, 0, 0, 2862, 2792, 195088, 0, 0, 3268, 66591, 0,
- 6552, 42367, 7035, 120558, 0, 0, 1814, 0, 10240, 92338, 74305, 0, 74528,
- 65903, 0, 42646, 7606, 2591, 2837, 4341, 77956, 64482, 127337, 8163,
- 65270, 0, 0, 0, 9112, 74431, 863, 9490, 119898, 917837, 43323, 120513,
- 119897, 9071, 127333, 0, 3654, 7789, 9637, 0, 2535, 65504, 7653, 40993,
- 119899, 66587, 195098, 0, 92401, 0, 11006, 12927, 7807, 8073, 0, 10629,
- 0, 74088, 3056, 10823, 128797, 127327, 8762, 10508, 69689, 73770, 43969,
- 43193, 10737, 3463, 0, 0, 66633, 8695, 4815, 11322, 5811, 12345, 7049, 0,
- 5195, 195081, 0, 66639, 0, 0, 0, 128041, 0, 92385, 1262, 0, 6561, 19939,
- 0, 0, 0, 119906, 0, 0, 0, 0, 0, 119907, 64612, 11991, 0, 0, 0, 1502, 0,
- 0, 9107, 127316, 5702, 3655, 67661, 8430, 0, 74132, 120758, 0, 74057,
- 9603, 0, 5254, 120742, 7724, 74388, 68375, 10796, 5129, 0, 0, 590, 7579,
- 5614, 5893, 92280, 11720, 92496, 11721, 0, 4798, 0, 119316, 66038, 4793,
- 67851, 11726, 127541, 74204, 68610, 0, 68626, 894, 300, 917813, 12306,
- 66235, 8004, 0, 0, 2562, 0, 0, 42503, 0, 11652, 0, 0, 119241, 92649, 0,
- 5096, 5095, 2863, 3424, 92244, 10454, 42530, 5094, 119638, 0, 13156, 0,
- 10832, 5093, 0, 0, 0, 5092, 10708, 11327, 0, 5091, 176, 0, 9153, 4104,
- 78599, 78601, 1215, 42712, 5744, 12272, 9832, 11777, 0, 127371, 42881, 0,
- 8980, 118988, 67861, 8844, 7209, 0, 0, 4278, 0, 0, 194789, 0, 9074, 4348,
- 0, 65558, 65946, 8113, 7087, 5255, 1786, 661, 0, 0, 0, 74423, 0, 586,
- 74414, 64359, 1267, 0, 65468, 0, 65731, 0, 127179, 3621, 120473, 66666,
- 64211, 0, 6562, 12928, 0, 1228, 65490, 11383, 0, 0, 0, 1714, 74406,
- 127831, 0, 0, 0, 66225, 0, 0, 42660, 11436, 2070, 64, 120694, 0, 10291,
- 10323, 2826, 0, 0, 0, 42008, 9708, 42710, 0, 42011, 41999, 92164, 12206,
- 5839, 1702, 1240, 74065, 6286, 0, 0, 65833, 77848, 0, 1765, 0, 0, 65588,
- 0, 0, 0, 8401, 0, 42014, 0, 7030, 194704, 10479, 64959, 2852, 0, 0, 0, 0,
+ 41310, 983604, 41399, 0, 0, 55258, 0, 12690, 0, 0, 43672, 127840, 41652,
+ 2974, 9010, 11315, 0, 278, 0, 41405, 119254, 0, 10077, 63853, 74557,
+ 42586, 0, 0, 6002, 0, 43553, 0, 67903, 0, 12787, 41308, 7934, 65306, 0,
+ 0, 0, 8646, 983554, 77829, 0, 0, 6413, 6550, 0, 1940, 0, 43637, 220,
+ 65193, 43551, 10678, 10044, 0, 0, 0, 68659, 6403, 5707, 10393, 127532, 0,
+ 66614, 0, 0, 0, 10297, 0, 3742, 0, 3959, 0, 0, 0, 2467, 0, 6003, 63844,
+ 6663, 8040, 0, 63845, 4182, 78171, 4676, 120501, 0, 0, 2510, 0, 10208,
+ 78168, 92361, 11540, 43546, 6692, 0, 41060, 0, 0, 9083, 0, 0, 78144,
+ 1559, 63831, 9677, 120260, 0, 65256, 0, 74070, 0, 0, 365, 12056, 43027,
+ 120423, 41716, 128236, 0, 120472, 5516, 2845, 7717, 8036, 41717, 73827,
+ 544, 12045, 6278, 0, 5515, 0, 0, 0, 65339, 43221, 65194, 0, 5517, 0, 0,
+ 74841, 67884, 0, 67890, 67885, 67880, 67881, 67882, 67883, 0, 0, 67879,
+ 127188, 1902, 67887, 9638, 12976, 0, 12483, 12368, 41769, 42726, 41765,
+ 128819, 6667, 67874, 7556, 67878, 74351, 11264, 989, 42677, 67889, 0,
+ 1311, 917966, 4326, 11000, 63824, 13068, 10932, 128880, 6917, 78155, 0,
+ 949, 78162, 0, 6148, 8605, 42253, 78177, 0, 0, 42715, 0, 0, 0, 63871, 0,
+ 41796, 1269, 6530, 0, 65057, 0, 5144, 12221, 42716, 0, 4431, 4331, 0,
+ 128675, 41834, 5279, 0, 10336, 8312, 0, 42701, 128825, 0, 78165, 66036,
+ 0, 0, 6428, 42270, 0, 983340, 43059, 42666, 5256, 1067, 255, 12131, 0,
+ 9493, 0, 41014, 11793, 0, 0, 74394, 43460, 10653, 42723, 983589, 119632,
+ 0, 6560, 7016, 74274, 983359, 43556, 3929, 73900, 6614, 2768, 92504,
+ 9746, 5135, 11811, 12796, 11953, 0, 69761, 5139, 346, 74303, 6305, 12795,
+ 4675, 5168, 78552, 127753, 74315, 74361, 8253, 8817, 1136, 0, 43563,
+ 92232, 0, 194750, 7392, 8230, 9365, 0, 0, 983351, 0, 0, 4041, 0, 2357,
+ 43240, 12786, 229, 119885, 119884, 44004, 7142, 119881, 12350, 65554,
+ 119882, 119877, 119876, 12785, 63863, 43795, 7770, 10712, 64853, 12686,
+ 118916, 42375, 0, 127238, 66352, 10470, 0, 11059, 10791, 917944, 450, 0,
+ 0, 10432, 12097, 5450, 64691, 1233, 0, 44009, 78284, 66338, 0, 0, 1839,
+ 118799, 0, 10927, 1701, 983399, 2388, 41749, 41761, 5453, 8361, 119865,
+ 41758, 5444, 41763, 64889, 7143, 92493, 78677, 0, 92429, 78174, 66432,
+ 8801, 3053, 4340, 0, 0, 65812, 917831, 0, 41824, 0, 120203, 194800,
+ 194803, 42700, 194805, 127980, 194807, 78676, 92356, 194808, 0, 0, 4493,
+ 4336, 0, 2314, 43602, 78826, 119325, 194811, 42439, 64638, 42327, 43528,
+ 4489, 194791, 0, 194793, 1912, 42385, 10306, 10370, 0, 0, 8867, 10250,
+ 10258, 2712, 1635, 78821, 1410, 92671, 0, 118878, 0, 0, 9919, 0, 559,
+ 128157, 41825, 127975, 78188, 4892, 74016, 194781, 6542, 41957, 128865,
+ 5777, 0, 759, 65749, 2079, 65248, 12788, 64487, 64552, 0, 10223, 42062,
+ 0, 0, 0, 3668, 65754, 43560, 12226, 0, 65149, 2340, 41959, 194786,
+ 194785, 194788, 43618, 65747, 10937, 2962, 0, 2321, 3587, 65745, 92436,
+ 8921, 9952, 0, 0, 42714, 9951, 43409, 194770, 2949, 66012, 194775,
+ 194774, 2958, 68359, 41820, 43038, 2395, 0, 9976, 120043, 120050, 120058,
+ 68220, 128143, 42809, 42807, 0, 120046, 10198, 4150, 64371, 8318, 41790,
+ 0, 41898, 2360, 41794, 917942, 0, 127818, 0, 0, 2418, 0, 2411, 11336,
+ 799, 63823, 10276, 10308, 10372, 917541, 41772, 42813, 2317, 10260,
+ 118980, 55284, 92203, 0, 10384, 0, 0, 0, 7753, 2351, 6655, 64489, 0, 0,
+ 77872, 4443, 42779, 230, 0, 0, 43549, 4855, 42150, 65739, 5441, 41896,
+ 10288, 10320, 0, 855, 7046, 6109, 65045, 63839, 78198, 2049, 10098, 0,
+ 74145, 127943, 10264, 10280, 9184, 10376, 7013, 4467, 0, 0, 0, 41887, 0,
+ 4862, 9735, 6537, 120591, 74286, 3914, 92178, 0, 9065, 12961, 0, 0,
+ 92253, 0, 289, 0, 4694, 11420, 4690, 0, 120514, 917978, 4693, 0, 42724,
+ 0, 4688, 120454, 0, 0, 119629, 8238, 3110, 120162, 983643, 120163, 6528,
+ 127553, 43035, 120161, 218, 0, 1520, 0, 4786, 0, 43225, 4602, 0, 78167,
+ 10088, 6548, 0, 120156, 43978, 8988, 8888, 0, 0, 0, 0, 10666, 0, 73902,
+ 69740, 0, 0, 9975, 0, 119902, 4689, 8932, 0, 65560, 119209, 74441, 78810,
+ 0, 0, 0, 0, 0, 0, 0, 0, 10065, 8207, 0, 92613, 128011, 0, 662, 0, 9244,
+ 194863, 0, 119261, 0, 0, 0, 0, 41929, 0, 0, 66674, 41926, 120408, 120443,
+ 10513, 64637, 194862, 0, 52, 13118, 6475, 0, 120341, 12095, 10225, 4812,
+ 92578, 0, 0, 74085, 0, 3978, 0, 917945, 127823, 11582, 120761, 12281, 0,
+ 6544, 13241, 0, 69782, 128557, 194860, 11765, 65258, 10369, 0, 1585,
+ 7192, 10249, 422, 1500, 2036, 986, 194859, 64394, 5781, 5599, 64294,
+ 2494, 120450, 4861, 74021, 64334, 78203, 127808, 0, 92266, 65102, 8961,
+ 65842, 10243, 10245, 917933, 120410, 0, 120453, 64821, 9478, 2508, 92683,
+ 0, 202, 128246, 74131, 1242, 65514, 0, 63940, 128706, 64533, 120129, 0,
+ 67842, 11990, 92430, 63939, 43375, 65440, 2504, 0, 78671, 64829, 983645,
+ 6943, 917934, 5859, 0, 2858, 983647, 74294, 983649, 69239, 0, 119027,
+ 12992, 2753, 1936, 74491, 92574, 2751, 12662, 2763, 8953, 64701, 10731,
+ 12922, 7052, 917839, 0, 0, 0, 63920, 74128, 2856, 119910, 47, 119911,
+ 126986, 65858, 0, 0, 0, 7899, 0, 8417, 43798, 7072, 0, 0, 4033, 128164,
+ 43992, 0, 0, 212, 64600, 1903, 12320, 0, 0, 0, 0, 8915, 2759, 945, 6689,
+ 0, 0, 0, 0, 1291, 74828, 0, 0, 9531, 13155, 8505, 68379, 12062, 0, 0,
+ 65487, 92189, 41837, 120611, 120432, 0, 0, 0, 120433, 0, 63935, 73962,
+ 120806, 64787, 43524, 0, 64426, 0, 194948, 0, 0, 65664, 6693, 9843, 0,
+ 8674, 119887, 128812, 92715, 0, 12624, 0, 1673, 4811, 92383, 5986, 9338,
+ 3046, 74480, 5985, 917928, 119598, 9820, 0, 12187, 0, 0, 5984, 0, 43308,
+ 4393, 0, 0, 0, 0, 0, 74826, 64733, 0, 0, 3491, 0, 0, 128219, 3514, 65485,
+ 0, 7492, 0, 74605, 92483, 7514, 0, 0, 194731, 7502, 7587, 68353, 0, 0,
+ 63925, 0, 7610, 219, 0, 0, 692, 43588, 74433, 41635, 43241, 9688, 7147,
+ 9535, 0, 0, 0, 64530, 0, 64610, 11804, 0, 7149, 7453, 0, 8013, 0, 92301,
+ 0, 8895, 5253, 0, 5458, 0, 2866, 0, 127860, 65111, 68433, 6700, 120484,
+ 0, 0, 0, 8962, 77960, 9641, 43694, 7059, 983412, 0, 9604, 78700, 7441,
+ 63826, 78706, 118941, 64392, 194735, 983422, 2844, 983673, 41974, 0,
+ 12139, 0, 0, 0, 3358, 65295, 0, 3104, 194734, 0, 194765, 983048, 5308, 0,
+ 290, 0, 0, 2862, 2792, 195088, 0, 0, 3268, 66591, 0, 6552, 42367, 7035,
+ 120558, 0, 0, 1814, 0, 10240, 92338, 74305, 0, 74528, 65903, 0, 42646,
+ 7606, 2591, 2837, 4341, 77956, 64482, 127337, 8163, 65270, 0, 0, 0, 9112,
+ 74431, 863, 9490, 119898, 917837, 43323, 120513, 119897, 9071, 127333, 0,
+ 3654, 7789, 9637, 0, 2535, 65504, 7653, 40993, 119899, 66587, 195098, 0,
+ 92401, 983629, 11006, 12927, 7807, 8073, 0, 10629, 0, 74088, 3056, 10823,
+ 128797, 127327, 8762, 10508, 69689, 73770, 43969, 43193, 10737, 3463, 0,
+ 0, 66633, 8695, 4815, 11322, 5811, 12345, 7049, 0, 5195, 195081, 0,
+ 66639, 0, 0, 0, 128041, 0, 92385, 1262, 0, 6561, 19939, 0, 0, 0, 119906,
+ 0, 0, 0, 0, 983402, 119907, 64612, 11991, 0, 0, 0, 1502, 0, 0, 9107,
+ 127316, 5702, 3655, 67661, 8430, 0, 74132, 120758, 0, 74057, 9603, 0,
+ 5254, 120742, 7724, 74388, 68375, 10796, 5129, 0, 0, 590, 7579, 5614,
+ 5893, 92280, 11720, 92496, 11721, 0, 4798, 0, 119316, 66038, 4793, 67851,
+ 11726, 127541, 74204, 68610, 0, 68626, 894, 300, 917813, 12306, 66235,
+ 8004, 0, 0, 2562, 0, 0, 42503, 0, 11652, 0, 0, 119241, 92649, 0, 5096,
+ 5095, 2863, 3424, 92244, 10454, 42530, 5094, 119638, 0, 13156, 0, 10832,
+ 5093, 0, 0, 0, 5092, 10708, 11327, 0, 5091, 176, 0, 9153, 4104, 78599,
+ 78601, 1215, 42712, 5744, 12272, 9832, 11777, 0, 127371, 42881, 0, 8980,
+ 118988, 67861, 8844, 7209, 0, 0, 4278, 0, 0, 194789, 0, 9074, 4348, 0,
+ 65558, 65946, 8113, 7087, 5255, 1786, 661, 0, 0, 0, 74423, 0, 586, 74414,
+ 64359, 1267, 0, 65468, 0, 65731, 0, 127179, 3621, 120473, 66666, 64211,
+ 0, 6562, 12928, 0, 1228, 65490, 11383, 0, 0, 0, 1714, 74406, 127831, 0,
+ 0, 0, 66225, 0, 0, 42660, 11436, 2070, 64, 120694, 0, 10291, 10323, 2826,
+ 0, 0, 0, 42008, 9708, 42710, 0, 42011, 41999, 92164, 12206, 5839, 1702,
+ 1240, 74065, 6286, 0, 983701, 65833, 77848, 0, 1765, 0, 0, 65588, 0, 0,
+ 0, 8401, 0, 42014, 0, 7030, 194704, 10479, 64959, 2852, 0, 0, 0, 0,
128586, 917951, 6963, 0, 12667, 64540, 74786, 10147, 12935, 127568, 0, 0,
0, 0, 78757, 0, 0, 0, 0, 9994, 12467, 2864, 64719, 1148, 10435, 11462,
41675, 0, 2765, 0, 0, 0, 120719, 128188, 92516, 66662, 0, 78133, 9364,
- 194685, 74416, 0, 0, 77988, 263, 10449, 41288, 0, 41839, 78387, 0, 77986,
- 0, 6931, 69722, 64355, 7177, 120530, 0, 0, 0, 4262, 10285, 10722, 42020,
- 0, 6806, 6992, 42019, 0, 41290, 0, 750, 0, 0, 10163, 63913, 74066, 7032,
- 5954, 64931, 4314, 0, 198, 68453, 730, 120094, 63907, 77993, 78891,
- 13165, 7107, 74171, 42804, 678, 8240, 78015, 128784, 41378, 11008, 6938,
- 92222, 92637, 2097, 66246, 120560, 0, 0, 0, 3892, 68632, 69642, 6712,
- 66045, 41470, 64805, 0, 0, 0, 64801, 0, 497, 12100, 5953, 92667, 7796,
- 69669, 43254, 73831, 0, 10293, 5952, 1281, 0, 0, 0, 10677, 604, 41097,
- 9182, 1859, 0, 92603, 3425, 127488, 0, 2836, 0, 0, 9707, 0, 43202, 0, 0,
- 65199, 1738, 917818, 128158, 2832, 92702, 9670, 12937, 0, 66374, 917956,
- 0, 2822, 68122, 4436, 92519, 0, 73752, 0, 64872, 92340, 1331, 0, 0, 0,
- 12708, 0, 5090, 5089, 0, 0, 119109, 0, 128681, 319, 118847, 43479, 9477,
- 0, 0, 5087, 92325, 7640, 96, 5086, 0, 92379, 0, 5085, 64286, 92665, 0,
- 41422, 0, 119901, 42356, 3772, 0, 0, 5011, 0, 0, 0, 0, 127165, 127241,
- 6677, 7601, 0, 591, 64419, 118953, 92262, 0, 118923, 73734, 0, 10939,
- 6106, 6933, 41271, 6760, 119903, 4534, 41270, 128876, 0, 65574, 0, 9224,
- 0, 3671, 8976, 0, 0, 41275, 6372, 128084, 55261, 7963, 6371, 0, 568, 0,
- 41273, 0, 0, 6728, 0, 9715, 0, 8258, 11753, 74820, 0, 9602, 118919, 42,
- 0, 43688, 0, 0, 7458, 0, 0, 65385, 119900, 0, 11958, 0, 917822, 0, 6254,
- 42721, 66336, 8045, 11550, 0, 0, 0, 42858, 11789, 65868, 5557, 10133,
- 9737, 13109, 0, 9467, 5558, 8878, 128136, 195036, 7451, 6706, 10146, 0,
- 9086, 64566, 0, 64584, 7437, 7454, 12594, 128690, 68362, 4546, 7731, 0,
- 119909, 74243, 0, 3805, 0, 194565, 44001, 41008, 0, 6307, 19949, 0, 7544,
- 0, 43469, 0, 0, 10152, 64422, 65091, 119113, 7602, 64729, 0, 43521, 0,
- 42302, 43711, 43523, 41447, 5559, 0, 8704, 2397, 5556, 0, 0, 0, 9011,
- 9630, 92633, 0, 0, 5506, 0, 1911, 66652, 0, 9961, 8845, 66698, 0, 10792,
- 8889, 0, 2098, 0, 64751, 0, 66622, 0, 0, 74364, 0, 0, 0, 74365, 7552, 0,
- 0, 65384, 7223, 4559, 0, 1956, 43138, 7024, 65728, 64501, 1210, 195077,
- 65175, 10184, 43140, 43654, 0, 0, 0, 38, 8533, 66669, 119124, 0, 0, 0,
- 4357, 0, 119837, 0, 74233, 9967, 119852, 42860, 119838, 10941, 65721,
- 6962, 0, 0, 119324, 0, 11014, 127972, 8942, 12000, 69224, 92267, 128536,
- 11974, 92213, 42772, 127518, 11650, 5013, 92663, 128677, 66210, 118914,
- 6613, 92476, 0, 43819, 0, 0, 64714, 0, 0, 12162, 12120, 43476, 0, 11024,
- 74811, 66228, 10563, 0, 127196, 43522, 2462, 0, 1837, 0, 63972, 6957, 0,
- 120559, 4952, 65718, 65827, 5504, 65720, 65714, 65715, 65716, 0, 127005,
- 127119, 3109, 63975, 74028, 0, 8107, 119234, 1127, 455, 0, 63968, 127924,
- 3483, 119593, 1989, 0, 69678, 9104, 3503, 65375, 92509, 6694, 42633,
- 1864, 0, 74306, 41446, 2540, 7736, 0, 74064, 0, 10521, 0, 42173, 9705,
- 74124, 8604, 6955, 10916, 43684, 6149, 3887, 19956, 1411, 2824, 0, 10106,
- 127862, 1403, 128839, 1347, 9631, 74444, 0, 0, 0, 0, 8640, 0, 258, 1654,
- 0, 0, 0, 43314, 0, 0, 4042, 11478, 2873, 63977, 11522, 41668, 8549,
- 10861, 0, 63976, 0, 68623, 0, 74585, 41391, 0, 917903, 376, 6987, 9221,
- 0, 0, 8823, 128697, 12943, 65185, 41869, 12619, 0, 10154, 0, 74439, 2039,
- 0, 7446, 1684, 63979, 10974, 458, 120620, 0, 69791, 127161, 11916, 65016,
- 0, 69671, 42115, 0, 12288, 78057, 0, 1493, 42111, 7553, 4097, 128199,
- 13080, 0, 65808, 6610, 6030, 8059, 7508, 13131, 0, 0, 0, 8794, 41278,
- 41629, 12154, 128192, 41277, 64658, 0, 64380, 6625, 74354, 19904, 0, 0,
- 0, 65371, 7078, 0, 833, 0, 6369, 0, 10979, 41953, 0, 41434, 6062, 0, 0,
- 19916, 6913, 933, 1341, 9842, 6720, 65744, 0, 0, 128295, 0, 7405, 10105,
- 65810, 0, 41632, 7493, 55290, 0, 41622, 0, 0, 119556, 74584, 7632, 9716,
- 19954, 9805, 5990, 900, 0, 63957, 0, 0, 3612, 0, 64376, 0, 5389, 92597,
- 0, 65938, 2839, 9621, 582, 0, 74368, 3749, 6949, 7569, 74061, 0, 0, 6956,
- 4403, 19962, 65559, 3299, 0, 917566, 119127, 9002, 0, 74372, 74236, 8478,
- 7598, 546, 42469, 65569, 1918, 9542, 472, 7716, 10319, 10383, 6996, 0,
- 63952, 8425, 3602, 8328, 11764, 118894, 0, 69796, 41183, 12907, 10271,
- 10287, 684, 43525, 0, 2854, 119586, 4592, 65755, 0, 92256, 11963, 43620,
- 0, 78889, 0, 0, 128809, 9881, 43115, 65757, 3415, 0, 0, 8648, 0, 6741,
- 43047, 0, 13180, 128517, 418, 917972, 64495, 10295, 10327, 10391, 41752,
- 74339, 8641, 41449, 0, 74100, 0, 10911, 6942, 0, 1024, 42849, 41751,
- 69776, 8941, 0, 4554, 0, 9023, 11685, 0, 9928, 78617, 0, 11437, 43741,
- 92163, 120700, 63967, 0, 41206, 120724, 9049, 41185, 43166, 0, 11680,
- 92619, 11686, 78544, 65224, 4565, 4655, 119553, 0, 92183, 64523, 10343,
- 10407, 0, 66671, 11466, 0, 128003, 42890, 0, 12050, 68201, 2860, 0, 0, 0,
- 42792, 5743, 10424, 12065, 42872, 0, 92342, 0, 8875, 0, 0, 917991, 7531,
- 12847, 2413, 0, 78635, 962, 0, 12855, 41196, 42564, 0, 1582, 0, 5508, 0,
- 0, 0, 10801, 0, 92354, 0, 7173, 496, 10439, 4313, 64607, 69638, 7860, 0,
- 906, 42793, 2842, 6405, 64722, 13132, 798, 64694, 12801, 8406, 1153,
- 92173, 64788, 0, 8054, 9174, 128652, 917976, 9964, 0, 41611, 4642, 66574,
- 11556, 917982, 0, 78857, 42089, 78855, 9008, 0, 0, 195096, 42079, 917981,
- 77924, 42513, 0, 42842, 73985, 65285, 118974, 127003, 0, 0, 0, 0, 11335,
- 64069, 42093, 3920, 0, 0, 0, 0, 4580, 41967, 0, 64384, 92167, 119158,
- 3021, 42004, 0, 0, 42317, 41998, 0, 6946, 0, 0, 0, 128193, 65204, 0,
- 68113, 42690, 9880, 42010, 74824, 64589, 10111, 64875, 127880, 68399,
- 43998, 11360, 0, 0, 0, 118826, 42149, 0, 0, 0, 64941, 77919, 120421,
- 128077, 0, 55247, 4110, 66005, 6959, 10929, 119110, 0, 66703, 77921,
- 8617, 41982, 6025, 69242, 0, 0, 0, 0, 9597, 42099, 43172, 0, 10117, 0,
- 92297, 41636, 0, 0, 120681, 8301, 0, 0, 187, 0, 65669, 128339, 4963, 0,
- 127517, 0, 8964, 65676, 65785, 0, 41948, 0, 0, 0, 41942, 65449, 3160,
- 10081, 13226, 42121, 42475, 42663, 128210, 41766, 0, 65882, 78849, 41760,
- 1189, 905, 480, 10985, 41733, 67859, 9629, 6742, 1745, 43625, 73835,
- 7888, 0, 3980, 0, 42656, 41507, 8806, 7023, 0, 74279, 9447, 78651, 7867,
- 69218, 6236, 0, 0, 10505, 0, 12851, 118948, 348, 5474, 128843, 3103, 0,
- 41753, 128540, 0, 0, 78844, 78845, 41739, 78843, 42515, 10931, 41756,
- 43347, 42560, 5391, 41746, 119147, 92591, 41259, 5561, 74360, 2691, 0,
- 65553, 7933, 5562, 69800, 128265, 41262, 128146, 64421, 74846, 41251, 0,
- 0, 3979, 0, 0, 74813, 0, 0, 0, 0, 92524, 41266, 0, 0, 128836, 10585,
- 65741, 41737, 9574, 2666, 0, 41738, 831, 419, 13126, 10716, 0, 42822, 0,
- 6434, 0, 6939, 7766, 6432, 128106, 0, 916, 769, 41742, 11968, 74805,
- 6433, 5563, 547, 1943, 6439, 5560, 4994, 487, 0, 4497, 3754, 127056,
- 120424, 9039, 0, 41776, 0, 8716, 1595, 41615, 0, 0, 74260, 0, 42854,
- 43219, 128709, 0, 12185, 128879, 0, 68355, 68357, 0, 42856, 8634, 0, 0,
- 4209, 120702, 0, 65879, 41538, 65612, 127543, 669, 5679, 0, 69786, 92540,
- 0, 0, 5678, 11821, 0, 6711, 460, 0, 0, 0, 0, 120747, 0, 0, 78050, 119022,
- 0, 0, 0, 7782, 9044, 4974, 11760, 78494, 7577, 65711, 41912, 1216, 0,
- 128079, 5792, 0, 0, 78501, 0, 2933, 12244, 0, 5683, 0, 0, 78119, 1549, 0,
- 0, 120398, 5682, 6206, 8670, 10256, 5680, 917568, 10001, 0, 69768, 1449,
+ 194685, 74416, 0, 0, 77988, 263, 10449, 41288, 0, 41839, 78387, 983477,
+ 77986, 0, 6931, 69722, 64355, 7177, 120530, 0, 0, 0, 4262, 10285, 10722,
+ 42020, 0, 6806, 6992, 42019, 0, 41290, 983451, 750, 0, 0, 10163, 63913,
+ 74066, 7032, 5954, 64931, 4314, 0, 198, 68453, 730, 120094, 63907, 77993,
+ 78891, 13165, 7107, 74171, 42804, 678, 8240, 78015, 128784, 41378, 11008,
+ 6938, 92222, 92637, 2097, 66246, 120560, 0, 0, 0, 3892, 68632, 69642,
+ 6712, 66045, 41470, 64805, 0, 0, 0, 64801, 0, 497, 12100, 5953, 92667,
+ 7796, 69669, 43254, 73831, 0, 10293, 5952, 1281, 0, 0, 0, 10677, 604,
+ 41097, 9182, 1859, 0, 92603, 3425, 127488, 0, 2836, 0, 0, 9707, 0, 43202,
+ 0, 0, 65199, 1738, 917818, 128158, 2832, 92702, 9670, 12937, 0, 66374,
+ 917956, 0, 2822, 68122, 4436, 92519, 983458, 73752, 0, 64872, 92340,
+ 1331, 0, 0, 0, 12708, 0, 5090, 5089, 0, 0, 119109, 0, 128681, 319,
+ 118847, 43479, 9477, 0, 0, 5087, 92325, 7640, 96, 5086, 0, 92379, 0,
+ 5085, 64286, 92665, 0, 41422, 0, 119901, 42356, 3772, 0, 0, 5011, 0, 0,
+ 0, 0, 127165, 127241, 6677, 7601, 0, 591, 64419, 118953, 92262, 0,
+ 118923, 73734, 0, 10939, 6106, 6933, 41271, 6760, 119903, 4534, 41270,
+ 128876, 0, 65574, 0, 9224, 0, 3671, 8976, 0, 0, 41275, 6372, 128084,
+ 55261, 7963, 6371, 0, 568, 0, 41273, 983465, 0, 6728, 0, 9715, 0, 8258,
+ 11753, 74820, 0, 9602, 118919, 42, 0, 43688, 0, 0, 7458, 0, 0, 65385,
+ 119900, 0, 11958, 0, 917822, 0, 6254, 42721, 66336, 8045, 11550, 0, 0,
+ 983341, 42858, 11789, 65868, 5557, 10133, 9737, 13109, 0, 9467, 5558,
+ 8878, 128136, 195036, 7451, 6706, 10146, 0, 9086, 64566, 0, 64584, 7437,
+ 7454, 12594, 128690, 68362, 4546, 7731, 0, 119909, 74243, 0, 3805, 0,
+ 194565, 44001, 41008, 0, 6307, 19949, 0, 7544, 0, 43469, 0, 0, 10152,
+ 64422, 65091, 119113, 7602, 64729, 0, 43521, 0, 42302, 43711, 43523,
+ 41447, 5559, 0, 8704, 2397, 5556, 0, 0, 0, 9011, 9630, 92633, 0, 0, 5506,
+ 0, 1911, 66652, 0, 9961, 8845, 66698, 0, 10792, 8889, 0, 2098, 0, 64751,
+ 0, 66622, 0, 0, 74364, 0, 0, 983540, 74365, 7552, 0, 0, 65384, 7223,
+ 4559, 0, 1956, 43138, 7024, 65728, 64501, 1210, 195077, 65175, 10184,
+ 43140, 43654, 0, 0, 0, 38, 8533, 66669, 119124, 0, 0, 0, 4357, 0, 119837,
+ 0, 74233, 9967, 119852, 42860, 119838, 10941, 65721, 6962, 0, 0, 119324,
+ 0, 11014, 127972, 8942, 12000, 69224, 92267, 128536, 11974, 92213, 42772,
+ 127518, 11650, 5013, 92663, 128677, 66210, 118914, 6613, 92476, 0, 43819,
+ 983505, 0, 64714, 0, 0, 12162, 12120, 43476, 983501, 11024, 74811, 66228,
+ 10563, 0, 127196, 43522, 2462, 0, 1837, 0, 63972, 6957, 0, 120559, 4952,
+ 65718, 65827, 5504, 65720, 65714, 65715, 65716, 0, 127005, 127119, 3109,
+ 63975, 74028, 0, 8107, 119234, 1127, 455, 0, 63968, 127924, 3483, 119593,
+ 1989, 0, 69678, 9104, 3503, 65375, 92509, 6694, 42633, 1864, 0, 74306,
+ 41446, 2540, 7736, 0, 74064, 0, 10521, 0, 42173, 9705, 74124, 8604, 6955,
+ 10916, 43684, 6149, 3887, 19956, 1411, 2824, 0, 10106, 127862, 1403,
+ 128839, 1347, 9631, 74444, 0, 0, 0, 0, 8640, 0, 258, 1654, 0, 0, 0,
+ 43314, 0, 0, 4042, 11478, 2873, 63977, 11522, 41668, 8549, 10861, 0,
+ 63976, 0, 68623, 0, 74585, 41391, 0, 917903, 376, 6987, 9221, 0, 0, 8823,
+ 128697, 12943, 65185, 41869, 12619, 0, 10154, 0, 74439, 2039, 0, 7446,
+ 1684, 63979, 10974, 458, 120620, 0, 69791, 127161, 11916, 65016, 0,
+ 69671, 42115, 0, 12288, 78057, 0, 1493, 42111, 7553, 4097, 128199, 13080,
+ 0, 65808, 6610, 6030, 8059, 7508, 13131, 0, 0, 0, 8794, 41278, 41629,
+ 12154, 128192, 41277, 64658, 0, 64380, 6625, 74354, 19904, 0, 0, 0,
+ 65371, 7078, 0, 833, 0, 6369, 0, 10979, 41953, 0, 41434, 6062, 0, 0,
+ 19916, 6913, 933, 1341, 9842, 6720, 65744, 0, 983336, 128295, 0, 7405,
+ 10105, 65810, 0, 41632, 7493, 55290, 0, 41622, 0, 0, 119556, 74584, 7632,
+ 9716, 19954, 9805, 5990, 900, 0, 63957, 0, 0, 3612, 0, 64376, 0, 5389,
+ 92597, 0, 65938, 2839, 9621, 582, 0, 74368, 3749, 6949, 7569, 74061, 0,
+ 0, 6956, 4403, 19962, 65559, 3299, 0, 917566, 119127, 9002, 0, 74372,
+ 74236, 8478, 7598, 546, 42469, 65569, 1918, 9542, 472, 7716, 10319,
+ 10383, 6996, 0, 63952, 8425, 3602, 8328, 11764, 118894, 0, 69796, 41183,
+ 12907, 10271, 10287, 684, 43525, 0, 2854, 119586, 4592, 65755, 0, 92256,
+ 11963, 43620, 0, 78889, 0, 0, 128809, 9881, 43115, 65757, 3415, 0, 0,
+ 8648, 0, 6741, 43047, 0, 13180, 128517, 418, 917972, 64495, 10295, 10327,
+ 10391, 41752, 74339, 8641, 41449, 0, 74100, 0, 10911, 6942, 0, 1024,
+ 42849, 41751, 69776, 8941, 983300, 4554, 0, 9023, 11685, 0, 9928, 78617,
+ 0, 11437, 43741, 92163, 120700, 63967, 0, 41206, 120724, 9049, 41185,
+ 43166, 0, 11680, 92619, 11686, 78544, 65224, 4565, 4655, 119553, 0,
+ 92183, 64523, 10343, 10407, 0, 66671, 11466, 0, 128003, 42890, 0, 12050,
+ 68201, 2860, 0, 0, 0, 42792, 5743, 10424, 12065, 42872, 0, 92342, 0,
+ 8875, 0, 0, 917991, 7531, 12847, 2413, 0, 78635, 962, 0, 12855, 41196,
+ 42564, 0, 1582, 983450, 5508, 0, 0, 0, 10801, 0, 92354, 0, 7173, 496,
+ 10439, 4313, 64607, 69638, 7860, 0, 906, 42793, 2842, 6405, 64722, 13132,
+ 798, 64694, 12801, 8406, 1153, 92173, 64788, 0, 8054, 9174, 128652,
+ 917976, 9964, 0, 41611, 4642, 66574, 11556, 917982, 0, 78857, 42089,
+ 78855, 9008, 0, 0, 195096, 42079, 917981, 77924, 42513, 0, 42842, 73985,
+ 65285, 118974, 127003, 983437, 0, 0, 0, 11335, 64069, 42093, 3920, 0, 0,
+ 0, 0, 4580, 41967, 983467, 64384, 92167, 119158, 3021, 42004, 0, 0,
+ 42317, 41998, 0, 6946, 0, 0, 0, 128193, 65204, 0, 68113, 42690, 9880,
+ 42010, 74824, 64589, 10111, 64875, 127880, 68399, 43998, 11360, 0, 0, 0,
+ 118826, 42149, 0, 0, 0, 64941, 77919, 120421, 128077, 0, 55247, 4110,
+ 66005, 6959, 10929, 119110, 0, 66703, 77921, 8617, 41982, 6025, 69242, 0,
+ 0, 0, 0, 9597, 42099, 43172, 0, 10117, 983527, 92297, 41636, 0, 0,
+ 120681, 8301, 0, 0, 187, 0, 65669, 128339, 4963, 0, 127517, 0, 8964,
+ 65676, 65785, 0, 41948, 0, 0, 0, 41942, 65449, 3160, 10081, 13226, 42121,
+ 42475, 42663, 128210, 41766, 0, 65882, 78849, 41760, 1189, 905, 480,
+ 10985, 41733, 67859, 9629, 6742, 1745, 43625, 73835, 7888, 0, 3980, 0,
+ 42656, 41507, 8806, 7023, 0, 74279, 9447, 78651, 7867, 69218, 6236, 0, 0,
+ 10505, 0, 12851, 118948, 348, 5474, 128843, 3103, 0, 41753, 128540, 0, 0,
+ 78844, 78845, 41739, 78843, 42515, 10931, 41756, 43347, 42560, 5391,
+ 41746, 119147, 92591, 41259, 5561, 74360, 2691, 0, 65553, 7933, 5562,
+ 69800, 128265, 41262, 128146, 64421, 74846, 41251, 0, 0, 3979, 0, 0,
+ 74813, 0, 0, 0, 0, 92524, 41266, 0, 0, 128836, 10585, 65741, 41737, 9574,
+ 2666, 0, 41738, 831, 419, 13126, 10716, 0, 42822, 0, 6434, 0, 6939, 7766,
+ 6432, 128106, 0, 916, 769, 41742, 11968, 74805, 6433, 5563, 547, 1943,
+ 6439, 5560, 4994, 487, 0, 4497, 3754, 127056, 120424, 9039, 0, 41776, 0,
+ 8716, 1595, 41615, 0, 0, 74260, 0, 42854, 43219, 128709, 0, 12185,
+ 128879, 0, 68355, 68357, 0, 42856, 8634, 0, 983469, 4209, 120702, 0,
+ 65879, 41538, 65612, 127543, 669, 5679, 0, 69786, 92540, 0, 0, 5678,
+ 11821, 0, 6711, 460, 0, 0, 0, 0, 120747, 0, 0, 78050, 119022, 0, 0, 0,
+ 7782, 9044, 4974, 11760, 78494, 7577, 65711, 41912, 1216, 0, 128079,
+ 5792, 0, 0, 78501, 0, 2933, 12244, 0, 5683, 0, 0, 78119, 1549, 0, 0,
+ 120398, 5682, 6206, 8670, 10256, 5680, 917568, 10001, 0, 69768, 1449,
10241, 78290, 128228, 0, 10552, 64342, 41922, 128548, 8584, 0, 5567,
- 2717, 0, 0, 5564, 42886, 41908, 42882, 5565, 0, 128026, 0, 65708, 65709,
- 5566, 69803, 65704, 65705, 11904, 42875, 43373, 42539, 5942, 8468,
+ 2717, 0, 0, 5564, 42886, 41908, 42882, 5565, 983050, 128026, 0, 65708,
+ 65709, 5566, 69803, 65704, 65705, 11904, 42875, 43373, 42539, 5942, 8468,
120561, 10361, 10425, 65697, 65698, 65699, 0, 66598, 0, 64664, 10647,
78702, 78703, 78690, 457, 78502, 65701, 1934, 43006, 0, 8802, 78710,
65130, 11747, 78709, 6087, 78705, 78716, 41757, 78711, 8043, 8950, 65694,
64485, 43534, 10457, 0, 11961, 78725, 78722, 78723, 78720, 78721, 0,
65515, 9499, 10035, 13069, 0, 0, 9889, 68184, 42806, 0, 7256, 0, 0, 1667,
- 42161, 0, 42428, 0, 6934, 0, 10802, 64861, 6556, 78390, 0, 8101, 3610, 0,
- 41748, 4995, 955, 65907, 119208, 5350, 64339, 78306, 64549, 10875,
- 128662, 5477, 65692, 0, 128532, 120397, 12896, 10456, 917954, 0, 3874, 0,
- 0, 0, 0, 0, 0, 65603, 0, 65687, 0, 41038, 74009, 119570, 42239, 8536,
- 78740, 0, 78726, 74432, 724, 0, 1455, 78749, 7183, 64583, 78747, 68443,
- 4175, 78741, 43614, 69801, 939, 0, 43520, 68613, 74569, 917958, 0, 78763,
- 78764, 78760, 10788, 6088, 78759, 78755, 190, 0, 12593, 0, 8188, 64408,
- 0, 4417, 0, 92261, 6370, 0, 7827, 68441, 6965, 0, 0, 13201, 128205, 0, 0,
- 74382, 73781, 7918, 73988, 0, 0, 917884, 1728, 0, 120710, 178, 12972,
- 92679, 0, 917887, 92563, 0, 0, 78327, 120405, 65690, 0, 0, 119054, 0,
- 9252, 917889, 4652, 68371, 0, 0, 0, 13065, 9923, 10806, 0, 11763, 0,
- 120688, 6723, 78187, 0, 6993, 0, 0, 8333, 0, 0, 11390, 0, 74464, 0,
- 92320, 74080, 0, 0, 11910, 92559, 8278, 8963, 4034, 128560, 0, 65344,
- 120517, 41747, 0, 0, 8677, 0, 12707, 9350, 66037, 128180, 8836, 12315,
- 12747, 8300, 0, 0, 7491, 8856, 128064, 0, 43150, 127768, 120404, 65389,
- 120402, 120403, 10813, 2592, 12853, 43269, 7263, 120244, 6536, 120238,
- 120239, 65516, 12321, 120391, 120388, 55287, 10007, 120246, 9588, 120248,
- 1596, 120383, 41994, 65801, 128808, 0, 66572, 0, 0, 10613, 6697, 12805,
- 41928, 40981, 78403, 78409, 5006, 64328, 0, 9931, 0, 8825, 74555, 65940,
- 43259, 0, 6107, 0, 119177, 0, 78401, 128641, 11783, 335, 120227, 64689,
- 438, 4510, 5765, 8721, 120233, 119227, 6092, 12840, 43112, 8876, 120231,
- 8096, 10284, 128515, 0, 0, 10380, 8733, 0, 128240, 41602, 0, 92308,
- 74831, 917901, 0, 73747, 65399, 0, 64591, 42405, 0, 120820, 843, 11541,
- 0, 917898, 2065, 41935, 74496, 41902, 0, 0, 215, 41258, 77875, 43159,
- 1953, 9579, 41938, 1256, 3910, 9407, 6242, 0, 0, 41257, 41900, 8675,
- 10700, 8805, 1742, 0, 9333, 8202, 127750, 0, 0, 0, 0, 73882, 499, 0,
- 43467, 0, 43818, 0, 1712, 5932, 77845, 41762, 0, 0, 11967, 1775, 0, 0, 0,
- 0, 128009, 9458, 0, 6470, 9180, 120380, 43176, 0, 0, 42782, 0, 0, 0,
+ 42161, 0, 42428, 0, 6934, 0, 10802, 64861, 6556, 78390, 0, 8101, 3610,
+ 983041, 41748, 4995, 955, 65907, 119208, 5350, 64339, 78306, 64549,
+ 10875, 128662, 5477, 65692, 0, 128532, 120397, 12896, 10456, 917954, 0,
+ 3874, 0, 0, 983363, 0, 0, 0, 65603, 0, 65687, 0, 41038, 74009, 119570,
+ 42239, 8536, 78740, 0, 78726, 74432, 724, 0, 1455, 78749, 7183, 64583,
+ 78747, 68443, 4175, 78741, 43614, 69801, 939, 0, 43520, 68613, 74569,
+ 917958, 0, 78763, 78764, 78760, 10788, 6088, 78759, 78755, 190, 0, 12593,
+ 0, 8188, 64408, 0, 4417, 0, 92261, 6370, 0, 7827, 68441, 6965, 0, 0,
+ 13201, 128205, 0, 0, 74382, 73781, 7918, 73988, 0, 0, 917884, 1728, 0,
+ 120710, 178, 12972, 92679, 0, 917887, 92563, 0, 0, 78327, 120405, 65690,
+ 0, 0, 119054, 0, 9252, 917889, 4652, 68371, 0, 0, 0, 13065, 9923, 10806,
+ 0, 11763, 0, 120688, 6723, 78187, 0, 6993, 0, 0, 8333, 0, 0, 11390, 0,
+ 74464, 0, 92320, 74080, 0, 0, 11910, 92559, 8278, 8963, 4034, 128560, 0,
+ 65344, 120517, 41747, 0, 0, 8677, 0, 12707, 9350, 66037, 128180, 8836,
+ 12315, 12747, 8300, 0, 0, 7491, 8856, 128064, 0, 43150, 127768, 120404,
+ 65389, 120402, 120403, 10813, 2592, 12853, 43269, 7263, 120244, 6536,
+ 120238, 120239, 65516, 12321, 120391, 120388, 55287, 10007, 120246, 9588,
+ 120248, 1596, 120383, 41994, 65801, 128808, 0, 66572, 0, 0, 10613, 6697,
+ 12805, 41928, 40981, 78403, 78409, 5006, 64328, 0, 9931, 0, 8825, 74555,
+ 65940, 43259, 0, 6107, 0, 119177, 0, 78401, 128641, 11783, 335, 120227,
+ 64689, 438, 4510, 5765, 8721, 120233, 119227, 6092, 12840, 43112, 8876,
+ 120231, 8096, 10284, 128515, 0, 0, 10380, 8733, 0, 128240, 41602, 0,
+ 92308, 74831, 917901, 0, 73747, 65399, 0, 64591, 42405, 0, 120820, 843,
+ 11541, 0, 917898, 2065, 41935, 74496, 41902, 0, 0, 215, 41258, 77875,
+ 43159, 1953, 9579, 41938, 1256, 3910, 9407, 6242, 0, 0, 41257, 41900,
+ 8675, 10700, 8805, 1742, 0, 9333, 8202, 127750, 0, 0, 0, 0, 73882, 499,
+ 0, 43467, 0, 43818, 0, 1712, 5932, 77845, 41762, 0, 0, 11967, 1775, 0, 0,
+ 0, 0, 128009, 9458, 0, 6470, 9180, 120380, 43176, 0, 0, 42782, 0, 0, 0,
128309, 74777, 120669, 9414, 120382, 73782, 73969, 565, 42484, 5794, 201,
2662, 42292, 0, 8254, 0, 10975, 0, 120625, 74763, 1022, 4108, 3880,
74247, 0, 0, 92263, 917980, 7507, 0, 43149, 0, 65031, 7961, 1636, 0,
@@ -17058,12 +17284,12 @@ static unsigned int code_hash[] = {
10480, 0, 0, 77936, 8264, 12610, 0, 645, 0, 7609, 40973, 0, 73833, 78249,
5824, 984, 77918, 10688, 5851, 0, 7729, 73982, 120518, 0, 195086, 43369,
0, 128140, 68415, 0, 4538, 120406, 43141, 0, 0, 74214, 73886, 0, 0,
- 118902, 43005, 78448, 9552, 0, 0, 0, 12997, 0, 0, 0, 0, 2381, 12883,
+ 118902, 43005, 78448, 9552, 0, 0, 983322, 12997, 0, 0, 0, 0, 2381, 12883,
10994, 10529, 41906, 0, 0, 0, 12425, 10661, 10856, 9614, 2428, 41478,
8582, 10064, 73930, 0, 0, 0, 64896, 119162, 1952, 92181, 8455, 10082,
11575, 0, 119566, 0, 12808, 12183, 6145, 118955, 64929, 92433, 0, 0,
- 43186, 42509, 0, 3922, 9187, 0, 0, 10191, 119057, 11752, 3353, 9358, 0,
- 917957, 66680, 120090, 8248, 7931, 8558, 9795, 68380, 0, 0, 120082,
+ 43186, 42509, 0, 3922, 9187, 983358, 0, 10191, 119057, 11752, 3353, 9358,
+ 0, 917957, 66680, 120090, 8248, 7931, 8558, 9795, 68380, 0, 0, 120082,
120081, 120084, 41027, 120086, 0, 120088, 120087, 7019, 120073, 0, 11751,
120078, 78294, 64657, 8657, 120048, 8594, 120068, 0, 0, 120069, 120072,
120071, 0, 0, 43154, 41029, 0, 11332, 65380, 7728, 0, 11294, 0, 66665,
@@ -17075,179 +17301,180 @@ static unsigned int code_hash[] = {
1009, 92171, 2402, 2333, 6440, 0, 0, 65125, 41244, 0, 13271, 9103, 41180,
0, 0, 0, 0, 10219, 0, 0, 0, 0, 43178, 127070, 41261, 119362, 43640, 8613,
0, 118989, 6736, 195092, 41492, 12005, 127889, 0, 1890, 120056, 0, 0, 0,
- 7293, 7991, 0, 10578, 0, 78076, 194738, 78077, 0, 0, 78800, 92653, 64445,
- 42668, 6635, 0, 6164, 65170, 0, 0, 7676, 11664, 0, 0, 69707, 0, 118812,
- 0, 0, 128045, 9175, 11925, 78045, 9088, 0, 64545, 1396, 0, 7546, 3847, 0,
- 127835, 4985, 13288, 672, 8098, 43196, 194746, 0, 128126, 0, 74043,
- 65072, 1577, 11772, 13041, 5928, 4525, 10658, 65911, 1266, 10180, 0,
- 128584, 12622, 0, 0, 0, 194714, 127139, 13310, 773, 19933, 1539, 0,
- 126983, 42731, 92205, 0, 0, 0, 3051, 5862, 7823, 92478, 0, 120411, 3250,
- 43991, 69687, 66649, 9510, 66237, 0, 0, 41066, 64673, 917963, 917964, 0,
- 3505, 8707, 917968, 6725, 128013, 917971, 92314, 3471, 917970, 5479, 882,
- 6686, 119584, 11613, 120772, 42754, 0, 0, 92696, 0, 0, 0, 128523, 3225,
- 917996, 4433, 41156, 43973, 43173, 1443, 4381, 0, 0, 10926, 11756, 11757,
- 64879, 917949, 917950, 127848, 13227, 0, 10021, 5160, 1387, 0, 917953,
- 41418, 0, 65914, 6721, 217, 917955, 917960, 917961, 10443, 10789, 41158,
- 119257, 4274, 0, 41483, 0, 41250, 0, 42179, 0, 5931, 11744, 69232, 0,
- 41252, 66682, 0, 119637, 41249, 1366, 64635, 65047, 12466, 0, 0, 4397,
- 128037, 128336, 41296, 9545, 41291, 128049, 0, 41485, 3511, 41282, 5923,
- 10400, 0, 128818, 760, 0, 12088, 5786, 0, 42256, 119869, 119860, 417,
- 41474, 119562, 41565, 0, 5934, 119867, 66583, 119231, 64877, 0, 64481,
- 78614, 66013, 41956, 43455, 126995, 0, 0, 0, 42273, 5819, 0, 917556, 0,
- 0, 0, 65910, 127747, 10246, 120816, 0, 1237, 10274, 4552, 119576, 0, 0,
- 1375, 66705, 43573, 65260, 42063, 0, 42811, 10312, 74192, 120794, 7840,
- 0, 43630, 10252, 0, 128104, 43185, 0, 4396, 0, 119880, 10769, 9676,
- 119041, 0, 9753, 0, 8944, 0, 0, 10473, 0, 0, 6072, 43025, 10299, 0, 0,
- 120608, 66326, 0, 0, 0, 43811, 9330, 0, 7222, 10283, 10315, 10379, 4996,
- 0, 13281, 66517, 7865, 10087, 78343, 0, 78347, 0, 0, 7565, 66363, 12952,
- 64806, 43180, 77928, 68096, 77929, 43982, 74288, 622, 74023, 885, 43405,
- 1602, 0, 0, 852, 0, 12160, 0, 10212, 65435, 0, 12071, 9609, 12156,
- 917983, 917984, 43586, 11035, 10411, 917988, 10255, 6710, 10279, 4194,
- 10375, 917993, 0, 4315, 12644, 127516, 77937, 43639, 43343, 0, 917998,
- 11501, 41177, 128689, 0, 917792, 0, 92413, 8715, 0, 41179, 0, 43313, 0,
- 41176, 0, 994, 0, 8452, 127103, 73966, 0, 0, 5921, 0, 2597, 0, 5922,
- 118903, 77943, 4186, 92531, 127106, 127105, 6718, 0, 4406, 74601, 8480,
- 9192, 9747, 128699, 4413, 92196, 42268, 3198, 5924, 5920, 92469, 6921,
- 78081, 74007, 42869, 8418, 11681, 43169, 10176, 0, 742, 0, 2893, 10772,
- 65276, 5937, 1914, 2553, 11682, 6756, 128590, 128646, 8363, 0, 2993,
- 7772, 3916, 0, 120494, 1141, 42407, 8159, 718, 7572, 973, 0, 120718,
- 3235, 2415, 43164, 0, 8018, 42333, 74756, 10675, 6937, 42486, 43381,
- 65390, 10067, 0, 1202, 0, 0, 65863, 0, 0, 0, 78182, 64542, 3260, 73829,
- 65388, 9945, 8419, 78042, 6738, 0, 43681, 69728, 2059, 0, 0, 55237, 1431,
- 0, 66565, 10821, 0, 12804, 128076, 8229, 1235, 3307, 11472, 78089, 78184,
- 4544, 0, 0, 0, 1740, 78097, 8758, 985, 12872, 64511, 78094, 12068, 78102,
- 0, 10141, 0, 63761, 8785, 4476, 78109, 63763, 12655, 8907, 78105, 78106,
- 78103, 78104, 0, 119572, 10665, 64616, 41572, 0, 127160, 0, 41573, 0,
- 3931, 120295, 74143, 0, 0, 0, 0, 11982, 0, 0, 0, 128016, 64484, 0, 41167,
- 0, 41735, 0, 717, 10754, 0, 0, 127979, 0, 63767, 0, 1780, 6936, 0, 0,
- 819, 10611, 9694, 126978, 0, 0, 0, 0, 8343, 8342, 8345, 8344, 6578, 7009,
- 7523, 6922, 8348, 8347, 7525, 3346, 8339, 128165, 128338, 575, 268,
- 78111, 8563, 5754, 120343, 41541, 65565, 8336, 5936, 7290, 78117, 8337,
- 8341, 308, 11388, 7522, 120721, 78123, 65466, 11090, 6953, 0, 120346, 0,
- 78132, 5926, 78128, 78130, 78126, 78127, 78124, 78125, 9038, 7887, 43456,
- 7830, 11651, 13093, 64002, 0, 65742, 12874, 119597, 11590, 0, 74048,
- 128350, 8595, 0, 917947, 43703, 13097, 0, 64643, 13283, 12697, 0, 12381,
- 3488, 5933, 10033, 73738, 66241, 65570, 0, 12297, 119153, 1955, 0, 5349,
- 42538, 0, 0, 65308, 9462, 917554, 0, 0, 0, 42736, 0, 5756, 0, 7638,
- 41642, 42764, 0, 43109, 7637, 5752, 120600, 0, 73832, 128827, 120635,
- 128231, 78334, 0, 7636, 65171, 9124, 0, 78892, 0, 291, 0, 0, 2027, 66230,
- 10080, 78136, 10403, 0, 4640, 64713, 10224, 120429, 42512, 120431,
- 120430, 0, 128351, 127489, 127148, 0, 92499, 0, 119094, 74213, 7824, 0,
- 0, 41274, 5778, 6302, 0, 0, 12680, 119130, 1417, 77889, 194914, 9452, 0,
- 74393, 11552, 0, 127855, 0, 65391, 0, 10172, 65453, 63789, 41264, 78658,
- 6426, 4641, 9179, 64819, 55278, 41255, 42036, 41469, 41269, 120412,
- 41267, 4646, 120425, 865, 42034, 78274, 78273, 4645, 42033, 78270,
- 127982, 0, 64728, 0, 78673, 78674, 1659, 919, 42784, 1671, 195089, 6069,
- 9219, 195090, 1661, 13120, 63784, 69819, 10140, 9713, 119143, 0, 0, 0,
- 2306, 10485, 118943, 6068, 10612, 195099, 119567, 195101, 92561, 41462,
- 120470, 195079, 5422, 128234, 0, 0, 0, 10229, 10635, 826, 128081, 195082,
- 195085, 195084, 195087, 6483, 0, 1808, 7848, 0, 8100, 78227, 78669,
- 78670, 13301, 78667, 9667, 78665, 78872, 0, 11003, 9904, 0, 0, 120690,
- 9144, 10921, 0, 78680, 9840, 65131, 78678, 77841, 10313, 0, 0, 64320,
- 10265, 78686, 10962, 78684, 43008, 8945, 78683, 0, 41, 195072, 1792,
- 120515, 195073, 8655, 195075, 92544, 77951, 12066, 0, 385, 4152, 2585,
- 127804, 119068, 3126, 0, 74136, 10957, 0, 43258, 0, 127873, 13157, 0, 0,
- 3570, 0, 7443, 0, 44006, 6997, 0, 0, 7879, 8739, 11075, 0, 65216, 0,
- 69795, 2593, 8463, 7810, 917862, 7839, 119913, 78806, 119912, 9691, 4411,
- 78802, 0, 0, 43442, 78799, 65254, 10066, 0, 0, 0, 0, 13061, 8016, 78687,
- 19932, 64831, 0, 119923, 12390, 119171, 1634, 68115, 0, 11056, 0, 119925,
- 0, 41165, 11328, 12450, 0, 41166, 0, 12456, 119914, 171, 5941, 12452,
- 917544, 12458, 12531, 78779, 43013, 63800, 74162, 127569, 120483, 9969,
- 0, 12454, 63806, 42132, 12063, 78425, 78424, 3230, 0, 0, 0, 5209, 297,
- 5810, 8522, 8415, 119937, 78429, 78428, 7077, 2497, 128651, 960, 74156,
- 6981, 92374, 12938, 4292, 0, 74815, 10512, 0, 74814, 78875, 127505,
- 78876, 2503, 73778, 1762, 69794, 2495, 78873, 5844, 78874, 118838, 0,
- 12654, 4663, 1899, 78877, 2507, 64121, 8726, 65594, 0, 0, 0, 8892, 0,
- 92339, 0, 0, 5782, 420, 0, 0, 43796, 10797, 63794, 0, 0, 64814, 63796,
- 77965, 0, 66581, 119204, 41608, 0, 0, 63792, 4659, 120788, 0, 43676, 0,
- 69673, 0, 0, 0, 329, 77968, 92707, 917548, 7399, 0, 41188, 13244, 120466,
- 42167, 7435, 78193, 5380, 119086, 69225, 1155, 11365, 43126, 77972, 0,
- 65684, 0, 5601, 65192, 42765, 63752, 0, 7987, 0, 1172, 69799, 6786,
- 43601, 120476, 74126, 5603, 0, 4473, 0, 194823, 0, 65347, 65346, 65345,
- 0, 127384, 5347, 69802, 0, 73868, 118944, 10588, 0, 0, 63755, 0, 5343,
- 78422, 0, 4555, 5341, 0, 0, 128670, 5351, 0, 43104, 65244, 917892, 64541,
- 42519, 74472, 0, 0, 74765, 917888, 194892, 6638, 0, 65113, 271, 74180,
- 65370, 8835, 65368, 12653, 65366, 42172, 41086, 65363, 65362, 65361,
- 11912, 43410, 11323, 65357, 11800, 65355, 5345, 65353, 65352, 65351, 761,
- 65349, 19959, 69718, 63856, 0, 2423, 77958, 64647, 77959, 11957, 4699, 0,
- 0, 0, 0, 64605, 0, 0, 0, 4916, 0, 380, 10958, 66563, 77955, 69773, 9773,
- 13167, 12918, 41096, 73980, 69245, 78254, 917893, 10684, 0, 917896, 0,
- 7946, 12541, 8182, 67586, 69780, 0, 0, 0, 0, 9005, 1225, 6630, 0, 0, 0,
- 0, 8847, 0, 65876, 5535, 8329, 74590, 0, 92609, 0, 0, 3127, 2595, 65713,
- 42013, 0, 5607, 41089, 0, 0, 74256, 2665, 11304, 0, 74200, 4970, 8764,
+ 7293, 7991, 0, 10578, 0, 78076, 194738, 78077, 983462, 0, 78800, 92653,
+ 64445, 42668, 6635, 0, 6164, 65170, 0, 0, 7676, 11664, 0, 983393, 69707,
+ 0, 118812, 0, 0, 128045, 9175, 11925, 78045, 9088, 0, 64545, 1396, 0,
+ 7546, 3847, 0, 127835, 4985, 13288, 672, 8098, 43196, 194746, 0, 128126,
+ 0, 74043, 65072, 1577, 11772, 13041, 5928, 4525, 10658, 65911, 1266,
+ 10180, 0, 128584, 12622, 0, 0, 0, 194714, 127139, 13310, 773, 19933,
+ 1539, 0, 126983, 42731, 92205, 0, 0, 0, 3051, 5862, 7823, 92478, 0,
+ 120411, 3250, 43991, 69687, 66649, 9510, 66237, 0, 0, 41066, 64673,
+ 917963, 917964, 0, 3505, 8707, 917968, 6725, 128013, 917971, 92314, 3471,
+ 917970, 5479, 882, 6686, 119584, 11613, 120772, 42754, 0, 0, 92696, 0, 0,
+ 0, 128523, 3225, 917996, 4433, 41156, 43973, 43173, 1443, 4381, 0, 0,
+ 10926, 11756, 11757, 64879, 917949, 917950, 127848, 13227, 0, 10021,
+ 5160, 1387, 0, 917953, 41418, 0, 65914, 6721, 217, 917955, 917960,
+ 917961, 10443, 10789, 41158, 119257, 4274, 0, 41483, 0, 41250, 0, 42179,
+ 0, 5931, 11744, 69232, 0, 41252, 66682, 0, 119637, 41249, 1366, 64635,
+ 65047, 12466, 0, 0, 4397, 128037, 128336, 41296, 9545, 41291, 128049, 0,
+ 41485, 3511, 41282, 5923, 10400, 0, 128818, 760, 0, 12088, 5786, 0,
+ 42256, 119869, 119860, 417, 41474, 119562, 41565, 0, 5934, 119867, 66583,
+ 119231, 64877, 0, 64481, 78614, 66013, 41956, 43455, 126995, 0, 0, 0,
+ 42273, 5819, 0, 917556, 0, 0, 0, 65910, 127747, 10246, 120816, 0, 1237,
+ 10274, 4552, 119576, 0, 0, 1375, 66705, 43573, 65260, 42063, 0, 42811,
+ 10312, 74192, 120794, 7840, 0, 43630, 10252, 0, 128104, 43185, 0, 4396,
+ 0, 119880, 10769, 9676, 119041, 0, 9753, 0, 8944, 0, 0, 10473, 0, 0,
+ 6072, 43025, 10299, 0, 0, 120608, 66326, 0, 0, 0, 43811, 9330, 0, 7222,
+ 10283, 10315, 10379, 4996, 0, 13281, 66517, 7865, 10087, 78343, 0, 78347,
+ 0, 0, 7565, 66363, 12952, 64806, 43180, 77928, 68096, 77929, 43982,
+ 74288, 622, 74023, 885, 43405, 1602, 0, 0, 852, 0, 12160, 0, 10212,
+ 65435, 0, 12071, 9609, 12156, 917983, 917984, 43586, 11035, 10411,
+ 917988, 10255, 6710, 10279, 4194, 10375, 917993, 0, 4315, 12644, 127516,
+ 77937, 43639, 43343, 0, 917998, 11501, 41177, 128689, 0, 917792, 0,
+ 92413, 8715, 0, 41179, 0, 43313, 0, 41176, 0, 994, 0, 8452, 127103,
+ 73966, 0, 0, 5921, 0, 2597, 0, 5922, 118903, 77943, 4186, 92531, 127106,
+ 127105, 6718, 0, 4406, 74601, 8480, 9192, 9747, 128699, 4413, 92196,
+ 42268, 3198, 5924, 5920, 92469, 6921, 78081, 74007, 42869, 8418, 11681,
+ 43169, 10176, 0, 742, 0, 2893, 10772, 65276, 5937, 1914, 2553, 11682,
+ 6756, 128590, 128646, 8363, 0, 2993, 7772, 3916, 0, 120494, 1141, 42407,
+ 8159, 718, 7572, 973, 0, 120718, 3235, 2415, 43164, 0, 8018, 42333,
+ 74756, 10675, 6937, 42486, 43381, 65390, 10067, 0, 1202, 0, 0, 65863, 0,
+ 0, 0, 78182, 64542, 3260, 73829, 65388, 9945, 8419, 78042, 6738, 0,
+ 43681, 69728, 2059, 0, 0, 55237, 1431, 0, 66565, 10821, 0, 12804, 128076,
+ 8229, 1235, 3307, 11472, 78089, 78184, 4544, 0, 0, 0, 1740, 78097, 8758,
+ 985, 12872, 64511, 78094, 12068, 78102, 0, 10141, 0, 63761, 8785, 4476,
+ 78109, 63763, 12655, 8907, 78105, 78106, 78103, 78104, 0, 119572, 10665,
+ 64616, 41572, 0, 127160, 0, 41573, 0, 3931, 120295, 74143, 0, 0, 0, 0,
+ 11982, 0, 0, 0, 128016, 64484, 0, 41167, 0, 41735, 0, 717, 10754, 0, 0,
+ 127979, 0, 63767, 0, 1780, 6936, 0, 0, 819, 10611, 9694, 126978, 0, 0, 0,
+ 0, 8343, 8342, 8345, 8344, 6578, 7009, 7523, 6922, 8348, 8347, 7525,
+ 3346, 8339, 128165, 128338, 575, 268, 78111, 8563, 5754, 120343, 41541,
+ 65565, 8336, 5936, 7290, 78117, 8337, 8341, 308, 11388, 7522, 120721,
+ 78123, 65466, 11090, 6953, 0, 120346, 0, 78132, 5926, 78128, 78130,
+ 78126, 78127, 78124, 78125, 9038, 7887, 43456, 7830, 11651, 13093, 64002,
+ 0, 65742, 12874, 119597, 11590, 0, 74048, 128350, 8595, 0, 917947, 43703,
+ 13097, 0, 64643, 13283, 12697, 0, 12381, 3488, 5933, 10033, 73738, 66241,
+ 65570, 0, 12297, 119153, 1955, 0, 5349, 42538, 0, 0, 65308, 9462, 917554,
+ 0, 0, 0, 42736, 0, 5756, 0, 7638, 41642, 42764, 0, 43109, 7637, 5752,
+ 120600, 0, 73832, 128827, 120635, 128231, 78334, 0, 7636, 65171, 9124, 0,
+ 78892, 0, 291, 0, 0, 2027, 66230, 10080, 78136, 10403, 0, 4640, 64713,
+ 10224, 120429, 42512, 120431, 120430, 0, 128351, 127489, 127148, 0,
+ 92499, 0, 119094, 74213, 7824, 0, 0, 41274, 5778, 6302, 0, 0, 12680,
+ 119130, 1417, 77889, 194914, 9452, 0, 74393, 11552, 0, 127855, 0, 65391,
+ 0, 10172, 65453, 63789, 41264, 78658, 6426, 4641, 9179, 64819, 55278,
+ 41255, 42036, 41469, 41269, 120412, 41267, 4646, 120425, 865, 42034,
+ 78274, 78273, 4645, 42033, 78270, 127982, 0, 64728, 0, 78673, 78674,
+ 1659, 919, 42784, 1671, 195089, 6069, 9219, 195090, 1661, 13120, 63784,
+ 69819, 10140, 9713, 119143, 0, 0, 0, 2306, 10485, 118943, 6068, 10612,
+ 195099, 119567, 195101, 92561, 41462, 120470, 195079, 5422, 128234, 0, 0,
+ 0, 10229, 10635, 826, 128081, 195082, 195085, 195084, 195087, 6483, 0,
+ 1808, 7848, 0, 8100, 78227, 78669, 78670, 13301, 78667, 9667, 78665,
+ 78872, 0, 11003, 9904, 0, 0, 120690, 9144, 10921, 0, 78680, 9840, 65131,
+ 78678, 77841, 10313, 0, 0, 64320, 10265, 78686, 10962, 78684, 43008,
+ 8945, 78683, 0, 41, 195072, 1792, 120515, 195073, 8655, 195075, 92544,
+ 77951, 12066, 0, 385, 4152, 2585, 127804, 119068, 3126, 0, 74136, 10957,
+ 983438, 43258, 0, 127873, 13157, 0, 0, 3570, 0, 7443, 0, 44006, 6997, 0,
+ 0, 7879, 8739, 11075, 0, 65216, 0, 69795, 2593, 8463, 7810, 917862, 7839,
+ 119913, 78806, 119912, 9691, 4411, 78802, 0, 0, 43442, 78799, 65254,
+ 10066, 983624, 0, 0, 0, 13061, 8016, 78687, 19932, 64831, 0, 119923,
+ 12390, 119171, 1634, 68115, 0, 11056, 0, 119925, 0, 41165, 11328, 12450,
+ 0, 41166, 0, 12456, 119914, 171, 5941, 12452, 917544, 12458, 12531,
+ 78779, 43013, 63800, 74162, 127569, 120483, 9969, 0, 12454, 63806, 42132,
+ 12063, 78425, 78424, 3230, 0, 0, 0, 5209, 297, 5810, 8522, 8415, 119937,
+ 78429, 78428, 7077, 2497, 128651, 960, 74156, 6981, 92374, 12938, 4292,
+ 0, 74815, 10512, 0, 74814, 78875, 127505, 78876, 2503, 73778, 1762,
+ 69794, 2495, 78873, 5844, 78874, 118838, 0, 12654, 4663, 1899, 78877,
+ 2507, 64121, 8726, 65594, 0, 0, 0, 8892, 0, 92339, 0, 0, 5782, 420, 0, 0,
+ 43796, 10797, 63794, 0, 0, 64814, 63796, 77965, 0, 66581, 119204, 41608,
+ 0, 0, 63792, 4659, 120788, 0, 43676, 0, 69673, 0, 0, 0, 329, 77968,
+ 92707, 917548, 7399, 0, 41188, 13244, 120466, 42167, 7435, 78193, 5380,
+ 119086, 69225, 1155, 11365, 43126, 77972, 0, 65684, 0, 5601, 65192,
+ 42765, 63752, 0, 7987, 0, 1172, 69799, 6786, 43601, 120476, 74126, 5603,
+ 0, 4473, 0, 194823, 0, 65347, 65346, 65345, 0, 127384, 5347, 69802,
+ 983367, 73868, 118944, 10588, 0, 0, 63755, 0, 5343, 78422, 0, 4555, 5341,
+ 0, 0, 128670, 5351, 0, 43104, 65244, 917892, 64541, 42519, 74472, 0, 0,
+ 74765, 917888, 194892, 6638, 0, 65113, 271, 74180, 65370, 8835, 65368,
+ 12653, 65366, 42172, 41086, 65363, 65362, 65361, 11912, 43410, 11323,
+ 65357, 11800, 65355, 5345, 65353, 65352, 65351, 761, 65349, 19959, 69718,
+ 63856, 0, 2423, 77958, 64647, 77959, 11957, 4699, 0, 0, 0, 0, 64605, 0,
+ 0, 0, 4916, 0, 380, 10958, 66563, 77955, 69773, 9773, 13167, 12918,
+ 41096, 73980, 69245, 78254, 917893, 10684, 0, 917896, 0, 7946, 12541,
+ 8182, 67586, 69780, 0, 0, 0, 0, 9005, 1225, 6630, 0, 0, 0, 0, 8847, 0,
+ 65876, 5535, 8329, 74590, 983047, 92609, 0, 0, 3127, 2595, 65713, 42013,
+ 983593, 5607, 41089, 0, 0, 74256, 2665, 11304, 0, 74200, 4970, 8764,
120459, 8934, 92726, 41566, 4492, 0, 65011, 41090, 0, 0, 1188, 7254,
1100, 0, 128301, 41081, 2912, 11749, 69792, 0, 0, 3572, 10023, 4959,
13079, 0, 0, 9729, 0, 0, 0, 43361, 0, 0, 11803, 7996, 9907, 41450, 13304,
128290, 127260, 41451, 0, 11095, 8273, 127533, 3451, 0, 972, 41453, 0, 0,
- 73883, 92408, 73945, 0, 3455, 19955, 9538, 0, 69807, 0, 0, 0, 0, 11396,
- 0, 11019, 0, 0, 0, 120507, 41078, 0, 261, 5927, 7791, 0, 64446, 0, 10696,
- 0, 6073, 9838, 118920, 0, 6075, 128563, 282, 0, 6437, 74078, 128000,
- 9801, 0, 0, 0, 0, 3474, 118787, 0, 120655, 6081, 0, 127843, 74076, 78879,
- 0, 0, 0, 0, 0, 8751, 11499, 120273, 7816, 12636, 4665, 12628, 4670,
- 92608, 120272, 0, 9642, 10912, 958, 0, 11387, 78878, 4666, 0, 4915, 0,
- 4669, 0, 68099, 13287, 4664, 10836, 120550, 0, 69775, 0, 43595, 7450, 0,
- 917875, 8664, 9697, 3606, 917873, 0, 0, 64815, 1063, 120250, 120251,
- 9772, 7255, 8886, 1389, 127932, 120257, 120258, 120259, 12941, 42661,
- 92381, 120255, 120256, 12301, 120266, 69820, 41102, 66604, 120262,
- 120263, 120264, 1017, 66600, 523, 505, 1447, 74436, 0, 0, 0, 8608, 42789,
- 120613, 128704, 0, 119196, 11307, 66707, 917871, 127751, 11745, 7919, 0,
- 1641, 0, 0, 8966, 0, 0, 5908, 0, 0, 6744, 128355, 1699, 74191, 74843, 0,
- 0, 6306, 10169, 0, 119251, 10068, 3766, 2389, 120456, 120455, 6611, 257,
- 43170, 13153, 0, 42386, 0, 9436, 2599, 0, 6496, 9449, 5930, 11476, 11033,
- 11447, 10541, 5622, 120436, 8477, 3760, 1718, 9442, 66433, 3776, 0,
- 41435, 4352, 0, 2435, 120809, 5621, 120385, 4201, 3778, 4203, 4202, 4205,
- 4204, 120447, 3768, 68142, 765, 41440, 3764, 8473, 6373, 8469, 120438,
- 12947, 4564, 0, 0, 74271, 73753, 8374, 0, 0, 6829, 5225, 128807, 127385,
- 0, 0, 119615, 0, 74793, 5626, 73807, 11771, 0, 127236, 128019, 0, 5353,
- 5625, 74179, 0, 0, 1010, 64572, 41780, 42623, 64277, 0, 6952, 0, 120752,
- 78762, 2590, 5629, 65552, 7551, 10325, 5632, 10471, 120038, 120027,
- 120028, 120025, 5628, 120031, 970, 120029, 4772, 2400, 5627, 120017,
- 120018, 120023, 64275, 120021, 10961, 0, 203, 0, 0, 0, 0, 78350, 0,
- 64378, 42054, 0, 0, 554, 119649, 11358, 0, 12182, 42048, 11065, 127878,
- 73891, 0, 0, 5694, 7689, 69798, 9323, 4325, 3047, 10317, 175, 0, 0,
- 69764, 0, 0, 1243, 42154, 5431, 6652, 0, 69770, 43651, 0, 68118, 128024,
- 1129, 0, 0, 65900, 1986, 7846, 78804, 8661, 917772, 65255, 0, 3845, 4490,
- 118969, 6649, 74400, 1456, 7530, 11977, 7249, 8366, 0, 7756, 12342,
- 128568, 51, 41516, 0, 8570, 9568, 917863, 456, 7026, 8145, 1168, 9251,
- 9082, 119964, 64055, 42781, 3866, 12323, 41512, 73805, 68121, 0, 41494,
- 92316, 4660, 0, 10405, 0, 78803, 0, 0, 42040, 73918, 119627, 7944, 41454,
- 12605, 0, 42205, 41455, 236, 64051, 78867, 8214, 0, 0, 0, 41457, 0,
- 119589, 1969, 2384, 8097, 917864, 0, 127380, 78029, 8766, 0, 78079, 5854,
- 127974, 10583, 0, 119989, 0, 10416, 917869, 3872, 917868, 0, 8429, 0,
- 118806, 2838, 128802, 0, 917866, 0, 0, 0, 0, 0, 11096, 120813, 10553,
- 1662, 8483, 120396, 43605, 5892, 43418, 0, 73742, 66, 65, 68, 67, 70, 69,
- 72, 71, 74, 73, 76, 75, 78, 77, 80, 79, 82, 81, 84, 83, 86, 85, 88, 87,
- 90, 89, 119862, 10357, 7385, 8170, 1704, 8556, 0, 9659, 0, 0, 0, 9556, 0,
- 4503, 11353, 9647, 0, 78185, 0, 0, 92713, 78886, 0, 0, 74229, 66593,
- 6438, 917979, 9109, 78882, 1289, 64599, 0, 0, 0, 65507, 2447, 0, 0,
- 128042, 0, 0, 0, 6334, 0, 0, 19937, 0, 92368, 0, 5675, 254, 0, 0, 69686,
- 42425, 8918, 64003, 5716, 42312, 0, 0, 6972, 42826, 0, 42464, 120567, 0,
- 92645, 74796, 64400, 64693, 0, 77861, 65429, 9515, 4435, 0, 42522, 0, 0,
- 11785, 0, 64671, 41978, 1412, 4594, 1391, 10536, 8067, 9901, 7775,
- 128293, 0, 74588, 120748, 3140, 128854, 7960, 43271, 0, 12518, 10909,
- 127508, 1428, 12472, 0, 128787, 7699, 12393, 0, 0, 0, 74518, 8223, 0,
- 4261, 0, 0, 0, 0, 0, 128302, 0, 128046, 43419, 0, 64554, 10574, 3878, 0,
- 42352, 1752, 73785, 0, 42506, 128541, 10199, 0, 0, 0, 65919, 0, 6695,
- 720, 324, 0, 0, 43406, 0, 1464, 40985, 0, 7974, 0, 43474, 0, 64488, 0, 0,
- 64041, 74787, 0, 78865, 92258, 65597, 0, 78863, 0, 1302, 0, 78861, 0, 0,
- 0, 5204, 74774, 43404, 43396, 0, 3995, 68360, 65608, 3714, 0, 0, 0,
- 10999, 11750, 0, 43251, 68660, 43301, 0, 120557, 8130, 8672, 10845,
- 11964, 0, 0, 0, 0, 68455, 42863, 73839, 0, 0, 0, 0, 0, 0, 468, 612, 0,
- 64401, 66448, 68376, 0, 1674, 0, 5823, 0, 12280, 0, 540, 74564, 119017,
- 0, 8432, 0, 11073, 0, 64316, 0, 0, 820, 41741, 0, 120667, 0, 64684,
- 126992, 3359, 7800, 128644, 65177, 6226, 353, 12396, 0, 119612, 64742,
- 128682, 120282, 0, 0, 12412, 19941, 0, 120277, 78847, 1884, 9481, 42418,
- 0, 41157, 0, 1195, 64898, 7924, 0, 41151, 2010, 0, 41328, 42344, 0,
- 12409, 0, 4360, 127009, 9739, 0, 74392, 73921, 0, 42521, 8539, 0, 0,
- 118986, 0, 4788, 0, 0, 65734, 0, 43790, 0, 13075, 74429, 0, 64569, 43532,
- 10837, 2492, 127197, 118901, 68637, 41136, 43785, 11813, 9649, 41154,
- 119617, 5128, 4038, 41143, 65604, 64859, 41592, 6771, 1648, 5435, 0,
- 6734, 41343, 119848, 65439, 12709, 6986, 92364, 0, 0, 41349, 119123,
+ 73883, 92408, 73945, 983470, 3455, 19955, 9538, 0, 69807, 0, 0, 0, 0,
+ 11396, 0, 11019, 0, 0, 0, 120507, 41078, 0, 261, 5927, 7791, 0, 64446, 0,
+ 10696, 0, 6073, 9838, 118920, 0, 6075, 128563, 282, 0, 6437, 74078,
+ 128000, 9801, 0, 0, 0, 0, 3474, 118787, 0, 120655, 6081, 0, 127843,
+ 74076, 78879, 0, 0, 0, 0, 0, 8751, 11499, 120273, 7816, 12636, 4665,
+ 12628, 4670, 92608, 120272, 0, 9642, 10912, 958, 0, 11387, 78878, 4666,
+ 0, 4915, 0, 4669, 0, 68099, 13287, 4664, 10836, 120550, 0, 69775, 0,
+ 43595, 7450, 0, 917875, 8664, 9697, 3606, 917873, 0, 0, 64815, 1063,
+ 120250, 120251, 9772, 7255, 8886, 1389, 127932, 120257, 120258, 120259,
+ 12941, 42661, 92381, 120255, 120256, 12301, 120266, 69820, 41102, 66604,
+ 120262, 120263, 120264, 1017, 66600, 523, 505, 1447, 74436, 0, 0, 0,
+ 8608, 42789, 120613, 128704, 0, 119196, 11307, 66707, 917871, 127751,
+ 11745, 7919, 0, 1641, 0, 0, 8966, 0, 0, 5908, 0, 0, 6744, 128355, 1699,
+ 74191, 74843, 0, 0, 6306, 10169, 983046, 119251, 10068, 3766, 2389,
+ 120456, 120455, 6611, 257, 43170, 13153, 0, 42386, 0, 9436, 2599, 0,
+ 6496, 9449, 5930, 11476, 11033, 11447, 10541, 5622, 120436, 8477, 3760,
+ 1718, 9442, 66433, 3776, 0, 41435, 4352, 983354, 2435, 120809, 5621,
+ 120385, 4201, 3778, 4203, 4202, 4205, 4204, 120447, 3768, 68142, 765,
+ 41440, 3764, 8473, 6373, 8469, 120438, 12947, 4564, 0, 0, 74271, 73753,
+ 8374, 0, 0, 6829, 5225, 128807, 127385, 0, 0, 119615, 0, 74793, 5626,
+ 73807, 11771, 0, 127236, 128019, 0, 5353, 5625, 74179, 0, 0, 1010, 64572,
+ 41780, 42623, 64277, 0, 6952, 0, 120752, 78762, 2590, 5629, 65552, 7551,
+ 10325, 5632, 10471, 120038, 120027, 120028, 120025, 5628, 120031, 970,
+ 120029, 4772, 2400, 5627, 120017, 120018, 120023, 64275, 120021, 10961,
+ 0, 203, 0, 0, 0, 0, 78350, 0, 64378, 42054, 0, 0, 554, 119649, 11358, 0,
+ 12182, 42048, 11065, 127878, 73891, 0, 0, 5694, 7689, 69798, 9323, 4325,
+ 3047, 10317, 175, 0, 0, 69764, 0, 0, 1243, 42154, 5431, 6652, 0, 69770,
+ 43651, 0, 68118, 128024, 1129, 0, 0, 65900, 1986, 7846, 78804, 8661,
+ 917772, 65255, 0, 3845, 4490, 118969, 6649, 74400, 1456, 7530, 11977,
+ 7249, 8366, 0, 7756, 12342, 128568, 51, 41516, 0, 8570, 9568, 917863,
+ 456, 7026, 8145, 1168, 9251, 9082, 119964, 64055, 42781, 3866, 12323,
+ 41512, 73805, 68121, 0, 41494, 92316, 4660, 0, 10405, 0, 78803, 0, 0,
+ 42040, 73918, 119627, 7944, 41454, 12605, 0, 42205, 41455, 236, 64051,
+ 78867, 8214, 0, 0, 0, 41457, 983702, 119589, 1969, 2384, 8097, 917864, 0,
+ 127380, 78029, 8766, 0, 78079, 5854, 127974, 10583, 0, 119989, 0, 10416,
+ 917869, 3872, 917868, 0, 8429, 0, 118806, 2838, 128802, 0, 917866, 0, 0,
+ 0, 0, 0, 11096, 120813, 10553, 1662, 8483, 120396, 43605, 5892, 43418, 0,
+ 73742, 66, 65, 68, 67, 70, 69, 72, 71, 74, 73, 76, 75, 78, 77, 80, 79,
+ 82, 81, 84, 83, 86, 85, 88, 87, 90, 89, 119862, 10357, 7385, 8170, 1704,
+ 8556, 0, 9659, 0, 0, 0, 9556, 0, 4503, 11353, 9647, 0, 78185, 0, 0,
+ 92713, 78886, 0, 0, 74229, 66593, 6438, 917979, 9109, 78882, 1289, 64599,
+ 0, 0, 0, 65507, 2447, 0, 0, 128042, 0, 0, 0, 6334, 0, 0, 19937, 0, 92368,
+ 0, 5675, 254, 0, 0, 69686, 42425, 8918, 64003, 5716, 42312, 0, 0, 6972,
+ 42826, 0, 42464, 120567, 0, 92645, 74796, 64400, 64693, 0, 77861, 65429,
+ 9515, 4435, 0, 42522, 0, 0, 11785, 0, 64671, 41978, 1412, 4594, 1391,
+ 10536, 8067, 9901, 7775, 128293, 0, 74588, 120748, 3140, 128854, 7960,
+ 43271, 0, 12518, 10909, 127508, 1428, 12472, 0, 128787, 7699, 12393, 0,
+ 0, 0, 74518, 8223, 0, 4261, 0, 0, 0, 0, 0, 128302, 0, 128046, 43419, 0,
+ 64554, 10574, 3878, 0, 42352, 1752, 73785, 0, 42506, 128541, 10199, 0, 0,
+ 0, 65919, 0, 6695, 720, 324, 0, 0, 43406, 0, 1464, 40985, 0, 7974, 0,
+ 43474, 0, 64488, 0, 0, 64041, 74787, 0, 78865, 92258, 65597, 0, 78863, 0,
+ 1302, 0, 78861, 0, 0, 0, 5204, 74774, 43404, 43396, 0, 3995, 68360,
+ 65608, 3714, 0, 0, 0, 10999, 11750, 0, 43251, 68660, 43301, 0, 120557,
+ 8130, 8672, 10845, 11964, 0, 0, 0, 0, 68455, 42863, 73839, 0, 0, 0, 0, 0,
+ 0, 468, 612, 0, 64401, 66448, 68376, 0, 1674, 0, 5823, 0, 12280, 0, 540,
+ 74564, 119017, 0, 8432, 0, 11073, 0, 64316, 0, 0, 820, 41741, 0, 120667,
+ 0, 64684, 126992, 3359, 7800, 128644, 65177, 6226, 353, 12396, 0, 119612,
+ 64742, 128682, 120282, 0, 0, 12412, 19941, 0, 120277, 78847, 1884, 9481,
+ 42418, 0, 41157, 0, 1195, 64898, 7924, 0, 41151, 2010, 0, 41328, 42344,
+ 0, 12409, 0, 4360, 127009, 9739, 0, 74392, 73921, 0, 42521, 8539, 983460,
+ 0, 118986, 0, 4788, 0, 0, 65734, 0, 43790, 0, 13075, 74429, 0, 64569,
+ 43532, 10837, 2492, 127197, 118901, 68637, 41136, 43785, 11813, 9649,
+ 41154, 119617, 5128, 4038, 41143, 65604, 64859, 41592, 6771, 1648, 5435,
+ 0, 6734, 41343, 119848, 65439, 12709, 6986, 92364, 0, 0, 41349, 119123,
12581, 10374, 5175, 0, 73806, 10254, 0, 10278, 10262, 77950, 41346, 0,
607, 0, 119853, 128846, 12923, 10314, 10282, 65477, 10378, 120297, 40976,
- 8265, 0, 119834, 40975, 5840, 42838, 0, 40978, 0, 119840, 0, 0, 0, 66444,
- 10538, 0, 2550, 119836, 6779, 0, 0, 3525, 6824, 118886, 0, 0, 5619,
- 65822, 0, 194882, 7455, 0, 5616, 11486, 9656, 0, 0, 10727, 5615, 0,
+ 8265, 0, 119834, 40975, 5840, 42838, 0, 40978, 983632, 119840, 0, 0, 0,
+ 66444, 10538, 0, 2550, 119836, 6779, 0, 0, 3525, 6824, 118886, 0, 0,
+ 5619, 65822, 0, 194882, 7455, 0, 5616, 11486, 9656, 0, 0, 10727, 5615, 0,
120551, 42380, 64895, 43693, 66451, 808, 5455, 11347, 0, 1026, 5620,
194887, 0, 11350, 5617, 0, 9225, 64639, 127073, 9145, 128060, 1338,
120581, 0, 12739, 4603, 3084, 0, 92484, 9858, 6037, 0, 3974, 78213,
@@ -17259,126 +17486,128 @@ static unsigned int code_hash[] = {
917624, 43740, 0, 40966, 917623, 13286, 3998, 42598, 42596, 503, 74237,
8735, 2690, 66488, 42836, 127150, 41954, 917617, 1652, 772, 6688, 8310,
65428, 3487, 43416, 3585, 10194, 43320, 119159, 128183, 194874, 6468,
- 41976, 9720, 917606, 11767, 41970, 0, 5836, 12358, 0, 4355, 9048, 12180,
- 65027, 64680, 13038, 43699, 0, 41488, 128087, 8527, 194917, 12362, 12435,
- 12360, 41053, 3266, 0, 12356, 8616, 41466, 0, 92588, 11450, 0, 3638,
- 12354, 0, 3216, 0, 2358, 92606, 8633, 0, 0, 119182, 69244, 0, 0, 11759,
- 194903, 6368, 74823, 0, 41423, 8078, 10504, 0, 41698, 42237, 0, 7002, 0,
- 41430, 42267, 41051, 41484, 0, 0, 41050, 41473, 10466, 13099, 0, 0, 0,
- 6435, 0, 11362, 0, 0, 65382, 0, 41420, 0, 3625, 78157, 41409, 0, 69639,
- 2041, 9178, 9672, 41427, 43541, 43317, 0, 0, 0, 41424, 917598, 120546, 0,
- 128212, 0, 41417, 1261, 0, 0, 12102, 119662, 41401, 0, 127538, 0, 78251,
- 0, 42290, 3275, 92472, 42329, 74759, 0, 0, 0, 92388, 69649, 10989, 74234,
- 0, 10598, 7410, 2669, 903, 0, 2920, 0, 127232, 74603, 64504, 19928, 0, 0,
- 3917, 0, 11732, 0, 0, 41448, 41461, 128823, 0, 127912, 0, 8819, 12663, 0,
- 41184, 74014, 232, 74835, 120646, 9168, 65786, 0, 0, 0, 9094, 0, 11758,
- 68425, 0, 1064, 42467, 128044, 10115, 19924, 92711, 0, 7862, 64551,
- 13224, 8516, 41862, 66650, 7561, 78618, 69793, 1878, 0, 0, 2911, 0,
- 41178, 5427, 64823, 0, 0, 3787, 41174, 0, 41458, 0, 41463, 42413, 11292,
- 2406, 775, 0, 65584, 0, 6074, 9618, 128668, 0, 43440, 0, 194901, 41436,
- 3656, 0, 194899, 41456, 0, 1599, 11333, 0, 6703, 8513, 0, 1613, 0, 68456,
- 12598, 0, 120734, 78745, 74500, 41460, 10145, 10542, 9937, 78746, 0,
- 9905, 0, 65730, 0, 120374, 8427, 120375, 55246, 120376, 0, 11497, 64687,
- 74008, 42592, 3871, 0, 128305, 9111, 5741, 0, 194846, 120366, 119111,
- 120745, 0, 120368, 0, 11648, 0, 194873, 120364, 41587, 120365, 0, 74322,
- 42113, 0, 127155, 12172, 0, 74530, 65298, 65723, 194840, 73871, 65724,
- 7928, 120354, 0, 41595, 73730, 0, 42118, 73830, 66042, 10355, 0, 7875, 0,
- 41598, 3993, 0, 1545, 40971, 536, 128521, 43029, 0, 0, 65173, 65286, 0,
- 0, 0, 0, 0, 0, 41375, 5402, 0, 0, 1687, 120503, 0, 0, 78194, 64326,
- 40969, 10526, 78753, 8323, 40968, 1339, 11731, 78756, 0, 65460, 12242,
- 128513, 8020, 10843, 11554, 0, 0, 8266, 41006, 65722, 0, 10710, 0,
- 118942, 67667, 64567, 119155, 195091, 0, 119636, 67857, 120687, 0, 0,
- 11755, 66305, 0, 0, 10917, 120767, 0, 11272, 2040, 41247, 41326, 195060,
- 1741, 42370, 1227, 0, 0, 11413, 0, 0, 5283, 1586, 4978, 0, 1984, 194621,
- 0, 92293, 40984, 128306, 9373, 0, 12916, 6284, 0, 41663, 0, 0, 0, 9237,
- 9385, 41648, 0, 0, 0, 41666, 1830, 73783, 2056, 41287, 92610, 0, 0,
- 42219, 128257, 0, 41987, 41676, 0, 120823, 0, 41670, 0, 92590, 2796,
- 55291, 11683, 9902, 74521, 0, 11451, 0, 128822, 42631, 2359, 0, 67844,
- 74164, 41238, 548, 11405, 13133, 64368, 0, 128795, 0, 397, 43622, 42139,
- 9547, 9590, 128238, 1614, 43661, 64356, 66307, 6651, 1358, 0, 428, 9620,
- 1466, 78112, 10982, 118831, 1333, 7104, 407, 6425, 128834, 74253, 0, 0,
- 0, 5804, 11976, 8554, 92721, 0, 0, 9057, 42294, 41218, 0, 0, 78137, 1883,
- 10952, 8048, 78142, 41225, 92621, 42915, 0, 128684, 0, 4407, 0, 65809,
- 119074, 194821, 8448, 7141, 74183, 0, 12675, 12659, 0, 42363, 120624,
- 194824, 55273, 10766, 12012, 2386, 64732, 9170, 917821, 9123, 64585,
- 120500, 0, 7140, 10977, 127378, 4164, 9081, 0, 120569, 42049, 42042,
- 8709, 128283, 0, 120637, 42419, 64799, 42047, 0, 0, 8470, 11807, 65897,
- 577, 0, 0, 74300, 0, 127308, 74840, 0, 0, 128791, 92224, 8736, 1414,
- 42643, 9683, 43486, 74344, 0, 2536, 0, 66330, 0, 0, 0, 0, 0, 0, 0, 66317,
- 917612, 66315, 2106, 120222, 11273, 0, 43004, 7541, 0, 0, 961, 64307,
- 66324, 64906, 128591, 3106, 65917, 41284, 1696, 0, 891, 12105, 0, 42624,
- 12802, 3264, 8824, 13268, 43003, 10936, 0, 0, 0, 194826, 92688, 0, 2322,
- 120371, 0, 11449, 128187, 42868, 41285, 3547, 0, 0, 0, 0, 43216, 6089,
- 78682, 0, 120578, 4170, 1029, 127761, 127036, 119224, 42374, 0, 744, 0,
- 0, 0, 65823, 127826, 0, 3551, 0, 0, 4623, 55268, 0, 4598, 0, 65136,
- 127136, 0, 0, 10851, 0, 6179, 92602, 6180, 0, 11952, 120778, 78648,
- 11972, 78646, 78647, 78644, 78645, 177, 78643, 6176, 120580, 0, 0, 6177,
- 9020, 78652, 78653, 6178, 120249, 120242, 128027, 67673, 7518, 8754, 0,
- 120237, 2137, 43081, 0, 0, 9136, 120240, 4401, 41280, 0, 8974, 2308, 0,
- 74149, 0, 2318, 0, 66361, 8198, 0, 64360, 12601, 42536, 65266, 120827,
- 74307, 0, 6970, 5404, 43332, 3667, 7936, 12925, 126989, 6385, 0, 0,
- 118949, 10874, 65505, 128083, 0, 42053, 2075, 42057, 11083, 42052, 0, 0,
- 67651, 0, 9665, 92300, 0, 13181, 0, 0, 0, 0, 74148, 0, 0, 120225, 120229,
- 120224, 74172, 41145, 0, 0, 0, 41148, 8683, 7594, 127519, 0, 119090,
- 10869, 43458, 41146, 92407, 11441, 0, 3512, 119633, 0, 8103, 0, 0, 65184,
- 11780, 41563, 42796, 0, 69742, 41544, 65146, 0, 0, 0, 0, 19942, 0,
- 118908, 7988, 10436, 74273, 3271, 73804, 64711, 0, 0, 0, 0, 3804, 13070,
- 11557, 42044, 0, 1095, 0, 3599, 127774, 0, 128861, 8514, 0, 0, 0, 74346,
- 66697, 0, 11684, 0, 92486, 0, 0, 42043, 43232, 66677, 0, 42046, 78241,
- 4036, 0, 0, 128213, 194861, 0, 11954, 0, 1450, 12986, 1340, 0, 65441,
- 92722, 0, 0, 127772, 0, 917542, 0, 0, 6539, 0, 0, 0, 194856, 0, 120492,
- 41190, 3973, 119365, 4575, 41193, 7982, 429, 0, 127194, 0, 194854, 65792,
- 0, 118968, 6417, 118918, 78178, 0, 194850, 0, 0, 4919, 10590, 0, 7755, 0,
- 0, 64548, 120506, 1621, 10214, 65126, 0, 127004, 0, 12188, 0, 1617, 8050,
- 0, 5015, 0, 119174, 42590, 194871, 1756, 78181, 0, 65768, 6352, 41892, 0,
+ 41976, 9720, 917606, 11767, 41970, 983318, 5836, 12358, 0, 4355, 9048,
+ 12180, 65027, 64680, 13038, 43699, 0, 41488, 128087, 8527, 194917, 12362,
+ 12435, 12360, 41053, 3266, 0, 12356, 8616, 41466, 0, 92588, 11450, 0,
+ 3638, 12354, 0, 3216, 0, 2358, 92606, 8633, 0, 983480, 119182, 69244, 0,
+ 0, 11759, 194903, 6368, 74823, 0, 41423, 8078, 10504, 0, 41698, 42237, 0,
+ 7002, 983413, 41430, 42267, 41051, 41484, 0, 0, 41050, 41473, 10466,
+ 13099, 0, 0, 0, 6435, 0, 11362, 0, 0, 65382, 0, 41420, 0, 3625, 78157,
+ 41409, 0, 69639, 2041, 9178, 9672, 41427, 43541, 43317, 0, 0, 0, 41424,
+ 917598, 120546, 0, 128212, 0, 41417, 1261, 0, 0, 12102, 119662, 41401, 0,
+ 127538, 0, 78251, 0, 42290, 3275, 92472, 42329, 74759, 0, 0, 0, 92388,
+ 69649, 10989, 74234, 0, 10598, 7410, 2669, 903, 0, 2920, 0, 127232,
+ 74603, 64504, 19928, 0, 0, 3917, 0, 11732, 0, 983496, 41448, 41461,
+ 128823, 0, 127912, 0, 8819, 12663, 0, 41184, 74014, 232, 74835, 120646,
+ 9168, 65786, 0, 0, 0, 9094, 0, 11758, 68425, 0, 1064, 42467, 128044,
+ 10115, 19924, 92711, 0, 7862, 64551, 13224, 8516, 41862, 66650, 7561,
+ 78618, 69793, 1878, 0, 0, 2911, 0, 41178, 5427, 64823, 0, 0, 3787, 41174,
+ 0, 41458, 0, 41463, 42413, 11292, 2406, 775, 0, 65584, 0, 6074, 9618,
+ 128668, 983684, 43440, 0, 194901, 41436, 3656, 0, 194899, 41456, 0, 1599,
+ 11333, 0, 6703, 8513, 0, 1613, 0, 68456, 12598, 0, 120734, 78745, 74500,
+ 41460, 10145, 10542, 9937, 78746, 0, 9905, 0, 65730, 0, 120374, 8427,
+ 120375, 55246, 120376, 0, 11497, 64687, 74008, 42592, 3871, 0, 128305,
+ 9111, 5741, 0, 194846, 120366, 119111, 120745, 0, 120368, 0, 11648, 0,
+ 194873, 120364, 41587, 120365, 0, 74322, 42113, 0, 127155, 12172, 0,
+ 74530, 65298, 65723, 194840, 73871, 65724, 7928, 120354, 0, 41595, 73730,
+ 0, 42118, 73830, 66042, 10355, 0, 7875, 0, 41598, 3993, 0, 1545, 40971,
+ 536, 128521, 43029, 0, 0, 65173, 65286, 0, 0, 0, 0, 0, 0, 41375, 5402, 0,
+ 0, 1687, 120503, 0, 0, 78194, 64326, 40969, 10526, 78753, 8323, 40968,
+ 1339, 11731, 78756, 0, 65460, 12242, 128513, 8020, 10843, 11554, 0, 0,
+ 8266, 41006, 65722, 0, 10710, 0, 118942, 67667, 64567, 119155, 195091, 0,
+ 119636, 67857, 120687, 0, 0, 11755, 66305, 0, 0, 10917, 120767, 0, 11272,
+ 2040, 41247, 41326, 195060, 1741, 42370, 1227, 0, 0, 11413, 0, 0, 5283,
+ 1586, 4978, 0, 1984, 194621, 0, 92293, 40984, 128306, 9373, 0, 12916,
+ 6284, 0, 41663, 0, 0, 0, 9237, 9385, 41648, 0, 0, 0, 41666, 1830, 73783,
+ 2056, 41287, 92610, 0, 0, 42219, 128257, 0, 41987, 41676, 0, 120823, 0,
+ 41670, 0, 92590, 2796, 55291, 11683, 9902, 74521, 0, 11451, 0, 128822,
+ 42631, 2359, 0, 67844, 74164, 41238, 548, 11405, 13133, 64368, 0, 128795,
+ 0, 397, 43622, 42139, 9547, 9590, 128238, 1614, 43661, 64356, 66307,
+ 6651, 1358, 0, 428, 9620, 1466, 78112, 10982, 118831, 1333, 7104, 407,
+ 6425, 128834, 74253, 0, 0, 0, 5804, 11976, 8554, 92721, 0, 0, 9057,
+ 42294, 41218, 0, 0, 78137, 1883, 10952, 8048, 78142, 41225, 92621, 42915,
+ 983411, 128684, 0, 4407, 0, 65809, 119074, 194821, 8448, 7141, 74183, 0,
+ 12675, 12659, 0, 42363, 120624, 194824, 55273, 10766, 12012, 2386, 64732,
+ 9170, 917821, 9123, 64585, 120500, 983401, 7140, 10977, 127378, 4164,
+ 9081, 0, 120569, 42049, 42042, 8709, 128283, 983317, 120637, 42419,
+ 64799, 42047, 0, 0, 8470, 11807, 65897, 577, 0, 983495, 74300, 0, 127308,
+ 74840, 0, 0, 128791, 92224, 8736, 1414, 42643, 9683, 43486, 74344, 0,
+ 2536, 0, 66330, 0, 0, 0, 0, 0, 0, 0, 66317, 917612, 66315, 2106, 120222,
+ 11273, 0, 43004, 7541, 0, 0, 961, 64307, 66324, 64906, 128591, 3106,
+ 65917, 41284, 1696, 0, 891, 12105, 0, 42624, 12802, 3264, 8824, 13268,
+ 43003, 10936, 0, 0, 0, 194826, 92688, 0, 2322, 120371, 983328, 11449,
+ 128187, 42868, 41285, 3547, 0, 0, 0, 0, 43216, 6089, 78682, 0, 120578,
+ 4170, 1029, 127761, 127036, 119224, 42374, 0, 744, 0, 0, 0, 65823,
+ 127826, 0, 3551, 0, 0, 4623, 55268, 0, 4598, 0, 65136, 127136, 0, 0,
+ 10851, 0, 6179, 92602, 6180, 0, 11952, 120778, 78648, 11972, 78646,
+ 78647, 78644, 78645, 177, 78643, 6176, 120580, 0, 0, 6177, 9020, 78652,
+ 78653, 6178, 120249, 120242, 128027, 67673, 7518, 8754, 0, 120237, 2137,
+ 43081, 0, 0, 9136, 120240, 4401, 41280, 0, 8974, 2308, 0, 74149, 0, 2318,
+ 0, 66361, 8198, 0, 64360, 12601, 42536, 65266, 120827, 74307, 0, 6970,
+ 5404, 43332, 3667, 7936, 12925, 126989, 6385, 0, 0, 118949, 10874, 65505,
+ 128083, 0, 42053, 2075, 42057, 11083, 42052, 0, 0, 67651, 0, 9665, 92300,
+ 0, 13181, 0, 0, 0, 0, 74148, 0, 0, 120225, 120229, 120224, 74172, 41145,
+ 0, 0, 983678, 41148, 8683, 7594, 127519, 0, 119090, 10869, 43458, 41146,
+ 92407, 11441, 0, 3512, 119633, 983444, 8103, 0, 0, 65184, 11780, 41563,
+ 42796, 0, 69742, 41544, 65146, 0, 0, 0, 0, 19942, 0, 118908, 7988, 10436,
+ 74273, 3271, 73804, 64711, 0, 0, 0, 0, 3804, 13070, 11557, 42044, 0,
+ 1095, 0, 3599, 127774, 0, 128861, 8514, 0, 0, 0, 74346, 66697, 0, 11684,
+ 0, 92486, 0, 0, 42043, 43232, 66677, 0, 42046, 78241, 4036, 0, 0, 128213,
+ 194861, 0, 11954, 0, 1450, 12986, 1340, 0, 65441, 92722, 0, 0, 127772, 0,
+ 917542, 0, 0, 6539, 0, 0, 0, 194856, 0, 120492, 41190, 3973, 119365,
+ 4575, 41193, 7982, 429, 0, 127194, 0, 194854, 65792, 0, 118968, 6417,
+ 118918, 78178, 0, 194850, 0, 0, 4919, 10590, 0, 7755, 0, 0, 64548,
+ 120506, 1621, 10214, 65126, 0, 127004, 0, 12188, 983403, 1617, 8050, 0,
+ 5015, 0, 119174, 42590, 194871, 1756, 78181, 0, 65768, 6352, 41892, 0,
7555, 13103, 5408, 2817, 1214, 0, 92335, 0, 0, 0, 0, 127195, 7957, 8689,
- 64723, 1056, 42896, 74147, 194813, 0, 55286, 7073, 65850, 12327, 0,
+ 64723, 1056, 42896, 74147, 194813, 0, 55286, 7073, 65850, 12327, 983680,
119028, 0, 0, 0, 2341, 8450, 8484, 8474, 0, 0, 0, 8461, 128102, 12153,
12799, 0, 43709, 43708, 9451, 7571, 13073, 0, 0, 681, 0, 703, 0, 3272,
8781, 12894, 0, 11709, 92288, 74446, 0, 92532, 0, 11338, 120768, 3276, 0,
0, 65928, 0, 0, 65021, 64795, 74574, 0, 10047, 78814, 3262, 78811, 42711,
0, 0, 68478, 163, 576, 9895, 1655, 78817, 74591, 78815, 78816, 0, 0, 0,
- 0, 10039, 0, 0, 5623, 5717, 5776, 0, 0, 0, 41591, 11036, 65252, 92382, 0,
- 0, 0, 67848, 0, 0, 0, 8887, 0, 7295, 11031, 0, 43157, 0, 8946, 10348,
- 10412, 8755, 0, 0, 5718, 13221, 0, 0, 78135, 0, 0, 8810, 74499, 686, 0,
- 0, 4619, 118954, 6654, 73769, 74426, 0, 12040, 65689, 10128, 65118, 0,
- 119151, 74205, 92651, 0, 2401, 68144, 8792, 0, 0, 65455, 0, 92246, 0,
- 119129, 0, 12886, 127920, 66624, 0, 43557, 10300, 10161, 10396, 74135, 0,
- 118945, 78118, 73851, 3010, 6441, 78122, 1458, 41475, 128672, 0, 0,
- 11479, 0, 0, 6350, 12864, 69674, 78114, 1061, 64780, 2001, 43111, 55230,
- 128686, 4052, 0, 7626, 0, 0, 1045, 0, 5631, 41113, 0, 0, 43707, 74127, 0,
- 0, 8486, 0, 73758, 2335, 4362, 0, 0, 69221, 1025, 0, 42625, 917627,
- 78084, 41443, 0, 128206, 0, 1774, 1523, 0, 0, 41445, 78236, 0, 8567,
- 41442, 3988, 0, 78237, 118910, 0, 65274, 8564, 78199, 78238, 127515, 0,
- 0, 43446, 0, 66513, 6256, 0, 579, 55218, 10206, 0, 6375, 2673, 0, 11814,
- 0, 4488, 0, 127336, 68451, 10444, 118846, 127334, 11799, 74407, 68466,
- 4487, 127849, 42832, 1032, 120267, 43450, 78257, 7203, 0, 614, 78191,
- 127325, 120615, 0, 78262, 128669, 127323, 0, 43121, 0, 0, 92513, 1050,
- 7549, 0, 0, 9314, 0, 0, 120616, 0, 10057, 0, 127313, 0, 66504, 0, 0,
- 2307, 0, 64333, 127312, 128547, 73873, 0, 0, 0, 127973, 128708, 0, 10360,
- 6746, 0, 92245, 440, 0, 13085, 9233, 74216, 0, 0, 9957, 0, 66447, 8046,
- 64963, 65777, 10125, 74212, 42819, 10910, 0, 1521, 9896, 0, 10487, 0,
- 12527, 0, 7970, 0, 128660, 0, 65769, 5243, 9849, 5239, 65771, 0, 0, 5237,
- 69714, 0, 10103, 5247, 4769, 0, 118977, 12873, 5764, 0, 0, 3008, 4896, 0,
- 12087, 0, 55231, 41103, 0, 64565, 4773, 0, 92717, 0, 4770, 0, 917567,
- 8731, 65378, 127362, 120619, 9122, 128033, 0, 4774, 3019, 9997, 12834, 0,
- 9456, 10215, 120547, 0, 0, 0, 0, 74776, 4281, 4768, 0, 41535, 4099, 9017,
- 0, 0, 78095, 0, 78096, 0, 0, 0, 78098, 0, 42814, 880, 0, 0, 128021, 2134,
- 0, 10116, 9877, 92329, 0, 0, 7095, 0, 74116, 6778, 0, 78090, 8243, 2427,
- 128141, 7093, 0, 11585, 195003, 9962, 0, 12223, 0, 0, 1434, 120254, 5637,
- 11573, 0, 0, 0, 19951, 0, 78121, 0, 0, 55283, 0, 0, 74437, 1156, 8740,
- 92415, 3782, 64331, 0, 41370, 1014, 8261, 0, 0, 10835, 0, 65536, 0,
- 120463, 0, 7702, 118824, 0, 43010, 65779, 65783, 1150, 10547, 5700, 0,
- 120603, 65383, 2339, 42594, 5697, 118788, 0, 128576, 0, 42257, 5696,
- 92677, 120465, 3862, 9643, 0, 0, 7634, 65167, 9845, 0, 0, 5701, 9722,
- 41490, 0, 1426, 68217, 0, 68447, 42204, 55270, 8571, 194991, 78067, 0,
- 78818, 92719, 43182, 12184, 0, 42022, 0, 10281, 0, 5650, 43194, 64712,
- 10744, 0, 990, 5647, 0, 7387, 78734, 41114, 11477, 5646, 12879, 11018, 0,
- 3945, 92589, 0, 0, 0, 0, 78212, 127746, 1020, 73763, 0, 78731, 5648,
- 64748, 194910, 0, 10205, 3545, 0, 6984, 0, 74051, 0, 43242, 120458, 2667,
- 0, 0, 0, 9911, 0, 65020, 10097, 119166, 127145, 0, 118836, 0, 78427,
- 1140, 78426, 0, 10159, 0, 0, 8128, 0, 0, 917965, 1815, 19910, 890, 0,
- 3267, 92291, 0, 10123, 0, 4410, 1041, 10576, 6354, 92581, 580, 74232, 0,
+ 0, 10039, 0, 983677, 5623, 5717, 5776, 0, 0, 0, 41591, 11036, 65252,
+ 92382, 0, 0, 0, 67848, 0, 0, 0, 8887, 0, 7295, 11031, 0, 43157, 0, 8946,
+ 10348, 10412, 8755, 0, 0, 5718, 13221, 0, 0, 78135, 0, 0, 8810, 74499,
+ 686, 0, 0, 4619, 118954, 6654, 73769, 74426, 0, 12040, 65689, 10128,
+ 65118, 0, 119151, 74205, 92651, 0, 2401, 68144, 8792, 983383, 0, 65455,
+ 0, 92246, 0, 119129, 0, 12886, 127920, 66624, 0, 43557, 10300, 10161,
+ 10396, 74135, 0, 118945, 78118, 73851, 3010, 6441, 78122, 1458, 41475,
+ 128672, 0, 0, 11479, 0, 0, 6350, 12864, 69674, 78114, 1061, 64780, 2001,
+ 43111, 55230, 128686, 4052, 0, 7626, 0, 0, 1045, 0, 5631, 41113, 0, 0,
+ 43707, 74127, 0, 0, 8486, 0, 73758, 2335, 4362, 0, 0, 69221, 1025, 0,
+ 42625, 917627, 78084, 41443, 0, 128206, 0, 1774, 1523, 0, 0, 41445,
+ 78236, 0, 8567, 41442, 3988, 0, 78237, 118910, 0, 65274, 8564, 78199,
+ 78238, 127515, 0, 0, 43446, 0, 66513, 6256, 0, 579, 55218, 10206, 0,
+ 6375, 2673, 0, 11814, 0, 4488, 0, 127336, 68451, 10444, 118846, 127334,
+ 11799, 74407, 68466, 4487, 127849, 42832, 1032, 120267, 43450, 78257,
+ 7203, 0, 614, 78191, 127325, 120615, 0, 78262, 128669, 127323, 0, 43121,
+ 0, 0, 92513, 1050, 7549, 0, 0, 9314, 0, 0, 120616, 0, 10057, 0, 127313,
+ 0, 66504, 0, 0, 2307, 0, 64333, 127312, 128547, 73873, 0, 0, 0, 127973,
+ 128708, 0, 10360, 6746, 0, 92245, 440, 0, 13085, 9233, 74216, 0, 0, 9957,
+ 0, 66447, 8046, 64963, 65777, 10125, 74212, 42819, 10910, 0, 1521, 9896,
+ 0, 10487, 0, 12527, 0, 7970, 0, 128660, 0, 65769, 5243, 9849, 5239,
+ 65771, 0, 0, 5237, 69714, 0, 10103, 5247, 4769, 0, 118977, 12873, 5764,
+ 0, 0, 3008, 4896, 0, 12087, 0, 55231, 41103, 0, 64565, 4773, 0, 92717,
+ 983653, 4770, 0, 917567, 8731, 65378, 127362, 120619, 9122, 128033,
+ 983325, 4774, 3019, 9997, 12834, 0, 9456, 10215, 120547, 0, 0, 0, 0,
+ 74776, 4281, 4768, 0, 41535, 4099, 9017, 0, 0, 78095, 0, 78096, 0, 0, 0,
+ 78098, 0, 42814, 880, 0, 0, 128021, 2134, 0, 10116, 9877, 92329, 0, 0,
+ 7095, 0, 74116, 6778, 0, 78090, 8243, 2427, 128141, 7093, 0, 11585,
+ 195003, 9962, 0, 12223, 0, 0, 1434, 120254, 5637, 11573, 0, 0, 0, 19951,
+ 0, 78121, 0, 0, 55283, 0, 0, 74437, 1156, 8740, 92415, 3782, 64331, 0,
+ 41370, 1014, 8261, 0, 0, 10835, 0, 65536, 0, 120463, 0, 7702, 118824, 0,
+ 43010, 65779, 65783, 1150, 10547, 5700, 0, 120603, 65383, 2339, 42594,
+ 5697, 118788, 0, 128576, 0, 42257, 5696, 92677, 120465, 3862, 9643, 0, 0,
+ 7634, 65167, 9845, 0, 0, 5701, 9722, 41490, 0, 1426, 68217, 0, 68447,
+ 42204, 55270, 8571, 194991, 78067, 0, 78818, 92719, 43182, 12184, 0,
+ 42022, 0, 10281, 0, 5650, 43194, 64712, 10744, 0, 990, 5647, 0, 7387,
+ 78734, 41114, 11477, 5646, 12879, 11018, 983662, 3945, 92589, 0, 0, 0, 0,
+ 78212, 127746, 1020, 73763, 0, 78731, 5648, 64748, 194910, 0, 10205,
+ 3545, 983329, 6984, 0, 74051, 983390, 43242, 120458, 2667, 0, 0, 0, 9911,
+ 0, 65020, 10097, 119166, 127145, 983397, 118836, 983483, 78427, 1140,
+ 78426, 0, 10159, 0, 0, 8128, 0, 0, 917965, 1815, 19910, 890, 0, 3267,
+ 92291, 0, 10123, 0, 4410, 1041, 10576, 6354, 92581, 580, 74232, 0,
128347, 0, 0, 0, 19938, 65906, 127819, 0, 0, 3298, 5375, 10142, 0, 8215,
0, 6134, 41246, 64402, 0, 128215, 0, 0, 0, 41382, 0, 128653, 5173, 65348,
527, 0, 0, 92612, 128250, 78797, 11915, 0, 0, 10072, 0, 42695, 2329,
@@ -17393,7 +17622,7 @@ static unsigned int code_hash[] = {
9090, 65377, 41596, 0, 42920, 1698, 0, 64477, 0, 43813, 1053, 0, 78269,
0, 0, 1052, 1051, 459, 1060, 74349, 66479, 0, 0, 0, 0, 42490, 689, 6508,
4163, 42298, 8639, 66641, 4246, 0, 0, 12130, 0, 42337, 64596, 64375,
- 66481, 127850, 0, 0, 6359, 0, 43471, 0, 0, 0, 127274, 0, 6358, 6361,
+ 66481, 127850, 0, 0, 6359, 0, 43471, 983503, 0, 0, 127274, 0, 6358, 6361,
1926, 6356, 92627, 7898, 8110, 10935, 0, 10069, 5830, 0, 43685, 0, 0, 0,
0, 8693, 78611, 119565, 0, 120413, 0, 127257, 65894, 0, 0, 0, 0, 0, 0,
119187, 2135, 78868, 0, 0, 78869, 42313, 5579, 92412, 0, 0, 0, 0, 5578,
@@ -17406,116 +17635,118 @@ static unsigned int code_hash[] = {
917763, 5211, 0, 6400, 0, 194983, 0, 8189, 11276, 0, 0, 372, 128829, 0,
118874, 42102, 41585, 128202, 0, 42101, 276, 78402, 0, 33, 74226, 127303,
9007, 118796, 41588, 66033, 427, 10763, 118819, 0, 127884, 0, 1031, 6257,
- 0, 42104, 0, 0, 2328, 92409, 1071, 0, 0, 74848, 0, 0, 0, 1047, 0, 0,
- 64790, 0, 69723, 10651, 0, 0, 0, 0, 92206, 119181, 5711, 41633, 12098,
- 65571, 9166, 0, 5710, 0, 6790, 65168, 13216, 0, 69716, 69726, 0, 64611,
- 41623, 195001, 5715, 69654, 0, 0, 5712, 2761, 41620, 68124, 3074, 5722,
- 0, 8643, 73768, 0, 118906, 2757, 11067, 9718, 74498, 8910, 10689, 6479,
- 0, 0, 0, 78607, 9196, 69670, 0, 0, 0, 0, 118911, 0, 0, 0, 0, 0, 120010,
- 0, 8701, 68130, 119616, 120522, 0, 42477, 0, 12123, 4495, 43569, 0, 0, 0,
- 64946, 10992, 0, 120009, 0, 0, 9318, 120661, 13249, 65679, 73808, 0,
- 65457, 42249, 7639, 43995, 67845, 42641, 5454, 0, 0, 194997, 120005, 0,
- 0, 5084, 0, 0, 118861, 0, 733, 917876, 78014, 78436, 78435, 41677, 0,
- 9218, 1731, 0, 0, 0, 195010, 0, 0, 0, 120001, 127018, 92492, 5155, 0,
- 5358, 0, 0, 917767, 64424, 0, 3840, 64314, 41432, 0, 0, 68430, 119116,
- 43253, 65943, 0, 3371, 10988, 0, 8771, 1479, 0, 0, 1109, 11580, 0, 64601,
- 12205, 0, 0, 64507, 8868, 399, 0, 74842, 0, 0, 12149, 13088, 551, 0,
- 10156, 12119, 92572, 0, 2544, 65074, 119211, 0, 0, 78011, 351, 119149, 0,
- 0, 55229, 0, 74268, 0, 0, 0, 42377, 0, 0, 0, 0, 0, 9013, 4054, 0, 0, 0,
- 0, 73960, 5585, 65881, 2549, 74469, 0, 0, 5584, 8358, 0, 74411, 92219,
- 10919, 0, 7980, 0, 0, 0, 41800, 5589, 0, 2664, 41613, 5586, 118890, 0,
- 11356, 0, 0, 43452, 78609, 0, 42573, 67856, 0, 78129, 0, 0, 92535, 8135,
- 6450, 10055, 77996, 0, 0, 0, 5657, 0, 9626, 0, 77994, 10179, 5654, 12939,
- 92573, 120799, 0, 0, 5652, 10945, 0, 66486, 0, 3661, 7863, 0, 0, 0,
- 74509, 0, 5659, 0, 127510, 66729, 5655, 0, 42168, 0, 1055, 917628,
- 127792, 66310, 74030, 0, 12146, 73955, 73956, 11618, 0, 126990, 0, 10272,
- 10304, 10368, 42518, 594, 10244, 10248, 7407, 0, 64870, 0, 3467, 0, 0,
- 3331, 946, 10231, 1495, 8131, 74330, 0, 9562, 69222, 65927, 0, 0, 69696,
- 69769, 64656, 0, 0, 194837, 0, 5666, 65227, 5318, 63994, 0, 9091, 10798,
- 0, 128166, 10186, 0, 7732, 0, 64556, 0, 0, 5668, 74445, 0, 0, 5670, 0,
+ 0, 42104, 0, 983712, 2328, 92409, 1071, 0, 0, 74848, 0, 983324, 0, 1047,
+ 0, 0, 64790, 0, 69723, 10651, 0, 0, 0, 0, 92206, 119181, 5711, 41633,
+ 12098, 65571, 9166, 0, 5710, 0, 6790, 65168, 13216, 0, 69716, 69726, 0,
+ 64611, 41623, 195001, 5715, 69654, 0, 0, 5712, 2761, 41620, 68124, 3074,
+ 5722, 0, 8643, 73768, 0, 118906, 2757, 11067, 9718, 74498, 8910, 10689,
+ 6479, 0, 0, 0, 78607, 9196, 69670, 0, 0, 0, 0, 118911, 0, 0, 0, 0, 0,
+ 120010, 0, 8701, 68130, 119616, 120522, 0, 42477, 0, 12123, 4495, 43569,
+ 0, 0, 0, 64946, 10992, 0, 120009, 0, 0, 9318, 120661, 13249, 65679,
+ 73808, 0, 65457, 42249, 7639, 43995, 67845, 42641, 5454, 0, 0, 194997,
+ 120005, 0, 983698, 5084, 0, 0, 118861, 0, 733, 917876, 78014, 78436,
+ 78435, 41677, 0, 9218, 1731, 0, 983481, 0, 195010, 0, 0, 0, 120001,
+ 127018, 92492, 5155, 0, 5358, 983479, 0, 917767, 64424, 0, 3840, 64314,
+ 41432, 0, 0, 68430, 119116, 43253, 65943, 0, 3371, 10988, 0, 8771, 1479,
+ 0, 0, 1109, 11580, 0, 64601, 12205, 0, 0, 64507, 8868, 399, 0, 74842, 0,
+ 983456, 12149, 13088, 551, 0, 10156, 12119, 92572, 0, 2544, 65074,
+ 119211, 0, 0, 78011, 351, 119149, 0, 0, 55229, 0, 74268, 0, 0, 0, 42377,
+ 0, 0, 0, 0, 0, 9013, 4054, 0, 983314, 0, 0, 73960, 5585, 65881, 2549,
+ 74469, 0, 0, 5584, 8358, 0, 74411, 92219, 10919, 0, 7980, 0, 983519, 0,
+ 41800, 5589, 0, 2664, 41613, 5586, 118890, 0, 11356, 0, 0, 43452, 78609,
+ 0, 42573, 67856, 0, 78129, 0, 0, 92535, 8135, 6450, 10055, 77996, 0, 0,
+ 0, 5657, 0, 9626, 0, 77994, 10179, 5654, 12939, 92573, 120799, 0, 0,
+ 5652, 10945, 0, 66486, 0, 3661, 7863, 0, 0, 0, 74509, 983587, 5659, 0,
+ 127510, 66729, 5655, 0, 42168, 0, 1055, 917628, 127792, 66310, 74030, 0,
+ 12146, 73955, 73956, 11618, 0, 126990, 0, 10272, 10304, 10368, 42518,
+ 594, 10244, 10248, 7407, 983622, 64870, 0, 3467, 983626, 0, 3331, 946,
+ 10231, 1495, 8131, 74330, 0, 9562, 69222, 65927, 0, 983457, 69696, 69769,
+ 64656, 983461, 0, 194837, 0, 5666, 65227, 5318, 63994, 0, 9091, 10798, 0,
+ 128166, 10186, 0, 7732, 983459, 64556, 0, 0, 5668, 74445, 0, 0, 5670, 0,
127297, 11820, 2992, 7826, 5667, 19952, 120807, 0, 12749, 74551, 0, 0,
- 66496, 4361, 119260, 1306, 9286, 1497, 0, 0, 0, 0, 3571, 13247, 0, 7973,
- 66353, 68435, 78278, 67896, 43192, 0, 78265, 553, 120653, 0, 128554,
- 5829, 0, 4587, 78285, 65912, 0, 12746, 0, 0, 119924, 5633, 119927, 0, 0,
- 0, 64905, 0, 9512, 120671, 12742, 6443, 0, 0, 9135, 0, 41564, 0, 55219,
- 128832, 0, 0, 12148, 0, 78297, 0, 64256, 0, 11669, 0, 5634, 4524, 0,
- 127270, 0, 118880, 2425, 65182, 128769, 43636, 5221, 78410, 328, 0, 0,
- 69815, 5636, 0, 5329, 0, 5638, 119918, 7940, 64938, 43223, 0, 5635, 3373,
- 2986, 78292, 74223, 3437, 78291, 6203, 4247, 0, 11920, 8274, 0, 0, 1657,
- 41561, 78299, 78295, 5639, 2954, 5660, 5640, 78303, 0, 78300, 42227, 0,
- 0, 41637, 67872, 0, 78310, 41625, 43362, 78309, 120713, 11705, 5642, 0,
- 5486, 0, 4356, 11710, 0, 12051, 0, 0, 5641, 8259, 0, 1058, 0, 67630, 0,
- 0, 1144, 78750, 0, 42228, 0, 73890, 118972, 0, 65322, 0, 5645, 64964,
- 8652, 2547, 66484, 43634, 0, 5608, 65890, 43808, 0, 67621, 119934, 9000,
- 0, 0, 92673, 1865, 0, 5613, 74267, 0, 0, 5610, 0, 0, 65826, 2069, 0,
- 10787, 43999, 2997, 0, 5609, 78316, 65319, 78313, 12316, 65376, 2412, 0,
- 8186, 9807, 74269, 0, 13130, 65874, 0, 5807, 0, 10030, 5306, 12936, 0, 0,
- 11704, 0, 92583, 10211, 0, 0, 0, 0, 11706, 9710, 0, 0, 0, 413, 65623,
- 7118, 0, 9133, 74262, 0, 1042, 0, 64779, 12171, 119240, 6185, 64776,
- 4984, 0, 708, 11391, 0, 12241, 92720, 0, 1308, 0, 2534, 810, 0, 0, 0, 0,
- 0, 1917, 3000, 0, 0, 120739, 2364, 92443, 74470, 66618, 65680, 0, 10027,
- 0, 128154, 12337, 120722, 127368, 0, 2980, 755, 69774, 931, 13124, 68182,
- 6363, 2748, 0, 0, 65041, 0, 44011, 8730, 0, 127854, 78312, 7274, 119250,
- 0, 7275, 78304, 935, 0, 65840, 377, 42325, 11649, 127363, 65253, 64301,
- 128835, 78308, 42341, 65284, 2417, 0, 12884, 19912, 7907, 10768, 0,
- 194998, 0, 10673, 119217, 7248, 0, 128346, 1781, 5496, 3627, 62, 1649, 0,
- 964, 0, 127876, 78226, 128775, 127512, 0, 0, 0, 0, 43689, 127911, 13142,
- 78812, 42415, 66575, 4542, 74037, 43547, 0, 0, 7677, 2991, 4946, 42454,
- 0, 7949, 0, 0, 11341, 42494, 3073, 65625, 9714, 11692, 4657, 0, 92724,
- 6478, 9898, 43673, 65237, 6241, 7106, 4877, 0, 6238, 0, 10548, 127049,
- 4409, 0, 0, 64798, 0, 5346, 0, 120528, 6237, 4874, 0, 9176, 0, 0, 65231,
- 65884, 12678, 78748, 118912, 11378, 44018, 42785, 2408, 3251, 0, 0, 5685,
- 0, 2461, 11052, 7091, 5342, 8317, 0, 68163, 5340, 0, 127820, 43635,
- 73928, 127529, 0, 0, 0, 128510, 65482, 0, 9142, 0, 0, 0, 10938, 0,
- 118790, 1182, 2542, 4826, 0, 0, 128176, 529, 8580, 0, 0, 10586, 10790,
- 10839, 66023, 41593, 41207, 0, 0, 41594, 225, 42828, 0, 0, 0, 11376,
- 74379, 10721, 67664, 3438, 42097, 127267, 11084, 3194, 41870, 266, 78305,
- 0, 41873, 120575, 11324, 120531, 0, 8420, 64918, 128844, 41871, 41338,
- 3734, 7734, 43683, 8750, 66605, 66011, 0, 40965, 127937, 0, 5161, 10572,
- 0, 0, 0, 64349, 7287, 42162, 127552, 0, 0, 11948, 69220, 12359, 43429,
- 41369, 1697, 12191, 0, 68633, 7286, 0, 68635, 10031, 0, 9870, 68645,
- 8620, 65824, 0, 11938, 0, 7285, 0, 119577, 42678, 0, 43677, 41583, 0,
- 65799, 92623, 0, 0, 0, 78169, 66199, 0, 3609, 68624, 0, 832, 120693,
- 120770, 78473, 66007, 78471, 65703, 0, 0, 42732, 5180, 92699, 41395,
- 41530, 11691, 64773, 92214, 74002, 0, 0, 128645, 6348, 243, 13200, 0,
- 6024, 92309, 9979, 10037, 41529, 10648, 8538, 43687, 0, 0, 4285, 66195,
- 0, 4230, 0, 13307, 43256, 92353, 7563, 42376, 0, 68442, 120512, 0, 0,
- 214, 0, 0, 78466, 65893, 12208, 9973, 0, 66311, 65589, 128277, 2603, 0,
- 0, 0, 0, 0, 6022, 0, 2884, 0, 11620, 0, 43, 0, 66453, 1016, 41107, 0,
- 41121, 3885, 92, 65456, 64608, 0, 74801, 0, 2074, 0, 78283, 0, 12453,
- 128128, 0, 74241, 0, 6791, 12457, 78268, 0, 0, 0, 78279, 0, 0, 92358,
- 66637, 7995, 8759, 43421, 78277, 12449, 128552, 0, 0, 8752, 3197, 4720,
- 10165, 0, 119249, 0, 11595, 64893, 0, 43435, 0, 0, 4993, 0, 6168, 10934,
- 1946, 741, 0, 5494, 4639, 0, 1990, 66589, 4498, 78664, 119183, 0, 0,
- 69734, 2960, 73779, 0, 8969, 128117, 43424, 127059, 0, 2950, 119579,
- 6210, 65753, 370, 0, 0, 0, 4953, 0, 0, 0, 0, 69230, 0, 0, 65688, 0, 5063,
- 3517, 2964, 43663, 917762, 6344, 74791, 10566, 10144, 66333, 8252, 729,
- 66016, 78253, 0, 0, 64923, 128040, 43669, 9032, 78263, 78264, 0, 41215,
- 0, 65883, 0, 917774, 120602, 3761, 0, 0, 0, 0, 12912, 119012, 3850,
- 128191, 0, 0, 0, 0, 908, 0, 8611, 0, 0, 127555, 43691, 41197, 0, 8978,
- 120540, 119135, 41586, 10527, 0, 917848, 3848, 78739, 194937, 127536,
- 65241, 5336, 0, 128786, 663, 0, 10780, 0, 0, 78767, 0, 127163, 68193,
- 347, 0, 0, 78775, 64675, 41582, 78774, 78744, 65579, 12980, 78769, 12143,
- 69657, 78512, 0, 43441, 41804, 78523, 0, 78525, 0, 128859, 41584, 10681,
- 0, 0, 73938, 0, 128022, 4800, 66661, 0, 66306, 64715, 78534, 9518, 6609,
- 10434, 0, 11319, 1097, 0, 917850, 41730, 0, 0, 73847, 78761, 65172,
- 41728, 41721, 0, 0, 0, 41203, 0, 13110, 41726, 0, 0, 1000, 69651, 0,
- 41140, 1209, 73978, 0, 73750, 1073, 6321, 77878, 41138, 0, 68213, 0,
- 12167, 1115, 41605, 9794, 127062, 67671, 55248, 12237, 78787, 66314,
- 6587, 9290, 78782, 78783, 9231, 78781, 2959, 7926, 0, 0, 0, 64398, 0,
- 119970, 12311, 0, 78796, 78798, 78794, 78795, 68434, 78793, 66670, 0, 0,
- 12290, 120169, 0, 119873, 42142, 9968, 8205, 0, 5131, 0, 9627, 78536,
- 78542, 78535, 0, 1944, 1248, 10148, 127755, 119990, 119991, 12701, 78376,
- 11308, 119995, 0, 119997, 119998, 65305, 65100, 4031, 42794, 120003,
- 7075, 8154, 119985, 120007, 41817, 73934, 42275, 120011, 120012, 78526,
- 120014, 120015, 6041, 0, 41899, 0, 8002, 0, 4364, 0, 0, 64332, 0, 7813,
- 9064, 119986, 10124, 7526, 8601, 7281, 78455, 7279, 12041, 1418, 10885,
- 12673, 0, 0, 9660, 0, 13012, 4571, 0, 0, 0, 12078, 2970, 0, 10933, 0,
- 77870, 0, 0, 0, 41599, 0, 128831, 0, 12950, 92160, 3486, 0, 78311, 4239,
- 0, 127799, 66511, 0, 2637, 64629, 8460, 127053, 8476, 0, 0, 0, 0, 65673,
- 1019, 78495, 4148, 0, 12289, 0, 4316, 0, 13119, 0, 5412, 66243, 9935, 0,
- 73864, 0, 41734, 8206, 74081, 9163, 3286, 9072, 5867, 13302, 7622, 7120,
- 41736, 92546, 41731, 0, 7400, 5416, 68663, 118924, 10817, 0, 41539,
+ 66496, 4361, 119260, 1306, 9286, 1497, 983360, 0, 0, 0, 3571, 13247, 0,
+ 7973, 66353, 68435, 78278, 67896, 43192, 0, 78265, 553, 120653, 0,
+ 128554, 5829, 0, 4587, 78285, 65912, 0, 12746, 0, 0, 119924, 5633,
+ 119927, 0, 0, 0, 64905, 0, 9512, 120671, 12742, 6443, 983541, 0, 9135, 0,
+ 41564, 0, 55219, 128832, 983586, 0, 12148, 0, 78297, 0, 64256, 0, 11669,
+ 0, 5634, 4524, 0, 127270, 0, 118880, 2425, 65182, 128769, 43636, 5221,
+ 78410, 328, 0, 983544, 69815, 5636, 0, 5329, 0, 5638, 119918, 7940,
+ 64938, 43223, 0, 5635, 3373, 2986, 78292, 74223, 3437, 78291, 6203, 4247,
+ 0, 11920, 8274, 0, 0, 1657, 41561, 78299, 78295, 5639, 2954, 5660, 5640,
+ 78303, 983420, 78300, 42227, 0, 0, 41637, 67872, 0, 78310, 41625, 43362,
+ 78309, 120713, 11705, 5642, 0, 5486, 0, 4356, 11710, 0, 12051, 0, 0,
+ 5641, 8259, 0, 1058, 0, 67630, 0, 0, 1144, 78750, 0, 42228, 0, 73890,
+ 118972, 0, 65322, 0, 5645, 64964, 8652, 2547, 66484, 43634, 0, 5608,
+ 65890, 43808, 0, 67621, 119934, 9000, 0, 0, 92673, 1865, 0, 5613, 74267,
+ 0, 0, 5610, 0, 0, 65826, 2069, 0, 10787, 43999, 2997, 0, 5609, 78316,
+ 65319, 78313, 12316, 65376, 2412, 0, 8186, 9807, 74269, 0, 13130, 65874,
+ 0, 5807, 0, 10030, 5306, 12936, 983557, 0, 11704, 0, 92583, 10211, 0, 0,
+ 0, 0, 11706, 9710, 0, 0, 0, 413, 65623, 7118, 0, 9133, 74262, 0, 1042, 0,
+ 64779, 12171, 119240, 6185, 64776, 4984, 0, 708, 11391, 0, 12241, 92720,
+ 0, 1308, 0, 2534, 810, 0, 0, 0, 0, 0, 1917, 3000, 0, 0, 120739, 2364,
+ 92443, 74470, 66618, 65680, 0, 10027, 0, 128154, 12337, 120722, 127368,
+ 0, 2980, 755, 69774, 931, 13124, 68182, 6363, 2748, 0, 0, 65041, 0,
+ 44011, 8730, 0, 127854, 78312, 7274, 119250, 0, 7275, 78304, 935, 0,
+ 65840, 377, 42325, 11649, 127363, 65253, 64301, 128835, 78308, 42341,
+ 65284, 2417, 0, 12884, 19912, 7907, 10768, 0, 194998, 0, 10673, 119217,
+ 7248, 0, 128346, 1781, 5496, 3627, 62, 1649, 0, 964, 0, 127876, 78226,
+ 128775, 127512, 0, 0, 0, 0, 43689, 127911, 13142, 78812, 42415, 66575,
+ 4542, 74037, 43547, 0, 0, 7677, 2991, 4946, 42454, 0, 7949, 0, 0, 11341,
+ 42494, 3073, 65625, 9714, 11692, 4657, 0, 92724, 6478, 9898, 43673,
+ 65237, 6241, 7106, 4877, 0, 6238, 0, 10548, 127049, 4409, 0, 0, 64798, 0,
+ 5346, 0, 120528, 6237, 4874, 0, 9176, 0, 0, 65231, 65884, 12678, 78748,
+ 118912, 11378, 44018, 42785, 2408, 3251, 0, 0, 5685, 0, 2461, 11052,
+ 7091, 5342, 8317, 0, 68163, 5340, 0, 127820, 43635, 73928, 127529, 0, 0,
+ 0, 128510, 65482, 0, 9142, 0, 0, 0, 10938, 0, 118790, 1182, 2542, 4826,
+ 0, 0, 128176, 529, 8580, 0, 0, 10586, 10790, 10839, 66023, 41593, 41207,
+ 0, 0, 41594, 225, 42828, 0, 0, 983670, 11376, 74379, 10721, 67664, 3438,
+ 42097, 127267, 11084, 3194, 41870, 266, 78305, 0, 41873, 120575, 11324,
+ 120531, 0, 8420, 64918, 128844, 41871, 41338, 3734, 7734, 43683, 8750,
+ 66605, 66011, 0, 40965, 127937, 0, 5161, 10572, 0, 0, 0, 64349, 7287,
+ 42162, 127552, 0, 0, 11948, 69220, 12359, 43429, 41369, 1697, 12191, 0,
+ 68633, 7286, 0, 68635, 10031, 0, 9870, 68645, 8620, 65824, 0, 11938, 0,
+ 7285, 0, 119577, 42678, 0, 43677, 41583, 0, 65799, 92623, 0, 0, 983668,
+ 78169, 66199, 0, 3609, 68624, 0, 832, 120693, 120770, 78473, 66007,
+ 78471, 65703, 0, 0, 42732, 5180, 92699, 41395, 41530, 11691, 64773,
+ 92214, 74002, 0, 0, 128645, 6348, 243, 13200, 983548, 6024, 92309, 9979,
+ 10037, 41529, 10648, 8538, 43687, 0, 0, 4285, 66195, 0, 4230, 0, 13307,
+ 43256, 92353, 7563, 42376, 0, 68442, 120512, 0, 0, 214, 0, 0, 78466,
+ 65893, 12208, 9973, 0, 66311, 65589, 128277, 2603, 0, 0, 0, 0, 0, 6022,
+ 0, 2884, 0, 11620, 0, 43, 0, 66453, 1016, 41107, 0, 41121, 3885, 92,
+ 65456, 64608, 0, 74801, 0, 2074, 0, 78283, 0, 12453, 128128, 983561,
+ 74241, 0, 6791, 12457, 78268, 0, 0, 0, 78279, 0, 0, 92358, 66637, 7995,
+ 8759, 43421, 78277, 12449, 128552, 0, 0, 8752, 3197, 4720, 10165, 0,
+ 119249, 0, 11595, 64893, 0, 43435, 0, 0, 4993, 0, 6168, 10934, 1946, 741,
+ 0, 5494, 4639, 0, 1990, 66589, 4498, 78664, 119183, 0, 0, 69734, 2960,
+ 73779, 0, 8969, 128117, 43424, 127059, 0, 2950, 119579, 6210, 65753, 370,
+ 0, 0, 0, 4953, 983417, 0, 0, 0, 69230, 0, 0, 65688, 0, 5063, 3517, 2964,
+ 43663, 917762, 6344, 74791, 10566, 10144, 66333, 8252, 729, 66016, 78253,
+ 0, 0, 64923, 128040, 43669, 9032, 78263, 78264, 0, 41215, 0, 65883, 0,
+ 917774, 120602, 3761, 0, 0, 0, 0, 12912, 119012, 3850, 128191, 0, 0, 0,
+ 0, 908, 0, 8611, 0, 0, 127555, 43691, 41197, 0, 8978, 120540, 119135,
+ 41586, 10527, 0, 917848, 3848, 78739, 194937, 127536, 65241, 5336, 0,
+ 128786, 663, 0, 10780, 0, 0, 78767, 0, 127163, 68193, 347, 0, 0, 78775,
+ 64675, 41582, 78774, 78744, 65579, 12980, 78769, 12143, 69657, 78512, 0,
+ 43441, 41804, 78523, 0, 78525, 0, 128859, 41584, 10681, 0, 983430, 73938,
+ 0, 128022, 4800, 66661, 0, 66306, 64715, 78534, 9518, 6609, 10434, 0,
+ 11319, 1097, 0, 917850, 41730, 0, 0, 73847, 78761, 65172, 41728, 41721,
+ 0, 0, 0, 41203, 0, 13110, 41726, 983590, 0, 1000, 69651, 0, 41140, 1209,
+ 73978, 0, 73750, 1073, 6321, 77878, 41138, 0, 68213, 0, 12167, 1115,
+ 41605, 9794, 127062, 67671, 55248, 12237, 78787, 66314, 6587, 9290,
+ 78782, 78783, 9231, 78781, 2959, 7926, 0, 0, 0, 64398, 0, 119970, 12311,
+ 0, 78796, 78798, 78794, 78795, 68434, 78793, 66670, 0, 0, 12290, 120169,
+ 0, 119873, 42142, 9968, 8205, 0, 5131, 0, 9627, 78536, 78542, 78535, 0,
+ 1944, 1248, 10148, 127755, 119990, 119991, 12701, 78376, 11308, 119995,
+ 0, 119997, 119998, 65305, 65100, 4031, 42794, 120003, 7075, 8154, 119985,
+ 120007, 41817, 73934, 42275, 120011, 120012, 78526, 120014, 120015, 6041,
+ 0, 41899, 0, 8002, 0, 4364, 0, 0, 64332, 0, 7813, 9064, 119986, 10124,
+ 7526, 8601, 7281, 78455, 7279, 12041, 1418, 10885, 12673, 0, 0, 9660, 0,
+ 13012, 4571, 0, 0, 983594, 12078, 2970, 0, 10933, 0, 77870, 0, 0, 0,
+ 41599, 0, 128831, 0, 12950, 92160, 3486, 0, 78311, 4239, 0, 127799,
+ 66511, 0, 2637, 64629, 8460, 127053, 8476, 983707, 0, 0, 0, 65673, 1019,
+ 78495, 4148, 0, 12289, 0, 4316, 0, 13119, 983636, 5412, 66243, 9935, 0,
+ 73864, 983042, 41734, 8206, 74081, 9163, 3286, 9072, 5867, 13302, 7622,
+ 7120, 41736, 92546, 41731, 0, 7400, 5416, 68663, 118924, 10817, 0, 41539,
127284, 0, 73963, 41855, 41867, 65564, 11277, 65892, 11536, 10620, 92272,
7115, 66030, 73932, 5498, 73942, 41536, 0, 68204, 92587, 3459, 8997, 0,
0, 0, 0, 92512, 0, 66377, 69781, 0, 0, 78511, 3161, 295, 120207, 0,
@@ -17530,61 +17761,62 @@ static unsigned int code_hash[] = {
9497, 0, 63891, 63890, 63889, 63888, 5538, 9987, 0, 118932, 1678, 13274,
552, 120654, 44010, 10785, 0, 119170, 4557, 74459, 9159, 10171, 13125,
63860, 5540, 63858, 63865, 281, 13242, 63862, 74154, 0, 5536, 65568,
- 63857, 1388, 74169, 0, 1077, 0, 65099, 11531, 5834, 0, 0, 0, 0, 42773, 0,
- 0, 0, 119220, 0, 3663, 0, 1112, 119122, 8686, 0, 5334, 65081, 43249,
- 74778, 127968, 11077, 0, 6509, 0, 5327, 0, 19907, 63869, 3478, 7583,
- 7679, 2903, 0, 3001, 1158, 8745, 0, 73748, 63866, 0, 1915, 4846, 0,
+ 63857, 1388, 74169, 0, 1077, 983321, 65099, 11531, 5834, 0, 0, 0, 0,
+ 42773, 0, 0, 0, 119220, 0, 3663, 0, 1112, 119122, 8686, 0, 5334, 65081,
+ 43249, 74778, 127968, 11077, 0, 6509, 0, 5327, 0, 19907, 63869, 3478,
+ 7583, 7679, 2903, 0, 3001, 1158, 8745, 0, 73748, 63866, 0, 1915, 4846, 0,
66371, 118984, 42105, 2990, 120128, 805, 69238, 64438, 12070, 8760, 1117,
118987, 12212, 120123, 65174, 42357, 63835, 63834, 0, 78240, 12225,
- 63838, 63837, 0, 0, 63833, 6042, 66360, 8083, 0, 0, 63821, 63820, 63819,
- 63818, 0, 5227, 9047, 63822, 127162, 6091, 0, 10691, 560, 5643, 8226,
- 119578, 63812, 63811, 63810, 63809, 5542, 63815, 63814, 63813, 6047,
- 1597, 120143, 780, 206, 77925, 4936, 65147, 8168, 63930, 2076, 1093,
- 9882, 63934, 2082, 63932, 128150, 63929, 3546, 1605, 77934, 9806, 43472,
- 77933, 8400, 11343, 2086, 0, 63926, 2984, 5968, 9287, 0, 4618, 42209,
- 43431, 13169, 5290, 2089, 1695, 10743, 1088, 63825, 7268, 1084, 1085,
- 63829, 1083, 10131, 7283, 0, 63970, 128358, 1092, 4754, 7273, 5252,
- 44016, 43627, 127921, 0, 7408, 11809, 0, 0, 0, 2965, 7258, 8808, 0, 1089,
- 4187, 63937, 42119, 42120, 0, 940, 5787, 10099, 63938, 0, 74494, 12463,
- 2994, 0, 118827, 0, 9664, 77939, 77940, 67892, 77938, 74343, 0, 0, 660,
- 10127, 666, 9022, 5532, 43667, 5533, 77941, 78507, 6118, 222, 979, 3884,
- 0, 74151, 92652, 6502, 0, 127118, 128695, 63951, 12465, 0, 0, 128782,
- 63946, 1707, 63924, 12461, 63950, 63897, 63948, 63947, 63945, 6038,
- 63943, 63942, 64685, 63895, 65838, 0, 7776, 0, 0, 127773, 120444, 69730,
- 801, 43165, 1690, 63919, 63918, 63917, 13277, 43659, 12951, 120638, 9906,
- 2054, 2334, 78515, 63916, 5483, 63914, 69737, 63911, 5484, 63909, 63908,
- 2539, 0, 43980, 5485, 0, 42697, 9061, 5534, 10672, 4502, 0, 253, 0,
- 68208, 0, 9203, 74231, 0, 11530, 92542, 68668, 0, 128816, 0, 10474,
- 43426, 13257, 42354, 0, 0, 0, 195065, 0, 8413, 0, 0, 5693, 7272, 0,
- 13209, 64470, 65831, 78460, 195063, 0, 0, 0, 0, 0, 0, 0, 128133, 127767,
- 66608, 3111, 41863, 8804, 42913, 92187, 7270, 0, 66606, 6628, 1076, 7433,
- 1436, 73844, 55226, 128353, 63982, 7393, 12807, 43413, 63906, 1598,
- 63904, 0, 0, 41729, 4423, 1307, 0, 10515, 41589, 128698, 0, 6218, 0,
- 1430, 0, 0, 120606, 78754, 5413, 7619, 3255, 3493, 74032, 11549, 10735,
- 41743, 73937, 6801, 0, 4518, 10990, 65073, 5167, 4481, 3771, 0, 2710, 0,
- 69243, 41724, 0, 43073, 41690, 12479, 0, 0, 0, 0, 119659, 1628, 127149,
- 0, 0, 65262, 6333, 10783, 42315, 0, 63855, 120683, 0, 0, 5339, 74323, 0,
- 13004, 0, 4457, 0, 0, 0, 0, 5684, 8678, 10914, 0, 5689, 65807, 0, 68464,
- 12633, 12870, 69705, 65183, 5688, 11926, 6033, 6310, 5686, 0, 74251, 0,
- 120647, 0, 50, 10558, 9871, 0, 43655, 0, 0, 0, 66468, 0, 13259, 4448, 0,
- 0, 0, 0, 67853, 0, 10640, 11539, 1151, 0, 917607, 127544, 127079, 195050,
- 127852, 0, 0, 0, 12501, 64604, 0, 11527, 118870, 8812, 0, 11538, 8673,
- 12650, 11020, 0, 66467, 2105, 8087, 78163, 69632, 9894, 0, 0, 0, 4636,
- 55262, 78513, 4515, 2382, 0, 127055, 0, 120495, 0, 128284, 12277, 194627,
- 11995, 92553, 0, 12158, 0, 8741, 10197, 0, 92426, 0, 6531, 0, 127846,
- 473, 43415, 0, 0, 1873, 1087, 0, 0, 0, 78527, 66439, 43218, 0, 194716,
- 7237, 12504, 74282, 0, 0, 0, 9489, 0, 0, 4384, 74220, 195055, 2058,
- 128863, 13295, 43191, 128030, 0, 1154, 3857, 1205, 0, 0, 13100, 12958,
- 120706, 74168, 0, 0, 4421, 10592, 0, 495, 0, 41712, 7983, 0, 120779, 0,
- 6347, 0, 7654, 41710, 4196, 0, 437, 41709, 73772, 0, 0, 9465, 13290,
- 119180, 4997, 64306, 0, 0, 4999, 194642, 0, 0, 4711, 120769, 0, 2739, 0,
- 8044, 74834, 194643, 41789, 128142, 10809, 0, 0, 0, 1779, 6600, 6601,
- 41543, 5325, 642, 64187, 13058, 120449, 12875, 0, 92186, 13229, 0, 10575,
- 43399, 0, 0, 41791, 1104, 0, 0, 10655, 0, 0, 0, 0, 1082, 195049, 8428,
- 6569, 0, 0, 0, 0, 6783, 0, 12993, 8049, 41548, 44021, 6458, 0, 128882,
- 4761, 63828, 4766, 64623, 1273, 43407, 0, 118876, 195045, 6912, 1313,
- 6322, 10483, 0, 41545, 0, 92449, 0, 0, 0, 0, 78624, 3484, 74337, 0, 0,
- 8503, 5122, 41527, 0, 66320, 0, 0, 0, 0, 41537, 69683, 8303, 8282, 11817,
+ 63838, 63837, 983588, 983539, 63833, 6042, 66360, 8083, 0, 0, 63821,
+ 63820, 63819, 63818, 983639, 5227, 9047, 63822, 127162, 6091, 0, 10691,
+ 560, 5643, 8226, 119578, 63812, 63811, 63810, 63809, 5542, 63815, 63814,
+ 63813, 6047, 1597, 120143, 780, 206, 77925, 4936, 65147, 8168, 63930,
+ 2076, 1093, 9882, 63934, 2082, 63932, 128150, 63929, 3546, 1605, 77934,
+ 9806, 43472, 77933, 8400, 11343, 2086, 0, 63926, 2984, 5968, 9287, 0,
+ 4618, 42209, 43431, 13169, 5290, 2089, 1695, 10743, 1088, 63825, 7268,
+ 1084, 1085, 63829, 1083, 10131, 7283, 0, 63970, 128358, 1092, 4754, 7273,
+ 5252, 44016, 43627, 127921, 0, 7408, 11809, 0, 0, 0, 2965, 7258, 8808, 0,
+ 1089, 4187, 63937, 42119, 42120, 0, 940, 5787, 10099, 63938, 0, 74494,
+ 12463, 2994, 0, 118827, 0, 9664, 77939, 77940, 67892, 77938, 74343, 0, 0,
+ 660, 10127, 666, 9022, 5532, 43667, 5533, 77941, 78507, 6118, 222, 979,
+ 3884, 0, 74151, 92652, 6502, 0, 127118, 128695, 63951, 12465, 0, 0,
+ 128782, 63946, 1707, 63924, 12461, 63950, 63897, 63948, 63947, 63945,
+ 6038, 63943, 63942, 64685, 63895, 65838, 0, 7776, 0, 0, 127773, 120444,
+ 69730, 801, 43165, 1690, 63919, 63918, 63917, 13277, 43659, 12951,
+ 120638, 9906, 2054, 2334, 78515, 63916, 5483, 63914, 69737, 63911, 5484,
+ 63909, 63908, 2539, 0, 43980, 5485, 0, 42697, 9061, 5534, 10672, 4502, 0,
+ 253, 0, 68208, 0, 9203, 74231, 0, 11530, 92542, 68668, 0, 128816, 0,
+ 10474, 43426, 13257, 42354, 0, 983433, 0, 195065, 0, 8413, 983551, 0,
+ 5693, 7272, 0, 13209, 64470, 65831, 78460, 195063, 0, 0, 0, 0, 0, 0, 0,
+ 128133, 127767, 66608, 3111, 41863, 8804, 42913, 92187, 7270, 0, 66606,
+ 6628, 1076, 7433, 1436, 73844, 55226, 128353, 63982, 7393, 12807, 43413,
+ 63906, 1598, 63904, 0, 0, 41729, 4423, 1307, 0, 10515, 41589, 128698, 0,
+ 6218, 0, 1430, 0, 0, 120606, 78754, 5413, 7619, 3255, 3493, 74032, 11549,
+ 10735, 41743, 73937, 6801, 983368, 4518, 10990, 65073, 5167, 4481, 3771,
+ 0, 2710, 0, 69243, 41724, 0, 43073, 41690, 12479, 983370, 0, 0, 983553,
+ 119659, 1628, 127149, 0, 983466, 65262, 6333, 10783, 42315, 0, 63855,
+ 120683, 0, 0, 5339, 74323, 0, 13004, 0, 4457, 0, 0, 0, 0, 5684, 8678,
+ 10914, 0, 5689, 65807, 0, 68464, 12633, 12870, 69705, 65183, 5688, 11926,
+ 6033, 6310, 5686, 0, 74251, 0, 120647, 0, 50, 10558, 9871, 0, 43655, 0,
+ 0, 0, 66468, 0, 13259, 4448, 0, 983580, 0, 0, 67853, 0, 10640, 11539,
+ 1151, 0, 917607, 127544, 127079, 195050, 127852, 0, 0, 0, 12501, 64604,
+ 0, 11527, 118870, 8812, 0, 11538, 8673, 12650, 11020, 0, 66467, 2105,
+ 8087, 78163, 69632, 9894, 0, 0, 0, 4636, 55262, 78513, 4515, 2382, 0,
+ 127055, 0, 120495, 0, 128284, 12277, 194627, 11995, 92553, 0, 12158, 0,
+ 8741, 10197, 0, 92426, 0, 6531, 0, 127846, 473, 43415, 0, 983385, 1873,
+ 1087, 0, 0, 0, 78527, 66439, 43218, 983439, 194716, 7237, 12504, 74282,
+ 0, 983315, 0, 9489, 0, 0, 4384, 74220, 195055, 2058, 128863, 13295,
+ 43191, 128030, 0, 1154, 3857, 1205, 0, 0, 13100, 12958, 120706, 74168, 0,
+ 0, 4421, 10592, 0, 495, 0, 41712, 7983, 0, 120779, 0, 6347, 0, 7654,
+ 41710, 4196, 0, 437, 41709, 73772, 0, 0, 9465, 13290, 119180, 4997,
+ 64306, 0, 0, 4999, 194642, 0, 0, 4711, 120769, 0, 2739, 0, 8044, 74834,
+ 194643, 41789, 128142, 10809, 0, 0, 0, 1779, 6600, 6601, 41543, 5325,
+ 642, 64187, 13058, 120449, 12875, 0, 92186, 13229, 0, 10575, 43399, 0, 0,
+ 41791, 1104, 0, 0, 10655, 0, 0, 0, 0, 1082, 195049, 8428, 6569, 0, 0, 0,
+ 0, 6783, 0, 12993, 8049, 41548, 44021, 6458, 983542, 128882, 4761, 63828,
+ 4766, 64623, 1273, 43407, 0, 118876, 195045, 6912, 1313, 6322, 10483,
+ 983347, 41545, 0, 92449, 0, 0, 0, 0, 78624, 3484, 74337, 0, 0, 8503,
+ 5122, 41527, 0, 66320, 983546, 0, 0, 0, 41537, 69683, 8303, 8282, 11817,
73857, 10003, 73859, 65904, 194663, 1686, 0, 78406, 11467, 3664, 65921,
64299, 194664, 0, 0, 4324, 126, 42246, 119152, 0, 74378, 65926, 7744,
194636, 74277, 74302, 78052, 43817, 6966, 43822, 8136, 0, 65600, 1633, 0,
@@ -17602,54 +17834,54 @@ static unsigned int code_hash[] = {
864, 0, 118926, 8972, 0, 7849, 120092, 92533, 13240, 195068, 5192, 4338,
0, 10948, 917601, 13199, 92575, 1236, 13208, 13261, 13189, 13188, 120164,
0, 7440, 0, 120153, 9553, 1590, 63777, 63776, 13178, 63782, 63781, 63780,
- 63779, 1583, 0, 13260, 4550, 0, 64205, 0, 0, 41522, 0, 92168, 0, 917858,
- 11354, 0, 0, 42795, 0, 119195, 11394, 194646, 13236, 13272, 13194, 1334,
- 0, 4479, 1178, 65586, 120663, 66681, 119193, 4601, 0, 0, 0, 0, 0, 194658,
- 0, 6809, 63786, 6031, 0, 63791, 63790, 1145, 63788, 7910, 63785, 43153,
- 754, 10192, 13105, 8183, 120741, 2037, 0, 0, 10747, 125, 0, 64890, 0, 0,
- 0, 41719, 63758, 3523, 1074, 13258, 9536, 74077, 0, 4427, 74242, 63757,
- 43145, 12217, 63754, 41532, 1349, 63750, 63749, 0, 0, 0, 63753, 63802,
- 41084, 120622, 68133, 41930, 63805, 63804, 43632, 63801, 41082, 8140,
- 63798, 6260, 0, 0, 119225, 63793, 11988, 3898, 128241, 10201, 12238,
- 63795, 42194, 10367, 12521, 10431, 42114, 41932, 1068, 0, 12523, 12945,
- 0, 42203, 7950, 10804, 63771, 42787, 4386, 12224, 6973, 2793, 12475, 0,
- 0, 63769, 9530, 0, 12232, 13135, 8596, 5681, 63762, 4595, 63760, 792, 0,
- 64803, 0, 8742, 0, 11053, 128796, 63744, 128107, 0, 7588, 63748, 1693,
- 63746, 43204, 5055, 68426, 917853, 1090, 120679, 128356, 11665, 74133,
- 4558, 65685, 9523, 0, 0, 78681, 11513, 0, 6157, 63775, 63774, 63773,
- 13191, 12170, 3500, 3139, 0, 3170, 12485, 0, 10872, 78271, 13006, 64433,
- 0, 0, 941, 0, 0, 0, 65541, 11063, 0, 8228, 0, 42065, 0, 0, 0, 0, 92455,
- 7386, 0, 64444, 0, 119863, 43603, 0, 65397, 288, 0, 0, 0, 10025, 917916,
- 2918, 0, 65300, 119871, 9883, 64726, 2790, 65395, 3793, 0, 127829, 65393,
- 0, 74138, 0, 0, 0, 74139, 92712, 65394, 11548, 5270, 0, 65396, 0, 65813,
- 13256, 1282, 120771, 0, 0, 10888, 0, 65242, 0, 3330, 0, 0, 0, 0, 0,
- 74259, 3304, 42753, 0, 0, 0, 1627, 0, 0, 0, 5371, 13116, 0, 1826, 118794,
- 0, 43094, 0, 43650, 0, 0, 9035, 0, 0, 128005, 0, 92207, 68125, 0, 164, 0,
- 0, 0, 6958, 0, 43116, 0, 0, 13245, 0, 0, 127376, 0, 73893, 127756, 12666,
- 13175, 13207, 120414, 66014, 120428, 7447, 5929, 0, 65509, 0, 7449,
- 11306, 0, 73920, 3180, 0, 63808, 9054, 971, 13062, 0, 0, 65195, 10164,
- 92252, 74428, 0, 78146, 92611, 0, 0, 0, 10045, 12882, 13275, 128161,
- 11057, 0, 13276, 0, 41525, 78150, 7271, 11444, 0, 0, 0, 12229, 41523, 0,
- 43411, 73751, 0, 64813, 0, 0, 10476, 3858, 0, 3932, 64958, 0, 0, 73989,
- 68192, 0, 0, 369, 0, 41784, 0, 64163, 0, 0, 0, 65474, 4796, 12292, 0,
- 65479, 0, 41781, 10486, 41480, 43002, 9899, 0, 0, 404, 12821, 3741, 0,
- 5788, 8092, 68212, 41222, 1831, 66020, 3982, 0, 4388, 0, 746, 120784, 0,
- 0, 12018, 65294, 0, 0, 0, 0, 4422, 4708, 3799, 74292, 119357, 0, 74430,
- 0, 11700, 4374, 0, 128179, 1364, 0, 8038, 0, 917597, 12868, 69814, 0,
- 6735, 73979, 13174, 73968, 13225, 0, 69808, 65835, 0, 2365, 7841, 0,
- 42855, 118856, 42866, 0, 0, 0, 66438, 41785, 12617, 64172, 13173, 4372,
- 119354, 0, 0, 0, 0, 92402, 128062, 12965, 384, 64512, 10404, 10340,
- 119352, 1556, 5274, 13210, 120125, 10017, 9733, 41787, 0, 126994, 41373,
- 78039, 12303, 0, 13232, 13233, 349, 4863, 41371, 11656, 0, 120703,
- 119883, 12861, 4398, 8543, 65618, 128018, 1096, 0, 0, 42688, 12441,
- 12355, 119348, 119347, 4318, 10452, 0, 8032, 13243, 13237, 12719, 0,
- 119101, 0, 64884, 119872, 119345, 8597, 0, 0, 9864, 0, 120785, 119874, 0,
- 13195, 41452, 64961, 7722, 0, 10459, 119878, 0, 119879, 66590, 128123,
+ 63779, 1583, 0, 13260, 4550, 0, 64205, 0, 0, 41522, 983650, 92168,
+ 983507, 917858, 11354, 0, 0, 42795, 0, 119195, 11394, 194646, 13236,
+ 13272, 13194, 1334, 0, 4479, 1178, 65586, 120663, 66681, 119193, 4601, 0,
+ 0, 983500, 0, 0, 194658, 0, 6809, 63786, 6031, 0, 63791, 63790, 1145,
+ 63788, 7910, 63785, 43153, 754, 10192, 13105, 8183, 120741, 2037, 0, 0,
+ 10747, 125, 0, 64890, 0, 0, 0, 41719, 63758, 3523, 1074, 13258, 9536,
+ 74077, 0, 4427, 74242, 63757, 43145, 12217, 63754, 41532, 1349, 63750,
+ 63749, 0, 0, 0, 63753, 63802, 41084, 120622, 68133, 41930, 63805, 63804,
+ 43632, 63801, 41082, 8140, 63798, 6260, 0, 0, 119225, 63793, 11988, 3898,
+ 128241, 10201, 12238, 63795, 42194, 10367, 12521, 10431, 42114, 41932,
+ 1068, 0, 12523, 12945, 0, 42203, 7950, 10804, 63771, 42787, 4386, 12224,
+ 6973, 2793, 12475, 0, 0, 63769, 9530, 0, 12232, 13135, 8596, 5681, 63762,
+ 4595, 63760, 792, 0, 64803, 0, 8742, 0, 11053, 128796, 63744, 128107, 0,
+ 7588, 63748, 1693, 63746, 43204, 5055, 68426, 917853, 1090, 120679,
+ 128356, 11665, 74133, 4558, 65685, 9523, 0, 0, 78681, 11513, 0, 6157,
+ 63775, 63774, 63773, 13191, 12170, 3500, 3139, 0, 3170, 12485, 0, 10872,
+ 78271, 13006, 64433, 0, 0, 941, 0, 0, 0, 65541, 11063, 0, 8228, 0, 42065,
+ 0, 0, 0, 0, 92455, 7386, 0, 64444, 0, 119863, 43603, 0, 65397, 288, 0, 0,
+ 0, 10025, 917916, 2918, 0, 65300, 119871, 9883, 64726, 2790, 65395, 3793,
+ 0, 127829, 65393, 0, 74138, 0, 0, 0, 74139, 92712, 65394, 11548, 5270, 0,
+ 65396, 0, 65813, 13256, 1282, 120771, 0, 0, 10888, 0, 65242, 0, 3330, 0,
+ 0, 983706, 0, 0, 74259, 3304, 42753, 0, 0, 0, 1627, 0, 0, 0, 5371, 13116,
+ 0, 1826, 118794, 0, 43094, 0, 43650, 0, 0, 9035, 0, 0, 128005, 0, 92207,
+ 68125, 0, 164, 0, 0, 0, 6958, 0, 43116, 0, 0, 13245, 0, 0, 127376, 0,
+ 73893, 127756, 12666, 13175, 13207, 120414, 66014, 120428, 7447, 5929, 0,
+ 65509, 0, 7449, 11306, 0, 73920, 3180, 0, 63808, 9054, 971, 13062, 0, 0,
+ 65195, 10164, 92252, 74428, 0, 78146, 92611, 0, 0, 0, 10045, 12882,
+ 13275, 128161, 11057, 0, 13276, 0, 41525, 78150, 7271, 11444, 0, 0, 0,
+ 12229, 41523, 0, 43411, 73751, 0, 64813, 0, 0, 10476, 3858, 0, 3932,
+ 64958, 0, 0, 73989, 68192, 0, 0, 369, 0, 41784, 0, 64163, 0, 0, 0, 65474,
+ 4796, 12292, 0, 65479, 0, 41781, 10486, 41480, 43002, 9899, 0, 0, 404,
+ 12821, 3741, 0, 5788, 8092, 68212, 41222, 1831, 66020, 3982, 0, 4388, 0,
+ 746, 120784, 0, 0, 12018, 65294, 0, 0, 0, 0, 4422, 4708, 3799, 74292,
+ 119357, 0, 74430, 0, 11700, 4374, 0, 128179, 1364, 0, 8038, 0, 917597,
+ 12868, 69814, 0, 6735, 73979, 13174, 73968, 13225, 0, 69808, 65835, 0,
+ 2365, 7841, 0, 42855, 118856, 42866, 0, 0, 0, 66438, 41785, 12617, 64172,
+ 13173, 4372, 119354, 0, 983312, 0, 0, 92402, 128062, 12965, 384, 64512,
+ 10404, 10340, 119352, 1556, 5274, 13210, 120125, 10017, 9733, 41787, 0,
+ 126994, 41373, 78039, 12303, 0, 13232, 13233, 349, 4863, 41371, 11656, 0,
+ 120703, 119883, 12861, 4398, 8543, 65618, 128018, 1096, 0, 0, 42688,
+ 12441, 12355, 119348, 119347, 4318, 10452, 0, 8032, 13243, 13237, 12719,
+ 0, 119101, 0, 64884, 119872, 119345, 8597, 0, 0, 9864, 0, 120785, 119874,
+ 0, 13195, 41452, 64961, 7722, 0, 10459, 119878, 0, 119879, 66590, 128123,
41533, 66337, 0, 92184, 0, 4965, 43445, 917536, 73849, 0, 43638, 78537,
128287, 6261, 119342, 43147, 66570, 1957, 10420, 982, 2756, 13292, 13206,
128828, 0, 2925, 73809, 13056, 127559, 13212, 43238, 0, 13190, 13187,
92541, 13198, 118793, 0, 5242, 119179, 64476, 1694, 8216, 0, 6770, 43331,
- 0, 65620, 0, 43544, 0, 0, 41444, 65621, 120325, 9197, 5246, 119106,
+ 0, 65620, 983463, 43544, 0, 0, 41444, 65621, 120325, 9197, 5246, 119106,
13185, 9709, 120323, 120322, 12314, 65616, 5238, 119333, 0, 119337, 5236,
40979, 0, 74201, 8286, 0, 3936, 119331, 11699, 41347, 127249, 13235,
8842, 41248, 0, 4379, 13239, 12692, 7969, 127266, 7219, 127250, 0,
@@ -17671,7 +17903,7 @@ static unsigned int code_hash[] = {
120039, 42683, 0, 0, 7114, 0, 0, 43190, 65463, 1554, 0, 42611, 42563, 0,
5651, 2929, 6792, 43201, 0, 19963, 5698, 0, 0, 0, 0, 5644, 10292, 65546,
69727, 68141, 8372, 0, 65116, 0, 120022, 10175, 10388, 42799, 0, 41013,
- 10568, 0, 0, 2869, 0, 41015, 194692, 2785, 4366, 0, 10954, 41802, 0,
+ 10568, 0, 983362, 2869, 0, 41015, 194692, 2785, 4366, 0, 10954, 41802, 0,
42608, 78469, 9884, 4759, 0, 0, 10266, 41359, 1170, 43365, 69810, 73908,
1609, 902, 0, 63936, 128875, 11661, 8122, 5818, 0, 0, 3861, 9540, 11028,
2554, 5158, 5714, 127015, 0, 0, 807, 43079, 0, 78475, 976, 5511, 64553,
@@ -17680,37 +17912,38 @@ static unsigned int code_hash[] = {
120016, 74283, 11005, 0, 66656, 66044, 0, 194698, 0, 0, 43393, 10094, 0,
11529, 10857, 120643, 66436, 6546, 93, 8102, 0, 68405, 0, 0, 8171, 0,
119097, 127064, 917543, 383, 7154, 41656, 92634, 0, 0, 5187, 0, 127277,
- 11286, 68620, 64217, 0, 5232, 0, 41009, 0, 41005, 0, 0, 0, 8292, 195074,
- 4980, 8860, 73947, 10028, 65291, 7076, 13182, 194705, 0, 0, 10631, 66031,
- 7972, 0, 78785, 0, 7900, 0, 11309, 78319, 4198, 42725, 0, 67656, 9995, 0,
- 92552, 0, 12931, 0, 42684, 74285, 2088, 0, 64366, 65156, 8814, 42238,
- 74771, 0, 0, 12836, 0, 0, 74342, 8593, 0, 0, 68445, 13255, 0, 0, 7464, 0,
- 65865, 0, 194650, 127144, 0, 9342, 120464, 0, 64516, 0, 78792, 10129,
- 41007, 74375, 0, 40995, 12209, 41012, 119136, 0, 0, 69724, 40992, 92264,
- 127153, 68653, 43558, 5522, 0, 61, 0, 74105, 3633, 0, 65162, 41234,
- 12089, 78281, 9771, 0, 13251, 128701, 0, 6262, 2784, 42743, 0, 8126,
- 66483, 0, 0, 441, 42621, 0, 0, 41002, 40999, 119623, 43266, 7108, 194779,
- 10890, 74481, 65834, 8324, 119103, 64417, 74817, 127465, 64737, 0, 0,
- 8930, 66678, 74249, 1193, 10056, 1800, 13253, 13252, 7829, 0, 0, 7743, 0,
- 0, 77904, 92640, 77905, 9034, 6039, 0, 10075, 0, 41018, 65683, 10338,
- 66469, 0, 0, 0, 42815, 0, 41966, 0, 0, 0, 11792, 43064, 41025, 911, 7539,
- 0, 0, 120339, 65159, 64390, 0, 0, 5520, 11662, 0, 65330, 42812, 0, 0,
- 12326, 0, 0, 42808, 128337, 9348, 64901, 0, 0, 0, 0, 0, 0, 917584, 43702,
- 0, 5857, 65342, 92727, 119120, 120079, 8644, 0, 0, 0, 74296, 41909, 0,
- 120332, 2791, 69663, 1891, 69824, 0, 41907, 66647, 118939, 8761, 12942,
- 5748, 0, 10773, 0, 0, 8796, 78149, 6412, 2061, 8520, 13146, 127185,
- 63931, 0, 65902, 2882, 0, 0, 12843, 4520, 120345, 92459, 0, 0, 0, 73860,
- 0, 0, 64345, 0, 9201, 128314, 194940, 0, 0, 43679, 917585, 65117, 92270,
- 0, 10427, 0, 3844, 120675, 9755, 1110, 6612, 12222, 0, 128789, 0, 0, 783,
- 194935, 0, 0, 0, 194720, 65056, 3620, 0, 68378, 4556, 0, 0, 194933,
- 74250, 0, 67657, 10510, 4382, 66482, 0, 0, 127527, 9177, 8902, 0, 9839,
- 0, 12891, 0, 0, 63999, 2016, 41917, 9788, 63928, 0, 1862, 65800, 9155,
- 66623, 9786, 65082, 41919, 8579, 41914, 7981, 0, 66017, 4508, 64883,
- 92456, 92522, 127814, 0, 64592, 74276, 120080, 6784, 78788, 68181, 0, 0,
- 0, 127534, 12147, 9024, 66378, 66472, 0, 64289, 65289, 78151, 66658,
+ 11286, 68620, 64217, 0, 5232, 0, 41009, 0, 41005, 0, 0, 983562, 8292,
+ 195074, 4980, 8860, 73947, 10028, 65291, 7076, 13182, 194705, 0, 0,
+ 10631, 66031, 7972, 0, 78785, 0, 7900, 0, 11309, 78319, 4198, 42725, 0,
+ 67656, 9995, 0, 92552, 0, 12931, 0, 42684, 74285, 2088, 0, 64366, 65156,
+ 8814, 42238, 74771, 0, 0, 12836, 0, 0, 74342, 8593, 0, 0, 68445, 13255,
+ 0, 0, 7464, 0, 65865, 0, 194650, 127144, 0, 9342, 120464, 0, 64516, 0,
+ 78792, 10129, 41007, 74375, 0, 40995, 12209, 41012, 119136, 0, 0, 69724,
+ 40992, 92264, 127153, 68653, 43558, 5522, 0, 61, 0, 74105, 3633, 983635,
+ 65162, 41234, 12089, 78281, 9771, 983640, 13251, 128701, 0, 6262, 2784,
+ 42743, 0, 8126, 66483, 0, 0, 441, 42621, 0, 0, 41002, 40999, 119623,
+ 43266, 7108, 194779, 10890, 74481, 65834, 8324, 119103, 64417, 74817,
+ 127465, 64737, 0, 983394, 8930, 66678, 74249, 1193, 10056, 1800, 13253,
+ 13252, 7829, 0, 0, 7743, 0, 0, 77904, 92640, 77905, 9034, 6039, 0, 10075,
+ 0, 41018, 65683, 10338, 66469, 0, 0, 0, 42815, 0, 41966, 0, 0, 0, 11792,
+ 43064, 41025, 911, 7539, 0, 0, 120339, 65159, 64390, 0, 0, 5520, 11662,
+ 0, 65330, 42812, 0, 0, 12326, 983591, 0, 42808, 128337, 9348, 64901,
+ 983596, 0, 0, 0, 0, 0, 917584, 43702, 983320, 5857, 65342, 92727, 119120,
+ 120079, 8644, 0, 0, 0, 74296, 41909, 0, 120332, 2791, 69663, 1891, 69824,
+ 0, 41907, 66647, 118939, 8761, 12942, 5748, 0, 10773, 0, 0, 8796, 78149,
+ 6412, 2061, 8520, 13146, 127185, 63931, 0, 65902, 2882, 0, 0, 12843,
+ 4520, 120345, 92459, 0, 983395, 0, 73860, 0, 0, 64345, 0, 9201, 128314,
+ 194940, 0, 0, 43679, 917585, 65117, 92270, 0, 10427, 0, 3844, 120675,
+ 9755, 1110, 6612, 12222, 0, 128789, 0, 0, 783, 194935, 0, 0, 983525,
+ 194720, 65056, 3620, 0, 68378, 4556, 0, 0, 194933, 74250, 0, 67657,
+ 10510, 4382, 66482, 0, 0, 127527, 9177, 8902, 0, 9839, 0, 12891, 983490,
+ 983371, 63999, 2016, 41917, 9788, 63928, 0, 1862, 65800, 9155, 66623,
+ 9786, 65082, 41919, 8579, 41914, 7981, 0, 66017, 4508, 64883, 92456,
+ 92522, 127814, 0, 64592, 74276, 120080, 6784, 78788, 68181, 0, 0, 0,
+ 127534, 12147, 9024, 66378, 66472, 983661, 64289, 65289, 78151, 66658,
194929, 64509, 78152, 0, 0, 11051, 0, 0, 11355, 65885, 0, 128310, 41214,
0, 12299, 0, 7500, 4506, 7773, 0, 0, 9963, 68649, 0, 4040, 120570, 6167,
- 0, 63922, 6594, 0, 0, 0, 3624, 43036, 0, 6387, 63990, 19947, 63988,
+ 0, 63922, 6594, 983475, 0, 0, 3624, 43036, 0, 6387, 63990, 19947, 63988,
41955, 0, 63993, 10440, 9611, 0, 6803, 0, 7738, 63986, 11446, 63984,
92641, 3435, 78164, 43814, 43810, 7029, 64258, 41292, 118898, 12748,
42742, 9517, 11518, 0, 78790, 0, 194777, 63956, 42458, 63954, 63953,
@@ -17725,133 +17958,135 @@ static unsigned int code_hash[] = {
1966, 43628, 0, 0, 0, 0, 63971, 4347, 4416, 42098, 11009, 10694, 63973,
402, 0, 13147, 0, 42100, 64646, 13228, 0, 41875, 3515, 74252, 11805, 0,
11302, 6259, 43395, 0, 0, 194670, 0, 92351, 0, 74425, 11299, 1561, 0,
- 92359, 64942, 0, 194733, 0, 194732, 0, 74301, 0, 11280, 0, 69784, 74060,
- 0, 0, 119664, 5145, 12486, 65018, 66516, 5409, 127379, 194669, 7402,
- 5399, 9685, 74089, 7952, 5401, 0, 66616, 68421, 0, 0, 5405, 127875,
- 64866, 0, 119583, 128345, 78784, 74248, 11330, 194723, 64690, 3254, 0, 0,
- 0, 42390, 43678, 194725, 0, 65077, 0, 6388, 3355, 9508, 9867, 5723,
- 11520, 5611, 0, 3377, 0, 0, 0, 0, 78228, 0, 0, 42691, 917886, 127198,
- 74767, 0, 127075, 1379, 246, 0, 0, 3788, 0, 11041, 92549, 66304, 0, 0,
- 8917, 42403, 301, 0, 0, 0, 0, 0, 0, 10656, 0, 65214, 119242, 42567,
- 92217, 13163, 0, 120831, 74597, 3182, 0, 0, 0, 65034, 65889, 42169, 4755,
- 74244, 0, 11443, 0, 66319, 74598, 608, 600, 0, 1219, 3934, 64206, 11483,
- 74510, 0, 74485, 42442, 65470, 0, 64202, 13160, 7759, 42482, 485, 128006,
- 0, 9828, 0, 0, 42280, 0, 9351, 7778, 64379, 7496, 42431, 6916, 1208, 0,
- 119631, 11002, 42470, 0, 118946, 0, 0, 74041, 0, 120633, 43539, 5411,
- 42196, 0, 0, 0, 9150, 0, 42393, 13086, 1310, 194687, 9337, 12052, 10643,
- 55271, 0, 12166, 2546, 194683, 213, 118852, 65611, 0, 0, 194756, 74310,
- 6554, 0, 11914, 5452, 0, 0, 0, 0, 0, 194681, 92560, 2713, 0, 9650, 43330,
- 0, 194675, 1406, 0, 0, 92659, 0, 68223, 4143, 194677, 0, 65748, 4141,
- 9682, 65287, 1508, 127013, 8779, 10569, 8725, 13299, 66638, 65750, 42263,
- 4145, 6380, 65751, 66613, 43994, 65738, 55250, 9185, 9550, 0, 43403, 0,
- 0, 0, 65736, 41951, 64816, 65756, 0, 12955, 10596, 2888, 0, 0, 0, 9657,
- 9019, 194766, 0, 2878, 5390, 0, 194961, 0, 68679, 43552, 7501, 6328, 0,
- 10429, 10365, 0, 0, 41946, 7503, 5235, 803, 68381, 0, 0, 8986, 0, 10632,
- 11934, 11452, 1332, 0, 0, 0, 0, 118887, 1791, 5191, 9288, 64822, 2892, 0,
- 43394, 555, 0, 0, 66646, 0, 119002, 13151, 74512, 7289, 74055, 0, 8854,
- 64162, 5858, 41927, 10582, 0, 1784, 1361, 195047, 0, 7905, 0, 64868,
- 128813, 13158, 92166, 7211, 0, 9371, 73973, 0, 6828, 1625, 92302, 0,
- 1342, 68440, 64171, 0, 10903, 0, 0, 0, 0, 0, 4482, 41606, 0, 128569, 0,
- 0, 64381, 0, 0, 0, 42245, 0, 41972, 0, 444, 0, 9127, 66687, 66619, 0,
- 78025, 0, 11349, 40991, 0, 0, 119599, 120830, 0, 1197, 128282, 1149,
- 194970, 0, 0, 40990, 0, 0, 3492, 0, 127942, 0, 0, 0, 12838, 0, 19948, 0,
- 3099, 0, 0, 41087, 0, 0, 0, 119059, 12036, 41309, 0, 0, 8152, 0, 64428,
- 12227, 0, 0, 12828, 127511, 0, 0, 120708, 0, 0, 10386, 119574, 0, 0,
- 92680, 0, 68154, 0, 1743, 0, 0, 92239, 65186, 0, 0, 9606, 0, 0, 64439, 0,
- 0, 92686, 0, 0, 194967, 0, 0, 3395, 9362, 10878, 0, 0, 78362, 64830, 0,
- 0, 41091, 3426, 1344, 8870, 0, 0, 4735, 127017, 6119, 12822, 42699, 0, 0,
- 74818, 5396, 0, 42637, 41080, 0, 12039, 10559, 0, 118892, 0, 9472, 0,
- 11929, 0, 7170, 9596, 6130, 128826, 43629, 11579, 194741, 0, 194740,
- 128691, 92185, 66699, 64440, 1004, 92584, 194737, 43234, 66008, 12627, 0,
- 68414, 0, 43619, 43382, 11300, 43304, 9686, 5890, 11776, 7558, 127158,
- 65627, 0, 10718, 13154, 3461, 9139, 0, 0, 0, 0, 65365, 73877, 65628,
- 78019, 0, 0, 41708, 12860, 2641, 12069, 10838, 5403, 10352, 73917, 10061,
- 43237, 0, 5140, 209, 128847, 41704, 41056, 43078, 128125, 118809, 0,
- 10899, 65469, 0, 0, 0, 2410, 993, 0, 120589, 120689, 78693, 0, 0, 7232,
- 0, 119253, 0, 7110, 74462, 2066, 10489, 42166, 43463, 10659, 3600, 0,
- 4224, 1336, 41518, 0, 0, 0, 0, 41139, 64820, 92538, 12966, 41134, 0, 0,
- 0, 0, 272, 4263, 8793, 0, 0, 41502, 0, 983, 12549, 0, 0, 1190, 4109,
- 1335, 841, 5888, 41358, 64863, 9544, 43481, 0, 0, 0, 2099, 5120, 2409,
- 7799, 0, 74424, 0, 0, 4731, 0, 66629, 0, 0, 1255, 4149, 9247, 0, 9913, 0,
- 0, 64914, 917787, 65101, 0, 11694, 92475, 11690, 5835, 127164, 66625,
- 10842, 41354, 42123, 43097, 11688, 66634, 1094, 194, 64692, 0, 8180, 0,
- 0, 9972, 73865, 4519, 6114, 10898, 43072, 0, 0, 128858, 0, 0, 10695, 0,
- 7540, 0, 881, 7857, 6067, 65164, 0, 0, 0, 13311, 68403, 41857, 64321,
- 8359, 0, 12689, 0, 194594, 0, 0, 0, 68183, 0, 0, 1287, 5436, 0, 0, 74142,
+ 92359, 64942, 0, 194733, 983421, 194732, 0, 74301, 0, 11280, 0, 69784,
+ 74060, 0, 0, 119664, 5145, 12486, 65018, 66516, 5409, 127379, 194669,
+ 7402, 5399, 9685, 74089, 7952, 5401, 0, 66616, 68421, 983654, 0, 5405,
+ 127875, 64866, 0, 119583, 128345, 78784, 74248, 11330, 194723, 64690,
+ 3254, 0, 0, 0, 42390, 43678, 194725, 983644, 65077, 0, 6388, 3355, 9508,
+ 9867, 5723, 11520, 5611, 0, 3377, 0, 0, 0, 0, 78228, 0, 983497, 42691,
+ 917886, 127198, 74767, 0, 127075, 1379, 246, 0, 0, 3788, 0, 11041, 92549,
+ 66304, 0, 0, 8917, 42403, 301, 0, 0, 0, 0, 0, 0, 10656, 0, 65214, 119242,
+ 42567, 92217, 13163, 983043, 120831, 74597, 3182, 0, 0, 0, 65034, 65889,
+ 42169, 4755, 74244, 0, 11443, 0, 66319, 74598, 608, 600, 0, 1219, 3934,
+ 64206, 11483, 74510, 0, 74485, 42442, 65470, 983642, 64202, 13160, 7759,
+ 42482, 485, 128006, 0, 9828, 0, 0, 42280, 0, 9351, 7778, 64379, 7496,
+ 42431, 6916, 1208, 0, 119631, 11002, 42470, 0, 118946, 0, 0, 74041, 0,
+ 120633, 43539, 5411, 42196, 0, 0, 0, 9150, 0, 42393, 13086, 1310, 194687,
+ 9337, 12052, 10643, 55271, 0, 12166, 2546, 194683, 213, 118852, 65611, 0,
+ 0, 194756, 74310, 6554, 0, 11914, 5452, 0, 0, 0, 0, 0, 194681, 92560,
+ 2713, 0, 9650, 43330, 0, 194675, 1406, 0, 0, 92659, 0, 68223, 4143,
+ 194677, 0, 65748, 4141, 9682, 65287, 1508, 127013, 8779, 10569, 8725,
+ 13299, 66638, 65750, 42263, 4145, 6380, 65751, 66613, 43994, 65738,
+ 55250, 9185, 9550, 0, 43403, 0, 0, 0, 65736, 41951, 64816, 65756, 983044,
+ 12955, 10596, 2888, 0, 0, 0, 9657, 9019, 194766, 0, 2878, 5390, 0,
+ 194961, 0, 68679, 43552, 7501, 6328, 0, 10429, 10365, 0, 0, 41946, 7503,
+ 5235, 803, 68381, 0, 0, 8986, 0, 10632, 11934, 11452, 1332, 0, 0, 0, 0,
+ 118887, 1791, 5191, 9288, 64822, 2892, 0, 43394, 555, 0, 0, 66646, 0,
+ 119002, 13151, 74512, 7289, 74055, 0, 8854, 64162, 5858, 41927, 10582, 0,
+ 1784, 1361, 195047, 0, 7905, 0, 64868, 128813, 13158, 92166, 7211, 0,
+ 9371, 73973, 0, 6828, 1625, 92302, 0, 1342, 68440, 64171, 0, 10903, 0, 0,
+ 0, 0, 0, 4482, 41606, 0, 128569, 0, 0, 64381, 0, 0, 0, 42245, 0, 41972,
+ 0, 444, 0, 9127, 66687, 66619, 0, 78025, 0, 11349, 40991, 0, 0, 119599,
+ 120830, 0, 1197, 128282, 1149, 194970, 0, 0, 40990, 0, 0, 3492, 0,
+ 127942, 0, 0, 0, 12838, 983710, 19948, 0, 3099, 0, 0, 41087, 0, 0, 0,
+ 119059, 12036, 41309, 0, 0, 8152, 0, 64428, 12227, 0, 0, 12828, 127511,
+ 0, 0, 120708, 0, 0, 10386, 119574, 0, 0, 92680, 983524, 68154, 0, 1743,
+ 0, 0, 92239, 65186, 0, 0, 9606, 0, 0, 64439, 0, 0, 92686, 0, 0, 194967,
+ 0, 0, 3395, 9362, 10878, 0, 0, 78362, 64830, 0, 0, 41091, 3426, 1344,
+ 8870, 0, 0, 4735, 127017, 6119, 12822, 42699, 0, 0, 74818, 5396, 0,
+ 42637, 41080, 0, 12039, 10559, 0, 118892, 0, 9472, 0, 11929, 0, 7170,
+ 9596, 6130, 128826, 43629, 11579, 194741, 0, 194740, 128691, 92185,
+ 66699, 64440, 1004, 92584, 194737, 43234, 66008, 12627, 0, 68414, 0,
+ 43619, 43382, 11300, 43304, 9686, 5890, 11776, 7558, 127158, 65627, 0,
+ 10718, 13154, 3461, 9139, 0, 0, 0, 0, 65365, 73877, 65628, 78019, 0, 0,
+ 41708, 12860, 2641, 12069, 10838, 5403, 10352, 73917, 10061, 43237, 0,
+ 5140, 209, 128847, 41704, 41056, 43078, 128125, 118809, 0, 10899, 65469,
+ 0, 0, 0, 2410, 993, 0, 120589, 120689, 78693, 0, 0, 7232, 0, 119253, 0,
+ 7110, 74462, 2066, 10489, 42166, 43463, 10659, 3600, 0, 4224, 1336,
+ 41518, 0, 0, 0, 0, 41139, 64820, 92538, 12966, 41134, 0, 0, 0, 0, 272,
+ 4263, 8793, 0, 0, 41502, 0, 983, 12549, 0, 0, 1190, 4109, 1335, 841,
+ 5888, 41358, 64863, 9544, 43481, 0, 0, 0, 2099, 5120, 2409, 7799, 0,
+ 74424, 0, 0, 4731, 0, 66629, 0, 0, 1255, 4149, 9247, 0, 9913, 0, 0,
+ 64914, 917787, 65101, 0, 11694, 92475, 11690, 5835, 127164, 66625, 10842,
+ 41354, 42123, 43097, 11688, 66634, 1094, 194, 64692, 0, 8180, 0, 0, 9972,
+ 73865, 4519, 6114, 10898, 43072, 0, 0, 128858, 0, 0, 10695, 0, 7540, 0,
+ 881, 7857, 6067, 65164, 0, 0, 0, 13311, 68403, 41857, 64321, 8359, 0,
+ 12689, 0, 194594, 0, 0, 983616, 68183, 0, 0, 1287, 5436, 0, 0, 74142,
92328, 74152, 119078, 6051, 10497, 69668, 8985, 12109, 0, 0, 0, 0, 0,
3652, 10537, 0, 1276, 120440, 6549, 279, 73745, 0, 0, 0, 1489, 0, 0, 0,
- 3899, 1007, 42124, 0, 42122, 92337, 0, 0, 11985, 1345, 78600, 0, 0, 8956,
- 43083, 119830, 42138, 78610, 0, 12151, 78608, 78604, 78605, 6285, 78603,
- 78612, 78613, 65942, 492, 8685, 0, 0, 0, 78622, 43712, 2582, 11470,
- 64538, 7444, 78615, 78616, 41550, 0, 73837, 119823, 2527, 119824, 197,
- 2799, 92594, 41944, 120276, 9933, 0, 66515, 767, 5524, 7028, 0, 0,
+ 3899, 1007, 42124, 983301, 42122, 92337, 0, 0, 11985, 1345, 78600, 0, 0,
+ 8956, 43083, 119830, 42138, 78610, 0, 12151, 78608, 78604, 78605, 6285,
+ 78603, 78612, 78613, 65942, 492, 8685, 0, 983494, 0, 78622, 43712, 2582,
+ 11470, 64538, 7444, 78615, 78616, 41550, 0, 73837, 119823, 2527, 119824,
+ 197, 2799, 92594, 41944, 120276, 9933, 0, 66515, 767, 5524, 7028, 0, 0,
119827, 119817, 119828, 78633, 10896, 0, 1799, 120497, 6971, 74336,
- 128342, 0, 65340, 118979, 41551, 2434, 0, 0, 120579, 0, 4631, 0, 0, 6407,
- 0, 6338, 43214, 0, 7570, 0, 3192, 0, 8414, 0, 0, 0, 0, 0, 9164, 66612, 0,
- 3171, 6623, 4961, 68396, 886, 55216, 8654, 78832, 9993, 74390, 64603, 0,
- 69241, 9599, 78629, 43084, 78627, 78628, 78625, 2399, 69693, 8994, 10944,
- 41208, 0, 41168, 8178, 0, 3367, 92334, 42510, 78641, 78636, 6804, 78634,
- 1947, 0, 0, 92681, 42759, 11068, 1705, 9331, 0, 74798, 9181, 65359, 0,
- 8017, 0, 65096, 66720, 0, 43475, 0, 4909, 12126, 128673, 120696, 4904, 0,
- 69650, 1365, 9253, 42757, 43436, 7462, 0, 0, 0, 0, 119587, 64415, 0, 0,
- 5398, 0, 127386, 0, 0, 0, 119015, 0, 0, 9476, 0, 0, 12763, 0, 3629, 0,
- 13005, 0, 3628, 0, 0, 92502, 3469, 42107, 42116, 917578, 64809, 2928,
- 4905, 9853, 851, 9040, 0, 64665, 43086, 9114, 0, 42583, 9315, 4822, 4906,
- 3852, 2847, 119821, 3236, 11317, 1251, 7777, 41852, 11410, 10964, 0,
- 43222, 12646, 120269, 10259, 9865, 65821, 0, 6018, 92290, 0, 12276, 0,
- 68372, 0, 92259, 119244, 0, 0, 10467, 0, 2443, 10918, 78217, 119825,
- 1001, 9241, 1927, 0, 0, 73987, 127885, 0, 0, 118828, 120271, 65678,
- 12867, 0, 8260, 77945, 7519, 11505, 12274, 8904, 518, 65857, 0, 128674,
- 13204, 4387, 857, 0, 65369, 0, 92336, 43125, 120592, 0, 0, 0, 0, 5136,
- 1968, 0, 195023, 1337, 64967, 1629, 0, 796, 66506, 0, 74123, 12877, 0,
- 42314, 43388, 0, 74403, 6120, 478, 65151, 68128, 128147, 43082, 6016, 0,
- 42284, 128507, 4276, 1206, 3619, 41638, 69691, 3843, 12011, 8853, 3361,
- 0, 490, 10715, 7578, 68384, 0, 65350, 10530, 12348, 8653, 74314, 42435,
- 6154, 9551, 65354, 78522, 784, 42397, 334, 0, 42416, 65356, 65273, 77987,
- 69666, 4442, 10364, 0, 778, 41626, 42455, 7989, 74063, 3227, 0, 127275,
- 73983, 2915, 11502, 41022, 41702, 10309, 127035, 78320, 0, 6975, 0, 5415,
- 12176, 0, 74193, 3462, 65215, 42629, 78691, 73784, 0, 0, 9759, 0, 78324,
- 127254, 8114, 78698, 78697, 78696, 78695, 8710, 42495, 118956, 0, 4051,
- 10460, 43364, 118917, 1356, 12161, 42713, 128857, 127268, 1619, 9703,
- 43152, 42489, 42112, 0, 1875, 10808, 42109, 120284, 41860, 64862, 13305,
- 64907, 5289, 13144, 128658, 0, 5575, 9675, 0, 5940, 226, 2649, 6336, 0,
- 0, 43236, 3382, 42449, 6498, 1658, 11936, 78232, 0, 11269, 10151, 73759,
- 43100, 74449, 65508, 0, 0, 0, 8935, 917985, 0, 0, 0, 616, 74753, 65178,
- 4684, 78701, 119653, 0, 0, 0, 6048, 74460, 42110, 73965, 10870, 8557,
- 11054, 68664, 119049, 9681, 4475, 0, 41142, 2100, 0, 120731, 6035, 0,
- 7651, 10296, 64443, 0, 0, 917987, 0, 118966, 74144, 40997, 0, 10392,
- 10328, 40998, 43462, 74488, 0, 9800, 8979, 0, 119131, 41000, 0, 119239,
- 6487, 3386, 0, 10344, 0, 65299, 5394, 43246, 78243, 10220, 66505, 41200,
- 128583, 4425, 0, 0, 0, 43074, 73799, 0, 78147, 0, 12173, 78545, 0, 0,
- 65338, 0, 0, 119582, 4474, 0, 43093, 0, 1587, 0, 127372, 64475, 128098,
- 1369, 0, 9959, 7927, 0, 4560, 0, 0, 92277, 0, 64948, 4430, 74347, 42601,
- 4514, 66434, 0, 8194, 65462, 10626, 10965, 0, 8893, 0, 12542, 0, 65341,
- 0, 65829, 7925, 119822, 10475, 0, 0, 1352, 11069, 7707, 127560, 0, 65279,
- 127102, 68207, 127100, 65605, 6040, 127097, 10071, 0, 9336, 128824, 0,
- 8899, 7798, 64474, 64259, 0, 65188, 7820, 43018, 0, 0, 7746, 1492, 78551,
- 10884, 77982, 0, 5127, 11285, 42501, 5495, 4273, 43095, 41426, 10849,
- 5730, 2999, 6342, 68636, 74304, 371, 64373, 6023, 169, 5497, 11708, 0, 0,
- 6323, 194684, 8224, 0, 8938, 6043, 12738, 0, 0, 5321, 0, 194798, 0, 2589,
- 74332, 1689, 7802, 4683, 74318, 42704, 120296, 11905, 0, 0, 128516,
- 128163, 74513, 6049, 0, 4027, 834, 118962, 1803, 0, 1503, 0, 0, 0, 5731,
- 1381, 2387, 0, 0, 8289, 64525, 65817, 2881, 43142, 0, 9601, 2879, 9668,
- 9766, 0, 5729, 917833, 74410, 6036, 64881, 4026, 9361, 127091, 2887, 0,
- 3526, 6298, 0, 77897, 120095, 78519, 0, 8572, 6021, 77896, 128288, 77895,
- 43155, 0, 119849, 3146, 10959, 9483, 0, 77893, 10981, 166, 917841, 8635,
- 0, 10623, 408, 119058, 127507, 13298, 0, 7426, 41641, 12717, 0, 7607,
- 10639, 66713, 0, 0, 41643, 74134, 0, 8713, 41640, 10221, 41645, 66712,
- 6645, 646, 66726, 66711, 42129, 0, 77901, 3472, 8697, 0, 0, 0, 0, 0, 0,
- 5809, 1950, 119356, 92432, 74572, 0, 42136, 0, 0, 0, 0, 3247, 119854,
- 65017, 0, 68428, 66668, 0, 0, 10983, 0, 0, 0, 41567, 0, 0, 0, 194624, 0,
- 0, 0, 8285, 0, 4509, 0, 66471, 12216, 0, 40988, 92592, 0, 41727, 0,
- 42848, 2396, 917766, 0, 74018, 917538, 64940, 7027, 3886, 0, 42457,
- 119008, 0, 996, 68123, 917571, 4249, 0, 917594, 11707, 8222, 0, 7939,
- 92454, 92460, 127801, 917592, 128359, 8534, 127154, 40983, 0, 0, 0, 7201,
- 12561, 0, 42371, 12558, 0, 917549, 10052, 40982, 0, 0, 1488, 0, 0, 0,
- 917559, 0, 0, 1563, 128034, 9619, 0, 0, 0, 127872, 0, 5803, 7797, 6070,
- 10006, 0, 2922, 6082, 0, 65009, 0, 12567, 128703, 0, 41412, 0, 0, 3607,
- 9200, 10046, 9612, 42153, 8218, 9485, 0, 2032, 78354, 0, 0, 0, 0, 0,
- 43085, 6057, 508, 128585, 128015, 120265, 0, 92405, 0, 0, 638, 6083,
+ 128342, 0, 65340, 118979, 41551, 2434, 983559, 0, 120579, 0, 4631, 0, 0,
+ 6407, 0, 6338, 43214, 0, 7570, 0, 3192, 0, 8414, 0, 0, 0, 0, 0, 9164,
+ 66612, 0, 3171, 6623, 4961, 68396, 886, 55216, 8654, 78832, 9993, 74390,
+ 64603, 0, 69241, 9599, 78629, 43084, 78627, 78628, 78625, 2399, 69693,
+ 8994, 10944, 41208, 983448, 41168, 8178, 0, 3367, 92334, 42510, 78641,
+ 78636, 6804, 78634, 1947, 0, 0, 92681, 42759, 11068, 1705, 9331, 0,
+ 74798, 9181, 65359, 0, 8017, 0, 65096, 66720, 0, 43475, 0, 4909, 12126,
+ 128673, 120696, 4904, 0, 69650, 1365, 9253, 42757, 43436, 7462, 0, 0, 0,
+ 0, 119587, 64415, 0, 0, 5398, 0, 127386, 0, 0, 0, 119015, 0, 0, 9476, 0,
+ 983512, 12763, 0, 3629, 0, 13005, 0, 3628, 0, 0, 92502, 3469, 42107,
+ 42116, 917578, 64809, 2928, 4905, 9853, 851, 9040, 0, 64665, 43086, 9114,
+ 0, 42583, 9315, 4822, 4906, 3852, 2847, 119821, 3236, 11317, 1251, 7777,
+ 41852, 11410, 10964, 0, 43222, 12646, 120269, 10259, 9865, 65821, 0,
+ 6018, 92290, 0, 12276, 0, 68372, 0, 92259, 119244, 0, 0, 10467, 0, 2443,
+ 10918, 78217, 119825, 1001, 9241, 1927, 0, 0, 73987, 127885, 0, 0,
+ 118828, 120271, 65678, 12867, 0, 8260, 77945, 7519, 11505, 12274, 8904,
+ 518, 65857, 0, 128674, 13204, 4387, 857, 0, 65369, 0, 92336, 43125,
+ 120592, 0, 0, 0, 0, 5136, 1968, 0, 195023, 1337, 64967, 1629, 0, 796,
+ 66506, 0, 74123, 12877, 0, 42314, 43388, 0, 74403, 6120, 478, 65151,
+ 68128, 128147, 43082, 6016, 0, 42284, 128507, 4276, 1206, 3619, 41638,
+ 69691, 3843, 12011, 8853, 3361, 0, 490, 10715, 7578, 68384, 0, 65350,
+ 10530, 12348, 8653, 74314, 42435, 6154, 9551, 65354, 78522, 784, 42397,
+ 334, 0, 42416, 65356, 65273, 77987, 69666, 4442, 10364, 0, 778, 41626,
+ 42455, 7989, 74063, 3227, 0, 127275, 73983, 2915, 11502, 41022, 41702,
+ 10309, 127035, 78320, 0, 6975, 0, 5415, 12176, 0, 74193, 3462, 65215,
+ 42629, 78691, 73784, 0, 0, 9759, 0, 78324, 127254, 8114, 78698, 78697,
+ 78696, 78695, 8710, 42495, 118956, 0, 4051, 10460, 43364, 118917, 1356,
+ 12161, 42713, 128857, 127268, 1619, 9703, 43152, 42489, 42112, 0, 1875,
+ 10808, 42109, 120284, 41860, 64862, 13305, 64907, 5289, 13144, 128658, 0,
+ 5575, 9675, 0, 5940, 226, 2649, 6336, 0, 0, 43236, 3382, 42449, 6498,
+ 1658, 11936, 78232, 0, 11269, 10151, 73759, 43100, 74449, 65508, 0, 0, 0,
+ 8935, 917985, 0, 0, 0, 616, 74753, 65178, 4684, 78701, 119653, 0, 0, 0,
+ 6048, 74460, 42110, 73965, 10870, 8557, 11054, 68664, 119049, 9681, 4475,
+ 0, 41142, 2100, 0, 120731, 6035, 0, 7651, 10296, 64443, 0, 0, 917987, 0,
+ 118966, 74144, 40997, 0, 10392, 10328, 40998, 43462, 74488, 0, 9800,
+ 8979, 0, 119131, 41000, 0, 119239, 6487, 3386, 0, 10344, 0, 65299, 5394,
+ 43246, 78243, 10220, 66505, 41200, 128583, 4425, 0, 0, 0, 43074, 73799,
+ 0, 78147, 0, 12173, 78545, 0, 0, 65338, 0, 0, 119582, 4474, 0, 43093, 0,
+ 1587, 0, 127372, 64475, 128098, 1369, 983407, 9959, 7927, 0, 4560, 0, 0,
+ 92277, 0, 64948, 4430, 74347, 42601, 4514, 66434, 983682, 8194, 65462,
+ 10626, 10965, 0, 8893, 0, 12542, 0, 65341, 0, 65829, 7925, 119822, 10475,
+ 0, 0, 1352, 11069, 7707, 127560, 0, 65279, 127102, 68207, 127100, 65605,
+ 6040, 127097, 10071, 0, 9336, 128824, 0, 8899, 7798, 64474, 64259, 0,
+ 65188, 7820, 43018, 0, 0, 7746, 1492, 78551, 10884, 77982, 0, 5127,
+ 11285, 42501, 5495, 4273, 43095, 41426, 10849, 5730, 2999, 6342, 68636,
+ 74304, 371, 64373, 6023, 169, 5497, 11708, 0, 0, 6323, 194684, 8224, 0,
+ 8938, 6043, 12738, 0, 0, 5321, 0, 194798, 0, 2589, 74332, 1689, 7802,
+ 4683, 74318, 42704, 120296, 11905, 0, 0, 128516, 128163, 74513, 6049, 0,
+ 4027, 834, 118962, 1803, 0, 1503, 0, 0, 0, 5731, 1381, 2387, 0, 0, 8289,
+ 64525, 65817, 2881, 43142, 0, 9601, 2879, 9668, 9766, 0, 5729, 917833,
+ 74410, 6036, 64881, 4026, 9361, 127091, 2887, 0, 3526, 6298, 0, 77897,
+ 120095, 78519, 0, 8572, 6021, 77896, 128288, 77895, 43155, 0, 119849,
+ 3146, 10959, 9483, 0, 77893, 10981, 166, 917841, 8635, 0, 10623, 408,
+ 119058, 127507, 13298, 0, 7426, 41641, 12717, 0, 7607, 10639, 66713, 0,
+ 0, 41643, 74134, 0, 8713, 41640, 10221, 41645, 66712, 6645, 646, 66726,
+ 66711, 42129, 0, 77901, 3472, 8697, 0, 0, 983550, 0, 0, 0, 5809, 1950,
+ 119356, 92432, 74572, 0, 42136, 0, 0, 0, 0, 3247, 119854, 65017, 983685,
+ 68428, 66668, 0, 0, 10983, 0, 0, 0, 41567, 0, 0, 0, 194624, 0, 0, 0,
+ 8285, 0, 4509, 0, 66471, 12216, 0, 40988, 92592, 0, 41727, 0, 42848,
+ 2396, 917766, 0, 74018, 917538, 64940, 7027, 3886, 0, 42457, 119008, 0,
+ 996, 68123, 917571, 4249, 0, 917594, 11707, 8222, 0, 7939, 92454, 92460,
+ 127801, 917592, 128359, 8534, 127154, 40983, 0, 983348, 0, 7201, 12561,
+ 0, 42371, 12558, 0, 917549, 10052, 40982, 0, 0, 1488, 0, 0, 0, 917559, 0,
+ 0, 1563, 128034, 9619, 983672, 0, 0, 127872, 983471, 5803, 7797, 6070,
+ 10006, 0, 2922, 6082, 0, 65009, 983674, 12567, 128703, 0, 41412, 0, 0,
+ 3607, 9200, 10046, 9612, 42153, 8218, 9485, 0, 2032, 78354, 0, 0, 0, 0,
+ 0, 43085, 6057, 508, 128585, 128015, 120265, 0, 92405, 0, 0, 638, 6083,
119072, 0, 0, 2305, 78348, 0, 0, 6056, 6659, 0, 0, 6085, 0, 0, 3915,
41634, 0, 41639, 63912, 11941, 0, 4028, 1787, 42180, 43096, 92690, 3249,
1768, 0, 12328, 501, 127074, 10601, 0, 583, 0, 41977, 0, 66004, 119350,
@@ -17860,65 +18095,66 @@ static unsigned int code_hash[] = {
78341, 119115, 78342, 0, 0, 74101, 0, 11762, 0, 92422, 77997, 128788,
66475, 0, 5027, 78172, 128878, 0, 5069, 73862, 5028, 9897, 0, 73739,
5026, 0, 68639, 6331, 10079, 8931, 0, 1415, 8866, 41901, 74790, 78138,
- 119361, 0, 43106, 5029, 65309, 1580, 3598, 68424, 41070, 77903, 0, 3440,
- 78215, 1562, 128656, 127175, 119358, 1716, 0, 10600, 917867, 620, 41001,
- 6028, 0, 42892, 0, 74822, 5024, 120829, 41003, 0, 5025, 128269, 0, 0,
- 119328, 0, 65557, 0, 74541, 0, 11599, 128209, 11602, 6243, 11574, 11581,
- 11597, 11598, 6253, 6105, 11584, 74195, 11569, 65275, 8906, 127096, 5755,
- 2636, 0, 10815, 11619, 78717, 41540, 7815, 11616, 6979, 12080, 7721,
- 11604, 7869, 1592, 0, 42152, 78498, 41048, 0, 829, 0, 92406, 19950, 0,
- 128217, 6616, 0, 118875, 10953, 391, 0, 69785, 482, 42296, 11588, 0,
- 43606, 0, 68397, 66370, 74506, 42335, 0, 0, 0, 7538, 5315, 120644, 42491,
- 0, 42061, 128088, 4576, 0, 68417, 43809, 4277, 0, 4039, 64472, 42338,
- 368, 42058, 3960, 11043, 11337, 78209, 917820, 63989, 3958, 12132, 1849,
- 0, 9921, 42451, 4253, 41147, 42064, 11959, 42404, 41160, 0, 3618, 78338,
- 0, 43300, 5156, 92629, 0, 929, 6827, 42035, 42437, 1555, 0, 8691, 66435,
- 0, 41662, 0, 0, 0, 0, 0, 4578, 64513, 41664, 0, 42578, 128794, 41661,
- 78715, 43267, 9356, 0, 0, 0, 1286, 10166, 0, 0, 64707, 0, 42476, 7730, 0,
- 128522, 42483, 0, 0, 42324, 42291, 10020, 43359, 0, 6641, 525, 41627,
- 917923, 8763, 128304, 41628, 533, 11931, 65225, 8321, 42504, 42581, 0,
- 6915, 42310, 4377, 8559, 0, 120234, 0, 13193, 64350, 11666, 8679, 41924,
- 1576, 7735, 92398, 0, 73840, 0, 11374, 78043, 10889, 43461, 7757, 42462,
- 120226, 10029, 66493, 2718, 4168, 73842, 13308, 120112, 0, 1179, 4440, 0,
- 77948, 363, 11015, 77947, 77944, 64296, 127090, 66692, 120826, 0, 66492,
- 6593, 64625, 41963, 92177, 119329, 0, 10013, 64434, 92520, 127095, 9492,
- 11782, 64382, 12833, 77830, 0, 1297, 41630, 630, 127094, 0, 120774,
- 92465, 1043, 43652, 66223, 10090, 0, 128664, 313, 917563, 41881, 0,
- 42311, 7445, 0, 5750, 10759, 9419, 55222, 9405, 11268, 42919, 9398, 8526,
- 9399, 9422, 0, 66495, 0, 0, 127239, 41718, 10707, 1603, 0, 119003, 0,
- 631, 77952, 69703, 13161, 65272, 0, 10546, 74210, 78101, 11600, 77961,
- 2797, 73821, 42427, 306, 714, 3058, 42381, 77962, 127080, 12351, 42395,
- 0, 11607, 0, 42282, 77971, 77967, 9157, 73765, 66364, 42433, 77964, 7603,
- 12803, 180, 42141, 0, 120612, 66494, 12674, 8244, 362, 92439, 0, 8037,
- 43777, 11535, 0, 74845, 5185, 7165, 5521, 10334, 2093, 77983, 10302,
- 128112, 10104, 1027, 5181, 0, 0, 10523, 1446, 42320, 41646, 991, 5189,
- 42472, 41647, 120105, 1722, 5581, 77979, 3405, 0, 194644, 5523, 0, 42620,
- 92447, 0, 9549, 0, 10549, 55282, 9661, 43682, 0, 77910, 120026, 78708, 0,
- 77911, 0, 41991, 0, 0, 7630, 9846, 7684, 10350, 0, 1174, 77981, 42733,
- 77978, 77980, 66485, 77977, 42277, 77974, 42456, 65667, 127037, 12330,
- 128272, 0, 42417, 42383, 0, 41344, 6293, 0, 66252, 77984, 74443, 0,
- 10209, 8313, 4195, 74435, 1316, 66690, 120032, 6332, 64894, 0, 65871,
- 78060, 1736, 0, 3901, 12228, 120151, 65200, 3383, 10446, 78841, 693,
- 9130, 314, 64149, 42420, 11949, 0, 120152, 11026, 0, 5332, 6940, 64154,
- 12635, 127007, 42706, 1751, 273, 8165, 13166, 120763, 78840, 0, 12824, 0,
- 4528, 5320, 6301, 43662, 6133, 9339, 9463, 42346, 10922, 64560, 3757, 0,
- 0, 0, 65869, 73760, 2569, 0, 2326, 65740, 2565, 42459, 7596, 7921, 0,
- 74095, 127981, 41848, 2567, 66006, 0, 4044, 92646, 0, 12233, 0, 1023,
- 474, 0, 119818, 0, 0, 42487, 65556, 0, 0, 42295, 0, 0, 0, 92518, 9835,
- 66499, 0, 5417, 12275, 10895, 0, 274, 0, 1858, 0, 0, 55251, 10118, 3133,
- 128008, 73795, 0, 9610, 8068, 8197, 0, 699, 0, 41665, 5868, 0, 92695,
- 42182, 7581, 19940, 43668, 41667, 128057, 0, 1923, 65583, 65802, 0,
- 64597, 43444, 119184, 92197, 0, 6464, 7036, 2996, 1937, 0, 0, 41835,
- 4047, 41842, 0, 64107, 0, 0, 11017, 0, 0, 293, 77966, 92169, 64791,
- 41827, 42466, 43422, 10579, 8560, 0, 65413, 77963, 4803, 12964, 1739,
- 1941, 3900, 0, 1713, 77969, 0, 73957, 11407, 42441, 41971, 6297, 120098,
- 64105, 128080, 42481, 11716, 66473, 7179, 42289, 0, 64103, 969, 0, 9352,
- 0, 6165, 64100, 0, 6632, 73861, 42402, 74327, 7806, 0, 8914, 0, 0, 3183,
+ 119361, 983308, 43106, 5029, 65309, 1580, 3598, 68424, 41070, 77903, 0,
+ 3440, 78215, 1562, 128656, 127175, 119358, 1716, 983414, 10600, 917867,
+ 620, 41001, 6028, 0, 42892, 0, 74822, 5024, 120829, 41003, 0, 5025,
+ 128269, 0, 0, 119328, 0, 65557, 0, 74541, 983331, 11599, 128209, 11602,
+ 6243, 11574, 11581, 11597, 11598, 6253, 6105, 11584, 74195, 11569, 65275,
+ 8906, 127096, 5755, 2636, 0, 10815, 11619, 78717, 41540, 7815, 11616,
+ 6979, 12080, 7721, 11604, 7869, 1592, 0, 42152, 78498, 41048, 0, 829, 0,
+ 92406, 19950, 0, 128217, 6616, 0, 118875, 10953, 391, 0, 69785, 482,
+ 42296, 11588, 0, 43606, 0, 68397, 66370, 74506, 42335, 0, 0, 0, 7538,
+ 5315, 120644, 42491, 0, 42061, 128088, 4576, 0, 68417, 43809, 4277, 0,
+ 4039, 64472, 42338, 368, 42058, 3960, 11043, 11337, 78209, 917820, 63989,
+ 3958, 12132, 1849, 0, 9921, 42451, 4253, 41147, 42064, 11959, 42404,
+ 41160, 0, 3618, 78338, 0, 43300, 5156, 92629, 0, 929, 6827, 42035, 42437,
+ 1555, 0, 8691, 66435, 0, 41662, 0, 0, 0, 0, 0, 4578, 64513, 41664, 0,
+ 42578, 128794, 41661, 78715, 43267, 9356, 0, 0, 0, 1286, 10166, 0, 0,
+ 64707, 0, 42476, 7730, 0, 128522, 42483, 0, 0, 42324, 42291, 10020,
+ 43359, 0, 6641, 525, 41627, 917923, 8763, 128304, 41628, 533, 11931,
+ 65225, 8321, 42504, 42581, 0, 6915, 42310, 4377, 8559, 0, 120234, 0,
+ 13193, 64350, 11666, 8679, 41924, 1576, 7735, 92398, 0, 73840, 0, 11374,
+ 78043, 10889, 43461, 7757, 42462, 120226, 10029, 66493, 2718, 4168,
+ 73842, 13308, 120112, 0, 1179, 4440, 0, 77948, 363, 11015, 77947, 77944,
+ 64296, 127090, 66692, 120826, 0, 66492, 6593, 64625, 41963, 92177,
+ 119329, 0, 10013, 64434, 92520, 127095, 9492, 11782, 64382, 12833, 77830,
+ 0, 1297, 41630, 630, 127094, 0, 120774, 92465, 1043, 43652, 66223, 10090,
+ 0, 128664, 313, 917563, 41881, 0, 42311, 7445, 0, 5750, 10759, 9419,
+ 55222, 9405, 11268, 42919, 9398, 8526, 9399, 9422, 0, 66495, 0, 0,
+ 127239, 41718, 10707, 1603, 0, 119003, 0, 631, 77952, 69703, 13161,
+ 65272, 0, 10546, 74210, 78101, 11600, 77961, 2797, 73821, 42427, 306,
+ 714, 3058, 42381, 77962, 127080, 12351, 42395, 0, 11607, 0, 42282, 77971,
+ 77967, 9157, 73765, 66364, 42433, 77964, 7603, 12803, 180, 42141, 0,
+ 120612, 66494, 12674, 8244, 362, 92439, 0, 8037, 43777, 11535, 0, 74845,
+ 5185, 7165, 5521, 10334, 2093, 77983, 10302, 128112, 10104, 1027, 5181,
+ 0, 0, 10523, 1446, 42320, 41646, 991, 5189, 42472, 41647, 120105, 1722,
+ 5581, 77979, 3405, 0, 194644, 5523, 0, 42620, 92447, 0, 9549, 0, 10549,
+ 55282, 9661, 43682, 0, 77910, 120026, 78708, 0, 77911, 0, 41991, 983628,
+ 0, 7630, 9846, 7684, 10350, 0, 1174, 77981, 42733, 77978, 77980, 66485,
+ 77977, 42277, 77974, 42456, 65667, 127037, 12330, 128272, 0, 42417,
+ 42383, 0, 41344, 6293, 0, 66252, 77984, 74443, 0, 10209, 8313, 4195,
+ 74435, 1316, 66690, 120032, 6332, 64894, 0, 65871, 78060, 1736, 983419,
+ 3901, 12228, 120151, 65200, 3383, 10446, 78841, 693, 9130, 314, 64149,
+ 42420, 11949, 0, 120152, 11026, 0, 5332, 6940, 64154, 12635, 127007,
+ 42706, 1751, 273, 8165, 13166, 120763, 78840, 0, 12824, 0, 4528, 5320,
+ 6301, 43662, 6133, 9339, 9463, 42346, 10922, 64560, 3757, 0, 0, 0, 65869,
+ 73760, 2569, 0, 2326, 65740, 2565, 42459, 7596, 7921, 0, 74095, 127981,
+ 41848, 2567, 66006, 0, 4044, 92646, 0, 12233, 983606, 1023, 474, 0,
+ 119818, 0, 0, 42487, 65556, 0, 0, 42295, 0, 0, 0, 92518, 9835, 66499, 0,
+ 5417, 12275, 10895, 0, 274, 0, 1858, 0, 0, 55251, 10118, 3133, 128008,
+ 73795, 0, 9610, 8068, 8197, 0, 699, 0, 41665, 5868, 0, 92695, 42182,
+ 7581, 19940, 43668, 41667, 128057, 0, 1923, 65583, 65802, 0, 64597,
+ 43444, 119184, 92197, 0, 6464, 7036, 2996, 1937, 983486, 0, 41835, 4047,
+ 41842, 0, 64107, 0, 0, 11017, 0, 0, 293, 77966, 92169, 64791, 41827,
+ 42466, 43422, 10579, 8560, 0, 65413, 77963, 4803, 12964, 1739, 1941,
+ 3900, 0, 1713, 77969, 0, 73957, 11407, 42441, 41971, 6297, 120098, 64105,
+ 128080, 42481, 11716, 66473, 7179, 42289, 0, 64103, 969, 0, 9352, 0,
+ 6165, 64100, 0, 6632, 73861, 42402, 74327, 7806, 0, 8914, 0, 0, 3183,
1435, 64876, 2969, 6046, 64441, 6208, 67849, 5746, 73749, 0, 64416,
42422, 0, 0, 7082, 73775, 338, 5059, 194719, 0, 42328, 10767, 0, 8115, 0,
74758, 0, 8227, 2073, 1218, 0, 0, 65848, 0, 0, 0, 0, 126987, 4486, 0, 0,
- 0, 10925, 0, 0, 0, 0, 42309, 10257, 65191, 10273, 0, 10305, 42461, 0,
- 42349, 8832, 78051, 64127, 10644, 42662, 78828, 42278, 74451, 126988,
+ 0, 10925, 0, 0, 0, 983330, 42309, 10257, 65191, 10273, 0, 10305, 42461,
+ 0, 42349, 8832, 78051, 64127, 10644, 42662, 78828, 42278, 74451, 126988,
917857, 7794, 0, 42429, 6377, 42316, 119026, 3669, 3968, 42468, 0, 69658,
0, 65402, 119581, 0, 0, 64933, 0, 41960, 6699, 0, 0, 128354, 6823, 42391,
1588, 65400, 8409, 78223, 19967, 65398, 787, 0, 917939, 127744, 6115,
@@ -17930,266 +18166,269 @@ static unsigned int code_hash[] = {
74602, 9955, 119557, 4055, 42817, 0, 65212, 11715, 12190, 12319, 78630,
0, 78631, 9502, 65427, 0, 65424, 12607, 0, 9734, 65425, 0, 0, 127357,
78835, 92410, 10112, 10827, 0, 9866, 74527, 66675, 0, 8625, 64346, 11290,
- 10477, 0, 8636, 0, 8315, 65444, 0, 0, 74595, 6152, 0, 0, 6629, 128251,
- 120171, 0, 74589, 43993, 0, 69790, 64435, 0, 43690, 11046, 11490, 42730,
- 4485, 127107, 0, 64926, 0, 0, 0, 5869, 12437, 42728, 0, 7040, 3588, 0,
- 12825, 0, 0, 12725, 0, 0, 78642, 223, 0, 69675, 120166, 42444, 0, 64499,
- 65245, 0, 1171, 0, 69717, 0, 1805, 8772, 43820, 0, 9930, 65247, 78619,
- 120111, 2338, 0, 118853, 0, 42676, 0, 64800, 65236, 67644, 68126, 1213,
- 0, 64075, 797, 64074, 8734, 4212, 0, 64387, 4115, 0, 5005, 64070, 64073,
- 10679, 0, 77954, 9402, 64276, 426, 0, 0, 8251, 10136, 65436, 0, 2120,
- 43302, 1224, 0, 65576, 120158, 10701, 1764, 3101, 127815, 12858, 120159,
- 0, 11373, 6378, 127859, 120103, 8663, 9312, 41644, 4539, 2129, 0, 9222,
- 0, 0, 4259, 9092, 74567, 41961, 0, 12724, 66357, 42331, 64935, 0, 0,
- 1293, 7947, 2132, 0, 74593, 120308, 2454, 42717, 3613, 128837, 0, 0,
- 65888, 8816, 10978, 10840, 0, 10668, 0, 43087, 12595, 120304, 0, 8822, 0,
- 1157, 64903, 8638, 0, 0, 0, 0, 120319, 8235, 120316, 4405, 10086, 120247,
- 0, 69216, 0, 65430, 74013, 6079, 6817, 10764, 127910, 64291, 128051, 998,
- 120312, 11062, 1317, 64327, 1558, 0, 1991, 7882, 42254, 0, 41700, 530, 0,
- 10428, 119335, 12002, 119336, 5742, 43076, 4692, 64630, 41823, 4007,
- 5004, 119334, 7896, 751, 6595, 6596, 0, 66373, 0, 0, 64908, 92691, 6311,
- 0, 12004, 119192, 12049, 43108, 120326, 0, 41705, 92188, 6598, 0, 6599,
- 120334, 0, 42148, 118825, 66027, 0, 6597, 9412, 8340, 11824, 64745, 0, 0,
- 0, 1988, 5407, 67865, 2430, 41678, 0, 120243, 2336, 0, 0, 78871, 120442,
- 0, 1921, 10947, 19927, 0, 65406, 0, 19913, 4284, 13217, 0, 43789, 12841,
- 9229, 10956, 42285, 41674, 19964, 41679, 65084, 3521, 0, 5774, 8325, 0,
- 65403, 0, 1854, 10794, 0, 67660, 0, 0, 78359, 5280, 0, 4344, 12905,
- 65433, 6076, 64793, 41610, 768, 12074, 442, 0, 68162, 64081, 12934,
- 41682, 65432, 41693, 0, 6071, 65434, 127467, 4804, 4053, 0, 127469,
- 194653, 41696, 467, 69823, 127463, 69797, 0, 0, 8421, 127472, 69682,
- 43705, 502, 0, 65431, 119056, 0, 12043, 1303, 316, 92462, 2029, 2136,
- 119246, 11533, 64365, 43480, 92639, 4860, 194645, 127877, 42488, 0, 9583,
- 128849, 5546, 8019, 73856, 0, 0, 0, 5544, 2355, 12150, 65725, 5543,
- 77989, 63751, 12137, 5548, 77985, 0, 65727, 68388, 65726, 6077, 128352,
- 65452, 0, 11301, 78013, 78008, 78010, 9874, 78007, 0, 1319, 3050, 65410,
- 0, 0, 78016, 78017, 42830, 43996, 66716, 128137, 4691, 92242, 9345, 621,
- 92709, 128222, 0, 65411, 0, 41182, 73881, 65408, 73899, 78024, 9474,
- 10545, 119118, 10887, 3786, 65409, 8894, 43179, 119611, 7923, 3716,
- 92363, 9996, 8508, 0, 7012, 8195, 127834, 9566, 0, 3722, 0, 41707, 8493,
- 545, 9575, 41379, 10050, 12718, 0, 8859, 6820, 74345, 65110, 120740, 0,
- 0, 9119, 2787, 7920, 118823, 4021, 2012, 7985, 0, 119663, 0, 0, 78021,
- 78022, 410, 78020, 1802, 78018, 74107, 0, 41659, 41671, 1827, 0, 64396,
- 10126, 12116, 41673, 120370, 11422, 78141, 120373, 3860, 120367, 68412,
- 41345, 120362, 120363, 11748, 42158, 7941, 11076, 8749, 120361, 2104,
- 64858, 361, 120357, 845, 0, 41560, 11970, 4562, 917920, 2926, 917919,
- 4569, 74130, 0, 43487, 194630, 611, 74129, 64871, 118891, 65629, 0,
- 194858, 0, 0, 127545, 120543, 0, 0, 6291, 0, 78639, 41669, 7094, 917921,
- 0, 0, 74054, 127754, 195029, 0, 839, 0, 7695, 8769, 65246, 4829, 0, 4859,
- 64467, 0, 0, 118998, 7206, 0, 6647, 43986, 0, 69766, 0, 64764, 4210, 0,
- 127936, 804, 0, 0, 12298, 0, 66653, 0, 64924, 10091, 73931, 9468, 74245,
- 0, 0, 74246, 92503, 12839, 64669, 92202, 0, 1279, 1425, 6224, 119229,
- 11049, 0, 92697, 43239, 8482, 92440, 0, 5032, 69677, 11940, 67888, 664,
- 120437, 5034, 0, 0, 127525, 42702, 73888, 0, 13294, 67873, 64869, 6032,
- 0, 9115, 7430, 120377, 0, 120819, 68387, 120168, 73913, 120170, 41161,
- 5518, 4174, 10993, 41162, 120160, 64528, 1169, 434, 41437, 1905, 6034,
- 41164, 64744, 9528, 118867, 128800, 524, 0, 74029, 788, 74027, 0, 194638,
- 0, 1663, 10419, 74025, 42636, 0, 69725, 0, 120656, 0, 67876, 0, 0, 0,
- 67897, 74039, 0, 0, 11395, 0, 119107, 43612, 64344, 0, 0, 10855, 5445,
- 9355, 0, 65198, 7391, 8989, 221, 65686, 0, 0, 8010, 7191, 4962, 69772,
- 8855, 0, 0, 64469, 120426, 10555, 0, 43333, 92299, 0, 120427, 10451, 0,
- 67653, 7245, 12443, 74405, 9947, 120149, 78317, 3873, 8367, 0, 120146,
- 43433, 43649, 11987, 0, 0, 11010, 12723, 74059, 74062, 6217, 5896, 0,
- 7682, 74049, 1462, 10235, 0, 0, 0, 0, 0, 0, 42595, 0, 74402, 118860, 0,
- 120419, 92497, 74052, 0, 0, 120549, 119082, 64295, 120418, 0, 64765,
- 73923, 120417, 120662, 120730, 194702, 6216, 0, 10755, 9455, 0, 8124,
- 127042, 9470, 6944, 127540, 0, 69680, 2828, 0, 531, 42638, 0, 0, 0,
- 43428, 8204, 3614, 2827, 9696, 0, 0, 8728, 4354, 10904, 78562, 19936,
- 7833, 120691, 0, 42599, 42597, 42709, 120409, 127044, 0, 8537, 0, 0, 0,
- 0, 0, 41199, 10121, 2028, 0, 0, 69715, 0, 3062, 0, 74447, 12608, 0,
- 66440, 7545, 9700, 12580, 0, 120777, 120502, 41155, 0, 74071, 0, 0,
- 12713, 0, 0, 0, 78772, 0, 1734, 0, 0, 127040, 64594, 2456, 231, 0, 74167,
- 542, 0, 118786, 0, 0, 1230, 0, 0, 3597, 4446, 10584, 74235, 92215, 4037,
- 127938, 8352, 0, 5687, 0, 64515, 0, 194801, 55265, 67846, 78434, 9704, 0,
- 0, 74284, 128285, 0, 8660, 0, 0, 0, 78773, 74482, 4483, 1709, 69721,
- 9909, 6080, 0, 120358, 1746, 1315, 8667, 0, 0, 13140, 65899, 10604, 0,
- 4480, 11266, 128152, 1226, 6930, 0, 0, 6360, 10897, 41230, 605, 0, 74785,
- 120356, 0, 0, 41500, 0, 311, 11453, 6221, 10608, 64943, 74280, 10877,
- 118868, 64885, 74272, 0, 0, 0, 120736, 74312, 345, 0, 74456, 64606, 9917,
- 0, 92231, 5037, 0, 1776, 8422, 0, 118814, 41508, 41201, 323, 43328, 0,
- 42698, 1295, 0, 4625, 0, 4630, 13117, 0, 128772, 65123, 11293, 2668,
- 11288, 0, 42640, 65666, 2519, 92369, 65420, 92479, 0, 4252, 5049, 42659,
- 119011, 706, 7754, 10854, 8738, 0, 65419, 0, 0, 649, 65421, 0, 66702, 0,
- 12670, 1013, 0, 64919, 705, 0, 65422, 127803, 1183, 0, 7017, 42852, 0,
- 8157, 9736, 64503, 65418, 0, 0, 74035, 0, 11913, 73874, 6696, 0, 8920, 0,
- 0, 7962, 12211, 9837, 2051, 66227, 0, 4184, 0, 0, 10177, 73777, 1857, 0,
- 4626, 8464, 8472, 0, 4629, 8499, 78321, 78322, 4624, 7818, 119173, 0, 0,
- 7805, 0, 0, 6935, 92292, 78325, 78326, 78323, 43327, 43989, 119046, 8492,
- 8250, 8459, 0, 8497, 8496, 0, 0, 78336, 78339, 9543, 78335, 78332, 77832,
- 65849, 77831, 0, 0, 12451, 0, 8684, 0, 6102, 0, 5298, 0, 5294, 0, 0, 0,
- 195062, 9949, 119826, 43617, 119215, 0, 12073, 0, 0, 77863, 13108,
- 120617, 74397, 41468, 0, 0, 5292, 55272, 0, 1939, 5302, 3970, 917879,
- 12455, 1793, 0, 0, 0, 6643, 92477, 65263, 0, 78330, 41293, 78328, 65923,
- 0, 13219, 9569, 0, 74383, 0, 0, 0, 5500, 8813, 0, 0, 74566, 5322, 0,
- 78340, 43631, 5324, 66443, 3784, 41614, 65269, 6230, 78349, 78345, 43324,
- 3360, 78344, 11523, 0, 92488, 9926, 7197, 0, 68429, 42894, 41821, 1249,
- 78360, 78361, 78356, 78358, 78353, 64899, 64763, 41149, 41807, 43162,
- 41815, 41150, 0, 10571, 10096, 0, 0, 78074, 6947, 41152, 887, 9249, 6565,
- 78510, 41990, 78509, 41811, 74466, 0, 6670, 77882, 0, 0, 43092, 43325, 0,
- 10168, 0, 9781, 128655, 9190, 0, 9666, 8269, 65944, 74005, 13019, 11670,
- 127383, 315, 12813, 0, 78432, 78256, 78351, 78352, 0, 0, 0, 0, 1378,
- 9509, 0, 0, 74475, 3066, 92220, 67847, 0, 92355, 0, 78365, 8787, 120379,
- 194616, 41618, 194615, 78261, 194614, 0, 64652, 0, 194612, 0, 78366,
- 42088, 0, 195061, 7176, 128833, 10137, 6121, 10995, 78259, 74534, 8119,
- 64874, 917816, 127199, 194939, 0, 74525, 0, 0, 12930, 1394, 74514, 0,
- 74515, 0, 118804, 2998, 9527, 120659, 65190, 12977, 42090, 119165, 0,
- 119100, 41236, 92235, 42005, 42003, 41237, 5848, 0, 0, 3670, 128657,
- 194600, 0, 0, 7890, 0, 11298, 43315, 0, 6229, 1593, 0, 0, 619, 4635,
- 65080, 0, 128002, 4120, 65337, 65336, 0, 11808, 119214, 74115, 9366,
- 42790, 42006, 0, 65327, 65326, 65325, 10757, 1507, 42216, 65321, 65320,
- 65335, 65334, 65333, 65332, 65331, 42059, 65329, 42689, 92427, 9128,
- 118885, 42073, 6785, 64590, 0, 4371, 7196, 65318, 2035, 65316, 4106,
- 65314, 65313, 42074, 127847, 41228, 0, 65609, 41241, 7903, 41239, 43533,
- 78459, 7189, 0, 0, 0, 12357, 42802, 78450, 8487, 9131, 0, 4615, 12695,
- 127752, 0, 12175, 0, 64535, 0, 7809, 0, 0, 562, 12169, 6590, 69762,
- 66455, 64738, 3219, 68654, 0, 0, 1037, 0, 2025, 128263, 13098, 78442,
- 10637, 4568, 549, 1570, 0, 2835, 0, 10624, 43623, 11072, 127191, 0, 0,
- 12606, 78433, 2825, 0, 10825, 8079, 2821, 41046, 92327, 0, 0, 120593,
- 13071, 0, 452, 41049, 42840, 6346, 2831, 5461, 74596, 11465, 5212, 0,
- 64703, 119191, 42308, 7181, 0, 41332, 0, 12333, 0, 1668, 0, 0, 0, 1187,
- 0, 42628, 78575, 0, 128777, 0, 3240, 128518, 12194, 0, 11591, 41065,
- 5323, 8166, 0, 0, 0, 74535, 1623, 65297, 128856, 571, 0, 4918, 0, 5288,
- 127295, 8916, 65048, 1909, 8864, 0, 0, 10736, 92508, 11571, 7615, 127300,
- 92296, 4237, 92576, 1035, 65815, 0, 7881, 701, 65936, 3489, 0, 0, 120751,
- 11403, 0, 0, 127146, 3796, 6800, 0, 3994, 11421, 0, 195076, 0, 0, 0, 0,
- 64857, 128105, 2855, 127828, 66308, 41621, 68214, 127283, 127817, 10654,
- 0, 119226, 12164, 3246, 7906, 43972, 65847, 7182, 0, 13024, 194822,
- 74270, 128289, 0, 0, 0, 1496, 747, 0, 942, 2378, 43136, 127905, 8466, 0,
- 9320, 8001, 1232, 8139, 11617, 0, 0, 11409, 68373, 6382, 0, 64634,
- 128279, 0, 11612, 0, 67600, 2374, 0, 8475, 11609, 66313, 0, 0, 5286,
- 119297, 0, 0, 64925, 120283, 194584, 118982, 194583, 7705, 11942, 11305,
- 194581, 3309, 0, 0, 0, 0, 6802, 0, 41653, 1280, 1241, 7168, 12096, 0,
- 66615, 42565, 41651, 0, 0, 0, 41650, 66507, 66470, 0, 12914, 41491,
- 66010, 119552, 6078, 9954, 0, 1475, 0, 9938, 6084, 917546, 41064, 41062,
- 0, 0, 3256, 128640, 42076, 43252, 78823, 917906, 8727, 0, 65875, 0, 0,
- 127762, 10562, 74215, 43065, 0, 0, 3248, 74297, 3261, 9015, 0, 0, 3635,
- 64337, 0, 0, 0, 7195, 0, 2007, 64431, 0, 0, 0, 0, 635, 0, 0, 65613,
- 77909, 92420, 73997, 0, 0, 119218, 7984, 8600, 74434, 127770, 4176, 0,
- 2034, 92551, 120805, 65891, 127038, 0, 318, 2038, 128860, 78596, 0, 3649,
- 13149, 42145, 42798, 3634, 120291, 118927, 67677, 120124, 7866, 0, 11402,
- 42146, 120134, 74238, 42664, 2849, 127034, 0, 7938, 12960, 1761, 11812,
- 65379, 68386, 128185, 1159, 0, 69729, 0, 0, 7178, 194632, 0, 41680, 0,
- 128203, 11534, 1514, 11668, 67891, 9313, 7015, 0, 67877, 0, 12989, 66474,
- 9368, 12848, 1624, 43270, 0, 194563, 10818, 128207, 9953, 0, 78421, 1194,
- 3242, 9761, 9555, 8598, 120299, 6169, 12871, 1551, 2798, 65176, 4958,
- 42752, 119025, 0, 67875, 120301, 3495, 66648, 194768, 0, 68364, 0, 4891,
- 0, 10641, 0, 73746, 0, 68352, 0, 73787, 0, 194633, 7199, 64955, 0, 0, 0,
- 0, 0, 42685, 42679, 193, 0, 0, 0, 42667, 0, 5271, 92318, 92517, 118882,
- 1362, 13297, 0, 128094, 0, 0, 73789, 0, 6658, 4426, 0, 92628, 0, 92319,
- 7276, 42163, 5220, 0, 0, 0, 2416, 3310, 42703, 0, 379, 0, 127977, 0, 0,
- 3223, 65492, 1284, 194771, 4549, 0, 0, 0, 127763, 10807, 9558, 194613, 0,
- 8515, 8688, 12866, 0, 3294, 0, 8529, 128101, 43385, 7564, 0, 43329, 0,
- 92458, 73757, 66456, 42359, 0, 2031, 0, 7202, 0, 12676, 42729, 92198,
- 3215, 0, 7710, 1610, 73801, 0, 0, 65682, 0, 120537, 65924, 9974, 228,
- 66354, 1501, 0, 64395, 5179, 7200, 6225, 0, 65794, 1725, 65533, 8196,
- 7476, 74399, 0, 0, 7152, 8502, 5762, 1967, 7483, 0, 0, 8104, 0, 7474,
- 92571, 0, 0, 10414, 13001, 8141, 0, 42537, 1557, 43594, 128642, 6330,
- 6805, 8631, 2545, 120672, 127166, 0, 74190, 0, 0, 0, 42762, 0, 42914,
- 1650, 262, 1637, 0, 7901, 3238, 128173, 41861, 0, 0, 65158, 10860, 0,
- 43658, 7527, 0, 43319, 6419, 0, 45, 0, 64588, 0, 0, 119810, 7194, 5291,
- 0, 43666, 13129, 0, 9084, 0, 8737, 0, 12881, 0, 12906, 9639, 7912, 2620,
- 0, 0, 0, 0, 179, 65896, 0, 64756, 2853, 78443, 118813, 0, 118996, 119009,
- 2850, 8084, 0, 73850, 2801, 92284, 42069, 119839, 74754, 119841, 42072,
- 119843, 119842, 10398, 0, 0, 8377, 127116, 8245, 68401, 3158, 92396,
- 3983, 43656, 923, 119857, 119856, 292, 13002, 119845, 119844, 3221, 1763,
- 92463, 4612, 119851, 119850, 7253, 127110, 68391, 0, 10782, 3637, 12996,
- 43542, 0, 64578, 0, 3228, 69636, 8783, 0, 119614, 2731, 0, 0, 78585,
- 4102, 7696, 73878, 0, 0, 78586, 43316, 4177, 11283, 9089, 0, 73996, 0,
- 64500, 43674, 0, 64947, 1856, 0, 0, 6379, 0, 0, 0, 3208, 12975, 74775, 0,
- 0, 92389, 74072, 55269, 0, 0, 0, 2033, 78577, 78576, 195026, 55254, 7740,
- 0, 0, 0, 73964, 0, 0, 67612, 65674, 0, 0, 41689, 0, 74006, 64909, 6646,
- 11790, 74019, 0, 128066, 128031, 8561, 4573, 0, 5326, 0, 120605, 7230,
- 8257, 0, 8778, 41688, 0, 65776, 2071, 8314, 6459, 0, 7628, 65092, 73903,
- 66721, 11342, 128561, 0, 0, 128226, 127001, 0, 11810, 13164, 10723, 967,
- 0, 0, 11946, 0, 3257, 0, 12307, 1845, 0, 43526, 0, 0, 1886, 42342, 10089,
- 870, 7648, 3499, 8609, 7652, 876, 871, 877, 0, 878, 42015, 879, 43692,
- 4563, 0, 0, 7591, 65887, 867, 9520, 872, 0, 868, 873, 7642, 0, 869, 874,
- 7644, 0, 875, 790, 128303, 0, 0, 0, 66182, 0, 5429, 0, 66180, 0, 66181,
- 68452, 0, 0, 42067, 0, 5433, 10657, 7911, 194622, 1547, 66176, 42012,
- 120576, 5425, 4977, 9999, 5317, 5423, 4611, 0, 67637, 0, 9679, 74122, 0,
- 0, 0, 66194, 4418, 66184, 4628, 4245, 119648, 0, 0, 1851, 0, 127189,
- 11908, 0, 9360, 118897, 0, 42776, 66187, 12837, 8829, 7711, 92714, 0,
- 92321, 43318, 0, 8809, 119974, 0, 0, 120604, 0, 0, 0, 0, 0, 0, 7427,
- 9958, 4588, 43680, 0, 74484, 0, 2433, 0, 119622, 3352, 74363, 0, 0, 793,
- 74404, 0, 305, 567, 67662, 842, 128519, 8208, 0, 41695, 1647, 118877, 0,
- 7837, 917625, 818, 5337, 917622, 917621, 41376, 119978, 917618, 120594,
- 74086, 917615, 917614, 917613, 10973, 66359, 1372, 127172, 917608, 4969,
- 1254, 917605, 917604, 917603, 917602, 65228, 78221, 0, 0, 2840, 0,
- 119982, 0, 0, 3245, 9068, 68194, 64725, 0, 0, 12991, 0, 2651, 128528, 0,
- 917611, 127026, 128883, 0, 0, 43648, 120812, 0, 43322, 92662, 0, 0,
- 64372, 92698, 3226, 655, 752, 7457, 7456, 7452, 3285, 128779, 127821,
- 119988, 65610, 2391, 0, 92248, 671, 250, 7434, 618, 668, 610, 42800,
- 7431, 1152, 42801, 640, 120666, 7448, 7439, 628, 3905, 73810, 0, 128266,
- 64749, 67850, 2107, 0, 0, 4605, 128174, 0, 43372, 65945, 128838, 0,
- 119590, 0, 0, 0, 987, 6927, 11572, 42261, 11464, 3365, 9971, 0, 0,
- 128297, 0, 0, 0, 0, 11334, 43326, 12609, 11519, 11503, 5530, 5210, 0,
- 4627, 0, 5208, 0, 128842, 10332, 5218, 7976, 9156, 0, 3244, 5529, 69647,
- 73894, 128852, 5432, 64965, 5527, 74033, 10516, 7790, 5528, 0, 42140,
- 120281, 0, 0, 43545, 9887, 0, 4000, 7429, 7428, 665, 7424, 3206, 120278,
- 7884, 0, 128566, 917989, 128666, 211, 2509, 0, 120573, 68672, 3220,
- 42235, 0, 10690, 8951, 5214, 42474, 8118, 0, 7048, 4590, 127258, 5852, 0,
- 0, 127259, 1708, 0, 0, 2623, 11943, 0, 69226, 0, 4698, 66509, 1066,
- 119921, 4701, 0, 120285, 74225, 119114, 8267, 0, 127265, 0, 7516, 0,
- 2625, 0, 8034, 74309, 0, 3631, 10955, 7850, 120293, 8416, 0, 0, 0, 43384,
- 12660, 0, 0, 0, 74850, 41069, 0, 128156, 12099, 4310, 10032, 6252, 713,
- 7990, 0, 3990, 0, 0, 66368, 5017, 64956, 7071, 0, 119144, 1030, 118800,
- 0, 9513, 41059, 9357, 0, 1773, 0, 120350, 0, 6339, 7745, 9844, 0, 64650,
- 94, 1880, 74766, 0, 8908, 0, 128707, 65913, 78470, 10752, 13003, 0, 0,
- 41307, 8732, 120338, 0, 1757, 6964, 4696, 0, 0, 64785, 7394, 3641, 5419,
- 128055, 0, 127883, 0, 120344, 43988, 0, 8610, 43062, 7592, 856, 74299,
- 936, 13289, 127521, 43171, 1459, 0, 65243, 78638, 19953, 0, 1504, 119108,
- 0, 12913, 74206, 7529, 0, 0, 0, 120782, 4113, 0, 2372, 336, 0, 7509,
- 12152, 0, 682, 66458, 41505, 0, 64743, 10593, 1703, 0, 0, 8033, 0, 0,
- 9810, 127269, 0, 12970, 0, 42351, 10109, 0, 0, 194693, 0, 119247, 0, 0,
- 74291, 1965, 7069, 43312, 0, 73887, 0, 2087, 64370, 6314, 41714, 8501, 0,
- 0, 74239, 41317, 92614, 2091, 74545, 2090, 0, 9353, 7117, 2077, 77886, 0,
- 10498, 2083, 77888, 0, 0, 119236, 634, 0, 0, 0, 69779, 4165, 8746, 0,
- 9654, 12856, 6924, 0, 7066, 0, 0, 128135, 41037, 42692, 7786, 12959,
+ 10477, 0, 8636, 983659, 8315, 65444, 983528, 0, 74595, 6152, 0, 0, 6629,
+ 128251, 120171, 0, 74589, 43993, 0, 69790, 64435, 0, 43690, 11046, 11490,
+ 42730, 4485, 127107, 0, 64926, 0, 0, 0, 5869, 12437, 42728, 0, 7040,
+ 3588, 0, 12825, 0, 0, 12725, 0, 0, 78642, 223, 0, 69675, 120166, 42444,
+ 0, 64499, 65245, 0, 1171, 0, 69717, 0, 1805, 8772, 43820, 0, 9930, 65247,
+ 78619, 120111, 2338, 0, 118853, 0, 42676, 0, 64800, 65236, 67644, 68126,
+ 1213, 0, 64075, 797, 64074, 8734, 4212, 0, 64387, 4115, 0, 5005, 64070,
+ 64073, 10679, 0, 77954, 9402, 64276, 426, 0, 0, 8251, 10136, 65436, 0,
+ 2120, 43302, 1224, 0, 65576, 120158, 10701, 1764, 3101, 127815, 12858,
+ 120159, 0, 11373, 6378, 127859, 120103, 8663, 9312, 41644, 4539, 2129, 0,
+ 9222, 983473, 0, 4259, 9092, 74567, 41961, 0, 12724, 66357, 42331, 64935,
+ 0, 0, 1293, 7947, 2132, 983502, 74593, 120308, 2454, 42717, 3613, 128837,
+ 0, 0, 65888, 8816, 10978, 10840, 0, 10668, 0, 43087, 12595, 120304, 0,
+ 8822, 0, 1157, 64903, 8638, 0, 0, 0, 0, 120319, 8235, 120316, 4405,
+ 10086, 120247, 0, 69216, 0, 65430, 74013, 6079, 6817, 10764, 127910,
+ 64291, 128051, 998, 120312, 11062, 1317, 64327, 1558, 0, 1991, 7882,
+ 42254, 0, 41700, 530, 0, 10428, 119335, 12002, 119336, 5742, 43076, 4692,
+ 64630, 41823, 4007, 5004, 119334, 7896, 751, 6595, 6596, 983416, 66373,
+ 0, 0, 64908, 92691, 6311, 0, 12004, 119192, 12049, 43108, 120326, 0,
+ 41705, 92188, 6598, 0, 6599, 120334, 0, 42148, 118825, 66027, 0, 6597,
+ 9412, 8340, 11824, 64745, 0, 0, 0, 1988, 5407, 67865, 2430, 41678, 0,
+ 120243, 2336, 983638, 0, 78871, 120442, 983504, 1921, 10947, 19927, 0,
+ 65406, 0, 19913, 4284, 13217, 0, 43789, 12841, 9229, 10956, 42285, 41674,
+ 19964, 41679, 65084, 3521, 0, 5774, 8325, 0, 65403, 0, 1854, 10794, 0,
+ 67660, 0, 0, 78359, 5280, 0, 4344, 12905, 65433, 6076, 64793, 41610, 768,
+ 12074, 442, 0, 68162, 64081, 12934, 41682, 65432, 41693, 0, 6071, 65434,
+ 127467, 4804, 4053, 0, 127469, 194653, 41696, 467, 69823, 127463, 69797,
+ 0, 0, 8421, 127472, 69682, 43705, 502, 0, 65431, 119056, 0, 12043, 1303,
+ 316, 92462, 2029, 2136, 119246, 11533, 64365, 43480, 92639, 4860, 194645,
+ 127877, 42488, 0, 9583, 128849, 5546, 8019, 73856, 0, 0, 0, 5544, 2355,
+ 12150, 65725, 5543, 77989, 63751, 12137, 5548, 77985, 0, 65727, 68388,
+ 65726, 6077, 128352, 65452, 0, 11301, 78013, 78008, 78010, 9874, 78007,
+ 0, 1319, 3050, 65410, 0, 0, 78016, 78017, 42830, 43996, 66716, 128137,
+ 4691, 92242, 9345, 621, 92709, 128222, 0, 65411, 0, 41182, 73881, 65408,
+ 73899, 78024, 9474, 10545, 119118, 10887, 3786, 65409, 8894, 43179,
+ 119611, 7923, 3716, 92363, 9996, 8508, 0, 7012, 8195, 127834, 9566, 0,
+ 3722, 0, 41707, 8493, 545, 9575, 41379, 10050, 12718, 0, 8859, 6820,
+ 74345, 65110, 120740, 0, 0, 9119, 2787, 7920, 118823, 4021, 2012, 7985,
+ 0, 119663, 0, 0, 78021, 78022, 410, 78020, 1802, 78018, 74107, 0, 41659,
+ 41671, 1827, 0, 64396, 10126, 12116, 41673, 120370, 11422, 78141, 120373,
+ 3860, 120367, 68412, 41345, 120362, 120363, 11748, 42158, 7941, 11076,
+ 8749, 120361, 2104, 64858, 361, 120357, 845, 0, 41560, 11970, 4562,
+ 917920, 2926, 917919, 4569, 74130, 0, 43487, 194630, 611, 74129, 64871,
+ 118891, 65629, 0, 194858, 0, 0, 127545, 120543, 0, 0, 6291, 0, 78639,
+ 41669, 7094, 917921, 0, 0, 74054, 127754, 195029, 0, 839, 0, 7695, 8769,
+ 65246, 4829, 0, 4859, 64467, 0, 983695, 118998, 7206, 0, 6647, 43986, 0,
+ 69766, 0, 64764, 4210, 983598, 127936, 804, 0, 0, 12298, 0, 66653, 0,
+ 64924, 10091, 73931, 9468, 74245, 0, 0, 74246, 92503, 12839, 64669,
+ 92202, 0, 1279, 1425, 6224, 119229, 11049, 0, 92697, 43239, 8482, 92440,
+ 0, 5032, 69677, 11940, 67888, 664, 120437, 5034, 0, 0, 127525, 42702,
+ 73888, 0, 13294, 67873, 64869, 6032, 0, 9115, 7430, 120377, 0, 120819,
+ 68387, 120168, 73913, 120170, 41161, 5518, 4174, 10993, 41162, 120160,
+ 64528, 1169, 434, 41437, 1905, 6034, 41164, 64744, 9528, 118867, 128800,
+ 524, 0, 74029, 788, 74027, 0, 194638, 0, 1663, 10419, 74025, 42636, 0,
+ 69725, 0, 120656, 0, 67876, 0, 0, 0, 67897, 74039, 0, 0, 11395, 0,
+ 119107, 43612, 64344, 0, 0, 10855, 5445, 9355, 0, 65198, 7391, 8989, 221,
+ 65686, 0, 0, 8010, 7191, 4962, 69772, 8855, 0, 0, 64469, 120426, 10555,
+ 0, 43333, 92299, 0, 120427, 10451, 0, 67653, 7245, 12443, 74405, 9947,
+ 120149, 78317, 3873, 8367, 0, 120146, 43433, 43649, 11987, 0, 0, 11010,
+ 12723, 74059, 74062, 6217, 5896, 0, 7682, 74049, 1462, 10235, 0, 0, 0, 0,
+ 0, 0, 42595, 0, 74402, 118860, 0, 120419, 92497, 74052, 0, 0, 120549,
+ 119082, 64295, 120418, 0, 64765, 73923, 120417, 120662, 120730, 194702,
+ 6216, 0, 10755, 9455, 0, 8124, 127042, 9470, 6944, 127540, 0, 69680,
+ 2828, 0, 531, 42638, 0, 0, 0, 43428, 8204, 3614, 2827, 9696, 0, 0, 8728,
+ 4354, 10904, 78562, 19936, 7833, 120691, 0, 42599, 42597, 42709, 120409,
+ 127044, 0, 8537, 0, 0, 0, 0, 0, 41199, 10121, 2028, 0, 0, 69715, 0, 3062,
+ 0, 74447, 12608, 0, 66440, 7545, 9700, 12580, 0, 120777, 120502, 41155,
+ 0, 74071, 0, 0, 12713, 0, 0, 0, 78772, 0, 1734, 0, 0, 127040, 64594,
+ 2456, 231, 0, 74167, 542, 0, 118786, 0, 983711, 1230, 0, 0, 3597, 4446,
+ 10584, 74235, 92215, 4037, 127938, 8352, 0, 5687, 0, 64515, 0, 194801,
+ 55265, 67846, 78434, 9704, 0, 0, 74284, 128285, 0, 8660, 0, 0, 0, 78773,
+ 74482, 4483, 1709, 69721, 9909, 6080, 0, 120358, 1746, 1315, 8667, 0, 0,
+ 13140, 65899, 10604, 0, 4480, 11266, 128152, 1226, 6930, 0, 0, 6360,
+ 10897, 41230, 605, 0, 74785, 120356, 0, 0, 41500, 0, 311, 11453, 6221,
+ 10608, 64943, 74280, 10877, 118868, 64885, 74272, 0, 0, 0, 120736, 74312,
+ 345, 0, 74456, 64606, 9917, 0, 92231, 5037, 0, 1776, 8422, 0, 118814,
+ 41508, 41201, 323, 43328, 0, 42698, 1295, 0, 4625, 0, 4630, 13117, 0,
+ 128772, 65123, 11293, 2668, 11288, 0, 42640, 65666, 2519, 92369, 65420,
+ 92479, 0, 4252, 5049, 42659, 119011, 706, 7754, 10854, 8738, 0, 65419, 0,
+ 0, 649, 65421, 0, 66702, 0, 12670, 1013, 0, 64919, 705, 0, 65422, 127803,
+ 1183, 0, 7017, 42852, 0, 8157, 9736, 64503, 65418, 0, 983613, 74035, 0,
+ 11913, 73874, 6696, 0, 8920, 0, 0, 7962, 12211, 9837, 2051, 66227, 0,
+ 4184, 0, 0, 10177, 73777, 1857, 0, 4626, 8464, 8472, 0, 4629, 8499,
+ 78321, 78322, 4624, 7818, 119173, 0, 0, 7805, 0, 0, 6935, 92292, 78325,
+ 78326, 78323, 43327, 43989, 119046, 8492, 8250, 8459, 0, 8497, 8496, 0,
+ 0, 78336, 78339, 9543, 78335, 78332, 77832, 65849, 77831, 983693, 0,
+ 12451, 0, 8684, 0, 6102, 0, 5298, 0, 5294, 0, 0, 0, 195062, 9949, 119826,
+ 43617, 119215, 0, 12073, 0, 0, 77863, 13108, 120617, 74397, 41468,
+ 983492, 0, 5292, 55272, 0, 1939, 5302, 3970, 917879, 12455, 1793, 0, 0,
+ 0, 6643, 92477, 65263, 0, 78330, 41293, 78328, 65923, 0, 13219, 9569, 0,
+ 74383, 0, 0, 0, 5500, 8813, 0, 0, 74566, 5322, 0, 78340, 43631, 5324,
+ 66443, 3784, 41614, 65269, 6230, 78349, 78345, 43324, 3360, 78344, 11523,
+ 0, 92488, 9926, 7197, 0, 68429, 42894, 41821, 1249, 78360, 78361, 78356,
+ 78358, 78353, 64899, 64763, 41149, 41807, 43162, 41815, 41150, 0, 10571,
+ 10096, 0, 0, 78074, 6947, 41152, 887, 9249, 6565, 78510, 41990, 78509,
+ 41811, 74466, 0, 6670, 77882, 0, 0, 43092, 43325, 0, 10168, 0, 9781,
+ 128655, 9190, 0, 9666, 8269, 65944, 74005, 13019, 11670, 127383, 315,
+ 12813, 0, 78432, 78256, 78351, 78352, 0, 983392, 0, 0, 1378, 9509, 0, 0,
+ 74475, 3066, 92220, 67847, 0, 92355, 0, 78365, 8787, 120379, 194616,
+ 41618, 194615, 78261, 194614, 0, 64652, 0, 194612, 0, 78366, 42088, 0,
+ 195061, 7176, 128833, 10137, 6121, 10995, 78259, 74534, 8119, 64874,
+ 917816, 127199, 194939, 0, 74525, 0, 0, 12930, 1394, 74514, 0, 74515, 0,
+ 118804, 2998, 9527, 120659, 65190, 12977, 42090, 119165, 0, 119100,
+ 41236, 92235, 42005, 42003, 41237, 5848, 0, 0, 3670, 128657, 194600, 0,
+ 0, 7890, 0, 11298, 43315, 0, 6229, 1593, 0, 0, 619, 4635, 65080, 0,
+ 128002, 4120, 65337, 65336, 0, 11808, 119214, 74115, 9366, 42790, 42006,
+ 0, 65327, 65326, 65325, 10757, 1507, 42216, 65321, 65320, 65335, 65334,
+ 65333, 65332, 65331, 42059, 65329, 42689, 92427, 9128, 118885, 42073,
+ 6785, 64590, 983565, 4371, 7196, 65318, 2035, 65316, 4106, 65314, 65313,
+ 42074, 127847, 41228, 0, 65609, 41241, 7903, 41239, 43533, 78459, 7189,
+ 0, 0, 0, 12357, 42802, 78450, 8487, 9131, 0, 4615, 12695, 127752, 0,
+ 12175, 0, 64535, 0, 7809, 0, 0, 562, 12169, 6590, 69762, 66455, 64738,
+ 3219, 68654, 983522, 0, 1037, 0, 2025, 128263, 13098, 78442, 10637, 4568,
+ 549, 1570, 0, 2835, 0, 10624, 43623, 11072, 127191, 0, 0, 12606, 78433,
+ 2825, 0, 10825, 8079, 2821, 41046, 92327, 0, 983488, 120593, 13071, 0,
+ 452, 41049, 42840, 6346, 2831, 5461, 74596, 11465, 5212, 0, 64703,
+ 119191, 42308, 7181, 0, 41332, 0, 12333, 0, 1668, 0, 0, 0, 1187, 0,
+ 42628, 78575, 0, 128777, 0, 3240, 128518, 12194, 0, 11591, 41065, 5323,
+ 8166, 0, 0, 0, 74535, 1623, 65297, 128856, 571, 0, 4918, 0, 5288, 127295,
+ 8916, 65048, 1909, 8864, 0, 0, 10736, 92508, 11571, 7615, 127300, 92296,
+ 4237, 92576, 1035, 65815, 0, 7881, 701, 65936, 3489, 0, 0, 120751, 11403,
+ 0, 0, 127146, 3796, 6800, 0, 3994, 11421, 0, 195076, 0, 0, 0, 0, 64857,
+ 128105, 2855, 127828, 66308, 41621, 68214, 127283, 127817, 10654, 0,
+ 119226, 12164, 3246, 7906, 43972, 65847, 7182, 0, 13024, 194822, 74270,
+ 128289, 0, 0, 0, 1496, 747, 0, 942, 2378, 43136, 127905, 8466, 0, 9320,
+ 8001, 1232, 8139, 11617, 0, 0, 11409, 68373, 6382, 0, 64634, 128279, 0,
+ 11612, 0, 67600, 2374, 0, 8475, 11609, 66313, 0, 0, 5286, 119297, 0, 0,
+ 64925, 120283, 194584, 118982, 194583, 7705, 11942, 11305, 194581, 3309,
+ 0, 0, 0, 0, 6802, 0, 41653, 1280, 1241, 7168, 12096, 0, 66615, 42565,
+ 41651, 0, 0, 0, 41650, 66507, 66470, 0, 12914, 41491, 66010, 119552,
+ 6078, 9954, 0, 1475, 0, 9938, 6084, 917546, 41064, 41062, 0, 0, 3256,
+ 128640, 42076, 43252, 78823, 917906, 8727, 0, 65875, 0, 0, 127762, 10562,
+ 74215, 43065, 0, 0, 3248, 74297, 3261, 9015, 0, 0, 3635, 64337, 0, 0, 0,
+ 7195, 0, 2007, 64431, 0, 0, 0, 0, 635, 0, 0, 65613, 77909, 92420, 73997,
+ 0, 0, 119218, 7984, 8600, 74434, 127770, 4176, 0, 2034, 92551, 120805,
+ 65891, 127038, 0, 318, 2038, 128860, 78596, 0, 3649, 13149, 42145, 42798,
+ 3634, 120291, 118927, 67677, 120124, 7866, 0, 11402, 42146, 120134,
+ 74238, 42664, 2849, 127034, 0, 7938, 12960, 1761, 11812, 65379, 68386,
+ 128185, 1159, 0, 69729, 0, 0, 7178, 194632, 0, 41680, 0, 128203, 11534,
+ 1514, 11668, 67891, 9313, 7015, 0, 67877, 0, 12989, 66474, 9368, 12848,
+ 1624, 43270, 0, 194563, 10818, 128207, 9953, 0, 78421, 1194, 3242, 9761,
+ 9555, 8598, 120299, 6169, 12871, 1551, 2798, 65176, 4958, 42752, 119025,
+ 0, 67875, 120301, 3495, 66648, 194768, 0, 68364, 0, 4891, 0, 10641, 0,
+ 73746, 0, 68352, 0, 73787, 0, 194633, 7199, 64955, 0, 0, 0, 0, 0, 42685,
+ 42679, 193, 0, 0, 0, 42667, 0, 5271, 92318, 92517, 118882, 1362, 13297,
+ 0, 128094, 0, 0, 73789, 0, 6658, 4426, 0, 92628, 983577, 92319, 7276,
+ 42163, 5220, 0, 0, 0, 2416, 3310, 42703, 0, 379, 0, 127977, 0, 0, 3223,
+ 65492, 1284, 194771, 4549, 0, 0, 0, 127763, 10807, 9558, 194613, 0, 8515,
+ 8688, 12866, 0, 3294, 0, 8529, 128101, 43385, 7564, 0, 43329, 0, 92458,
+ 73757, 66456, 42359, 0, 2031, 0, 7202, 0, 12676, 42729, 92198, 3215, 0,
+ 7710, 1610, 73801, 0, 0, 65682, 0, 120537, 65924, 9974, 228, 66354, 1501,
+ 0, 64395, 5179, 7200, 6225, 0, 65794, 1725, 65533, 8196, 7476, 74399, 0,
+ 0, 7152, 8502, 5762, 1967, 7483, 0, 0, 8104, 0, 7474, 92571, 0, 0, 10414,
+ 13001, 8141, 0, 42537, 1557, 43594, 128642, 6330, 6805, 8631, 2545,
+ 120672, 127166, 0, 74190, 0, 0, 983521, 42762, 0, 42914, 1650, 262, 1637,
+ 0, 7901, 3238, 128173, 41861, 0, 0, 65158, 10860, 983575, 43658, 7527, 0,
+ 43319, 6419, 0, 45, 0, 64588, 0, 0, 119810, 7194, 5291, 0, 43666, 13129,
+ 0, 9084, 0, 8737, 0, 12881, 0, 12906, 9639, 7912, 2620, 0, 0, 0, 0, 179,
+ 65896, 0, 64756, 2853, 78443, 118813, 983625, 118996, 119009, 2850, 8084,
+ 0, 73850, 2801, 92284, 42069, 119839, 74754, 119841, 42072, 119843,
+ 119842, 10398, 0, 0, 8377, 127116, 8245, 68401, 3158, 92396, 3983, 43656,
+ 923, 119857, 119856, 292, 13002, 119845, 119844, 3221, 1763, 92463, 4612,
+ 119851, 119850, 7253, 127110, 68391, 0, 10782, 3637, 12996, 43542, 0,
+ 64578, 0, 3228, 69636, 8783, 0, 119614, 2731, 0, 0, 78585, 4102, 7696,
+ 73878, 0, 0, 78586, 43316, 4177, 11283, 9089, 0, 73996, 0, 64500, 43674,
+ 0, 64947, 1856, 0, 0, 6379, 0, 0, 0, 3208, 12975, 74775, 0, 983663,
+ 92389, 74072, 55269, 0, 0, 983418, 2033, 78577, 78576, 195026, 55254,
+ 7740, 0, 0, 0, 73964, 0, 0, 67612, 65674, 0, 0, 41689, 0, 74006, 64909,
+ 6646, 11790, 74019, 0, 128066, 128031, 8561, 4573, 0, 5326, 0, 120605,
+ 7230, 8257, 0, 8778, 41688, 0, 65776, 2071, 8314, 6459, 0, 7628, 65092,
+ 73903, 66721, 11342, 128561, 0, 0, 128226, 127001, 0, 11810, 13164,
+ 10723, 967, 983683, 0, 11946, 0, 3257, 0, 12307, 1845, 0, 43526, 0, 0,
+ 1886, 42342, 10089, 870, 7648, 3499, 8609, 7652, 876, 871, 877, 0, 878,
+ 42015, 879, 43692, 4563, 0, 0, 7591, 65887, 867, 9520, 872, 983614, 868,
+ 873, 7642, 0, 869, 874, 7644, 983610, 875, 790, 128303, 0, 0, 0, 66182,
+ 0, 5429, 0, 66180, 0, 66181, 68452, 0, 0, 42067, 0, 5433, 10657, 7911,
+ 194622, 1547, 66176, 42012, 120576, 5425, 4977, 9999, 5317, 5423, 4611,
+ 0, 67637, 0, 9679, 74122, 0, 0, 0, 66194, 4418, 66184, 4628, 4245,
+ 119648, 0, 0, 1851, 0, 127189, 11908, 0, 9360, 118897, 983530, 42776,
+ 66187, 12837, 8829, 7711, 92714, 0, 92321, 43318, 0, 8809, 119974, 0, 0,
+ 120604, 0, 983617, 0, 0, 0, 0, 7427, 9958, 4588, 43680, 0, 74484, 0,
+ 2433, 0, 119622, 3352, 74363, 983620, 0, 793, 74404, 0, 305, 567, 67662,
+ 842, 128519, 8208, 0, 41695, 1647, 118877, 0, 7837, 917625, 818, 5337,
+ 917622, 917621, 41376, 119978, 917618, 120594, 74086, 917615, 917614,
+ 917613, 10973, 66359, 1372, 127172, 917608, 4969, 1254, 917605, 917604,
+ 917603, 917602, 65228, 78221, 0, 0, 2840, 0, 119982, 983671, 0, 3245,
+ 9068, 68194, 64725, 0, 0, 12991, 0, 2651, 128528, 983619, 917611, 127026,
+ 128883, 0, 0, 43648, 120812, 0, 43322, 92662, 0, 0, 64372, 92698, 3226,
+ 655, 752, 7457, 7456, 7452, 3285, 128779, 127821, 119988, 65610, 2391, 0,
+ 92248, 671, 250, 7434, 618, 668, 610, 42800, 7431, 1152, 42801, 640,
+ 120666, 7448, 7439, 628, 3905, 73810, 0, 128266, 64749, 67850, 2107, 0,
+ 0, 4605, 128174, 0, 43372, 65945, 128838, 0, 119590, 0, 0, 0, 987, 6927,
+ 11572, 42261, 11464, 3365, 9971, 0, 0, 128297, 0, 0, 0, 0, 11334, 43326,
+ 12609, 11519, 11503, 5530, 5210, 0, 4627, 983627, 5208, 0, 128842, 10332,
+ 5218, 7976, 9156, 0, 3244, 5529, 69647, 73894, 128852, 5432, 64965, 5527,
+ 74033, 10516, 7790, 5528, 0, 42140, 120281, 0, 0, 43545, 9887, 0, 4000,
+ 7429, 7428, 665, 7424, 3206, 120278, 7884, 0, 128566, 917989, 128666,
+ 211, 2509, 0, 120573, 68672, 3220, 42235, 0, 10690, 8951, 5214, 42474,
+ 8118, 0, 7048, 4590, 127258, 5852, 0, 0, 127259, 1708, 0, 0, 2623, 11943,
+ 0, 69226, 0, 4698, 66509, 1066, 119921, 4701, 983611, 120285, 74225,
+ 119114, 8267, 0, 127265, 0, 7516, 0, 2625, 983709, 8034, 74309, 0, 3631,
+ 10955, 7850, 120293, 8416, 0, 0, 0, 43384, 12660, 0, 0, 0, 74850, 41069,
+ 0, 128156, 12099, 4310, 10032, 6252, 713, 7990, 0, 3990, 0, 0, 66368,
+ 5017, 64956, 7071, 0, 119144, 1030, 118800, 0, 9513, 41059, 9357, 0,
+ 1773, 0, 120350, 0, 6339, 7745, 9844, 0, 64650, 94, 1880, 74766, 983573,
+ 8908, 0, 128707, 65913, 78470, 10752, 13003, 0, 0, 41307, 8732, 120338,
+ 0, 1757, 6964, 4696, 0, 0, 64785, 7394, 3641, 5419, 128055, 0, 127883, 0,
+ 120344, 43988, 0, 8610, 43062, 7592, 856, 74299, 936, 13289, 127521,
+ 43171, 1459, 0, 65243, 78638, 19953, 0, 1504, 119108, 0, 12913, 74206,
+ 7529, 0, 0, 983689, 120782, 4113, 0, 2372, 336, 0, 7509, 12152, 0, 682,
+ 66458, 41505, 0, 64743, 10593, 1703, 0, 983687, 8033, 0, 0, 9810, 127269,
+ 0, 12970, 0, 42351, 10109, 0, 0, 194693, 0, 119247, 0, 0, 74291, 1965,
+ 7069, 43312, 0, 73887, 0, 2087, 64370, 6314, 41714, 8501, 0, 0, 74239,
+ 41317, 92614, 2091, 74545, 2090, 0, 9353, 7117, 2077, 77886, 0, 10498,
+ 2083, 77888, 0, 0, 119236, 634, 0, 0, 0, 69779, 4165, 8746, 0, 9654,
+ 12856, 6924, 0, 7066, 983454, 0, 128135, 41037, 42692, 7786, 12959,
41039, 0, 0, 680, 6274, 128200, 1181, 7056, 3174, 0, 0, 92668, 65665,
127375, 0, 6920, 0, 92295, 0, 118965, 0, 64644, 126981, 0, 0, 41028, 0,
- 6231, 2613, 65302, 40989, 0, 194696, 0, 42760, 0, 0, 0, 40987, 4667, 0,
- 0, 8828, 0, 0, 1246, 4746, 0, 0, 11021, 4749, 92675, 0, 921, 4744, 0,
- 12702, 242, 0, 1566, 8217, 0, 64653, 78386, 128121, 74036, 74505, 43274,
- 5313, 951, 0, 0, 0, 7604, 0, 4009, 127816, 0, 120562, 0, 0, 64860,
- 119138, 119069, 0, 127370, 4048, 0, 0, 120596, 1646, 77890, 64534, 73995,
- 120705, 0, 119890, 2579, 119905, 3177, 11357, 9099, 4107, 3441, 119894,
- 2975, 74442, 9822, 0, 55220, 10084, 73943, 118840, 0, 917562, 0, 3399,
- 9851, 0, 11909, 9059, 0, 7687, 0, 6789, 0, 0, 0, 0, 0, 0, 1777, 9151,
- 1137, 69767, 749, 42366, 0, 5385, 128574, 128218, 0, 0, 5989, 0, 0,
- 128091, 0, 41685, 69223, 0, 9769, 41684, 0, 519, 0, 11740, 5766, 0, 0,
- 2600, 8848, 120138, 41297, 0, 3666, 74473, 41300, 74468, 65160, 0, 69688,
- 69771, 74479, 0, 6558, 0, 0, 69765, 120750, 252, 0, 41302, 0, 0, 0,
- 69763, 0, 11729, 8719, 9060, 0, 120139, 10761, 0, 0, 0, 118792, 11734, 0,
- 11730, 0, 9593, 5757, 2403, 64808, 55275, 0, 11728, 43572, 0, 0, 7764, 0,
- 11094, 120825, 0, 0, 4282, 8298, 0, 0, 0, 0, 0, 64449, 0, 127509, 63854,
- 8456, 0, 74783, 65670, 0, 78250, 0, 7774, 10607, 9792, 0, 0, 0, 0,
- 120764, 0, 10019, 74762, 0, 3458, 4365, 0, 0, 3647, 0, 2602, 128341, 0,
- 194707, 41135, 0, 0, 0, 64631, 172, 4971, 41219, 41137, 1889, 7238, 6545,
- 0, 92193, 7597, 10528, 0, 0, 3732, 73910, 194588, 5344, 0, 43366, 43363,
- 9062, 119252, 0, 0, 0, 64479, 9232, 92596, 0, 0, 194712, 10900, 41531,
- 1263, 3720, 12048, 0, 64292, 41524, 7227, 119635, 6099, 41534, 0, 127354,
- 127345, 299, 0, 8525, 127347, 3524, 917565, 8831, 127349, 92564, 3075,
- 67867, 127352, 0, 66362, 0, 64353, 0, 0, 5845, 0, 0, 0, 2581, 8200,
- 65114, 68460, 0, 43283, 5551, 0, 120735, 0, 6340, 118855, 0, 78134, 8680,
- 7204, 0, 2588, 2914, 7011, 55281, 0, 2471, 194631, 2883, 2749, 119563,
- 73774, 10913, 0, 0, 8666, 675, 42493, 0, 43571, 0, 6219, 0, 9980, 41232,
- 10928, 0, 41153, 41229, 118967, 0, 3738, 127369, 0, 12711, 3181, 66212,
- 74289, 68472, 42857, 8262, 0, 0, 0, 0, 42347, 12092, 9615, 7234, 74047,
- 0, 0, 64674, 0, 0, 73846, 2934, 12722, 120762, 922, 43983, 74507, 0,
- 74461, 3218, 120471, 74290, 120469, 64562, 120475, 8569, 11404, 11932,
- 73728, 3214, 120461, 120468, 12128, 3207, 65486, 78729, 1901, 78727,
- 127326, 120460, 7425, 3205, 0, 78737, 78736, 78735, 43383, 78733, 65459,
- 2606, 78730, 73897, 0, 11496, 1173, 0, 41272, 119661, 0, 0, 0, 120737, 0,
- 0, 0, 378, 2610, 0, 65079, 0, 65695, 0, 37, 7068, 0, 120480, 120479,
- 3209, 120477, 0, 10638, 9768, 120481, 0, 0, 0, 0, 0, 0, 65510, 0, 0,
- 5233, 0, 64792, 0, 0, 0, 0, 7060, 9847, 120144, 1685, 595, 0, 73971,
- 1292, 8940, 7380, 11088, 0, 10004, 126997, 0, 6541, 0, 0, 0, 3243, 9014,
- 5606, 0, 538, 64620, 5602, 8467, 74391, 6547, 0, 8203, 78488, 0, 8458,
- 65211, 8495, 119904, 0, 917552, 779, 78314, 64367, 2465, 0, 8193, 55279,
- 9730, 9280, 0, 7065, 74155, 4346, 0, 73798, 504, 0, 92414, 8982, 0, 0, 0,
- 782, 0, 10883, 0, 194852, 732, 3737, 127253, 1548, 68650, 0, 1832, 5604,
- 5735, 41141, 119020, 4376, 0, 11787, 3745, 0, 0, 42888, 65712, 0, 3869,
- 11937, 5725, 127539, 1783, 68648, 5728, 0, 0, 0, 11918, 66567, 5724, 0,
- 5727, 78521, 0, 0, 764, 0, 128116, 43531, 0, 9033, 0, 42532, 6223, 11042,
+ 6231, 2613, 65302, 40989, 0, 194696, 0, 42760, 0, 983310, 0, 40987, 4667,
+ 0, 983664, 8828, 0, 0, 1246, 4746, 0, 0, 11021, 4749, 92675, 0, 921,
+ 4744, 0, 12702, 242, 0, 1566, 8217, 0, 64653, 78386, 128121, 74036,
+ 74505, 43274, 5313, 951, 0, 0, 983602, 7604, 0, 4009, 127816, 983445,
+ 120562, 0, 983455, 64860, 119138, 119069, 0, 127370, 4048, 983342, 0,
+ 120596, 1646, 77890, 64534, 73995, 120705, 0, 119890, 2579, 119905, 3177,
+ 11357, 9099, 4107, 3441, 119894, 2975, 74442, 9822, 983667, 55220, 10084,
+ 73943, 118840, 0, 917562, 0, 3399, 9851, 983452, 11909, 9059, 0, 7687, 0,
+ 6789, 0, 0, 0, 0, 0, 0, 1777, 9151, 1137, 69767, 749, 42366, 0, 5385,
+ 128574, 128218, 0, 0, 5989, 0, 0, 128091, 0, 41685, 69223, 0, 9769,
+ 41684, 0, 519, 0, 11740, 5766, 0, 0, 2600, 8848, 120138, 41297, 0, 3666,
+ 74473, 41300, 74468, 65160, 0, 69688, 69771, 74479, 0, 6558, 0, 0, 69765,
+ 120750, 252, 0, 41302, 0, 0, 0, 69763, 0, 11729, 8719, 9060, 0, 120139,
+ 10761, 0, 0, 0, 118792, 11734, 0, 11730, 0, 9593, 5757, 2403, 64808,
+ 55275, 0, 11728, 43572, 0, 0, 7764, 983449, 11094, 120825, 0, 0, 4282,
+ 8298, 0, 0, 0, 0, 0, 64449, 0, 127509, 63854, 8456, 0, 74783, 65670, 0,
+ 78250, 0, 7774, 10607, 9792, 0, 0, 0, 0, 120764, 0, 10019, 74762, 0,
+ 3458, 4365, 0, 983447, 3647, 0, 2602, 128341, 0, 194707, 41135, 0, 0, 0,
+ 64631, 172, 4971, 41219, 41137, 1889, 7238, 6545, 0, 92193, 7597, 10528,
+ 0, 0, 3732, 73910, 194588, 5344, 0, 43366, 43363, 9062, 119252, 0, 0, 0,
+ 64479, 9232, 92596, 0, 0, 194712, 10900, 41531, 1263, 3720, 12048, 0,
+ 64292, 41524, 7227, 119635, 6099, 41534, 0, 127354, 127345, 299, 0, 8525,
+ 127347, 3524, 917565, 8831, 127349, 92564, 3075, 67867, 127352, 0, 66362,
+ 0, 64353, 0, 0, 5845, 0, 0, 0, 2581, 8200, 65114, 68460, 0, 43283, 5551,
+ 0, 120735, 0, 6340, 118855, 0, 78134, 8680, 7204, 0, 2588, 2914, 7011,
+ 55281, 0, 2471, 194631, 2883, 2749, 119563, 73774, 10913, 0, 0, 8666,
+ 675, 42493, 0, 43571, 0, 6219, 0, 9980, 41232, 10928, 0, 41153, 41229,
+ 118967, 0, 3738, 127369, 0, 12711, 3181, 66212, 74289, 68472, 42857,
+ 8262, 0, 0, 0, 0, 42347, 12092, 9615, 7234, 74047, 0, 0, 64674, 0, 0,
+ 73846, 2934, 12722, 120762, 922, 43983, 74507, 0, 74461, 3218, 120471,
+ 74290, 120469, 64562, 120475, 8569, 11404, 11932, 73728, 3214, 120461,
+ 120468, 12128, 3207, 65486, 78729, 1901, 78727, 127326, 120460, 7425,
+ 3205, 0, 78737, 78736, 78735, 43383, 78733, 65459, 2606, 78730, 73897, 0,
+ 11496, 1173, 0, 41272, 119661, 0, 0, 0, 120737, 0, 983703, 0, 378, 2610,
+ 0, 65079, 983517, 65695, 0, 37, 7068, 0, 120480, 120479, 3209, 120477, 0,
+ 10638, 9768, 120481, 0, 0, 0, 0, 0, 0, 65510, 0, 0, 5233, 0, 64792, 0, 0,
+ 0, 0, 7060, 9847, 120144, 1685, 595, 0, 73971, 1292, 8940, 7380, 11088,
+ 0, 10004, 126997, 0, 6541, 0, 0, 0, 3243, 9014, 5606, 0, 538, 64620,
+ 5602, 8467, 74391, 6547, 983338, 8203, 78488, 0, 8458, 65211, 8495,
+ 119904, 0, 917552, 779, 78314, 64367, 2465, 0, 8193, 55279, 9730, 9280,
+ 0, 7065, 74155, 4346, 0, 73798, 504, 0, 92414, 8982, 0, 0, 0, 782, 0,
+ 10883, 0, 194852, 732, 3737, 127253, 1548, 68650, 0, 1832, 5604, 5735,
+ 41141, 119020, 4376, 0, 11787, 3745, 0, 0, 42888, 65712, 0, 3869, 11937,
+ 5725, 127539, 1783, 68648, 5728, 0, 0, 0, 11918, 66567, 5724, 0, 5727,
+ 78521, 0, 0, 764, 0, 128116, 43531, 0, 9033, 0, 42532, 6223, 11042,
120749, 11423, 0, 119861, 0, 43465, 0, 128267, 6559, 64557, 0, 0, 120648,
43019, 43477, 10238, 0, 0, 43377, 92282, 0, 1478, 9783, 11825, 2607,
64740, 0, 7739, 74543, 0, 0, 0, 6132, 0, 63765, 0, 0, 41144, 0, 92438,
@@ -18201,99 +18440,100 @@ static unsigned int code_hash[] = {
119650, 41217, 119660, 10018, 360, 0, 0, 68176, 5863, 3137, 0, 4147, 0,
41216, 7844, 2616, 119190, 68461, 65234, 0, 13076, 3135, 0, 78143,
119139, 3142, 92451, 0, 10819, 119580, 10183, 0, 2608, 1470, 73967, 0,
- 6227, 0, 0, 69741, 0, 6163, 0, 0, 127314, 0, 0, 8603, 0, 119866, 3306,
- 10876, 43392, 119573, 127931, 5751, 0, 6222, 0, 0, 12086, 7403, 1600,
- 64309, 64939, 0, 64783, 92658, 11310, 0, 8882, 0, 0, 2570, 7021, 0, 0,
- 43110, 0, 1234, 6540, 6974, 0, 0, 0, 5002, 0, 41286, 0, 127019, 0, 43585,
- 0, 6551, 0, 128229, 0, 41289, 0, 194602, 0, 8977, 602, 120814, 0, 128778,
- 128661, 0, 0, 41279, 0, 0, 0, 11081, 43615, 0, 0, 0, 0, 12727, 0, 0,
- 78397, 9475, 7112, 65105, 0, 9633, 10886, 43592, 7831, 0, 194571, 0,
- 73915, 8076, 43048, 8290, 8291, 43051, 92570, 0, 2596, 43584, 0, 13113,
- 0, 127757, 2393, 7058, 9087, 74067, 68673, 41574, 78337, 0, 74058, 6376,
- 0, 0, 0, 0, 9854, 127748, 64696, 0, 128220, 0, 6994, 0, 1720, 0, 0, 0,
- 6529, 7063, 0, 3751, 9120, 0, 0, 1798, 709, 0, 1354, 1876, 13152, 6557,
- 12430, 8137, 0, 92642, 0, 0, 245, 128097, 11456, 41233, 7070, 0, 0, 6136,
- 917609, 65677, 8682, 41235, 92595, 42045, 9804, 0, 432, 3595, 0, 65437,
- 0, 74455, 42399, 0, 0, 128274, 0, 119658, 0, 0, 0, 77894, 8797, 0, 9052,
- 64888, 7167, 2356, 95, 74784, 10580, 0, 42286, 0, 64640, 0, 119104, 0,
- 74137, 0, 10063, 12652, 12199, 92480, 0, 2566, 11971, 0, 0, 1065, 0, 0,
- 43400, 2576, 66696, 0, 0, 43604, 0, 0, 74082, 514, 74502, 0, 2921, 43215,
- 64493, 5772, 12968, 0, 194944, 74580, 43398, 2580, 0, 41341, 41223, 6564,
- 1463, 41342, 0, 5293, 0, 0, 3733, 11346, 0, 12054, 0, 74098, 42827, 0,
- 13091, 0, 0, 0, 917915, 0, 127025, 0, 74821, 0, 0, 119042, 0, 127865,
- 13090, 66643, 0, 1270, 1132, 42360, 0, 74096, 66655, 42569, 127824, 0,
- 64761, 0, 41021, 8510, 42432, 0, 0, 0, 0, 64496, 74109, 0, 9915, 0, 0,
- 7061, 41336, 3854, 69700, 13141, 68413, 43401, 42319, 13082, 0, 7067,
- 68221, 0, 0, 127171, 0, 0, 127797, 9029, 43543, 119315, 2353, 6308, 0,
- 74792, 2611, 119186, 0, 0, 0, 43664, 92399, 66627, 0, 4484, 8509, 118976,
- 78116, 65233, 0, 41224, 41017, 0, 3747, 10522, 0, 0, 1691, 41226, 0,
- 12107, 44002, 10905, 65010, 194986, 697, 66018, 9284, 4244, 0, 0, 92644,
- 13121, 120036, 0, 12010, 128573, 128221, 0, 0, 0, 127193, 65816, 68111,
- 0, 127933, 65668, 92257, 6618, 118784, 66365, 0, 42234, 12648, 128039,
- 7123, 0, 5785, 9198, 9764, 41316, 65877, 7383, 13230, 41299, 0, 0, 68365,
- 128258, 0, 0, 0, 13122, 0, 191, 74119, 8585, 8000, 64411, 120652, 42889,
- 64850, 41072, 41578, 0, 41577, 0, 10002, 0, 6533, 73802, 41570, 0, 683,
- 396, 41580, 68146, 0, 12901, 43058, 0, 343, 7129, 42680, 41360, 78154, 0,
- 4743, 0, 0, 74040, 74108, 8743, 1724, 1433, 119322, 0, 3739, 6263, 92514,
- 0, 3964, 6592, 0, 128693, 66040, 0, 42568, 69806, 0, 1778, 3956, 0,
- 42070, 6563, 43075, 9018, 0, 0, 12067, 41312, 0, 5547, 74531, 127969, 0,
- 8175, 0, 284, 8108, 934, 0, 74001, 173, 66460, 7174, 92703, 118822, 1750,
- 0, 4394, 68368, 1807, 0, 92298, 0, 5889, 0, 7180, 0, 119145, 0, 917558,
- 42471, 6982, 1721, 44022, 7891, 42243, 42160, 2583, 4512, 119360, 65230,
- 128109, 0, 0, 3855, 0, 0, 0, 0, 74295, 0, 0, 92416, 3975, 0, 74087, 0,
- 12672, 3798, 2703, 0, 0, 2109, 9774, 1275, 0, 0, 41095, 3962, 0, 2932,
- 41101, 3954, 6457, 4513, 0, 0, 73994, 73992, 1468, 0, 0, 41851, 128230,
- 41846, 0, 55238, 7633, 41849, 68385, 4320, 3224, 0, 128032, 0, 42531, 0,
- 1510, 0, 8256, 0, 11393, 0, 8879, 128075, 92474, 8770, 0, 0, 78377, 1910,
- 8671, 78374, 4283, 0, 127117, 68361, 78318, 2654, 7893, 195007, 0, 0, 0,
- 65106, 42761, 12857, 4581, 8411, 78372, 78371, 78370, 78369, 78368, 0, 0,
- 0, 1733, 4392, 2568, 10786, 69661, 0, 8184, 41486, 0, 7396, 7116, 0,
- 69788, 0, 7185, 7965, 0, 0, 92347, 0, 41350, 9129, 0, 0, 0, 0, 92489, 0,
- 10481, 0, 127486, 7171, 0, 340, 92498, 0, 0, 0, 92200, 0, 0, 6764,
- 127487, 0, 0, 0, 0, 65203, 11392, 119098, 119359, 0, 3210, 0, 0, 0, 0, 0,
- 127970, 917619, 0, 0, 10043, 0, 1186, 41571, 6999, 617, 9464, 128244,
- 3675, 5207, 65062, 5213, 194769, 2617, 41348, 41568, 128803, 3253,
- 120535, 0, 8630, 128544, 0, 5596, 5545, 7288, 2586, 64887, 0, 5217, 0, 0,
- 0, 0, 64293, 68098, 2635, 0, 0, 0, 0, 0, 7835, 0, 0, 194988, 92285,
+ 6227, 0, 0, 69741, 983326, 6163, 983302, 0, 127314, 0, 0, 8603, 0,
+ 119866, 3306, 10876, 43392, 119573, 127931, 5751, 0, 6222, 0, 0, 12086,
+ 7403, 1600, 64309, 64939, 0, 64783, 92658, 11310, 0, 8882, 0, 0, 2570,
+ 7021, 0, 0, 43110, 0, 1234, 6540, 6974, 0, 0, 0, 5002, 0, 41286, 0,
+ 127019, 0, 43585, 0, 6551, 983694, 128229, 0, 41289, 0, 194602, 0, 8977,
+ 602, 120814, 0, 128778, 128661, 0, 0, 41279, 0, 0, 0, 11081, 43615, 0, 0,
+ 0, 983356, 12727, 0, 0, 78397, 9475, 7112, 65105, 0, 9633, 10886, 43592,
+ 7831, 983564, 194571, 0, 73915, 8076, 43048, 8290, 8291, 43051, 92570, 0,
+ 2596, 43584, 0, 13113, 0, 127757, 2393, 7058, 9087, 74067, 68673, 41574,
+ 78337, 0, 74058, 6376, 0, 0, 0, 0, 9854, 127748, 64696, 0, 128220, 0,
+ 6994, 0, 1720, 0, 0, 0, 6529, 7063, 0, 3751, 9120, 0, 0, 1798, 709, 0,
+ 1354, 1876, 13152, 6557, 12430, 8137, 0, 92642, 0, 0, 245, 128097, 11456,
+ 41233, 7070, 0, 0, 6136, 917609, 65677, 8682, 41235, 92595, 42045, 9804,
+ 0, 432, 3595, 0, 65437, 0, 74455, 42399, 0, 0, 128274, 0, 119658, 0, 0,
+ 0, 77894, 8797, 0, 9052, 64888, 7167, 2356, 95, 74784, 10580, 0, 42286,
+ 0, 64640, 0, 119104, 0, 74137, 0, 10063, 12652, 12199, 92480, 0, 2566,
+ 11971, 983472, 0, 1065, 0, 0, 43400, 2576, 66696, 0, 0, 43604, 0, 0,
+ 74082, 514, 74502, 0, 2921, 43215, 64493, 5772, 12968, 983350, 194944,
+ 74580, 43398, 2580, 983545, 41341, 41223, 6564, 1463, 41342, 0, 5293, 0,
+ 0, 3733, 11346, 0, 12054, 0, 74098, 42827, 0, 13091, 0, 0, 0, 917915, 0,
+ 127025, 0, 74821, 0, 983468, 119042, 0, 127865, 13090, 66643, 0, 1270,
+ 1132, 42360, 0, 74096, 66655, 42569, 127824, 0, 64761, 0, 41021, 8510,
+ 42432, 0, 0, 0, 0, 64496, 74109, 0, 9915, 0, 0, 7061, 41336, 3854, 69700,
+ 13141, 68413, 43401, 42319, 13082, 0, 7067, 68221, 0, 0, 127171, 0, 0,
+ 127797, 9029, 43543, 119315, 2353, 6308, 0, 74792, 2611, 119186, 0, 0, 0,
+ 43664, 92399, 66627, 0, 4484, 8509, 118976, 78116, 65233, 0, 41224,
+ 41017, 0, 3747, 10522, 0, 0, 1691, 41226, 0, 12107, 44002, 10905, 65010,
+ 194986, 697, 66018, 9284, 4244, 0, 0, 92644, 13121, 120036, 0, 12010,
+ 128573, 128221, 0, 0, 0, 127193, 65816, 68111, 0, 127933, 65668, 92257,
+ 6618, 118784, 66365, 0, 42234, 12648, 128039, 7123, 0, 5785, 9198, 9764,
+ 41316, 65877, 7383, 13230, 41299, 0, 0, 68365, 128258, 0, 0, 0, 13122, 0,
+ 191, 74119, 8585, 8000, 64411, 120652, 42889, 64850, 41072, 41578, 0,
+ 41577, 0, 10002, 0, 6533, 73802, 41570, 0, 683, 396, 41580, 68146, 0,
+ 12901, 43058, 0, 343, 7129, 42680, 41360, 78154, 0, 4743, 0, 0, 74040,
+ 74108, 8743, 1724, 1433, 119322, 0, 3739, 6263, 92514, 0, 3964, 6592, 0,
+ 128693, 66040, 0, 42568, 69806, 0, 1778, 3956, 0, 42070, 6563, 43075,
+ 9018, 0, 0, 12067, 41312, 0, 5547, 74531, 127969, 0, 8175, 0, 284, 8108,
+ 934, 0, 74001, 173, 66460, 7174, 92703, 118822, 1750, 0, 4394, 68368,
+ 1807, 983623, 92298, 0, 5889, 0, 7180, 0, 119145, 0, 917558, 42471, 6982,
+ 1721, 44022, 7891, 42243, 42160, 2583, 4512, 119360, 65230, 128109, 0, 0,
+ 3855, 0, 0, 0, 0, 74295, 0, 0, 92416, 3975, 0, 74087, 0, 12672, 3798,
+ 2703, 983343, 0, 2109, 9774, 1275, 0, 0, 41095, 3962, 0, 2932, 41101,
+ 3954, 6457, 4513, 0, 0, 73994, 73992, 1468, 0, 0, 41851, 128230, 41846,
+ 0, 55238, 7633, 41849, 68385, 4320, 3224, 0, 128032, 0, 42531, 0, 1510,
+ 0, 8256, 0, 11393, 0, 8879, 128075, 92474, 8770, 0, 0, 78377, 1910, 8671,
+ 78374, 4283, 0, 127117, 68361, 78318, 2654, 7893, 195007, 0, 0, 0, 65106,
+ 42761, 12857, 4581, 8411, 78372, 78371, 78370, 78369, 78368, 0, 0, 0,
+ 1733, 4392, 2568, 10786, 69661, 0, 8184, 41486, 0, 7396, 7116, 0, 69788,
+ 0, 7185, 7965, 0, 0, 92347, 0, 41350, 9129, 0, 0, 0, 0, 92489, 0, 10481,
+ 0, 127486, 7171, 0, 340, 92498, 0, 0, 0, 92200, 0, 0, 6764, 127487, 0, 0,
+ 0, 0, 65203, 11392, 119098, 119359, 0, 3210, 0, 0, 0, 0, 0, 127970,
+ 917619, 0, 0, 10043, 0, 1186, 41571, 6999, 617, 9464, 128244, 3675, 5207,
+ 65062, 5213, 194769, 2617, 41348, 41568, 128803, 3253, 120535, 0, 8630,
+ 128544, 0, 5596, 5545, 7288, 2586, 64887, 0, 5217, 983555, 0, 0, 0,
+ 64293, 68098, 2635, 0, 0, 983581, 0, 983376, 7835, 0, 0, 194988, 92285,
64558, 127122, 0, 127121, 0, 127913, 0, 5784, 0, 0, 0, 0, 4011, 917616,
68101, 0, 7864, 4254, 65095, 0, 5600, 3903, 127083, 10447, 5598, 1207,
120521, 66689, 3501, 42582, 43600, 194780, 0, 1124, 5597, 194778, 194772,
- 9321, 0, 0, 0, 0, 1719, 68356, 68354, 9671, 1125, 4399, 127479, 917610,
- 0, 7631, 5488, 7128, 120532, 0, 5491, 0, 8937, 43044, 2604, 74187, 5490,
- 43046, 5489, 7212, 11768, 43043, 6300, 0, 7122, 0, 4390, 454, 41397, 0,
- 9875, 7593, 194792, 92274, 118913, 7207, 0, 65901, 2394, 2575, 0, 3746,
- 11016, 65752, 120037, 0, 43423, 128683, 11989, 0, 0, 0, 0, 0, 8249,
- 128172, 0, 78531, 6640, 74806, 2598, 513, 0, 6586, 8656, 0, 127002,
- 65008, 0, 194784, 194989, 194795, 0, 92515, 68475, 0, 0, 0, 78637, 12647,
- 0, 128043, 0, 1036, 0, 92419, 1723, 128056, 0, 0, 41579, 2444, 0, 10705,
- 73876, 0, 74486, 0, 740, 119222, 194978, 194984, 0, 4238, 11071, 9459,
- 68437, 78140, 78139, 194985, 8121, 10438, 74487, 42574, 13285, 55263,
- 11907, 195000, 5690, 92255, 0, 0, 43181, 13095, 0, 127857, 64498, 0,
- 9506, 6978, 194993, 77992, 0, 0, 194992, 0, 127845, 1122, 317, 0, 0, 0,
- 0, 1920, 0, 10173, 827, 0, 0, 78378, 120126, 5223, 1304, 0, 119564, 5226,
- 12602, 0, 0, 9329, 7758, 9239, 41173, 5224, 5487, 1222, 5692, 41725,
- 69229, 9674, 5695, 41711, 64627, 19909, 0, 74604, 5691, 287, 866, 233,
- 127490, 0, 42816, 0, 65140, 74797, 0, 8830, 6568, 42300, 10524, 41175, 0,
- 0, 0, 5296, 0, 42492, 43402, 92466, 3302, 0, 0, 6516, 6515, 6514, 6513,
- 6512, 0, 7856, 8690, 0, 0, 12122, 119602, 43976, 0, 1785, 92507, 68622,
- 65153, 194810, 5138, 0, 0, 0, 0, 4540, 41181, 0, 6200, 0, 5134, 0, 322,
- 4643, 5132, 0, 6389, 0, 5143, 0, 8790, 128694, 0, 194802, 0, 8869,
- 120601, 0, 42060, 0, 0, 194804, 127012, 10270, 10286, 10318, 10382,
- 43529, 66477, 0, 0, 74170, 0, 3234, 0, 0, 74376, 43139, 118815, 127084,
- 120627, 8767, 0, 74489, 9695, 120746, 5201, 0, 6215, 12714, 6214, 13101,
- 0, 194999, 65268, 0, 0, 0, 11027, 0, 10059, 10511, 42075, 9767, 789,
- 1749, 78890, 127071, 0, 320, 0, 8647, 0, 3049, 0, 6471, 42071, 43156,
- 9925, 127356, 127355, 66478, 4960, 5549, 127359, 127346, 8485, 4671,
- 5418, 127350, 3351, 127006, 127351, 10610, 5414, 3064, 6212, 4286, 5421,
- 127344, 9554, 0, 127794, 127109, 6653, 128811, 0, 64510, 6213, 12885, 0,
- 119045, 64720, 0, 120759, 73741, 12603, 7131, 11430, 4566, 7843, 9317,
- 3801, 10342, 10406, 0, 119259, 42576, 0, 5200, 0, 917948, 0, 9183,
- 127361, 74458, 73825, 395, 5482, 5198, 8786, 10390, 74202, 5196, 43224,
- 6113, 42009, 5205, 0, 43307, 0, 118973, 0, 12134, 0, 0, 118843, 9126,
- 435, 0, 12014, 10377, 8093, 9079, 3203, 192, 65109, 3385, 0, 64430, 5383,
- 10294, 10326, 128178, 5738, 0, 3336, 78355, 5361, 3623, 41159, 0, 68112,
- 7872, 8581, 0, 1260, 3149, 5359, 0, 0, 7914, 5357, 92170, 128659, 2624,
- 5364, 0, 11431, 120030, 9101, 11058, 78288, 0, 78293, 42271, 78289,
+ 9321, 983526, 0, 0, 0, 1719, 68356, 68354, 9671, 1125, 4399, 127479,
+ 917610, 0, 7631, 5488, 7128, 120532, 0, 5491, 0, 8937, 43044, 2604,
+ 74187, 5490, 43046, 5489, 7212, 11768, 43043, 6300, 0, 7122, 0, 4390,
+ 454, 41397, 0, 9875, 7593, 194792, 92274, 118913, 7207, 0, 65901, 2394,
+ 2575, 0, 3746, 11016, 65752, 120037, 0, 43423, 128683, 11989, 0, 0, 0, 0,
+ 0, 8249, 128172, 0, 78531, 6640, 74806, 2598, 513, 0, 6586, 8656, 0,
+ 127002, 65008, 0, 194784, 194989, 194795, 0, 92515, 68475, 0, 0, 0,
+ 78637, 12647, 0, 128043, 0, 1036, 0, 92419, 1723, 128056, 0, 0, 41579,
+ 2444, 0, 10705, 73876, 0, 74486, 0, 740, 119222, 194978, 194984, 0, 4238,
+ 11071, 9459, 68437, 78140, 78139, 194985, 8121, 10438, 74487, 42574,
+ 13285, 55263, 11907, 195000, 5690, 92255, 0, 0, 43181, 13095, 0, 127857,
+ 64498, 0, 9506, 6978, 194993, 77992, 0, 0, 194992, 0, 127845, 1122, 317,
+ 0, 0, 0, 0, 1920, 0, 10173, 827, 0, 0, 78378, 120126, 5223, 1304, 0,
+ 119564, 5226, 12602, 0, 0, 9329, 7758, 9239, 41173, 5224, 5487, 1222,
+ 5692, 41725, 69229, 9674, 5695, 41711, 64627, 19909, 0, 74604, 5691, 287,
+ 866, 233, 127490, 0, 42816, 0, 65140, 74797, 0, 8830, 6568, 42300, 10524,
+ 41175, 0, 0, 0, 5296, 0, 42492, 43402, 92466, 3302, 0, 0, 6516, 6515,
+ 6514, 6513, 6512, 0, 7856, 8690, 0, 0, 12122, 119602, 43976, 0, 1785,
+ 92507, 68622, 65153, 194810, 5138, 0, 0, 0, 0, 4540, 41181, 0, 6200, 0,
+ 5134, 0, 322, 4643, 5132, 0, 6389, 0, 5143, 0, 8790, 128694, 0, 194802,
+ 0, 8869, 120601, 0, 42060, 0, 0, 194804, 127012, 10270, 10286, 10318,
+ 10382, 43529, 66477, 0, 0, 74170, 0, 3234, 0, 0, 74376, 43139, 118815,
+ 127084, 120627, 8767, 0, 74489, 9695, 120746, 5201, 0, 6215, 12714, 6214,
+ 13101, 0, 194999, 65268, 0, 0, 0, 11027, 0, 10059, 10511, 42075, 9767,
+ 789, 1749, 78890, 127071, 983405, 320, 0, 8647, 0, 3049, 0, 6471, 42071,
+ 43156, 9925, 127356, 127355, 66478, 4960, 5549, 127359, 127346, 8485,
+ 4671, 5418, 127350, 3351, 127006, 127351, 10610, 5414, 3064, 6212, 4286,
+ 5421, 127344, 9554, 0, 127794, 127109, 6653, 128811, 0, 64510, 6213,
+ 12885, 0, 119045, 64720, 0, 120759, 73741, 12603, 7131, 11430, 4566,
+ 7843, 9317, 3801, 10342, 10406, 0, 119259, 42576, 0, 5200, 0, 917948, 0,
+ 9183, 127361, 74458, 73825, 395, 5482, 5198, 8786, 10390, 74202, 5196,
+ 43224, 6113, 42009, 5205, 0, 43307, 0, 118973, 0, 12134, 0, 0, 118843,
+ 9126, 435, 0, 12014, 10377, 8093, 9079, 3203, 192, 65109, 3385, 0, 64430,
+ 5383, 10294, 10326, 128178, 5738, 0, 3336, 78355, 5361, 3623, 41159, 0,
+ 68112, 7872, 8581, 0, 1260, 3149, 5359, 0, 0, 7914, 5357, 92170, 128659,
+ 2624, 5364, 0, 11431, 120030, 9101, 11058, 78288, 0, 78293, 42271, 78289,
42917, 120793, 0, 65566, 6717, 10619, 43360, 78385, 78384, 78383, 78382,
78381, 78380, 78379, 9319, 7097, 119055, 77906, 3232, 73824, 74581,
120632, 0, 0, 41889, 92453, 0, 1161, 41895, 74103, 9701, 8622, 0, 0,
@@ -18308,261 +18548,264 @@ static unsigned int code_hash[] = {
0, 0, 1128, 65920, 0, 9711, 7057, 9408, 9409, 9410, 9411, 3662, 9413,
3378, 9415, 9416, 9417, 9418, 6320, 9420, 9421, 5897, 9423, 5165, 5126,
41385, 0, 41389, 917938, 8955, 3374, 9400, 9401, 7119, 9403, 9404, 3507,
- 9406, 7629, 0, 19925, 42669, 68463, 183, 43985, 2631, 0, 10627, 41130,
- 78260, 3996, 0, 78771, 0, 119313, 119307, 78768, 6580, 4332, 64825,
- 66329, 10726, 66686, 41125, 5899, 41365, 917918, 12085, 0, 574, 917922,
- 77825, 73828, 5448, 41058, 5446, 69709, 41322, 42211, 5442, 4190, 77834,
- 77835, 5451, 77833, 3616, 77828, 77837, 77838, 7708, 77836, 10859, 65867,
- 10345, 10409, 4191, 0, 77844, 73800, 42181, 77843, 77839, 2060, 0, 7111,
- 11788, 65587, 68129, 10415, 74102, 0, 205, 0, 10351, 119076, 0, 9862,
- 6588, 43257, 64697, 73998, 41355, 5505, 119154, 5503, 8021, 0, 7125,
- 9819, 41357, 8011, 42885, 5507, 12044, 92636, 0, 10026, 5472, 7109, 1191,
- 13106, 5470, 10329, 5476, 8991, 66322, 69778, 78267, 42874, 8550, 42876,
- 5592, 2919, 0, 2675, 5595, 78411, 0, 4367, 0, 0, 5478, 5904, 5594, 0,
- 74150, 7291, 5590, 77849, 13067, 118909, 120372, 0, 9731, 69731, 64633,
- 77857, 77854, 77855, 77852, 77853, 77850, 10750, 43714, 77858, 7137, 0,
- 128296, 12887, 10551, 194564, 77866, 77867, 77864, 77865, 9929, 5199,
- 9936, 1120, 42387, 0, 1444, 9486, 7554, 65839, 55252, 0, 1442, 0, 5894,
- 0, 0, 41171, 92511, 74313, 0, 13162, 0, 3334, 0, 118803, 77881, 66022, 0,
- 0, 1651, 0, 8861, 0, 0, 1142, 0, 8271, 0, 0, 0, 12903, 0, 4002, 43626,
- 10442, 10676, 3344, 0, 0, 12920, 194560, 0, 0, 66642, 1277, 0, 7871, 0,
- 0, 78853, 0, 78854, 120360, 0, 11784, 0, 78012, 4700, 66366, 78858,
- 120359, 11012, 0, 78856, 92400, 77879, 4973, 8784, 77877, 74804, 77874,
- 77869, 77871, 42440, 0, 43118, 0, 42364, 6774, 6773, 917560, 120369,
- 10346, 10410, 78859, 9243, 2464, 74263, 6108, 3372, 0, 6247, 43117,
- 74526, 7121, 74166, 0, 120355, 92537, 0, 0, 195034, 0, 0, 0, 74217, 3354,
- 195037, 4192, 9289, 118999, 41191, 3876, 0, 127983, 120660, 43696, 43380,
- 0, 0, 0, 0, 11603, 0, 0, 6589, 128588, 194679, 0, 0, 0, 0, 0, 42572,
- 128264, 10630, 74827, 1963, 118889, 127978, 11654, 0, 7550, 10686, 5903,
- 0, 78009, 41329, 9662, 917937, 64698, 3366, 10399, 0, 0, 11013, 127927,
- 128300, 0, 78621, 194672, 6925, 0, 0, 917929, 0, 11568, 0, 43367, 64579,
- 917930, 7852, 0, 0, 6754, 6312, 0, 64672, 65296, 0, 118957, 0, 416,
- 12296, 68457, 73834, 68177, 11050, 10984, 92208, 0, 0, 92182, 0, 0, 9532,
- 66355, 0, 0, 917925, 64343, 195032, 128281, 195031, 0, 0, 195057, 11445,
- 0, 2112, 195056, 128814, 10185, 1021, 128130, 9507, 10210, 74544, 8023,
- 1200, 12243, 78001, 5282, 78003, 9624, 11545, 0, 120493, 3343, 4424,
- 11047, 1885, 43268, 3896, 78626, 66497, 2947, 392, 7894, 4391, 68139, 0,
- 13059, 74816, 77998, 3381, 7942, 0, 69219, 0, 64757, 0, 3913, 0, 0,
- 78235, 7044, 1265, 0, 6309, 7045, 7175, 7047, 78239, 11791, 0, 0, 8221,
- 78307, 41864, 0, 0, 0, 0, 167, 0, 78301, 0, 74211, 41897, 68477, 0,
- 917583, 0, 0, 2493, 0, 118811, 0, 0, 64354, 0, 8777, 0, 406, 8884, 2385,
- 0, 92450, 0, 917573, 43030, 42027, 12114, 0, 917579, 64936, 194695, 0,
- 120629, 10561, 0, 8365, 120539, 0, 65841, 120787, 11601, 0, 74121, 0,
- 917575, 7834, 74159, 0, 917574, 10298, 6624, 4908, 917596, 1639, 0, 0,
- 74157, 6327, 6724, 0, 128086, 92566, 0, 4817, 78446, 194759, 92536, 7043,
- 9600, 11022, 0, 0, 0, 0, 0, 0, 7548, 64794, 42050, 12291, 55289, 194761,
- 12343, 657, 195054, 42705, 4461, 1134, 1838, 78438, 2057, 0, 4468, 0, 0,
- 0, 4456, 5206, 10720, 0, 42523, 127520, 0, 0, 917595, 65550, 260, 4816,
- 67658, 10687, 0, 4821, 4466, 0, 195043, 4818, 195048, 41403, 119977, 0,
- 0, 41406, 43273, 74160, 119983, 73939, 92638, 119984, 119979, 41404,
- 1165, 119980, 4451, 13087, 0, 11284, 119987, 73855, 65155, 43014, 5439,
- 9363, 127558, 3375, 128869, 5900, 0, 7889, 2722, 42262, 0, 0, 128774, 0,
- 0, 0, 127810, 11401, 0, 0, 68459, 0, 0, 0, 0, 65438, 0, 7280, 127887, 0,
- 127381, 4868, 119967, 119966, 118798, 0, 0, 43161, 0, 92360, 0, 5182, 0,
- 120542, 0, 0, 4226, 120798, 12135, 5732, 4464, 0, 0, 977, 4458, 0, 0,
- 64770, 74838, 0, 344, 0, 194790, 1395, 64279, 0, 92240, 0, 786, 0, 43174,
- 64340, 0, 0, 120723, 43026, 7612, 10132, 64413, 65025, 0, 0, 0, 0, 0,
- 68444, 0, 92437, 0, 119160, 10204, 92656, 0, 127809, 0, 1399, 0, 65217,
- 0, 8852, 0, 241, 128780, 4907, 0, 0, 7932, 9727, 128873, 74255, 8748, 0,
- 0, 0, 0, 42780, 0, 0, 0, 4217, 0, 8650, 0, 0, 0, 0, 118872, 43099, 3965,
- 119119, 6719, 0, 13300, 78439, 128261, 43057, 66588, 118991, 0, 0, 73815,
- 4420, 0, 6410, 7760, 0, 0, 0, 0, 0, 7294, 0, 0, 0, 9066, 0, 11993, 43188,
- 2626, 7762, 0, 0, 0, 92601, 42825, 41854, 5304, 0, 78516, 6919, 8619,
- 119655, 10038, 66454, 9592, 42851, 126993, 1542, 92303, 0, 0, 0, 0,
+ 9406, 7629, 983361, 19925, 42669, 68463, 183, 43985, 2631, 0, 10627,
+ 41130, 78260, 3996, 0, 78771, 0, 119313, 119307, 78768, 6580, 4332,
+ 64825, 66329, 10726, 66686, 41125, 5899, 41365, 917918, 12085, 0, 574,
+ 917922, 77825, 73828, 5448, 41058, 5446, 69709, 41322, 42211, 5442, 4190,
+ 77834, 77835, 5451, 77833, 3616, 77828, 77837, 77838, 7708, 77836, 10859,
+ 65867, 10345, 10409, 4191, 0, 77844, 73800, 42181, 77843, 77839, 2060, 0,
+ 7111, 11788, 65587, 68129, 10415, 74102, 0, 205, 0, 10351, 119076, 0,
+ 9862, 6588, 43257, 64697, 73998, 41355, 5505, 119154, 5503, 8021, 0,
+ 7125, 9819, 41357, 8011, 42885, 5507, 12044, 92636, 0, 10026, 5472, 7109,
+ 1191, 13106, 5470, 10329, 5476, 8991, 66322, 69778, 78267, 42874, 8550,
+ 42876, 5592, 2919, 0, 2675, 5595, 78411, 0, 4367, 0, 0, 5478, 5904, 5594,
+ 0, 74150, 7291, 5590, 77849, 13067, 118909, 120372, 0, 9731, 69731,
+ 64633, 77857, 77854, 77855, 77852, 77853, 77850, 10750, 43714, 77858,
+ 7137, 0, 128296, 12887, 10551, 194564, 77866, 77867, 77864, 77865, 9929,
+ 5199, 9936, 1120, 42387, 0, 1444, 9486, 7554, 65839, 55252, 0, 1442, 0,
+ 5894, 983410, 0, 41171, 92511, 74313, 0, 13162, 0, 3334, 0, 118803,
+ 77881, 66022, 0, 0, 1651, 0, 8861, 0, 0, 1142, 0, 8271, 0, 0, 0, 12903,
+ 0, 4002, 43626, 10442, 10676, 3344, 0, 0, 12920, 194560, 0, 0, 66642,
+ 1277, 0, 7871, 0, 0, 78853, 0, 78854, 120360, 0, 11784, 0, 78012, 4700,
+ 66366, 78858, 120359, 11012, 0, 78856, 92400, 77879, 4973, 8784, 77877,
+ 74804, 77874, 77869, 77871, 42440, 0, 43118, 0, 42364, 6774, 6773,
+ 917560, 120369, 10346, 10410, 78859, 9243, 2464, 74263, 6108, 3372, 0,
+ 6247, 43117, 74526, 7121, 74166, 0, 120355, 92537, 0, 0, 195034, 0, 0, 0,
+ 74217, 3354, 195037, 4192, 9289, 118999, 41191, 3876, 0, 127983, 120660,
+ 43696, 43380, 0, 0, 0, 0, 11603, 983686, 0, 6589, 128588, 194679, 0, 0,
+ 983435, 0, 0, 42572, 128264, 10630, 74827, 1963, 118889, 127978, 11654,
+ 0, 7550, 10686, 5903, 0, 78009, 41329, 9662, 917937, 64698, 3366, 10399,
+ 0, 0, 11013, 127927, 128300, 0, 78621, 194672, 6925, 0, 0, 917929, 0,
+ 11568, 983408, 43367, 64579, 917930, 7852, 0, 0, 6754, 6312, 0, 64672,
+ 65296, 0, 118957, 0, 416, 12296, 68457, 73834, 68177, 11050, 10984,
+ 92208, 0, 0, 92182, 0, 983349, 9532, 66355, 0, 983049, 917925, 64343,
+ 195032, 128281, 195031, 0, 0, 195057, 11445, 0, 2112, 195056, 128814,
+ 10185, 1021, 128130, 9507, 10210, 74544, 8023, 1200, 12243, 78001, 5282,
+ 78003, 9624, 11545, 0, 120493, 3343, 4424, 11047, 1885, 43268, 3896,
+ 78626, 66497, 2947, 392, 7894, 4391, 68139, 0, 13059, 74816, 77998, 3381,
+ 7942, 0, 69219, 0, 64757, 0, 3913, 0, 0, 78235, 7044, 1265, 0, 6309,
+ 7045, 7175, 7047, 78239, 11791, 0, 0, 8221, 78307, 41864, 0, 0, 0, 0,
+ 167, 983641, 78301, 0, 74211, 41897, 68477, 0, 917583, 983369, 0, 2493,
+ 0, 118811, 0, 0, 64354, 0, 8777, 0, 406, 8884, 2385, 0, 92450, 0, 917573,
+ 43030, 42027, 12114, 0, 917579, 64936, 194695, 0, 120629, 10561, 0, 8365,
+ 120539, 983509, 65841, 120787, 11601, 0, 74121, 0, 917575, 7834, 74159,
+ 0, 917574, 10298, 6624, 4908, 917596, 1639, 0, 0, 74157, 6327, 6724, 0,
+ 128086, 92566, 0, 4817, 78446, 194759, 92536, 7043, 9600, 11022, 0, 0, 0,
+ 0, 0, 0, 7548, 64794, 42050, 12291, 55289, 194761, 12343, 657, 195054,
+ 42705, 4461, 1134, 1838, 78438, 2057, 0, 4468, 0, 0, 0, 4456, 5206,
+ 10720, 0, 42523, 127520, 0, 0, 917595, 65550, 260, 4816, 67658, 10687, 0,
+ 4821, 4466, 0, 195043, 4818, 195048, 41403, 119977, 0, 0, 41406, 43273,
+ 74160, 119983, 73939, 92638, 119984, 119979, 41404, 1165, 119980, 4451,
+ 13087, 0, 11284, 119987, 73855, 65155, 43014, 5439, 9363, 127558, 3375,
+ 128869, 5900, 0, 7889, 2722, 42262, 0, 0, 128774, 0, 0, 0, 127810, 11401,
+ 0, 0, 68459, 0, 0, 0, 0, 65438, 0, 7280, 127887, 0, 127381, 4868, 119967,
+ 119966, 118798, 0, 0, 43161, 0, 92360, 0, 5182, 0, 120542, 0, 0, 4226,
+ 120798, 12135, 5732, 4464, 0, 0, 977, 4458, 0, 0, 64770, 74838, 0, 344,
+ 0, 194790, 1395, 64279, 0, 92240, 0, 786, 0, 43174, 64340, 0, 0, 120723,
+ 43026, 7612, 10132, 64413, 65025, 0, 0, 0, 0, 0, 68444, 0, 92437, 0,
+ 119160, 10204, 92656, 0, 127809, 983379, 1399, 983387, 65217, 0, 8852, 0,
+ 241, 128780, 4907, 0, 983374, 7932, 9727, 128873, 74255, 8748, 0, 0,
+ 983378, 0, 42780, 0, 0, 0, 4217, 0, 8650, 0, 0, 0, 0, 118872, 43099,
+ 3965, 119119, 6719, 0, 13300, 78439, 128261, 43057, 66588, 118991, 0, 0,
+ 73815, 4420, 0, 6410, 7760, 0, 0, 0, 0, 0, 7294, 0, 0, 0, 9066, 0, 11993,
+ 43188, 2626, 7762, 0, 0, 0, 92601, 42825, 41854, 5304, 0, 78516, 6919,
+ 8619, 119655, 10038, 66454, 9592, 42851, 126993, 1542, 92303, 0, 0, 0, 0,
74311, 78497, 0, 10181, 0, 43624, 0, 7779, 0, 10195, 9479, 6029, 0,
92268, 9689, 0, 0, 8993, 66358, 0, 42378, 3368, 606, 127030, 7697, 69237,
69787, 2030, 0, 6027, 8370, 4322, 0, 65207, 0, 0, 0, 0, 0, 2735, 42831,
- 77935, 127120, 74866, 8881, 119047, 0, 0, 73946, 0, 0, 0, 68140, 0, 9576,
- 128872, 3347, 4160, 5154, 55288, 3794, 66564, 8530, 127063, 7709, 41112,
- 0, 66560, 42041, 4572, 12876, 66561, 0, 6758, 0, 1615, 5855, 809, 0,
- 92283, 128316, 128004, 5799, 0, 0, 0, 7260, 0, 43031, 64425, 65128,
- 78819, 64386, 65257, 0, 68616, 120607, 9347, 128067, 6532, 0, 0, 0,
- 127060, 65828, 0, 283, 68665, 78813, 532, 78663, 0, 0, 120609, 0, 3370,
- 0, 11361, 5443, 78778, 8153, 73767, 0, 10741, 0, 0, 0, 0, 65495, 64706,
- 0, 43344, 0, 7144, 9466, 78866, 9824, 0, 0, 0, 0, 915, 43425, 0, 0, 0, 0,
- 127178, 43264, 0, 0, 0, 0, 78864, 6730, 78862, 68161, 64550, 5186, 12890,
- 127837, 0, 12108, 0, 65124, 43127, 66043, 0, 6326, 43107, 77826, 0,
- 42562, 0, 0, 0, 128520, 11485, 6103, 127123, 0, 11718, 0, 12889, 92657,
- 127137, 0, 0, 0, 55245, 0, 1630, 128232, 65483, 0, 12565, 0, 65476,
- 120013, 0, 119554, 9283, 7700, 917537, 9690, 65499, 0, 64593, 512, 3376,
- 68210, 0, 0, 77892, 632, 12940, 77891, 42529, 78587, 0, 5957, 110593,
- 8926, 0, 0, 128273, 10745, 10174, 7379, 64581, 5386, 120686, 11713,
- 10633, 69708, 5056, 0, 0, 0, 120773, 0, 9812, 0, 4460, 0, 0, 0, 128038,
- 0, 0, 127174, 64278, 92370, 43466, 0, 0, 64389, 2953, 73879, 1801, 12835,
- 119029, 0, 73823, 0, 66375, 2085, 702, 42579, 77884, 77885, 13074, 77883,
- 0, 0, 128570, 12106, 0, 74207, 1755, 10482, 12863, 77898, 1163, 2951,
- 9522, 74079, 78266, 120674, 0, 3384, 69227, 10702, 830, 77902, 77899,
- 77900, 8451, 0, 0, 0, 69739, 0, 0, 0, 0, 2908, 0, 43386, 64902, 4243, 0,
- 12239, 0, 0, 4441, 0, 0, 73940, 64352, 127513, 0, 411, 0, 9199, 0, 4056,
- 118992, 41890, 0, 2730, 41604, 0, 5428, 194743, 3364, 42265, 64437,
- 127935, 118816, 194742, 9684, 216, 0, 1401, 128053, 44012, 0, 0, 92585,
- 9158, 77842, 120664, 5768, 0, 0, 0, 484, 194739, 0, 0, 65895, 0, 0, 3338,
- 73935, 572, 7041, 2736, 67605, 0, 128680, 2794, 8807, 64491, 77847, 5438,
- 5222, 5381, 43114, 0, 5193, 5125, 5456, 5509, 77846, 194747, 9534, 0, 0,
- 0, 3430, 0, 0, 0, 0, 981, 0, 4330, 73929, 120536, 1824, 10908, 0, 7034,
- 41683, 64617, 0, 73754, 3957, 64358, 64547, 128259, 674, 63991, 0, 2946,
- 5354, 5251, 5328, 5307, 3759, 11411, 8364, 5123, 119628, 5281, 5469,
- 5121, 119245, 118993, 0, 5130, 0, 0, 77990, 0, 120726, 1221, 2733, 11746,
- 77991, 5216, 0, 0, 0, 0, 3468, 7033, 9230, 5939, 195052, 0, 0, 120677,
- 68400, 7278, 10321, 10289, 64613, 10385, 41706, 0, 0, 0, 0, 11739, 0,
- 41981, 0, 5938, 0, 0, 12448, 7576, 10401, 10337, 73852, 0, 13057, 0,
- 126976, 0, 10009, 0, 41703, 0, 12165, 0, 0, 9885, 0, 8077, 0, 127908, 0,
- 0, 0, 92457, 0, 4220, 10725, 10433, 0, 68395, 4987, 64519, 0, 128340, 0,
- 0, 0, 10970, 11733, 0, 120792, 0, 19944, 0, 9009, 8551, 92345, 11468,
- 64636, 7575, 0, 2724, 0, 0, 12313, 110592, 515, 119947, 42791, 63987,
- 78286, 119943, 119940, 119941, 119938, 9775, 4046, 4589, 4521, 68629,
- 9141, 0, 78850, 2741, 64399, 6197, 1370, 0, 0, 0, 0, 0, 0, 6184, 8606,
- 3303, 41372, 11786, 9473, 66203, 66177, 92446, 11593, 43007, 4478, 66178,
- 0, 0, 2744, 0, 4477, 118964, 814, 42066, 66183, 66204, 43786, 119961,
- 66198, 41880, 66188, 66197, 78148, 11955, 66190, 66191, 41111, 66189,
- 73788, 7788, 4847, 0, 127759, 0, 0, 0, 1581, 6535, 78161, 12954, 430,
- 78160, 55259, 78158, 128036, 5278, 4945, 42883, 4950, 0, 68625, 0, 7269,
- 0, 5964, 12908, 0, 0, 74764, 74477, 119146, 194936, 4949, 0, 443, 0,
- 4944, 5467, 119603, 0, 65137, 6044, 65392, 0, 4213, 0, 41303, 0, 194931,
+ 77935, 127120, 74866, 8881, 119047, 0, 0, 73946, 0, 0, 0, 68140, 983660,
+ 9576, 128872, 3347, 4160, 5154, 55288, 3794, 66564, 8530, 127063, 7709,
+ 41112, 0, 66560, 42041, 4572, 12876, 66561, 983493, 6758, 983658, 1615,
+ 5855, 809, 0, 92283, 128316, 128004, 5799, 0, 0, 0, 7260, 0, 43031,
+ 64425, 65128, 78819, 64386, 65257, 0, 68616, 120607, 9347, 128067, 6532,
+ 0, 0, 0, 127060, 65828, 0, 283, 68665, 78813, 532, 78663, 0, 983531,
+ 120609, 0, 3370, 0, 11361, 5443, 78778, 8153, 73767, 0, 10741, 0, 0, 0,
+ 983652, 65495, 64706, 0, 43344, 0, 7144, 9466, 78866, 9824, 0, 0, 0, 0,
+ 915, 43425, 0, 0, 0, 0, 127178, 43264, 0, 0, 0, 0, 78864, 6730, 78862,
+ 68161, 64550, 5186, 12890, 127837, 0, 12108, 0, 65124, 43127, 66043, 0,
+ 6326, 43107, 77826, 0, 42562, 0, 0, 0, 128520, 11485, 6103, 127123, 0,
+ 11718, 0, 12889, 92657, 127137, 0, 0, 0, 55245, 0, 1630, 128232, 65483,
+ 0, 12565, 0, 65476, 120013, 0, 119554, 9283, 7700, 917537, 9690, 65499,
+ 0, 64593, 512, 3376, 68210, 0, 0, 77892, 632, 12940, 77891, 42529, 78587,
+ 0, 5957, 110593, 8926, 0, 0, 128273, 10745, 10174, 7379, 64581, 5386,
+ 120686, 11713, 10633, 69708, 5056, 0, 0, 0, 120773, 0, 9812, 0, 4460, 0,
+ 0, 0, 128038, 0, 0, 127174, 64278, 92370, 43466, 0, 0, 64389, 2953,
+ 73879, 1801, 12835, 119029, 0, 73823, 0, 66375, 2085, 702, 42579, 77884,
+ 77885, 13074, 77883, 0, 0, 128570, 12106, 0, 74207, 1755, 10482, 12863,
+ 77898, 1163, 2951, 9522, 74079, 78266, 120674, 0, 3384, 69227, 10702,
+ 830, 77902, 77899, 77900, 8451, 0, 0, 0, 69739, 0, 0, 0, 0, 2908, 0,
+ 43386, 64902, 4243, 0, 12239, 0, 0, 4441, 0, 0, 73940, 64352, 127513, 0,
+ 411, 0, 9199, 0, 4056, 118992, 41890, 0, 2730, 41604, 983669, 5428,
+ 194743, 3364, 42265, 64437, 127935, 118816, 194742, 9684, 216, 0, 1401,
+ 128053, 44012, 0, 0, 92585, 9158, 77842, 120664, 5768, 0, 0, 0, 484,
+ 194739, 0, 0, 65895, 0, 0, 3338, 73935, 572, 7041, 2736, 67605, 0,
+ 128680, 2794, 8807, 64491, 77847, 5438, 5222, 5381, 43114, 0, 5193, 5125,
+ 5456, 5509, 77846, 194747, 9534, 0, 0, 0, 3430, 0, 0, 0, 0, 981, 0, 4330,
+ 73929, 120536, 1824, 10908, 0, 7034, 41683, 64617, 0, 73754, 3957, 64358,
+ 64547, 128259, 674, 63991, 0, 2946, 5354, 5251, 5328, 5307, 3759, 11411,
+ 8364, 5123, 119628, 5281, 5469, 5121, 119245, 118993, 0, 5130, 0, 0,
+ 77990, 0, 120726, 1221, 2733, 11746, 77991, 5216, 0, 0, 0, 0, 3468, 7033,
+ 9230, 5939, 195052, 0, 0, 120677, 68400, 7278, 10321, 10289, 64613,
+ 10385, 41706, 0, 0, 0, 0, 11739, 0, 41981, 0, 5938, 0, 0, 12448, 7576,
+ 10401, 10337, 73852, 0, 13057, 0, 126976, 0, 10009, 0, 41703, 983373,
+ 12165, 0, 0, 9885, 0, 8077, 0, 127908, 0, 0, 0, 92457, 0, 4220, 10725,
+ 10433, 0, 68395, 4987, 64519, 0, 128340, 0, 0, 0, 10970, 11733, 0,
+ 120792, 0, 19944, 0, 9009, 8551, 92345, 11468, 64636, 7575, 0, 2724, 0,
+ 0, 12313, 110592, 515, 119947, 42791, 63987, 78286, 119943, 119940,
+ 119941, 119938, 9775, 4046, 4589, 4521, 68629, 9141, 0, 78850, 2741,
+ 64399, 6197, 1370, 0, 0, 0, 0, 0, 0, 6184, 8606, 3303, 41372, 11786,
+ 9473, 66203, 66177, 92446, 11593, 43007, 4478, 66178, 0, 0, 2744, 0,
+ 4477, 118964, 814, 42066, 66183, 66204, 43786, 119961, 66198, 41880,
+ 66188, 66197, 78148, 11955, 66190, 66191, 41111, 66189, 73788, 7788,
+ 4847, 0, 127759, 0, 0, 0, 1581, 6535, 78161, 12954, 430, 78160, 55259,
+ 78158, 128036, 5278, 4945, 42883, 4950, 0, 68625, 0, 7269, 0, 5964,
+ 12908, 983299, 0, 74764, 74477, 119146, 194936, 4949, 0, 443, 0, 4944,
+ 5467, 119603, 0, 65137, 6044, 65392, 0, 4213, 0, 41303, 0, 194931,
119962, 41306, 73984, 2698, 127159, 0, 12072, 3193, 0, 41304, 824,
128676, 12091, 78893, 78894, 119816, 4673, 64804, 4678, 119820, 119819,
65059, 0, 6739, 0, 5481, 3490, 1199, 119811, 8356, 119829, 119832, 4677,
12688, 3102, 0, 4672, 78173, 78175, 5531, 68367, 42575, 78170, 78166,
4674, 4548, 44005, 119949, 68658, 119946, 8025, 68630, 127024, 1855, 0,
68669, 0, 92445, 127554, 0, 0, 119652, 2745, 11797, 0, 128159, 9202,
- 4654, 0, 0, 68638, 73993, 10525, 4649, 65209, 0, 0, 4648, 43080, 0, 0, 0,
- 6246, 64950, 7828, 4650, 6777, 6776, 6775, 4653, 7822, 78005, 92384,
- 43187, 8669, 0, 6821, 65093, 0, 78881, 2716, 0, 0, 0, 0, 68369, 120054,
- 11060, 8547, 2711, 42165, 78027, 78026, 7992, 0, 0, 4662, 78033, 78032,
- 9149, 9146, 599, 2081, 78031, 78030, 194962, 4656, 10130, 68450, 7811,
- 40994, 194965, 6414, 5967, 4658, 3725, 5713, 5814, 4661, 42434, 0, 0, 0,
- 64904, 9026, 10833, 74864, 7547, 4867, 0, 10008, 10222, 3054, 194956,
- 9744, 78860, 7605, 4622, 119656, 0, 0, 0, 0, 0, 9045, 78888, 4225, 19926,
- 78887, 12880, 65307, 4617, 78883, 0, 41732, 4616, 10518, 10423, 10359, 0,
- 5958, 0, 0, 4215, 9789, 917941, 4321, 4621, 0, 41313, 522, 5368, 0,
- 65803, 0, 5366, 12201, 5372, 0, 0, 0, 7720, 7390, 2696, 0, 0, 4638, 0,
- 1790, 78242, 5965, 64363, 66569, 68646, 194968, 5376, 1835, 5335, 194966,
- 128089, 4633, 0, 68119, 1180, 4632, 128093, 5387, 5333, 0, 0, 42094,
- 5331, 4634, 11928, 0, 5338, 4637, 128170, 5971, 42414, 0, 1268, 65097,
- 42361, 0, 0, 73853, 1427, 0, 0, 5970, 3431, 0, 10358, 10422, 4758, 0,
- 1608, 2738, 0, 10455, 4753, 74026, 11344, 4222, 6240, 5231, 74384, 0,
- 68377, 6248, 0, 0, 0, 42318, 92582, 5229, 4757, 0, 0, 2728, 4752, 64563,
- 65235, 5234, 0, 128145, 0, 10713, 7166, 0, 2622, 7460, 127302, 0, 0,
- 8954, 74760, 65189, 2632, 92230, 10108, 1011, 5574, 1853, 2709, 65139,
- 5577, 0, 0, 118871, 68641, 8965, 7635, 42177, 5316, 0, 5314, 6451, 5572,
- 0, 5312, 0, 5525, 5330, 5319, 0, 0, 194907, 44003, 0, 0, 0, 120498,
- 127851, 195009, 0, 74022, 0, 64609, 68643, 120634, 0, 5721, 0, 5519,
- 8632, 66465, 11267, 73961, 92278, 5720, 0, 1692, 4219, 4610, 8696, 4305,
- 0, 4609, 43478, 4614, 541, 0, 5287, 5309, 5285, 68389, 5961, 4647, 56,
- 4216, 10577, 41381, 601, 4613, 0, 0, 92276, 4608, 64260, 41124, 5190,
- 67628, 0, 68145, 7086, 0, 119243, 67620, 0, 2734, 11074, 0, 67627, 43593,
- 0, 67625, 5960, 0, 8992, 42593, 128260, 1782, 67622, 68114, 119939, 0,
- 68180, 5501, 119952, 42508, 7442, 43665, 359, 41253, 68392, 6239, 119956,
- 41256, 0, 68134, 0, 74209, 917550, 9346, 69660, 41254, 128047, 43291,
- 3767, 5737, 0, 4865, 0, 5740, 917997, 5736, 4368, 64724, 7193, 68137, 0,
- 5739, 41024, 4866, 0, 73904, 0, 4869, 120563, 0, 4223, 128201, 6650, 0,
- 0, 0, 127890, 4870, 120445, 68661, 6716, 78176, 68667, 68382, 68676,
- 127925, 10122, 4864, 66568, 4144, 7937, 0, 6245, 68652, 2732, 42734, 745,
- 0, 195097, 92195, 4777, 7821, 0, 68631, 42775, 0, 194954, 0, 3097, 0,
- 5966, 0, 4778, 0, 10863, 0, 4781, 0, 64407, 0, 0, 8577, 128562, 68196,
- 43285, 10216, 4782, 0, 0, 120757, 68618, 12325, 43056, 8717, 0, 0, 4776,
- 73818, 11492, 8700, 0, 13176, 68363, 10426, 0, 917599, 10362, 194706,
- 1715, 4849, 8242, 9561, 73922, 43278, 42635, 0, 0, 5963, 917926, 0, 0,
- 4850, 0, 1607, 466, 4853, 118995, 4854, 127918, 5164, 0, 1350, 5124,
- 64420, 1993, 5362, 8471, 2708, 92471, 12445, 3785, 234, 3199, 0, 41268,
- 4848, 2530, 917909, 2068, 1964, 0, 73762, 10458, 0, 8576, 78543, 0, 2704,
- 4794, 0, 68211, 8322, 4797, 5753, 0, 2694, 4792, 0, 2439, 65104, 69804,
- 0, 303, 0, 92622, 0, 2437, 0, 4221, 4844, 118869, 0, 0, 0, 0, 0, 43292,
- 0, 2441, 10739, 65090, 0, 119327, 0, 2451, 2714, 119326, 0, 43379, 4937,
- 43376, 753, 5849, 10597, 43089, 11722, 9248, 92555, 42879, 11725, 0, 0,
- 2726, 3107, 73958, 4941, 64937, 119233, 9140, 1408, 5261, 4607, 0, 181,
- 0, 4942, 9539, 4938, 0, 65201, 5259, 9369, 64185, 4142, 5257, 0, 0, 4964,
- 5264, 64178, 64177, 12979, 41411, 64182, 64181, 64180, 64179, 9482, 4873,
- 41231, 1822, 42526, 128581, 12758, 3865, 0, 0, 10500, 0, 0, 78028, 0,
- 9830, 43642, 389, 10893, 7521, 127879, 4872, 5463, 0, 3125, 9567, 0,
- 4878, 5459, 4604, 917931, 9557, 5465, 68617, 0, 11494, 0, 9563, 10865,
- 74570, 43279, 64186, 0, 78714, 64191, 64190, 8898, 64188, 0, 41030,
- 78836, 0, 917835, 78820, 917834, 0, 78805, 41031, 78801, 11960, 6745,
- 3082, 0, 78539, 73919, 10573, 41744, 7079, 5856, 127043, 5163, 78809,
- 128162, 1817, 66724, 78538, 0, 10564, 7763, 13077, 41813, 4400, 41745,
- 64207, 10275, 8925, 10371, 10307, 41814, 4248, 0, 0, 4541, 6299, 64204,
- 64203, 64201, 64200, 64199, 64198, 0, 42156, 78688, 0, 64193, 64192,
- 65223, 9943, 64197, 64196, 64195, 64194, 13282, 64175, 64174, 64173,
- 78189, 846, 78186, 9965, 0, 0, 0, 0, 2543, 12163, 3108, 9745, 64167,
- 64166, 64165, 64164, 2110, 92176, 64169, 64168, 64949, 10972, 10251,
- 10247, 42768, 715, 64161, 43299, 9453, 5348, 10943, 120378, 0, 11352,
- 550, 9910, 0, 0, 66579, 11551, 0, 195080, 9504, 7187, 0, 10373, 0,
- 120791, 10261, 10253, 6404, 10277, 78183, 11984, 1552, 65222, 6998,
- 78180, 0, 3128, 4789, 5067, 5066, 118849, 4784, 0, 8827, 1146, 5065,
- 78196, 78192, 68136, 78190, 43412, 5064, 2431, 0, 9450, 1809, 0, 78200,
- 78201, 5062, 1264, 64817, 13254, 11697, 0, 9785, 64716, 0, 3933, 74559,
- 4740, 7954, 0, 0, 42609, 0, 74175, 0, 127016, 0, 0, 42130, 0, 5151,
- 917829, 917823, 0, 0, 0, 7620, 3800, 65122, 0, 0, 8355, 7854, 0, 954,
- 64927, 4185, 41045, 127141, 41438, 41439, 68666, 10711, 4593, 127745,
- 120584, 0, 64774, 8053, 10532, 66727, 0, 0, 0, 64759, 6381, 5166, 9888,
- 127800, 5148, 42834, 0, 78205, 78206, 43787, 78204, 64131, 3119, 917814,
- 0, 3060, 64135, 9986, 0, 77876, 636, 11698, 0, 0, 9916, 11701, 7836,
- 42741, 64137, 8320, 78640, 8863, 92431, 119960, 1477, 43289, 0, 74358,
- 8618, 0, 9908, 0, 0, 0, 3937, 12312, 0, 0, 0, 64781, 912, 6349, 4536,
- 119963, 74532, 0, 6244, 0, 194580, 3935, 120665, 0, 0, 11950, 5392,
- 42248, 65129, 68656, 5397, 0, 12046, 12599, 0, 0, 5395, 0, 5393, 354,
- 68615, 119948, 78503, 0, 0, 42039, 0, 0, 64142, 626, 0, 5895, 0, 0, 5780,
- 0, 0, 128874, 0, 0, 43297, 0, 4311, 4644, 8818, 0, 128186, 0, 7145, 3918,
- 66452, 3797, 1644, 92346, 9658, 4140, 11385, 65947, 6455, 9030, 813,
- 119945, 68131, 4146, 119957, 5360, 2466, 0, 67669, 119942, 6249, 42117,
- 92287, 128224, 0, 0, 74046, 120583, 4911, 988, 917807, 0, 0, 43061, 7054,
- 64147, 0, 64920, 68195, 6698, 118933, 92506, 0, 120006, 11981, 12202, 0,
- 11032, 67654, 6093, 11608, 975, 68662, 65843, 170, 0, 0, 4169, 0, 41859,
- 6058, 120401, 13203, 120657, 0, 0, 68657, 9818, 10178, 10324, 42106,
- 5898, 74540, 4738, 41856, 7062, 917865, 4737, 11779, 4742, 120564, 92391,
- 73736, 0, 9825, 6448, 6715, 127008, 4831, 0, 92525, 0, 5300, 4741, 42108,
- 0, 64159, 4736, 64148, 0, 849, 92191, 78491, 43288, 0, 66620, 0, 127331,
- 65549, 9496, 64598, 118866, 0, 7876, 68132, 917872, 3928, 917870, 43378,
- 10706, 7198, 0, 4842, 12053, 128129, 0, 4841, 0, 4171, 12008, 6251, 3923,
- 1490, 0, 119591, 0, 40972, 5245, 0, 10114, 42001, 41888, 4845, 8332,
- 40974, 64347, 4840, 9077, 78346, 1747, 917849, 4825, 69240, 917852,
- 68655, 0, 0, 0, 0, 68628, 0, 9850, 118937, 367, 1472, 917859, 6687, 1274,
- 0, 5905, 12339, 8919, 73953, 10907, 65261, 11023, 119559, 4830, 9134,
- 78666, 64126, 43011, 0, 0, 64101, 0, 0, 4824, 10614, 120390, 0, 1888,
- 1960, 7861, 917856, 78524, 41836, 43012, 6052, 6064, 54, 43009, 12214, 0,
- 6211, 0, 358, 41997, 41833, 11442, 10758, 65774, 0, 120384, 64115, 92221,
- 0, 0, 0, 119053, 0, 12765, 64118, 126998, 12962, 0, 0, 4017, 12827, 5241,
- 120392, 0, 41118, 3924, 0, 11366, 917843, 0, 0, 917846, 41116, 917844,
- 917564, 0, 11363, 12057, 11917, 1567, 74000, 4721, 0, 66202, 8957, 4139,
- 0, 0, 0, 0, 0, 12740, 128702, 4722, 6816, 127793, 12759, 4725, 0, 4726,
- 0, 0, 0, 917904, 917905, 0, 12755, 12762, 4015, 0, 8052, 476, 0, 0,
- 128294, 64212, 41020, 1382, 64209, 64216, 64215, 64214, 1656, 41831, 0,
- 0, 41843, 8720, 3908, 1452, 13111, 0, 64067, 127328, 8552, 64113, 41845,
- 3849, 78732, 66232, 9778, 120066, 5891, 7064, 55, 9948, 119085, 0, 0,
- 7935, 2420, 0, 1114, 92599, 67585, 78675, 120053, 92350, 120051, 3938,
- 120057, 65417, 64717, 120060, 120061, 65415, 120059, 6292, 65303, 7955,
- 6452, 4713, 128196, 66249, 917885, 917890, 917891, 65152, 719, 120044,
- 78623, 120042, 6713, 4532, 65412, 69822, 10868, 4717, 2349, 5902, 66450,
- 4712, 917902, 917899, 917900, 65416, 8155, 4718, 3942, 4714, 9625, 0,
- 6383, 194744, 12006, 128565, 0, 0, 0, 0, 65414, 6454, 1229, 0, 66437,
- 66025, 78699, 0, 42500, 120508, 4809, 9623, 917874, 78694, 917880,
- 917877, 917878, 65405, 68159, 12893, 917882, 5365, 4545, 8901, 92421,
- 119555, 4813, 128262, 0, 5925, 4808, 64330, 0, 65475, 118940, 195028,
- 4814, 0, 4810, 0, 0, 64928, 10543, 0, 3522, 0, 414, 65404, 0, 195027,
- 6456, 73820, 0, 6691, 42193, 92225, 128171, 0, 74495, 0, 0, 0, 118820,
- 9751, 65407, 128085, 11770, 3919, 0, 0, 65061, 0, 0, 0, 12235, 0, 0,
- 127233, 64092, 0, 64080, 0, 64090, 0, 0, 10162, 10310, 0, 8454, 127888,
- 42038, 387, 41363, 12737, 0, 4780, 43368, 0, 64310, 64621, 6732, 0, 0, 0,
- 0, 0, 8896, 0, 375, 6976, 66582, 119005, 0, 0, 0, 119202, 119203, 12526,
- 43120, 2315, 0, 1938, 119197, 0, 4529, 119200, 119201, 119198, 119199,
- 69692, 0, 69698, 13150, 64492, 0, 0, 0, 12902, 0, 42891, 66327, 74298, 0,
- 10799, 69690, 2587, 66372, 0, 4193, 92250, 4241, 0, 7998, 0, 0, 0, 0,
- 2316, 118821, 0, 0, 0, 64297, 74799, 92442, 74140, 0, 5373, 0, 0, 3762,
- 10015, 127335, 119232, 0, 41590, 0, 92378, 3780, 7485, 5779, 0, 42037, 0,
- 3906, 12349, 0, 8326, 0, 65498, 3763, 6983, 5618, 0, 3779, 0, 43613, 0,
- 0, 0, 0, 0, 0, 280, 74558, 127332, 68138, 13072, 1894, 0, 0, 65478,
- 43310, 7231, 0, 11773, 0, 0, 0, 0, 2551, 0, 6453, 10200, 6235, 0, 119237,
- 0, 128805, 4470, 119613, 917557, 7780, 5369, 118958, 5249, 0, 5367, 8756,
- 127143, 0, 5377, 120585, 68143, 1688, 78245, 0, 69685, 0, 0, 0, 44020,
- 6808, 41319, 1300, 10650, 41692, 64505, 4668, 0, 119624, 1465, 10850,
- 3943, 0, 41205, 41315, 118961, 0, 0, 5352, 0, 0, 8839, 41314, 7384, 7785,
- 41204, 127322, 41209, 69637, 92241, 43607, 0, 0, 5420, 3897, 10134, 0,
- 74417, 4018, 7150, 68127, 0, 0, 0, 0, 127526, 2561, 68621, 3542, 7148,
- 12076, 7951, 68152, 118857, 5303, 6276, 1706, 0, 78751, 7146, 0, 65150,
- 41819, 0, 73951, 10847, 41822, 9985, 860, 0, 10506, 0, 69641, 10753,
- 10830, 0, 615, 64490, 7574, 92617, 77922, 0, 12909, 43016, 64559, 127028,
- 0, 0, 0, 2020, 0, 4022, 128783, 0, 77923, 0, 41691, 0, 0, 74329, 0,
- 64622, 9070, 0, 68411, 3911, 42829, 43122, 1033, 74440, 0, 7000, 3904, 0,
+ 4654, 0, 983634, 68638, 73993, 10525, 4649, 65209, 983612, 0, 4648,
+ 43080, 0, 0, 0, 6246, 64950, 7828, 4650, 6777, 6776, 6775, 4653, 7822,
+ 78005, 92384, 43187, 8669, 983306, 6821, 65093, 0, 78881, 2716, 0, 0, 0,
+ 0, 68369, 120054, 11060, 8547, 2711, 42165, 78027, 78026, 7992, 0, 0,
+ 4662, 78033, 78032, 9149, 9146, 599, 2081, 78031, 78030, 194962, 4656,
+ 10130, 68450, 7811, 40994, 194965, 6414, 5967, 4658, 3725, 5713, 5814,
+ 4661, 42434, 0, 0, 0, 64904, 9026, 10833, 74864, 7547, 4867, 0, 10008,
+ 10222, 3054, 194956, 9744, 78860, 7605, 4622, 119656, 0, 0, 0, 0, 0,
+ 9045, 78888, 4225, 19926, 78887, 12880, 65307, 4617, 78883, 0, 41732,
+ 4616, 10518, 10423, 10359, 0, 5958, 0, 0, 4215, 9789, 917941, 4321, 4621,
+ 0, 41313, 522, 5368, 0, 65803, 0, 5366, 12201, 5372, 0, 0, 0, 7720, 7390,
+ 2696, 0, 0, 4638, 0, 1790, 78242, 5965, 64363, 66569, 68646, 194968,
+ 5376, 1835, 5335, 194966, 128089, 4633, 0, 68119, 1180, 4632, 128093,
+ 5387, 5333, 0, 0, 42094, 5331, 4634, 11928, 0, 5338, 4637, 128170, 5971,
+ 42414, 0, 1268, 65097, 42361, 0, 0, 73853, 1427, 0, 0, 5970, 3431, 0,
+ 10358, 10422, 4758, 0, 1608, 2738, 0, 10455, 4753, 74026, 11344, 4222,
+ 6240, 5231, 74384, 0, 68377, 6248, 0, 0, 0, 42318, 92582, 5229, 4757, 0,
+ 0, 2728, 4752, 64563, 65235, 5234, 0, 128145, 0, 10713, 7166, 0, 2622,
+ 7460, 127302, 0, 0, 8954, 74760, 65189, 2632, 92230, 10108, 1011, 5574,
+ 1853, 2709, 65139, 5577, 0, 0, 118871, 68641, 8965, 7635, 42177, 5316, 0,
+ 5314, 6451, 5572, 0, 5312, 0, 5525, 5330, 5319, 0, 983607, 194907, 44003,
+ 0, 0, 0, 120498, 127851, 195009, 983600, 74022, 0, 64609, 68643, 120634,
+ 0, 5721, 0, 5519, 8632, 66465, 11267, 73961, 92278, 5720, 0, 1692, 4219,
+ 4610, 8696, 4305, 0, 4609, 43478, 4614, 541, 0, 5287, 5309, 5285, 68389,
+ 5961, 4647, 56, 4216, 10577, 41381, 601, 4613, 0, 0, 92276, 4608, 64260,
+ 41124, 5190, 67628, 0, 68145, 7086, 0, 119243, 67620, 0, 2734, 11074, 0,
+ 67627, 43593, 0, 67625, 5960, 0, 8992, 42593, 128260, 1782, 67622, 68114,
+ 119939, 0, 68180, 5501, 119952, 42508, 7442, 43665, 359, 41253, 68392,
+ 6239, 119956, 41256, 0, 68134, 0, 74209, 917550, 9346, 69660, 41254,
+ 128047, 43291, 3767, 5737, 0, 4865, 0, 5740, 917997, 5736, 4368, 64724,
+ 7193, 68137, 0, 5739, 41024, 4866, 0, 73904, 0, 4869, 120563, 0, 4223,
+ 128201, 6650, 0, 0, 0, 127890, 4870, 120445, 68661, 6716, 78176, 68667,
+ 68382, 68676, 127925, 10122, 4864, 66568, 4144, 7937, 0, 6245, 68652,
+ 2732, 42734, 745, 0, 195097, 92195, 4777, 7821, 0, 68631, 42775, 0,
+ 194954, 0, 3097, 0, 5966, 0, 4778, 0, 10863, 0, 4781, 0, 64407, 0, 0,
+ 8577, 128562, 68196, 43285, 10216, 4782, 0, 0, 120757, 68618, 12325,
+ 43056, 8717, 0, 0, 4776, 73818, 11492, 8700, 0, 13176, 68363, 10426, 0,
+ 917599, 10362, 194706, 1715, 4849, 8242, 9561, 73922, 43278, 42635, 0, 0,
+ 5963, 917926, 0, 0, 4850, 0, 1607, 466, 4853, 118995, 4854, 127918, 5164,
+ 983605, 1350, 5124, 64420, 1993, 5362, 8471, 2708, 92471, 12445, 3785,
+ 234, 3199, 0, 41268, 4848, 2530, 917909, 2068, 1964, 0, 73762, 10458, 0,
+ 8576, 78543, 0, 2704, 4794, 0, 68211, 8322, 4797, 5753, 0, 2694, 4792, 0,
+ 2439, 65104, 69804, 0, 303, 0, 92622, 0, 2437, 0, 4221, 4844, 118869, 0,
+ 0, 0, 0, 0, 43292, 0, 2441, 10739, 65090, 0, 119327, 0, 2451, 2714,
+ 119326, 0, 43379, 4937, 43376, 753, 5849, 10597, 43089, 11722, 9248,
+ 92555, 42879, 11725, 0, 0, 2726, 3107, 73958, 4941, 64937, 119233, 9140,
+ 1408, 5261, 4607, 0, 181, 0, 4942, 9539, 4938, 0, 65201, 5259, 9369,
+ 64185, 4142, 5257, 983345, 0, 4964, 5264, 64178, 64177, 12979, 41411,
+ 64182, 64181, 64180, 64179, 9482, 4873, 41231, 1822, 42526, 128581,
+ 12758, 3865, 0, 0, 10500, 0, 0, 78028, 0, 9830, 43642, 389, 10893, 7521,
+ 127879, 4872, 5463, 0, 3125, 9567, 0, 4878, 5459, 4604, 917931, 9557,
+ 5465, 68617, 0, 11494, 0, 9563, 10865, 74570, 43279, 64186, 0, 78714,
+ 64191, 64190, 8898, 64188, 0, 41030, 78836, 0, 917835, 78820, 917834, 0,
+ 78805, 41031, 78801, 11960, 6745, 3082, 0, 78539, 73919, 10573, 41744,
+ 7079, 5856, 127043, 5163, 78809, 128162, 1817, 66724, 78538, 0, 10564,
+ 7763, 13077, 41813, 4400, 41745, 64207, 10275, 8925, 10371, 10307, 41814,
+ 4248, 0, 0, 4541, 6299, 64204, 64203, 64201, 64200, 64199, 64198, 0,
+ 42156, 78688, 0, 64193, 64192, 65223, 9943, 64197, 64196, 64195, 64194,
+ 13282, 64175, 64174, 64173, 78189, 846, 78186, 9965, 0, 0, 0, 0, 2543,
+ 12163, 3108, 9745, 64167, 64166, 64165, 64164, 2110, 92176, 64169, 64168,
+ 64949, 10972, 10251, 10247, 42768, 715, 64161, 43299, 9453, 5348, 10943,
+ 120378, 0, 11352, 550, 9910, 0, 0, 66579, 11551, 0, 195080, 9504, 7187,
+ 0, 10373, 0, 120791, 10261, 10253, 6404, 10277, 78183, 11984, 1552,
+ 65222, 6998, 78180, 0, 3128, 4789, 5067, 5066, 118849, 4784, 0, 8827,
+ 1146, 5065, 78196, 78192, 68136, 78190, 43412, 5064, 2431, 0, 9450, 1809,
+ 0, 78200, 78201, 5062, 1264, 64817, 13254, 11697, 0, 9785, 64716, 0,
+ 3933, 74559, 4740, 7954, 0, 0, 42609, 0, 74175, 0, 127016, 0, 983608,
+ 42130, 0, 5151, 917829, 917823, 0, 0, 0, 7620, 3800, 65122, 0, 0, 8355,
+ 7854, 0, 954, 64927, 4185, 41045, 127141, 41438, 41439, 68666, 10711,
+ 4593, 127745, 120584, 0, 64774, 8053, 10532, 66727, 0, 0, 0, 64759, 6381,
+ 5166, 9888, 127800, 5148, 42834, 0, 78205, 78206, 43787, 78204, 64131,
+ 3119, 917814, 0, 3060, 64135, 9986, 0, 77876, 636, 11698, 0, 0, 9916,
+ 11701, 7836, 42741, 64137, 8320, 78640, 8863, 92431, 119960, 1477, 43289,
+ 0, 74358, 8618, 0, 9908, 983713, 0, 0, 3937, 12312, 0, 0, 0, 64781, 912,
+ 6349, 4536, 119963, 74532, 0, 6244, 0, 194580, 3935, 120665, 0, 0, 11950,
+ 5392, 42248, 65129, 68656, 5397, 0, 12046, 12599, 0, 0, 5395, 0, 5393,
+ 354, 68615, 119948, 78503, 0, 0, 42039, 0, 0, 64142, 626, 0, 5895, 0, 0,
+ 5780, 0, 0, 128874, 0, 0, 43297, 0, 4311, 4644, 8818, 0, 128186, 0, 7145,
+ 3918, 66452, 3797, 1644, 92346, 9658, 4140, 11385, 65947, 6455, 9030,
+ 813, 119945, 68131, 4146, 119957, 5360, 2466, 0, 67669, 119942, 6249,
+ 42117, 92287, 128224, 0, 0, 74046, 120583, 4911, 988, 917807, 0, 0,
+ 43061, 7054, 64147, 0, 64920, 68195, 6698, 118933, 92506, 0, 120006,
+ 11981, 12202, 0, 11032, 67654, 6093, 11608, 975, 68662, 65843, 170, 0, 0,
+ 4169, 0, 41859, 6058, 120401, 13203, 120657, 0, 0, 68657, 9818, 10178,
+ 10324, 42106, 5898, 74540, 4738, 41856, 7062, 917865, 4737, 11779, 4742,
+ 120564, 92391, 73736, 0, 9825, 6448, 6715, 127008, 4831, 0, 92525, 0,
+ 5300, 4741, 42108, 0, 64159, 4736, 64148, 0, 849, 92191, 78491, 43288, 0,
+ 66620, 0, 127331, 65549, 9496, 64598, 118866, 0, 7876, 68132, 917872,
+ 3928, 917870, 43378, 10706, 7198, 0, 4842, 12053, 128129, 0, 4841, 0,
+ 4171, 12008, 6251, 3923, 1490, 0, 119591, 983474, 40972, 5245, 0, 10114,
+ 42001, 41888, 4845, 8332, 40974, 64347, 4840, 9077, 78346, 1747, 917849,
+ 4825, 69240, 917852, 68655, 0, 0, 0, 0, 68628, 0, 9850, 118937, 367,
+ 1472, 917859, 6687, 1274, 0, 5905, 12339, 8919, 73953, 10907, 65261,
+ 11023, 119559, 4830, 9134, 78666, 64126, 43011, 0, 0, 64101, 0, 0, 4824,
+ 10614, 120390, 0, 1888, 1960, 7861, 917856, 78524, 41836, 43012, 6052,
+ 6064, 54, 43009, 12214, 0, 6211, 0, 358, 41997, 41833, 11442, 10758,
+ 65774, 0, 120384, 64115, 92221, 0, 0, 0, 119053, 0, 12765, 64118, 126998,
+ 12962, 0, 0, 4017, 12827, 5241, 120392, 0, 41118, 3924, 0, 11366, 917843,
+ 0, 0, 917846, 41116, 917844, 917564, 0, 11363, 12057, 11917, 1567, 74000,
+ 4721, 983305, 66202, 8957, 4139, 0, 0, 0, 0, 0, 12740, 128702, 4722,
+ 6816, 127793, 12759, 4725, 0, 4726, 0, 0, 0, 917904, 917905, 0, 12755,
+ 12762, 4015, 0, 8052, 476, 0, 0, 128294, 64212, 41020, 1382, 64209,
+ 64216, 64215, 64214, 1656, 41831, 0, 0, 41843, 8720, 3908, 1452, 13111,
+ 0, 64067, 127328, 8552, 64113, 41845, 3849, 78732, 66232, 9778, 120066,
+ 5891, 7064, 55, 9948, 119085, 0, 0, 7935, 2420, 0, 1114, 92599, 67585,
+ 78675, 120053, 92350, 120051, 3938, 120057, 65417, 64717, 120060, 120061,
+ 65415, 120059, 6292, 65303, 7955, 6452, 4713, 128196, 66249, 917885,
+ 917890, 917891, 65152, 719, 120044, 78623, 120042, 6713, 4532, 65412,
+ 69822, 10868, 4717, 2349, 5902, 66450, 4712, 917902, 917899, 917900,
+ 65416, 8155, 4718, 3942, 4714, 9625, 0, 6383, 194744, 12006, 128565, 0,
+ 0, 0, 0, 65414, 6454, 1229, 0, 66437, 66025, 78699, 0, 42500, 120508,
+ 4809, 9623, 917874, 78694, 917880, 917877, 917878, 65405, 68159, 12893,
+ 917882, 5365, 4545, 8901, 92421, 119555, 4813, 128262, 0, 5925, 4808,
+ 64330, 0, 65475, 118940, 195028, 4814, 0, 4810, 0, 0, 64928, 10543, 0,
+ 3522, 0, 414, 65404, 0, 195027, 6456, 73820, 0, 6691, 42193, 92225,
+ 128171, 0, 74495, 0, 0, 0, 118820, 9751, 65407, 128085, 11770, 3919, 0,
+ 0, 65061, 0, 0, 0, 12235, 0, 0, 127233, 64092, 0, 64080, 0, 64090, 0,
+ 983599, 10162, 10310, 0, 8454, 127888, 42038, 387, 41363, 12737, 0, 4780,
+ 43368, 0, 64310, 64621, 6732, 0, 0, 0, 0, 0, 8896, 0, 375, 6976, 66582,
+ 119005, 983609, 0, 0, 119202, 119203, 12526, 43120, 2315, 0, 1938,
+ 119197, 0, 4529, 119200, 119201, 119198, 119199, 69692, 0, 69698, 13150,
+ 64492, 0, 0, 0, 12902, 0, 42891, 66327, 74298, 0, 10799, 69690, 2587,
+ 66372, 0, 4193, 92250, 4241, 0, 7998, 0, 0, 0, 0, 2316, 118821, 0, 0, 0,
+ 64297, 74799, 92442, 74140, 0, 5373, 0, 983621, 3762, 10015, 127335,
+ 119232, 0, 41590, 0, 92378, 3780, 7485, 5779, 0, 42037, 0, 3906, 12349,
+ 0, 8326, 0, 65498, 3763, 6983, 5618, 0, 3779, 0, 43613, 0, 0, 0, 0, 0, 0,
+ 280, 74558, 127332, 68138, 13072, 1894, 0, 0, 65478, 43310, 7231, 0,
+ 11773, 0, 0, 0, 0, 2551, 0, 6453, 10200, 6235, 983487, 119237, 0, 128805,
+ 4470, 119613, 917557, 7780, 5369, 118958, 5249, 0, 5367, 8756, 127143, 0,
+ 5377, 120585, 68143, 1688, 78245, 0, 69685, 983491, 0, 0, 44020, 6808,
+ 41319, 1300, 10650, 41692, 64505, 4668, 0, 119624, 1465, 10850, 3943, 0,
+ 41205, 41315, 118961, 0, 0, 5352, 0, 0, 8839, 41314, 7384, 7785, 41204,
+ 127322, 41209, 69637, 92241, 43607, 0, 0, 5420, 3897, 10134, 0, 74417,
+ 4018, 7150, 68127, 0, 0, 0, 0, 127526, 2561, 68621, 3542, 7148, 12076,
+ 7951, 68152, 118857, 5303, 6276, 1706, 0, 78751, 7146, 0, 65150, 41819,
+ 0, 73951, 10847, 41822, 9985, 860, 0, 10506, 0, 69641, 10753, 10830, 0,
+ 615, 64490, 7574, 92617, 77922, 0, 12909, 43016, 64559, 127028, 0, 0, 0,
+ 2020, 0, 4022, 128783, 0, 77923, 983446, 41691, 0, 0, 74329, 0, 64622,
+ 9070, 0, 68411, 3911, 42829, 43122, 1033, 74440, 0, 7000, 3904, 0,
128198, 0, 118931, 119630, 13123, 10846, 3450, 127360, 7397, 118807, 0,
42778, 10000, 41088, 449, 0, 3777, 68458, 0, 9636, 0, 10738, 69634, 9367,
593, 41085, 3999, 65226, 41713, 12764, 0, 64409, 3596, 0, 0, 9763,
@@ -18574,240 +18817,686 @@ static unsigned int code_hash[] = {
68675, 128054, 1511, 9324, 78211, 10519, 66331, 3454, 19930, 0, 41019, 0,
0, 65292, 6822, 12862, 0, 0, 42143, 41828, 78207, 65531, 78208, 118879,
55223, 0, 0, 41826, 8865, 6402, 0, 13279, 7917, 120340, 0, 7733, 0, 4998,
- 0, 92332, 41950, 0, 4268, 0, 0, 0, 4013, 0, 10881, 0, 0, 0, 74788, 2014,
- 0, 0, 9765, 0, 0, 0, 195059, 78357, 65281, 127825, 10949, 0, 0, 0, 2015,
- 0, 0, 0, 66318, 43233, 0, 42517, 0, 0, 0, 12698, 8094, 10135, 65909,
- 6474, 794, 0, 12656, 128122, 119353, 128270, 1665, 0, 4833, 0, 119351,
- 127367, 0, 189, 12611, 0, 0, 2859, 4838, 0, 4834, 65078, 0, 0, 4837,
- 127061, 770, 0, 811, 0, 41042, 917551, 41318, 64427, 0, 0, 78848, 3895,
- 0, 74341, 3976, 0, 42859, 10193, 3116, 7747, 0, 0, 0, 0, 0, 43686, 78846,
- 41877, 0, 2871, 64614, 128785, 999, 0, 6345, 41876, 2663, 2017, 0, 0,
- 11040, 10150, 0, 64308, 1522, 597, 4775, 12555, 12571, 12550, 12583,
+ 983631, 92332, 41950, 0, 4268, 0, 0, 0, 4013, 0, 10881, 0, 0, 0, 74788,
+ 2014, 0, 0, 9765, 0, 0, 0, 195059, 78357, 65281, 127825, 10949, 0, 0, 0,
+ 2015, 0, 0, 0, 66318, 43233, 0, 42517, 0, 0, 0, 12698, 8094, 10135,
+ 65909, 6474, 794, 0, 12656, 128122, 119353, 128270, 1665, 0, 4833, 0,
+ 119351, 127367, 0, 189, 12611, 0, 0, 2859, 4838, 0, 4834, 65078, 0, 0,
+ 4837, 127061, 770, 0, 811, 0, 41042, 917551, 41318, 64427, 0, 0, 78848,
+ 3895, 0, 74341, 3976, 0, 42859, 10193, 3116, 7747, 0, 0, 0, 0, 0, 43686,
+ 78846, 41877, 0, 2871, 64614, 128785, 999, 0, 6345, 41876, 2663, 2017, 0,
+ 0, 11040, 10150, 0, 64308, 1522, 597, 4775, 12555, 12571, 12550, 12583,
12560, 2019, 12556, 12584, 3092, 0, 12562, 4783, 12566, 12569, 12554, 0,
10812, 78851, 0, 0, 3078, 1402, 0, 128275, 0, 0, 119248, 394, 3088, 0,
92172, 0, 3991, 64391, 0, 0, 424, 66328, 1999, 69659, 73914, 0, 0, 0, 0,
- 42231, 8246, 0, 0, 0, 41840, 0, 2377, 1298, 64011, 12572, 11318, 12557,
- 12559, 12570, 8488, 1003, 2373, 9446, 7481, 9448, 48, 0, 9480, 481, 0,
- 9438, 9439, 9440, 9441, 8465, 9443, 9444, 9445, 9430, 9431, 9432, 9433,
- 9434, 9435, 3984, 9437, 0, 0, 9424, 9425, 9426, 9427, 9428, 9429, 64758,
- 2362, 9655, 0, 2004, 9096, 9782, 128848, 9172, 128545, 19965, 0, 5955,
- 67666, 1108, 0, 74773, 0, 0, 64782, 3926, 92448, 65210, 8798, 0, 92165,
- 1392, 0, 0, 127364, 10606, 8065, 118805, 10353, 10417, 0, 0, 64524,
- 92418, 4019, 0, 0, 43280, 8219, 68402, 1812, 0, 0, 0, 0, 42410, 74448,
- 119132, 6054, 10697, 3169, 42297, 42322, 10642, 3909, 9950, 0, 128139, 0,
- 68678, 0, 0, 1049, 0, 65707, 2304, 41806, 92326, 42336, 3921, 0, 11775,
- 64760, 11766, 1038, 42303, 9823, 127278, 69236, 4008, 64004, 8773, 10733,
- 36, 0, 5153, 41805, 0, 73735, 763, 41808, 64910, 0, 2009, 0, 0, 127142,
- 9640, 119951, 0, 120695, 8621, 0, 12852, 3031, 0, 64361, 0, 182, 194718,
- 92716, 92598, 119950, 0, 9058, 366, 0, 9892, 5969, 11754, 10848, 4570,
- 65301, 44013, 4255, 0, 10102, 41189, 4003, 41026, 68109, 13293, 41192,
- 69635, 0, 42251, 0, 42534, 65179, 11287, 6128, 0, 11034, 10923, 64423, 0,
- 65506, 0, 65861, 74083, 92600, 9932, 0, 92423, 119955, 0, 9817, 0,
- 120140, 0, 12117, 66586, 4183, 10540, 66250, 9063, 127045, 0, 119954, 0,
- 12897, 3792, 2011, 0, 6065, 43160, 0, 194715, 8692, 41186, 41816, 41023,
- 41818, 41187, 11659, 7922, 12614, 2005, 8523, 78002, 0, 7513, 1863, 4710,
- 0, 5956, 7621, 78006, 92624, 4705, 716, 78004, 0, 4704, 120040, 120270,
- 42241, 161, 43977, 74546, 66214, 4706, 0, 0, 42672, 4709, 10680, 0,
- 43293, 119944, 0, 119164, 120328, 92467, 0, 1700, 119223, 0, 0, 128119,
- 4004, 0, 10968, 43296, 0, 8506, 0, 0, 126996, 1005, 937, 78216, 4734,
- 2870, 0, 78218, 0, 7463, 4729, 0, 235, 1384, 4728, 0, 120420, 92490,
- 120331, 8109, 43105, 0, 4730, 447, 13186, 1513, 4733, 120415, 0, 0,
- 42527, 12911, 43427, 1383, 8565, 2469, 120024, 6690, 6156, 68117, 43439,
- 7993, 4288, 120416, 2674, 13238, 11922, 0, 120330, 3510, 13234, 0,
- 120407, 5605, 42095, 11364, 0, 1380, 65617, 120253, 120261, 13196, 13197,
- 120309, 120682, 9495, 119346, 0, 5959, 0, 73976, 120305, 43371, 6941,
- 119349, 13205, 13211, 5801, 12769, 65905, 41697, 1283, 120302, 4779, 0,
- 3719, 4006, 0, 19957, 128773, 2021, 119332, 120699, 119150, 43028, 65493,
- 41838, 3875, 5962, 64341, 92616, 9814, 43457, 5827, 3314, 7787, 78234,
- 65494, 68153, 0, 0, 120636, 64531, 120692, 194626, 0, 0, 66316, 65467,
- 5771, 41298, 0, 9742, 521, 0, 10800, 0, 8404, 194625, 483, 7096, 7089,
- 66323, 928, 0, 0, 119018, 10599, 11586, 3989, 10971, 0, 65782, 9841,
- 8843, 12145, 92470, 10074, 78548, 0, 3769, 0, 0, 0, 0, 9573, 0, 65290,
- 8849, 0, 65855, 65112, 1796, 120505, 0, 69665, 8164, 41301, 3502, 0,
- 7388, 10621, 73838, 78553, 5825, 13007, 68165, 0, 120457, 12661, 7608,
- 10354, 10418, 42411, 2022, 0, 1409, 12195, 4001, 3112, 10824, 120639,
- 1390, 0, 0, 421, 43536, 5846, 120120, 4130, 127775, 7595, 42588, 7600,
- 120121, 66035, 0, 0, 65851, 42607, 128190, 92403, 3168, 0, 42134, 0,
- 2370, 2846, 92605, 0, 0, 120132, 0, 1836, 0, 0, 92558, 3740, 92547, 6290,
- 65374, 120451, 2390, 3944, 66628, 120434, 0, 6135, 3118, 74265, 119093,
- 120446, 0, 0, 8127, 8975, 64739, 7943, 0, 0, 10618, 2584, 0, 0, 0, 9998,
- 0, 0, 0, 0, 0, 6204, 0, 0, 8279, 8776, 64954, 4975, 74809, 120130, 4267,
- 1631, 42206, 127866, 0, 195046, 65700, 66562, 0, 64645, 0, 0, 0, 12586,
- 0, 9242, 127922, 0, 4523, 5842, 10495, 3122, 0, 7793, 78275, 9328, 0,
- 78393, 12604, 0, 6615, 67650, 92344, 3986, 44025, 0, 8912, 64555, 7409,
- 0, 0, 9541, 78276, 0, 11275, 8540, 11498, 0, 0, 41040, 2459, 0, 13060,
- 41041, 74413, 0, 0, 0, 68427, 10450, 12551, 41043, 7020, 120353, 3765, 0,
- 0, 1606, 120348, 120351, 3093, 68436, 0, 0, 120649, 0, 0, 4312, 74091,
- 120337, 120336, 11923, 4023, 120333, 5763, 120335, 4827, 10894, 12810,
- 64406, 118785, 4455, 74321, 433, 119620, 66660, 2499, 0, 0, 0, 11973,
- 13089, 4293, 120329, 42224, 42758, 12196, 42837, 42226, 119319, 0,
- 119126, 5817, 127806, 55277, 3120, 9797, 0, 0, 0, 10389, 0, 0, 4895,
- 65358, 0, 4359, 585, 2383, 3509, 194920, 486, 4290, 5758, 127546, 0, 0,
- 7004, 0, 65880, 127886, 119048, 2380, 11380, 0, 0, 2376, 0, 119320, 0,
- 5197, 127046, 127047, 127048, 2366, 127050, 127051, 120554, 120045, 0, 0,
- 0, 0, 0, 0, 0, 74188, 120241, 0, 0, 120047, 128575, 0, 0, 120049, 0,
- 1847, 0, 10339, 0, 42384, 0, 4227, 74158, 0, 92501, 43032, 0, 42365, 0,
- 12671, 11384, 0, 0, 0, 64797, 0, 5820, 0, 120052, 120065, 0, 120064,
- 120650, 42137, 9893, 2754, 12664, 120063, 0, 7377, 127867, 41799, 65530,
- 1711, 12984, 43039, 3114, 6255, 0, 118938, 0, 10853, 926, 0, 74184, 0,
- 120055, 0, 43175, 0, 43037, 41798, 41035, 11583, 127769, 41801, 119088,
- 0, 520, 4200, 12699, 8331, 0, 3091, 41034, 127353, 0, 8360, 0, 78044,
- 321, 4229, 64543, 917946, 65563, 0, 917974, 2861, 43793, 10095, 0, 9195,
+ 42231, 8246, 0, 0, 0, 41840, 983353, 2377, 1298, 64011, 12572, 11318,
+ 12557, 12559, 12570, 8488, 1003, 2373, 9446, 7481, 9448, 48, 0, 9480,
+ 481, 0, 9438, 9439, 9440, 9441, 8465, 9443, 9444, 9445, 9430, 9431, 9432,
+ 9433, 9434, 9435, 3984, 9437, 0, 0, 9424, 9425, 9426, 9427, 9428, 9429,
+ 64758, 2362, 9655, 0, 2004, 9096, 9782, 128848, 9172, 128545, 19965, 0,
+ 5955, 67666, 1108, 0, 74773, 0, 0, 64782, 3926, 92448, 65210, 8798, 0,
+ 92165, 1392, 0, 0, 127364, 10606, 8065, 118805, 10353, 10417, 0, 0,
+ 64524, 92418, 4019, 0, 983304, 43280, 8219, 68402, 1812, 0, 0, 0, 0,
+ 42410, 74448, 119132, 6054, 10697, 3169, 42297, 42322, 10642, 3909, 9950,
+ 0, 128139, 0, 68678, 0, 0, 1049, 0, 65707, 2304, 41806, 92326, 42336,
+ 3921, 0, 11775, 64760, 11766, 1038, 42303, 9823, 127278, 69236, 4008,
+ 64004, 8773, 10733, 36, 0, 5153, 41805, 0, 73735, 763, 41808, 64910, 0,
+ 2009, 0, 0, 127142, 9640, 119951, 0, 120695, 8621, 983699, 12852, 3031,
+ 0, 64361, 0, 182, 194718, 92716, 92598, 119950, 0, 9058, 366, 0, 9892,
+ 5969, 11754, 10848, 4570, 65301, 44013, 4255, 983700, 10102, 41189, 4003,
+ 41026, 68109, 13293, 41192, 69635, 0, 42251, 0, 42534, 65179, 11287,
+ 6128, 0, 11034, 10923, 64423, 0, 65506, 0, 65861, 74083, 92600, 9932, 0,
+ 92423, 119955, 0, 9817, 0, 120140, 0, 12117, 66586, 4183, 10540, 66250,
+ 9063, 127045, 0, 119954, 0, 12897, 3792, 2011, 0, 6065, 43160, 0, 194715,
+ 8692, 41186, 41816, 41023, 41818, 41187, 11659, 7922, 12614, 2005, 8523,
+ 78002, 0, 7513, 1863, 4710, 0, 5956, 7621, 78006, 92624, 4705, 716,
+ 78004, 0, 4704, 120040, 120270, 42241, 161, 43977, 74546, 66214, 4706, 0,
+ 0, 42672, 4709, 10680, 983485, 43293, 119944, 0, 119164, 120328, 92467,
+ 0, 1700, 119223, 0, 0, 128119, 4004, 0, 10968, 43296, 983377, 8506, 0, 0,
+ 126996, 1005, 937, 78216, 4734, 2870, 0, 78218, 0, 7463, 4729, 0, 235,
+ 1384, 4728, 0, 120420, 92490, 120331, 8109, 43105, 983535, 4730, 447,
+ 13186, 1513, 4733, 120415, 0, 0, 42527, 12911, 43427, 1383, 8565, 2469,
+ 120024, 6690, 6156, 68117, 43439, 7993, 4288, 120416, 2674, 13238, 11922,
+ 0, 120330, 3510, 13234, 0, 120407, 5605, 42095, 11364, 0, 1380, 65617,
+ 120253, 120261, 13196, 13197, 120309, 120682, 9495, 119346, 0, 5959, 0,
+ 73976, 120305, 43371, 6941, 119349, 13205, 13211, 5801, 12769, 65905,
+ 41697, 1283, 120302, 4779, 0, 3719, 4006, 0, 19957, 128773, 2021, 119332,
+ 120699, 119150, 43028, 65493, 41838, 3875, 5962, 64341, 92616, 9814,
+ 43457, 5827, 3314, 7787, 78234, 65494, 68153, 0, 0, 120636, 64531,
+ 120692, 194626, 0, 0, 66316, 65467, 5771, 41298, 983529, 9742, 521, 0,
+ 10800, 0, 8404, 194625, 483, 7096, 7089, 66323, 928, 0, 0, 119018, 10599,
+ 11586, 3989, 10971, 0, 65782, 9841, 8843, 12145, 92470, 10074, 78548, 0,
+ 3769, 0, 0, 0, 0, 9573, 0, 65290, 8849, 0, 65855, 65112, 1796, 120505, 0,
+ 69665, 8164, 41301, 3502, 0, 7388, 10621, 73838, 78553, 5825, 13007,
+ 68165, 0, 120457, 12661, 7608, 10354, 10418, 42411, 2022, 0, 1409, 12195,
+ 4001, 3112, 10824, 120639, 1390, 0, 0, 421, 43536, 5846, 120120, 4130,
+ 127775, 7595, 42588, 7600, 120121, 66035, 983648, 0, 65851, 42607,
+ 128190, 92403, 3168, 0, 42134, 0, 2370, 2846, 92605, 0, 0, 120132, 0,
+ 1836, 0, 0, 92558, 3740, 92547, 6290, 65374, 120451, 2390, 3944, 66628,
+ 120434, 0, 6135, 3118, 74265, 119093, 120446, 0, 0, 8127, 8975, 64739,
+ 7943, 983478, 0, 10618, 2584, 0, 0, 0, 9998, 0, 0, 0, 0, 0, 6204, 0, 0,
+ 8279, 8776, 64954, 4975, 74809, 120130, 4267, 1631, 42206, 127866, 0,
+ 195046, 65700, 66562, 0, 64645, 0, 0, 0, 12586, 0, 9242, 127922, 0, 4523,
+ 5842, 10495, 3122, 983532, 7793, 78275, 9328, 0, 78393, 12604, 0, 6615,
+ 67650, 92344, 3986, 44025, 0, 8912, 64555, 7409, 0, 0, 9541, 78276, 0,
+ 11275, 8540, 11498, 0, 0, 41040, 2459, 0, 13060, 41041, 74413, 983568, 0,
+ 0, 68427, 10450, 12551, 41043, 7020, 120353, 3765, 0, 0, 1606, 120348,
+ 120351, 3093, 68436, 0, 0, 120649, 0, 0, 4312, 74091, 120337, 120336,
+ 11923, 4023, 120333, 5763, 120335, 4827, 10894, 12810, 64406, 118785,
+ 4455, 74321, 433, 119620, 66660, 2499, 0, 0, 0, 11973, 13089, 4293,
+ 120329, 42224, 42758, 12196, 42837, 42226, 119319, 0, 119126, 5817,
+ 127806, 55277, 3120, 9797, 0, 0, 0, 10389, 0, 0, 4895, 65358, 0, 4359,
+ 585, 2383, 3509, 194920, 486, 4290, 5758, 127546, 0, 0, 7004, 0, 65880,
+ 127886, 119048, 2380, 11380, 0, 0, 2376, 0, 119320, 0, 5197, 127046,
+ 127047, 127048, 2366, 127050, 127051, 120554, 120045, 0, 0, 0, 983425, 0,
+ 0, 0, 74188, 120241, 0, 0, 120047, 128575, 0, 0, 120049, 0, 1847, 0,
+ 10339, 0, 42384, 0, 4227, 74158, 0, 92501, 43032, 0, 42365, 0, 12671,
+ 11384, 0, 0, 0, 64797, 0, 5820, 0, 120052, 120065, 0, 120064, 120650,
+ 42137, 9893, 2754, 12664, 120063, 0, 7377, 127867, 41799, 65530, 1711,
+ 12984, 43039, 3114, 6255, 0, 118938, 0, 10853, 926, 0, 74184, 0, 120055,
+ 0, 43175, 0, 43037, 41798, 41035, 11583, 127769, 41801, 119088, 0, 520,
+ 4200, 12699, 8331, 0, 3091, 41034, 127353, 983533, 8360, 0, 78044, 321,
+ 4229, 64543, 917946, 65563, 0, 917974, 2861, 43793, 10095, 0, 9195,
92386, 1861, 0, 73733, 0, 0, 43041, 0, 43794, 128530, 3859, 12181, 41660,
8209, 0, 73867, 12973, 0, 74757, 127514, 41658, 0, 0, 5760, 0, 743, 4414,
120766, 0, 42632, 917973, 65161, 73896, 128589, 0, 1405, 119063, 43220,
43341, 0, 19919, 0, 64532, 65367, 43710, 0, 0, 3513, 0, 118883, 43342,
119064, 65529, 65364, 128197, 0, 6485, 1397, 0, 41986, 92678, 0, 0,
- 74097, 0, 7471, 12079, 0, 12682, 43287, 92317, 0, 0, 0, 0, 0, 1099,
+ 74097, 0, 7471, 12079, 0, 12682, 43287, 92317, 0, 0, 983442, 0, 0, 1099,
10490, 0, 10501, 65181, 74463, 0, 464, 41624, 65283, 67663, 78222, 1346,
0, 917631, 64573, 64897, 423, 1818, 65144, 0, 8272, 127812, 19911, 4218,
- 3087, 64960, 127234, 43564, 0, 0, 9584, 10465, 0, 74359, 12626, 9106, 0,
- 42642, 120230, 64750, 9390, 0, 41797, 0, 0, 265, 41795, 64666, 0, 43530,
- 2752, 0, 0, 0, 59, 0, 0, 0, 92371, 77873, 41810, 0, 7010, 0, 41809,
- 41495, 119364, 0, 42252, 42213, 8009, 3305, 43033, 511, 92700, 66255,
- 13127, 120067, 0, 0, 0, 917977, 65915, 1400, 41812, 10685, 194870, 2103,
- 10387, 4453, 43276, 917783, 13159, 0, 6481, 41213, 0, 0, 0, 0, 41983,
- 74198, 6617, 9116, 119654, 0, 462, 68110, 10493, 0, 8129, 0, 0, 74471,
- 6644, 11658, 0, 128245, 3452, 11906, 9581, 1385, 3098, 0, 119013, 43340,
- 0, 41033, 6493, 42626, 0, 0, 11426, 77887, 1681, 118789, 1204, 3755,
- 64661, 7235, 10170, 3966, 8911, 0, 41841, 43338, 0, 0, 5726, 64915,
- 42175, 0, 0, 41497, 65044, 120109, 2851, 43017, 0, 0, 4373, 78058, 0,
- 9587, 1789, 6671, 128840, 3100, 0, 65360, 0, 92365, 0, 64922, 0, 8190,
- 12083, 0, 0, 6506, 64312, 74374, 2368, 0, 4419, 0, 119125, 3439, 1825,
- 1192, 120106, 8891, 3080, 120228, 2347, 5430, 0, 8990, 2848, 0, 128223,
- 92528, 249, 0, 0, 0, 120658, 0, 0, 8883, 917802, 728, 68178, 995, 0, 0,
- 64826, 0, 917798, 128348, 0, 19945, 8091, 558, 0, 12273, 194814, 0,
- 12112, 0, 0, 0, 74419, 12335, 120104, 917795, 3443, 3129, 0, 2102, 65445,
- 78258, 64891, 0, 7725, 65108, 78255, 0, 8624, 69246, 12446, 43295, 0,
- 41894, 0, 6277, 41672, 41893, 10010, 128678, 3540, 128649, 835, 0, 69816,
- 119868, 74408, 0, 73959, 5426, 4258, 0, 0, 5424, 128127, 8283, 0, 5434,
- 0, 0, 19917, 11408, 0, 11947, 0, 1404, 3095, 11432, 128307, 3464, 6486,
- 4819, 128233, 0, 570, 8095, 3672, 119864, 1498, 67866, 0, 0, 431, 0, 0,
- 128182, 128096, 68167, 0, 13096, 128643, 0, 43408, 9516, 128538, 5268,
- 42230, 42220, 0, 4450, 120511, 11547, 43417, 128542, 356, 3477, 227,
- 10488, 68203, 382, 11418, 0, 0, 0, 0, 0, 0, 6484, 2541, 66039, 0, 78718,
- 92723, 3549, 0, 9110, 119665, 2743, 0, 43290, 194812, 9097, 0, 43015,
- 8782, 0, 776, 2524, 42707, 8573, 0, 0, 0, 0, 42694, 64944, 8952, 3856,
- 118818, 0, 5872, 6495, 0, 0, 0, 92543, 0, 120733, 12849, 3953, 1897, 0,
- 65094, 11994, 4339, 74556, 92654, 67843, 0, 0, 0, 68473, 74104, 5228,
- 128804, 7868, 43184, 0, 0, 73986, 43438, 0, 43022, 0, 1162, 0, 2671, 0,
- 0, 92632, 92631, 118865, 4553, 73811, 0, 195005, 0, 0, 19921, 74331,
- 11424, 195006, 4567, 41891, 0, 0, 55249, 4820, 65239, 194662, 0, 0,
- 43042, 119212, 1377, 12869, 4897, 42821, 9250, 0, 4438, 64385, 0, 1753,
- 11331, 6147, 194941, 43282, 8833, 0, 0, 6504, 78408, 126979, 10719, 0,
- 1898, 1413, 42443, 0, 802, 12141, 0, 194671, 6648, 10671, 2528, 0, 64789,
- 9169, 838, 127092, 120697, 844, 5014, 0, 256, 0, 9990, 0, 42739, 917851,
- 7542, 65464, 9726, 0, 6489, 10048, 74326, 78719, 66573, 0, 78724, 78712,
- 11761, 194655, 0, 41094, 0, 0, 0, 0, 92689, 6196, 6945, 194628, 194890,
- 128184, 120491, 11816, 194943, 5733, 2930, 0, 0, 41098, 0, 41093, 0,
- 66626, 588, 9760, 0, 194717, 1238, 200, 0, 1660, 73916, 0, 118905, 74362,
- 0, 92485, 194651, 0, 0, 3394, 194894, 120668, 0, 0, 127358, 66219,
- 127183, 43284, 194657, 7817, 1841, 11055, 120533, 194979, 194982, 1669,
- 10776, 194981, 7701, 194980, 0, 194995, 1732, 4030, 0, 3963, 66611,
- 127530, 41768, 6491, 0, 65324, 914, 65323, 8071, 3538, 0, 78713, 65328,
- 92441, 74367, 7614, 0, 11819, 0, 12009, 12399, 0, 67852, 65537, 0, 10841,
- 43430, 5301, 0, 92618, 5734, 8960, 0, 92527, 65317, 77880, 0, 0, 0,
- 12304, 0, 0, 65315, 92670, 128511, 0, 0, 0, 119621, 92529, 74536, 12447,
- 64486, 127374, 0, 0, 0, 0, 0, 42767, 10915, 0, 12007, 43695, 120520,
- 11975, 194878, 0, 92604, 2555, 8629, 0, 43168, 41872, 43706, 4496,
- 194879, 128148, 0, 0, 0, 0, 0, 64730, 0, 66714, 68222, 0, 0, 65596,
- 92306, 11416, 4280, 67655, 8765, 12784, 7792, 1393, 127242, 67871, 74386,
- 0, 8233, 12820, 0, 6683, 194876, 3442, 12144, 2841, 12543, 0, 1473,
- 42820, 64329, 127832, 0, 68642, 6488, 357, 1048, 41100, 0, 41104, 0,
- 3406, 1054, 119065, 1040, 65450, 0, 4434, 1069, 0, 118862, 65737, 917765,
- 128705, 0, 0, 9693, 41943, 0, 41931, 41759, 12757, 4353, 0, 1059, 9790,
- 8995, 128286, 0, 65937, 0, 41764, 10646, 0, 118833, 92372, 0, 74830,
- 78569, 12743, 0, 6480, 917761, 41779, 42580, 66601, 12207, 119619, 6335,
- 66602, 11312, 64807, 0, 0, 41767, 0, 0, 43020, 128271, 3955, 74254, 0, 0,
- 917861, 0, 77926, 9770, 9246, 12230, 0, 0, 0, 10448, 41783, 41786,
- 127093, 12797, 2755, 64571, 78578, 194927, 4857, 0, 4428, 12794, 73755,
- 128061, 78574, 0, 0, 0, 5747, 78825, 0, 7978, 41092, 74571, 0, 11924,
- 43812, 42144, 65015, 0, 563, 0, 0, 12798, 11271, 57, 0, 0, 917860,
- 119043, 0, 119134, 43137, 694, 0, 9876, 0, 119168, 0, 78822, 64537, 0,
- 277, 74385, 7229, 12761, 0, 0, 13025, 64811, 8757, 78824, 0, 1574, 7381,
- 0, 2525, 4852, 5749, 68465, 13027, 42824, 120574, 1039, 7151, 10155,
- 5745, 188, 41858, 11592, 0, 74015, 9055, 41853, 4858, 917780, 0, 436,
- 4771, 0, 2786, 0, 4856, 8051, 0, 119609, 0, 9644, 0, 0, 0, 194916,
- 120732, 66710, 118834, 0, 73906, 0, 127114, 0, 10234, 5843, 11939, 0,
- 42157, 0, 3157, 194918, 68393, 0, 3504, 119178, 0, 10822, 5149, 66029,
- 10226, 65142, 0, 3594, 42424, 194959, 40, 12657, 0, 0, 386, 0, 8834, 0,
- 12815, 43574, 0, 73907, 0, 74196, 7220, 74504, 0, 74316, 0, 77932, 4304,
- 74503, 8160, 78707, 194753, 0, 0, 0, 1348, 92349, 78597, 0, 13303, 0,
- 92392, 194755, 7599, 1278, 43616, 13269, 0, 0, 74387, 78179, 78598,
- 74492, 6097, 7568, 8780, 4982, 127464, 74501, 194763, 78592, 194762,
- 2672, 3735, 127471, 13138, 42266, 9484, 10724, 41202, 119024, 0, 43742,
- 0, 9487, 119959, 119117, 3842, 128768, 78668, 12442, 6193, 9791, 127976,
- 0, 42516, 7228, 7559, 74803, 78468, 7873, 11399, 119219, 194691, 194855,
- 194690, 194857, 3604, 0, 119188, 128877, 78540, 78541, 42507, 1962,
- 43305, 78476, 42505, 11660, 0, 2072, 92312, 6995, 74173, 5437, 74174,
- 10669, 8702, 7964, 92352, 0, 199, 194843, 4105, 194845, 194699, 194847,
- 194710, 119875, 13148, 7560, 78479, 9226, 78480, 195070, 6472, 65814,
- 73954, 0, 4724, 0, 0, 9191, 0, 64432, 0, 0, 195024, 10196, 7886, 0, 6585,
- 0, 6680, 195042, 0, 195051, 6679, 74412, 92251, 194866, 74421, 11382, 0,
- 0, 127891, 127484, 194833, 194832, 6681, 127482, 12693, 194836, 42727,
- 194838, 128252, 78195, 65442, 119610, 69733, 9989, 43248, 66248, 194816,
- 0, 194818, 128845, 194820, 194819, 5297, 7042, 13284, 6112, 7968, 194825,
- 73927, 92444, 194736, 65746, 127476, 74409, 74389, 128696, 4342, 42839,
- 194831, 1677, 0, 0, 194806, 917855, 11091, 11011, 2719, 0, 0, 119595,
- 10160, 0, 0, 7585, 65169, 2052, 4308, 92174, 74177, 7505, 543, 64916,
- 64736, 0, 0, 64655, 0, 118922, 2064, 0, 43158, 7902, 0, 65265, 194639, 0,
- 127170, 0, 0, 0, 0, 12994, 92728, 10828, 0, 6228, 4307, 3482, 128527, 0,
- 0, 0, 506, 74573, 41194, 65735, 2055, 43255, 41195, 0, 8169, 0, 8841, 0,
- 516, 0, 2063, 119051, 34, 128850, 120186, 11504, 1612, 74333, 120182,
- 74520, 74308, 12001, 120178, 10242, 64564, 120179, 120174, 6584, 7749,
- 11037, 0, 1758, 0, 10667, 10560, 120197, 92593, 1935, 11517, 120193,
- 120196, 120195, 1931, 120189, 74839, 120191, 1217, 64702, 12643, 825,
- 127838, 194905, 12294, 92428, 78834, 9138, 78831, 78833, 12631, 78829,
- 11080, 74554, 64000, 5591, 1239, 0, 11313, 0, 3403, 0, 0, 64364, 92269,
- 0, 74582, 8998, 12988, 0, 9152, 0, 0, 194898, 67589, 41850, 64290, 3433,
- 92393, 12615, 1594, 42192, 6914, 67603, 0, 119569, 74565, 41353, 67602,
- 67611, 4337, 0, 127296, 918, 65035, 41351, 7681, 194900, 42577, 41393,
- 12668, 194904, 2477, 127285, 0, 127301, 0, 67604, 194880, 127235, 573,
- 127282, 194884, 11417, 194886, 119814, 194888, 67599, 0, 194889, 67607,
- 11482, 0, 3981, 3357, 0, 42223, 4207, 1288, 78842, 78839, 68419, 78837,
- 11589, 42195, 194872, 194599, 127263, 64602, 67618, 92539, 0, 42788,
- 68416, 64480, 194875, 8423, 3348, 448, 68476, 9717, 0, 0, 997, 0, 0,
- 92577, 0, 11440, 11379, 42000, 13139, 42221, 65013, 126999, 127760,
- 73796, 0, 119228, 12035, 0, 2818, 0, 0, 73793, 0, 4172, 0, 0, 8373,
- 10873, 12197, 0, 0, 92265, 69706, 0, 78210, 0, 128110, 194865, 126982,
- 74563, 64828, 11419, 194868, 766, 1257, 0, 118845, 11381, 3265, 66617,
- 3274, 127365, 0, 0, 0, 74522, 41989, 0, 0, 128798, 3263, 0, 65672, 0,
- 3270, 64539, 11489, 0, 0, 0, 0, 9505, 65518, 194776, 756, 194605, 0, 0,
- 0, 7261, 0, 186, 0, 119156, 5770, 13179, 65830, 12612, 12949, 64856,
- 12800, 0, 74203, 64718, 0, 0, 92434, 118929, 0, 11578, 0, 119296, 0, 0,
- 0, 0, 74568, 9254, 0, 1794, 120217, 64521, 5624, 120220, 120221, 119958,
- 120223, 3617, 66636, 64886, 120211, 120212, 120213, 120214, 1872, 66508,
- 120467, 41079, 10748, 5502, 119330, 4452, 0, 0, 92526, 4511, 0, 0, 64678,
- 11425, 0, 43245, 1231, 194783, 0, 0, 9003, 8192, 0, 5305, 9653, 10616,
- 8694, 9546, 0, 0, 120478, 120200, 65205, 120202, 64063, 9878, 74780,
- 119626, 78202, 64058, 8799, 42131, 0, 64062, 1028, 64060, 64059, 837,
- 10567, 0, 43103, 0, 120754, 11427, 2902, 64043, 64042, 66464, 10756, 0,
- 42606, 64045, 64044, 43979, 10076, 64040, 43060, 194942, 1034, 3392,
- 127771, 43091, 64033, 64032, 42735, 64038, 64037, 64036, 64035, 4291,
- 194928, 64015, 64014, 64681, 194930, 0, 78145, 0, 43090, 0, 3476, 8973,
- 64012, 42473, 64010, 64008, 64007, 2003, 7706, 64517, 78153, 2538, 64009,
- 204, 0, 4802, 4111, 8239, 9098, 4805, 64001, 64057, 7885, 7247, 64054, 0,
- 0, 4767, 9343, 64049, 64048, 120034, 1133, 64053, 64052, 43453, 64050,
- 41340, 118975, 194835, 10005, 12329, 41333, 0, 8489, 1942, 0, 194834,
- 42520, 128249, 0, 0, 10760, 64023, 64022, 64021, 6582, 43670, 0, 64025,
- 9167, 42151, 78244, 0, 2026, 64019, 64018, 64017, 64016, 12768, 0, 7582,
- 78252, 78248, 77914, 78246, 78247, 0, 77915, 78766, 6788, 13094, 77920,
- 7532, 41414, 78520, 3179, 78518, 64769, 78514, 78517, 11461, 74454,
- 10751, 9051, 120720, 6708, 10535, 0, 68218, 55274, 2008, 64031, 64030,
- 294, 41874, 0, 126991, 65929, 0, 0, 0, 0, 64028, 8146, 64026, 41788,
- 194844, 0, 118795, 6343, 43247, 119888, 0, 119886, 119891, 119892,
- 119889, 11433, 119895, 119896, 0, 7801, 65578, 194839, 12915, 43968,
- 3297, 9699, 194955, 1135, 0, 0, 128525, 1995, 6722, 0, 0, 2552, 41546,
- 60, 68394, 8649, 41549, 78496, 0, 0, 6682, 0, 78679, 64710, 41547, 0,
- 2013, 128291, 78530, 78532, 78528, 78529, 12832, 78493, 8081, 8362, 3537,
- 119908, 9137, 7155, 8999, 0, 78533, 3466, 0, 0, 1996, 0, 3453, 6282, 0,
- 2002, 2000, 120175, 537, 0, 4179, 65119, 1998, 0, 1842, 0, 92674, 9628,
- 68446, 12081, 9826, 64502, 1767, 0, 0, 0, 120201, 0, 0, 0, 3059, 44024,
- 120204, 119953, 92693, 0, 0, 92452, 4100, 920, 1811, 1355, 0, 0, 3592,
- 10078, 0, 0, 0, 8592, 65870, 68164, 128792, 10742, 0, 42918, 1994, 9281,
- 3296, 12865, 1997, 1895,
+ 3087, 64960, 127234, 43564, 0, 0, 9584, 10465, 983637, 74359, 12626,
+ 9106, 0, 42642, 120230, 64750, 9390, 0, 41797, 0, 0, 265, 41795, 64666,
+ 0, 43530, 2752, 0, 0, 0, 59, 0, 983337, 0, 92371, 77873, 41810, 0, 7010,
+ 0, 41809, 41495, 119364, 0, 42252, 42213, 8009, 3305, 43033, 511, 92700,
+ 66255, 13127, 120067, 0, 0, 0, 917977, 65915, 1400, 41812, 10685, 194870,
+ 2103, 10387, 4453, 43276, 917783, 13159, 0, 6481, 41213, 0, 0, 0, 0,
+ 41983, 74198, 6617, 9116, 119654, 0, 462, 68110, 10493, 0, 8129, 0, 0,
+ 74471, 6644, 11658, 0, 128245, 3452, 11906, 9581, 1385, 3098, 0, 119013,
+ 43340, 0, 41033, 6493, 42626, 0, 0, 11426, 77887, 1681, 118789, 1204,
+ 3755, 64661, 7235, 10170, 3966, 8911, 0, 41841, 43338, 0, 0, 5726, 64915,
+ 42175, 0, 0, 41497, 65044, 120109, 2851, 43017, 983333, 0, 4373, 78058,
+ 0, 9587, 1789, 6671, 128840, 3100, 0, 65360, 0, 92365, 983556, 64922, 0,
+ 8190, 12083, 0, 0, 6506, 64312, 74374, 2368, 0, 4419, 983582, 119125,
+ 3439, 1825, 1192, 120106, 8891, 3080, 120228, 2347, 5430, 0, 8990, 2848,
+ 0, 128223, 92528, 249, 0, 0, 0, 120658, 0, 0, 8883, 917802, 728, 68178,
+ 995, 0, 0, 64826, 0, 917798, 128348, 0, 19945, 8091, 558, 0, 12273,
+ 194814, 983585, 12112, 0, 0, 0, 74419, 12335, 120104, 917795, 3443, 3129,
+ 0, 2102, 65445, 78258, 64891, 0, 7725, 65108, 78255, 0, 8624, 69246,
+ 12446, 43295, 0, 41894, 0, 6277, 41672, 41893, 10010, 128678, 3540,
+ 128649, 835, 0, 69816, 119868, 74408, 0, 73959, 5426, 4258, 0, 0, 5424,
+ 128127, 8283, 0, 5434, 983334, 0, 19917, 11408, 0, 11947, 0, 1404, 3095,
+ 11432, 128307, 3464, 6486, 4819, 128233, 0, 570, 8095, 3672, 119864,
+ 1498, 67866, 0, 0, 431, 0, 0, 128182, 128096, 68167, 983398, 13096,
+ 128643, 0, 43408, 9516, 128538, 5268, 42230, 42220, 0, 4450, 120511,
+ 11547, 43417, 128542, 356, 3477, 227, 10488, 68203, 382, 11418, 0,
+ 983319, 0, 0, 0, 0, 6484, 2541, 66039, 0, 78718, 92723, 3549, 0, 9110,
+ 119665, 2743, 0, 43290, 194812, 9097, 0, 43015, 8782, 0, 776, 2524,
+ 42707, 8573, 0, 0, 0, 0, 42694, 64944, 8952, 3856, 118818, 0, 5872, 6495,
+ 0, 0, 0, 92543, 0, 120733, 12849, 3953, 1897, 0, 65094, 11994, 4339,
+ 74556, 92654, 67843, 0, 0, 0, 68473, 74104, 5228, 128804, 7868, 43184, 0,
+ 0, 73986, 43438, 0, 43022, 0, 1162, 0, 2671, 0, 0, 92632, 92631, 118865,
+ 4553, 73811, 0, 195005, 0, 0, 19921, 74331, 11424, 195006, 4567, 41891,
+ 0, 983523, 55249, 4820, 65239, 194662, 0, 0, 43042, 119212, 1377, 12869,
+ 4897, 42821, 9250, 0, 4438, 64385, 0, 1753, 11331, 6147, 194941, 43282,
+ 8833, 0, 0, 6504, 78408, 126979, 10719, 0, 1898, 1413, 42443, 0, 802,
+ 12141, 0, 194671, 6648, 10671, 2528, 0, 64789, 9169, 838, 127092, 120697,
+ 844, 5014, 0, 256, 0, 9990, 0, 42739, 917851, 7542, 65464, 9726, 0, 6489,
+ 10048, 74326, 78719, 66573, 0, 78724, 78712, 11761, 194655, 0, 41094, 0,
+ 0, 0, 0, 92689, 6196, 6945, 194628, 194890, 128184, 120491, 11816,
+ 194943, 5733, 2930, 0, 0, 41098, 0, 41093, 0, 66626, 588, 9760, 0,
+ 194717, 1238, 200, 0, 1660, 73916, 0, 118905, 74362, 0, 92485, 194651, 0,
+ 983441, 3394, 194894, 120668, 0, 0, 127358, 66219, 127183, 43284, 194657,
+ 7817, 1841, 11055, 120533, 194979, 194982, 1669, 10776, 194981, 7701,
+ 194980, 0, 194995, 1732, 4030, 0, 3963, 66611, 127530, 41768, 6491, 0,
+ 65324, 914, 65323, 8071, 3538, 0, 78713, 65328, 92441, 74367, 7614, 0,
+ 11819, 0, 12009, 12399, 0, 67852, 65537, 0, 10841, 43430, 5301, 0, 92618,
+ 5734, 8960, 0, 92527, 65317, 77880, 0, 0, 0, 12304, 0, 0, 65315, 92670,
+ 128511, 0, 0, 0, 119621, 92529, 74536, 12447, 64486, 127374, 0, 0, 0, 0,
+ 983537, 42767, 10915, 0, 12007, 43695, 120520, 11975, 194878, 0, 92604,
+ 2555, 8629, 0, 43168, 41872, 43706, 4496, 194879, 128148, 0, 0, 0, 0, 0,
+ 64730, 0, 66714, 68222, 0, 0, 65596, 92306, 11416, 4280, 67655, 8765,
+ 12784, 7792, 1393, 127242, 67871, 74386, 0, 8233, 12820, 0, 6683, 194876,
+ 3442, 12144, 2841, 12543, 0, 1473, 42820, 64329, 127832, 0, 68642, 6488,
+ 357, 1048, 41100, 0, 41104, 0, 3406, 1054, 119065, 1040, 65450, 0, 4434,
+ 1069, 0, 118862, 65737, 917765, 128705, 0, 983428, 9693, 41943, 0, 41931,
+ 41759, 12757, 4353, 0, 1059, 9790, 8995, 128286, 983431, 65937, 0, 41764,
+ 10646, 0, 118833, 92372, 0, 74830, 78569, 12743, 983424, 6480, 917761,
+ 41779, 42580, 66601, 12207, 119619, 6335, 66602, 11312, 64807, 0, 0,
+ 41767, 0, 983499, 43020, 128271, 3955, 74254, 0, 983489, 917861, 0,
+ 77926, 9770, 9246, 12230, 0, 0, 0, 10448, 41783, 41786, 127093, 12797,
+ 2755, 64571, 78578, 194927, 4857, 0, 4428, 12794, 73755, 128061, 78574,
+ 0, 0, 0, 5747, 78825, 0, 7978, 41092, 74571, 0, 11924, 43812, 42144,
+ 65015, 0, 563, 0, 983426, 12798, 11271, 57, 0, 0, 917860, 119043, 0,
+ 119134, 43137, 694, 0, 9876, 0, 119168, 0, 78822, 64537, 0, 277, 74385,
+ 7229, 12761, 0, 0, 13025, 64811, 8757, 78824, 0, 1574, 7381, 0, 2525,
+ 4852, 5749, 68465, 13027, 42824, 120574, 1039, 7151, 10155, 5745, 188,
+ 41858, 11592, 0, 74015, 9055, 41853, 4858, 917780, 0, 436, 4771, 0, 2786,
+ 0, 4856, 8051, 0, 119609, 0, 9644, 0, 0, 0, 194916, 120732, 66710,
+ 118834, 0, 73906, 0, 127114, 0, 10234, 5843, 11939, 0, 42157, 0, 3157,
+ 194918, 68393, 0, 3504, 119178, 0, 10822, 5149, 66029, 10226, 65142, 0,
+ 3594, 42424, 194959, 40, 12657, 983400, 0, 386, 0, 8834, 0, 12815, 43574,
+ 0, 73907, 0, 74196, 7220, 74504, 0, 74316, 0, 77932, 4304, 74503, 8160,
+ 78707, 194753, 0, 0, 0, 1348, 92349, 78597, 0, 13303, 0, 92392, 194755,
+ 7599, 1278, 43616, 13269, 0, 0, 74387, 78179, 78598, 74492, 6097, 7568,
+ 8780, 4982, 127464, 74501, 194763, 78592, 194762, 2672, 3735, 127471,
+ 13138, 42266, 9484, 10724, 41202, 119024, 0, 43742, 0, 9487, 119959,
+ 119117, 3842, 128768, 78668, 12442, 6193, 9791, 127976, 0, 42516, 7228,
+ 7559, 74803, 78468, 7873, 11399, 119219, 194691, 194855, 194690, 194857,
+ 3604, 983388, 119188, 128877, 78540, 78541, 42507, 1962, 43305, 78476,
+ 42505, 11660, 0, 2072, 92312, 6995, 74173, 5437, 74174, 10669, 8702,
+ 7964, 92352, 0, 199, 194843, 4105, 194845, 194699, 194847, 194710,
+ 119875, 13148, 7560, 78479, 9226, 78480, 195070, 6472, 65814, 73954, 0,
+ 4724, 0, 0, 9191, 0, 64432, 983552, 0, 195024, 10196, 7886, 0, 6585, 0,
+ 6680, 195042, 0, 195051, 6679, 74412, 92251, 194866, 74421, 11382,
+ 983366, 983372, 127891, 127484, 194833, 194832, 6681, 127482, 12693,
+ 194836, 42727, 194838, 128252, 78195, 65442, 119610, 69733, 9989, 43248,
+ 66248, 194816, 0, 194818, 128845, 194820, 194819, 5297, 7042, 13284,
+ 6112, 7968, 194825, 73927, 92444, 194736, 65746, 127476, 74409, 74389,
+ 128696, 4342, 42839, 194831, 1677, 0, 0, 194806, 917855, 11091, 11011,
+ 2719, 0, 0, 119595, 10160, 0, 0, 7585, 65169, 2052, 4308, 92174, 74177,
+ 7505, 543, 64916, 64736, 0, 0, 64655, 0, 118922, 2064, 0, 43158, 7902, 0,
+ 65265, 194639, 0, 127170, 0, 0, 0, 0, 12994, 92728, 10828, 983675, 6228,
+ 4307, 3482, 128527, 0, 0, 0, 506, 74573, 41194, 65735, 2055, 43255,
+ 41195, 0, 8169, 983415, 8841, 0, 516, 0, 2063, 119051, 34, 128850,
+ 120186, 11504, 1612, 74333, 120182, 74520, 74308, 12001, 120178, 10242,
+ 64564, 120179, 120174, 6584, 7749, 11037, 0, 1758, 0, 10667, 10560,
+ 120197, 92593, 1935, 11517, 120193, 120196, 120195, 1931, 120189, 74839,
+ 120191, 1217, 64702, 12643, 825, 127838, 194905, 12294, 92428, 78834,
+ 9138, 78831, 78833, 12631, 78829, 11080, 74554, 64000, 5591, 1239, 0,
+ 11313, 0, 3403, 0, 0, 64364, 92269, 0, 74582, 8998, 12988, 0, 9152,
+ 983584, 0, 194898, 67589, 41850, 64290, 3433, 92393, 12615, 1594, 42192,
+ 6914, 67603, 0, 119569, 74565, 41353, 67602, 67611, 4337, 0, 127296, 918,
+ 65035, 41351, 7681, 194900, 42577, 41393, 12668, 194904, 2477, 127285, 0,
+ 127301, 0, 67604, 194880, 127235, 573, 127282, 194884, 11417, 194886,
+ 119814, 194888, 67599, 0, 194889, 67607, 11482, 0, 3981, 3357, 0, 42223,
+ 4207, 1288, 78842, 78839, 68419, 78837, 11589, 42195, 194872, 194599,
+ 127263, 64602, 67618, 92539, 0, 42788, 68416, 64480, 194875, 8423, 3348,
+ 448, 68476, 9717, 0, 0, 997, 0, 0, 92577, 0, 11440, 11379, 42000, 13139,
+ 42221, 65013, 126999, 127760, 73796, 0, 119228, 12035, 0, 2818, 0, 0,
+ 73793, 0, 4172, 0, 0, 8373, 10873, 12197, 0, 0, 92265, 69706, 0, 78210,
+ 0, 128110, 194865, 126982, 74563, 64828, 11419, 194868, 766, 1257, 0,
+ 118845, 11381, 3265, 66617, 3274, 127365, 983432, 0, 0, 74522, 41989, 0,
+ 0, 128798, 3263, 0, 65672, 0, 3270, 64539, 11489, 0, 0, 0, 0, 9505,
+ 65518, 194776, 756, 194605, 0, 0, 0, 7261, 0, 186, 0, 119156, 5770,
+ 13179, 65830, 12612, 12949, 64856, 12800, 0, 74203, 64718, 0, 0, 92434,
+ 118929, 0, 11578, 0, 119296, 0, 0, 0, 0, 74568, 9254, 0, 1794, 120217,
+ 64521, 5624, 120220, 120221, 119958, 120223, 3617, 66636, 64886, 120211,
+ 120212, 120213, 120214, 1872, 66508, 120467, 41079, 10748, 5502, 119330,
+ 4452, 0, 983506, 92526, 4511, 0, 0, 64678, 11425, 0, 43245, 1231, 194783,
+ 0, 0, 9003, 8192, 0, 5305, 9653, 10616, 8694, 9546, 0, 0, 120478, 120200,
+ 65205, 120202, 64063, 9878, 74780, 119626, 78202, 64058, 8799, 42131, 0,
+ 64062, 1028, 64060, 64059, 837, 10567, 0, 43103, 0, 120754, 11427, 2902,
+ 64043, 64042, 66464, 10756, 0, 42606, 64045, 64044, 43979, 10076, 64040,
+ 43060, 194942, 1034, 3392, 127771, 43091, 64033, 64032, 42735, 64038,
+ 64037, 64036, 64035, 4291, 194928, 64015, 64014, 64681, 194930, 0, 78145,
+ 0, 43090, 0, 3476, 8973, 64012, 42473, 64010, 64008, 64007, 2003, 7706,
+ 64517, 78153, 2538, 64009, 204, 0, 4802, 4111, 8239, 9098, 4805, 64001,
+ 64057, 7885, 7247, 64054, 0, 0, 4767, 9343, 64049, 64048, 120034, 1133,
+ 64053, 64052, 43453, 64050, 41340, 118975, 194835, 10005, 12329, 41333,
+ 0, 8489, 1942, 0, 194834, 42520, 128249, 0, 0, 10760, 64023, 64022,
+ 64021, 6582, 43670, 0, 64025, 9167, 42151, 78244, 0, 2026, 64019, 64018,
+ 64017, 64016, 12768, 0, 7582, 78252, 78248, 77914, 78246, 78247, 0,
+ 77915, 78766, 6788, 13094, 77920, 7532, 41414, 78520, 3179, 78518, 64769,
+ 78514, 78517, 11461, 74454, 10751, 9051, 120720, 6708, 10535, 0, 68218,
+ 55274, 2008, 64031, 64030, 294, 41874, 0, 126991, 65929, 0, 0, 0, 0,
+ 64028, 8146, 64026, 41788, 194844, 0, 118795, 6343, 43247, 119888, 0,
+ 119886, 119891, 119892, 119889, 11433, 119895, 119896, 0, 7801, 65578,
+ 194839, 12915, 43968, 3297, 9699, 194955, 1135, 0, 0, 128525, 1995, 6722,
+ 983657, 0, 2552, 41546, 60, 68394, 8649, 41549, 78496, 0, 0, 6682, 0,
+ 78679, 64710, 41547, 0, 2013, 128291, 78530, 78532, 78528, 78529, 12832,
+ 78493, 8081, 8362, 3537, 119908, 9137, 7155, 8999, 0, 78533, 3466, 0, 0,
+ 1996, 0, 3453, 6282, 0, 2002, 2000, 120175, 537, 0, 4179, 65119, 1998, 0,
+ 1842, 0, 92674, 9628, 68446, 12081, 9826, 64502, 1767, 0, 0, 0, 120201,
+ 983381, 0, 0, 3059, 44024, 120204, 119953, 92693, 0, 0, 92452, 4100, 920,
+ 1811, 1355, 0, 0, 3592, 10078, 0, 0, 0, 8592, 65870, 68164, 128792,
+ 10742, 0, 42918, 1994, 9281, 3296, 12865, 1997, 1895,
};
#define code_magic 47
#define code_size 32768
#define code_poly 32771
+
+static const unsigned int aliases_start = 0xf0000;
+static const unsigned int aliases_end = 0xf000b;
+static const unsigned int name_aliases[] = {
+ 0x01A2,
+ 0x01A3,
+ 0x0CDE,
+ 0x0E9D,
+ 0x0E9F,
+ 0x0EA3,
+ 0x0EA5,
+ 0x0FD0,
+ 0xA015,
+ 0xFE18,
+ 0x1D0C5,
+};
+
+typedef struct NamedSequence {
+ int seqlen;
+ Py_UCS2 seq[4];
+} named_sequence;
+
+static const unsigned int named_sequences_start = 0xf0100;
+static const unsigned int named_sequences_end = 0xf02a2;
+static const named_sequence named_sequences[] = {
+ {2, {0x0100, 0x0300}},
+ {2, {0x0101, 0x0300}},
+ {2, {0x0045, 0x0329}},
+ {2, {0x0065, 0x0329}},
+ {2, {0x00C8, 0x0329}},
+ {2, {0x00E8, 0x0329}},
+ {2, {0x00C9, 0x0329}},
+ {2, {0x00E9, 0x0329}},
+ {2, {0x00CA, 0x0304}},
+ {2, {0x00EA, 0x0304}},
+ {2, {0x00CA, 0x030C}},
+ {2, {0x00EA, 0x030C}},
+ {2, {0x012A, 0x0300}},
+ {2, {0x012B, 0x0300}},
+ {3, {0x0069, 0x0307, 0x0301}},
+ {3, {0x006E, 0x0360, 0x0067}},
+ {2, {0x004F, 0x0329}},
+ {2, {0x006F, 0x0329}},
+ {2, {0x00D2, 0x0329}},
+ {2, {0x00F2, 0x0329}},
+ {2, {0x00D3, 0x0329}},
+ {2, {0x00F3, 0x0329}},
+ {2, {0x0053, 0x0329}},
+ {2, {0x0073, 0x0329}},
+ {2, {0x016A, 0x0300}},
+ {2, {0x016B, 0x0300}},
+ {2, {0x0104, 0x0301}},
+ {2, {0x0105, 0x0301}},
+ {2, {0x0104, 0x0303}},
+ {2, {0x0105, 0x0303}},
+ {2, {0x0118, 0x0301}},
+ {2, {0x0119, 0x0301}},
+ {2, {0x0118, 0x0303}},
+ {2, {0x0119, 0x0303}},
+ {2, {0x0116, 0x0301}},
+ {2, {0x0117, 0x0301}},
+ {2, {0x0116, 0x0303}},
+ {2, {0x0117, 0x0303}},
+ {3, {0x0069, 0x0307, 0x0300}},
+ {3, {0x0069, 0x0307, 0x0303}},
+ {2, {0x012E, 0x0301}},
+ {3, {0x012F, 0x0307, 0x0301}},
+ {2, {0x012E, 0x0303}},
+ {3, {0x012F, 0x0307, 0x0303}},
+ {2, {0x004A, 0x0303}},
+ {3, {0x006A, 0x0307, 0x0303}},
+ {2, {0x004C, 0x0303}},
+ {2, {0x006C, 0x0303}},
+ {2, {0x004D, 0x0303}},
+ {2, {0x006D, 0x0303}},
+ {2, {0x0052, 0x0303}},
+ {2, {0x0072, 0x0303}},
+ {2, {0x0172, 0x0301}},
+ {2, {0x0173, 0x0301}},
+ {2, {0x0172, 0x0303}},
+ {2, {0x0173, 0x0303}},
+ {2, {0x016A, 0x0301}},
+ {2, {0x016B, 0x0301}},
+ {2, {0x016A, 0x0303}},
+ {2, {0x016B, 0x0303}},
+ {2, {0x00E6, 0x0300}},
+ {2, {0x0254, 0x0300}},
+ {2, {0x0254, 0x0301}},
+ {2, {0x028C, 0x0300}},
+ {2, {0x028C, 0x0301}},
+ {2, {0x0259, 0x0300}},
+ {2, {0x0259, 0x0301}},
+ {2, {0x025A, 0x0300}},
+ {2, {0x025A, 0x0301}},
+ {3, {0x0995, 0x09CD, 0x09B7}},
+ {2, {0x0B95, 0x0BCD}},
+ {2, {0x0B99, 0x0BCD}},
+ {2, {0x0B9A, 0x0BCD}},
+ {2, {0x0B9E, 0x0BCD}},
+ {2, {0x0B9F, 0x0BCD}},
+ {2, {0x0BA3, 0x0BCD}},
+ {2, {0x0BA4, 0x0BCD}},
+ {2, {0x0BA8, 0x0BCD}},
+ {2, {0x0BAA, 0x0BCD}},
+ {2, {0x0BAE, 0x0BCD}},
+ {2, {0x0BAF, 0x0BCD}},
+ {2, {0x0BB0, 0x0BCD}},
+ {2, {0x0BB2, 0x0BCD}},
+ {2, {0x0BB5, 0x0BCD}},
+ {2, {0x0BB4, 0x0BCD}},
+ {2, {0x0BB3, 0x0BCD}},
+ {2, {0x0BB1, 0x0BCD}},
+ {2, {0x0BA9, 0x0BCD}},
+ {2, {0x0B9C, 0x0BCD}},
+ {2, {0x0BB6, 0x0BCD}},
+ {2, {0x0BB7, 0x0BCD}},
+ {2, {0x0BB8, 0x0BCD}},
+ {2, {0x0BB9, 0x0BCD}},
+ {4, {0x0B95, 0x0BCD, 0x0BB7, 0x0BCD}},
+ {2, {0x0B95, 0x0BBE}},
+ {2, {0x0B95, 0x0BBF}},
+ {2, {0x0B95, 0x0BC0}},
+ {2, {0x0B95, 0x0BC1}},
+ {2, {0x0B95, 0x0BC2}},
+ {2, {0x0B95, 0x0BC6}},
+ {2, {0x0B95, 0x0BC7}},
+ {2, {0x0B95, 0x0BC8}},
+ {2, {0x0B95, 0x0BCA}},
+ {2, {0x0B95, 0x0BCB}},
+ {2, {0x0B95, 0x0BCC}},
+ {2, {0x0B99, 0x0BBE}},
+ {2, {0x0B99, 0x0BBF}},
+ {2, {0x0B99, 0x0BC0}},
+ {2, {0x0B99, 0x0BC1}},
+ {2, {0x0B99, 0x0BC2}},
+ {2, {0x0B99, 0x0BC6}},
+ {2, {0x0B99, 0x0BC7}},
+ {2, {0x0B99, 0x0BC8}},
+ {2, {0x0B99, 0x0BCA}},
+ {2, {0x0B99, 0x0BCB}},
+ {2, {0x0B99, 0x0BCC}},
+ {2, {0x0B9A, 0x0BBE}},
+ {2, {0x0B9A, 0x0BBF}},
+ {2, {0x0B9A, 0x0BC0}},
+ {2, {0x0B9A, 0x0BC1}},
+ {2, {0x0B9A, 0x0BC2}},
+ {2, {0x0B9A, 0x0BC6}},
+ {2, {0x0B9A, 0x0BC7}},
+ {2, {0x0B9A, 0x0BC8}},
+ {2, {0x0B9A, 0x0BCA}},
+ {2, {0x0B9A, 0x0BCB}},
+ {2, {0x0B9A, 0x0BCC}},
+ {2, {0x0B9E, 0x0BBE}},
+ {2, {0x0B9E, 0x0BBF}},
+ {2, {0x0B9E, 0x0BC0}},
+ {2, {0x0B9E, 0x0BC1}},
+ {2, {0x0B9E, 0x0BC2}},
+ {2, {0x0B9E, 0x0BC6}},
+ {2, {0x0B9E, 0x0BC7}},
+ {2, {0x0B9E, 0x0BC8}},
+ {2, {0x0B9E, 0x0BCA}},
+ {2, {0x0B9E, 0x0BCB}},
+ {2, {0x0B9E, 0x0BCC}},
+ {2, {0x0B9F, 0x0BBE}},
+ {2, {0x0B9F, 0x0BBF}},
+ {2, {0x0B9F, 0x0BC0}},
+ {2, {0x0B9F, 0x0BC1}},
+ {2, {0x0B9F, 0x0BC2}},
+ {2, {0x0B9F, 0x0BC6}},
+ {2, {0x0B9F, 0x0BC7}},
+ {2, {0x0B9F, 0x0BC8}},
+ {2, {0x0B9F, 0x0BCA}},
+ {2, {0x0B9F, 0x0BCB}},
+ {2, {0x0B9F, 0x0BCC}},
+ {2, {0x0BA3, 0x0BBE}},
+ {2, {0x0BA3, 0x0BBF}},
+ {2, {0x0BA3, 0x0BC0}},
+ {2, {0x0BA3, 0x0BC1}},
+ {2, {0x0BA3, 0x0BC2}},
+ {2, {0x0BA3, 0x0BC6}},
+ {2, {0x0BA3, 0x0BC7}},
+ {2, {0x0BA3, 0x0BC8}},
+ {2, {0x0BA3, 0x0BCA}},
+ {2, {0x0BA3, 0x0BCB}},
+ {2, {0x0BA3, 0x0BCC}},
+ {2, {0x0BA4, 0x0BBE}},
+ {2, {0x0BA4, 0x0BBF}},
+ {2, {0x0BA4, 0x0BC0}},
+ {2, {0x0BA4, 0x0BC1}},
+ {2, {0x0BA4, 0x0BC2}},
+ {2, {0x0BA4, 0x0BC6}},
+ {2, {0x0BA4, 0x0BC7}},
+ {2, {0x0BA4, 0x0BC8}},
+ {2, {0x0BA4, 0x0BCA}},
+ {2, {0x0BA4, 0x0BCB}},
+ {2, {0x0BA4, 0x0BCC}},
+ {2, {0x0BA8, 0x0BBE}},
+ {2, {0x0BA8, 0x0BBF}},
+ {2, {0x0BA8, 0x0BC0}},
+ {2, {0x0BA8, 0x0BC1}},
+ {2, {0x0BA8, 0x0BC2}},
+ {2, {0x0BA8, 0x0BC6}},
+ {2, {0x0BA8, 0x0BC7}},
+ {2, {0x0BA8, 0x0BC8}},
+ {2, {0x0BA8, 0x0BCA}},
+ {2, {0x0BA8, 0x0BCB}},
+ {2, {0x0BA8, 0x0BCC}},
+ {2, {0x0BAA, 0x0BBE}},
+ {2, {0x0BAA, 0x0BBF}},
+ {2, {0x0BAA, 0x0BC0}},
+ {2, {0x0BAA, 0x0BC1}},
+ {2, {0x0BAA, 0x0BC2}},
+ {2, {0x0BAA, 0x0BC6}},
+ {2, {0x0BAA, 0x0BC7}},
+ {2, {0x0BAA, 0x0BC8}},
+ {2, {0x0BAA, 0x0BCA}},
+ {2, {0x0BAA, 0x0BCB}},
+ {2, {0x0BAA, 0x0BCC}},
+ {2, {0x0BAE, 0x0BBE}},
+ {2, {0x0BAE, 0x0BBF}},
+ {2, {0x0BAE, 0x0BC0}},
+ {2, {0x0BAE, 0x0BC1}},
+ {2, {0x0BAE, 0x0BC2}},
+ {2, {0x0BAE, 0x0BC6}},
+ {2, {0x0BAE, 0x0BC7}},
+ {2, {0x0BAE, 0x0BC8}},
+ {2, {0x0BAE, 0x0BCA}},
+ {2, {0x0BAE, 0x0BCB}},
+ {2, {0x0BAE, 0x0BCC}},
+ {2, {0x0BAF, 0x0BBE}},
+ {2, {0x0BAF, 0x0BBF}},
+ {2, {0x0BAF, 0x0BC0}},
+ {2, {0x0BAF, 0x0BC1}},
+ {2, {0x0BAF, 0x0BC2}},
+ {2, {0x0BAF, 0x0BC6}},
+ {2, {0x0BAF, 0x0BC7}},
+ {2, {0x0BAF, 0x0BC8}},
+ {2, {0x0BAF, 0x0BCA}},
+ {2, {0x0BAF, 0x0BCB}},
+ {2, {0x0BAF, 0x0BCC}},
+ {2, {0x0BB0, 0x0BBE}},
+ {2, {0x0BB0, 0x0BBF}},
+ {2, {0x0BB0, 0x0BC0}},
+ {2, {0x0BB0, 0x0BC1}},
+ {2, {0x0BB0, 0x0BC2}},
+ {2, {0x0BB0, 0x0BC6}},
+ {2, {0x0BB0, 0x0BC7}},
+ {2, {0x0BB0, 0x0BC8}},
+ {2, {0x0BB0, 0x0BCA}},
+ {2, {0x0BB0, 0x0BCB}},
+ {2, {0x0BB0, 0x0BCC}},
+ {2, {0x0BB2, 0x0BBE}},
+ {2, {0x0BB2, 0x0BBF}},
+ {2, {0x0BB2, 0x0BC0}},
+ {2, {0x0BB2, 0x0BC1}},
+ {2, {0x0BB2, 0x0BC2}},
+ {2, {0x0BB2, 0x0BC6}},
+ {2, {0x0BB2, 0x0BC7}},
+ {2, {0x0BB2, 0x0BC8}},
+ {2, {0x0BB2, 0x0BCA}},
+ {2, {0x0BB2, 0x0BCB}},
+ {2, {0x0BB2, 0x0BCC}},
+ {2, {0x0BB5, 0x0BBE}},
+ {2, {0x0BB5, 0x0BBF}},
+ {2, {0x0BB5, 0x0BC0}},
+ {2, {0x0BB5, 0x0BC1}},
+ {2, {0x0BB5, 0x0BC2}},
+ {2, {0x0BB5, 0x0BC6}},
+ {2, {0x0BB5, 0x0BC7}},
+ {2, {0x0BB5, 0x0BC8}},
+ {2, {0x0BB5, 0x0BCA}},
+ {2, {0x0BB5, 0x0BCB}},
+ {2, {0x0BB5, 0x0BCC}},
+ {2, {0x0BB4, 0x0BBE}},
+ {2, {0x0BB4, 0x0BBF}},
+ {2, {0x0BB4, 0x0BC0}},
+ {2, {0x0BB4, 0x0BC1}},
+ {2, {0x0BB4, 0x0BC2}},
+ {2, {0x0BB4, 0x0BC6}},
+ {2, {0x0BB4, 0x0BC7}},
+ {2, {0x0BB4, 0x0BC8}},
+ {2, {0x0BB4, 0x0BCA}},
+ {2, {0x0BB4, 0x0BCB}},
+ {2, {0x0BB4, 0x0BCC}},
+ {2, {0x0BB3, 0x0BBE}},
+ {2, {0x0BB3, 0x0BBF}},
+ {2, {0x0BB3, 0x0BC0}},
+ {2, {0x0BB3, 0x0BC1}},
+ {2, {0x0BB3, 0x0BC2}},
+ {2, {0x0BB3, 0x0BC6}},
+ {2, {0x0BB3, 0x0BC7}},
+ {2, {0x0BB3, 0x0BC8}},
+ {2, {0x0BB3, 0x0BCA}},
+ {2, {0x0BB3, 0x0BCB}},
+ {2, {0x0BB3, 0x0BCC}},
+ {2, {0x0BB1, 0x0BBE}},
+ {2, {0x0BB1, 0x0BBF}},
+ {2, {0x0BB1, 0x0BC0}},
+ {2, {0x0BB1, 0x0BC1}},
+ {2, {0x0BB1, 0x0BC2}},
+ {2, {0x0BB1, 0x0BC6}},
+ {2, {0x0BB1, 0x0BC7}},
+ {2, {0x0BB1, 0x0BC8}},
+ {2, {0x0BB1, 0x0BCA}},
+ {2, {0x0BB1, 0x0BCB}},
+ {2, {0x0BB1, 0x0BCC}},
+ {2, {0x0BA9, 0x0BBE}},
+ {2, {0x0BA9, 0x0BBF}},
+ {2, {0x0BA9, 0x0BC0}},
+ {2, {0x0BA9, 0x0BC1}},
+ {2, {0x0BA9, 0x0BC2}},
+ {2, {0x0BA9, 0x0BC6}},
+ {2, {0x0BA9, 0x0BC7}},
+ {2, {0x0BA9, 0x0BC8}},
+ {2, {0x0BA9, 0x0BCA}},
+ {2, {0x0BA9, 0x0BCB}},
+ {2, {0x0BA9, 0x0BCC}},
+ {2, {0x0B9C, 0x0BBE}},
+ {2, {0x0B9C, 0x0BBF}},
+ {2, {0x0B9C, 0x0BC0}},
+ {2, {0x0B9C, 0x0BC1}},
+ {2, {0x0B9C, 0x0BC2}},
+ {2, {0x0B9C, 0x0BC6}},
+ {2, {0x0B9C, 0x0BC7}},
+ {2, {0x0B9C, 0x0BC8}},
+ {2, {0x0B9C, 0x0BCA}},
+ {2, {0x0B9C, 0x0BCB}},
+ {2, {0x0B9C, 0x0BCC}},
+ {2, {0x0BB6, 0x0BBE}},
+ {2, {0x0BB6, 0x0BBF}},
+ {2, {0x0BB6, 0x0BC0}},
+ {2, {0x0BB6, 0x0BC1}},
+ {2, {0x0BB6, 0x0BC2}},
+ {2, {0x0BB6, 0x0BC6}},
+ {2, {0x0BB6, 0x0BC7}},
+ {2, {0x0BB6, 0x0BC8}},
+ {2, {0x0BB6, 0x0BCA}},
+ {2, {0x0BB6, 0x0BCB}},
+ {2, {0x0BB6, 0x0BCC}},
+ {2, {0x0BB7, 0x0BBE}},
+ {2, {0x0BB7, 0x0BBF}},
+ {2, {0x0BB7, 0x0BC0}},
+ {2, {0x0BB7, 0x0BC1}},
+ {2, {0x0BB7, 0x0BC2}},
+ {2, {0x0BB7, 0x0BC6}},
+ {2, {0x0BB7, 0x0BC7}},
+ {2, {0x0BB7, 0x0BC8}},
+ {2, {0x0BB7, 0x0BCA}},
+ {2, {0x0BB7, 0x0BCB}},
+ {2, {0x0BB7, 0x0BCC}},
+ {2, {0x0BB8, 0x0BBE}},
+ {2, {0x0BB8, 0x0BBF}},
+ {2, {0x0BB8, 0x0BC0}},
+ {2, {0x0BB8, 0x0BC1}},
+ {2, {0x0BB8, 0x0BC2}},
+ {2, {0x0BB8, 0x0BC6}},
+ {2, {0x0BB8, 0x0BC7}},
+ {2, {0x0BB8, 0x0BC8}},
+ {2, {0x0BB8, 0x0BCA}},
+ {2, {0x0BB8, 0x0BCB}},
+ {2, {0x0BB8, 0x0BCC}},
+ {2, {0x0BB9, 0x0BBE}},
+ {2, {0x0BB9, 0x0BBF}},
+ {2, {0x0BB9, 0x0BC0}},
+ {2, {0x0BB9, 0x0BC1}},
+ {2, {0x0BB9, 0x0BC2}},
+ {2, {0x0BB9, 0x0BC6}},
+ {2, {0x0BB9, 0x0BC7}},
+ {2, {0x0BB9, 0x0BC8}},
+ {2, {0x0BB9, 0x0BCA}},
+ {2, {0x0BB9, 0x0BCB}},
+ {2, {0x0BB9, 0x0BCC}},
+ {3, {0x0B95, 0x0BCD, 0x0BB7}},
+ {4, {0x0B95, 0x0BCD, 0x0BB7, 0x0BBE}},
+ {4, {0x0B95, 0x0BCD, 0x0BB7, 0x0BBF}},
+ {4, {0x0B95, 0x0BCD, 0x0BB7, 0x0BC0}},
+ {4, {0x0B95, 0x0BCD, 0x0BB7, 0x0BC1}},
+ {4, {0x0B95, 0x0BCD, 0x0BB7, 0x0BC2}},
+ {4, {0x0B95, 0x0BCD, 0x0BB7, 0x0BC6}},
+ {4, {0x0B95, 0x0BCD, 0x0BB7, 0x0BC7}},
+ {4, {0x0B95, 0x0BCD, 0x0BB7, 0x0BC8}},
+ {4, {0x0B95, 0x0BCD, 0x0BB7, 0x0BCA}},
+ {4, {0x0B95, 0x0BCD, 0x0BB7, 0x0BCB}},
+ {4, {0x0B95, 0x0BCD, 0x0BB7, 0x0BCC}},
+ {4, {0x0BB6, 0x0BCD, 0x0BB0, 0x0BC0}},
+ {2, {0x10E3, 0x0302}},
+ {2, {0x17D2, 0x1780}},
+ {2, {0x17D2, 0x1781}},
+ {2, {0x17D2, 0x1782}},
+ {2, {0x17D2, 0x1783}},
+ {2, {0x17D2, 0x1784}},
+ {2, {0x17D2, 0x1785}},
+ {2, {0x17D2, 0x1786}},
+ {2, {0x17D2, 0x1787}},
+ {2, {0x17D2, 0x1788}},
+ {2, {0x17D2, 0x1789}},
+ {2, {0x17D2, 0x178A}},
+ {2, {0x17D2, 0x178B}},
+ {2, {0x17D2, 0x178C}},
+ {2, {0x17D2, 0x178D}},
+ {2, {0x17D2, 0x178E}},
+ {2, {0x17D2, 0x178F}},
+ {2, {0x17D2, 0x1790}},
+ {2, {0x17D2, 0x1791}},
+ {2, {0x17D2, 0x1792}},
+ {2, {0x17D2, 0x1793}},
+ {2, {0x17D2, 0x1794}},
+ {2, {0x17D2, 0x1795}},
+ {2, {0x17D2, 0x1796}},
+ {2, {0x17D2, 0x1797}},
+ {2, {0x17D2, 0x1798}},
+ {2, {0x17D2, 0x1799}},
+ {2, {0x17D2, 0x179A}},
+ {2, {0x17D2, 0x179B}},
+ {2, {0x17D2, 0x179C}},
+ {2, {0x17D2, 0x179D}},
+ {2, {0x17D2, 0x179E}},
+ {2, {0x17D2, 0x179F}},
+ {2, {0x17D2, 0x17A0}},
+ {2, {0x17D2, 0x17A1}},
+ {2, {0x17D2, 0x17A2}},
+ {2, {0x17D2, 0x17A7}},
+ {2, {0x17D2, 0x17AB}},
+ {2, {0x17D2, 0x17AC}},
+ {2, {0x17D2, 0x17AF}},
+ {2, {0x17BB, 0x17C6}},
+ {2, {0x17B6, 0x17C6}},
+ {2, {0x304B, 0x309A}},
+ {2, {0x304D, 0x309A}},
+ {2, {0x304F, 0x309A}},
+ {2, {0x3051, 0x309A}},
+ {2, {0x3053, 0x309A}},
+ {2, {0x30AB, 0x309A}},
+ {2, {0x30AD, 0x309A}},
+ {2, {0x30AF, 0x309A}},
+ {2, {0x30B1, 0x309A}},
+ {2, {0x30B3, 0x309A}},
+ {2, {0x30BB, 0x309A}},
+ {2, {0x30C4, 0x309A}},
+ {2, {0x30C8, 0x309A}},
+ {2, {0x31F7, 0x309A}},
+ {2, {0x02E5, 0x02E9}},
+ {2, {0x02E9, 0x02E5}},
+};
diff --git a/Modules/xxlimited.c b/Modules/xxlimited.c
index ec924f2..661b6e2 100644
--- a/Modules/xxlimited.c
+++ b/Modules/xxlimited.c
@@ -187,8 +187,7 @@ static PyType_Spec Str_Type_spec = {
static PyObject *
null_richcompare(PyObject *self, PyObject *other, int op)
{
- Py_INCREF(Py_NotImplemented);
- return Py_NotImplemented;
+ Py_RETURN_NOTIMPLEMENTED;
}
static PyType_Slot Null_Type_slots[] = {
diff --git a/Modules/zipimport.c b/Modules/zipimport.c
index 11c3904..09bd83a 100644
--- a/Modules/zipimport.c
+++ b/Modules/zipimport.c
@@ -49,7 +49,7 @@ static PyObject *zip_directory_cache = NULL;
/* forward decls */
static PyObject *read_directory(PyObject *archive);
static PyObject *get_data(PyObject *archive, PyObject *toc_entry);
-static PyObject *get_module_code(ZipImporter *self, char *fullname,
+static PyObject *get_module_code(ZipImporter *self, PyObject *fullname,
int *p_ispackage, PyObject **p_modpath);
@@ -63,109 +63,109 @@ static PyObject *get_module_code(ZipImporter *self, char *fullname,
static int
zipimporter_init(ZipImporter *self, PyObject *args, PyObject *kwds)
{
- PyObject *pathobj, *files;
- Py_UNICODE *path, *p, *prefix, buf[MAXPATHLEN+2];
- Py_ssize_t len;
+ PyObject *path, *files, *tmp;
+ PyObject *filename = NULL;
+ Py_ssize_t len, flen;
+#ifdef ALTSEP
+ _Py_IDENTIFIER(replace);
+#endif
if (!_PyArg_NoKeywords("zipimporter()", kwds))
return -1;
if (!PyArg_ParseTuple(args, "O&:zipimporter",
- PyUnicode_FSDecoder, &pathobj))
+ PyUnicode_FSDecoder, &path))
return -1;
- /* copy path to buf */
- len = PyUnicode_GET_SIZE(pathobj);
+ if (PyUnicode_READY(path) == -1)
+ return -1;
+
+ len = PyUnicode_GET_LENGTH(path);
if (len == 0) {
PyErr_SetString(ZipImportError, "archive path is empty");
goto error;
}
- if (len >= MAXPATHLEN) {
- PyErr_SetString(ZipImportError,
- "archive path too long");
- goto error;
- }
- Py_UNICODE_strcpy(buf, PyUnicode_AS_UNICODE(pathobj));
#ifdef ALTSEP
- for (p = buf; *p; p++) {
- if (*p == ALTSEP)
- *p = SEP;
- }
+ tmp = _PyObject_CallMethodId(path, &PyId_replace, "CC", ALTSEP, SEP);
+ if (!tmp)
+ goto error;
+ Py_DECREF(path);
+ path = tmp;
#endif
- path = NULL;
- prefix = NULL;
+ filename = path;
+ Py_INCREF(filename);
+ flen = len;
for (;;) {
struct stat statbuf;
int rv;
- if (pathobj == NULL) {
- pathobj = PyUnicode_FromUnicode(buf, len);
- if (pathobj == NULL)
- goto error;
- }
- rv = _Py_stat(pathobj, &statbuf);
+ rv = _Py_stat(filename, &statbuf);
+ if (rv == -2)
+ goto error;
if (rv == 0) {
/* it exists */
- if (S_ISREG(statbuf.st_mode))
- /* it's a file */
- path = buf;
+ if (!S_ISREG(statbuf.st_mode))
+ /* it's a not file */
+ Py_CLEAR(filename);
break;
}
- else if (PyErr_Occurred())
- goto error;
+ Py_CLEAR(filename);
/* back up one path element */
- p = Py_UNICODE_strrchr(buf, SEP);
- if (prefix != NULL)
- *prefix = SEP;
- if (p == NULL)
+ flen = PyUnicode_FindChar(path, SEP, 0, flen, -1);
+ if (flen == -1)
break;
- *p = '\0';
- len = p - buf;
- prefix = p;
- Py_CLEAR(pathobj);
+ filename = PyUnicode_Substring(path, 0, flen);
}
- if (path == NULL) {
+ if (filename == NULL) {
PyErr_SetString(ZipImportError, "not a Zip file");
goto error;
}
- files = PyDict_GetItem(zip_directory_cache, pathobj);
+ if (PyUnicode_READY(filename) < 0)
+ goto error;
+
+ files = PyDict_GetItem(zip_directory_cache, filename);
if (files == NULL) {
- files = read_directory(pathobj);
+ files = read_directory(filename);
if (files == NULL)
goto error;
- if (PyDict_SetItem(zip_directory_cache, pathobj, files) != 0)
+ if (PyDict_SetItem(zip_directory_cache, filename, files) != 0)
goto error;
}
else
Py_INCREF(files);
self->files = files;
- self->archive = pathobj;
- pathobj = NULL;
+ /* Transfer reference */
+ self->archive = filename;
+ filename = NULL;
- if (prefix != NULL) {
- prefix++;
- len = Py_UNICODE_strlen(prefix);
- if (prefix[len-1] != SEP) {
+ /* Check if there is a prefix directory following the filename. */
+ if (flen != len) {
+ tmp = PyUnicode_Substring(path, flen+1,
+ PyUnicode_GET_LENGTH(path));
+ if (tmp == NULL)
+ goto error;
+ self->prefix = tmp;
+ if (PyUnicode_READ_CHAR(path, len-1) != SEP) {
/* add trailing SEP */
- prefix[len] = SEP;
- prefix[len + 1] = '\0';
- len++;
+ tmp = PyUnicode_FromFormat("%U%c", self->prefix, SEP);
+ if (tmp == NULL)
+ goto error;
+ Py_DECREF(self->prefix);
+ self->prefix = tmp;
}
}
else
- len = 0;
- self->prefix = PyUnicode_FromUnicode(prefix, len);
- if (self->prefix == NULL)
- goto error;
-
+ self->prefix = PyUnicode_New(0, 0);
+ Py_DECREF(path);
return 0;
error:
- Py_XDECREF(pathobj);
+ Py_DECREF(path);
+ Py_XDECREF(filename);
return -1;
}
@@ -193,7 +193,7 @@ zipimporter_repr(ZipImporter *self)
{
if (self->archive == NULL)
return PyUnicode_FromString("<zipimporter object \"???\">");
- else if (self->prefix != NULL && PyUnicode_GET_SIZE(self->prefix) != 0)
+ else if (self->prefix != NULL && PyUnicode_GET_LENGTH(self->prefix) != 0)
return PyUnicode_FromFormat("<zipimporter object \"%U%c%U\">",
self->archive, SEP, self->prefix);
else
@@ -202,49 +202,54 @@ zipimporter_repr(ZipImporter *self)
}
/* return fullname.split(".")[-1] */
-static char *
-get_subname(char *fullname)
+static PyObject *
+get_subname(PyObject *fullname)
{
- char *subname = strrchr(fullname, '.');
- if (subname == NULL)
- subname = fullname;
- else
- subname++;
- return subname;
+ Py_ssize_t len, dot;
+ if (PyUnicode_READY(fullname) < 0)
+ return NULL;
+ len = PyUnicode_GET_LENGTH(fullname);
+ dot = PyUnicode_FindChar(fullname, '.', 0, len, -1);
+ if (dot == -1) {
+ Py_INCREF(fullname);
+ return fullname;
+ } else
+ return PyUnicode_Substring(fullname, dot+1, len);
}
/* Given a (sub)modulename, write the potential file path in the
archive (without extension) to the path buffer. Return the
- length of the resulting string. */
-static int
-make_filename(PyObject *prefix_obj, char *name, char *path, size_t pathsize)
-{
- size_t len;
- char *p;
- PyObject *prefix;
+ length of the resulting string.
- prefix = PyUnicode_EncodeFSDefault(prefix_obj);
- if (prefix == NULL)
- return -1;
- len = PyBytes_GET_SIZE(prefix);
+ return self.prefix + name.replace('.', os.sep) */
+static PyObject*
+make_filename(PyObject *prefix, PyObject *name)
+{
+ PyObject *pathobj;
+ Py_UCS4 *p, *buf;
+ Py_ssize_t len;
- /* self.prefix + name [+ SEP + "__init__"] + ".py[co]" */
- if (len + strlen(name) + 13 >= pathsize - 1) {
- PyErr_SetString(ZipImportError, "path too long");
- Py_DECREF(prefix);
- return -1;
+ len = PyUnicode_GET_LENGTH(prefix) + PyUnicode_GET_LENGTH(name) + 1;
+ p = buf = PyMem_Malloc(sizeof(Py_UCS4) * len);
+ if (buf == NULL) {
+ PyErr_NoMemory();
+ return NULL;
}
- strcpy(path, PyBytes_AS_STRING(prefix));
- Py_DECREF(prefix);
- strcpy(path + len, name);
- for (p = path + len; *p; p++) {
+ if (!PyUnicode_AsUCS4(prefix, p, len, 0))
+ return NULL;
+ p += PyUnicode_GET_LENGTH(prefix);
+ len -= PyUnicode_GET_LENGTH(prefix);
+ if (!PyUnicode_AsUCS4(name, p, len, 1))
+ return NULL;
+ for (; *p; p++) {
if (*p == '.')
*p = SEP;
}
- len += strlen(name);
- assert(len < INT_MAX);
- return (int)len;
+ pathobj = PyUnicode_FromKindAndData(PyUnicode_4BYTE_KIND,
+ buf, p-buf);
+ PyMem_Free(buf);
+ return pathobj;
}
enum zi_module_info {
@@ -256,27 +261,38 @@ enum zi_module_info {
/* Return some information about a module. */
static enum zi_module_info
-get_module_info(ZipImporter *self, char *fullname)
+get_module_info(ZipImporter *self, PyObject *fullname)
{
- char *subname, path[MAXPATHLEN + 1];
- int len;
+ PyObject *subname;
+ PyObject *path, *fullpath, *item;
struct st_zip_searchorder *zso;
subname = get_subname(fullname);
+ if (subname == NULL)
+ return MI_ERROR;
- len = make_filename(self->prefix, subname, path, sizeof(path));
- if (len < 0)
+ path = make_filename(self->prefix, subname);
+ Py_DECREF(subname);
+ if (path == NULL)
return MI_ERROR;
for (zso = zip_searchorder; *zso->suffix; zso++) {
- strcpy(path + len, zso->suffix);
- if (PyDict_GetItemString(self->files, path) != NULL) {
+ fullpath = PyUnicode_FromFormat("%U%s", path, zso->suffix);
+ if (fullpath == NULL) {
+ Py_DECREF(path);
+ return MI_ERROR;
+ }
+ item = PyDict_GetItem(self->files, fullpath);
+ Py_DECREF(fullpath);
+ if (item != NULL) {
+ Py_DECREF(path);
if (zso->type & IS_PACKAGE)
return MI_PACKAGE;
else
return MI_MODULE;
}
}
+ Py_DECREF(path);
return MI_NOT_FOUND;
}
@@ -287,10 +303,10 @@ zipimporter_find_module(PyObject *obj, PyObject *args)
{
ZipImporter *self = (ZipImporter *)obj;
PyObject *path = NULL;
- char *fullname;
+ PyObject *fullname;
enum zi_module_info mi;
- if (!PyArg_ParseTuple(args, "s|O:zipimporter.find_module",
+ if (!PyArg_ParseTuple(args, "U|O:zipimporter.find_module",
&fullname, &path))
return NULL;
@@ -311,19 +327,21 @@ zipimporter_load_module(PyObject *obj, PyObject *args)
{
ZipImporter *self = (ZipImporter *)obj;
PyObject *code = NULL, *mod, *dict;
- char *fullname;
- PyObject *modpath = NULL, *modpath_bytes;
+ PyObject *fullname;
+ PyObject *modpath = NULL;
int ispackage;
- if (!PyArg_ParseTuple(args, "s:zipimporter.load_module",
+ if (!PyArg_ParseTuple(args, "U:zipimporter.load_module",
&fullname))
return NULL;
+ if (PyUnicode_READY(fullname) == -1)
+ return NULL;
code = get_module_code(self, fullname, &ispackage, &modpath);
if (code == NULL)
goto error;
- mod = PyImport_AddModule(fullname);
+ mod = PyImport_AddModuleObject(fullname);
if (mod == NULL)
goto error;
dict = PyModule_GetDict(mod);
@@ -336,17 +354,17 @@ zipimporter_load_module(PyObject *obj, PyObject *args)
/* add __path__ to the module *before* the code gets
executed */
PyObject *pkgpath, *fullpath;
- char *subname = get_subname(fullname);
+ PyObject *subname = get_subname(fullname);
int err;
- fullpath = PyUnicode_FromFormat("%U%c%U%s",
+ fullpath = PyUnicode_FromFormat("%U%c%U%U",
self->archive, SEP,
self->prefix, subname);
+ Py_DECREF(subname);
if (fullpath == NULL)
goto error;
- pkgpath = Py_BuildValue("[O]", fullpath);
- Py_DECREF(fullpath);
+ pkgpath = Py_BuildValue("[N]", fullpath);
if (pkgpath == NULL)
goto error;
err = PyDict_SetItemString(dict, "__path__", pkgpath);
@@ -354,18 +372,13 @@ zipimporter_load_module(PyObject *obj, PyObject *args)
if (err != 0)
goto error;
}
- modpath_bytes = PyUnicode_EncodeFSDefault(modpath);
- if (modpath_bytes == NULL)
- goto error;
- mod = PyImport_ExecCodeModuleEx(fullname, code,
- PyBytes_AS_STRING(modpath_bytes));
- Py_DECREF(modpath_bytes);
+ mod = PyImport_ExecCodeModuleObject(fullname, code, modpath, NULL);
Py_CLEAR(code);
if (mod == NULL)
goto error;
if (Py_VerboseFlag)
- PySys_FormatStderr("import %s # loaded from Zip %U\n",
+ PySys_FormatStderr("import %U # loaded from Zip %U\n",
fullname, modpath);
Py_DECREF(modpath);
return mod;
@@ -380,12 +393,10 @@ static PyObject *
zipimporter_get_filename(PyObject *obj, PyObject *args)
{
ZipImporter *self = (ZipImporter *)obj;
- PyObject *code;
- char *fullname;
- PyObject *modpath;
+ PyObject *fullname, *code, *modpath;
int ispackage;
- if (!PyArg_ParseTuple(args, "s:zipimporter.get_filename",
+ if (!PyArg_ParseTuple(args, "U:zipimporter.get_filename",
&fullname))
return NULL;
@@ -404,10 +415,10 @@ static PyObject *
zipimporter_is_package(PyObject *obj, PyObject *args)
{
ZipImporter *self = (ZipImporter *)obj;
- char *fullname;
+ PyObject *fullname;
enum zi_module_info mi;
- if (!PyArg_ParseTuple(args, "s:zipimporter.is_package",
+ if (!PyArg_ParseTuple(args, "U:zipimporter.is_package",
&fullname))
return NULL;
@@ -415,71 +426,70 @@ zipimporter_is_package(PyObject *obj, PyObject *args)
if (mi == MI_ERROR)
return NULL;
if (mi == MI_NOT_FOUND) {
- PyErr_Format(ZipImportError, "can't find module '%s'", fullname);
+ PyErr_Format(ZipImportError, "can't find module %R", fullname);
return NULL;
}
return PyBool_FromLong(mi == MI_PACKAGE);
}
+
static PyObject *
zipimporter_get_data(PyObject *obj, PyObject *args)
{
ZipImporter *self = (ZipImporter *)obj;
- PyObject *pathobj, *key;
- const Py_UNICODE *path;
+ PyObject *path, *key;
#ifdef ALTSEP
- Py_UNICODE *p, buf[MAXPATHLEN + 1];
+ _Py_IDENTIFIER(replace);
#endif
- Py_UNICODE *archive;
PyObject *toc_entry;
- Py_ssize_t path_len, len;
+ Py_ssize_t path_start, path_len, len;
- if (!PyArg_ParseTuple(args, "U:zipimporter.get_data", &pathobj))
+ if (!PyArg_ParseTuple(args, "U:zipimporter.get_data", &path))
return NULL;
- path_len = PyUnicode_GET_SIZE(pathobj);
- path = PyUnicode_AS_UNICODE(pathobj);
#ifdef ALTSEP
- if (path_len >= MAXPATHLEN) {
- PyErr_SetString(ZipImportError, "path too long");
+ path = _PyObject_CallMethodId(path, &PyId_replace, "CC", ALTSEP, SEP);
+ if (!path)
return NULL;
- }
- Py_UNICODE_strcpy(buf, path);
- for (p = buf; *p; p++) {
- if (*p == ALTSEP)
- *p = SEP;
- }
- path = buf;
+#else
+ Py_INCREF(path);
#endif
- archive = PyUnicode_AS_UNICODE(self->archive);
- len = PyUnicode_GET_SIZE(self->archive);
- if ((size_t)len < Py_UNICODE_strlen(path) &&
- Py_UNICODE_strncmp(path, archive, len) == 0 &&
- path[len] == SEP) {
- path += len + 1;
- path_len -= len + 1;
+ if (PyUnicode_READY(path) == -1)
+ goto error;
+
+ path_len = PyUnicode_GET_LENGTH(path);
+
+ len = PyUnicode_GET_LENGTH(self->archive);
+ path_start = 0;
+ if (PyUnicode_Tailmatch(path, self->archive, 0, len, -1)
+ && PyUnicode_READ_CHAR(path, len) == SEP) {
+ path_start = len + 1;
}
- key = PyUnicode_FromUnicode(path, path_len);
+ key = PyUnicode_Substring(path, path_start, path_len);
if (key == NULL)
- return NULL;
+ goto error;
toc_entry = PyDict_GetItem(self->files, key);
if (toc_entry == NULL) {
PyErr_SetFromErrnoWithFilenameObject(PyExc_IOError, key);
Py_DECREF(key);
- return NULL;
+ goto error;
}
Py_DECREF(key);
+ Py_DECREF(path);
return get_data(self->archive, toc_entry);
+ error:
+ Py_DECREF(path);
+ return NULL;
}
static PyObject *
zipimporter_get_code(PyObject *obj, PyObject *args)
{
ZipImporter *self = (ZipImporter *)obj;
- char *fullname;
+ PyObject *fullname;
- if (!PyArg_ParseTuple(args, "s:zipimporter.get_code", &fullname))
+ if (!PyArg_ParseTuple(args, "U:zipimporter.get_code", &fullname))
return NULL;
return get_module_code(self, fullname, NULL, NULL);
@@ -490,34 +500,39 @@ zipimporter_get_source(PyObject *obj, PyObject *args)
{
ZipImporter *self = (ZipImporter *)obj;
PyObject *toc_entry;
- char *fullname, *subname, path[MAXPATHLEN+1];
- int len;
+ PyObject *fullname, *subname, *path, *fullpath;
enum zi_module_info mi;
- if (!PyArg_ParseTuple(args, "s:zipimporter.get_source", &fullname))
+ if (!PyArg_ParseTuple(args, "U:zipimporter.get_source", &fullname))
return NULL;
mi = get_module_info(self, fullname);
if (mi == MI_ERROR)
return NULL;
if (mi == MI_NOT_FOUND) {
- PyErr_Format(ZipImportError, "can't find module '%s'", fullname);
+ PyErr_Format(ZipImportError, "can't find module %R", fullname);
return NULL;
}
+
subname = get_subname(fullname);
+ if (subname == NULL)
+ return NULL;
- len = make_filename(self->prefix, subname, path, sizeof(path));
- if (len < 0)
+ path = make_filename(self->prefix, subname);
+ Py_DECREF(subname);
+ if (path == NULL)
return NULL;
- if (mi == MI_PACKAGE) {
- path[len] = SEP;
- strcpy(path + len + 1, "__init__.py");
- }
+ if (mi == MI_PACKAGE)
+ fullpath = PyUnicode_FromFormat("%U%c__init__.py", path, SEP);
else
- strcpy(path + len, ".py");
+ fullpath = PyUnicode_FromFormat("%U.py", path);
+ Py_DECREF(path);
+ if (fullpath == NULL)
+ return NULL;
- toc_entry = PyDict_GetItemString(self->files, path);
+ toc_entry = PyDict_GetItem(self->files, fullpath);
+ Py_DECREF(fullpath);
if (toc_entry != NULL) {
PyObject *res, *bytes;
bytes = get_data(self->archive, toc_entry);
@@ -708,49 +723,40 @@ get_long(unsigned char *buf) {
data_size and file_offset are 0.
*/
static PyObject *
-read_directory(PyObject *archive_obj)
+read_directory(PyObject *archive)
{
- /* FIXME: work on Py_UNICODE* instead of char* */
PyObject *files = NULL;
FILE *fp;
unsigned short flags;
long compress, crc, data_size, file_size, file_offset, date, time;
long header_offset, name_size, header_size, header_position;
- long i, l, count;
- size_t length;
- Py_UNICODE path[MAXPATHLEN + 5];
+ long l, count;
+ Py_ssize_t i;
char name[MAXPATHLEN + 5];
PyObject *nameobj = NULL;
char *p, endof_central_dir[22];
long arc_offset; /* offset from beginning of file to start of zip-archive */
- PyObject *pathobj;
+ PyObject *path;
const char *charset;
int bootstrap;
- if (PyUnicode_GET_SIZE(archive_obj) > MAXPATHLEN) {
- PyErr_SetString(PyExc_OverflowError,
- "Zip path name is too long");
- return NULL;
- }
- Py_UNICODE_strcpy(path, PyUnicode_AS_UNICODE(archive_obj));
-
- fp = _Py_fopen(archive_obj, "rb");
+ fp = _Py_fopen(archive, "rb");
if (fp == NULL) {
if (!PyErr_Occurred())
- PyErr_Format(ZipImportError, "can't open Zip file: '%U'", archive_obj);
+ PyErr_Format(ZipImportError, "can't open Zip file: %R", archive);
return NULL;
}
fseek(fp, -22, SEEK_END);
header_position = ftell(fp);
if (fread(endof_central_dir, 1, 22, fp) != 22) {
fclose(fp);
- PyErr_Format(ZipImportError, "can't read Zip file: '%U'", archive_obj);
+ PyErr_Format(ZipImportError, "can't read Zip file: %R", archive);
return NULL;
}
if (get_long((unsigned char *)endof_central_dir) != 0x06054B50) {
/* Bad: End of Central Dir signature */
fclose(fp);
- PyErr_Format(ZipImportError, "not a Zip file: '%U'", archive_obj);
+ PyErr_Format(ZipImportError, "not a Zip file: %R", archive);
return NULL;
}
@@ -763,9 +769,6 @@ read_directory(PyObject *archive_obj)
if (files == NULL)
goto error;
- length = Py_UNICODE_strlen(path);
- path[length] = SEP;
-
/* Start of Central Directory */
count = 0;
for (;;) {
@@ -794,7 +797,7 @@ read_directory(PyObject *archive_obj)
name_size = MAXPATHLEN;
p = name;
- for (i = 0; i < name_size; i++) {
+ for (i = 0; i < (Py_ssize_t)name_size; i++) {
*p = (char)getc(fp);
if (*p == '/')
*p = SEP;
@@ -819,6 +822,8 @@ read_directory(PyObject *archive_obj)
else
charset = "cp437";
nameobj = PyUnicode_Decode(name, name_size, charset, NULL);
+ if (PyUnicode_READY(nameobj) == -1)
+ goto error;
if (nameobj == NULL) {
if (bootstrap)
PyErr_Format(PyExc_NotImplementedError,
@@ -827,12 +832,10 @@ read_directory(PyObject *archive_obj)
PY_MAJOR_VERSION, PY_MINOR_VERSION);
goto error;
}
- Py_UNICODE_strncpy(path + length + 1, PyUnicode_AS_UNICODE(nameobj), MAXPATHLEN - length - 1);
-
- pathobj = PyUnicode_FromUnicode(path, Py_UNICODE_strlen(path));
- if (pathobj == NULL)
+ path = PyUnicode_FromFormat("%U%c%U", archive, SEP, nameobj);
+ if (path == NULL)
goto error;
- t = Py_BuildValue("Niiiiiii", pathobj, compress, data_size,
+ t = Py_BuildValue("Niiiiiii", path, compress, data_size,
file_size, file_offset, time, date, crc);
if (t == NULL)
goto error;
@@ -845,8 +848,8 @@ read_directory(PyObject *archive_obj)
}
fclose(fp);
if (Py_VerboseFlag)
- PySys_FormatStderr("# zipimport: found %ld names in %U\n",
- count, archive_obj);
+ PySys_FormatStderr("# zipimport: found %ld names in %R\n",
+ count, archive);
return files;
error:
fclose(fp);
@@ -864,6 +867,7 @@ get_decompress_func(void)
static int importing_zlib = 0;
PyObject *zlib;
PyObject *decompress;
+ _Py_IDENTIFIER(decompress);
if (importing_zlib != 0)
/* Someone has a zlib.py[co] in their Zip file;
@@ -873,8 +877,8 @@ get_decompress_func(void)
zlib = PyImport_ImportModuleNoBlock("zlib");
importing_zlib = 0;
if (zlib != NULL) {
- decompress = PyObject_GetAttrString(zlib,
- "decompress");
+ decompress = _PyObject_GetAttrId(zlib,
+ &PyId_decompress);
Py_DECREF(zlib);
}
else {
@@ -1000,7 +1004,7 @@ eq_mtime(time_t t1, time_t t2)
to .py if available and we don't want to mask other errors).
Returns a new reference. */
static PyObject *
-unmarshal_code(char *pathname, PyObject *data, time_t mtime)
+unmarshal_code(PyObject *pathname, PyObject *data, time_t mtime)
{
PyObject *code;
char *buf = PyBytes_AsString(data);
@@ -1014,8 +1018,8 @@ unmarshal_code(char *pathname, PyObject *data, time_t mtime)
if (get_long((unsigned char *)buf) != PyImport_GetMagicNumber()) {
if (Py_VerboseFlag)
- PySys_WriteStderr("# %s has bad magic\n",
- pathname);
+ PySys_FormatStderr("# %R has bad magic\n",
+ pathname);
Py_INCREF(Py_None);
return Py_None; /* signal caller to try alternative */
}
@@ -1023,8 +1027,8 @@ unmarshal_code(char *pathname, PyObject *data, time_t mtime)
if (mtime != 0 && !eq_mtime(get_long((unsigned char *)buf + 4),
mtime)) {
if (Py_VerboseFlag)
- PySys_WriteStderr("# %s has bad mtime\n",
- pathname);
+ PySys_FormatStderr("# %R has bad mtime\n",
+ pathname);
Py_INCREF(Py_None);
return Py_None; /* signal caller to try alternative */
}
@@ -1035,7 +1039,7 @@ unmarshal_code(char *pathname, PyObject *data, time_t mtime)
if (!PyCode_Check(code)) {
Py_DECREF(code);
PyErr_Format(PyExc_TypeError,
- "compiled module %s is not a code object",
+ "compiled module %R is not a code object",
pathname);
return NULL;
}
@@ -1049,11 +1053,12 @@ unmarshal_code(char *pathname, PyObject *data, time_t mtime)
static PyObject *
normalize_line_endings(PyObject *source)
{
- char *buf, *q, *p = PyBytes_AsString(source);
+ char *buf, *q, *p;
PyObject *fixed_source;
int len = 0;
- if (!p) {
+ p = PyBytes_AsString(source);
+ if (p == NULL) {
return PyBytes_FromStringAndSize("\n\0", 2);
}
@@ -1086,16 +1091,24 @@ normalize_line_endings(PyObject *source)
/* Given a string buffer containing Python source code, compile it
return and return a code object as a new reference. */
static PyObject *
-compile_source(char *pathname, PyObject *source)
+compile_source(PyObject *pathname, PyObject *source)
{
- PyObject *code, *fixed_source;
+ PyObject *code, *fixed_source, *pathbytes;
+
+ pathbytes = PyUnicode_EncodeFSDefault(pathname);
+ if (pathbytes == NULL)
+ return NULL;
fixed_source = normalize_line_endings(source);
- if (fixed_source == NULL)
+ if (fixed_source == NULL) {
+ Py_DECREF(pathbytes);
return NULL;
+ }
- code = Py_CompileString(PyBytes_AsString(fixed_source), pathname,
+ code = Py_CompileString(PyBytes_AsString(fixed_source),
+ PyBytes_AsString(pathbytes),
Py_file_input);
+ Py_DECREF(pathbytes);
Py_DECREF(fixed_source);
return code;
}
@@ -1124,14 +1137,22 @@ parse_dostime(int dostime, int dosdate)
modification time of the matching .py file, or 0 if no source
is available. */
static time_t
-get_mtime_of_source(ZipImporter *self, char *path)
+get_mtime_of_source(ZipImporter *self, PyObject *path)
{
- PyObject *toc_entry;
- time_t mtime = 0;
- Py_ssize_t lastchar = strlen(path) - 1;
- char savechar = path[lastchar];
- path[lastchar] = '\0'; /* strip 'c' or 'o' from *.py[co] */
- toc_entry = PyDict_GetItemString(self->files, path);
+ PyObject *toc_entry, *stripped;
+ time_t mtime;
+
+ /* strip 'c' or 'o' from *.py[co] */
+ if (PyUnicode_READY(path) == -1)
+ return (time_t)-1;
+ stripped = PyUnicode_FromKindAndData(PyUnicode_KIND(path),
+ PyUnicode_DATA(path),
+ PyUnicode_GET_LENGTH(path) - 1);
+ if (stripped == NULL)
+ return (time_t)-1;
+
+ toc_entry = PyDict_GetItem(self->files, stripped);
+ Py_DECREF(stripped);
if (toc_entry != NULL && PyTuple_Check(toc_entry) &&
PyTuple_Size(toc_entry) == 8) {
/* fetch the time stamp of the .py file for comparison
@@ -1140,8 +1161,8 @@ get_mtime_of_source(ZipImporter *self, char *path)
time = PyLong_AsLong(PyTuple_GetItem(toc_entry, 5));
date = PyLong_AsLong(PyTuple_GetItem(toc_entry, 6));
mtime = parse_dostime(time, date);
- }
- path[lastchar] = savechar;
+ } else
+ mtime = 0;
return mtime;
}
@@ -1151,24 +1172,17 @@ static PyObject *
get_code_from_data(ZipImporter *self, int ispackage, int isbytecode,
time_t mtime, PyObject *toc_entry)
{
- PyObject *data, *code;
- PyObject *modpath;
+ PyObject *data, *modpath, *code;
data = get_data(self->archive, toc_entry);
if (data == NULL)
return NULL;
- modpath = PyUnicode_EncodeFSDefault(PyTuple_GetItem(toc_entry, 0));
- if (modpath == NULL) {
- Py_DECREF(data);
- return NULL;
- }
-
+ modpath = PyTuple_GetItem(toc_entry, 0);
if (isbytecode)
- code = unmarshal_code(PyBytes_AS_STRING(modpath), data, mtime);
+ code = unmarshal_code(modpath, data, mtime);
else
- code = compile_source(PyBytes_AS_STRING(modpath), data);
- Py_DECREF(modpath);
+ code = compile_source(modpath, data);
Py_DECREF(data);
return code;
}
@@ -1176,35 +1190,45 @@ get_code_from_data(ZipImporter *self, int ispackage, int isbytecode,
/* Get the code object associated with the module specified by
'fullname'. */
static PyObject *
-get_module_code(ZipImporter *self, char *fullname,
+get_module_code(ZipImporter *self, PyObject *fullname,
int *p_ispackage, PyObject **p_modpath)
{
- PyObject *toc_entry;
- char *subname, path[MAXPATHLEN + 1];
- int len;
+ PyObject *code = NULL, *toc_entry, *subname;
+ PyObject *path, *fullpath = NULL;
struct st_zip_searchorder *zso;
subname = get_subname(fullname);
+ if (subname == NULL)
+ return NULL;
- len = make_filename(self->prefix, subname, path, sizeof(path));
- if (len < 0)
+ path = make_filename(self->prefix, subname);
+ Py_DECREF(subname);
+ if (path == NULL)
return NULL;
for (zso = zip_searchorder; *zso->suffix; zso++) {
- PyObject *code = NULL;
+ code = NULL;
+
+ fullpath = PyUnicode_FromFormat("%U%s", path, zso->suffix);
+ if (fullpath == NULL)
+ goto exit;
- strcpy(path + len, zso->suffix);
if (Py_VerboseFlag > 1)
- PySys_FormatStderr("# trying %U%c%s\n",
- self->archive, (int)SEP, path);
- toc_entry = PyDict_GetItemString(self->files, path);
+ PySys_FormatStderr("# trying %U%c%U\n",
+ self->archive, (int)SEP, fullpath);
+ toc_entry = PyDict_GetItem(self->files, fullpath);
if (toc_entry != NULL) {
time_t mtime = 0;
int ispackage = zso->type & IS_PACKAGE;
int isbytecode = zso->type & IS_BYTECODE;
- if (isbytecode)
- mtime = get_mtime_of_source(self, path);
+ if (isbytecode) {
+ mtime = get_mtime_of_source(self, fullpath);
+ if (mtime == (time_t)-1 && PyErr_Occurred()) {
+ goto exit;
+ }
+ }
+ Py_CLEAR(fullpath);
if (p_ispackage != NULL)
*p_ispackage = ispackage;
code = get_code_from_data(self, ispackage,
@@ -1220,11 +1244,16 @@ get_module_code(ZipImporter *self, char *fullname,
*p_modpath = PyTuple_GetItem(toc_entry, 0);
Py_INCREF(*p_modpath);
}
- return code;
+ goto exit;
}
+ else
+ Py_CLEAR(fullpath);
}
- PyErr_Format(ZipImportError, "can't find module '%s'", fullname);
- return NULL;
+ PyErr_Format(ZipImportError, "can't find module %R", fullname);
+exit:
+ Py_DECREF(path);
+ Py_XDECREF(fullpath);
+ return code;
}
diff --git a/Modules/zlibmodule.c b/Modules/zlibmodule.c
index a1e605b..a6da056 100644
--- a/Modules/zlibmodule.c
+++ b/Modules/zlibmodule.c
@@ -43,6 +43,7 @@ typedef struct
z_stream zst;
PyObject *unused_data;
PyObject *unconsumed_tail;
+ char eof;
int is_initialised;
#ifdef WITH_THREAD
PyThread_type_lock lock;
@@ -95,6 +96,7 @@ newcompobject(PyTypeObject *type)
self = PyObject_New(compobject, type);
if (self == NULL)
return NULL;
+ self->eof = 0;
self->is_initialised = 0;
self->unused_data = PyBytes_FromStringAndSize("", 0);
if (self->unused_data == NULL) {
@@ -297,7 +299,7 @@ PyZlib_decompress(PyObject *self, PyObject *args)
err = inflateEnd(&zst);
if (err != Z_OK) {
- zlib_error(zst, err, "while finishing data decompression");
+ zlib_error(zst, err, "while finishing decompression");
goto error;
}
@@ -482,7 +484,7 @@ PyZlib_objcompress(compobject *self, PyObject *args)
*/
if (err != Z_OK && err != Z_BUF_ERROR) {
- zlib_error(self->zst, err, "while compressing");
+ zlib_error(self->zst, err, "while compressing data");
Py_DECREF(RetVal);
RetVal = NULL;
goto error;
@@ -617,12 +619,13 @@ PyZlib_objdecompress(compobject *self, PyObject *args)
Py_DECREF(RetVal);
goto error;
}
+ self->eof = 1;
/* We will only get Z_BUF_ERROR if the output buffer was full
but there wasn't more output when we tried again, so it is
not an error condition.
*/
} else if (err != Z_OK && err != Z_BUF_ERROR) {
- zlib_error(self->zst, err, "while decompressing");
+ zlib_error(self->zst, err, "while decompressing data");
Py_DECREF(RetVal);
RetVal = NULL;
goto error;
@@ -703,7 +706,7 @@ PyZlib_flush(compobject *self, PyObject *args)
if (err == Z_STREAM_END && flushmode == Z_FINISH) {
err = deflateEnd(&(self->zst));
if (err != Z_OK) {
- zlib_error(self->zst, err, "from deflateEnd()");
+ zlib_error(self->zst, err, "while finishing compression");
Py_DECREF(RetVal);
RetVal = NULL;
goto error;
@@ -771,6 +774,7 @@ PyZlib_copy(compobject *self)
Py_XDECREF(retval->unconsumed_tail);
retval->unused_data = self->unused_data;
retval->unconsumed_tail = self->unconsumed_tail;
+ retval->eof = self->eof;
/* Mark it as being initialized */
retval->is_initialised = 1;
@@ -822,6 +826,7 @@ PyZlib_uncopy(compobject *self)
Py_XDECREF(retval->unconsumed_tail);
retval->unused_data = self->unused_data;
retval->unconsumed_tail = self->unconsumed_tail;
+ retval->eof = self->eof;
/* Mark it as being initialized */
retval->is_initialised = 1;
@@ -887,14 +892,13 @@ PyZlib_unflush(compobject *self, PyObject *args)
Py_END_ALLOW_THREADS
}
- /* If flushmode is Z_FINISH, we also have to call deflateEnd() to free
- various data structures. Note we should only get Z_STREAM_END when
- flushmode is Z_FINISH */
+ /* If at end of stream, clean up any memory allocated by zlib. */
if (err == Z_STREAM_END) {
- err = inflateEnd(&(self->zst));
+ self->eof = 1;
self->is_initialised = 0;
+ err = inflateEnd(&(self->zst));
if (err != Z_OK) {
- zlib_error(self->zst, err, "from inflateEnd()");
+ zlib_error(self->zst, err, "while finishing decompression");
Py_DECREF(retval);
retval = NULL;
goto error;
@@ -942,6 +946,7 @@ static PyMethodDef Decomp_methods[] =
static PyMemberDef Decomp_members[] = {
{"unused_data", T_OBJECT, COMP_OFF(unused_data), READONLY},
{"unconsumed_tail", T_OBJECT, COMP_OFF(unconsumed_tail), READONLY},
+ {"eof", T_BOOL, COMP_OFF(eof), READONLY},
{NULL},
};
@@ -1164,6 +1169,10 @@ PyInit_zlib(void)
if (ver != NULL)
PyModule_AddObject(m, "ZLIB_VERSION", ver);
+ ver = PyUnicode_FromString(zlibVersion());
+ if (ver != NULL)
+ PyModule_AddObject(m, "ZLIB_RUNTIME_VERSION", ver);
+
PyModule_AddStringConstant(m, "__version__", "1.0");
return m;