summaryrefslogtreecommitdiffstats
path: root/contrib/tools/python3/Python
diff options
context:
space:
mode:
authorshadchin <[email protected]>2025-06-13 00:05:26 +0300
committershadchin <[email protected]>2025-06-13 00:35:30 +0300
commit796b9088366b10b4cd42885101fc20c0b5709b07 (patch)
treef287eacb0b95ffd7cabf95b16cafb4788645dc38 /contrib/tools/python3/Python
parentc72bca862651e507d2ff4980ef7f4ff7267a7227 (diff)
Update Python 3 to 3.12.10
commit_hash:dd2398e159fe1d72ea6b12da52fccc933a41a785
Diffstat (limited to 'contrib/tools/python3/Python')
-rw-r--r--contrib/tools/python3/Python/_warnings.c8
-rw-r--r--contrib/tools/python3/Python/assemble.c9
-rw-r--r--contrib/tools/python3/Python/bltinmodule.c305
-rw-r--r--contrib/tools/python3/Python/clinic/bltinmodule.c.h196
-rw-r--r--contrib/tools/python3/Python/compile.c4
-rw-r--r--contrib/tools/python3/Python/context.c13
-rw-r--r--contrib/tools/python3/Python/deepfreeze/deepfreeze.c16
-rw-r--r--contrib/tools/python3/Python/errors.c20
-rw-r--r--contrib/tools/python3/Python/flowgraph.c5
-rw-r--r--contrib/tools/python3/Python/frozen_modules/importlib._bootstrap.h4
-rw-r--r--contrib/tools/python3/Python/frozen_modules/os.h3815
-rw-r--r--contrib/tools/python3/Python/import.c36
-rw-r--r--contrib/tools/python3/Python/initconfig.c12
-rw-r--r--contrib/tools/python3/Python/instrumentation.c44
-rw-r--r--contrib/tools/python3/Python/intrinsics.c11
-rw-r--r--contrib/tools/python3/Python/opcode_metadata.h2
-rw-r--r--contrib/tools/python3/Python/pylifecycle.c41
-rw-r--r--contrib/tools/python3/Python/pythonrun.c87
-rw-r--r--contrib/tools/python3/Python/symtable.c24
-rw-r--r--contrib/tools/python3/Python/sysmodule.c183
-rw-r--r--contrib/tools/python3/Python/traceback.c18
21 files changed, 2477 insertions, 2376 deletions
diff --git a/contrib/tools/python3/Python/_warnings.c b/contrib/tools/python3/Python/_warnings.c
index f0ab47efb64..b726c2bf127 100644
--- a/contrib/tools/python3/Python/_warnings.c
+++ b/contrib/tools/python3/Python/_warnings.c
@@ -5,6 +5,8 @@
#include "pycore_pyerrors.h"
#include "pycore_pystate.h" // _PyThreadState_GET()
#include "pycore_frame.h"
+#include "pycore_sysmodule.h" // _PySys_GetOptionalAttr()
+
#include "clinic/_warnings.c.h"
#define MODULE_NAME "_warnings"
@@ -493,7 +495,7 @@ static void
show_warning(PyThreadState *tstate, PyObject *filename, int lineno,
PyObject *text, PyObject *category, PyObject *sourceline)
{
- PyObject *f_stderr;
+ PyObject *f_stderr = NULL;
PyObject *name;
char lineno_str[128];
@@ -504,8 +506,7 @@ show_warning(PyThreadState *tstate, PyObject *filename, int lineno,
goto error;
}
- f_stderr = _PySys_GetAttr(tstate, &_Py_ID(stderr));
- if (f_stderr == NULL) {
+ if (_PySys_GetOptionalAttr(&_Py_ID(stderr), &f_stderr) <= 0) {
fprintf(stderr, "lost sys.stderr\n");
goto error;
}
@@ -558,6 +559,7 @@ show_warning(PyThreadState *tstate, PyObject *filename, int lineno,
}
error:
+ Py_XDECREF(f_stderr);
Py_XDECREF(name);
PyErr_Clear();
}
diff --git a/contrib/tools/python3/Python/assemble.c b/contrib/tools/python3/Python/assemble.c
index 8789d8ef978..6a68482c36e 100644
--- a/contrib/tools/python3/Python/assemble.c
+++ b/contrib/tools/python3/Python/assemble.c
@@ -1,11 +1,10 @@
-#include <stdbool.h>
-
#include "Python.h"
#include "pycore_code.h" // write_location_entry_start()
#include "pycore_compile.h"
#include "pycore_opcode.h" // _PyOpcode_Caches[] and opcode category macros
#include "pycore_pymem.h" // _PyMem_IsPtrFreed()
+#include <stdbool.h>
#define DEFAULT_CODE_SIZE 128
#define DEFAULT_LNOTAB_SIZE 16
@@ -269,17 +268,15 @@ write_location_info_entry(struct assembler* a, location loc, int isize)
assert(len > THEORETICAL_MAX_ENTRY_SIZE);
RETURN_IF_ERROR(_PyBytes_Resize(&a->a_linetable, len*2));
}
- if (loc.lineno < 0) {
+ if (loc.lineno == NO_LOCATION.lineno) {
write_location_info_none(a, isize);
return SUCCESS;
}
int line_delta = loc.lineno - a->a_lineno;
int column = loc.col_offset;
int end_column = loc.end_col_offset;
- assert(column >= -1);
- assert(end_column >= -1);
if (column < 0 || end_column < 0) {
- if (loc.end_lineno == loc.lineno || loc.end_lineno == -1) {
+ if (loc.end_lineno == loc.lineno || loc.end_lineno < 0) {
write_location_info_no_column(a, isize, line_delta);
a->a_lineno = loc.lineno;
return SUCCESS;
diff --git a/contrib/tools/python3/Python/bltinmodule.c b/contrib/tools/python3/Python/bltinmodule.c
index 1a65ddd0154..2ae28693bee 100644
--- a/contrib/tools/python3/Python/bltinmodule.c
+++ b/contrib/tools/python3/Python/bltinmodule.c
@@ -9,6 +9,7 @@
#include "pycore_object.h" // _Py_AddToAllObjects()
#include "pycore_pyerrors.h" // _PyErr_NoMemory()
#include "pycore_pystate.h" // _PyThreadState_GET()
+#include "pycore_sysmodule.h" // _PySys_GetRequiredAttr()
#include "pycore_tuple.h" // _PyTuple_FromArray()
#include "pycore_ceval.h" // _PyEval_Vector()
@@ -455,18 +456,16 @@ builtin_callable(PyObject *module, PyObject *obj)
static PyObject *
builtin_breakpoint(PyObject *self, PyObject *const *args, Py_ssize_t nargs, PyObject *keywords)
{
- PyObject *hook = PySys_GetObject("breakpointhook");
-
+ PyObject *hook = _PySys_GetRequiredAttrString("breakpointhook");
if (hook == NULL) {
- PyErr_SetString(PyExc_RuntimeError, "lost sys.breakpointhook");
return NULL;
}
if (PySys_Audit("builtins.breakpoint", "O", hook) < 0) {
+ Py_DECREF(hook);
return NULL;
}
- Py_INCREF(hook);
PyObject *retval = PyObject_Vectorcall(hook, args, nargs, keywords);
Py_DECREF(hook);
return retval;
@@ -840,33 +839,31 @@ finally:
return result;
}
-/*[clinic input]
-dir as builtin_dir
-
- arg: object = NULL
- /
-
-Show attributes of an object.
-
-If called without an argument, return the names in the current scope.
-Else, return an alphabetized list of names comprising (some of) the attributes
-of the given object, and of attributes reachable from it.
-If the object supplies a method named __dir__, it will be used; otherwise
-the default dir() logic is used and returns:
- for a module object: the module's attributes.
- for a class object: its attributes, and recursively the attributes
- of its bases.
- for any other object: its attributes, its class's attributes, and
- recursively the attributes of its class's base classes.
-[clinic start generated code]*/
-
+/* AC: cannot convert yet, as needs PEP 457 group support in inspect */
static PyObject *
-builtin_dir_impl(PyObject *module, PyObject *arg)
-/*[clinic end generated code: output=24f2c7a52c1e3b08 input=ed6d6ccb13d52251]*/
+builtin_dir(PyObject *self, PyObject *args)
{
+ PyObject *arg = NULL;
+
+ if (!PyArg_UnpackTuple(args, "dir", 0, 1, &arg))
+ return NULL;
return PyObject_Dir(arg);
}
+PyDoc_STRVAR(dir_doc,
+"dir([object]) -> list of strings\n"
+"\n"
+"If called without an argument, return the names in the current scope.\n"
+"Else, return an alphabetized list of names comprising (some of) the attributes\n"
+"of the given object, and of attributes reachable from it.\n"
+"If the object supplies a method named __dir__, it will be used; otherwise\n"
+"the default dir() logic is used and returns:\n"
+" for a module object: the module's attributes.\n"
+" for a class object: its attributes, and recursively the attributes\n"
+" of its bases.\n"
+" for any other object: its attributes, its class's attributes, and\n"
+" recursively the attributes of its class's base classes.");
+
/*[clinic input]
divmod as builtin_divmod
@@ -1136,39 +1133,36 @@ builtin_exec_impl(PyObject *module, PyObject *source, PyObject *globals,
}
-/*[clinic input]
-getattr as builtin_getattr
-
- object: object
- name: object
- default: object = NULL
- /
-
-Get a named attribute from an object.
-
-getattr(x, 'y') is equivalent to x.y
-When a default argument is given, it is returned when the attribute doesn't
-exist; without it, an exception is raised in that case.
-[clinic start generated code]*/
-
+/* AC: cannot convert yet, as needs PEP 457 group support in inspect */
static PyObject *
-builtin_getattr_impl(PyObject *module, PyObject *object, PyObject *name,
- PyObject *default_value)
-/*[clinic end generated code: output=74ad0e225e3f701c input=d7562cd4c3556171]*/
+builtin_getattr(PyObject *self, PyObject *const *args, Py_ssize_t nargs)
{
- PyObject *result;
+ PyObject *v, *name, *result;
- if (default_value != NULL) {
- if (_PyObject_LookupAttr(object, name, &result) == 0) {
- return Py_NewRef(default_value);
+ if (!_PyArg_CheckPositional("getattr", nargs, 2, 3))
+ return NULL;
+
+ v = args[0];
+ name = args[1];
+ if (nargs > 2) {
+ if (_PyObject_LookupAttr(v, name, &result) == 0) {
+ PyObject *dflt = args[2];
+ return Py_NewRef(dflt);
}
}
else {
- result = PyObject_GetAttr(object, name);
+ result = PyObject_GetAttr(v, name);
}
return result;
}
+PyDoc_STRVAR(getattr_doc,
+"getattr(object, name[, default]) -> value\n\
+\n\
+Get a named attribute from an object; getattr(x, 'y') is equivalent to x.y.\n\
+When a default argument is given, it is returned when the attribute doesn't\n\
+exist; without it, an exception is raised in that case.");
+
/*[clinic input]
globals as builtin_globals
@@ -1480,43 +1474,34 @@ PyTypeObject PyMap_Type = {
};
-/*[clinic input]
-next as builtin_next
-
- iterator: object
- default: object = NULL
- /
-
-Return the next item from the iterator.
-
-If default is given and the iterator is exhausted,
-it is returned instead of raising StopIteration.
-[clinic start generated code]*/
-
+/* AC: cannot convert yet, as needs PEP 457 group support in inspect */
static PyObject *
-builtin_next_impl(PyObject *module, PyObject *iterator,
- PyObject *default_value)
-/*[clinic end generated code: output=a38a94eeb447fef9 input=180f9984f182020f]*/
+builtin_next(PyObject *self, PyObject *const *args, Py_ssize_t nargs)
{
- PyObject *res;
+ PyObject *it, *res;
+
+ if (!_PyArg_CheckPositional("next", nargs, 1, 2))
+ return NULL;
- if (!PyIter_Check(iterator)) {
+ it = args[0];
+ if (!PyIter_Check(it)) {
PyErr_Format(PyExc_TypeError,
"'%.200s' object is not an iterator",
- Py_TYPE(iterator)->tp_name);
+ Py_TYPE(it)->tp_name);
return NULL;
}
- res = (*Py_TYPE(iterator)->tp_iternext)(iterator);
+ res = (*Py_TYPE(it)->tp_iternext)(it);
if (res != NULL) {
return res;
- } else if (default_value != NULL) {
+ } else if (nargs > 1) {
+ PyObject *def = args[1];
if (PyErr_Occurred()) {
if(!PyErr_ExceptionMatches(PyExc_StopIteration))
return NULL;
PyErr_Clear();
}
- return Py_NewRef(default_value);
+ return Py_NewRef(def);
} else if (PyErr_Occurred()) {
return NULL;
} else {
@@ -1525,6 +1510,12 @@ builtin_next_impl(PyObject *module, PyObject *iterator,
}
}
+PyDoc_STRVAR(next_doc,
+"next(iterator[, default])\n\
+\n\
+Return the next item from the iterator. If default is given and the iterator\n\
+is exhausted, it is returned instead of raising StopIteration.");
+
/*[clinic input]
setattr as builtin_setattr
@@ -1617,33 +1608,34 @@ builtin_hex(PyObject *module, PyObject *number)
}
-/*[clinic input]
-iter as builtin_iter
-
- object: object
- sentinel: object = NULL
- /
-
-Get an iterator from an object.
-
-In the first form, the argument must supply its own iterator, or be a sequence.
-In the second form, the callable is called until it returns the sentinel.
-[clinic start generated code]*/
-
+/* AC: cannot convert yet, as needs PEP 457 group support in inspect */
static PyObject *
-builtin_iter_impl(PyObject *module, PyObject *object, PyObject *sentinel)
-/*[clinic end generated code: output=12cf64203c195a94 input=a5d64d9d81880ba6]*/
+builtin_iter(PyObject *self, PyObject *const *args, Py_ssize_t nargs)
{
- if (sentinel == NULL)
- return PyObject_GetIter(object);
- if (!PyCallable_Check(object)) {
+ PyObject *v;
+
+ if (!_PyArg_CheckPositional("iter", nargs, 1, 2))
+ return NULL;
+ v = args[0];
+ if (nargs == 1)
+ return PyObject_GetIter(v);
+ if (!PyCallable_Check(v)) {
PyErr_SetString(PyExc_TypeError,
- "iter(object, sentinel): object must be callable");
+ "iter(v, w): v must be callable");
return NULL;
}
- return PyCallIter_New(object, sentinel);
+ PyObject *sentinel = args[1];
+ return PyCallIter_New(v, sentinel);
}
+PyDoc_STRVAR(iter_doc,
+"iter(iterable) -> iterator\n\
+iter(callable, sentinel) -> iterator\n\
+\n\
+Get an iterator from an object. In the first form, the argument must\n\
+supply its own iterator, or be a sequence.\n\
+In the second form, the callable is called until it returns the sentinel.");
+
/*[clinic input]
aiter as builtin_aiter
@@ -1693,6 +1685,9 @@ builtin_anext_impl(PyObject *module, PyObject *aiterator,
}
awaitable = (*t->tp_as_async->am_anext)(aiterator);
+ if (awaitable == NULL) {
+ return NULL;
+ }
if (default_value == NULL) {
return awaitable;
}
@@ -2010,18 +2005,20 @@ builtin_print_impl(PyObject *module, PyObject *args, PyObject *sep,
int i, err;
if (file == Py_None) {
- PyThreadState *tstate = _PyThreadState_GET();
- file = _PySys_GetAttr(tstate, &_Py_ID(stdout));
+ file = _PySys_GetRequiredAttr(&_Py_ID(stdout));
if (file == NULL) {
- PyErr_SetString(PyExc_RuntimeError, "lost sys.stdout");
return NULL;
}
/* sys.stdout may be None when FILE* stdout isn't connected */
if (file == Py_None) {
+ Py_DECREF(file);
Py_RETURN_NONE;
}
}
+ else {
+ Py_INCREF(file);
+ }
if (sep == Py_None) {
sep = NULL;
@@ -2030,6 +2027,7 @@ builtin_print_impl(PyObject *module, PyObject *args, PyObject *sep,
PyErr_Format(PyExc_TypeError,
"sep must be None or a string, not %.200s",
Py_TYPE(sep)->tp_name);
+ Py_DECREF(file);
return NULL;
}
if (end == Py_None) {
@@ -2039,6 +2037,7 @@ builtin_print_impl(PyObject *module, PyObject *args, PyObject *sep,
PyErr_Format(PyExc_TypeError,
"end must be None or a string, not %.200s",
Py_TYPE(end)->tp_name);
+ Py_DECREF(file);
return NULL;
}
@@ -2051,11 +2050,13 @@ builtin_print_impl(PyObject *module, PyObject *args, PyObject *sep,
err = PyFile_WriteObject(sep, file, Py_PRINT_RAW);
}
if (err) {
+ Py_DECREF(file);
return NULL;
}
}
err = PyFile_WriteObject(PyTuple_GET_ITEM(args, i), file, Py_PRINT_RAW);
if (err) {
+ Py_DECREF(file);
return NULL;
}
}
@@ -2067,16 +2068,19 @@ builtin_print_impl(PyObject *module, PyObject *args, PyObject *sep,
err = PyFile_WriteObject(end, file, Py_PRINT_RAW);
}
if (err) {
+ Py_DECREF(file);
return NULL;
}
if (flush) {
PyObject *tmp = PyObject_CallMethodNoArgs(file, &_Py_ID(flush));
if (tmp == NULL) {
+ Py_DECREF(file);
return NULL;
}
Py_DECREF(tmp);
}
+ Py_DECREF(file);
Py_RETURN_NONE;
}
@@ -2101,36 +2105,41 @@ static PyObject *
builtin_input_impl(PyObject *module, PyObject *prompt)
/*[clinic end generated code: output=83db5a191e7a0d60 input=159c46d4ae40977e]*/
{
- PyThreadState *tstate = _PyThreadState_GET();
- PyObject *fin = _PySys_GetAttr(
- tstate, &_Py_ID(stdin));
- PyObject *fout = _PySys_GetAttr(
- tstate, &_Py_ID(stdout));
- PyObject *ferr = _PySys_GetAttr(
- tstate, &_Py_ID(stderr));
+ PyObject *fin = NULL;
+ PyObject *fout = NULL;
+ PyObject *ferr = NULL;
PyObject *tmp;
long fd;
int tty;
/* Check that stdin/out/err are intact */
- if (fin == NULL || fin == Py_None) {
- PyErr_SetString(PyExc_RuntimeError,
- "input(): lost sys.stdin");
- return NULL;
+ fin = _PySys_GetRequiredAttr(&_Py_ID(stdin));
+ if (fin == NULL) {
+ goto error;
}
- if (fout == NULL || fout == Py_None) {
- PyErr_SetString(PyExc_RuntimeError,
- "input(): lost sys.stdout");
- return NULL;
+ if (fin == Py_None) {
+ PyErr_SetString(PyExc_RuntimeError, "lost sys.stdin");
+ goto error;
}
- if (ferr == NULL || ferr == Py_None) {
- PyErr_SetString(PyExc_RuntimeError,
- "input(): lost sys.stderr");
- return NULL;
+ fout = _PySys_GetRequiredAttr(&_Py_ID(stdout));
+ if (fout == NULL) {
+ goto error;
+ }
+ if (fout == Py_None) {
+ PyErr_SetString(PyExc_RuntimeError, "lost sys.stdout");
+ goto error;
+ }
+ ferr = _PySys_GetRequiredAttr(&_Py_ID(stderr));
+ if (ferr == NULL) {
+ goto error;
+ }
+ if (ferr == Py_None) {
+ PyErr_SetString(PyExc_RuntimeError, "lost sys.stderr");
+ goto error;
}
if (PySys_Audit("builtins.input", "O", prompt ? prompt : Py_None) < 0) {
- return NULL;
+ goto error;
}
/* First of all, flush stderr */
@@ -2151,8 +2160,9 @@ builtin_input_impl(PyObject *module, PyObject *prompt)
else {
fd = PyLong_AsLong(tmp);
Py_DECREF(tmp);
- if (fd < 0 && PyErr_Occurred())
- return NULL;
+ if (fd < 0 && PyErr_Occurred()) {
+ goto error;
+ }
tty = fd == fileno(stdin) && isatty(fd);
}
if (tty) {
@@ -2165,7 +2175,7 @@ builtin_input_impl(PyObject *module, PyObject *prompt)
fd = PyLong_AsLong(tmp);
Py_DECREF(tmp);
if (fd < 0 && PyErr_Occurred())
- return NULL;
+ goto error;
tty = fd == fileno(stdout) && isatty(fd);
}
}
@@ -2290,10 +2300,13 @@ builtin_input_impl(PyObject *module, PyObject *prompt)
if (result != NULL) {
if (PySys_Audit("builtins.input/result", "O", result) < 0) {
- return NULL;
+ goto error;
}
}
+ Py_DECREF(fin);
+ Py_DECREF(fout);
+ Py_DECREF(ferr);
return result;
_readline_errors:
@@ -2303,7 +2316,7 @@ builtin_input_impl(PyObject *module, PyObject *prompt)
Py_XDECREF(stdout_errors);
Py_XDECREF(po);
if (tty)
- return NULL;
+ goto error;
PyErr_Clear();
}
@@ -2311,14 +2324,25 @@ builtin_input_impl(PyObject *module, PyObject *prompt)
/* Fallback if we're not interactive */
if (prompt != NULL) {
if (PyFile_WriteObject(prompt, fout, Py_PRINT_RAW) != 0)
- return NULL;
+ goto error;
}
tmp = PyObject_CallMethodNoArgs(fout, &_Py_ID(flush));
if (tmp == NULL)
PyErr_Clear();
else
Py_DECREF(tmp);
- return PyFile_GetLine(fin, -1);
+
+ tmp = PyFile_GetLine(fin, -1);
+ Py_DECREF(fin);
+ Py_DECREF(fout);
+ Py_DECREF(ferr);
+ return tmp;
+
+error:
+ Py_XDECREF(fin);
+ Py_XDECREF(fout);
+ Py_XDECREF(ferr);
+ return NULL;
}
@@ -2443,29 +2467,20 @@ builtin_sorted(PyObject *self, PyObject *const *args, Py_ssize_t nargs, PyObject
}
-/*[clinic input]
-vars as builtin_vars
-
- object: object = NULL
- /
-
-Show vars.
-
-Without arguments, equivalent to locals().
-With an argument, equivalent to object.__dict__.
-[clinic start generated code]*/
-
+/* AC: cannot convert yet, as needs PEP 457 group support in inspect */
static PyObject *
-builtin_vars_impl(PyObject *module, PyObject *object)
-/*[clinic end generated code: output=840a7f64007a3e0a input=80cbdef9182c4ba3]*/
+builtin_vars(PyObject *self, PyObject *args)
{
+ PyObject *v = NULL;
PyObject *d;
- if (object == NULL) {
+ if (!PyArg_UnpackTuple(args, "vars", 0, 1, &v))
+ return NULL;
+ if (v == NULL) {
d = _PyEval_GetFrameLocals();
}
else {
- if (_PyObject_LookupAttr(object, &_Py_ID(__dict__), &d) == 0) {
+ if (_PyObject_LookupAttr(v, &_Py_ID(__dict__), &d) == 0) {
PyErr_SetString(PyExc_TypeError,
"vars() argument must have __dict__ attribute");
}
@@ -2473,6 +2488,12 @@ builtin_vars_impl(PyObject *module, PyObject *object)
return d;
}
+PyDoc_STRVAR(vars_doc,
+"vars([object]) -> dictionary\n\
+\n\
+Without arguments, equivalent to locals().\n\
+With an argument, equivalent to object.__dict__.");
+
/*[clinic input]
sum as builtin_sum
@@ -3024,12 +3045,12 @@ static PyMethodDef builtin_methods[] = {
BUILTIN_CHR_METHODDEF
BUILTIN_COMPILE_METHODDEF
BUILTIN_DELATTR_METHODDEF
- BUILTIN_DIR_METHODDEF
+ {"dir", builtin_dir, METH_VARARGS, dir_doc},
BUILTIN_DIVMOD_METHODDEF
BUILTIN_EVAL_METHODDEF
BUILTIN_EXEC_METHODDEF
BUILTIN_FORMAT_METHODDEF
- BUILTIN_GETATTR_METHODDEF
+ {"getattr", _PyCFunction_CAST(builtin_getattr), METH_FASTCALL, getattr_doc},
BUILTIN_GLOBALS_METHODDEF
BUILTIN_HASATTR_METHODDEF
BUILTIN_HASH_METHODDEF
@@ -3038,13 +3059,13 @@ static PyMethodDef builtin_methods[] = {
BUILTIN_INPUT_METHODDEF
BUILTIN_ISINSTANCE_METHODDEF
BUILTIN_ISSUBCLASS_METHODDEF
- BUILTIN_ITER_METHODDEF
+ {"iter", _PyCFunction_CAST(builtin_iter), METH_FASTCALL, iter_doc},
BUILTIN_AITER_METHODDEF
BUILTIN_LEN_METHODDEF
BUILTIN_LOCALS_METHODDEF
{"max", _PyCFunction_CAST(builtin_max), METH_VARARGS | METH_KEYWORDS, max_doc},
{"min", _PyCFunction_CAST(builtin_min), METH_VARARGS | METH_KEYWORDS, min_doc},
- BUILTIN_NEXT_METHODDEF
+ {"next", _PyCFunction_CAST(builtin_next), METH_FASTCALL, next_doc},
BUILTIN_ANEXT_METHODDEF
BUILTIN_OCT_METHODDEF
BUILTIN_ORD_METHODDEF
@@ -3055,7 +3076,7 @@ static PyMethodDef builtin_methods[] = {
BUILTIN_SETATTR_METHODDEF
BUILTIN_SORTED_METHODDEF
BUILTIN_SUM_METHODDEF
- BUILTIN_VARS_METHODDEF
+ {"vars", builtin_vars, METH_VARARGS, vars_doc},
{NULL, NULL},
};
diff --git a/contrib/tools/python3/Python/clinic/bltinmodule.c.h b/contrib/tools/python3/Python/clinic/bltinmodule.c.h
index b77b4a1e4b4..737a3c65d27 100644
--- a/contrib/tools/python3/Python/clinic/bltinmodule.c.h
+++ b/contrib/tools/python3/Python/clinic/bltinmodule.c.h
@@ -386,49 +386,6 @@ exit:
return return_value;
}
-PyDoc_STRVAR(builtin_dir__doc__,
-"dir($module, arg=<unrepresentable>, /)\n"
-"--\n"
-"\n"
-"Show attributes of an object.\n"
-"\n"
-"If called without an argument, return the names in the current scope.\n"
-"Else, return an alphabetized list of names comprising (some of) the attributes\n"
-"of the given object, and of attributes reachable from it.\n"
-"If the object supplies a method named __dir__, it will be used; otherwise\n"
-"the default dir() logic is used and returns:\n"
-" for a module object: the module\'s attributes.\n"
-" for a class object: its attributes, and recursively the attributes\n"
-" of its bases.\n"
-" for any other object: its attributes, its class\'s attributes, and\n"
-" recursively the attributes of its class\'s base classes.");
-
-#define BUILTIN_DIR_METHODDEF \
- {"dir", _PyCFunction_CAST(builtin_dir), METH_FASTCALL, builtin_dir__doc__},
-
-static PyObject *
-builtin_dir_impl(PyObject *module, PyObject *arg);
-
-static PyObject *
-builtin_dir(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
-{
- PyObject *return_value = NULL;
- PyObject *arg = NULL;
-
- if (!_PyArg_CheckPositional("dir", nargs, 0, 1)) {
- goto exit;
- }
- if (nargs < 1) {
- goto skip_optional;
- }
- arg = args[0];
-skip_optional:
- return_value = builtin_dir_impl(module, arg);
-
-exit:
- return return_value;
-}
-
PyDoc_STRVAR(builtin_divmod__doc__,
"divmod($module, x, y, /)\n"
"--\n"
@@ -589,47 +546,6 @@ exit:
return return_value;
}
-PyDoc_STRVAR(builtin_getattr__doc__,
-"getattr($module, object, name, default=<unrepresentable>, /)\n"
-"--\n"
-"\n"
-"Get a named attribute from an object.\n"
-"\n"
-"getattr(x, \'y\') is equivalent to x.y\n"
-"When a default argument is given, it is returned when the attribute doesn\'t\n"
-"exist; without it, an exception is raised in that case.");
-
-#define BUILTIN_GETATTR_METHODDEF \
- {"getattr", _PyCFunction_CAST(builtin_getattr), METH_FASTCALL, builtin_getattr__doc__},
-
-static PyObject *
-builtin_getattr_impl(PyObject *module, PyObject *object, PyObject *name,
- PyObject *default_value);
-
-static PyObject *
-builtin_getattr(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
-{
- PyObject *return_value = NULL;
- PyObject *object;
- PyObject *name;
- PyObject *default_value = NULL;
-
- if (!_PyArg_CheckPositional("getattr", nargs, 2, 3)) {
- goto exit;
- }
- object = args[0];
- name = args[1];
- if (nargs < 3) {
- goto skip_optional;
- }
- default_value = args[2];
-skip_optional:
- return_value = builtin_getattr_impl(module, object, name, default_value);
-
-exit:
- return return_value;
-}
-
PyDoc_STRVAR(builtin_globals__doc__,
"globals($module, /)\n"
"--\n"
@@ -695,44 +611,6 @@ PyDoc_STRVAR(builtin_id__doc__,
#define BUILTIN_ID_METHODDEF \
{"id", (PyCFunction)builtin_id, METH_O, builtin_id__doc__},
-PyDoc_STRVAR(builtin_next__doc__,
-"next($module, iterator, default=<unrepresentable>, /)\n"
-"--\n"
-"\n"
-"Return the next item from the iterator.\n"
-"\n"
-"If default is given and the iterator is exhausted,\n"
-"it is returned instead of raising StopIteration.");
-
-#define BUILTIN_NEXT_METHODDEF \
- {"next", _PyCFunction_CAST(builtin_next), METH_FASTCALL, builtin_next__doc__},
-
-static PyObject *
-builtin_next_impl(PyObject *module, PyObject *iterator,
- PyObject *default_value);
-
-static PyObject *
-builtin_next(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
-{
- PyObject *return_value = NULL;
- PyObject *iterator;
- PyObject *default_value = NULL;
-
- if (!_PyArg_CheckPositional("next", nargs, 1, 2)) {
- goto exit;
- }
- iterator = args[0];
- if (nargs < 2) {
- goto skip_optional;
- }
- default_value = args[1];
-skip_optional:
- return_value = builtin_next_impl(module, iterator, default_value);
-
-exit:
- return return_value;
-}
-
PyDoc_STRVAR(builtin_setattr__doc__,
"setattr($module, obj, name, value, /)\n"
"--\n"
@@ -824,43 +702,6 @@ PyDoc_STRVAR(builtin_hex__doc__,
#define BUILTIN_HEX_METHODDEF \
{"hex", (PyCFunction)builtin_hex, METH_O, builtin_hex__doc__},
-PyDoc_STRVAR(builtin_iter__doc__,
-"iter($module, object, sentinel=<unrepresentable>, /)\n"
-"--\n"
-"\n"
-"Get an iterator from an object.\n"
-"\n"
-"In the first form, the argument must supply its own iterator, or be a sequence.\n"
-"In the second form, the callable is called until it returns the sentinel.");
-
-#define BUILTIN_ITER_METHODDEF \
- {"iter", _PyCFunction_CAST(builtin_iter), METH_FASTCALL, builtin_iter__doc__},
-
-static PyObject *
-builtin_iter_impl(PyObject *module, PyObject *object, PyObject *sentinel);
-
-static PyObject *
-builtin_iter(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
-{
- PyObject *return_value = NULL;
- PyObject *object;
- PyObject *sentinel = NULL;
-
- if (!_PyArg_CheckPositional("iter", nargs, 1, 2)) {
- goto exit;
- }
- object = args[0];
- if (nargs < 2) {
- goto skip_optional;
- }
- sentinel = args[1];
-skip_optional:
- return_value = builtin_iter_impl(module, object, sentinel);
-
-exit:
- return return_value;
-}
-
PyDoc_STRVAR(builtin_aiter__doc__,
"aiter($module, async_iterable, /)\n"
"--\n"
@@ -1239,41 +1080,6 @@ exit:
return return_value;
}
-PyDoc_STRVAR(builtin_vars__doc__,
-"vars($module, object=<unrepresentable>, /)\n"
-"--\n"
-"\n"
-"Show vars.\n"
-"\n"
-"Without arguments, equivalent to locals().\n"
-"With an argument, equivalent to object.__dict__.");
-
-#define BUILTIN_VARS_METHODDEF \
- {"vars", _PyCFunction_CAST(builtin_vars), METH_FASTCALL, builtin_vars__doc__},
-
-static PyObject *
-builtin_vars_impl(PyObject *module, PyObject *object);
-
-static PyObject *
-builtin_vars(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
-{
- PyObject *return_value = NULL;
- PyObject *object = NULL;
-
- if (!_PyArg_CheckPositional("vars", nargs, 0, 1)) {
- goto exit;
- }
- if (nargs < 1) {
- goto skip_optional;
- }
- object = args[0];
-skip_optional:
- return_value = builtin_vars_impl(module, object);
-
-exit:
- return return_value;
-}
-
PyDoc_STRVAR(builtin_sum__doc__,
"sum($module, iterable, /, start=0)\n"
"--\n"
@@ -1409,4 +1215,4 @@ builtin_issubclass(PyObject *module, PyObject *const *args, Py_ssize_t nargs)
exit:
return return_value;
}
-/*[clinic end generated code: output=84a04e7446debf58 input=a9049054013a1b77]*/
+/*[clinic end generated code: output=4056e9aefc5b0247 input=a9049054013a1b77]*/
diff --git a/contrib/tools/python3/Python/compile.c b/contrib/tools/python3/Python/compile.c
index 56fdbfae6f6..cc639ff64ff 100644
--- a/contrib/tools/python3/Python/compile.c
+++ b/contrib/tools/python3/Python/compile.c
@@ -21,8 +21,6 @@
* objects.
*/
-#include <stdbool.h>
-
#include "Python.h"
#include "pycore_ast.h" // _PyAST_GetDocString()
#define NEED_OPCODE_TABLES
@@ -38,6 +36,8 @@
#include "opcode_metadata.h" // _PyOpcode_opcode_metadata, _PyOpcode_num_popped/pushed
+#include <stdbool.h>
+
#define DEFAULT_CODE_SIZE 128
#define DEFAULT_LNOTAB_SIZE 16
#define DEFAULT_CNOTAB_SIZE 32
diff --git a/contrib/tools/python3/Python/context.c b/contrib/tools/python3/Python/context.c
index 7bccfad11a4..e5899219daa 100644
--- a/contrib/tools/python3/Python/context.c
+++ b/contrib/tools/python3/Python/context.c
@@ -821,20 +821,19 @@ contextvar_new(PyObject *name, PyObject *def)
return NULL;
}
- var->var_hash = contextvar_generate_hash(var, name);
- if (var->var_hash == -1) {
- Py_DECREF(var);
- return NULL;
- }
-
var->var_name = Py_NewRef(name);
-
var->var_default = Py_XNewRef(def);
var->var_cached = NULL;
var->var_cached_tsid = 0;
var->var_cached_tsver = 0;
+ var->var_hash = contextvar_generate_hash(var, name);
+ if (var->var_hash == -1) {
+ Py_DECREF(var);
+ return NULL;
+ }
+
if (_PyObject_GC_MAY_BE_TRACKED(name) ||
(def != NULL && _PyObject_GC_MAY_BE_TRACKED(def)))
{
diff --git a/contrib/tools/python3/Python/deepfreeze/deepfreeze.c b/contrib/tools/python3/Python/deepfreeze/deepfreeze.c
index 89be737a249..29f762cc699 100644
--- a/contrib/tools/python3/Python/deepfreeze/deepfreeze.c
+++ b/contrib/tools/python3/Python/deepfreeze/deepfreeze.c
@@ -8158,7 +8158,7 @@ importlib__bootstrap_toplevel_consts_28_consts_1 = {
.statically_allocated = 1,
},
},
- ._data = "the load_module() method is deprecated and slated for removal in Python 3.12; use exec_module() instead",
+ ._data = "the load_module() method is deprecated and slated for removal in Python 3.15; use exec_module() instead",
};
static
struct {
@@ -8381,7 +8381,7 @@ importlib__bootstrap_toplevel_consts_28_linetable = {
.ob_size = 97,
},
.ob_shash = -1,
- .ob_sval = "\x80\x00\xf0\x0c\x01\x0c\x33\x80\x43\xe4\x04\x0d\x87\x4e\x81\x4e\x90\x33\xd4\x18\x2a\xd4\x04\x2b\xdc\x0b\x1b\x98\x48\xa0\x64\xd3\x0b\x2b\x80\x44\xd8\x07\x0f\x94\x33\x97\x3b\x91\x3b\xd1\x07\x1e\xdc\x11\x14\x97\x1b\x91\x1b\x98\x58\xd1\x11\x26\x88\x06\xdc\x08\x0d\x88\x64\x90\x46\xd4\x08\x1b\xdc\x0f\x12\x8f\x7b\x89\x7b\x98\x38\xd1\x0f\x24\xd0\x08\x24\xe4\x0f\x14\x90\x54\x8b\x7b\xd0\x08\x1a",
+ .ob_sval = "\x80\x00\xf0\x0c\x01\x0c\x34\x80\x43\xe4\x04\x0d\x87\x4e\x81\x4e\x90\x33\xd4\x18\x2a\xd4\x04\x2b\xdc\x0b\x1b\x98\x48\xa0\x64\xd3\x0b\x2b\x80\x44\xd8\x07\x0f\x94\x33\x97\x3b\x91\x3b\xd1\x07\x1e\xdc\x11\x14\x97\x1b\x91\x1b\x98\x58\xd1\x11\x26\x88\x06\xdc\x08\x0d\x88\x64\x90\x46\xd4\x08\x1b\xdc\x0f\x12\x8f\x7b\x89\x7b\x98\x38\xd1\x0f\x24\xd0\x08\x24\xe4\x0f\x14\x90\x54\x8b\x7b\xd0\x08\x1a",
};
static
struct {
@@ -110696,7 +110696,7 @@ os_toplevel_consts_82 = {
static
struct {
PyASCIIObject _ascii;
- uint8_t _data[2855];
+ uint8_t _data[2877];
}
os_toplevel_consts_83_consts_0 = {
._ascii = {
@@ -110704,7 +110704,7 @@ os_toplevel_consts_83_consts_0 = {
.ob_refcnt = _Py_IMMORTAL_REFCNT,
.ob_type = &PyUnicode_Type,
},
- .length = 2854,
+ .length = 2876,
.hash = -1,
.state = {
.kind = 1,
@@ -110713,7 +110713,7 @@ os_toplevel_consts_83_consts_0 = {
.statically_allocated = 1,
},
},
- ._data = "\x44\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x74\x72\x65\x65\x20\x67\x65\x6e\x65\x72\x61\x74\x6f\x72\x2e\x0a\x0a\x20\x20\x20\x20\x46\x6f\x72\x20\x65\x61\x63\x68\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x69\x6e\x20\x74\x68\x65\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x74\x72\x65\x65\x20\x72\x6f\x6f\x74\x65\x64\x20\x61\x74\x20\x74\x6f\x70\x20\x28\x69\x6e\x63\x6c\x75\x64\x69\x6e\x67\x20\x74\x6f\x70\x0a\x20\x20\x20\x20\x69\x74\x73\x65\x6c\x66\x2c\x20\x62\x75\x74\x20\x65\x78\x63\x6c\x75\x64\x69\x6e\x67\x20\x27\x2e\x27\x20\x61\x6e\x64\x20\x27\x2e\x2e\x27\x29\x2c\x20\x79\x69\x65\x6c\x64\x73\x20\x61\x20\x33\x2d\x74\x75\x70\x6c\x65\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x64\x69\x72\x70\x61\x74\x68\x2c\x20\x64\x69\x72\x6e\x61\x6d\x65\x73\x2c\x20\x66\x69\x6c\x65\x6e\x61\x6d\x65\x73\x0a\x0a\x20\x20\x20\x20\x64\x69\x72\x70\x61\x74\x68\x20\x69\x73\x20\x61\x20\x73\x74\x72\x69\x6e\x67\x2c\x20\x74\x68\x65\x20\x70\x61\x74\x68\x20\x74\x6f\x20\x74\x68\x65\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x2e\x20\x20\x64\x69\x72\x6e\x61\x6d\x65\x73\x20\x69\x73\x20\x61\x20\x6c\x69\x73\x74\x20\x6f\x66\x0a\x20\x20\x20\x20\x74\x68\x65\x20\x6e\x61\x6d\x65\x73\x20\x6f\x66\x20\x74\x68\x65\x20\x73\x75\x62\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x69\x6e\x20\x64\x69\x72\x70\x61\x74\x68\x20\x28\x69\x6e\x63\x6c\x75\x64\x69\x6e\x67\x20\x73\x79\x6d\x6c\x69\x6e\x6b\x73\x20\x74\x6f\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x2c\x0a\x20\x20\x20\x20\x61\x6e\x64\x20\x65\x78\x63\x6c\x75\x64\x69\x6e\x67\x20\x27\x2e\x27\x20\x61\x6e\x64\x20\x27\x2e\x2e\x27\x29\x2e\x0a\x20\x20\x20\x20\x66\x69\x6c\x65\x6e\x61\x6d\x65\x73\x20\x69\x73\x20\x61\x20\x6c\x69\x73\x74\x20\x6f\x66\x20\x74\x68\x65\x20\x6e\x61\x6d\x65\x73\x20\x6f\x66\x20\x74\x68\x65\x20\x6e\x6f\x6e\x2d\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x66\x69\x6c\x65\x73\x20\x69\x6e\x20\x64\x69\x72\x70\x61\x74\x68\x2e\x0a\x20\x20\x20\x20\x4e\x6f\x74\x65\x20\x74\x68\x61\x74\x20\x74\x68\x65\x20\x6e\x61\x6d\x65\x73\x20\x69\x6e\x20\x74\x68\x65\x20\x6c\x69\x73\x74\x73\x20\x61\x72\x65\x20\x6a\x75\x73\x74\x20\x6e\x61\x6d\x65\x73\x2c\x20\x77\x69\x74\x68\x20\x6e\x6f\x20\x70\x61\x74\x68\x20\x63\x6f\x6d\x70\x6f\x6e\x65\x6e\x74\x73\x2e\x0a\x20\x20\x20\x20\x54\x6f\x20\x67\x65\x74\x20\x61\x20\x66\x75\x6c\x6c\x20\x70\x61\x74\x68\x20\x28\x77\x68\x69\x63\x68\x20\x62\x65\x67\x69\x6e\x73\x20\x77\x69\x74\x68\x20\x74\x6f\x70\x29\x20\x74\x6f\x20\x61\x20\x66\x69\x6c\x65\x20\x6f\x72\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x69\x6e\x0a\x20\x20\x20\x20\x64\x69\x72\x70\x61\x74\x68\x2c\x20\x64\x6f\x20\x6f\x73\x2e\x70\x61\x74\x68\x2e\x6a\x6f\x69\x6e\x28\x64\x69\x72\x70\x61\x74\x68\x2c\x20\x6e\x61\x6d\x65\x29\x2e\x0a\x0a\x20\x20\x20\x20\x49\x66\x20\x6f\x70\x74\x69\x6f\x6e\x61\x6c\x20\x61\x72\x67\x20\x27\x74\x6f\x70\x64\x6f\x77\x6e\x27\x20\x69\x73\x20\x74\x72\x75\x65\x20\x6f\x72\x20\x6e\x6f\x74\x20\x73\x70\x65\x63\x69\x66\x69\x65\x64\x2c\x20\x74\x68\x65\x20\x74\x72\x69\x70\x6c\x65\x20\x66\x6f\x72\x20\x61\x0a\x20\x20\x20\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x69\x73\x20\x67\x65\x6e\x65\x72\x61\x74\x65\x64\x20\x62\x65\x66\x6f\x72\x65\x20\x74\x68\x65\x20\x74\x72\x69\x70\x6c\x65\x73\x20\x66\x6f\x72\x20\x61\x6e\x79\x20\x6f\x66\x20\x69\x74\x73\x20\x73\x75\x62\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x0a\x20\x20\x20\x20\x28\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x61\x72\x65\x20\x67\x65\x6e\x65\x72\x61\x74\x65\x64\x20\x74\x6f\x70\x20\x64\x6f\x77\x6e\x29\x2e\x20\x20\x49\x66\x20\x74\x6f\x70\x64\x6f\x77\x6e\x20\x69\x73\x20\x66\x61\x6c\x73\x65\x2c\x20\x74\x68\x65\x20\x74\x72\x69\x70\x6c\x65\x0a\x20\x20\x20\x20\x66\x6f\x72\x20\x61\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x69\x73\x20\x67\x65\x6e\x65\x72\x61\x74\x65\x64\x20\x61\x66\x74\x65\x72\x20\x74\x68\x65\x20\x74\x72\x69\x70\x6c\x65\x73\x20\x66\x6f\x72\x20\x61\x6c\x6c\x20\x6f\x66\x20\x69\x74\x73\x0a\x20\x20\x20\x20\x73\x75\x62\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x28\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x61\x72\x65\x20\x67\x65\x6e\x65\x72\x61\x74\x65\x64\x20\x62\x6f\x74\x74\x6f\x6d\x20\x75\x70\x29\x2e\x0a\x0a\x20\x20\x20\x20\x57\x68\x65\x6e\x20\x74\x6f\x70\x64\x6f\x77\x6e\x20\x69\x73\x20\x74\x72\x75\x65\x2c\x20\x74\x68\x65\x20\x63\x61\x6c\x6c\x65\x72\x20\x63\x61\x6e\x20\x6d\x6f\x64\x69\x66\x79\x20\x74\x68\x65\x20\x64\x69\x72\x6e\x61\x6d\x65\x73\x20\x6c\x69\x73\x74\x20\x69\x6e\x2d\x70\x6c\x61\x63\x65\x0a\x20\x20\x20\x20\x28\x65\x2e\x67\x2e\x2c\x20\x76\x69\x61\x20\x64\x65\x6c\x20\x6f\x72\x20\x73\x6c\x69\x63\x65\x20\x61\x73\x73\x69\x67\x6e\x6d\x65\x6e\x74\x29\x2c\x20\x61\x6e\x64\x20\x77\x61\x6c\x6b\x20\x77\x69\x6c\x6c\x20\x6f\x6e\x6c\x79\x20\x72\x65\x63\x75\x72\x73\x65\x20\x69\x6e\x74\x6f\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x73\x75\x62\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x77\x68\x6f\x73\x65\x20\x6e\x61\x6d\x65\x73\x20\x72\x65\x6d\x61\x69\x6e\x20\x69\x6e\x20\x64\x69\x72\x6e\x61\x6d\x65\x73\x3b\x20\x74\x68\x69\x73\x20\x63\x61\x6e\x20\x62\x65\x20\x75\x73\x65\x64\x20\x74\x6f\x20\x70\x72\x75\x6e\x65\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x73\x65\x61\x72\x63\x68\x2c\x20\x6f\x72\x20\x74\x6f\x20\x69\x6d\x70\x6f\x73\x65\x20\x61\x20\x73\x70\x65\x63\x69\x66\x69\x63\x20\x6f\x72\x64\x65\x72\x20\x6f\x66\x20\x76\x69\x73\x69\x74\x69\x6e\x67\x2e\x20\x20\x4d\x6f\x64\x69\x66\x79\x69\x6e\x67\x20\x64\x69\x72\x6e\x61\x6d\x65\x73\x20\x77\x68\x65\x6e\x0a\x20\x20\x20\x20\x74\x6f\x70\x64\x6f\x77\x6e\x20\x69\x73\x20\x66\x61\x6c\x73\x65\x20\x68\x61\x73\x20\x6e\x6f\x20\x65\x66\x66\x65\x63\x74\x20\x6f\x6e\x20\x74\x68\x65\x20\x62\x65\x68\x61\x76\x69\x6f\x72\x20\x6f\x66\x20\x6f\x73\x2e\x77\x61\x6c\x6b\x28\x29\x2c\x20\x73\x69\x6e\x63\x65\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x69\x6e\x20\x64\x69\x72\x6e\x61\x6d\x65\x73\x20\x68\x61\x76\x65\x20\x61\x6c\x72\x65\x61\x64\x79\x20\x62\x65\x65\x6e\x20\x67\x65\x6e\x65\x72\x61\x74\x65\x64\x20\x62\x79\x20\x74\x68\x65\x20\x74\x69\x6d\x65\x20\x64\x69\x72\x6e\x61\x6d\x65\x73\x0a\x20\x20\x20\x20\x69\x74\x73\x65\x6c\x66\x20\x69\x73\x20\x67\x65\x6e\x65\x72\x61\x74\x65\x64\x2e\x20\x4e\x6f\x20\x6d\x61\x74\x74\x65\x72\x20\x74\x68\x65\x20\x76\x61\x6c\x75\x65\x20\x6f\x66\x20\x74\x6f\x70\x64\x6f\x77\x6e\x2c\x20\x74\x68\x65\x20\x6c\x69\x73\x74\x20\x6f\x66\x0a\x20\x20\x20\x20\x73\x75\x62\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x69\x73\x20\x72\x65\x74\x72\x69\x65\x76\x65\x64\x20\x62\x65\x66\x6f\x72\x65\x20\x74\x68\x65\x20\x74\x75\x70\x6c\x65\x73\x20\x66\x6f\x72\x20\x74\x68\x65\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x61\x6e\x64\x20\x69\x74\x73\x0a\x20\x20\x20\x20\x73\x75\x62\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x61\x72\x65\x20\x67\x65\x6e\x65\x72\x61\x74\x65\x64\x2e\x0a\x0a\x20\x20\x20\x20\x42\x79\x20\x64\x65\x66\x61\x75\x6c\x74\x20\x65\x72\x72\x6f\x72\x73\x20\x66\x72\x6f\x6d\x20\x74\x68\x65\x20\x6f\x73\x2e\x73\x63\x61\x6e\x64\x69\x72\x28\x29\x20\x63\x61\x6c\x6c\x20\x61\x72\x65\x20\x69\x67\x6e\x6f\x72\x65\x64\x2e\x20\x20\x49\x66\x0a\x20\x20\x20\x20\x6f\x70\x74\x69\x6f\x6e\x61\x6c\x20\x61\x72\x67\x20\x27\x6f\x6e\x65\x72\x72\x6f\x72\x27\x20\x69\x73\x20\x73\x70\x65\x63\x69\x66\x69\x65\x64\x2c\x20\x69\x74\x20\x73\x68\x6f\x75\x6c\x64\x20\x62\x65\x20\x61\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x3b\x20\x69\x74\x0a\x20\x20\x20\x20\x77\x69\x6c\x6c\x20\x62\x65\x20\x63\x61\x6c\x6c\x65\x64\x20\x77\x69\x74\x68\x20\x6f\x6e\x65\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x2c\x20\x61\x6e\x20\x4f\x53\x45\x72\x72\x6f\x72\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x2e\x20\x20\x49\x74\x20\x63\x61\x6e\x0a\x20\x20\x20\x20\x72\x65\x70\x6f\x72\x74\x20\x74\x68\x65\x20\x65\x72\x72\x6f\x72\x20\x74\x6f\x20\x63\x6f\x6e\x74\x69\x6e\x75\x65\x20\x77\x69\x74\x68\x20\x74\x68\x65\x20\x77\x61\x6c\x6b\x2c\x20\x6f\x72\x20\x72\x61\x69\x73\x65\x20\x74\x68\x65\x20\x65\x78\x63\x65\x70\x74\x69\x6f\x6e\x0a\x20\x20\x20\x20\x74\x6f\x20\x61\x62\x6f\x72\x74\x20\x74\x68\x65\x20\x77\x61\x6c\x6b\x2e\x20\x20\x4e\x6f\x74\x65\x20\x74\x68\x61\x74\x20\x74\x68\x65\x20\x66\x69\x6c\x65\x6e\x61\x6d\x65\x20\x69\x73\x20\x61\x76\x61\x69\x6c\x61\x62\x6c\x65\x20\x61\x73\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x66\x69\x6c\x65\x6e\x61\x6d\x65\x20\x61\x74\x74\x72\x69\x62\x75\x74\x65\x20\x6f\x66\x20\x74\x68\x65\x20\x65\x78\x63\x65\x70\x74\x69\x6f\x6e\x20\x6f\x62\x6a\x65\x63\x74\x2e\x0a\x0a\x20\x20\x20\x20\x42\x79\x20\x64\x65\x66\x61\x75\x6c\x74\x2c\x20\x6f\x73\x2e\x77\x61\x6c\x6b\x20\x64\x6f\x65\x73\x20\x6e\x6f\x74\x20\x66\x6f\x6c\x6c\x6f\x77\x20\x73\x79\x6d\x62\x6f\x6c\x69\x63\x20\x6c\x69\x6e\x6b\x73\x20\x74\x6f\x20\x73\x75\x62\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x6f\x6e\x0a\x20\x20\x20\x20\x73\x79\x73\x74\x65\x6d\x73\x20\x74\x68\x61\x74\x20\x73\x75\x70\x70\x6f\x72\x74\x20\x74\x68\x65\x6d\x2e\x20\x20\x49\x6e\x20\x6f\x72\x64\x65\x72\x20\x74\x6f\x20\x67\x65\x74\x20\x74\x68\x69\x73\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x61\x6c\x69\x74\x79\x2c\x20\x73\x65\x74\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x6f\x70\x74\x69\x6f\x6e\x61\x6c\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x20\x27\x66\x6f\x6c\x6c\x6f\x77\x6c\x69\x6e\x6b\x73\x27\x20\x74\x6f\x20\x74\x72\x75\x65\x2e\x0a\x0a\x20\x20\x20\x20\x43\x61\x75\x74\x69\x6f\x6e\x3a\x20\x20\x69\x66\x20\x79\x6f\x75\x20\x70\x61\x73\x73\x20\x61\x20\x72\x65\x6c\x61\x74\x69\x76\x65\x20\x70\x61\x74\x68\x6e\x61\x6d\x65\x20\x66\x6f\x72\x20\x74\x6f\x70\x2c\x20\x64\x6f\x6e\x27\x74\x20\x63\x68\x61\x6e\x67\x65\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x77\x6f\x72\x6b\x69\x6e\x67\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x62\x65\x74\x77\x65\x65\x6e\x20\x72\x65\x73\x75\x6d\x70\x74\x69\x6f\x6e\x73\x20\x6f\x66\x20\x77\x61\x6c\x6b\x2e\x20\x20\x77\x61\x6c\x6b\x20\x6e\x65\x76\x65\x72\x0a\x20\x20\x20\x20\x63\x68\x61\x6e\x67\x65\x73\x20\x74\x68\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x2c\x20\x61\x6e\x64\x20\x61\x73\x73\x75\x6d\x65\x73\x20\x74\x68\x61\x74\x20\x74\x68\x65\x20\x63\x6c\x69\x65\x6e\x74\x20\x64\x6f\x65\x73\x6e\x27\x74\x0a\x20\x20\x20\x20\x65\x69\x74\x68\x65\x72\x2e\x0a\x0a\x20\x20\x20\x20\x45\x78\x61\x6d\x70\x6c\x65\x3a\x0a\x0a\x20\x20\x20\x20\x69\x6d\x70\x6f\x72\x74\x20\x6f\x73\x0a\x20\x20\x20\x20\x66\x72\x6f\x6d\x20\x6f\x73\x2e\x70\x61\x74\x68\x20\x69\x6d\x70\x6f\x72\x74\x20\x6a\x6f\x69\x6e\x2c\x20\x67\x65\x74\x73\x69\x7a\x65\x0a\x20\x20\x20\x20\x66\x6f\x72\x20\x72\x6f\x6f\x74\x2c\x20\x64\x69\x72\x73\x2c\x20\x66\x69\x6c\x65\x73\x20\x69\x6e\x20\x6f\x73\x2e\x77\x61\x6c\x6b\x28\x27\x70\x79\x74\x68\x6f\x6e\x2f\x4c\x69\x62\x2f\x65\x6d\x61\x69\x6c\x27\x29\x3a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x70\x72\x69\x6e\x74\x28\x72\x6f\x6f\x74\x2c\x20\x22\x63\x6f\x6e\x73\x75\x6d\x65\x73\x20\x22\x29\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x70\x72\x69\x6e\x74\x28\x73\x75\x6d\x28\x67\x65\x74\x73\x69\x7a\x65\x28\x6a\x6f\x69\x6e\x28\x72\x6f\x6f\x74\x2c\x20\x6e\x61\x6d\x65\x29\x29\x20\x66\x6f\x72\x20\x6e\x61\x6d\x65\x20\x69\x6e\x20\x66\x69\x6c\x65\x73\x29\x2c\x20\x65\x6e\x64\x3d\x22\x20\x22\x29\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x70\x72\x69\x6e\x74\x28\x22\x62\x79\x74\x65\x73\x20\x69\x6e\x22\x2c\x20\x6c\x65\x6e\x28\x66\x69\x6c\x65\x73\x29\x2c\x20\x22\x6e\x6f\x6e\x2d\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x66\x69\x6c\x65\x73\x22\x29\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x27\x43\x56\x53\x27\x20\x69\x6e\x20\x64\x69\x72\x73\x3a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x69\x72\x73\x2e\x72\x65\x6d\x6f\x76\x65\x28\x27\x43\x56\x53\x27\x29\x20\x20\x23\x20\x64\x6f\x6e\x27\x74\x20\x76\x69\x73\x69\x74\x20\x43\x56\x53\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x0a\x0a\x20\x20\x20\x20",
+ ._data = "\x44\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x74\x72\x65\x65\x20\x67\x65\x6e\x65\x72\x61\x74\x6f\x72\x2e\x0a\x0a\x20\x20\x20\x20\x46\x6f\x72\x20\x65\x61\x63\x68\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x69\x6e\x20\x74\x68\x65\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x74\x72\x65\x65\x20\x72\x6f\x6f\x74\x65\x64\x20\x61\x74\x20\x74\x6f\x70\x20\x28\x69\x6e\x63\x6c\x75\x64\x69\x6e\x67\x20\x74\x6f\x70\x0a\x20\x20\x20\x20\x69\x74\x73\x65\x6c\x66\x2c\x20\x62\x75\x74\x20\x65\x78\x63\x6c\x75\x64\x69\x6e\x67\x20\x27\x2e\x27\x20\x61\x6e\x64\x20\x27\x2e\x2e\x27\x29\x2c\x20\x79\x69\x65\x6c\x64\x73\x20\x61\x20\x33\x2d\x74\x75\x70\x6c\x65\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x64\x69\x72\x70\x61\x74\x68\x2c\x20\x64\x69\x72\x6e\x61\x6d\x65\x73\x2c\x20\x66\x69\x6c\x65\x6e\x61\x6d\x65\x73\x0a\x0a\x20\x20\x20\x20\x64\x69\x72\x70\x61\x74\x68\x20\x69\x73\x20\x61\x20\x73\x74\x72\x69\x6e\x67\x2c\x20\x74\x68\x65\x20\x70\x61\x74\x68\x20\x74\x6f\x20\x74\x68\x65\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x2e\x20\x20\x64\x69\x72\x6e\x61\x6d\x65\x73\x20\x69\x73\x20\x61\x20\x6c\x69\x73\x74\x20\x6f\x66\x0a\x20\x20\x20\x20\x74\x68\x65\x20\x6e\x61\x6d\x65\x73\x20\x6f\x66\x20\x74\x68\x65\x20\x73\x75\x62\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x69\x6e\x20\x64\x69\x72\x70\x61\x74\x68\x20\x28\x69\x6e\x63\x6c\x75\x64\x69\x6e\x67\x20\x73\x79\x6d\x6c\x69\x6e\x6b\x73\x20\x74\x6f\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x2c\x0a\x20\x20\x20\x20\x61\x6e\x64\x20\x65\x78\x63\x6c\x75\x64\x69\x6e\x67\x20\x27\x2e\x27\x20\x61\x6e\x64\x20\x27\x2e\x2e\x27\x29\x2e\x0a\x20\x20\x20\x20\x66\x69\x6c\x65\x6e\x61\x6d\x65\x73\x20\x69\x73\x20\x61\x20\x6c\x69\x73\x74\x20\x6f\x66\x20\x74\x68\x65\x20\x6e\x61\x6d\x65\x73\x20\x6f\x66\x20\x74\x68\x65\x20\x6e\x6f\x6e\x2d\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x66\x69\x6c\x65\x73\x20\x69\x6e\x20\x64\x69\x72\x70\x61\x74\x68\x2e\x0a\x20\x20\x20\x20\x4e\x6f\x74\x65\x20\x74\x68\x61\x74\x20\x74\x68\x65\x20\x6e\x61\x6d\x65\x73\x20\x69\x6e\x20\x74\x68\x65\x20\x6c\x69\x73\x74\x73\x20\x61\x72\x65\x20\x6a\x75\x73\x74\x20\x6e\x61\x6d\x65\x73\x2c\x20\x77\x69\x74\x68\x20\x6e\x6f\x20\x70\x61\x74\x68\x20\x63\x6f\x6d\x70\x6f\x6e\x65\x6e\x74\x73\x2e\x0a\x20\x20\x20\x20\x54\x6f\x20\x67\x65\x74\x20\x61\x20\x66\x75\x6c\x6c\x20\x70\x61\x74\x68\x20\x28\x77\x68\x69\x63\x68\x20\x62\x65\x67\x69\x6e\x73\x20\x77\x69\x74\x68\x20\x74\x6f\x70\x29\x20\x74\x6f\x20\x61\x20\x66\x69\x6c\x65\x20\x6f\x72\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x69\x6e\x0a\x20\x20\x20\x20\x64\x69\x72\x70\x61\x74\x68\x2c\x20\x64\x6f\x20\x6f\x73\x2e\x70\x61\x74\x68\x2e\x6a\x6f\x69\x6e\x28\x64\x69\x72\x70\x61\x74\x68\x2c\x20\x6e\x61\x6d\x65\x29\x2e\x0a\x0a\x20\x20\x20\x20\x49\x66\x20\x6f\x70\x74\x69\x6f\x6e\x61\x6c\x20\x61\x72\x67\x20\x27\x74\x6f\x70\x64\x6f\x77\x6e\x27\x20\x69\x73\x20\x74\x72\x75\x65\x20\x6f\x72\x20\x6e\x6f\x74\x20\x73\x70\x65\x63\x69\x66\x69\x65\x64\x2c\x20\x74\x68\x65\x20\x74\x72\x69\x70\x6c\x65\x20\x66\x6f\x72\x20\x61\x0a\x20\x20\x20\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x69\x73\x20\x67\x65\x6e\x65\x72\x61\x74\x65\x64\x20\x62\x65\x66\x6f\x72\x65\x20\x74\x68\x65\x20\x74\x72\x69\x70\x6c\x65\x73\x20\x66\x6f\x72\x20\x61\x6e\x79\x20\x6f\x66\x20\x69\x74\x73\x20\x73\x75\x62\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x0a\x20\x20\x20\x20\x28\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x61\x72\x65\x20\x67\x65\x6e\x65\x72\x61\x74\x65\x64\x20\x74\x6f\x70\x20\x64\x6f\x77\x6e\x29\x2e\x20\x20\x49\x66\x20\x74\x6f\x70\x64\x6f\x77\x6e\x20\x69\x73\x20\x66\x61\x6c\x73\x65\x2c\x20\x74\x68\x65\x20\x74\x72\x69\x70\x6c\x65\x0a\x20\x20\x20\x20\x66\x6f\x72\x20\x61\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x69\x73\x20\x67\x65\x6e\x65\x72\x61\x74\x65\x64\x20\x61\x66\x74\x65\x72\x20\x74\x68\x65\x20\x74\x72\x69\x70\x6c\x65\x73\x20\x66\x6f\x72\x20\x61\x6c\x6c\x20\x6f\x66\x20\x69\x74\x73\x0a\x20\x20\x20\x20\x73\x75\x62\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x28\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x61\x72\x65\x20\x67\x65\x6e\x65\x72\x61\x74\x65\x64\x20\x62\x6f\x74\x74\x6f\x6d\x20\x75\x70\x29\x2e\x0a\x0a\x20\x20\x20\x20\x57\x68\x65\x6e\x20\x74\x6f\x70\x64\x6f\x77\x6e\x20\x69\x73\x20\x74\x72\x75\x65\x2c\x20\x74\x68\x65\x20\x63\x61\x6c\x6c\x65\x72\x20\x63\x61\x6e\x20\x6d\x6f\x64\x69\x66\x79\x20\x74\x68\x65\x20\x64\x69\x72\x6e\x61\x6d\x65\x73\x20\x6c\x69\x73\x74\x20\x69\x6e\x2d\x70\x6c\x61\x63\x65\x0a\x20\x20\x20\x20\x28\x65\x2e\x67\x2e\x2c\x20\x76\x69\x61\x20\x64\x65\x6c\x20\x6f\x72\x20\x73\x6c\x69\x63\x65\x20\x61\x73\x73\x69\x67\x6e\x6d\x65\x6e\x74\x29\x2c\x20\x61\x6e\x64\x20\x77\x61\x6c\x6b\x20\x77\x69\x6c\x6c\x20\x6f\x6e\x6c\x79\x20\x72\x65\x63\x75\x72\x73\x65\x20\x69\x6e\x74\x6f\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x73\x75\x62\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x77\x68\x6f\x73\x65\x20\x6e\x61\x6d\x65\x73\x20\x72\x65\x6d\x61\x69\x6e\x20\x69\x6e\x20\x64\x69\x72\x6e\x61\x6d\x65\x73\x3b\x20\x74\x68\x69\x73\x20\x63\x61\x6e\x20\x62\x65\x20\x75\x73\x65\x64\x20\x74\x6f\x20\x70\x72\x75\x6e\x65\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x73\x65\x61\x72\x63\x68\x2c\x20\x6f\x72\x20\x74\x6f\x20\x69\x6d\x70\x6f\x73\x65\x20\x61\x20\x73\x70\x65\x63\x69\x66\x69\x63\x20\x6f\x72\x64\x65\x72\x20\x6f\x66\x20\x76\x69\x73\x69\x74\x69\x6e\x67\x2e\x20\x20\x4d\x6f\x64\x69\x66\x79\x69\x6e\x67\x20\x64\x69\x72\x6e\x61\x6d\x65\x73\x20\x77\x68\x65\x6e\x0a\x20\x20\x20\x20\x74\x6f\x70\x64\x6f\x77\x6e\x20\x69\x73\x20\x66\x61\x6c\x73\x65\x20\x68\x61\x73\x20\x6e\x6f\x20\x65\x66\x66\x65\x63\x74\x20\x6f\x6e\x20\x74\x68\x65\x20\x62\x65\x68\x61\x76\x69\x6f\x72\x20\x6f\x66\x20\x6f\x73\x2e\x77\x61\x6c\x6b\x28\x29\x2c\x20\x73\x69\x6e\x63\x65\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x69\x6e\x20\x64\x69\x72\x6e\x61\x6d\x65\x73\x20\x68\x61\x76\x65\x20\x61\x6c\x72\x65\x61\x64\x79\x20\x62\x65\x65\x6e\x20\x67\x65\x6e\x65\x72\x61\x74\x65\x64\x20\x62\x79\x20\x74\x68\x65\x20\x74\x69\x6d\x65\x20\x64\x69\x72\x6e\x61\x6d\x65\x73\x0a\x20\x20\x20\x20\x69\x74\x73\x65\x6c\x66\x20\x69\x73\x20\x67\x65\x6e\x65\x72\x61\x74\x65\x64\x2e\x20\x4e\x6f\x20\x6d\x61\x74\x74\x65\x72\x20\x74\x68\x65\x20\x76\x61\x6c\x75\x65\x20\x6f\x66\x20\x74\x6f\x70\x64\x6f\x77\x6e\x2c\x20\x74\x68\x65\x20\x6c\x69\x73\x74\x20\x6f\x66\x0a\x20\x20\x20\x20\x73\x75\x62\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x69\x73\x20\x72\x65\x74\x72\x69\x65\x76\x65\x64\x20\x62\x65\x66\x6f\x72\x65\x20\x74\x68\x65\x20\x74\x75\x70\x6c\x65\x73\x20\x66\x6f\x72\x20\x74\x68\x65\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x61\x6e\x64\x20\x69\x74\x73\x0a\x20\x20\x20\x20\x73\x75\x62\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x61\x72\x65\x20\x67\x65\x6e\x65\x72\x61\x74\x65\x64\x2e\x0a\x0a\x20\x20\x20\x20\x42\x79\x20\x64\x65\x66\x61\x75\x6c\x74\x20\x65\x72\x72\x6f\x72\x73\x20\x66\x72\x6f\x6d\x20\x74\x68\x65\x20\x6f\x73\x2e\x73\x63\x61\x6e\x64\x69\x72\x28\x29\x20\x63\x61\x6c\x6c\x20\x61\x72\x65\x20\x69\x67\x6e\x6f\x72\x65\x64\x2e\x20\x20\x49\x66\x0a\x20\x20\x20\x20\x6f\x70\x74\x69\x6f\x6e\x61\x6c\x20\x61\x72\x67\x20\x27\x6f\x6e\x65\x72\x72\x6f\x72\x27\x20\x69\x73\x20\x73\x70\x65\x63\x69\x66\x69\x65\x64\x2c\x20\x69\x74\x20\x73\x68\x6f\x75\x6c\x64\x20\x62\x65\x20\x61\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x3b\x20\x69\x74\x0a\x20\x20\x20\x20\x77\x69\x6c\x6c\x20\x62\x65\x20\x63\x61\x6c\x6c\x65\x64\x20\x77\x69\x74\x68\x20\x6f\x6e\x65\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x2c\x20\x61\x6e\x20\x4f\x53\x45\x72\x72\x6f\x72\x20\x69\x6e\x73\x74\x61\x6e\x63\x65\x2e\x20\x20\x49\x74\x20\x63\x61\x6e\x0a\x20\x20\x20\x20\x72\x65\x70\x6f\x72\x74\x20\x74\x68\x65\x20\x65\x72\x72\x6f\x72\x20\x74\x6f\x20\x63\x6f\x6e\x74\x69\x6e\x75\x65\x20\x77\x69\x74\x68\x20\x74\x68\x65\x20\x77\x61\x6c\x6b\x2c\x20\x6f\x72\x20\x72\x61\x69\x73\x65\x20\x74\x68\x65\x20\x65\x78\x63\x65\x70\x74\x69\x6f\x6e\x0a\x20\x20\x20\x20\x74\x6f\x20\x61\x62\x6f\x72\x74\x20\x74\x68\x65\x20\x77\x61\x6c\x6b\x2e\x20\x20\x4e\x6f\x74\x65\x20\x74\x68\x61\x74\x20\x74\x68\x65\x20\x66\x69\x6c\x65\x6e\x61\x6d\x65\x20\x69\x73\x20\x61\x76\x61\x69\x6c\x61\x62\x6c\x65\x20\x61\x73\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x66\x69\x6c\x65\x6e\x61\x6d\x65\x20\x61\x74\x74\x72\x69\x62\x75\x74\x65\x20\x6f\x66\x20\x74\x68\x65\x20\x65\x78\x63\x65\x70\x74\x69\x6f\x6e\x20\x6f\x62\x6a\x65\x63\x74\x2e\x0a\x0a\x20\x20\x20\x20\x42\x79\x20\x64\x65\x66\x61\x75\x6c\x74\x2c\x20\x6f\x73\x2e\x77\x61\x6c\x6b\x20\x64\x6f\x65\x73\x20\x6e\x6f\x74\x20\x66\x6f\x6c\x6c\x6f\x77\x20\x73\x79\x6d\x62\x6f\x6c\x69\x63\x20\x6c\x69\x6e\x6b\x73\x20\x74\x6f\x20\x73\x75\x62\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x20\x6f\x6e\x0a\x20\x20\x20\x20\x73\x79\x73\x74\x65\x6d\x73\x20\x74\x68\x61\x74\x20\x73\x75\x70\x70\x6f\x72\x74\x20\x74\x68\x65\x6d\x2e\x20\x20\x49\x6e\x20\x6f\x72\x64\x65\x72\x20\x74\x6f\x20\x67\x65\x74\x20\x74\x68\x69\x73\x20\x66\x75\x6e\x63\x74\x69\x6f\x6e\x61\x6c\x69\x74\x79\x2c\x20\x73\x65\x74\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x6f\x70\x74\x69\x6f\x6e\x61\x6c\x20\x61\x72\x67\x75\x6d\x65\x6e\x74\x20\x27\x66\x6f\x6c\x6c\x6f\x77\x6c\x69\x6e\x6b\x73\x27\x20\x74\x6f\x20\x74\x72\x75\x65\x2e\x0a\x0a\x20\x20\x20\x20\x43\x61\x75\x74\x69\x6f\x6e\x3a\x20\x20\x69\x66\x20\x79\x6f\x75\x20\x70\x61\x73\x73\x20\x61\x20\x72\x65\x6c\x61\x74\x69\x76\x65\x20\x70\x61\x74\x68\x6e\x61\x6d\x65\x20\x66\x6f\x72\x20\x74\x6f\x70\x2c\x20\x64\x6f\x6e\x27\x74\x20\x63\x68\x61\x6e\x67\x65\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x77\x6f\x72\x6b\x69\x6e\x67\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x62\x65\x74\x77\x65\x65\x6e\x20\x72\x65\x73\x75\x6d\x70\x74\x69\x6f\x6e\x73\x20\x6f\x66\x20\x77\x61\x6c\x6b\x2e\x20\x20\x77\x61\x6c\x6b\x20\x6e\x65\x76\x65\x72\x0a\x20\x20\x20\x20\x63\x68\x61\x6e\x67\x65\x73\x20\x74\x68\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x2c\x20\x61\x6e\x64\x20\x61\x73\x73\x75\x6d\x65\x73\x20\x74\x68\x61\x74\x20\x74\x68\x65\x20\x63\x6c\x69\x65\x6e\x74\x20\x64\x6f\x65\x73\x6e\x27\x74\x0a\x20\x20\x20\x20\x65\x69\x74\x68\x65\x72\x2e\x0a\x0a\x20\x20\x20\x20\x45\x78\x61\x6d\x70\x6c\x65\x3a\x0a\x0a\x20\x20\x20\x20\x69\x6d\x70\x6f\x72\x74\x20\x6f\x73\x0a\x20\x20\x20\x20\x66\x72\x6f\x6d\x20\x6f\x73\x2e\x70\x61\x74\x68\x20\x69\x6d\x70\x6f\x72\x74\x20\x6a\x6f\x69\x6e\x2c\x20\x67\x65\x74\x73\x69\x7a\x65\x0a\x20\x20\x20\x20\x66\x6f\x72\x20\x72\x6f\x6f\x74\x2c\x20\x64\x69\x72\x73\x2c\x20\x66\x69\x6c\x65\x73\x20\x69\x6e\x20\x6f\x73\x2e\x77\x61\x6c\x6b\x28\x27\x70\x79\x74\x68\x6f\x6e\x2f\x4c\x69\x62\x2f\x78\x6d\x6c\x27\x29\x3a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x70\x72\x69\x6e\x74\x28\x72\x6f\x6f\x74\x2c\x20\x22\x63\x6f\x6e\x73\x75\x6d\x65\x73\x20\x22\x29\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x70\x72\x69\x6e\x74\x28\x73\x75\x6d\x28\x67\x65\x74\x73\x69\x7a\x65\x28\x6a\x6f\x69\x6e\x28\x72\x6f\x6f\x74\x2c\x20\x6e\x61\x6d\x65\x29\x29\x20\x66\x6f\x72\x20\x6e\x61\x6d\x65\x20\x69\x6e\x20\x66\x69\x6c\x65\x73\x29\x2c\x20\x65\x6e\x64\x3d\x22\x20\x22\x29\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x70\x72\x69\x6e\x74\x28\x22\x62\x79\x74\x65\x73\x20\x69\x6e\x22\x2c\x20\x6c\x65\x6e\x28\x66\x69\x6c\x65\x73\x29\x2c\x20\x22\x6e\x6f\x6e\x2d\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x66\x69\x6c\x65\x73\x22\x29\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x27\x5f\x5f\x70\x79\x63\x61\x63\x68\x65\x5f\x5f\x27\x20\x69\x6e\x20\x64\x69\x72\x73\x3a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x69\x72\x73\x2e\x72\x65\x6d\x6f\x76\x65\x28\x27\x5f\x5f\x70\x79\x63\x61\x63\x68\x65\x5f\x5f\x27\x29\x20\x20\x23\x20\x64\x6f\x6e\x27\x74\x20\x76\x69\x73\x69\x74\x20\x5f\x5f\x70\x79\x63\x61\x63\x68\x65\x5f\x5f\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x0a\x0a\x20\x20\x20\x20",
};
static
struct {
@@ -111314,7 +111314,7 @@ os_toplevel_consts_85 = {
static
struct {
PyASCIIObject _ascii;
- uint8_t _data[1283];
+ uint8_t _data[1305];
}
os_toplevel_consts_86_consts_0 = {
._ascii = {
@@ -111322,7 +111322,7 @@ os_toplevel_consts_86_consts_0 = {
.ob_refcnt = _Py_IMMORTAL_REFCNT,
.ob_type = &PyUnicode_Type,
},
- .length = 1282,
+ .length = 1304,
.hash = -1,
.state = {
.kind = 1,
@@ -111331,7 +111331,7 @@ os_toplevel_consts_86_consts_0 = {
.statically_allocated = 1,
},
},
- ._data = "\x44\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x74\x72\x65\x65\x20\x67\x65\x6e\x65\x72\x61\x74\x6f\x72\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x54\x68\x69\x73\x20\x62\x65\x68\x61\x76\x65\x73\x20\x65\x78\x61\x63\x74\x6c\x79\x20\x6c\x69\x6b\x65\x20\x77\x61\x6c\x6b\x28\x29\x2c\x20\x65\x78\x63\x65\x70\x74\x20\x74\x68\x61\x74\x20\x69\x74\x20\x79\x69\x65\x6c\x64\x73\x20\x61\x20\x34\x2d\x74\x75\x70\x6c\x65\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x69\x72\x70\x61\x74\x68\x2c\x20\x64\x69\x72\x6e\x61\x6d\x65\x73\x2c\x20\x66\x69\x6c\x65\x6e\x61\x6d\x65\x73\x2c\x20\x64\x69\x72\x66\x64\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x60\x64\x69\x72\x70\x61\x74\x68\x60\x2c\x20\x60\x64\x69\x72\x6e\x61\x6d\x65\x73\x60\x20\x61\x6e\x64\x20\x60\x66\x69\x6c\x65\x6e\x61\x6d\x65\x73\x60\x20\x61\x72\x65\x20\x69\x64\x65\x6e\x74\x69\x63\x61\x6c\x20\x74\x6f\x20\x77\x61\x6c\x6b\x28\x29\x20\x6f\x75\x74\x70\x75\x74\x2c\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x61\x6e\x64\x20\x60\x64\x69\x72\x66\x64\x60\x20\x69\x73\x20\x61\x20\x66\x69\x6c\x65\x20\x64\x65\x73\x63\x72\x69\x70\x74\x6f\x72\x20\x72\x65\x66\x65\x72\x72\x69\x6e\x67\x20\x74\x6f\x20\x74\x68\x65\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x60\x64\x69\x72\x70\x61\x74\x68\x60\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x54\x68\x65\x20\x61\x64\x76\x61\x6e\x74\x61\x67\x65\x20\x6f\x66\x20\x66\x77\x61\x6c\x6b\x28\x29\x20\x6f\x76\x65\x72\x20\x77\x61\x6c\x6b\x28\x29\x20\x69\x73\x20\x74\x68\x61\x74\x20\x69\x74\x27\x73\x20\x73\x61\x66\x65\x20\x61\x67\x61\x69\x6e\x73\x74\x20\x73\x79\x6d\x6c\x69\x6e\x6b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x72\x61\x63\x65\x73\x20\x28\x77\x68\x65\x6e\x20\x66\x6f\x6c\x6c\x6f\x77\x5f\x73\x79\x6d\x6c\x69\x6e\x6b\x73\x20\x69\x73\x20\x46\x61\x6c\x73\x65\x29\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x49\x66\x20\x64\x69\x72\x5f\x66\x64\x20\x69\x73\x20\x6e\x6f\x74\x20\x4e\x6f\x6e\x65\x2c\x20\x69\x74\x20\x73\x68\x6f\x75\x6c\x64\x20\x62\x65\x20\x61\x20\x66\x69\x6c\x65\x20\x64\x65\x73\x63\x72\x69\x70\x74\x6f\x72\x20\x6f\x70\x65\x6e\x20\x74\x6f\x20\x61\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x2c\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x61\x6e\x64\x20\x74\x6f\x70\x20\x73\x68\x6f\x75\x6c\x64\x20\x62\x65\x20\x72\x65\x6c\x61\x74\x69\x76\x65\x3b\x20\x74\x6f\x70\x20\x77\x69\x6c\x6c\x20\x74\x68\x65\x6e\x20\x62\x65\x20\x72\x65\x6c\x61\x74\x69\x76\x65\x20\x74\x6f\x20\x74\x68\x61\x74\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x28\x64\x69\x72\x5f\x66\x64\x20\x69\x73\x20\x61\x6c\x77\x61\x79\x73\x20\x73\x75\x70\x70\x6f\x72\x74\x65\x64\x20\x66\x6f\x72\x20\x66\x77\x61\x6c\x6b\x2e\x29\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x43\x61\x75\x74\x69\x6f\x6e\x3a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x53\x69\x6e\x63\x65\x20\x66\x77\x61\x6c\x6b\x28\x29\x20\x79\x69\x65\x6c\x64\x73\x20\x66\x69\x6c\x65\x20\x64\x65\x73\x63\x72\x69\x70\x74\x6f\x72\x73\x2c\x20\x74\x68\x6f\x73\x65\x20\x61\x72\x65\x20\x6f\x6e\x6c\x79\x20\x76\x61\x6c\x69\x64\x20\x75\x6e\x74\x69\x6c\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x6e\x65\x78\x74\x20\x69\x74\x65\x72\x61\x74\x69\x6f\x6e\x20\x73\x74\x65\x70\x2c\x20\x73\x6f\x20\x79\x6f\x75\x20\x73\x68\x6f\x75\x6c\x64\x20\x64\x75\x70\x28\x29\x20\x74\x68\x65\x6d\x20\x69\x66\x20\x79\x6f\x75\x20\x77\x61\x6e\x74\x20\x74\x6f\x20\x6b\x65\x65\x70\x20\x74\x68\x65\x6d\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x66\x6f\x72\x20\x61\x20\x6c\x6f\x6e\x67\x65\x72\x20\x70\x65\x72\x69\x6f\x64\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x45\x78\x61\x6d\x70\x6c\x65\x3a\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x69\x6d\x70\x6f\x72\x74\x20\x6f\x73\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x66\x6f\x72\x20\x72\x6f\x6f\x74\x2c\x20\x64\x69\x72\x73\x2c\x20\x66\x69\x6c\x65\x73\x2c\x20\x72\x6f\x6f\x74\x66\x64\x20\x69\x6e\x20\x6f\x73\x2e\x66\x77\x61\x6c\x6b\x28\x27\x70\x79\x74\x68\x6f\x6e\x2f\x4c\x69\x62\x2f\x65\x6d\x61\x69\x6c\x27\x29\x3a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x70\x72\x69\x6e\x74\x28\x72\x6f\x6f\x74\x2c\x20\x22\x63\x6f\x6e\x73\x75\x6d\x65\x73\x22\x2c\x20\x65\x6e\x64\x3d\x22\x22\x29\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x70\x72\x69\x6e\x74\x28\x73\x75\x6d\x28\x6f\x73\x2e\x73\x74\x61\x74\x28\x6e\x61\x6d\x65\x2c\x20\x64\x69\x72\x5f\x66\x64\x3d\x72\x6f\x6f\x74\x66\x64\x29\x2e\x73\x74\x5f\x73\x69\x7a\x65\x20\x66\x6f\x72\x20\x6e\x61\x6d\x65\x20\x69\x6e\x20\x66\x69\x6c\x65\x73\x29\x2c\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6e\x64\x3d\x22\x22\x29\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x70\x72\x69\x6e\x74\x28\x22\x62\x79\x74\x65\x73\x20\x69\x6e\x22\x2c\x20\x6c\x65\x6e\x28\x66\x69\x6c\x65\x73\x29\x2c\x20\x22\x6e\x6f\x6e\x2d\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x66\x69\x6c\x65\x73\x22\x29\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x27\x43\x56\x53\x27\x20\x69\x6e\x20\x64\x69\x72\x73\x3a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x69\x72\x73\x2e\x72\x65\x6d\x6f\x76\x65\x28\x27\x43\x56\x53\x27\x29\x20\x20\x23\x20\x64\x6f\x6e\x27\x74\x20\x76\x69\x73\x69\x74\x20\x43\x56\x53\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x0a\x20\x20\x20\x20\x20\x20\x20\x20",
+ ._data = "\x44\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x74\x72\x65\x65\x20\x67\x65\x6e\x65\x72\x61\x74\x6f\x72\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x54\x68\x69\x73\x20\x62\x65\x68\x61\x76\x65\x73\x20\x65\x78\x61\x63\x74\x6c\x79\x20\x6c\x69\x6b\x65\x20\x77\x61\x6c\x6b\x28\x29\x2c\x20\x65\x78\x63\x65\x70\x74\x20\x74\x68\x61\x74\x20\x69\x74\x20\x79\x69\x65\x6c\x64\x73\x20\x61\x20\x34\x2d\x74\x75\x70\x6c\x65\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x69\x72\x70\x61\x74\x68\x2c\x20\x64\x69\x72\x6e\x61\x6d\x65\x73\x2c\x20\x66\x69\x6c\x65\x6e\x61\x6d\x65\x73\x2c\x20\x64\x69\x72\x66\x64\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x60\x64\x69\x72\x70\x61\x74\x68\x60\x2c\x20\x60\x64\x69\x72\x6e\x61\x6d\x65\x73\x60\x20\x61\x6e\x64\x20\x60\x66\x69\x6c\x65\x6e\x61\x6d\x65\x73\x60\x20\x61\x72\x65\x20\x69\x64\x65\x6e\x74\x69\x63\x61\x6c\x20\x74\x6f\x20\x77\x61\x6c\x6b\x28\x29\x20\x6f\x75\x74\x70\x75\x74\x2c\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x61\x6e\x64\x20\x60\x64\x69\x72\x66\x64\x60\x20\x69\x73\x20\x61\x20\x66\x69\x6c\x65\x20\x64\x65\x73\x63\x72\x69\x70\x74\x6f\x72\x20\x72\x65\x66\x65\x72\x72\x69\x6e\x67\x20\x74\x6f\x20\x74\x68\x65\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x60\x64\x69\x72\x70\x61\x74\x68\x60\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x54\x68\x65\x20\x61\x64\x76\x61\x6e\x74\x61\x67\x65\x20\x6f\x66\x20\x66\x77\x61\x6c\x6b\x28\x29\x20\x6f\x76\x65\x72\x20\x77\x61\x6c\x6b\x28\x29\x20\x69\x73\x20\x74\x68\x61\x74\x20\x69\x74\x27\x73\x20\x73\x61\x66\x65\x20\x61\x67\x61\x69\x6e\x73\x74\x20\x73\x79\x6d\x6c\x69\x6e\x6b\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x72\x61\x63\x65\x73\x20\x28\x77\x68\x65\x6e\x20\x66\x6f\x6c\x6c\x6f\x77\x5f\x73\x79\x6d\x6c\x69\x6e\x6b\x73\x20\x69\x73\x20\x46\x61\x6c\x73\x65\x29\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x49\x66\x20\x64\x69\x72\x5f\x66\x64\x20\x69\x73\x20\x6e\x6f\x74\x20\x4e\x6f\x6e\x65\x2c\x20\x69\x74\x20\x73\x68\x6f\x75\x6c\x64\x20\x62\x65\x20\x61\x20\x66\x69\x6c\x65\x20\x64\x65\x73\x63\x72\x69\x70\x74\x6f\x72\x20\x6f\x70\x65\x6e\x20\x74\x6f\x20\x61\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x2c\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x61\x6e\x64\x20\x74\x6f\x70\x20\x73\x68\x6f\x75\x6c\x64\x20\x62\x65\x20\x72\x65\x6c\x61\x74\x69\x76\x65\x3b\x20\x74\x6f\x70\x20\x77\x69\x6c\x6c\x20\x74\x68\x65\x6e\x20\x62\x65\x20\x72\x65\x6c\x61\x74\x69\x76\x65\x20\x74\x6f\x20\x74\x68\x61\x74\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x2e\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x28\x64\x69\x72\x5f\x66\x64\x20\x69\x73\x20\x61\x6c\x77\x61\x79\x73\x20\x73\x75\x70\x70\x6f\x72\x74\x65\x64\x20\x66\x6f\x72\x20\x66\x77\x61\x6c\x6b\x2e\x29\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x43\x61\x75\x74\x69\x6f\x6e\x3a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x53\x69\x6e\x63\x65\x20\x66\x77\x61\x6c\x6b\x28\x29\x20\x79\x69\x65\x6c\x64\x73\x20\x66\x69\x6c\x65\x20\x64\x65\x73\x63\x72\x69\x70\x74\x6f\x72\x73\x2c\x20\x74\x68\x6f\x73\x65\x20\x61\x72\x65\x20\x6f\x6e\x6c\x79\x20\x76\x61\x6c\x69\x64\x20\x75\x6e\x74\x69\x6c\x20\x74\x68\x65\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x6e\x65\x78\x74\x20\x69\x74\x65\x72\x61\x74\x69\x6f\x6e\x20\x73\x74\x65\x70\x2c\x20\x73\x6f\x20\x79\x6f\x75\x20\x73\x68\x6f\x75\x6c\x64\x20\x64\x75\x70\x28\x29\x20\x74\x68\x65\x6d\x20\x69\x66\x20\x79\x6f\x75\x20\x77\x61\x6e\x74\x20\x74\x6f\x20\x6b\x65\x65\x70\x20\x74\x68\x65\x6d\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x66\x6f\x72\x20\x61\x20\x6c\x6f\x6e\x67\x65\x72\x20\x70\x65\x72\x69\x6f\x64\x2e\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x45\x78\x61\x6d\x70\x6c\x65\x3a\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x69\x6d\x70\x6f\x72\x74\x20\x6f\x73\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x66\x6f\x72\x20\x72\x6f\x6f\x74\x2c\x20\x64\x69\x72\x73\x2c\x20\x66\x69\x6c\x65\x73\x2c\x20\x72\x6f\x6f\x74\x66\x64\x20\x69\x6e\x20\x6f\x73\x2e\x66\x77\x61\x6c\x6b\x28\x27\x70\x79\x74\x68\x6f\x6e\x2f\x4c\x69\x62\x2f\x78\x6d\x6c\x27\x29\x3a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x70\x72\x69\x6e\x74\x28\x72\x6f\x6f\x74\x2c\x20\x22\x63\x6f\x6e\x73\x75\x6d\x65\x73\x22\x2c\x20\x65\x6e\x64\x3d\x22\x22\x29\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x70\x72\x69\x6e\x74\x28\x73\x75\x6d\x28\x6f\x73\x2e\x73\x74\x61\x74\x28\x6e\x61\x6d\x65\x2c\x20\x64\x69\x72\x5f\x66\x64\x3d\x72\x6f\x6f\x74\x66\x64\x29\x2e\x73\x74\x5f\x73\x69\x7a\x65\x20\x66\x6f\x72\x20\x6e\x61\x6d\x65\x20\x69\x6e\x20\x66\x69\x6c\x65\x73\x29\x2c\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x65\x6e\x64\x3d\x22\x22\x29\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x70\x72\x69\x6e\x74\x28\x22\x62\x79\x74\x65\x73\x20\x69\x6e\x22\x2c\x20\x6c\x65\x6e\x28\x66\x69\x6c\x65\x73\x29\x2c\x20\x22\x6e\x6f\x6e\x2d\x64\x69\x72\x65\x63\x74\x6f\x72\x79\x20\x66\x69\x6c\x65\x73\x22\x29\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x69\x66\x20\x27\x5f\x5f\x70\x79\x63\x61\x63\x68\x65\x5f\x5f\x27\x20\x69\x6e\x20\x64\x69\x72\x73\x3a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x64\x69\x72\x73\x2e\x72\x65\x6d\x6f\x76\x65\x28\x27\x5f\x5f\x70\x79\x63\x61\x63\x68\x65\x5f\x5f\x27\x29\x20\x20\x23\x20\x64\x6f\x6e\x27\x74\x20\x76\x69\x73\x69\x74\x20\x5f\x5f\x70\x79\x63\x61\x63\x68\x65\x5f\x5f\x20\x64\x69\x72\x65\x63\x74\x6f\x72\x69\x65\x73\x0a\x20\x20\x20\x20\x20\x20\x20\x20",
};
static
struct {
diff --git a/contrib/tools/python3/Python/errors.c b/contrib/tools/python3/Python/errors.c
index e4b7fd6b242..d45615f96b0 100644
--- a/contrib/tools/python3/Python/errors.c
+++ b/contrib/tools/python3/Python/errors.c
@@ -1567,14 +1567,15 @@ write_unraisable_exc(PyThreadState *tstate, PyObject *exc_type,
PyObject *exc_value, PyObject *exc_tb, PyObject *err_msg,
PyObject *obj)
{
- PyObject *file = _PySys_GetAttr(tstate, &_Py_ID(stderr));
+ PyObject *file;
+ if (_PySys_GetOptionalAttr(&_Py_ID(stderr), &file) < 0) {
+ return -1;
+ }
if (file == NULL || file == Py_None) {
+ Py_XDECREF(file);
return 0;
}
- /* Hold a strong reference to ensure that sys.stderr doesn't go away
- while we use it */
- Py_INCREF(file);
int res = write_unraisable_exc_file(tstate, exc_type, exc_value, exc_tb,
err_msg, obj, file);
Py_DECREF(file);
@@ -1671,13 +1672,20 @@ _PyErr_WriteUnraisableMsg(const char *err_msg_str, PyObject *obj)
goto error;
}
- PyObject *hook = _PySys_GetAttr(tstate, &_Py_ID(unraisablehook));
+ PyObject *hook;
+ if (_PySys_GetOptionalAttr(&_Py_ID(unraisablehook), &hook) < 0) {
+ Py_DECREF(hook_args);
+ err_msg_str = NULL;
+ obj = NULL;
+ goto error;
+ }
if (hook == NULL) {
Py_DECREF(hook_args);
goto default_hook;
}
if (_PySys_Audit(tstate, "sys.unraisablehook", "OO", hook, hook_args) < 0) {
+ Py_DECREF(hook);
Py_DECREF(hook_args);
err_msg_str = "Exception ignored in audit hook";
obj = NULL;
@@ -1685,11 +1693,13 @@ _PyErr_WriteUnraisableMsg(const char *err_msg_str, PyObject *obj)
}
if (hook == Py_None) {
+ Py_DECREF(hook);
Py_DECREF(hook_args);
goto default_hook;
}
PyObject *res = PyObject_CallOneArg(hook, hook_args);
+ Py_DECREF(hook);
Py_DECREF(hook_args);
if (res != NULL) {
Py_DECREF(res);
diff --git a/contrib/tools/python3/Python/flowgraph.c b/contrib/tools/python3/Python/flowgraph.c
index fbbe053ae58..86b3afe5ae8 100644
--- a/contrib/tools/python3/Python/flowgraph.c
+++ b/contrib/tools/python3/Python/flowgraph.c
@@ -1,6 +1,3 @@
-
-#include <stdbool.h>
-
#include "Python.h"
#include "pycore_flowgraph.h"
#include "pycore_compile.h"
@@ -11,6 +8,8 @@
#include "opcode_metadata.h" // _PyOpcode_opcode_metadata, _PyOpcode_num_popped/pushed
#undef NEED_OPCODE_METADATA
+#include <stdbool.h>
+
#undef SUCCESS
#undef ERROR
diff --git a/contrib/tools/python3/Python/frozen_modules/importlib._bootstrap.h b/contrib/tools/python3/Python/frozen_modules/importlib._bootstrap.h
index 267ea887a76..fa1b7aadbc8 100644
--- a/contrib/tools/python3/Python/frozen_modules/importlib._bootstrap.h
+++ b/contrib/tools/python3/Python/frozen_modules/importlib._bootstrap.h
@@ -1100,7 +1100,7 @@ const unsigned char _Py_M__importlib__bootstrap[] = {
115,32,100,101,112,114,101,99,97,116,101,100,32,97,110,100,
32,115,108,97,116,101,100,32,102,111,114,32,114,101,109,111,
118,97,108,32,105,110,32,80,121,116,104,111,110,32,51,46,
- 49,50,59,32,117,115,101,32,101,120,101,99,95,109,111,100,
+ 49,53,59,32,117,115,101,32,101,120,101,99,95,109,111,100,
117,108,101,40,41,32,105,110,115,116,101,97,100,41,8,218,
9,95,119,97,114,110,105,110,103,115,218,4,119,97,114,110,
218,18,68,101,112,114,101,99,97,116,105,111,110,87,97,114,
@@ -1112,7 +1112,7 @@ const unsigned char _Py_M__importlib__bootstrap[] = {
101,115,5,0,0,0,32,32,32,32,32,114,7,0,0,0,
218,17,95,108,111,97,100,95,109,111,100,117,108,101,95,115,
104,105,109,114,201,0,0,0,10,2,0,0,115,97,0,0,
- 0,128,0,240,12,1,12,51,128,67,228,4,13,135,78,129,
+ 0,128,0,240,12,1,12,52,128,67,228,4,13,135,78,129,
78,144,51,212,24,42,212,4,43,220,11,27,152,72,160,100,
211,11,43,128,68,216,7,15,148,51,151,59,145,59,209,7,
30,220,17,20,151,27,145,27,152,88,209,17,38,136,6,220,
diff --git a/contrib/tools/python3/Python/frozen_modules/os.h b/contrib/tools/python3/Python/frozen_modules/os.h
index bc511c5f327..e2e3345e03f 100644
--- a/contrib/tools/python3/Python/frozen_modules/os.h
+++ b/contrib/tools/python3/Python/frozen_modules/os.h
@@ -625,7 +625,7 @@ const unsigned char _Py_M__os[] = {
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,
18,171,1,0,0,0,0,0,0,1,0,140,21,4,0,124,
4,114,2,144,2,140,5,144,1,140,9,173,3,119,1,41,
- 6,97,38,11,0,0,68,105,114,101,99,116,111,114,121,32,
+ 6,97,60,11,0,0,68,105,114,101,99,116,111,114,121,32,
116,114,101,101,32,103,101,110,101,114,97,116,111,114,46,10,
10,32,32,32,32,70,111,114,32,101,97,99,104,32,100,105,
114,101,99,116,111,114,121,32,105,110,32,116,104,101,32,100,
@@ -786,1074 +786,1112 @@ const unsigned char _Py_M__os[] = {
106,111,105,110,44,32,103,101,116,115,105,122,101,10,32,32,
32,32,102,111,114,32,114,111,111,116,44,32,100,105,114,115,
44,32,102,105,108,101,115,32,105,110,32,111,115,46,119,97,
- 108,107,40,39,112,121,116,104,111,110,47,76,105,98,47,101,
- 109,97,105,108,39,41,58,10,32,32,32,32,32,32,32,32,
- 112,114,105,110,116,40,114,111,111,116,44,32,34,99,111,110,
- 115,117,109,101,115,32,34,41,10,32,32,32,32,32,32,32,
- 32,112,114,105,110,116,40,115,117,109,40,103,101,116,115,105,
- 122,101,40,106,111,105,110,40,114,111,111,116,44,32,110,97,
- 109,101,41,41,32,102,111,114,32,110,97,109,101,32,105,110,
- 32,102,105,108,101,115,41,44,32,101,110,100,61,34,32,34,
- 41,10,32,32,32,32,32,32,32,32,112,114,105,110,116,40,
- 34,98,121,116,101,115,32,105,110,34,44,32,108,101,110,40,
- 102,105,108,101,115,41,44,32,34,110,111,110,45,100,105,114,
- 101,99,116,111,114,121,32,102,105,108,101,115,34,41,10,32,
- 32,32,32,32,32,32,32,105,102,32,39,67,86,83,39,32,
- 105,110,32,100,105,114,115,58,10,32,32,32,32,32,32,32,
- 32,32,32,32,32,100,105,114,115,46,114,101,109,111,118,101,
- 40,39,67,86,83,39,41,32,32,35,32,100,111,110,39,116,
- 32,118,105,115,105,116,32,67,86,83,32,100,105,114,101,99,
- 116,111,114,105,101,115,10,10,32,32,32,32,122,7,111,115,
- 46,119,97,108,107,78,70,84,169,1,218,15,102,111,108,108,
- 111,119,95,115,121,109,108,105,110,107,115,41,20,218,3,115,
- 121,115,218,5,97,117,100,105,116,218,6,102,115,112,97,116,
- 104,114,12,0,0,0,218,6,105,115,108,105,110,107,218,4,
- 106,111,105,110,218,3,112,111,112,114,115,0,0,0,218,5,
- 116,117,112,108,101,114,86,0,0,0,114,117,0,0,0,218,
- 4,110,101,120,116,218,13,83,116,111,112,73,116,101,114,97,
- 116,105,111,110,218,23,95,119,97,108,107,95,115,121,109,108,
- 105,110,107,115,95,97,115,95,102,105,108,101,115,218,6,105,
- 115,95,100,105,114,218,11,105,115,95,106,117,110,99,116,105,
- 111,110,218,6,97,112,112,101,110,100,114,11,0,0,0,218,
- 10,105,115,95,115,121,109,108,105,110,107,218,8,114,101,118,
- 101,114,115,101,100,41,19,218,3,116,111,112,218,7,116,111,
- 112,100,111,119,110,218,7,111,110,101,114,114,111,114,218,11,
- 102,111,108,108,111,119,108,105,110,107,115,218,5,115,116,97,
- 99,107,114,135,0,0,0,114,136,0,0,0,218,4,100,105,
- 114,115,218,7,110,111,110,100,105,114,115,218,9,119,97,108,
- 107,95,100,105,114,115,218,10,115,99,97,110,100,105,114,95,
- 105,116,218,5,101,114,114,111,114,218,4,99,111,110,116,218,
- 5,101,110,116,114,121,114,142,0,0,0,218,9,119,97,108,
- 107,95,105,110,116,111,114,145,0,0,0,218,7,100,105,114,
- 110,97,109,101,218,8,110,101,119,95,112,97,116,104,115,19,
- 0,0,0,32,32,32,32,32,32,32,32,32,32,32,32,32,
- 32,32,32,32,32,32,114,25,0,0,0,218,4,119,97,108,
- 107,114,162,0,0,0,30,1,0,0,115,85,2,0,0,232,
- 0,248,128,0,244,120,1,0,5,8,135,73,129,73,136,105,
- 152,19,152,103,160,119,176,11,212,4,60,228,13,19,144,67,
- 139,91,136,77,128,69,220,19,23,151,59,145,59,164,4,167,
- 9,161,9,136,68,128,70,217,10,15,216,14,19,143,105,137,
- 105,139,107,136,3,220,11,21,144,99,156,53,212,11,33,216,
- 18,21,138,73,216,12,20,224,15,17,136,4,216,18,20,136,
- 7,216,20,22,136,9,240,14,5,9,21,220,25,32,160,19,
- 155,28,136,74,240,12,0,16,21,136,4,218,13,23,216,18,
- 22,240,2,9,17,26,240,2,3,21,30,220,32,36,160,90,
- 211,32,48,153,5,240,18,8,17,35,216,23,34,212,38,61,
- 209,23,61,216,33,38,167,28,161,28,184,101,160,28,211,33,
- 68,210,33,96,200,85,215,77,94,209,77,94,211,77,96,208,
- 73,96,153,6,224,33,38,167,28,161,28,163,30,152,6,241,
- 12,0,20,26,216,20,24,151,75,145,75,160,5,167,10,161,
- 10,213,20,43,224,20,27,151,78,145,78,160,53,167,58,161,
- 58,212,20,46,225,23,30,161,54,241,6,0,24,35,216,36,
- 40,153,9,240,4,6,25,47,216,41,46,215,41,57,209,41,
- 57,211,41,59,152,74,240,12,0,41,51,160,78,152,9,225,
- 23,32,216,24,33,215,24,40,209,24,40,168,21,175,26,169,
- 26,212,24,52,240,87,1,0,19,23,248,240,49,0,11,16,
- 248,244,34,0,16,23,242,0,3,9,21,216,15,22,208,15,
- 34,217,16,23,152,5,148,14,221,12,20,251,240,7,3,9,
- 21,251,244,22,0,28,41,242,0,1,21,30,217,24,29,240,
- 3,1,21,30,251,228,23,30,242,0,4,17,26,216,23,30,
- 208,23,42,217,24,31,160,5,156,14,216,27,31,144,68,220,
- 20,25,251,240,9,4,17,26,251,244,22,0,24,31,242,0,
- 3,17,35,240,6,0,30,35,146,70,240,7,3,17,35,251,
- 244,36,0,32,39,242,0,4,25,47,240,8,0,42,47,154,
- 74,240,9,4,25,47,250,247,73,1,0,14,24,143,90,137,
- 90,250,241,90,1,0,12,16,217,12,20,225,11,18,224,18,
- 21,144,116,152,87,208,18,36,210,12,36,228,27,35,160,68,
- 158,62,144,7,217,27,31,160,3,160,87,211,27,45,144,8,
- 241,10,0,20,31,161,102,168,88,213,38,54,216,20,25,151,
- 76,145,76,160,24,213,20,42,241,15,0,28,42,240,20,0,
- 13,18,143,76,137,76,152,35,152,116,160,87,208,25,45,212,
- 12,46,228,28,36,160,89,214,28,47,144,8,216,16,21,151,
- 12,145,12,152,88,213,16,38,240,3,0,29,48,243,111,2,
- 0,11,16,251,115,230,0,0,0,130,65,51,73,17,1,193,
- 54,11,69,10,0,194,1,4,73,17,1,194,5,2,71,7,
- 3,194,9,11,69,43,2,194,20,1,71,7,3,194,22,62,
- 70,28,2,195,20,65,2,71,7,3,196,23,16,70,45,2,
- 196,39,33,71,7,3,197,8,2,73,17,1,197,10,9,69,
- 40,3,197,19,10,69,35,3,197,29,6,73,17,1,197,35,
- 5,69,40,3,197,40,3,73,17,1,197,43,9,69,55,5,
- 197,52,1,69,58,2,197,53,1,71,7,3,197,54,1,69,
- 55,5,197,55,3,69,58,2,197,58,9,70,25,5,198,3,
- 12,70,20,5,198,15,5,71,7,3,198,20,5,70,25,5,
- 198,25,3,71,7,3,198,28,11,70,42,5,198,39,2,71,
- 7,3,198,41,1,70,42,5,198,42,3,71,7,3,198,45,
- 11,70,59,5,198,56,2,71,7,3,198,58,1,70,59,5,
- 198,59,3,71,7,3,198,62,9,73,17,1,199,7,5,71,
- 16,7,199,12,53,73,17,1,200,2,65,11,73,17,1,114,
- 162,0,0,0,169,2,114,131,0,0,0,218,6,100,105,114,
- 95,102,100,99,3,0,0,0,0,0,0,0,2,0,0,0,
- 8,0,0,0,35,0,0,0,243,142,1,0,0,75,0,1,
- 0,151,0,116,1,0,0,0,0,0,0,0,0,106,2,0,
+ 108,107,40,39,112,121,116,104,111,110,47,76,105,98,47,120,
+ 109,108,39,41,58,10,32,32,32,32,32,32,32,32,112,114,
+ 105,110,116,40,114,111,111,116,44,32,34,99,111,110,115,117,
+ 109,101,115,32,34,41,10,32,32,32,32,32,32,32,32,112,
+ 114,105,110,116,40,115,117,109,40,103,101,116,115,105,122,101,
+ 40,106,111,105,110,40,114,111,111,116,44,32,110,97,109,101,
+ 41,41,32,102,111,114,32,110,97,109,101,32,105,110,32,102,
+ 105,108,101,115,41,44,32,101,110,100,61,34,32,34,41,10,
+ 32,32,32,32,32,32,32,32,112,114,105,110,116,40,34,98,
+ 121,116,101,115,32,105,110,34,44,32,108,101,110,40,102,105,
+ 108,101,115,41,44,32,34,110,111,110,45,100,105,114,101,99,
+ 116,111,114,121,32,102,105,108,101,115,34,41,10,32,32,32,
+ 32,32,32,32,32,105,102,32,39,95,95,112,121,99,97,99,
+ 104,101,95,95,39,32,105,110,32,100,105,114,115,58,10,32,
+ 32,32,32,32,32,32,32,32,32,32,32,100,105,114,115,46,
+ 114,101,109,111,118,101,40,39,95,95,112,121,99,97,99,104,
+ 101,95,95,39,41,32,32,35,32,100,111,110,39,116,32,118,
+ 105,115,105,116,32,95,95,112,121,99,97,99,104,101,95,95,
+ 32,100,105,114,101,99,116,111,114,105,101,115,10,10,32,32,
+ 32,32,122,7,111,115,46,119,97,108,107,78,70,84,169,1,
+ 218,15,102,111,108,108,111,119,95,115,121,109,108,105,110,107,
+ 115,41,20,218,3,115,121,115,218,5,97,117,100,105,116,218,
+ 6,102,115,112,97,116,104,114,12,0,0,0,218,6,105,115,
+ 108,105,110,107,218,4,106,111,105,110,218,3,112,111,112,114,
+ 115,0,0,0,218,5,116,117,112,108,101,114,86,0,0,0,
+ 114,117,0,0,0,218,4,110,101,120,116,218,13,83,116,111,
+ 112,73,116,101,114,97,116,105,111,110,218,23,95,119,97,108,
+ 107,95,115,121,109,108,105,110,107,115,95,97,115,95,102,105,
+ 108,101,115,218,6,105,115,95,100,105,114,218,11,105,115,95,
+ 106,117,110,99,116,105,111,110,218,6,97,112,112,101,110,100,
+ 114,11,0,0,0,218,10,105,115,95,115,121,109,108,105,110,
+ 107,218,8,114,101,118,101,114,115,101,100,41,19,218,3,116,
+ 111,112,218,7,116,111,112,100,111,119,110,218,7,111,110,101,
+ 114,114,111,114,218,11,102,111,108,108,111,119,108,105,110,107,
+ 115,218,5,115,116,97,99,107,114,135,0,0,0,114,136,0,
+ 0,0,218,4,100,105,114,115,218,7,110,111,110,100,105,114,
+ 115,218,9,119,97,108,107,95,100,105,114,115,218,10,115,99,
+ 97,110,100,105,114,95,105,116,218,5,101,114,114,111,114,218,
+ 4,99,111,110,116,218,5,101,110,116,114,121,114,142,0,0,
+ 0,218,9,119,97,108,107,95,105,110,116,111,114,145,0,0,
+ 0,218,7,100,105,114,110,97,109,101,218,8,110,101,119,95,
+ 112,97,116,104,115,19,0,0,0,32,32,32,32,32,32,32,
+ 32,32,32,32,32,32,32,32,32,32,32,32,114,25,0,0,
+ 0,218,4,119,97,108,107,114,162,0,0,0,30,1,0,0,
+ 115,85,2,0,0,232,0,248,128,0,244,120,1,0,5,8,
+ 135,73,129,73,136,105,152,19,152,103,160,119,176,11,212,4,
+ 60,228,13,19,144,67,139,91,136,77,128,69,220,19,23,151,
+ 59,145,59,164,4,167,9,161,9,136,68,128,70,217,10,15,
+ 216,14,19,143,105,137,105,139,107,136,3,220,11,21,144,99,
+ 156,53,212,11,33,216,18,21,138,73,216,12,20,224,15,17,
+ 136,4,216,18,20,136,7,216,20,22,136,9,240,14,5,9,
+ 21,220,25,32,160,19,155,28,136,74,240,12,0,16,21,136,
+ 4,218,13,23,216,18,22,240,2,9,17,26,240,2,3,21,
+ 30,220,32,36,160,90,211,32,48,153,5,240,18,8,17,35,
+ 216,23,34,212,38,61,209,23,61,216,33,38,167,28,161,28,
+ 184,101,160,28,211,33,68,210,33,96,200,85,215,77,94,209,
+ 77,94,211,77,96,208,73,96,153,6,224,33,38,167,28,161,
+ 28,163,30,152,6,241,12,0,20,26,216,20,24,151,75,145,
+ 75,160,5,167,10,161,10,213,20,43,224,20,27,151,78,145,
+ 78,160,53,167,58,161,58,212,20,46,225,23,30,161,54,241,
+ 6,0,24,35,216,36,40,153,9,240,4,6,25,47,216,41,
+ 46,215,41,57,209,41,57,211,41,59,152,74,240,12,0,41,
+ 51,160,78,152,9,225,23,32,216,24,33,215,24,40,209,24,
+ 40,168,21,175,26,169,26,212,24,52,240,87,1,0,19,23,
+ 248,240,49,0,11,16,248,244,34,0,16,23,242,0,3,9,
+ 21,216,15,22,208,15,34,217,16,23,152,5,148,14,221,12,
+ 20,251,240,7,3,9,21,251,244,22,0,28,41,242,0,1,
+ 21,30,217,24,29,240,3,1,21,30,251,228,23,30,242,0,
+ 4,17,26,216,23,30,208,23,42,217,24,31,160,5,156,14,
+ 216,27,31,144,68,220,20,25,251,240,9,4,17,26,251,244,
+ 22,0,24,31,242,0,3,17,35,240,6,0,30,35,146,70,
+ 240,7,3,17,35,251,244,36,0,32,39,242,0,4,25,47,
+ 240,8,0,42,47,154,74,240,9,4,25,47,250,247,73,1,
+ 0,14,24,143,90,137,90,250,241,90,1,0,12,16,217,12,
+ 20,225,11,18,224,18,21,144,116,152,87,208,18,36,210,12,
+ 36,228,27,35,160,68,158,62,144,7,217,27,31,160,3,160,
+ 87,211,27,45,144,8,241,10,0,20,31,161,102,168,88,213,
+ 38,54,216,20,25,151,76,145,76,160,24,213,20,42,241,15,
+ 0,28,42,240,20,0,13,18,143,76,137,76,152,35,152,116,
+ 160,87,208,25,45,212,12,46,228,28,36,160,89,214,28,47,
+ 144,8,216,16,21,151,12,145,12,152,88,213,16,38,240,3,
+ 0,29,48,243,111,2,0,11,16,251,115,230,0,0,0,130,
+ 65,51,73,17,1,193,54,11,69,10,0,194,1,4,73,17,
+ 1,194,5,2,71,7,3,194,9,11,69,43,2,194,20,1,
+ 71,7,3,194,22,62,70,28,2,195,20,65,2,71,7,3,
+ 196,23,16,70,45,2,196,39,33,71,7,3,197,8,2,73,
+ 17,1,197,10,9,69,40,3,197,19,10,69,35,3,197,29,
+ 6,73,17,1,197,35,5,69,40,3,197,40,3,73,17,1,
+ 197,43,9,69,55,5,197,52,1,69,58,2,197,53,1,71,
+ 7,3,197,54,1,69,55,5,197,55,3,69,58,2,197,58,
+ 9,70,25,5,198,3,12,70,20,5,198,15,5,71,7,3,
+ 198,20,5,70,25,5,198,25,3,71,7,3,198,28,11,70,
+ 42,5,198,39,2,71,7,3,198,41,1,70,42,5,198,42,
+ 3,71,7,3,198,45,11,70,59,5,198,56,2,71,7,3,
+ 198,58,1,70,59,5,198,59,3,71,7,3,198,62,9,73,
+ 17,1,199,7,5,71,16,7,199,12,53,73,17,1,200,2,
+ 65,11,73,17,1,114,162,0,0,0,169,2,114,131,0,0,
+ 0,218,6,100,105,114,95,102,100,99,3,0,0,0,0,0,
+ 0,0,2,0,0,0,8,0,0,0,35,0,0,0,243,142,
+ 1,0,0,75,0,1,0,151,0,116,1,0,0,0,0,0,
+ 0,0,0,106,2,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,100,1,124,0,124,1,124,2,124,
+ 3,124,4,171,6,0,0,0,0,0,0,1,0,116,5,0,
+ 0,0,0,0,0,0,0,124,0,171,1,0,0,0,0,0,
+ 0,125,0,116,6,0,0,0,0,0,0,0,0,100,2,124,
+ 4,124,0,124,0,100,3,102,5,102,2,103,1,125,5,116,
+ 9,0,0,0,0,0,0,0,0,124,0,116,10,0,0,0,
+ 0,0,0,0,0,171,2,0,0,0,0,0,0,125,6,9,
+ 0,124,5,114,26,116,13,0,0,0,0,0,0,0,0,124,
+ 5,124,6,124,1,124,2,124,3,171,5,0,0,0,0,0,
+ 0,69,0,100,3,123,3,0,0,150,3,151,2,134,5,5,
+ 0,1,0,124,5,114,1,140,26,124,5,114,43,124,5,106,
+ 15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,171,0,0,0,0,0,0,0,92,2,0,0,125,
+ 7,125,8,124,7,116,16,0,0,0,0,0,0,0,0,107,
+ 40,0,0,114,11,116,19,0,0,0,0,0,0,0,0,124,
+ 8,171,1,0,0,0,0,0,0,1,0,124,5,114,1,140,
+ 42,121,3,121,3,55,0,140,53,35,0,124,5,114,43,124,
+ 5,106,15,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,171,0,0,0,0,0,0,0,92,2,0,
+ 0,125,7,125,8,124,7,116,16,0,0,0,0,0,0,0,
+ 0,107,40,0,0,114,11,116,19,0,0,0,0,0,0,0,
+ 0,124,8,171,1,0,0,0,0,0,0,1,0,124,5,114,
+ 1,140,42,119,0,119,0,120,3,89,0,119,1,173,3,119,
+ 1,41,4,97,24,5,0,0,68,105,114,101,99,116,111,114,
+ 121,32,116,114,101,101,32,103,101,110,101,114,97,116,111,114,
+ 46,10,10,32,32,32,32,32,32,32,32,84,104,105,115,32,
+ 98,101,104,97,118,101,115,32,101,120,97,99,116,108,121,32,
+ 108,105,107,101,32,119,97,108,107,40,41,44,32,101,120,99,
+ 101,112,116,32,116,104,97,116,32,105,116,32,121,105,101,108,
+ 100,115,32,97,32,52,45,116,117,112,108,101,10,10,32,32,
+ 32,32,32,32,32,32,32,32,32,32,100,105,114,112,97,116,
+ 104,44,32,100,105,114,110,97,109,101,115,44,32,102,105,108,
+ 101,110,97,109,101,115,44,32,100,105,114,102,100,10,10,32,
+ 32,32,32,32,32,32,32,96,100,105,114,112,97,116,104,96,
+ 44,32,96,100,105,114,110,97,109,101,115,96,32,97,110,100,
+ 32,96,102,105,108,101,110,97,109,101,115,96,32,97,114,101,
+ 32,105,100,101,110,116,105,99,97,108,32,116,111,32,119,97,
+ 108,107,40,41,32,111,117,116,112,117,116,44,10,32,32,32,
+ 32,32,32,32,32,97,110,100,32,96,100,105,114,102,100,96,
+ 32,105,115,32,97,32,102,105,108,101,32,100,101,115,99,114,
+ 105,112,116,111,114,32,114,101,102,101,114,114,105,110,103,32,
+ 116,111,32,116,104,101,32,100,105,114,101,99,116,111,114,121,
+ 32,96,100,105,114,112,97,116,104,96,46,10,10,32,32,32,
+ 32,32,32,32,32,84,104,101,32,97,100,118,97,110,116,97,
+ 103,101,32,111,102,32,102,119,97,108,107,40,41,32,111,118,
+ 101,114,32,119,97,108,107,40,41,32,105,115,32,116,104,97,
+ 116,32,105,116,39,115,32,115,97,102,101,32,97,103,97,105,
+ 110,115,116,32,115,121,109,108,105,110,107,10,32,32,32,32,
+ 32,32,32,32,114,97,99,101,115,32,40,119,104,101,110,32,
+ 102,111,108,108,111,119,95,115,121,109,108,105,110,107,115,32,
+ 105,115,32,70,97,108,115,101,41,46,10,10,32,32,32,32,
+ 32,32,32,32,73,102,32,100,105,114,95,102,100,32,105,115,
+ 32,110,111,116,32,78,111,110,101,44,32,105,116,32,115,104,
+ 111,117,108,100,32,98,101,32,97,32,102,105,108,101,32,100,
+ 101,115,99,114,105,112,116,111,114,32,111,112,101,110,32,116,
+ 111,32,97,32,100,105,114,101,99,116,111,114,121,44,10,32,
+ 32,32,32,32,32,32,32,32,32,97,110,100,32,116,111,112,
+ 32,115,104,111,117,108,100,32,98,101,32,114,101,108,97,116,
+ 105,118,101,59,32,116,111,112,32,119,105,108,108,32,116,104,
+ 101,110,32,98,101,32,114,101,108,97,116,105,118,101,32,116,
+ 111,32,116,104,97,116,32,100,105,114,101,99,116,111,114,121,
+ 46,10,32,32,32,32,32,32,32,32,32,32,40,100,105,114,
+ 95,102,100,32,105,115,32,97,108,119,97,121,115,32,115,117,
+ 112,112,111,114,116,101,100,32,102,111,114,32,102,119,97,108,
+ 107,46,41,10,10,32,32,32,32,32,32,32,32,67,97,117,
+ 116,105,111,110,58,10,32,32,32,32,32,32,32,32,83,105,
+ 110,99,101,32,102,119,97,108,107,40,41,32,121,105,101,108,
+ 100,115,32,102,105,108,101,32,100,101,115,99,114,105,112,116,
+ 111,114,115,44,32,116,104,111,115,101,32,97,114,101,32,111,
+ 110,108,121,32,118,97,108,105,100,32,117,110,116,105,108,32,
+ 116,104,101,10,32,32,32,32,32,32,32,32,110,101,120,116,
+ 32,105,116,101,114,97,116,105,111,110,32,115,116,101,112,44,
+ 32,115,111,32,121,111,117,32,115,104,111,117,108,100,32,100,
+ 117,112,40,41,32,116,104,101,109,32,105,102,32,121,111,117,
+ 32,119,97,110,116,32,116,111,32,107,101,101,112,32,116,104,
+ 101,109,10,32,32,32,32,32,32,32,32,102,111,114,32,97,
+ 32,108,111,110,103,101,114,32,112,101,114,105,111,100,46,10,
+ 10,32,32,32,32,32,32,32,32,69,120,97,109,112,108,101,
+ 58,10,10,32,32,32,32,32,32,32,32,105,109,112,111,114,
+ 116,32,111,115,10,32,32,32,32,32,32,32,32,102,111,114,
+ 32,114,111,111,116,44,32,100,105,114,115,44,32,102,105,108,
+ 101,115,44,32,114,111,111,116,102,100,32,105,110,32,111,115,
+ 46,102,119,97,108,107,40,39,112,121,116,104,111,110,47,76,
+ 105,98,47,120,109,108,39,41,58,10,32,32,32,32,32,32,
+ 32,32,32,32,32,32,112,114,105,110,116,40,114,111,111,116,
+ 44,32,34,99,111,110,115,117,109,101,115,34,44,32,101,110,
+ 100,61,34,34,41,10,32,32,32,32,32,32,32,32,32,32,
+ 32,32,112,114,105,110,116,40,115,117,109,40,111,115,46,115,
+ 116,97,116,40,110,97,109,101,44,32,100,105,114,95,102,100,
+ 61,114,111,111,116,102,100,41,46,115,116,95,115,105,122,101,
+ 32,102,111,114,32,110,97,109,101,32,105,110,32,102,105,108,
+ 101,115,41,44,10,32,32,32,32,32,32,32,32,32,32,32,
+ 32,32,32,32,32,32,32,101,110,100,61,34,34,41,10,32,
+ 32,32,32,32,32,32,32,32,32,32,32,112,114,105,110,116,
+ 40,34,98,121,116,101,115,32,105,110,34,44,32,108,101,110,
+ 40,102,105,108,101,115,41,44,32,34,110,111,110,45,100,105,
+ 114,101,99,116,111,114,121,32,102,105,108,101,115,34,41,10,
+ 32,32,32,32,32,32,32,32,32,32,32,32,105,102,32,39,
+ 95,95,112,121,99,97,99,104,101,95,95,39,32,105,110,32,
+ 100,105,114,115,58,10,32,32,32,32,32,32,32,32,32,32,
+ 32,32,32,32,32,32,100,105,114,115,46,114,101,109,111,118,
+ 101,40,39,95,95,112,121,99,97,99,104,101,95,95,39,41,
+ 32,32,35,32,100,111,110,39,116,32,118,105,115,105,116,32,
+ 95,95,112,121,99,97,99,104,101,95,95,32,100,105,114,101,
+ 99,116,111,114,105,101,115,10,32,32,32,32,32,32,32,32,
+ 122,8,111,115,46,102,119,97,108,107,84,78,41,10,114,132,
+ 0,0,0,114,133,0,0,0,114,134,0,0,0,218,11,95,
+ 102,119,97,108,107,95,119,97,108,107,114,115,0,0,0,114,
+ 116,0,0,0,218,6,95,102,119,97,108,107,114,137,0,0,
+ 0,218,12,95,102,119,97,108,107,95,99,108,111,115,101,218,
+ 5,99,108,111,115,101,41,9,114,147,0,0,0,114,148,0,
+ 0,0,114,149,0,0,0,114,131,0,0,0,114,164,0,0,
+ 0,114,151,0,0,0,218,7,105,115,98,121,116,101,115,218,
+ 6,97,99,116,105,111,110,218,5,118,97,108,117,101,115,9,
+ 0,0,0,32,32,32,32,32,32,32,32,32,114,25,0,0,
+ 0,218,5,102,119,97,108,107,114,173,0,0,0,188,1,0,
+ 0,115,198,0,0,0,232,0,248,128,0,244,66,1,0,9,
+ 12,143,9,137,9,144,42,152,99,160,55,168,71,176,95,192,
+ 102,212,8,77,220,14,20,144,83,139,107,136,3,220,18,29,
+ 160,4,160,102,168,99,176,51,184,4,208,31,61,208,17,62,
+ 208,16,63,136,5,220,18,28,152,83,164,37,211,18,40,136,
+ 7,240,2,8,9,33,217,18,23,220,27,33,160,37,168,23,
+ 176,39,184,55,192,79,211,27,84,215,16,84,208,16,84,242,
+ 3,0,19,24,241,8,0,19,24,216,32,37,167,9,161,9,
+ 163,11,145,13,144,6,152,5,216,19,25,156,92,210,19,41,
+ 220,20,25,152,37,148,76,244,7,0,19,24,240,7,0,17,
+ 85,1,249,241,6,0,19,24,216,32,37,167,9,161,9,163,
+ 11,145,13,144,6,152,5,216,19,25,156,92,210,19,41,220,
+ 20,25,152,37,148,76,244,7,0,19,24,252,115,60,0,0,
+ 0,130,65,4,67,5,1,193,7,20,66,19,0,193,27,1,
+ 66,17,4,193,28,6,66,19,0,193,35,43,67,5,1,194,
+ 15,2,67,5,1,194,17,1,66,19,0,194,19,44,67,2,
+ 3,195,0,2,67,2,3,195,2,3,67,5,1,99,5,0,
+ 0,0,0,0,0,0,0,0,0,0,10,0,0,0,35,0,
+ 0,0,243,196,4,0,0,135,18,135,19,75,0,1,0,151,
+ 0,124,0,106,1,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,171,0,0,0,0,0,0,0,92,
+ 2,0,0,125,5,125,6,124,5,116,2,0,0,0,0,0,
+ 0,0,0,107,40,0,0,114,12,116,5,0,0,0,0,0,
+ 0,0,0,124,6,171,1,0,0,0,0,0,0,1,0,121,
+ 0,124,5,116,6,0,0,0,0,0,0,0,0,107,40,0,
+ 0,114,5,124,6,150,1,151,1,1,0,121,0,124,5,116,
+ 8,0,0,0,0,0,0,0,0,107,40,0,0,115,2,74,
+ 0,130,1,124,6,92,5,0,0,125,7,125,8,138,19,125,
+ 9,125,10,9,0,124,4,115,35,124,10,128,15,116,11,0,
+ 0,0,0,0,0,0,0,124,9,100,1,124,8,172,2,171,
+ 3,0,0,0,0,0,0,125,11,110,18,124,10,106,11,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,100,1,124,0,124,1,124,2,124,3,124,4,171,6,0,
- 0,0,0,0,0,1,0,116,5,0,0,0,0,0,0,0,
- 0,124,0,171,1,0,0,0,0,0,0,125,0,116,6,0,
- 0,0,0,0,0,0,0,100,2,124,4,124,0,124,0,100,
- 3,102,5,102,2,103,1,125,5,116,9,0,0,0,0,0,
- 0,0,0,124,0,116,10,0,0,0,0,0,0,0,0,171,
- 2,0,0,0,0,0,0,125,6,9,0,124,5,114,26,116,
- 13,0,0,0,0,0,0,0,0,124,5,124,6,124,1,124,
- 2,124,3,171,5,0,0,0,0,0,0,69,0,100,3,123,
- 3,0,0,150,3,151,2,134,5,5,0,1,0,124,5,114,
- 1,140,26,124,5,114,43,124,5,106,15,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,171,0,0,
- 0,0,0,0,0,92,2,0,0,125,7,125,8,124,7,116,
- 16,0,0,0,0,0,0,0,0,107,40,0,0,114,11,116,
- 19,0,0,0,0,0,0,0,0,124,8,171,1,0,0,0,
- 0,0,0,1,0,124,5,114,1,140,42,121,3,121,3,55,
- 0,140,53,35,0,124,5,114,43,124,5,106,15,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,
- 0,0,0,0,0,0,0,92,2,0,0,125,7,125,8,124,
- 7,116,16,0,0,0,0,0,0,0,0,107,40,0,0,114,
- 11,116,19,0,0,0,0,0,0,0,0,124,8,171,1,0,
- 0,0,0,0,0,1,0,124,5,114,1,140,42,119,0,119,
- 0,120,3,89,0,119,1,173,3,119,1,41,4,97,2,5,
- 0,0,68,105,114,101,99,116,111,114,121,32,116,114,101,101,
- 32,103,101,110,101,114,97,116,111,114,46,10,10,32,32,32,
- 32,32,32,32,32,84,104,105,115,32,98,101,104,97,118,101,
- 115,32,101,120,97,99,116,108,121,32,108,105,107,101,32,119,
- 97,108,107,40,41,44,32,101,120,99,101,112,116,32,116,104,
- 97,116,32,105,116,32,121,105,101,108,100,115,32,97,32,52,
- 45,116,117,112,108,101,10,10,32,32,32,32,32,32,32,32,
- 32,32,32,32,100,105,114,112,97,116,104,44,32,100,105,114,
- 110,97,109,101,115,44,32,102,105,108,101,110,97,109,101,115,
- 44,32,100,105,114,102,100,10,10,32,32,32,32,32,32,32,
- 32,96,100,105,114,112,97,116,104,96,44,32,96,100,105,114,
- 110,97,109,101,115,96,32,97,110,100,32,96,102,105,108,101,
- 110,97,109,101,115,96,32,97,114,101,32,105,100,101,110,116,
- 105,99,97,108,32,116,111,32,119,97,108,107,40,41,32,111,
- 117,116,112,117,116,44,10,32,32,32,32,32,32,32,32,97,
- 110,100,32,96,100,105,114,102,100,96,32,105,115,32,97,32,
- 102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,
- 114,101,102,101,114,114,105,110,103,32,116,111,32,116,104,101,
- 32,100,105,114,101,99,116,111,114,121,32,96,100,105,114,112,
- 97,116,104,96,46,10,10,32,32,32,32,32,32,32,32,84,
- 104,101,32,97,100,118,97,110,116,97,103,101,32,111,102,32,
- 102,119,97,108,107,40,41,32,111,118,101,114,32,119,97,108,
- 107,40,41,32,105,115,32,116,104,97,116,32,105,116,39,115,
- 32,115,97,102,101,32,97,103,97,105,110,115,116,32,115,121,
- 109,108,105,110,107,10,32,32,32,32,32,32,32,32,114,97,
- 99,101,115,32,40,119,104,101,110,32,102,111,108,108,111,119,
- 95,115,121,109,108,105,110,107,115,32,105,115,32,70,97,108,
- 115,101,41,46,10,10,32,32,32,32,32,32,32,32,73,102,
- 32,100,105,114,95,102,100,32,105,115,32,110,111,116,32,78,
- 111,110,101,44,32,105,116,32,115,104,111,117,108,100,32,98,
- 101,32,97,32,102,105,108,101,32,100,101,115,99,114,105,112,
- 116,111,114,32,111,112,101,110,32,116,111,32,97,32,100,105,
- 114,101,99,116,111,114,121,44,10,32,32,32,32,32,32,32,
- 32,32,32,97,110,100,32,116,111,112,32,115,104,111,117,108,
- 100,32,98,101,32,114,101,108,97,116,105,118,101,59,32,116,
- 111,112,32,119,105,108,108,32,116,104,101,110,32,98,101,32,
- 114,101,108,97,116,105,118,101,32,116,111,32,116,104,97,116,
- 32,100,105,114,101,99,116,111,114,121,46,10,32,32,32,32,
- 32,32,32,32,32,32,40,100,105,114,95,102,100,32,105,115,
- 32,97,108,119,97,121,115,32,115,117,112,112,111,114,116,101,
- 100,32,102,111,114,32,102,119,97,108,107,46,41,10,10,32,
- 32,32,32,32,32,32,32,67,97,117,116,105,111,110,58,10,
- 32,32,32,32,32,32,32,32,83,105,110,99,101,32,102,119,
- 97,108,107,40,41,32,121,105,101,108,100,115,32,102,105,108,
- 101,32,100,101,115,99,114,105,112,116,111,114,115,44,32,116,
- 104,111,115,101,32,97,114,101,32,111,110,108,121,32,118,97,
- 108,105,100,32,117,110,116,105,108,32,116,104,101,10,32,32,
- 32,32,32,32,32,32,110,101,120,116,32,105,116,101,114,97,
- 116,105,111,110,32,115,116,101,112,44,32,115,111,32,121,111,
- 117,32,115,104,111,117,108,100,32,100,117,112,40,41,32,116,
- 104,101,109,32,105,102,32,121,111,117,32,119,97,110,116,32,
- 116,111,32,107,101,101,112,32,116,104,101,109,10,32,32,32,
- 32,32,32,32,32,102,111,114,32,97,32,108,111,110,103,101,
- 114,32,112,101,114,105,111,100,46,10,10,32,32,32,32,32,
- 32,32,32,69,120,97,109,112,108,101,58,10,10,32,32,32,
- 32,32,32,32,32,105,109,112,111,114,116,32,111,115,10,32,
- 32,32,32,32,32,32,32,102,111,114,32,114,111,111,116,44,
- 32,100,105,114,115,44,32,102,105,108,101,115,44,32,114,111,
- 111,116,102,100,32,105,110,32,111,115,46,102,119,97,108,107,
- 40,39,112,121,116,104,111,110,47,76,105,98,47,101,109,97,
- 105,108,39,41,58,10,32,32,32,32,32,32,32,32,32,32,
- 32,32,112,114,105,110,116,40,114,111,111,116,44,32,34,99,
- 111,110,115,117,109,101,115,34,44,32,101,110,100,61,34,34,
- 41,10,32,32,32,32,32,32,32,32,32,32,32,32,112,114,
- 105,110,116,40,115,117,109,40,111,115,46,115,116,97,116,40,
- 110,97,109,101,44,32,100,105,114,95,102,100,61,114,111,111,
- 116,102,100,41,46,115,116,95,115,105,122,101,32,102,111,114,
- 32,110,97,109,101,32,105,110,32,102,105,108,101,115,41,44,
- 10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,
- 32,32,32,101,110,100,61,34,34,41,10,32,32,32,32,32,
- 32,32,32,32,32,32,32,112,114,105,110,116,40,34,98,121,
- 116,101,115,32,105,110,34,44,32,108,101,110,40,102,105,108,
- 101,115,41,44,32,34,110,111,110,45,100,105,114,101,99,116,
- 111,114,121,32,102,105,108,101,115,34,41,10,32,32,32,32,
- 32,32,32,32,32,32,32,32,105,102,32,39,67,86,83,39,
- 32,105,110,32,100,105,114,115,58,10,32,32,32,32,32,32,
- 32,32,32,32,32,32,32,32,32,32,100,105,114,115,46,114,
- 101,109,111,118,101,40,39,67,86,83,39,41,32,32,35,32,
- 100,111,110,39,116,32,118,105,115,105,116,32,67,86,83,32,
- 100,105,114,101,99,116,111,114,105,101,115,10,32,32,32,32,
- 32,32,32,32,122,8,111,115,46,102,119,97,108,107,84,78,
- 41,10,114,132,0,0,0,114,133,0,0,0,114,134,0,0,
- 0,218,11,95,102,119,97,108,107,95,119,97,108,107,114,115,
- 0,0,0,114,116,0,0,0,218,6,95,102,119,97,108,107,
- 114,137,0,0,0,218,12,95,102,119,97,108,107,95,99,108,
- 111,115,101,218,5,99,108,111,115,101,41,9,114,147,0,0,
- 0,114,148,0,0,0,114,149,0,0,0,114,131,0,0,0,
- 114,164,0,0,0,114,151,0,0,0,218,7,105,115,98,121,
- 116,101,115,218,6,97,99,116,105,111,110,218,5,118,97,108,
- 117,101,115,9,0,0,0,32,32,32,32,32,32,32,32,32,
- 114,25,0,0,0,218,5,102,119,97,108,107,114,173,0,0,
- 0,188,1,0,0,115,198,0,0,0,232,0,248,128,0,244,
- 66,1,0,9,12,143,9,137,9,144,42,152,99,160,55,168,
- 71,176,95,192,102,212,8,77,220,14,20,144,83,139,107,136,
- 3,220,18,29,160,4,160,102,168,99,176,51,184,4,208,31,
- 61,208,17,62,208,16,63,136,5,220,18,28,152,83,164,37,
- 211,18,40,136,7,240,2,8,9,33,217,18,23,220,27,33,
- 160,37,168,23,176,39,184,55,192,79,211,27,84,215,16,84,
- 208,16,84,242,3,0,19,24,241,8,0,19,24,216,32,37,
- 167,9,161,9,163,11,145,13,144,6,152,5,216,19,25,156,
- 92,210,19,41,220,20,25,152,37,148,76,244,7,0,19,24,
- 240,7,0,17,85,1,249,241,6,0,19,24,216,32,37,167,
- 9,161,9,163,11,145,13,144,6,152,5,216,19,25,156,92,
- 210,19,41,220,20,25,152,37,148,76,244,7,0,19,24,252,
- 115,60,0,0,0,130,65,4,67,5,1,193,7,20,66,19,
- 0,193,27,1,66,17,4,193,28,6,66,19,0,193,35,43,
- 67,5,1,194,15,2,67,5,1,194,17,1,66,19,0,194,
- 19,44,67,2,3,195,0,2,67,2,3,195,2,3,67,5,
- 1,99,5,0,0,0,0,0,0,0,0,0,0,0,10,0,
- 0,0,35,0,0,0,243,196,4,0,0,135,18,135,19,75,
- 0,1,0,151,0,124,0,106,1,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,171,0,0,0,0,
- 0,0,0,92,2,0,0,125,5,125,6,124,5,116,2,0,
- 0,0,0,0,0,0,0,107,40,0,0,114,12,116,5,0,
- 0,0,0,0,0,0,0,124,6,171,1,0,0,0,0,0,
- 0,1,0,121,0,124,5,116,6,0,0,0,0,0,0,0,
- 0,107,40,0,0,114,5,124,6,150,1,151,1,1,0,121,
- 0,124,5,116,8,0,0,0,0,0,0,0,0,107,40,0,
- 0,115,2,74,0,130,1,124,6,92,5,0,0,125,7,125,
- 8,138,19,125,9,125,10,9,0,124,4,115,35,124,10,128,
- 15,116,11,0,0,0,0,0,0,0,0,124,9,100,1,124,
- 8,172,2,171,3,0,0,0,0,0,0,125,11,110,18,124,
- 10,106,11,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,100,1,172,3,171,1,0,0,0,0,0,
- 0,125,11,116,13,0,0,0,0,0,0,0,0,124,9,116,
- 14,0,0,0,0,0,0,0,0,116,16,0,0,0,0,0,
- 0,0,0,122,7,0,0,124,8,172,4,171,3,0,0,0,
- 0,0,0,138,18,124,0,106,21,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,116,2,0,0,0,
- 0,0,0,0,0,137,18,102,2,171,1,0,0,0,0,0,
- 0,1,0,124,4,115,66,124,7,114,32,116,23,0,0,0,
- 0,0,0,0,0,106,24,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,127,11,106,26,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,
- 1,0,0,0,0,0,0,115,1,121,0,116,29,0,0,0,
- 0,0,0,0,0,106,30,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,127,11,116,11,0,0,0,
- 0,0,0,0,0,137,18,171,1,0,0,0,0,0,0,171,
- 2,0,0,0,0,0,0,115,1,121,0,116,33,0,0,0,
- 0,0,0,0,0,137,18,171,1,0,0,0,0,0,0,125,
- 13,103,0,125,14,103,0,125,15,124,2,115,2,124,4,114,
- 2,100,0,110,1,103,0,125,16,124,13,68,0,93,98,0,
- 0,125,10,124,10,106,34,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,125,17,124,1,114,11,116,
- 37,0,0,0,0,0,0,0,0,124,17,171,1,0,0,0,
- 0,0,0,125,17,9,0,124,10,106,39,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,171,0,0,
- 0,0,0,0,0,114,37,124,14,106,21,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,124,17,171,
- 1,0,0,0,0,0,0,1,0,124,16,129,35,124,16,106,
- 21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,124,10,171,1,0,0,0,0,0,0,1,0,110,
- 17,124,15,106,21,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,124,17,171,1,0,0,0,0,0,
- 0,1,0,140,100,4,0,124,2,114,9,137,19,124,14,124,
- 15,137,18,102,4,150,1,151,1,1,0,110,27,124,0,106,
+ 0,100,1,172,3,171,1,0,0,0,0,0,0,125,11,116,
+ 13,0,0,0,0,0,0,0,0,124,9,116,14,0,0,0,
+ 0,0,0,0,0,116,16,0,0,0,0,0,0,0,0,122,
+ 7,0,0,124,8,172,4,171,3,0,0,0,0,0,0,138,
+ 18,124,0,106,21,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,116,2,0,0,0,0,0,0,0,
+ 0,137,18,102,2,171,1,0,0,0,0,0,0,1,0,124,
+ 4,115,66,124,7,114,32,116,23,0,0,0,0,0,0,0,
+ 0,106,24,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,127,11,106,26,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,171,1,0,0,0,
+ 0,0,0,115,1,121,0,116,29,0,0,0,0,0,0,0,
+ 0,106,30,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,127,11,116,11,0,0,0,0,0,0,0,
+ 0,137,18,171,1,0,0,0,0,0,0,171,2,0,0,0,
+ 0,0,0,115,1,121,0,116,33,0,0,0,0,0,0,0,
+ 0,137,18,171,1,0,0,0,0,0,0,125,13,103,0,125,
+ 14,103,0,125,15,124,2,115,2,124,4,114,2,100,0,110,
+ 1,103,0,125,16,124,13,68,0,93,98,0,0,125,10,124,
+ 10,106,34,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,125,17,124,1,114,11,116,37,0,0,0,
+ 0,0,0,0,0,124,17,171,1,0,0,0,0,0,0,125,
+ 17,9,0,124,10,106,39,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,171,0,0,0,0,0,0,
+ 0,114,37,124,14,106,21,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,124,17,171,1,0,0,0,
+ 0,0,0,1,0,124,16,129,35,124,16,106,21,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,
+ 10,171,1,0,0,0,0,0,0,1,0,110,17,124,15,106,
21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,116,6,0,0,0,0,0,0,0,0,137,19,124,
- 14,124,15,137,18,102,4,102,2,171,1,0,0,0,0,0,
- 0,1,0,116,29,0,0,0,0,0,0,0,0,106,42,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,137,19,137,19,100,0,100,5,26,0,171,2,0,0,0,
- 0,0,0,138,19,124,16,128,34,124,0,106,45,0,0,0,
+ 0,0,0,124,17,171,1,0,0,0,0,0,0,1,0,140,
+ 100,4,0,124,2,114,9,137,19,124,14,124,15,137,18,102,
+ 4,150,1,151,1,1,0,110,27,124,0,106,21,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,
+ 6,0,0,0,0,0,0,0,0,137,19,124,14,124,15,137,
+ 18,102,4,102,2,171,1,0,0,0,0,0,0,1,0,116,
+ 29,0,0,0,0,0,0,0,0,106,42,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,137,19,137,
+ 19,100,0,100,5,26,0,171,2,0,0,0,0,0,0,138,
+ 19,124,16,128,34,124,0,106,45,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,136,18,136,19,102,
+ 2,100,6,132,8,124,14,100,0,100,0,100,7,133,3,25,
+ 0,0,0,68,0,171,0,0,0,0,0,0,0,171,1,0,
+ 0,0,0,0,0,1,0,121,0,124,0,106,45,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,
- 18,136,19,102,2,100,6,132,8,124,14,100,0,100,0,100,
- 7,133,3,25,0,0,0,68,0,171,0,0,0,0,0,0,
- 0,171,1,0,0,0,0,0,0,1,0,121,0,124,0,106,
- 45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,136,18,136,19,102,2,100,8,132,8,116,47,0,
- 0,0,0,0,0,0,0,124,14,100,0,100,0,100,7,133,
- 3,25,0,0,0,124,16,100,0,100,0,100,7,133,3,25,
- 0,0,0,171,2,0,0,0,0,0,0,68,0,171,0,0,
- 0,0,0,0,0,171,1,0,0,0,0,0,0,1,0,121,
- 0,35,0,116,18,0,0,0,0,0,0,0,0,36,0,114,
- 23,125,12,124,7,114,1,130,0,124,3,129,8,2,0,124,
- 3,124,12,171,1,0,0,0,0,0,0,1,0,89,0,100,
- 0,125,12,126,12,121,0,100,0,125,12,126,12,119,1,119,
- 0,120,3,89,0,119,1,35,0,116,18,0,0,0,0,0,
- 0,0,0,36,0,114,54,1,0,9,0,124,10,106,41,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,171,0,0,0,0,0,0,0,114,17,124,15,106,21,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,124,17,171,1,0,0,0,0,0,0,1,0,110,15,35,
- 0,116,18,0,0,0,0,0,0,0,0,36,0,114,3,1,
- 0,89,0,110,4,119,0,120,3,89,0,119,1,89,0,144,
- 1,140,91,119,0,120,3,89,0,119,1,173,3,119,1,41,
- 9,78,70,114,163,0,0,0,114,130,0,0,0,41,1,114,
- 164,0,0,0,114,2,0,0,0,99,1,0,0,0,0,0,
- 0,0,0,0,0,0,7,0,0,0,51,0,0,0,243,62,
- 0,0,0,149,2,75,0,1,0,151,0,124,0,93,20,0,
- 0,125,1,116,0,0,0,0,0,0,0,0,0,100,0,137,
- 2,137,3,124,1,122,0,0,0,124,1,100,1,102,5,102,
- 2,150,1,151,1,1,0,140,22,4,0,121,1,173,3,119,
- 1,169,2,70,78,169,1,114,166,0,0,0,41,4,218,2,
- 46,48,114,11,0,0,0,218,5,116,111,112,102,100,218,7,
- 116,111,112,112,97,116,104,115,4,0,0,0,32,32,128,128,
- 114,25,0,0,0,218,9,60,103,101,110,101,120,112,114,62,
- 122,25,95,102,119,97,108,107,46,60,108,111,99,97,108,115,
- 62,46,60,103,101,110,101,120,112,114,62,50,2,0,0,115,
- 45,0,0,0,248,232,0,248,128,0,240,0,2,25,40,225,
- 28,38,144,68,244,3,0,18,29,152,117,160,101,168,87,176,
- 116,169,94,184,84,192,52,208,30,72,212,16,73,217,28,38,
- 249,115,4,0,0,0,131,26,29,1,233,255,255,255,255,99,
- 1,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,
- 51,0,0,0,243,68,0,0,0,149,2,75,0,1,0,151,
- 0,124,0,93,23,0,0,92,2,0,0,125,1,125,2,116,
- 0,0,0,0,0,0,0,0,0,100,0,137,3,137,4,124,
- 1,122,0,0,0,124,1,124,2,102,5,102,2,150,1,151,
- 1,1,0,140,25,4,0,121,1,173,3,119,1,114,176,0,
- 0,0,114,177,0,0,0,41,5,114,178,0,0,0,114,11,
- 0,0,0,114,158,0,0,0,114,179,0,0,0,114,180,0,
- 0,0,115,5,0,0,0,32,32,32,128,128,114,25,0,0,
- 0,114,181,0,0,0,122,25,95,102,119,97,108,107,46,60,
- 108,111,99,97,108,115,62,46,60,103,101,110,101,120,112,114,
- 62,54,2,0,0,115,50,0,0,0,248,232,0,248,128,0,
- 240,0,2,25,67,1,225,35,65,145,75,144,68,152,37,244,
- 3,0,18,29,152,117,160,101,168,87,176,116,169,94,184,84,
- 192,53,208,30,73,212,16,74,217,35,65,249,115,4,0,0,
- 0,131,29,32,1,41,24,114,137,0,0,0,114,168,0,0,
- 0,114,169,0,0,0,218,12,95,102,119,97,108,107,95,121,
- 105,101,108,100,114,166,0,0,0,114,57,0,0,0,114,69,
- 0,0,0,218,8,79,95,82,68,79,78,76,89,218,10,79,
- 95,78,79,78,66,76,79,67,75,114,117,0,0,0,114,144,
- 0,0,0,218,2,115,116,218,7,83,95,73,83,68,73,82,
- 218,7,115,116,95,109,111,100,101,114,12,0,0,0,218,8,
- 115,97,109,101,115,116,97,116,114,86,0,0,0,114,11,0,
- 0,0,114,17,0,0,0,114,142,0,0,0,114,145,0,0,
- 0,114,136,0,0,0,218,6,101,120,116,101,110,100,218,3,
- 122,105,112,41,20,114,151,0,0,0,114,170,0,0,0,114,
- 148,0,0,0,114,149,0,0,0,114,131,0,0,0,114,171,
- 0,0,0,114,172,0,0,0,218,6,105,115,114,111,111,116,
- 218,5,100,105,114,102,100,218,7,116,111,112,110,97,109,101,
- 114,158,0,0,0,218,7,111,114,105,103,95,115,116,218,3,
- 101,114,114,114,155,0,0,0,114,152,0,0,0,114,153,0,
- 0,0,218,7,101,110,116,114,105,101,115,114,11,0,0,0,
- 114,179,0,0,0,114,180,0,0,0,115,20,0,0,0,32,
- 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,
- 32,64,64,114,25,0,0,0,114,167,0,0,0,114,167,0,
- 0,0,240,1,0,0,115,84,2,0,0,249,232,0,248,128,
- 0,240,10,0,25,30,159,9,153,9,155,11,137,13,136,6,
- 144,5,216,11,17,148,92,210,11,33,220,12,17,144,37,140,
- 76,216,12,18,216,13,19,148,124,210,13,35,216,18,23,138,
- 75,216,12,18,216,15,21,156,27,210,15,36,208,8,36,208,
- 15,36,216,49,54,209,8,46,136,6,144,5,144,119,160,7,
- 168,21,240,2,14,9,19,217,19,34,240,6,0,20,25,144,
- 61,220,30,34,160,55,184,69,200,37,212,30,80,145,71,224,
- 30,35,159,106,153,106,184,21,152,106,211,30,63,144,71,220,
- 20,24,152,23,164,40,172,90,209,34,55,192,5,212,20,70,
- 136,69,240,14,0,9,14,143,12,137,12,148,108,160,69,208,
- 21,42,212,8,43,217,15,30,217,15,21,156,98,159,106,153,
- 106,168,23,175,31,169,31,212,30,57,216,16,22,220,19,23,
- 151,61,145,61,160,23,172,36,168,117,171,43,212,19,54,216,
- 16,22,228,21,28,152,85,147,94,136,10,216,15,17,136,4,
- 216,18,20,136,7,217,26,33,161,95,145,36,184,34,136,7,
- 219,21,31,136,69,216,19,24,151,58,145,58,136,68,217,15,
- 22,220,23,31,160,4,147,126,144,4,240,2,13,13,25,216,
- 19,24,151,60,145,60,148,62,216,20,24,151,75,145,75,160,
- 4,212,20,37,216,23,30,208,23,42,216,24,31,159,14,153,
- 14,160,117,213,24,45,224,20,27,151,78,145,78,160,52,212,
- 20,40,248,240,21,0,22,32,241,38,0,12,19,216,18,25,
- 152,52,160,23,168,37,208,18,47,211,12,47,224,12,17,143,
- 76,137,76,156,44,168,23,176,36,184,7,192,21,208,40,71,
- 208,25,72,212,12,73,228,18,22,151,41,145,41,152,71,160,
- 87,168,82,168,97,160,91,211,18,49,136,7,216,11,18,136,
- 63,216,12,17,143,76,137,76,244,0,2,25,40,224,28,32,
- 161,20,160,50,160,20,154,74,243,5,2,25,40,245,0,2,
- 13,40,240,8,0,13,18,143,76,137,76,244,0,2,25,67,
- 1,228,35,38,160,116,169,68,168,98,168,68,161,122,176,55,
- 185,52,184,82,184,52,177,61,212,35,65,243,5,2,25,67,
- 1,245,0,2,13,67,1,248,244,95,1,0,16,23,242,0,
- 5,9,19,217,15,21,216,16,21,216,15,22,208,15,34,217,
- 16,23,152,3,148,12,220,12,18,251,240,11,5,9,19,251,
- 244,56,0,20,27,242,0,6,13,25,240,2,5,17,25,224,
- 23,28,215,23,39,209,23,39,212,23,41,216,24,31,159,14,
- 153,14,160,116,212,24,44,249,220,23,30,242,0,1,17,25,
- 217,20,24,240,3,1,17,25,253,240,11,6,13,25,252,115,
- 123,0,0,0,132,65,10,73,32,1,193,15,62,71,59,0,
- 194,13,66,16,73,32,1,196,30,65,6,72,30,2,197,36,
- 66,23,73,32,1,199,59,9,72,27,3,200,4,13,72,22,
- 3,200,17,5,73,32,1,200,22,5,72,27,3,200,27,3,
- 73,32,1,200,30,9,73,29,5,200,40,33,73,10,4,201,
- 9,1,73,29,5,201,10,9,73,22,7,201,19,2,73,29,
- 5,201,21,1,73,22,7,201,22,3,73,29,5,201,25,3,
- 73,32,1,201,28,1,73,29,5,201,29,3,73,32,1,114,
- 173,0,0,0,99,1,0,0,0,0,0,0,0,0,0,0,
- 0,4,0,0,0,7,0,0,0,243,28,0,0,0,151,0,
- 116,1,0,0,0,0,0,0,0,0,124,0,124,1,171,2,
- 0,0,0,0,0,0,1,0,121,1,41,2,122,112,101,120,
- 101,99,108,40,102,105,108,101,44,32,42,97,114,103,115,41,
- 10,10,32,32,32,32,69,120,101,99,117,116,101,32,116,104,
- 101,32,101,120,101,99,117,116,97,98,108,101,32,102,105,108,
- 101,32,119,105,116,104,32,97,114,103,117,109,101,110,116,32,
- 108,105,115,116,32,97,114,103,115,44,32,114,101,112,108,97,
- 99,105,110,103,32,116,104,101,10,32,32,32,32,99,117,114,
- 114,101,110,116,32,112,114,111,99,101,115,115,46,32,78,41,
- 1,218,5,101,120,101,99,118,169,2,218,4,102,105,108,101,
- 218,4,97,114,103,115,115,2,0,0,0,32,32,114,25,0,
- 0,0,218,5,101,120,101,99,108,114,204,0,0,0,60,2,
- 0,0,115,14,0,0,0,128,0,244,10,0,5,10,136,36,
- 144,4,213,4,21,114,27,0,0,0,99,1,0,0,0,0,
- 0,0,0,0,0,0,0,6,0,0,0,7,0,0,0,243,
- 46,0,0,0,151,0,124,1,100,1,25,0,0,0,125,2,
- 116,1,0,0,0,0,0,0,0,0,124,0,124,1,100,2,
- 100,1,26,0,124,2,171,3,0,0,0,0,0,0,1,0,
- 121,2,41,3,122,138,101,120,101,99,108,101,40,102,105,108,
- 101,44,32,42,97,114,103,115,44,32,101,110,118,41,10,10,
+ 18,136,19,102,2,100,8,132,8,116,47,0,0,0,0,0,
+ 0,0,0,124,14,100,0,100,0,100,7,133,3,25,0,0,
+ 0,124,16,100,0,100,0,100,7,133,3,25,0,0,0,171,
+ 2,0,0,0,0,0,0,68,0,171,0,0,0,0,0,0,
+ 0,171,1,0,0,0,0,0,0,1,0,121,0,35,0,116,
+ 18,0,0,0,0,0,0,0,0,36,0,114,23,125,12,124,
+ 7,114,1,130,0,124,3,129,8,2,0,124,3,124,12,171,
+ 1,0,0,0,0,0,0,1,0,89,0,100,0,125,12,126,
+ 12,121,0,100,0,125,12,126,12,119,1,119,0,120,3,89,
+ 0,119,1,35,0,116,18,0,0,0,0,0,0,0,0,36,
+ 0,114,54,1,0,9,0,124,10,106,41,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,171,0,0,
+ 0,0,0,0,0,114,17,124,15,106,21,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,124,17,171,
+ 1,0,0,0,0,0,0,1,0,110,15,35,0,116,18,0,
+ 0,0,0,0,0,0,0,36,0,114,3,1,0,89,0,110,
+ 4,119,0,120,3,89,0,119,1,89,0,144,1,140,91,119,
+ 0,120,3,89,0,119,1,173,3,119,1,41,9,78,70,114,
+ 163,0,0,0,114,130,0,0,0,41,1,114,164,0,0,0,
+ 114,2,0,0,0,99,1,0,0,0,0,0,0,0,0,0,
+ 0,0,7,0,0,0,51,0,0,0,243,62,0,0,0,149,
+ 2,75,0,1,0,151,0,124,0,93,20,0,0,125,1,116,
+ 0,0,0,0,0,0,0,0,0,100,0,137,2,137,3,124,
+ 1,122,0,0,0,124,1,100,1,102,5,102,2,150,1,151,
+ 1,1,0,140,22,4,0,121,1,173,3,119,1,169,2,70,
+ 78,169,1,114,166,0,0,0,41,4,218,2,46,48,114,11,
+ 0,0,0,218,5,116,111,112,102,100,218,7,116,111,112,112,
+ 97,116,104,115,4,0,0,0,32,32,128,128,114,25,0,0,
+ 0,218,9,60,103,101,110,101,120,112,114,62,122,25,95,102,
+ 119,97,108,107,46,60,108,111,99,97,108,115,62,46,60,103,
+ 101,110,101,120,112,114,62,50,2,0,0,115,45,0,0,0,
+ 248,232,0,248,128,0,240,0,2,25,40,225,28,38,144,68,
+ 244,3,0,18,29,152,117,160,101,168,87,176,116,169,94,184,
+ 84,192,52,208,30,72,212,16,73,217,28,38,249,115,4,0,
+ 0,0,131,26,29,1,233,255,255,255,255,99,1,0,0,0,
+ 0,0,0,0,0,0,0,0,7,0,0,0,51,0,0,0,
+ 243,68,0,0,0,149,2,75,0,1,0,151,0,124,0,93,
+ 23,0,0,92,2,0,0,125,1,125,2,116,0,0,0,0,
+ 0,0,0,0,0,100,0,137,3,137,4,124,1,122,0,0,
+ 0,124,1,124,2,102,5,102,2,150,1,151,1,1,0,140,
+ 25,4,0,121,1,173,3,119,1,114,176,0,0,0,114,177,
+ 0,0,0,41,5,114,178,0,0,0,114,11,0,0,0,114,
+ 158,0,0,0,114,179,0,0,0,114,180,0,0,0,115,5,
+ 0,0,0,32,32,32,128,128,114,25,0,0,0,114,181,0,
+ 0,0,122,25,95,102,119,97,108,107,46,60,108,111,99,97,
+ 108,115,62,46,60,103,101,110,101,120,112,114,62,54,2,0,
+ 0,115,50,0,0,0,248,232,0,248,128,0,240,0,2,25,
+ 67,1,225,35,65,145,75,144,68,152,37,244,3,0,18,29,
+ 152,117,160,101,168,87,176,116,169,94,184,84,192,53,208,30,
+ 73,212,16,74,217,35,65,249,115,4,0,0,0,131,29,32,
+ 1,41,24,114,137,0,0,0,114,168,0,0,0,114,169,0,
+ 0,0,218,12,95,102,119,97,108,107,95,121,105,101,108,100,
+ 114,166,0,0,0,114,57,0,0,0,114,69,0,0,0,218,
+ 8,79,95,82,68,79,78,76,89,218,10,79,95,78,79,78,
+ 66,76,79,67,75,114,117,0,0,0,114,144,0,0,0,218,
+ 2,115,116,218,7,83,95,73,83,68,73,82,218,7,115,116,
+ 95,109,111,100,101,114,12,0,0,0,218,8,115,97,109,101,
+ 115,116,97,116,114,86,0,0,0,114,11,0,0,0,114,17,
+ 0,0,0,114,142,0,0,0,114,145,0,0,0,114,136,0,
+ 0,0,218,6,101,120,116,101,110,100,218,3,122,105,112,41,
+ 20,114,151,0,0,0,114,170,0,0,0,114,148,0,0,0,
+ 114,149,0,0,0,114,131,0,0,0,114,171,0,0,0,114,
+ 172,0,0,0,218,6,105,115,114,111,111,116,218,5,100,105,
+ 114,102,100,218,7,116,111,112,110,97,109,101,114,158,0,0,
+ 0,218,7,111,114,105,103,95,115,116,218,3,101,114,114,114,
+ 155,0,0,0,114,152,0,0,0,114,153,0,0,0,218,7,
+ 101,110,116,114,105,101,115,114,11,0,0,0,114,179,0,0,
+ 0,114,180,0,0,0,115,20,0,0,0,32,32,32,32,32,
+ 32,32,32,32,32,32,32,32,32,32,32,32,32,64,64,114,
+ 25,0,0,0,114,167,0,0,0,114,167,0,0,0,240,1,
+ 0,0,115,84,2,0,0,249,232,0,248,128,0,240,10,0,
+ 25,30,159,9,153,9,155,11,137,13,136,6,144,5,216,11,
+ 17,148,92,210,11,33,220,12,17,144,37,140,76,216,12,18,
+ 216,13,19,148,124,210,13,35,216,18,23,138,75,216,12,18,
+ 216,15,21,156,27,210,15,36,208,8,36,208,15,36,216,49,
+ 54,209,8,46,136,6,144,5,144,119,160,7,168,21,240,2,
+ 14,9,19,217,19,34,240,6,0,20,25,144,61,220,30,34,
+ 160,55,184,69,200,37,212,30,80,145,71,224,30,35,159,106,
+ 153,106,184,21,152,106,211,30,63,144,71,220,20,24,152,23,
+ 164,40,172,90,209,34,55,192,5,212,20,70,136,69,240,14,
+ 0,9,14,143,12,137,12,148,108,160,69,208,21,42,212,8,
+ 43,217,15,30,217,15,21,156,98,159,106,153,106,168,23,175,
+ 31,169,31,212,30,57,216,16,22,220,19,23,151,61,145,61,
+ 160,23,172,36,168,117,171,43,212,19,54,216,16,22,228,21,
+ 28,152,85,147,94,136,10,216,15,17,136,4,216,18,20,136,
+ 7,217,26,33,161,95,145,36,184,34,136,7,219,21,31,136,
+ 69,216,19,24,151,58,145,58,136,68,217,15,22,220,23,31,
+ 160,4,147,126,144,4,240,2,13,13,25,216,19,24,151,60,
+ 145,60,148,62,216,20,24,151,75,145,75,160,4,212,20,37,
+ 216,23,30,208,23,42,216,24,31,159,14,153,14,160,117,213,
+ 24,45,224,20,27,151,78,145,78,160,52,212,20,40,248,240,
+ 21,0,22,32,241,38,0,12,19,216,18,25,152,52,160,23,
+ 168,37,208,18,47,211,12,47,224,12,17,143,76,137,76,156,
+ 44,168,23,176,36,184,7,192,21,208,40,71,208,25,72,212,
+ 12,73,228,18,22,151,41,145,41,152,71,160,87,168,82,168,
+ 97,160,91,211,18,49,136,7,216,11,18,136,63,216,12,17,
+ 143,76,137,76,244,0,2,25,40,224,28,32,161,20,160,50,
+ 160,20,154,74,243,5,2,25,40,245,0,2,13,40,240,8,
+ 0,13,18,143,76,137,76,244,0,2,25,67,1,228,35,38,
+ 160,116,169,68,168,98,168,68,161,122,176,55,185,52,184,82,
+ 184,52,177,61,212,35,65,243,5,2,25,67,1,245,0,2,
+ 13,67,1,248,244,95,1,0,16,23,242,0,5,9,19,217,
+ 15,21,216,16,21,216,15,22,208,15,34,217,16,23,152,3,
+ 148,12,220,12,18,251,240,11,5,9,19,251,244,56,0,20,
+ 27,242,0,6,13,25,240,2,5,17,25,224,23,28,215,23,
+ 39,209,23,39,212,23,41,216,24,31,159,14,153,14,160,116,
+ 212,24,44,249,220,23,30,242,0,1,17,25,217,20,24,240,
+ 3,1,17,25,253,240,11,6,13,25,252,115,123,0,0,0,
+ 132,65,10,73,32,1,193,15,62,71,59,0,194,13,66,16,
+ 73,32,1,196,30,65,6,72,30,2,197,36,66,23,73,32,
+ 1,199,59,9,72,27,3,200,4,13,72,22,3,200,17,5,
+ 73,32,1,200,22,5,72,27,3,200,27,3,73,32,1,200,
+ 30,9,73,29,5,200,40,33,73,10,4,201,9,1,73,29,
+ 5,201,10,9,73,22,7,201,19,2,73,29,5,201,21,1,
+ 73,22,7,201,22,3,73,29,5,201,25,3,73,32,1,201,
+ 28,1,73,29,5,201,29,3,73,32,1,114,173,0,0,0,
+ 99,1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,
+ 0,7,0,0,0,243,28,0,0,0,151,0,116,1,0,0,
+ 0,0,0,0,0,0,124,0,124,1,171,2,0,0,0,0,
+ 0,0,1,0,121,1,41,2,122,112,101,120,101,99,108,40,
+ 102,105,108,101,44,32,42,97,114,103,115,41,10,10,32,32,
+ 32,32,69,120,101,99,117,116,101,32,116,104,101,32,101,120,
+ 101,99,117,116,97,98,108,101,32,102,105,108,101,32,119,105,
+ 116,104,32,97,114,103,117,109,101,110,116,32,108,105,115,116,
+ 32,97,114,103,115,44,32,114,101,112,108,97,99,105,110,103,
+ 32,116,104,101,10,32,32,32,32,99,117,114,114,101,110,116,
+ 32,112,114,111,99,101,115,115,46,32,78,41,1,218,5,101,
+ 120,101,99,118,169,2,218,4,102,105,108,101,218,4,97,114,
+ 103,115,115,2,0,0,0,32,32,114,25,0,0,0,218,5,
+ 101,120,101,99,108,114,204,0,0,0,60,2,0,0,115,14,
+ 0,0,0,128,0,244,10,0,5,10,136,36,144,4,213,4,
+ 21,114,27,0,0,0,99,1,0,0,0,0,0,0,0,0,
+ 0,0,0,6,0,0,0,7,0,0,0,243,46,0,0,0,
+ 151,0,124,1,100,1,25,0,0,0,125,2,116,1,0,0,
+ 0,0,0,0,0,0,124,0,124,1,100,2,100,1,26,0,
+ 124,2,171,3,0,0,0,0,0,0,1,0,121,2,41,3,
+ 122,138,101,120,101,99,108,101,40,102,105,108,101,44,32,42,
+ 97,114,103,115,44,32,101,110,118,41,10,10,32,32,32,32,
+ 69,120,101,99,117,116,101,32,116,104,101,32,101,120,101,99,
+ 117,116,97,98,108,101,32,102,105,108,101,32,119,105,116,104,
+ 32,97,114,103,117,109,101,110,116,32,108,105,115,116,32,97,
+ 114,103,115,32,97,110,100,10,32,32,32,32,101,110,118,105,
+ 114,111,110,109,101,110,116,32,101,110,118,44,32,114,101,112,
+ 108,97,99,105,110,103,32,116,104,101,32,99,117,114,114,101,
+ 110,116,32,112,114,111,99,101,115,115,46,32,114,182,0,0,
+ 0,78,41,1,114,88,0,0,0,169,3,114,202,0,0,0,
+ 114,203,0,0,0,218,3,101,110,118,115,3,0,0,0,32,
+ 32,32,114,25,0,0,0,218,6,101,120,101,99,108,101,114,
+ 208,0,0,0,67,2,0,0,115,31,0,0,0,128,0,240,
+ 10,0,11,15,136,114,137,40,128,67,220,4,10,136,52,144,
+ 20,144,99,144,114,144,25,152,67,213,4,32,114,27,0,0,
+ 0,99,1,0,0,0,0,0,0,0,0,0,0,0,4,0,
+ 0,0,7,0,0,0,243,28,0,0,0,151,0,116,1,0,
+ 0,0,0,0,0,0,0,124,0,124,1,171,2,0,0,0,
+ 0,0,0,1,0,121,1,41,2,122,149,101,120,101,99,108,
+ 112,40,102,105,108,101,44,32,42,97,114,103,115,41,10,10,
32,32,32,32,69,120,101,99,117,116,101,32,116,104,101,32,
101,120,101,99,117,116,97,98,108,101,32,102,105,108,101,32,
- 119,105,116,104,32,97,114,103,117,109,101,110,116,32,108,105,
- 115,116,32,97,114,103,115,32,97,110,100,10,32,32,32,32,
- 101,110,118,105,114,111,110,109,101,110,116,32,101,110,118,44,
+ 40,119,104,105,99,104,32,105,115,32,115,101,97,114,99,104,
+ 101,100,32,102,111,114,32,97,108,111,110,103,32,36,80,65,
+ 84,72,41,10,32,32,32,32,119,105,116,104,32,97,114,103,
+ 117,109,101,110,116,32,108,105,115,116,32,97,114,103,115,44,
32,114,101,112,108,97,99,105,110,103,32,116,104,101,32,99,
117,114,114,101,110,116,32,112,114,111,99,101,115,115,46,32,
- 114,182,0,0,0,78,41,1,114,88,0,0,0,169,3,114,
- 202,0,0,0,114,203,0,0,0,218,3,101,110,118,115,3,
- 0,0,0,32,32,32,114,25,0,0,0,218,6,101,120,101,
- 99,108,101,114,208,0,0,0,67,2,0,0,115,31,0,0,
- 0,128,0,240,10,0,11,15,136,114,137,40,128,67,220,4,
- 10,136,52,144,20,144,99,144,114,144,25,152,67,213,4,32,
+ 78,41,1,218,6,101,120,101,99,118,112,114,201,0,0,0,
+ 115,2,0,0,0,32,32,114,25,0,0,0,218,6,101,120,
+ 101,99,108,112,114,211,0,0,0,75,2,0,0,115,14,0,
+ 0,0,128,0,244,10,0,5,11,136,52,144,20,213,4,22,
114,27,0,0,0,99,1,0,0,0,0,0,0,0,0,0,
- 0,0,4,0,0,0,7,0,0,0,243,28,0,0,0,151,
- 0,116,1,0,0,0,0,0,0,0,0,124,0,124,1,171,
- 2,0,0,0,0,0,0,1,0,121,1,41,2,122,149,101,
- 120,101,99,108,112,40,102,105,108,101,44,32,42,97,114,103,
- 115,41,10,10,32,32,32,32,69,120,101,99,117,116,101,32,
- 116,104,101,32,101,120,101,99,117,116,97,98,108,101,32,102,
- 105,108,101,32,40,119,104,105,99,104,32,105,115,32,115,101,
- 97,114,99,104,101,100,32,102,111,114,32,97,108,111,110,103,
- 32,36,80,65,84,72,41,10,32,32,32,32,119,105,116,104,
- 32,97,114,103,117,109,101,110,116,32,108,105,115,116,32,97,
- 114,103,115,44,32,114,101,112,108,97,99,105,110,103,32,116,
- 104,101,32,99,117,114,114,101,110,116,32,112,114,111,99,101,
- 115,115,46,32,78,41,1,218,6,101,120,101,99,118,112,114,
- 201,0,0,0,115,2,0,0,0,32,32,114,25,0,0,0,
- 218,6,101,120,101,99,108,112,114,211,0,0,0,75,2,0,
- 0,115,14,0,0,0,128,0,244,10,0,5,11,136,52,144,
- 20,213,4,22,114,27,0,0,0,99,1,0,0,0,0,0,
- 0,0,0,0,0,0,6,0,0,0,7,0,0,0,243,46,
- 0,0,0,151,0,124,1,100,1,25,0,0,0,125,2,116,
- 1,0,0,0,0,0,0,0,0,124,0,124,1,100,2,100,
- 1,26,0,124,2,171,3,0,0,0,0,0,0,1,0,121,
- 2,41,3,122,179,101,120,101,99,108,112,101,40,102,105,108,
- 101,44,32,42,97,114,103,115,44,32,101,110,118,41,10,10,
+ 0,0,6,0,0,0,7,0,0,0,243,46,0,0,0,151,
+ 0,124,1,100,1,25,0,0,0,125,2,116,1,0,0,0,
+ 0,0,0,0,0,124,0,124,1,100,2,100,1,26,0,124,
+ 2,171,3,0,0,0,0,0,0,1,0,121,2,41,3,122,
+ 179,101,120,101,99,108,112,101,40,102,105,108,101,44,32,42,
+ 97,114,103,115,44,32,101,110,118,41,10,10,32,32,32,32,
+ 69,120,101,99,117,116,101,32,116,104,101,32,101,120,101,99,
+ 117,116,97,98,108,101,32,102,105,108,101,32,40,119,104,105,
+ 99,104,32,105,115,32,115,101,97,114,99,104,101,100,32,102,
+ 111,114,32,97,108,111,110,103,32,36,80,65,84,72,41,10,
+ 32,32,32,32,119,105,116,104,32,97,114,103,117,109,101,110,
+ 116,32,108,105,115,116,32,97,114,103,115,32,97,110,100,32,
+ 101,110,118,105,114,111,110,109,101,110,116,32,101,110,118,44,
+ 32,114,101,112,108,97,99,105,110,103,32,116,104,101,32,99,
+ 117,114,114,101,110,116,10,32,32,32,32,112,114,111,99,101,
+ 115,115,46,32,114,182,0,0,0,78,41,1,218,7,101,120,
+ 101,99,118,112,101,114,206,0,0,0,115,3,0,0,0,32,
+ 32,32,114,25,0,0,0,218,7,101,120,101,99,108,112,101,
+ 114,214,0,0,0,82,2,0,0,115,31,0,0,0,128,0,
+ 240,12,0,11,15,136,114,137,40,128,67,220,4,11,136,68,
+ 144,36,144,115,152,2,144,41,152,83,213,4,33,114,27,0,
+ 0,0,99,2,0,0,0,0,0,0,0,0,0,0,0,4,
+ 0,0,0,3,0,0,0,243,28,0,0,0,151,0,116,1,
+ 0,0,0,0,0,0,0,0,124,0,124,1,171,2,0,0,
+ 0,0,0,0,1,0,121,1,41,2,122,192,101,120,101,99,
+ 118,112,40,102,105,108,101,44,32,97,114,103,115,41,10,10,
32,32,32,32,69,120,101,99,117,116,101,32,116,104,101,32,
101,120,101,99,117,116,97,98,108,101,32,102,105,108,101,32,
40,119,104,105,99,104,32,105,115,32,115,101,97,114,99,104,
101,100,32,102,111,114,32,97,108,111,110,103,32,36,80,65,
84,72,41,10,32,32,32,32,119,105,116,104,32,97,114,103,
- 117,109,101,110,116,32,108,105,115,116,32,97,114,103,115,32,
- 97,110,100,32,101,110,118,105,114,111,110,109,101,110,116,32,
- 101,110,118,44,32,114,101,112,108,97,99,105,110,103,32,116,
- 104,101,32,99,117,114,114,101,110,116,10,32,32,32,32,112,
- 114,111,99,101,115,115,46,32,114,182,0,0,0,78,41,1,
- 218,7,101,120,101,99,118,112,101,114,206,0,0,0,115,3,
- 0,0,0,32,32,32,114,25,0,0,0,218,7,101,120,101,
- 99,108,112,101,114,214,0,0,0,82,2,0,0,115,31,0,
- 0,0,128,0,240,12,0,11,15,136,114,137,40,128,67,220,
- 4,11,136,68,144,36,144,115,152,2,144,41,152,83,213,4,
- 33,114,27,0,0,0,99,2,0,0,0,0,0,0,0,0,
- 0,0,0,4,0,0,0,3,0,0,0,243,28,0,0,0,
- 151,0,116,1,0,0,0,0,0,0,0,0,124,0,124,1,
- 171,2,0,0,0,0,0,0,1,0,121,1,41,2,122,192,
- 101,120,101,99,118,112,40,102,105,108,101,44,32,97,114,103,
- 115,41,10,10,32,32,32,32,69,120,101,99,117,116,101,32,
- 116,104,101,32,101,120,101,99,117,116,97,98,108,101,32,102,
- 105,108,101,32,40,119,104,105,99,104,32,105,115,32,115,101,
- 97,114,99,104,101,100,32,102,111,114,32,97,108,111,110,103,
- 32,36,80,65,84,72,41,10,32,32,32,32,119,105,116,104,
- 32,97,114,103,117,109,101,110,116,32,108,105,115,116,32,97,
- 114,103,115,44,32,114,101,112,108,97,99,105,110,103,32,116,
- 104,101,32,99,117,114,114,101,110,116,32,112,114,111,99,101,
- 115,115,46,10,32,32,32,32,97,114,103,115,32,109,97,121,
- 32,98,101,32,97,32,108,105,115,116,32,111,114,32,116,117,
- 112,108,101,32,111,102,32,115,116,114,105,110,103,115,46,32,
- 78,169,1,218,8,95,101,120,101,99,118,112,101,114,201,0,
- 0,0,115,2,0,0,0,32,32,114,25,0,0,0,114,210,
- 0,0,0,114,210,0,0,0,91,2,0,0,115,14,0,0,
- 0,128,0,244,12,0,5,13,136,84,144,52,213,4,24,114,
- 27,0,0,0,99,3,0,0,0,0,0,0,0,0,0,0,
- 0,5,0,0,0,3,0,0,0,243,30,0,0,0,151,0,
- 116,1,0,0,0,0,0,0,0,0,124,0,124,1,124,2,
- 171,3,0,0,0,0,0,0,1,0,121,1,41,2,122,222,
- 101,120,101,99,118,112,101,40,102,105,108,101,44,32,97,114,
- 103,115,44,32,101,110,118,41,10,10,32,32,32,32,69,120,
- 101,99,117,116,101,32,116,104,101,32,101,120,101,99,117,116,
- 97,98,108,101,32,102,105,108,101,32,40,119,104,105,99,104,
- 32,105,115,32,115,101,97,114,99,104,101,100,32,102,111,114,
- 32,97,108,111,110,103,32,36,80,65,84,72,41,10,32,32,
- 32,32,119,105,116,104,32,97,114,103,117,109,101,110,116,32,
- 108,105,115,116,32,97,114,103,115,32,97,110,100,32,101,110,
- 118,105,114,111,110,109,101,110,116,32,101,110,118,44,32,114,
- 101,112,108,97,99,105,110,103,32,116,104,101,10,32,32,32,
- 32,99,117,114,114,101,110,116,32,112,114,111,99,101,115,115,
- 46,10,32,32,32,32,97,114,103,115,32,109,97,121,32,98,
- 101,32,97,32,108,105,115,116,32,111,114,32,116,117,112,108,
- 101,32,111,102,32,115,116,114,105,110,103,115,46,32,78,114,
- 216,0,0,0,114,206,0,0,0,115,3,0,0,0,32,32,
- 32,114,25,0,0,0,114,213,0,0,0,114,213,0,0,0,
- 99,2,0,0,115,16,0,0,0,128,0,244,14,0,5,13,
- 136,84,144,52,152,19,213,4,29,114,27,0,0,0,41,6,
- 114,204,0,0,0,114,208,0,0,0,114,211,0,0,0,114,
- 214,0,0,0,114,210,0,0,0,114,213,0,0,0,99,3,
- 0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,3,
- 0,0,0,243,158,1,0,0,151,0,124,2,129,11,116,0,
- 0,0,0,0,0,0,0,0,125,3,124,1,124,2,102,2,
- 125,4,110,15,116,2,0,0,0,0,0,0,0,0,125,3,
- 124,1,102,1,125,4,116,4,0,0,0,0,0,0,0,0,
- 125,2,116,7,0,0,0,0,0,0,0,0,106,8,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 124,0,171,1,0,0,0,0,0,0,114,10,2,0,124,3,
- 124,0,103,1,124,4,162,1,173,6,142,0,1,0,121,0,
- 100,0,125,5,116,11,0,0,0,0,0,0,0,0,124,2,
- 171,1,0,0,0,0,0,0,125,6,116,12,0,0,0,0,
- 0,0,0,0,100,1,107,55,0,0,114,27,116,15,0,0,
- 0,0,0,0,0,0,124,0,171,1,0,0,0,0,0,0,
- 125,0,116,17,0,0,0,0,0,0,0,0,116,14,0,0,
- 0,0,0,0,0,0,124,6,171,2,0,0,0,0,0,0,
- 125,6,124,6,68,0,93,34,0,0,125,7,116,7,0,0,
- 0,0,0,0,0,0,106,18,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,124,7,124,0,171,2,
- 0,0,0,0,0,0,125,8,9,0,2,0,124,3,124,8,
- 103,1,124,4,162,1,173,6,142,0,1,0,140,36,4,0,
- 124,5,129,2,124,5,130,1,127,10,130,1,35,0,116,20,
- 0,0,0,0,0,0,0,0,116,22,0,0,0,0,0,0,
- 0,0,102,2,36,0,114,12,125,9,124,9,125,10,89,0,
- 100,0,125,9,126,9,140,65,100,0,125,9,126,9,119,1,
- 116,24,0,0,0,0,0,0,0,0,36,0,114,16,125,9,
- 124,9,125,10,124,5,128,2,124,9,125,5,89,0,100,0,
- 125,9,126,9,140,88,100,0,125,9,126,9,119,1,119,0,
- 120,3,89,0,119,1,41,2,78,114,42,0,0,0,41,13,
- 114,88,0,0,0,114,200,0,0,0,218,7,101,110,118,105,
- 114,111,110,114,12,0,0,0,114,160,0,0,0,114,19,0,
- 0,0,114,11,0,0,0,114,17,0,0,0,218,3,109,97,
- 112,114,136,0,0,0,218,17,70,105,108,101,78,111,116,70,
- 111,117,110,100,69,114,114,111,114,218,18,78,111,116,65,68,
- 105,114,101,99,116,111,114,121,69,114,114,111,114,114,117,0,
- 0,0,41,11,114,202,0,0,0,114,203,0,0,0,114,207,
- 0,0,0,218,9,101,120,101,99,95,102,117,110,99,218,7,
- 97,114,103,114,101,115,116,218,9,115,97,118,101,100,95,101,
- 120,99,218,9,112,97,116,104,95,108,105,115,116,114,33,0,
- 0,0,218,8,102,117,108,108,110,97,109,101,218,1,101,218,
- 8,108,97,115,116,95,101,120,99,115,11,0,0,0,32,32,
- 32,32,32,32,32,32,32,32,32,114,25,0,0,0,114,217,
- 0,0,0,114,217,0,0,0,110,2,0,0,115,226,0,0,
- 0,128,0,216,7,10,128,127,220,20,26,136,9,216,19,23,
- 152,19,144,43,137,7,228,20,25,136,9,216,19,23,144,39,
- 136,7,220,14,21,136,3,228,7,11,135,124,129,124,144,68,
- 212,7,25,217,8,17,144,36,208,8,33,152,23,211,8,33,
- 216,8,14,216,16,20,128,73,220,16,29,152,99,211,16,34,
- 128,73,220,7,11,136,116,130,124,220,15,23,152,4,139,126,
- 136,4,220,20,23,156,8,160,41,211,20,44,136,9,219,15,
- 24,136,3,220,19,23,151,57,145,57,152,83,160,36,211,19,
- 39,136,8,240,2,7,9,30,217,12,21,144,104,208,12,41,
- 160,23,212,12,41,240,7,0,16,25,240,20,0,8,17,208,
- 7,28,216,14,23,136,15,216,10,18,128,78,248,244,17,0,
- 17,34,212,35,53,208,15,54,242,0,1,9,25,216,23,24,
- 141,72,251,220,15,22,242,0,3,9,30,216,23,24,136,72,
- 216,15,24,208,15,32,216,28,29,144,9,255,248,240,7,3,
- 9,30,250,115,36,0,0,0,194,9,9,66,26,2,194,26,
- 15,67,12,5,194,41,2,66,48,5,194,48,12,67,12,5,
- 194,60,6,67,7,5,195,7,5,67,12,5,99,1,0,0,
- 0,0,0,0,0,0,0,0,0,6,0,0,0,3,0,0,
- 0,243,170,1,0,0,151,0,100,1,100,2,108,0,125,1,
- 124,0,128,6,116,2,0,0,0,0,0,0,0,0,125,0,
- 124,1,106,5,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,171,0,0,0,0,0,0,0,53,0,
- 1,0,124,1,106,7,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,100,3,116,8,0,0,0,0,
- 0,0,0,0,171,2,0,0,0,0,0,0,1,0,9,0,
- 124,0,106,11,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,100,4,171,1,0,0,0,0,0,0,
- 125,2,116,14,0,0,0,0,0,0,0,0,114,50,9,0,
- 124,0,100,5,25,0,0,0,125,3,124,2,129,11,116,17,
- 0,0,0,0,0,0,0,0,100,6,171,1,0,0,0,0,
- 0,0,130,1,124,3,125,2,124,2,129,27,116,21,0,0,
- 0,0,0,0,0,0,124,2,116,22,0,0,0,0,0,0,
- 0,0,171,2,0,0,0,0,0,0,114,11,116,25,0,0,
- 0,0,0,0,0,0,124,2,171,1,0,0,0,0,0,0,
- 125,2,100,2,100,2,100,2,171,2,0,0,0,0,0,0,
- 1,0,127,2,128,6,116,26,0,0,0,0,0,0,0,0,
- 125,2,124,2,106,29,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,116,30,0,0,0,0,0,0,
- 0,0,171,1,0,0,0,0,0,0,83,0,35,0,116,12,
- 0,0,0,0,0,0,0,0,36,0,114,5,1,0,100,2,
- 125,2,89,0,140,106,119,0,120,3,89,0,119,1,35,0,
- 116,18,0,0,0,0,0,0,0,0,116,12,0,0,0,0,
- 0,0,0,0,102,2,36,0,114,3,1,0,89,0,140,100,
- 119,0,120,3,89,0,119,1,35,0,49,0,115,1,119,2,
- 1,0,89,0,1,0,1,0,140,76,120,3,89,0,119,1,
- 41,7,122,243,82,101,116,117,114,110,115,32,116,104,101,32,
- 115,101,113,117,101,110,99,101,32,111,102,32,100,105,114,101,
- 99,116,111,114,105,101,115,32,116,104,97,116,32,119,105,108,
- 108,32,98,101,32,115,101,97,114,99,104,101,100,32,102,111,
- 114,32,116,104,101,10,32,32,32,32,110,97,109,101,100,32,
- 101,120,101,99,117,116,97,98,108,101,32,40,115,105,109,105,
- 108,97,114,32,116,111,32,97,32,115,104,101,108,108,41,32,
- 119,104,101,110,32,108,97,117,110,99,104,105,110,103,32,97,
- 32,112,114,111,99,101,115,115,46,10,10,32,32,32,32,42,
- 101,110,118,42,32,109,117,115,116,32,98,101,32,97,110,32,
- 101,110,118,105,114,111,110,109,101,110,116,32,118,97,114,105,
- 97,98,108,101,32,100,105,99,116,32,111,114,32,78,111,110,
- 101,46,32,32,73,102,32,42,101,110,118,42,32,105,115,32,
- 78,111,110,101,44,10,32,32,32,32,111,115,46,101,110,118,
- 105,114,111,110,32,119,105,108,108,32,98,101,32,117,115,101,
- 100,46,10,32,32,32,32,114,2,0,0,0,78,218,6,105,
- 103,110,111,114,101,218,4,80,65,84,72,115,4,0,0,0,
- 80,65,84,72,122,42,101,110,118,32,99,97,110,110,111,116,
- 32,99,111,110,116,97,105,110,32,39,80,65,84,72,39,32,
- 97,110,100,32,98,39,80,65,84,72,39,32,107,101,121,115,
- 41,16,218,8,119,97,114,110,105,110,103,115,114,220,0,0,
- 0,218,14,99,97,116,99,104,95,119,97,114,110,105,110,103,
- 115,218,12,115,105,109,112,108,101,102,105,108,116,101,114,218,
- 12,66,121,116,101,115,87,97,114,110,105,110,103,218,3,103,
- 101,116,218,9,84,121,112,101,69,114,114,111,114,218,22,115,
- 117,112,112,111,114,116,115,95,98,121,116,101,115,95,101,110,
- 118,105,114,111,110,218,10,86,97,108,117,101,69,114,114,111,
- 114,218,8,75,101,121,69,114,114,111,114,114,115,0,0,0,
- 114,116,0,0,0,114,18,0,0,0,114,10,0,0,0,114,
- 111,0,0,0,114,8,0,0,0,41,4,114,207,0,0,0,
- 114,234,0,0,0,114,227,0,0,0,218,10,112,97,116,104,
- 95,108,105,115,116,98,115,4,0,0,0,32,32,32,32,114,
- 25,0,0,0,114,19,0,0,0,114,19,0,0,0,142,2,
- 0,0,115,228,0,0,0,128,0,243,20,0,5,20,224,7,
- 10,128,123,220,14,21,136,3,240,8,0,10,18,215,9,32,
- 209,9,32,213,9,34,216,8,16,215,8,29,209,8,29,152,
- 104,172,12,212,8,53,240,4,3,9,29,216,24,27,159,7,
- 153,7,160,6,155,15,136,73,245,8,0,12,34,240,2,8,
- 13,39,216,29,32,160,23,153,92,144,10,240,8,0,20,29,
- 208,19,40,220,26,36,216,24,68,243,3,1,27,70,1,240,
- 0,1,21,70,1,224,28,38,144,9,224,15,24,208,15,36,
- 172,26,176,73,188,117,212,41,69,220,28,36,160,89,211,28,
- 47,144,9,247,41,0,10,35,240,44,0,8,17,208,7,24,
- 220,20,27,136,9,216,11,20,143,63,137,63,156,55,211,11,
- 35,208,4,35,248,244,39,0,16,25,242,0,1,9,29,216,
- 24,28,138,73,240,3,1,9,29,251,244,12,0,21,29,156,
- 105,208,19,40,242,0,1,13,21,217,16,20,240,3,1,13,
- 21,250,247,23,0,10,35,208,9,34,250,115,82,0,0,0,
- 157,23,67,9,3,181,17,66,35,2,193,6,6,67,9,3,
- 193,13,5,66,52,2,193,18,44,67,9,3,194,35,11,66,
- 49,5,194,46,2,67,9,3,194,48,1,66,49,5,194,49,
- 3,67,9,3,194,52,15,67,6,5,195,3,2,67,9,3,
- 195,5,1,67,6,5,195,6,3,67,9,3,195,9,5,67,
- 18,7,41,2,218,14,77,117,116,97,98,108,101,77,97,112,
- 112,105,110,103,218,7,77,97,112,112,105,110,103,99,0,0,
- 0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,
- 0,0,243,84,0,0,0,151,0,101,0,90,1,100,0,90,
- 2,100,1,132,0,90,3,100,2,132,0,90,4,100,3,132,
- 0,90,5,100,4,132,0,90,6,100,5,132,0,90,7,100,
- 6,132,0,90,8,100,7,132,0,90,9,100,8,132,0,90,
- 10,100,9,132,0,90,11,100,10,132,0,90,12,100,11,132,
- 0,90,13,100,12,132,0,90,14,121,13,41,14,218,8,95,
- 69,110,118,105,114,111,110,99,6,0,0,0,0,0,0,0,
- 0,0,0,0,2,0,0,0,3,0,0,0,243,74,0,0,
- 0,151,0,124,2,124,0,95,0,0,0,0,0,0,0,0,
- 0,124,3,124,0,95,1,0,0,0,0,0,0,0,0,124,
- 4,124,0,95,2,0,0,0,0,0,0,0,0,124,5,124,
- 0,95,3,0,0,0,0,0,0,0,0,124,1,124,0,95,
- 4,0,0,0,0,0,0,0,0,121,0,114,23,0,0,0,
- 41,5,218,9,101,110,99,111,100,101,107,101,121,218,9,100,
- 101,99,111,100,101,107,101,121,218,11,101,110,99,111,100,101,
- 118,97,108,117,101,218,11,100,101,99,111,100,101,118,97,108,
- 117,101,218,5,95,100,97,116,97,41,6,218,4,115,101,108,
- 102,218,4,100,97,116,97,114,249,0,0,0,114,250,0,0,
- 0,114,251,0,0,0,114,252,0,0,0,115,6,0,0,0,
- 32,32,32,32,32,32,114,25,0,0,0,218,8,95,95,105,
- 110,105,116,95,95,122,17,95,69,110,118,105,114,111,110,46,
- 95,95,105,110,105,116,95,95,190,2,0,0,115,39,0,0,
- 0,128,0,216,25,34,136,4,140,14,216,25,34,136,4,140,
- 14,216,27,38,136,4,212,8,24,216,27,38,136,4,212,8,
- 24,216,21,25,136,4,141,10,114,27,0,0,0,99,2,0,
- 0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,
- 0,0,243,148,0,0,0,151,0,9,0,124,0,106,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,124,0,106,3,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,124,1,171,1,0,0,0,0,0,
- 0,25,0,0,0,125,2,124,0,106,7,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,124,2,171,
- 1,0,0,0,0,0,0,83,0,35,0,116,4,0,0,0,
- 0,0,0,0,0,36,0,114,13,1,0,116,5,0,0,0,
- 0,0,0,0,0,124,1,171,1,0,0,0,0,0,0,100,
- 0,130,2,119,0,120,3,89,0,119,1,114,23,0,0,0,
- 41,4,114,253,0,0,0,114,249,0,0,0,114,242,0,0,
- 0,114,252,0,0,0,169,3,114,254,0,0,0,218,3,107,
- 101,121,114,172,0,0,0,115,3,0,0,0,32,32,32,114,
- 25,0,0,0,218,11,95,95,103,101,116,105,116,101,109,95,
- 95,122,20,95,69,110,118,105,114,111,110,46,95,95,103,101,
- 116,105,116,101,109,95,95,197,2,0,0,115,78,0,0,0,
- 128,0,240,2,4,9,42,216,20,24,151,74,145,74,152,116,
- 159,126,153,126,168,99,211,31,50,209,20,51,136,69,240,8,
- 0,16,20,215,15,31,209,15,31,160,5,211,15,38,208,8,
- 38,248,244,7,0,16,24,242,0,2,9,42,228,18,26,152,
- 51,147,45,160,84,208,12,41,240,5,2,9,42,250,115,9,
- 0,0,0,130,30,49,0,177,22,65,7,3,99,3,0,0,
- 0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,
- 0,243,126,0,0,0,151,0,124,0,106,1,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,1,
- 171,1,0,0,0,0,0,0,125,1,124,0,106,3,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 124,2,171,1,0,0,0,0,0,0,125,2,116,5,0,0,
- 0,0,0,0,0,0,124,1,124,2,171,2,0,0,0,0,
- 0,0,1,0,124,2,124,0,106,6,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,124,1,60,0,
- 0,0,121,0,114,23,0,0,0,41,4,114,249,0,0,0,
- 114,251,0,0,0,218,6,112,117,116,101,110,118,114,253,0,
- 0,0,114,2,1,0,0,115,3,0,0,0,32,32,32,114,
- 25,0,0,0,218,11,95,95,115,101,116,105,116,101,109,95,
- 95,122,20,95,69,110,118,105,114,111,110,46,95,95,115,101,
- 116,105,116,101,109,95,95,205,2,0,0,115,55,0,0,0,
- 128,0,216,14,18,143,110,137,110,152,83,211,14,33,136,3,
- 216,16,20,215,16,32,209,16,32,160,21,211,16,39,136,5,
- 220,8,14,136,115,144,69,212,8,26,216,26,31,136,4,143,
- 10,137,10,144,51,138,15,114,27,0,0,0,99,2,0,0,
- 0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,
- 0,243,138,0,0,0,151,0,124,0,106,1,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,1,
- 171,1,0,0,0,0,0,0,125,2,116,3,0,0,0,0,
- 0,0,0,0,124,2,171,1,0,0,0,0,0,0,1,0,
- 9,0,124,0,106,4,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,124,2,61,0,121,0,35,0,
- 116,6,0,0,0,0,0,0,0,0,36,0,114,13,1,0,
- 116,7,0,0,0,0,0,0,0,0,124,1,171,1,0,0,
- 0,0,0,0,100,0,130,2,119,0,120,3,89,0,119,1,
- 114,23,0,0,0,41,4,114,249,0,0,0,218,8,117,110,
- 115,101,116,101,110,118,114,253,0,0,0,114,242,0,0,0,
- 41,3,114,254,0,0,0,114,3,1,0,0,218,10,101,110,
- 99,111,100,101,100,107,101,121,115,3,0,0,0,32,32,32,
- 114,25,0,0,0,218,11,95,95,100,101,108,105,116,101,109,
- 95,95,122,20,95,69,110,118,105,114,111,110,46,95,95,100,
- 101,108,105,116,101,109,95,95,211,2,0,0,115,68,0,0,
- 0,128,0,216,21,25,151,94,145,94,160,67,211,21,40,136,
- 10,220,8,16,144,26,212,8,28,240,2,4,9,42,216,16,
- 20,151,10,145,10,152,58,209,16,38,248,220,15,23,242,0,
- 2,9,42,228,18,26,152,51,147,45,160,84,208,12,41,240,
- 5,2,9,42,250,115,9,0,0,0,158,13,44,0,172,22,
- 65,2,3,99,1,0,0,0,0,0,0,0,0,0,0,0,
- 4,0,0,0,35,0,0,0,243,106,0,0,0,75,0,1,
- 0,151,0,116,1,0,0,0,0,0,0,0,0,124,0,106,
- 2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,171,1,0,0,0,0,0,0,125,1,124,1,68,
- 0,93,21,0,0,125,2,124,0,106,5,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,124,2,171,
- 1,0,0,0,0,0,0,150,1,151,1,1,0,140,23,4,
- 0,121,0,173,3,119,1,114,23,0,0,0,41,3,114,30,
- 0,0,0,114,253,0,0,0,114,250,0,0,0,41,3,114,
- 254,0,0,0,218,4,107,101,121,115,114,3,1,0,0,115,
- 3,0,0,0,32,32,32,114,25,0,0,0,218,8,95,95,
- 105,116,101,114,95,95,122,17,95,69,110,118,105,114,111,110,
- 46,95,95,105,116,101,114,95,95,220,2,0,0,115,45,0,
- 0,0,232,0,248,128,0,228,15,19,144,68,151,74,145,74,
- 211,15,31,136,4,219,19,23,136,67,216,18,22,151,46,145,
- 46,160,19,211,18,37,211,12,37,241,3,0,20,24,249,115,
- 4,0,0,0,130,49,51,1,99,1,0,0,0,0,0,0,
- 0,0,0,0,0,3,0,0,0,3,0,0,0,243,44,0,
- 0,0,151,0,116,1,0,0,0,0,0,0,0,0,124,0,
- 106,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,171,1,0,0,0,0,0,0,83,0,114,23,
- 0,0,0,41,2,218,3,108,101,110,114,253,0,0,0,169,
- 1,114,254,0,0,0,115,1,0,0,0,32,114,25,0,0,
- 0,218,7,95,95,108,101,110,95,95,122,16,95,69,110,118,
- 105,114,111,110,46,95,95,108,101,110,95,95,226,2,0,0,
- 115,16,0,0,0,128,0,220,15,18,144,52,151,58,145,58,
- 139,127,208,8,30,114,27,0,0,0,99,1,0,0,0,0,
+ 117,109,101,110,116,32,108,105,115,116,32,97,114,103,115,44,
+ 32,114,101,112,108,97,99,105,110,103,32,116,104,101,32,99,
+ 117,114,114,101,110,116,32,112,114,111,99,101,115,115,46,10,
+ 32,32,32,32,97,114,103,115,32,109,97,121,32,98,101,32,
+ 97,32,108,105,115,116,32,111,114,32,116,117,112,108,101,32,
+ 111,102,32,115,116,114,105,110,103,115,46,32,78,169,1,218,
+ 8,95,101,120,101,99,118,112,101,114,201,0,0,0,115,2,
+ 0,0,0,32,32,114,25,0,0,0,114,210,0,0,0,114,
+ 210,0,0,0,91,2,0,0,115,14,0,0,0,128,0,244,
+ 12,0,5,13,136,84,144,52,213,4,24,114,27,0,0,0,
+ 99,3,0,0,0,0,0,0,0,0,0,0,0,5,0,0,
+ 0,3,0,0,0,243,30,0,0,0,151,0,116,1,0,0,
+ 0,0,0,0,0,0,124,0,124,1,124,2,171,3,0,0,
+ 0,0,0,0,1,0,121,1,41,2,122,222,101,120,101,99,
+ 118,112,101,40,102,105,108,101,44,32,97,114,103,115,44,32,
+ 101,110,118,41,10,10,32,32,32,32,69,120,101,99,117,116,
+ 101,32,116,104,101,32,101,120,101,99,117,116,97,98,108,101,
+ 32,102,105,108,101,32,40,119,104,105,99,104,32,105,115,32,
+ 115,101,97,114,99,104,101,100,32,102,111,114,32,97,108,111,
+ 110,103,32,36,80,65,84,72,41,10,32,32,32,32,119,105,
+ 116,104,32,97,114,103,117,109,101,110,116,32,108,105,115,116,
+ 32,97,114,103,115,32,97,110,100,32,101,110,118,105,114,111,
+ 110,109,101,110,116,32,101,110,118,44,32,114,101,112,108,97,
+ 99,105,110,103,32,116,104,101,10,32,32,32,32,99,117,114,
+ 114,101,110,116,32,112,114,111,99,101,115,115,46,10,32,32,
+ 32,32,97,114,103,115,32,109,97,121,32,98,101,32,97,32,
+ 108,105,115,116,32,111,114,32,116,117,112,108,101,32,111,102,
+ 32,115,116,114,105,110,103,115,46,32,78,114,216,0,0,0,
+ 114,206,0,0,0,115,3,0,0,0,32,32,32,114,25,0,
+ 0,0,114,213,0,0,0,114,213,0,0,0,99,2,0,0,
+ 115,16,0,0,0,128,0,244,14,0,5,13,136,84,144,52,
+ 152,19,213,4,29,114,27,0,0,0,41,6,114,204,0,0,
+ 0,114,208,0,0,0,114,211,0,0,0,114,214,0,0,0,
+ 114,210,0,0,0,114,213,0,0,0,99,3,0,0,0,0,
0,0,0,0,0,0,0,5,0,0,0,3,0,0,0,243,
- 116,0,0,0,135,0,151,0,100,1,106,1,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,0,
- 102,1,100,2,132,8,137,0,106,2,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,106,5,0,0,
+ 158,1,0,0,151,0,124,2,129,11,116,0,0,0,0,0,
+ 0,0,0,0,125,3,124,1,124,2,102,2,125,4,110,15,
+ 116,2,0,0,0,0,0,0,0,0,125,3,124,1,102,1,
+ 125,4,116,4,0,0,0,0,0,0,0,0,125,2,116,7,
+ 0,0,0,0,0,0,0,0,106,8,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,124,0,171,1,
+ 0,0,0,0,0,0,114,10,2,0,124,3,124,0,103,1,
+ 124,4,162,1,173,6,142,0,1,0,121,0,100,0,125,5,
+ 116,11,0,0,0,0,0,0,0,0,124,2,171,1,0,0,
+ 0,0,0,0,125,6,116,12,0,0,0,0,0,0,0,0,
+ 100,1,107,55,0,0,114,27,116,15,0,0,0,0,0,0,
+ 0,0,124,0,171,1,0,0,0,0,0,0,125,0,116,17,
+ 0,0,0,0,0,0,0,0,116,14,0,0,0,0,0,0,
+ 0,0,124,6,171,2,0,0,0,0,0,0,125,6,124,6,
+ 68,0,93,34,0,0,125,7,116,7,0,0,0,0,0,0,
+ 0,0,106,18,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,124,7,124,0,171,2,0,0,0,0,
+ 0,0,125,8,9,0,2,0,124,3,124,8,103,1,124,4,
+ 162,1,173,6,142,0,1,0,140,36,4,0,124,5,129,2,
+ 124,5,130,1,127,10,130,1,35,0,116,20,0,0,0,0,
+ 0,0,0,0,116,22,0,0,0,0,0,0,0,0,102,2,
+ 36,0,114,12,125,9,124,9,125,10,89,0,100,0,125,9,
+ 126,9,140,65,100,0,125,9,126,9,119,1,116,24,0,0,
+ 0,0,0,0,0,0,36,0,114,16,125,9,124,9,125,10,
+ 124,5,128,2,124,9,125,5,89,0,100,0,125,9,126,9,
+ 140,88,100,0,125,9,126,9,119,1,119,0,120,3,89,0,
+ 119,1,41,2,78,114,42,0,0,0,41,13,114,88,0,0,
+ 0,114,200,0,0,0,218,7,101,110,118,105,114,111,110,114,
+ 12,0,0,0,114,160,0,0,0,114,19,0,0,0,114,11,
+ 0,0,0,114,17,0,0,0,218,3,109,97,112,114,136,0,
+ 0,0,218,17,70,105,108,101,78,111,116,70,111,117,110,100,
+ 69,114,114,111,114,218,18,78,111,116,65,68,105,114,101,99,
+ 116,111,114,121,69,114,114,111,114,114,117,0,0,0,41,11,
+ 114,202,0,0,0,114,203,0,0,0,114,207,0,0,0,218,
+ 9,101,120,101,99,95,102,117,110,99,218,7,97,114,103,114,
+ 101,115,116,218,9,115,97,118,101,100,95,101,120,99,218,9,
+ 112,97,116,104,95,108,105,115,116,114,33,0,0,0,218,8,
+ 102,117,108,108,110,97,109,101,218,1,101,218,8,108,97,115,
+ 116,95,101,120,99,115,11,0,0,0,32,32,32,32,32,32,
+ 32,32,32,32,32,114,25,0,0,0,114,217,0,0,0,114,
+ 217,0,0,0,110,2,0,0,115,226,0,0,0,128,0,216,
+ 7,10,128,127,220,20,26,136,9,216,19,23,152,19,144,43,
+ 137,7,228,20,25,136,9,216,19,23,144,39,136,7,220,14,
+ 21,136,3,228,7,11,135,124,129,124,144,68,212,7,25,217,
+ 8,17,144,36,208,8,33,152,23,211,8,33,216,8,14,216,
+ 16,20,128,73,220,16,29,152,99,211,16,34,128,73,220,7,
+ 11,136,116,130,124,220,15,23,152,4,139,126,136,4,220,20,
+ 23,156,8,160,41,211,20,44,136,9,219,15,24,136,3,220,
+ 19,23,151,57,145,57,152,83,160,36,211,19,39,136,8,240,
+ 2,7,9,30,217,12,21,144,104,208,12,41,160,23,212,12,
+ 41,240,7,0,16,25,240,20,0,8,17,208,7,28,216,14,
+ 23,136,15,216,10,18,128,78,248,244,17,0,17,34,212,35,
+ 53,208,15,54,242,0,1,9,25,216,23,24,141,72,251,220,
+ 15,22,242,0,3,9,30,216,23,24,136,72,216,15,24,208,
+ 15,32,216,28,29,144,9,255,248,240,7,3,9,30,250,115,
+ 36,0,0,0,194,9,9,66,26,2,194,26,15,67,12,5,
+ 194,41,2,66,48,5,194,48,12,67,12,5,194,60,6,67,
+ 7,5,195,7,5,67,12,5,99,1,0,0,0,0,0,0,
+ 0,0,0,0,0,6,0,0,0,3,0,0,0,243,170,1,
+ 0,0,151,0,100,1,100,2,108,0,125,1,124,0,128,6,
+ 116,2,0,0,0,0,0,0,0,0,125,0,124,1,106,5,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,171,0,0,0,0,0,0,0,53,0,1,0,124,1,
+ 106,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,100,3,116,8,0,0,0,0,0,0,0,0,
+ 171,2,0,0,0,0,0,0,1,0,9,0,124,0,106,11,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 171,0,0,0,0,0,0,0,68,0,171,0,0,0,0,0,
- 0,0,171,1,0,0,0,0,0,0,125,1,100,3,124,1,
- 155,0,100,4,157,3,83,0,41,5,78,122,2,44,32,99,
- 1,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,
- 51,0,0,0,243,110,0,0,0,149,1,75,0,1,0,151,
- 0,124,0,93,44,0,0,92,2,0,0,125,1,125,2,137,
- 3,106,1,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,124,1,171,1,0,0,0,0,0,0,155,
- 2,100,0,137,3,106,3,0,0,0,0,0,0,0,0,0,
+ 0,0,100,4,171,1,0,0,0,0,0,0,125,2,116,14,
+ 0,0,0,0,0,0,0,0,114,50,9,0,124,0,100,5,
+ 25,0,0,0,125,3,124,2,129,11,116,17,0,0,0,0,
+ 0,0,0,0,100,6,171,1,0,0,0,0,0,0,130,1,
+ 124,3,125,2,124,2,129,27,116,21,0,0,0,0,0,0,
+ 0,0,124,2,116,22,0,0,0,0,0,0,0,0,171,2,
+ 0,0,0,0,0,0,114,11,116,25,0,0,0,0,0,0,
+ 0,0,124,2,171,1,0,0,0,0,0,0,125,2,100,2,
+ 100,2,100,2,171,2,0,0,0,0,0,0,1,0,127,2,
+ 128,6,116,26,0,0,0,0,0,0,0,0,125,2,124,2,
+ 106,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,116,30,0,0,0,0,0,0,0,0,171,1,
+ 0,0,0,0,0,0,83,0,35,0,116,12,0,0,0,0,
+ 0,0,0,0,36,0,114,5,1,0,100,2,125,2,89,0,
+ 140,106,119,0,120,3,89,0,119,1,35,0,116,18,0,0,
+ 0,0,0,0,0,0,116,12,0,0,0,0,0,0,0,0,
+ 102,2,36,0,114,3,1,0,89,0,140,100,119,0,120,3,
+ 89,0,119,1,35,0,49,0,115,1,119,2,1,0,89,0,
+ 1,0,1,0,140,76,120,3,89,0,119,1,41,7,122,243,
+ 82,101,116,117,114,110,115,32,116,104,101,32,115,101,113,117,
+ 101,110,99,101,32,111,102,32,100,105,114,101,99,116,111,114,
+ 105,101,115,32,116,104,97,116,32,119,105,108,108,32,98,101,
+ 32,115,101,97,114,99,104,101,100,32,102,111,114,32,116,104,
+ 101,10,32,32,32,32,110,97,109,101,100,32,101,120,101,99,
+ 117,116,97,98,108,101,32,40,115,105,109,105,108,97,114,32,
+ 116,111,32,97,32,115,104,101,108,108,41,32,119,104,101,110,
+ 32,108,97,117,110,99,104,105,110,103,32,97,32,112,114,111,
+ 99,101,115,115,46,10,10,32,32,32,32,42,101,110,118,42,
+ 32,109,117,115,116,32,98,101,32,97,110,32,101,110,118,105,
+ 114,111,110,109,101,110,116,32,118,97,114,105,97,98,108,101,
+ 32,100,105,99,116,32,111,114,32,78,111,110,101,46,32,32,
+ 73,102,32,42,101,110,118,42,32,105,115,32,78,111,110,101,
+ 44,10,32,32,32,32,111,115,46,101,110,118,105,114,111,110,
+ 32,119,105,108,108,32,98,101,32,117,115,101,100,46,10,32,
+ 32,32,32,114,2,0,0,0,78,218,6,105,103,110,111,114,
+ 101,218,4,80,65,84,72,115,4,0,0,0,80,65,84,72,
+ 122,42,101,110,118,32,99,97,110,110,111,116,32,99,111,110,
+ 116,97,105,110,32,39,80,65,84,72,39,32,97,110,100,32,
+ 98,39,80,65,84,72,39,32,107,101,121,115,41,16,218,8,
+ 119,97,114,110,105,110,103,115,114,220,0,0,0,218,14,99,
+ 97,116,99,104,95,119,97,114,110,105,110,103,115,218,12,115,
+ 105,109,112,108,101,102,105,108,116,101,114,218,12,66,121,116,
+ 101,115,87,97,114,110,105,110,103,218,3,103,101,116,218,9,
+ 84,121,112,101,69,114,114,111,114,218,22,115,117,112,112,111,
+ 114,116,115,95,98,121,116,101,115,95,101,110,118,105,114,111,
+ 110,218,10,86,97,108,117,101,69,114,114,111,114,218,8,75,
+ 101,121,69,114,114,111,114,114,115,0,0,0,114,116,0,0,
+ 0,114,18,0,0,0,114,10,0,0,0,114,111,0,0,0,
+ 114,8,0,0,0,41,4,114,207,0,0,0,114,234,0,0,
+ 0,114,227,0,0,0,218,10,112,97,116,104,95,108,105,115,
+ 116,98,115,4,0,0,0,32,32,32,32,114,25,0,0,0,
+ 114,19,0,0,0,114,19,0,0,0,142,2,0,0,115,228,
+ 0,0,0,128,0,243,20,0,5,20,224,7,10,128,123,220,
+ 14,21,136,3,240,8,0,10,18,215,9,32,209,9,32,213,
+ 9,34,216,8,16,215,8,29,209,8,29,152,104,172,12,212,
+ 8,53,240,4,3,9,29,216,24,27,159,7,153,7,160,6,
+ 155,15,136,73,245,8,0,12,34,240,2,8,13,39,216,29,
+ 32,160,23,153,92,144,10,240,8,0,20,29,208,19,40,220,
+ 26,36,216,24,68,243,3,1,27,70,1,240,0,1,21,70,
+ 1,224,28,38,144,9,224,15,24,208,15,36,172,26,176,73,
+ 188,117,212,41,69,220,28,36,160,89,211,28,47,144,9,247,
+ 41,0,10,35,240,44,0,8,17,208,7,24,220,20,27,136,
+ 9,216,11,20,143,63,137,63,156,55,211,11,35,208,4,35,
+ 248,244,39,0,16,25,242,0,1,9,29,216,24,28,138,73,
+ 240,3,1,9,29,251,244,12,0,21,29,156,105,208,19,40,
+ 242,0,1,13,21,217,16,20,240,3,1,13,21,250,247,23,
+ 0,10,35,208,9,34,250,115,82,0,0,0,157,23,67,9,
+ 3,181,17,66,35,2,193,6,6,67,9,3,193,13,5,66,
+ 52,2,193,18,44,67,9,3,194,35,11,66,49,5,194,46,
+ 2,67,9,3,194,48,1,66,49,5,194,49,3,67,9,3,
+ 194,52,15,67,6,5,195,3,2,67,9,3,195,5,1,67,
+ 6,5,195,6,3,67,9,3,195,9,5,67,18,7,41,2,
+ 218,14,77,117,116,97,98,108,101,77,97,112,112,105,110,103,
+ 218,7,77,97,112,112,105,110,103,99,0,0,0,0,0,0,
+ 0,0,0,0,0,0,1,0,0,0,0,0,0,0,243,84,
+ 0,0,0,151,0,101,0,90,1,100,0,90,2,100,1,132,
+ 0,90,3,100,2,132,0,90,4,100,3,132,0,90,5,100,
+ 4,132,0,90,6,100,5,132,0,90,7,100,6,132,0,90,
+ 8,100,7,132,0,90,9,100,8,132,0,90,10,100,9,132,
+ 0,90,11,100,10,132,0,90,12,100,11,132,0,90,13,100,
+ 12,132,0,90,14,121,13,41,14,218,8,95,69,110,118,105,
+ 114,111,110,99,6,0,0,0,0,0,0,0,0,0,0,0,
+ 2,0,0,0,3,0,0,0,243,74,0,0,0,151,0,124,
+ 2,124,0,95,0,0,0,0,0,0,0,0,0,124,3,124,
+ 0,95,1,0,0,0,0,0,0,0,0,124,4,124,0,95,
+ 2,0,0,0,0,0,0,0,0,124,5,124,0,95,3,0,
+ 0,0,0,0,0,0,0,124,1,124,0,95,4,0,0,0,
+ 0,0,0,0,0,121,0,114,23,0,0,0,41,5,218,9,
+ 101,110,99,111,100,101,107,101,121,218,9,100,101,99,111,100,
+ 101,107,101,121,218,11,101,110,99,111,100,101,118,97,108,117,
+ 101,218,11,100,101,99,111,100,101,118,97,108,117,101,218,5,
+ 95,100,97,116,97,41,6,218,4,115,101,108,102,218,4,100,
+ 97,116,97,114,249,0,0,0,114,250,0,0,0,114,251,0,
+ 0,0,114,252,0,0,0,115,6,0,0,0,32,32,32,32,
+ 32,32,114,25,0,0,0,218,8,95,95,105,110,105,116,95,
+ 95,122,17,95,69,110,118,105,114,111,110,46,95,95,105,110,
+ 105,116,95,95,190,2,0,0,115,39,0,0,0,128,0,216,
+ 25,34,136,4,140,14,216,25,34,136,4,140,14,216,27,38,
+ 136,4,212,8,24,216,27,38,136,4,212,8,24,216,21,25,
+ 136,4,141,10,114,27,0,0,0,99,2,0,0,0,0,0,
+ 0,0,0,0,0,0,4,0,0,0,3,0,0,0,243,148,
+ 0,0,0,151,0,9,0,124,0,106,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,124,0,106,
+ 3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,124,1,171,1,0,0,0,0,0,0,25,0,0,
+ 0,125,2,124,0,106,7,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,124,2,171,1,0,0,0,
- 0,0,0,155,2,157,3,150,1,151,1,1,0,140,46,4,
- 0,121,1,173,3,119,1,41,2,122,2,58,32,78,41,2,
- 114,250,0,0,0,114,252,0,0,0,41,4,114,178,0,0,
- 0,114,3,1,0,0,114,172,0,0,0,114,254,0,0,0,
- 115,4,0,0,0,32,32,32,128,114,25,0,0,0,114,181,
- 0,0,0,122,36,95,69,110,118,105,114,111,110,46,95,95,
- 114,101,112,114,95,95,46,60,108,111,99,97,108,115,62,46,
- 60,103,101,110,101,120,112,114,62,230,2,0,0,115,62,0,
- 0,0,248,232,0,248,128,0,240,0,3,36,10,225,30,48,
- 145,10,144,3,144,85,240,3,0,16,20,143,126,137,126,152,
- 99,211,15,34,208,14,37,160,82,168,4,215,40,56,209,40,
- 56,184,21,211,40,63,208,39,66,212,12,67,217,30,48,249,
- 115,4,0,0,0,131,50,53,1,122,9,101,110,118,105,114,
- 111,110,40,123,122,2,125,41,41,3,114,136,0,0,0,114,
- 253,0,0,0,218,5,105,116,101,109,115,41,2,114,254,0,
- 0,0,218,15,102,111,114,109,97,116,116,101,100,95,105,116,
- 101,109,115,115,2,0,0,0,96,32,114,25,0,0,0,218,
- 8,95,95,114,101,112,114,95,95,122,17,95,69,110,118,105,
- 114,111,110,46,95,95,114,101,112,114,95,95,229,2,0,0,
- 115,61,0,0,0,248,128,0,216,26,30,159,41,153,41,243,
- 0,3,36,10,224,30,34,159,106,153,106,215,30,46,209,30,
- 46,212,30,48,243,5,3,36,10,243,0,3,27,10,136,15,
- 240,8,0,18,28,152,79,208,27,44,168,67,208,15,48,208,
- 8,48,114,27,0,0,0,99,1,0,0,0,0,0,0,0,
- 0,0,0,0,3,0,0,0,3,0,0,0,243,24,0,0,
- 0,151,0,116,1,0,0,0,0,0,0,0,0,124,0,171,
- 1,0,0,0,0,0,0,83,0,114,23,0,0,0,41,1,
- 218,4,100,105,99,116,114,17,1,0,0,115,1,0,0,0,
- 32,114,25,0,0,0,218,4,99,111,112,121,122,13,95,69,
- 110,118,105,114,111,110,46,99,111,112,121,236,2,0,0,115,
- 12,0,0,0,128,0,220,15,19,144,68,139,122,208,8,25,
- 114,27,0,0,0,99,3,0,0,0,0,0,0,0,0,0,
- 0,0,3,0,0,0,3,0,0,0,243,30,0,0,0,151,
- 0,124,1,124,0,118,1,114,5,124,2,124,0,124,1,60,
- 0,0,0,124,0,124,1,25,0,0,0,83,0,114,23,0,
- 0,0,169,0,114,2,1,0,0,115,3,0,0,0,32,32,
- 32,114,25,0,0,0,218,10,115,101,116,100,101,102,97,117,
- 108,116,122,19,95,69,110,118,105,114,111,110,46,115,101,116,
- 100,101,102,97,117,108,116,239,2,0,0,115,28,0,0,0,
- 128,0,216,11,14,144,100,137,63,216,24,29,136,68,144,19,
- 137,73,216,15,19,144,67,137,121,208,8,24,114,27,0,0,
- 0,99,2,0,0,0,0,0,0,0,0,0,0,0,3,0,
- 0,0,3,0,0,0,243,40,0,0,0,151,0,124,0,106,
- 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,124,1,171,1,0,0,0,0,0,0,1,0,124,
- 0,83,0,114,23,0,0,0,41,1,218,6,117,112,100,97,
- 116,101,41,2,114,254,0,0,0,218,5,111,116,104,101,114,
- 115,2,0,0,0,32,32,114,25,0,0,0,218,7,95,95,
- 105,111,114,95,95,122,16,95,69,110,118,105,114,111,110,46,
- 95,95,105,111,114,95,95,244,2,0,0,115,19,0,0,0,
- 128,0,216,8,12,143,11,137,11,144,69,212,8,26,216,15,
- 19,136,11,114,27,0,0,0,99,2,0,0,0,0,0,0,
- 0,0,0,0,0,4,0,0,0,3,0,0,0,243,106,0,
- 0,0,151,0,116,1,0,0,0,0,0,0,0,0,124,1,
- 116,2,0,0,0,0,0,0,0,0,171,2,0,0,0,0,
- 0,0,115,6,116,4,0,0,0,0,0,0,0,0,83,0,
- 116,7,0,0,0,0,0,0,0,0,124,0,171,1,0,0,
- 0,0,0,0,125,2,124,2,106,9,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,124,1,171,1,
- 0,0,0,0,0,0,1,0,124,2,83,0,114,23,0,0,
- 0,169,5,114,115,0,0,0,114,245,0,0,0,218,14,78,
- 111,116,73,109,112,108,101,109,101,110,116,101,100,114,25,1,
- 0,0,114,31,1,0,0,169,3,114,254,0,0,0,114,32,
- 1,0,0,114,127,0,0,0,115,3,0,0,0,32,32,32,
- 114,25,0,0,0,218,6,95,95,111,114,95,95,122,15,95,
- 69,110,118,105,114,111,110,46,95,95,111,114,95,95,248,2,
- 0,0,115,44,0,0,0,128,0,220,15,25,152,37,164,23,
- 212,15,41,220,19,33,208,12,33,220,14,18,144,52,139,106,
- 136,3,216,8,11,143,10,137,10,144,53,212,8,25,216,15,
- 18,136,10,114,27,0,0,0,99,2,0,0,0,0,0,0,
- 0,0,0,0,0,4,0,0,0,3,0,0,0,243,106,0,
- 0,0,151,0,116,1,0,0,0,0,0,0,0,0,124,1,
- 116,2,0,0,0,0,0,0,0,0,171,2,0,0,0,0,
- 0,0,115,6,116,4,0,0,0,0,0,0,0,0,83,0,
- 116,7,0,0,0,0,0,0,0,0,124,1,171,1,0,0,
- 0,0,0,0,125,2,124,2,106,9,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,124,0,171,1,
- 0,0,0,0,0,0,1,0,124,2,83,0,114,23,0,0,
- 0,114,35,1,0,0,114,37,1,0,0,115,3,0,0,0,
- 32,32,32,114,25,0,0,0,218,7,95,95,114,111,114,95,
- 95,122,16,95,69,110,118,105,114,111,110,46,95,95,114,111,
- 114,95,95,255,2,0,0,115,44,0,0,0,128,0,220,15,
- 25,152,37,164,23,212,15,41,220,19,33,208,12,33,220,14,
- 18,144,53,139,107,136,3,216,8,11,143,10,137,10,144,52,
- 212,8,24,216,15,18,136,10,114,27,0,0,0,78,41,15,
- 218,8,95,95,110,97,109,101,95,95,218,10,95,95,109,111,
- 100,117,108,101,95,95,218,12,95,95,113,117,97,108,110,97,
- 109,101,95,95,114,0,1,0,0,114,4,1,0,0,114,7,
- 1,0,0,114,11,1,0,0,114,14,1,0,0,114,18,1,
- 0,0,114,23,1,0,0,114,26,1,0,0,114,29,1,0,
- 0,114,33,1,0,0,114,38,1,0,0,114,40,1,0,0,
- 114,28,1,0,0,114,27,0,0,0,114,25,0,0,0,114,
- 247,0,0,0,114,247,0,0,0,189,2,0,0,115,62,0,
- 0,0,132,0,242,2,5,5,26,242,14,6,5,39,242,16,
- 4,5,32,242,12,7,5,42,242,18,4,5,38,242,12,1,
- 5,31,242,6,5,5,49,242,14,1,5,26,242,6,3,5,
- 25,242,10,2,5,20,242,8,5,5,19,243,14,5,5,19,
- 114,27,0,0,0,114,247,0,0,0,99,0,0,0,0,0,
- 0,0,0,0,0,0,0,7,0,0,0,3,0,0,0,243,
- 246,0,0,0,135,6,135,7,151,0,116,0,0,0,0,0,
- 0,0,0,0,100,1,107,40,0,0,114,58,100,2,132,0,
- 125,0,124,0,138,6,116,2,0,0,0,0,0,0,0,0,
- 125,1,136,6,102,1,100,3,132,8,125,2,105,0,125,3,
- 116,4,0,0,0,0,0,0,0,0,106,7,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,0,
- 0,0,0,0,0,0,68,0,93,16,0,0,92,2,0,0,
- 125,4,125,5,124,5,124,3,2,0,124,2,124,4,171,1,
- 0,0,0,0,0,0,60,0,0,0,140,18,4,0,110,38,
- 116,9,0,0,0,0,0,0,0,0,106,10,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,0,
- 0,0,0,0,0,0,138,7,136,7,102,1,100,4,132,8,
- 138,6,136,7,102,1,100,5,132,8,125,1,137,6,125,2,
- 116,4,0,0,0,0,0,0,0,0,125,3,116,13,0,0,
- 0,0,0,0,0,0,124,3,124,2,124,1,137,6,124,1,
- 171,5,0,0,0,0,0,0,83,0,41,6,78,114,42,0,
- 0,0,99,1,0,0,0,0,0,0,0,0,0,0,0,6,
- 0,0,0,19,0,0,0,243,104,0,0,0,151,0,116,1,
- 0,0,0,0,0,0,0,0,124,0,116,2,0,0,0,0,
- 0,0,0,0,171,2,0,0,0,0,0,0,115,33,116,5,
- 0,0,0,0,0,0,0,0,100,1,116,7,0,0,0,0,
- 0,0,0,0,124,0,171,1,0,0,0,0,0,0,106,8,
+ 0,0,0,83,0,35,0,116,4,0,0,0,0,0,0,0,
+ 0,36,0,114,13,1,0,116,5,0,0,0,0,0,0,0,
+ 0,124,1,171,1,0,0,0,0,0,0,100,0,130,2,119,
+ 0,120,3,89,0,119,1,114,23,0,0,0,41,4,114,253,
+ 0,0,0,114,249,0,0,0,114,242,0,0,0,114,252,0,
+ 0,0,169,3,114,254,0,0,0,218,3,107,101,121,114,172,
+ 0,0,0,115,3,0,0,0,32,32,32,114,25,0,0,0,
+ 218,11,95,95,103,101,116,105,116,101,109,95,95,122,20,95,
+ 69,110,118,105,114,111,110,46,95,95,103,101,116,105,116,101,
+ 109,95,95,197,2,0,0,115,78,0,0,0,128,0,240,2,
+ 4,9,42,216,20,24,151,74,145,74,152,116,159,126,153,126,
+ 168,99,211,31,50,209,20,51,136,69,240,8,0,16,20,215,
+ 15,31,209,15,31,160,5,211,15,38,208,8,38,248,244,7,
+ 0,16,24,242,0,2,9,42,228,18,26,152,51,147,45,160,
+ 84,208,12,41,240,5,2,9,42,250,115,9,0,0,0,130,
+ 30,49,0,177,22,65,7,3,99,3,0,0,0,0,0,0,
+ 0,0,0,0,0,4,0,0,0,3,0,0,0,243,126,0,
+ 0,0,151,0,124,0,106,1,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,124,1,171,1,0,0,
+ 0,0,0,0,125,1,124,0,106,3,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,124,2,171,1,
+ 0,0,0,0,0,0,125,2,116,5,0,0,0,0,0,0,
+ 0,0,124,1,124,2,171,2,0,0,0,0,0,0,1,0,
+ 124,2,124,0,106,6,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,124,1,60,0,0,0,121,0,
+ 114,23,0,0,0,41,4,114,249,0,0,0,114,251,0,0,
+ 0,218,6,112,117,116,101,110,118,114,253,0,0,0,114,2,
+ 1,0,0,115,3,0,0,0,32,32,32,114,25,0,0,0,
+ 218,11,95,95,115,101,116,105,116,101,109,95,95,122,20,95,
+ 69,110,118,105,114,111,110,46,95,95,115,101,116,105,116,101,
+ 109,95,95,205,2,0,0,115,55,0,0,0,128,0,216,14,
+ 18,143,110,137,110,152,83,211,14,33,136,3,216,16,20,215,
+ 16,32,209,16,32,160,21,211,16,39,136,5,220,8,14,136,
+ 115,144,69,212,8,26,216,26,31,136,4,143,10,137,10,144,
+ 51,138,15,114,27,0,0,0,99,2,0,0,0,0,0,0,
+ 0,0,0,0,0,4,0,0,0,3,0,0,0,243,138,0,
+ 0,0,151,0,124,0,106,1,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,124,1,171,1,0,0,
+ 0,0,0,0,125,2,116,3,0,0,0,0,0,0,0,0,
+ 124,2,171,1,0,0,0,0,0,0,1,0,9,0,124,0,
+ 106,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,124,2,61,0,121,0,35,0,116,6,0,0,
+ 0,0,0,0,0,0,36,0,114,13,1,0,116,7,0,0,
+ 0,0,0,0,0,0,124,1,171,1,0,0,0,0,0,0,
+ 100,0,130,2,119,0,120,3,89,0,119,1,114,23,0,0,
+ 0,41,4,114,249,0,0,0,218,8,117,110,115,101,116,101,
+ 110,118,114,253,0,0,0,114,242,0,0,0,41,3,114,254,
+ 0,0,0,114,3,1,0,0,218,10,101,110,99,111,100,101,
+ 100,107,101,121,115,3,0,0,0,32,32,32,114,25,0,0,
+ 0,218,11,95,95,100,101,108,105,116,101,109,95,95,122,20,
+ 95,69,110,118,105,114,111,110,46,95,95,100,101,108,105,116,
+ 101,109,95,95,211,2,0,0,115,68,0,0,0,128,0,216,
+ 21,25,151,94,145,94,160,67,211,21,40,136,10,220,8,16,
+ 144,26,212,8,28,240,2,4,9,42,216,16,20,151,10,145,
+ 10,152,58,209,16,38,248,220,15,23,242,0,2,9,42,228,
+ 18,26,152,51,147,45,160,84,208,12,41,240,5,2,9,42,
+ 250,115,9,0,0,0,158,13,44,0,172,22,65,2,3,99,
+ 1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,
+ 35,0,0,0,243,106,0,0,0,75,0,1,0,151,0,116,
+ 1,0,0,0,0,0,0,0,0,124,0,106,2,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,
+ 1,0,0,0,0,0,0,125,1,124,1,68,0,93,21,0,
+ 0,125,2,124,0,106,5,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,124,2,171,1,0,0,0,
+ 0,0,0,150,1,151,1,1,0,140,23,4,0,121,0,173,
+ 3,119,1,114,23,0,0,0,41,3,114,30,0,0,0,114,
+ 253,0,0,0,114,250,0,0,0,41,3,114,254,0,0,0,
+ 218,4,107,101,121,115,114,3,1,0,0,115,3,0,0,0,
+ 32,32,32,114,25,0,0,0,218,8,95,95,105,116,101,114,
+ 95,95,122,17,95,69,110,118,105,114,111,110,46,95,95,105,
+ 116,101,114,95,95,220,2,0,0,115,45,0,0,0,232,0,
+ 248,128,0,228,15,19,144,68,151,74,145,74,211,15,31,136,
+ 4,219,19,23,136,67,216,18,22,151,46,145,46,160,19,211,
+ 18,37,211,12,37,241,3,0,20,24,249,115,4,0,0,0,
+ 130,49,51,1,99,1,0,0,0,0,0,0,0,0,0,0,
+ 0,3,0,0,0,3,0,0,0,243,44,0,0,0,151,0,
+ 116,1,0,0,0,0,0,0,0,0,124,0,106,2,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,122,6,0,0,171,1,0,0,0,0,0,0,130,1,
- 124,0,83,0,41,2,78,250,20,115,116,114,32,101,120,112,
- 101,99,116,101,100,44,32,110,111,116,32,37,115,41,5,114,
- 115,0,0,0,114,47,0,0,0,114,239,0,0,0,218,4,
- 116,121,112,101,114,41,1,0,0,169,1,114,172,0,0,0,
- 115,1,0,0,0,32,114,25,0,0,0,218,9,99,104,101,
- 99,107,95,115,116,114,122,33,95,99,114,101,97,116,101,101,
- 110,118,105,114,111,110,46,60,108,111,99,97,108,115,62,46,
- 99,104,101,99,107,95,115,116,114,9,3,0,0,115,44,0,
- 0,0,128,0,220,19,29,152,101,164,83,212,19,41,220,22,
- 31,208,32,54,188,20,184,101,187,27,215,57,77,209,57,77,
- 209,32,77,211,22,78,208,16,78,216,19,24,136,76,114,27,
+ 171,1,0,0,0,0,0,0,83,0,114,23,0,0,0,41,
+ 2,218,3,108,101,110,114,253,0,0,0,169,1,114,254,0,
+ 0,0,115,1,0,0,0,32,114,25,0,0,0,218,7,95,
+ 95,108,101,110,95,95,122,16,95,69,110,118,105,114,111,110,
+ 46,95,95,108,101,110,95,95,226,2,0,0,115,16,0,0,
+ 0,128,0,220,15,18,144,52,151,58,145,58,139,127,208,8,
+ 30,114,27,0,0,0,99,1,0,0,0,0,0,0,0,0,
+ 0,0,0,5,0,0,0,3,0,0,0,243,116,0,0,0,
+ 135,0,151,0,100,1,106,1,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,136,0,102,1,100,2,
+ 132,8,137,0,106,2,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,106,5,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,171,0,0,0,
+ 0,0,0,0,68,0,171,0,0,0,0,0,0,0,171,1,
+ 0,0,0,0,0,0,125,1,100,3,124,1,155,0,100,4,
+ 157,3,83,0,41,5,78,122,2,44,32,99,1,0,0,0,
+ 0,0,0,0,0,0,0,0,6,0,0,0,51,0,0,0,
+ 243,110,0,0,0,149,1,75,0,1,0,151,0,124,0,93,
+ 44,0,0,92,2,0,0,125,1,125,2,137,3,106,1,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,124,1,171,1,0,0,0,0,0,0,155,2,100,0,137,
+ 3,106,3,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,124,2,171,1,0,0,0,0,0,0,155,
+ 2,157,3,150,1,151,1,1,0,140,46,4,0,121,1,173,
+ 3,119,1,41,2,122,2,58,32,78,41,2,114,250,0,0,
+ 0,114,252,0,0,0,41,4,114,178,0,0,0,114,3,1,
+ 0,0,114,172,0,0,0,114,254,0,0,0,115,4,0,0,
+ 0,32,32,32,128,114,25,0,0,0,114,181,0,0,0,122,
+ 36,95,69,110,118,105,114,111,110,46,95,95,114,101,112,114,
+ 95,95,46,60,108,111,99,97,108,115,62,46,60,103,101,110,
+ 101,120,112,114,62,230,2,0,0,115,62,0,0,0,248,232,
+ 0,248,128,0,240,0,3,36,10,225,30,48,145,10,144,3,
+ 144,85,240,3,0,16,20,143,126,137,126,152,99,211,15,34,
+ 208,14,37,160,82,168,4,215,40,56,209,40,56,184,21,211,
+ 40,63,208,39,66,212,12,67,217,30,48,249,115,4,0,0,
+ 0,131,50,53,1,122,9,101,110,118,105,114,111,110,40,123,
+ 122,2,125,41,41,3,114,136,0,0,0,114,253,0,0,0,
+ 218,5,105,116,101,109,115,41,2,114,254,0,0,0,218,15,
+ 102,111,114,109,97,116,116,101,100,95,105,116,101,109,115,115,
+ 2,0,0,0,96,32,114,25,0,0,0,218,8,95,95,114,
+ 101,112,114,95,95,122,17,95,69,110,118,105,114,111,110,46,
+ 95,95,114,101,112,114,95,95,229,2,0,0,115,61,0,0,
+ 0,248,128,0,216,26,30,159,41,153,41,243,0,3,36,10,
+ 224,30,34,159,106,153,106,215,30,46,209,30,46,212,30,48,
+ 243,5,3,36,10,243,0,3,27,10,136,15,240,8,0,18,
+ 28,152,79,208,27,44,168,67,208,15,48,208,8,48,114,27,
0,0,0,99,1,0,0,0,0,0,0,0,0,0,0,0,
- 3,0,0,0,19,0,0,0,243,48,0,0,0,149,1,151,
- 0,2,0,137,1,124,0,171,1,0,0,0,0,0,0,106,
- 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,171,0,0,0,0,0,0,0,83,0,114,23,0,
- 0,0,41,1,218,5,117,112,112,101,114,41,2,114,3,1,
- 0,0,218,6,101,110,99,111,100,101,115,2,0,0,0,32,
- 128,114,25,0,0,0,114,249,0,0,0,122,33,95,99,114,
- 101,97,116,101,101,110,118,105,114,111,110,46,60,108,111,99,
- 97,108,115,62,46,101,110,99,111,100,101,107,101,121,15,3,
- 0,0,115,22,0,0,0,248,128,0,217,19,25,152,35,147,
- 59,215,19,36,209,19,36,211,19,38,208,12,38,114,27,0,
- 0,0,99,1,0,0,0,0,0,0,0,0,0,0,0,6,
- 0,0,0,19,0,0,0,243,138,0,0,0,149,1,151,0,
- 116,1,0,0,0,0,0,0,0,0,124,0,116,2,0,0,
- 0,0,0,0,0,0,171,2,0,0,0,0,0,0,115,33,
- 116,5,0,0,0,0,0,0,0,0,100,1,116,7,0,0,
+ 3,0,0,0,3,0,0,0,243,24,0,0,0,151,0,116,
+ 1,0,0,0,0,0,0,0,0,124,0,171,1,0,0,0,
+ 0,0,0,83,0,114,23,0,0,0,41,1,218,4,100,105,
+ 99,116,114,17,1,0,0,115,1,0,0,0,32,114,25,0,
+ 0,0,218,4,99,111,112,121,122,13,95,69,110,118,105,114,
+ 111,110,46,99,111,112,121,236,2,0,0,115,12,0,0,0,
+ 128,0,220,15,19,144,68,139,122,208,8,25,114,27,0,0,
+ 0,99,3,0,0,0,0,0,0,0,0,0,0,0,3,0,
+ 0,0,3,0,0,0,243,30,0,0,0,151,0,124,1,124,
+ 0,118,1,114,5,124,2,124,0,124,1,60,0,0,0,124,
+ 0,124,1,25,0,0,0,83,0,114,23,0,0,0,169,0,
+ 114,2,1,0,0,115,3,0,0,0,32,32,32,114,25,0,
+ 0,0,218,10,115,101,116,100,101,102,97,117,108,116,122,19,
+ 95,69,110,118,105,114,111,110,46,115,101,116,100,101,102,97,
+ 117,108,116,239,2,0,0,115,28,0,0,0,128,0,216,11,
+ 14,144,100,137,63,216,24,29,136,68,144,19,137,73,216,15,
+ 19,144,67,137,121,208,8,24,114,27,0,0,0,99,2,0,
+ 0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,
+ 0,0,243,40,0,0,0,151,0,124,0,106,1,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,
+ 1,171,1,0,0,0,0,0,0,1,0,124,0,83,0,114,
+ 23,0,0,0,41,1,218,6,117,112,100,97,116,101,41,2,
+ 114,254,0,0,0,218,5,111,116,104,101,114,115,2,0,0,
+ 0,32,32,114,25,0,0,0,218,7,95,95,105,111,114,95,
+ 95,122,16,95,69,110,118,105,114,111,110,46,95,95,105,111,
+ 114,95,95,244,2,0,0,115,19,0,0,0,128,0,216,8,
+ 12,143,11,137,11,144,69,212,8,26,216,15,19,136,11,114,
+ 27,0,0,0,99,2,0,0,0,0,0,0,0,0,0,0,
+ 0,4,0,0,0,3,0,0,0,243,106,0,0,0,151,0,
+ 116,1,0,0,0,0,0,0,0,0,124,1,116,2,0,0,
+ 0,0,0,0,0,0,171,2,0,0,0,0,0,0,115,6,
+ 116,4,0,0,0,0,0,0,0,0,83,0,116,7,0,0,
0,0,0,0,0,0,124,0,171,1,0,0,0,0,0,0,
- 106,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,122,6,0,0,171,1,0,0,0,0,0,0,
- 130,1,124,0,106,11,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,137,1,100,2,171,2,0,0,
- 0,0,0,0,83,0,41,3,78,114,46,1,0,0,218,15,
- 115,117,114,114,111,103,97,116,101,101,115,99,97,112,101,41,
- 6,114,115,0,0,0,114,47,0,0,0,114,239,0,0,0,
- 114,47,1,0,0,114,41,1,0,0,114,52,1,0,0,169,
- 2,114,172,0,0,0,218,8,101,110,99,111,100,105,110,103,
- 115,2,0,0,0,32,128,114,25,0,0,0,114,52,1,0,
- 0,122,30,95,99,114,101,97,116,101,101,110,118,105,114,111,
- 110,46,60,108,111,99,97,108,115,62,46,101,110,99,111,100,
- 101,23,3,0,0,115,58,0,0,0,248,128,0,220,19,29,
- 152,101,164,83,212,19,41,220,22,31,208,32,54,188,20,184,
- 101,187,27,215,57,77,209,57,77,209,32,77,211,22,78,208,
- 16,78,216,19,24,151,60,145,60,160,8,208,42,59,211,19,
- 60,208,12,60,114,27,0,0,0,99,1,0,0,0,0,0,
- 0,0,0,0,0,0,4,0,0,0,19,0,0,0,243,40,
- 0,0,0,149,1,151,0,124,0,106,1,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,137,1,100,
- 1,171,2,0,0,0,0,0,0,83,0,41,2,78,114,54,
- 1,0,0,41,1,218,6,100,101,99,111,100,101,114,55,1,
- 0,0,115,2,0,0,0,32,128,114,25,0,0,0,114,58,
- 1,0,0,122,30,95,99,114,101,97,116,101,101,110,118,105,
- 114,111,110,46,60,108,111,99,97,108,115,62,46,100,101,99,
- 111,100,101,27,3,0,0,115,21,0,0,0,248,128,0,216,
- 19,24,151,60,145,60,160,8,208,42,59,211,19,60,208,12,
- 60,114,27,0,0,0,41,7,114,11,0,0,0,114,47,0,
- 0,0,114,220,0,0,0,114,21,1,0,0,114,132,0,0,
- 0,218,21,103,101,116,102,105,108,101,115,121,115,116,101,109,
- 101,110,99,111,100,105,110,103,114,247,0,0,0,41,8,114,
- 49,1,0,0,114,58,1,0,0,114,249,0,0,0,114,255,
- 0,0,0,114,3,1,0,0,114,172,0,0,0,114,52,1,
- 0,0,114,56,1,0,0,115,8,0,0,0,32,32,32,32,
- 32,32,64,64,114,25,0,0,0,218,14,95,99,114,101,97,
- 116,101,101,110,118,105,114,111,110,114,60,1,0,0,6,3,
- 0,0,115,132,0,0,0,249,128,0,220,7,11,136,116,130,
- 124,242,4,3,9,25,240,8,0,18,27,136,6,220,17,20,
- 136,6,244,2,1,9,39,224,15,17,136,4,220,26,33,159,
- 45,153,45,158,47,137,74,136,67,144,21,216,35,40,136,68,
- 145,25,152,51,147,30,210,12,32,241,3,0,27,42,244,8,
- 0,20,23,215,19,44,209,19,44,211,19,46,136,8,244,2,
- 3,9,61,244,8,1,9,61,224,20,26,136,9,220,15,22,
- 136,4,220,11,19,144,68,216,8,17,144,54,216,8,14,144,
- 6,243,5,2,12,24,240,0,2,5,24,114,27,0,0,0,
- 99,2,0,0,0,0,0,0,0,0,0,0,0,4,0,0,
- 0,3,0,0,0,243,46,0,0,0,151,0,116,0,0,0,
- 0,0,0,0,0,0,106,3,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,124,0,124,1,171,2,
- 0,0,0,0,0,0,83,0,41,1,122,169,71,101,116,32,
- 97,110,32,101,110,118,105,114,111,110,109,101,110,116,32,118,
- 97,114,105,97,98,108,101,44,32,114,101,116,117,114,110,32,
- 78,111,110,101,32,105,102,32,105,116,32,100,111,101,115,110,
- 39,116,32,101,120,105,115,116,46,10,32,32,32,32,84,104,
- 101,32,111,112,116,105,111,110,97,108,32,115,101,99,111,110,
- 100,32,97,114,103,117,109,101,110,116,32,99,97,110,32,115,
- 112,101,99,105,102,121,32,97,110,32,97,108,116,101,114,110,
- 97,116,101,32,100,101,102,97,117,108,116,46,10,32,32,32,
- 32,107,101,121,44,32,100,101,102,97,117,108,116,32,97,110,
- 100,32,116,104,101,32,114,101,115,117,108,116,32,97,114,101,
- 32,115,116,114,46,41,2,114,220,0,0,0,114,238,0,0,
- 0,169,2,114,3,1,0,0,218,7,100,101,102,97,117,108,
- 116,115,2,0,0,0,32,32,114,25,0,0,0,218,6,103,
- 101,116,101,110,118,114,64,1,0,0,40,3,0,0,115,21,
- 0,0,0,128,0,244,8,0,12,19,143,59,137,59,144,115,
- 152,71,211,11,36,208,4,36,114,27,0,0,0,41,2,114,
- 64,1,0,0,114,240,0,0,0,99,1,0,0,0,0,0,
- 0,0,0,0,0,0,6,0,0,0,3,0,0,0,243,104,
- 0,0,0,151,0,116,1,0,0,0,0,0,0,0,0,124,
- 0,116,2,0,0,0,0,0,0,0,0,171,2,0,0,0,
- 0,0,0,115,33,116,5,0,0,0,0,0,0,0,0,100,
- 1,116,7,0,0,0,0,0,0,0,0,124,0,171,1,0,
- 0,0,0,0,0,106,8,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,122,6,0,0,171,1,0,
- 0,0,0,0,0,130,1,124,0,83,0,41,2,78,122,22,
- 98,121,116,101,115,32,101,120,112,101,99,116,101,100,44,32,
- 110,111,116,32,37,115,41,5,114,115,0,0,0,114,116,0,
- 0,0,114,239,0,0,0,114,47,1,0,0,114,41,1,0,
- 0,114,48,1,0,0,115,1,0,0,0,32,114,25,0,0,
- 0,218,12,95,99,104,101,99,107,95,98,121,116,101,115,114,
- 66,1,0,0,50,3,0,0,115,44,0,0,0,128,0,220,
- 15,25,152,37,164,21,212,15,39,220,18,27,208,28,52,180,
- 116,184,69,179,123,215,55,75,209,55,75,209,28,75,211,18,
- 76,208,12,76,216,15,20,136,12,114,27,0,0,0,99,2,
- 0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,
- 0,0,0,243,46,0,0,0,151,0,116,0,0,0,0,0,
- 0,0,0,0,106,3,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,124,0,124,1,171,2,0,0,
- 0,0,0,0,83,0,41,1,122,179,71,101,116,32,97,110,
- 32,101,110,118,105,114,111,110,109,101,110,116,32,118,97,114,
- 105,97,98,108,101,44,32,114,101,116,117,114,110,32,78,111,
- 110,101,32,105,102,32,105,116,32,100,111,101,115,110,39,116,
- 32,101,120,105,115,116,46,10,32,32,32,32,32,32,32,32,
- 84,104,101,32,111,112,116,105,111,110,97,108,32,115,101,99,
- 111,110,100,32,97,114,103,117,109,101,110,116,32,99,97,110,
- 32,115,112,101,99,105,102,121,32,97,110,32,97,108,116,101,
- 114,110,97,116,101,32,100,101,102,97,117,108,116,46,10,32,
- 32,32,32,32,32,32,32,107,101,121,44,32,100,101,102,97,
- 117,108,116,32,97,110,100,32,116,104,101,32,114,101,115,117,
- 108,116,32,97,114,101,32,98,121,116,101,115,46,41,2,218,
- 8,101,110,118,105,114,111,110,98,114,238,0,0,0,114,62,
- 1,0,0,115,2,0,0,0,32,32,114,25,0,0,0,218,
- 7,103,101,116,101,110,118,98,114,69,1,0,0,61,3,0,
- 0,115,21,0,0,0,128,0,244,8,0,16,24,143,124,137,
- 124,152,67,160,23,211,15,41,208,8,41,114,27,0,0,0,
- 41,2,114,68,1,0,0,114,69,1,0,0,99,0,0,0,
- 0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,
- 0,243,118,0,0,0,135,2,135,3,151,0,116,1,0,0,
- 0,0,0,0,0,0,106,2,0,0,0,0,0,0,0,0,
+ 125,2,124,2,106,9,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,124,1,171,1,0,0,0,0,
+ 0,0,1,0,124,2,83,0,114,23,0,0,0,169,5,114,
+ 115,0,0,0,114,245,0,0,0,218,14,78,111,116,73,109,
+ 112,108,101,109,101,110,116,101,100,114,25,1,0,0,114,31,
+ 1,0,0,169,3,114,254,0,0,0,114,32,1,0,0,114,
+ 127,0,0,0,115,3,0,0,0,32,32,32,114,25,0,0,
+ 0,218,6,95,95,111,114,95,95,122,15,95,69,110,118,105,
+ 114,111,110,46,95,95,111,114,95,95,248,2,0,0,115,44,
+ 0,0,0,128,0,220,15,25,152,37,164,23,212,15,41,220,
+ 19,33,208,12,33,220,14,18,144,52,139,106,136,3,216,8,
+ 11,143,10,137,10,144,53,212,8,25,216,15,18,136,10,114,
+ 27,0,0,0,99,2,0,0,0,0,0,0,0,0,0,0,
+ 0,4,0,0,0,3,0,0,0,243,106,0,0,0,151,0,
+ 116,1,0,0,0,0,0,0,0,0,124,1,116,2,0,0,
+ 0,0,0,0,0,0,171,2,0,0,0,0,0,0,115,6,
+ 116,4,0,0,0,0,0,0,0,0,83,0,116,7,0,0,
+ 0,0,0,0,0,0,124,1,171,1,0,0,0,0,0,0,
+ 125,2,124,2,106,9,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,124,0,171,1,0,0,0,0,
+ 0,0,1,0,124,2,83,0,114,23,0,0,0,114,35,1,
+ 0,0,114,37,1,0,0,115,3,0,0,0,32,32,32,114,
+ 25,0,0,0,218,7,95,95,114,111,114,95,95,122,16,95,
+ 69,110,118,105,114,111,110,46,95,95,114,111,114,95,95,255,
+ 2,0,0,115,44,0,0,0,128,0,220,15,25,152,37,164,
+ 23,212,15,41,220,19,33,208,12,33,220,14,18,144,53,139,
+ 107,136,3,216,8,11,143,10,137,10,144,52,212,8,24,216,
+ 15,18,136,10,114,27,0,0,0,78,41,15,218,8,95,95,
+ 110,97,109,101,95,95,218,10,95,95,109,111,100,117,108,101,
+ 95,95,218,12,95,95,113,117,97,108,110,97,109,101,95,95,
+ 114,0,1,0,0,114,4,1,0,0,114,7,1,0,0,114,
+ 11,1,0,0,114,14,1,0,0,114,18,1,0,0,114,23,
+ 1,0,0,114,26,1,0,0,114,29,1,0,0,114,33,1,
+ 0,0,114,38,1,0,0,114,40,1,0,0,114,28,1,0,
+ 0,114,27,0,0,0,114,25,0,0,0,114,247,0,0,0,
+ 114,247,0,0,0,189,2,0,0,115,62,0,0,0,132,0,
+ 242,2,5,5,26,242,14,6,5,39,242,16,4,5,32,242,
+ 12,7,5,42,242,18,4,5,38,242,12,1,5,31,242,6,
+ 5,5,49,242,14,1,5,26,242,6,3,5,25,242,10,2,
+ 5,20,242,8,5,5,19,243,14,5,5,19,114,27,0,0,
+ 0,114,247,0,0,0,99,0,0,0,0,0,0,0,0,0,
+ 0,0,0,7,0,0,0,3,0,0,0,243,246,0,0,0,
+ 135,6,135,7,151,0,116,0,0,0,0,0,0,0,0,0,
+ 100,1,107,40,0,0,114,58,100,2,132,0,125,0,124,0,
+ 138,6,116,2,0,0,0,0,0,0,0,0,125,1,136,6,
+ 102,1,100,3,132,8,125,2,105,0,125,3,116,4,0,0,
+ 0,0,0,0,0,0,106,7,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,171,0,0,0,0,0,
+ 0,0,68,0,93,16,0,0,92,2,0,0,125,4,125,5,
+ 124,5,124,3,2,0,124,2,124,4,171,1,0,0,0,0,
+ 0,0,60,0,0,0,140,18,4,0,110,38,116,9,0,0,
+ 0,0,0,0,0,0,106,10,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,171,0,0,0,0,0,
- 0,0,138,2,116,1,0,0,0,0,0,0,0,0,106,4,
+ 0,0,138,7,136,7,102,1,100,4,132,8,138,6,136,7,
+ 102,1,100,5,132,8,125,1,137,6,125,2,116,4,0,0,
+ 0,0,0,0,0,0,125,3,116,13,0,0,0,0,0,0,
+ 0,0,124,3,124,2,124,1,137,6,124,1,171,5,0,0,
+ 0,0,0,0,83,0,41,6,78,114,42,0,0,0,99,1,
+ 0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,19,
+ 0,0,0,243,104,0,0,0,151,0,116,1,0,0,0,0,
+ 0,0,0,0,124,0,116,2,0,0,0,0,0,0,0,0,
+ 171,2,0,0,0,0,0,0,115,33,116,5,0,0,0,0,
+ 0,0,0,0,100,1,116,7,0,0,0,0,0,0,0,0,
+ 124,0,171,1,0,0,0,0,0,0,106,8,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,122,6,
+ 0,0,171,1,0,0,0,0,0,0,130,1,124,0,83,0,
+ 41,2,78,250,20,115,116,114,32,101,120,112,101,99,116,101,
+ 100,44,32,110,111,116,32,37,115,41,5,114,115,0,0,0,
+ 114,47,0,0,0,114,239,0,0,0,218,4,116,121,112,101,
+ 114,41,1,0,0,169,1,114,172,0,0,0,115,1,0,0,
+ 0,32,114,25,0,0,0,218,9,99,104,101,99,107,95,115,
+ 116,114,122,33,95,99,114,101,97,116,101,101,110,118,105,114,
+ 111,110,46,60,108,111,99,97,108,115,62,46,99,104,101,99,
+ 107,95,115,116,114,9,3,0,0,115,44,0,0,0,128,0,
+ 220,19,29,152,101,164,83,212,19,41,220,22,31,208,32,54,
+ 188,20,184,101,187,27,215,57,77,209,57,77,209,32,77,211,
+ 22,78,208,16,78,216,19,24,136,76,114,27,0,0,0,99,
+ 1,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,
+ 19,0,0,0,243,48,0,0,0,149,1,151,0,2,0,137,
+ 1,124,0,171,1,0,0,0,0,0,0,106,1,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,
+ 0,0,0,0,0,0,0,83,0,114,23,0,0,0,41,1,
+ 218,5,117,112,112,101,114,41,2,114,3,1,0,0,218,6,
+ 101,110,99,111,100,101,115,2,0,0,0,32,128,114,25,0,
+ 0,0,114,249,0,0,0,122,33,95,99,114,101,97,116,101,
+ 101,110,118,105,114,111,110,46,60,108,111,99,97,108,115,62,
+ 46,101,110,99,111,100,101,107,101,121,15,3,0,0,115,22,
+ 0,0,0,248,128,0,217,19,25,152,35,147,59,215,19,36,
+ 209,19,36,211,19,38,208,12,38,114,27,0,0,0,99,1,
+ 0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,19,
+ 0,0,0,243,138,0,0,0,149,1,151,0,116,1,0,0,
+ 0,0,0,0,0,0,124,0,116,2,0,0,0,0,0,0,
+ 0,0,171,2,0,0,0,0,0,0,115,33,116,5,0,0,
+ 0,0,0,0,0,0,100,1,116,7,0,0,0,0,0,0,
+ 0,0,124,0,171,1,0,0,0,0,0,0,106,8,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,171,0,0,0,0,0,0,0,138,3,136,2,136,3,
- 102,2,100,1,132,8,125,0,136,2,136,3,102,2,100,2,
- 132,8,125,1,124,0,124,1,102,2,83,0,41,3,78,99,
+ 122,6,0,0,171,1,0,0,0,0,0,0,130,1,124,0,
+ 106,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,137,1,100,2,171,2,0,0,0,0,0,0,
+ 83,0,41,3,78,114,46,1,0,0,218,15,115,117,114,114,
+ 111,103,97,116,101,101,115,99,97,112,101,41,6,114,115,0,
+ 0,0,114,47,0,0,0,114,239,0,0,0,114,47,1,0,
+ 0,114,41,1,0,0,114,52,1,0,0,169,2,114,172,0,
+ 0,0,218,8,101,110,99,111,100,105,110,103,115,2,0,0,
+ 0,32,128,114,25,0,0,0,114,52,1,0,0,122,30,95,
+ 99,114,101,97,116,101,101,110,118,105,114,111,110,46,60,108,
+ 111,99,97,108,115,62,46,101,110,99,111,100,101,23,3,0,
+ 0,115,58,0,0,0,248,128,0,220,19,29,152,101,164,83,
+ 212,19,41,220,22,31,208,32,54,188,20,184,101,187,27,215,
+ 57,77,209,57,77,209,32,77,211,22,78,208,16,78,216,19,
+ 24,151,60,145,60,160,8,208,42,59,211,19,60,208,12,60,
+ 114,27,0,0,0,99,1,0,0,0,0,0,0,0,0,0,
+ 0,0,4,0,0,0,19,0,0,0,243,40,0,0,0,149,
+ 1,151,0,124,0,106,1,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,137,1,100,1,171,2,0,
+ 0,0,0,0,0,83,0,41,2,78,114,54,1,0,0,41,
+ 1,218,6,100,101,99,111,100,101,114,55,1,0,0,115,2,
+ 0,0,0,32,128,114,25,0,0,0,114,58,1,0,0,122,
+ 30,95,99,114,101,97,116,101,101,110,118,105,114,111,110,46,
+ 60,108,111,99,97,108,115,62,46,100,101,99,111,100,101,27,
+ 3,0,0,115,21,0,0,0,248,128,0,216,19,24,151,60,
+ 145,60,160,8,208,42,59,211,19,60,208,12,60,114,27,0,
+ 0,0,41,7,114,11,0,0,0,114,47,0,0,0,114,220,
+ 0,0,0,114,21,1,0,0,114,132,0,0,0,218,21,103,
+ 101,116,102,105,108,101,115,121,115,116,101,109,101,110,99,111,
+ 100,105,110,103,114,247,0,0,0,41,8,114,49,1,0,0,
+ 114,58,1,0,0,114,249,0,0,0,114,255,0,0,0,114,
+ 3,1,0,0,114,172,0,0,0,114,52,1,0,0,114,56,
+ 1,0,0,115,8,0,0,0,32,32,32,32,32,32,64,64,
+ 114,25,0,0,0,218,14,95,99,114,101,97,116,101,101,110,
+ 118,105,114,111,110,114,60,1,0,0,6,3,0,0,115,132,
+ 0,0,0,249,128,0,220,7,11,136,116,130,124,242,4,3,
+ 9,25,240,8,0,18,27,136,6,220,17,20,136,6,244,2,
+ 1,9,39,224,15,17,136,4,220,26,33,159,45,153,45,158,
+ 47,137,74,136,67,144,21,216,35,40,136,68,145,25,152,51,
+ 147,30,210,12,32,241,3,0,27,42,244,8,0,20,23,215,
+ 19,44,209,19,44,211,19,46,136,8,244,2,3,9,61,244,
+ 8,1,9,61,224,20,26,136,9,220,15,22,136,4,220,11,
+ 19,144,68,216,8,17,144,54,216,8,14,144,6,243,5,2,
+ 12,24,240,0,2,5,24,114,27,0,0,0,99,2,0,0,
+ 0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,
+ 0,243,46,0,0,0,151,0,116,0,0,0,0,0,0,0,
+ 0,0,106,3,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,124,0,124,1,171,2,0,0,0,0,
+ 0,0,83,0,41,1,122,169,71,101,116,32,97,110,32,101,
+ 110,118,105,114,111,110,109,101,110,116,32,118,97,114,105,97,
+ 98,108,101,44,32,114,101,116,117,114,110,32,78,111,110,101,
+ 32,105,102,32,105,116,32,100,111,101,115,110,39,116,32,101,
+ 120,105,115,116,46,10,32,32,32,32,84,104,101,32,111,112,
+ 116,105,111,110,97,108,32,115,101,99,111,110,100,32,97,114,
+ 103,117,109,101,110,116,32,99,97,110,32,115,112,101,99,105,
+ 102,121,32,97,110,32,97,108,116,101,114,110,97,116,101,32,
+ 100,101,102,97,117,108,116,46,10,32,32,32,32,107,101,121,
+ 44,32,100,101,102,97,117,108,116,32,97,110,100,32,116,104,
+ 101,32,114,101,115,117,108,116,32,97,114,101,32,115,116,114,
+ 46,41,2,114,220,0,0,0,114,238,0,0,0,169,2,114,
+ 3,1,0,0,218,7,100,101,102,97,117,108,116,115,2,0,
+ 0,0,32,32,114,25,0,0,0,218,6,103,101,116,101,110,
+ 118,114,64,1,0,0,40,3,0,0,115,21,0,0,0,128,
+ 0,244,8,0,12,19,143,59,137,59,144,115,152,71,211,11,
+ 36,208,4,36,114,27,0,0,0,41,2,114,64,1,0,0,
+ 114,240,0,0,0,99,1,0,0,0,0,0,0,0,0,0,
+ 0,0,6,0,0,0,3,0,0,0,243,104,0,0,0,151,
+ 0,116,1,0,0,0,0,0,0,0,0,124,0,116,2,0,
+ 0,0,0,0,0,0,0,171,2,0,0,0,0,0,0,115,
+ 33,116,5,0,0,0,0,0,0,0,0,100,1,116,7,0,
+ 0,0,0,0,0,0,0,124,0,171,1,0,0,0,0,0,
+ 0,106,8,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,122,6,0,0,171,1,0,0,0,0,0,
+ 0,130,1,124,0,83,0,41,2,78,122,22,98,121,116,101,
+ 115,32,101,120,112,101,99,116,101,100,44,32,110,111,116,32,
+ 37,115,41,5,114,115,0,0,0,114,116,0,0,0,114,239,
+ 0,0,0,114,47,1,0,0,114,41,1,0,0,114,48,1,
+ 0,0,115,1,0,0,0,32,114,25,0,0,0,218,12,95,
+ 99,104,101,99,107,95,98,121,116,101,115,114,66,1,0,0,
+ 50,3,0,0,115,44,0,0,0,128,0,220,15,25,152,37,
+ 164,21,212,15,39,220,18,27,208,28,52,180,116,184,69,179,
+ 123,215,55,75,209,55,75,209,28,75,211,18,76,208,12,76,
+ 216,15,20,136,12,114,27,0,0,0,99,2,0,0,0,0,
+ 0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,243,
+ 46,0,0,0,151,0,116,0,0,0,0,0,0,0,0,0,
+ 106,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,124,0,124,1,171,2,0,0,0,0,0,0,
+ 83,0,41,1,122,179,71,101,116,32,97,110,32,101,110,118,
+ 105,114,111,110,109,101,110,116,32,118,97,114,105,97,98,108,
+ 101,44,32,114,101,116,117,114,110,32,78,111,110,101,32,105,
+ 102,32,105,116,32,100,111,101,115,110,39,116,32,101,120,105,
+ 115,116,46,10,32,32,32,32,32,32,32,32,84,104,101,32,
+ 111,112,116,105,111,110,97,108,32,115,101,99,111,110,100,32,
+ 97,114,103,117,109,101,110,116,32,99,97,110,32,115,112,101,
+ 99,105,102,121,32,97,110,32,97,108,116,101,114,110,97,116,
+ 101,32,100,101,102,97,117,108,116,46,10,32,32,32,32,32,
+ 32,32,32,107,101,121,44,32,100,101,102,97,117,108,116,32,
+ 97,110,100,32,116,104,101,32,114,101,115,117,108,116,32,97,
+ 114,101,32,98,121,116,101,115,46,41,2,218,8,101,110,118,
+ 105,114,111,110,98,114,238,0,0,0,114,62,1,0,0,115,
+ 2,0,0,0,32,32,114,25,0,0,0,218,7,103,101,116,
+ 101,110,118,98,114,69,1,0,0,61,3,0,0,115,21,0,
+ 0,0,128,0,244,8,0,16,24,143,124,137,124,152,67,160,
+ 23,211,15,41,208,8,41,114,27,0,0,0,41,2,114,68,
+ 1,0,0,114,69,1,0,0,99,0,0,0,0,0,0,0,
+ 0,0,0,0,0,2,0,0,0,3,0,0,0,243,118,0,
+ 0,0,135,2,135,3,151,0,116,1,0,0,0,0,0,0,
+ 0,0,106,2,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,171,0,0,0,0,0,0,0,138,2,
+ 116,1,0,0,0,0,0,0,0,0,106,4,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,0,
+ 0,0,0,0,0,0,138,3,136,2,136,3,102,2,100,1,
+ 132,8,125,0,136,2,136,3,102,2,100,2,132,8,125,1,
+ 124,0,124,1,102,2,83,0,41,3,78,99,1,0,0,0,
+ 0,0,0,0,0,0,0,0,4,0,0,0,19,0,0,0,
+ 243,98,0,0,0,149,2,151,0,116,1,0,0,0,0,0,
+ 0,0,0,124,0,171,1,0,0,0,0,0,0,125,0,116,
+ 3,0,0,0,0,0,0,0,0,124,0,116,4,0,0,0,
+ 0,0,0,0,0,171,2,0,0,0,0,0,0,114,18,124,
+ 0,106,7,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,137,1,137,2,171,2,0,0,0,0,0,
+ 0,83,0,124,0,83,0,41,1,97,23,1,0,0,69,110,
+ 99,111,100,101,32,102,105,108,101,110,97,109,101,32,40,97,
+ 110,32,111,115,46,80,97,116,104,76,105,107,101,44,32,98,
+ 121,116,101,115,44,32,111,114,32,115,116,114,41,32,116,111,
+ 32,116,104,101,32,102,105,108,101,115,121,115,116,101,109,10,
+ 32,32,32,32,32,32,32,32,101,110,99,111,100,105,110,103,
+ 32,119,105,116,104,32,39,115,117,114,114,111,103,97,116,101,
+ 101,115,99,97,112,101,39,32,101,114,114,111,114,32,104,97,
+ 110,100,108,101,114,44,32,114,101,116,117,114,110,32,98,121,
+ 116,101,115,32,117,110,99,104,97,110,103,101,100,46,10,32,
+ 32,32,32,32,32,32,32,79,110,32,87,105,110,100,111,119,
+ 115,44,32,117,115,101,32,39,115,116,114,105,99,116,39,32,
+ 101,114,114,111,114,32,104,97,110,100,108,101,114,32,105,102,
+ 32,116,104,101,32,102,105,108,101,32,115,121,115,116,101,109,
+ 32,101,110,99,111,100,105,110,103,32,105,115,10,32,32,32,
+ 32,32,32,32,32,39,109,98,99,115,39,32,40,119,104,105,
+ 99,104,32,105,115,32,116,104,101,32,100,101,102,97,117,108,
+ 116,32,101,110,99,111,100,105,110,103,41,46,10,32,32,32,
+ 32,32,32,32,32,41,4,114,134,0,0,0,114,115,0,0,
+ 0,114,47,0,0,0,114,52,1,0,0,169,3,218,8,102,
+ 105,108,101,110,97,109,101,114,56,1,0,0,218,6,101,114,
+ 114,111,114,115,115,3,0,0,0,32,128,128,114,25,0,0,
+ 0,114,17,0,0,0,122,26,95,102,115,99,111,100,101,99,
+ 46,60,108,111,99,97,108,115,62,46,102,115,101,110,99,111,
+ 100,101,73,3,0,0,115,47,0,0,0,248,128,0,244,12,
+ 0,20,26,152,40,211,19,35,136,8,220,11,21,144,104,164,
+ 3,212,11,36,216,19,27,151,63,145,63,160,56,168,86,211,
+ 19,52,208,12,52,224,19,27,136,79,114,27,0,0,0,99,
1,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,
19,0,0,0,243,98,0,0,0,149,2,151,0,116,1,0,
0,0,0,0,0,0,0,124,0,171,1,0,0,0,0,0,
@@ -1862,16 +1900,16 @@ const unsigned char _Py_M__os[] = {
0,114,18,124,0,106,7,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,137,1,137,2,171,2,0,
0,0,0,0,0,83,0,124,0,83,0,41,1,97,23,1,
- 0,0,69,110,99,111,100,101,32,102,105,108,101,110,97,109,
+ 0,0,68,101,99,111,100,101,32,102,105,108,101,110,97,109,
101,32,40,97,110,32,111,115,46,80,97,116,104,76,105,107,
101,44,32,98,121,116,101,115,44,32,111,114,32,115,116,114,
- 41,32,116,111,32,116,104,101,32,102,105,108,101,115,121,115,
- 116,101,109,10,32,32,32,32,32,32,32,32,101,110,99,111,
- 100,105,110,103,32,119,105,116,104,32,39,115,117,114,114,111,
- 103,97,116,101,101,115,99,97,112,101,39,32,101,114,114,111,
- 114,32,104,97,110,100,108,101,114,44,32,114,101,116,117,114,
- 110,32,98,121,116,101,115,32,117,110,99,104,97,110,103,101,
- 100,46,10,32,32,32,32,32,32,32,32,79,110,32,87,105,
+ 41,32,102,114,111,109,32,116,104,101,32,102,105,108,101,115,
+ 121,115,116,101,109,10,32,32,32,32,32,32,32,32,101,110,
+ 99,111,100,105,110,103,32,119,105,116,104,32,39,115,117,114,
+ 114,111,103,97,116,101,101,115,99,97,112,101,39,32,101,114,
+ 114,111,114,32,104,97,110,100,108,101,114,44,32,114,101,116,
+ 117,114,110,32,115,116,114,32,117,110,99,104,97,110,103,101,
+ 100,46,32,79,110,10,32,32,32,32,32,32,32,32,87,105,
110,100,111,119,115,44,32,117,115,101,32,39,115,116,114,105,
99,116,39,32,101,114,114,111,114,32,104,97,110,100,108,101,
114,32,105,102,32,116,104,101,32,102,105,108,101,32,115,121,
@@ -1880,151 +1918,146 @@ const unsigned char _Py_M__os[] = {
40,119,104,105,99,104,32,105,115,32,116,104,101,32,100,101,
102,97,117,108,116,32,101,110,99,111,100,105,110,103,41,46,
10,32,32,32,32,32,32,32,32,41,4,114,134,0,0,0,
- 114,115,0,0,0,114,47,0,0,0,114,52,1,0,0,169,
- 3,218,8,102,105,108,101,110,97,109,101,114,56,1,0,0,
- 218,6,101,114,114,111,114,115,115,3,0,0,0,32,128,128,
- 114,25,0,0,0,114,17,0,0,0,122,26,95,102,115,99,
- 111,100,101,99,46,60,108,111,99,97,108,115,62,46,102,115,
- 101,110,99,111,100,101,73,3,0,0,115,47,0,0,0,248,
- 128,0,244,12,0,20,26,152,40,211,19,35,136,8,220,11,
- 21,144,104,164,3,212,11,36,216,19,27,151,63,145,63,160,
- 56,168,86,211,19,52,208,12,52,224,19,27,136,79,114,27,
- 0,0,0,99,1,0,0,0,0,0,0,0,0,0,0,0,
- 4,0,0,0,19,0,0,0,243,98,0,0,0,149,2,151,
- 0,116,1,0,0,0,0,0,0,0,0,124,0,171,1,0,
- 0,0,0,0,0,125,0,116,3,0,0,0,0,0,0,0,
- 0,124,0,116,4,0,0,0,0,0,0,0,0,171,2,0,
- 0,0,0,0,0,114,18,124,0,106,7,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,137,1,137,
- 2,171,2,0,0,0,0,0,0,83,0,124,0,83,0,41,
- 1,97,23,1,0,0,68,101,99,111,100,101,32,102,105,108,
- 101,110,97,109,101,32,40,97,110,32,111,115,46,80,97,116,
- 104,76,105,107,101,44,32,98,121,116,101,115,44,32,111,114,
- 32,115,116,114,41,32,102,114,111,109,32,116,104,101,32,102,
- 105,108,101,115,121,115,116,101,109,10,32,32,32,32,32,32,
- 32,32,101,110,99,111,100,105,110,103,32,119,105,116,104,32,
- 39,115,117,114,114,111,103,97,116,101,101,115,99,97,112,101,
- 39,32,101,114,114,111,114,32,104,97,110,100,108,101,114,44,
- 32,114,101,116,117,114,110,32,115,116,114,32,117,110,99,104,
- 97,110,103,101,100,46,32,79,110,10,32,32,32,32,32,32,
- 32,32,87,105,110,100,111,119,115,44,32,117,115,101,32,39,
- 115,116,114,105,99,116,39,32,101,114,114,111,114,32,104,97,
- 110,100,108,101,114,32,105,102,32,116,104,101,32,102,105,108,
- 101,32,115,121,115,116,101,109,32,101,110,99,111,100,105,110,
- 103,32,105,115,10,32,32,32,32,32,32,32,32,39,109,98,
- 99,115,39,32,40,119,104,105,99,104,32,105,115,32,116,104,
- 101,32,100,101,102,97,117,108,116,32,101,110,99,111,100,105,
- 110,103,41,46,10,32,32,32,32,32,32,32,32,41,4,114,
- 134,0,0,0,114,115,0,0,0,114,116,0,0,0,114,58,
- 1,0,0,114,72,1,0,0,115,3,0,0,0,32,128,128,
- 114,25,0,0,0,114,18,0,0,0,122,26,95,102,115,99,
- 111,100,101,99,46,60,108,111,99,97,108,115,62,46,102,115,
- 100,101,99,111,100,101,85,3,0,0,115,47,0,0,0,248,
- 128,0,244,12,0,20,26,152,40,211,19,35,136,8,220,11,
- 21,144,104,164,5,212,11,38,216,19,27,151,63,145,63,160,
- 56,168,86,211,19,52,208,12,52,224,19,27,136,79,114,27,
- 0,0,0,41,3,114,132,0,0,0,114,59,1,0,0,218,
- 25,103,101,116,102,105,108,101,115,121,115,116,101,109,101,110,
- 99,111,100,101,101,114,114,111,114,115,41,4,114,17,0,0,
- 0,114,18,0,0,0,114,56,1,0,0,114,74,1,0,0,
- 115,4,0,0,0,32,32,64,64,114,25,0,0,0,218,8,
- 95,102,115,99,111,100,101,99,114,77,1,0,0,69,3,0,
- 0,115,54,0,0,0,249,128,0,220,15,18,215,15,40,209,
- 15,40,211,15,42,128,72,220,13,16,215,13,42,209,13,42,
- 211,13,44,128,70,245,4,10,5,28,245,24,10,5,28,240,
- 24,0,12,20,144,88,208,11,29,208,4,29,114,27,0,0,
- 0,218,4,102,111,114,107,218,6,115,112,97,119,110,118,114,
- 200,0,0,0,41,3,218,6,80,95,87,65,73,84,218,8,
- 80,95,78,79,87,65,73,84,218,9,80,95,78,79,87,65,
- 73,84,79,99,5,0,0,0,0,0,0,0,0,0,0,0,
- 5,0,0,0,3,0,0,0,243,58,1,0,0,151,0,116,
- 1,0,0,0,0,0,0,0,0,124,2,116,2,0,0,0,
- 0,0,0,0,0,116,4,0,0,0,0,0,0,0,0,102,
- 2,171,2,0,0,0,0,0,0,115,11,116,7,0,0,0,
- 0,0,0,0,0,100,1,171,1,0,0,0,0,0,0,130,
- 1,124,2,114,5,124,2,100,2,25,0,0,0,115,11,116,
- 9,0,0,0,0,0,0,0,0,100,3,171,1,0,0,0,
- 0,0,0,130,1,116,11,0,0,0,0,0,0,0,0,171,
- 0,0,0,0,0,0,0,125,5,124,5,115,25,9,0,124,
- 3,128,10,2,0,124,4,124,1,124,2,171,2,0,0,0,
- 0,0,0,1,0,110,11,2,0,124,4,124,1,124,2,124,
- 3,171,3,0,0,0,0,0,0,1,0,121,0,121,0,124,
- 0,116,14,0,0,0,0,0,0,0,0,107,40,0,0,114,
- 2,124,5,83,0,9,0,116,17,0,0,0,0,0,0,0,
- 0,124,5,100,2,171,2,0,0,0,0,0,0,92,2,0,
- 0,125,6,125,7,116,19,0,0,0,0,0,0,0,0,124,
- 7,171,1,0,0,0,0,0,0,114,1,140,28,116,21,0,
- 0,0,0,0,0,0,0,124,7,171,1,0,0,0,0,0,
- 0,83,0,35,0,1,0,116,13,0,0,0,0,0,0,0,
- 0,100,4,171,1,0,0,0,0,0,0,1,0,89,0,121,
- 0,120,3,89,0,119,1,41,5,78,122,30,97,114,103,118,
- 32,109,117,115,116,32,98,101,32,97,32,116,117,112,108,101,
- 32,111,114,32,97,32,108,105,115,116,114,2,0,0,0,122,
- 34,97,114,103,118,32,102,105,114,115,116,32,101,108,101,109,
- 101,110,116,32,99,97,110,110,111,116,32,98,101,32,101,109,
- 112,116,121,233,127,0,0,0,41,11,114,115,0,0,0,114,
- 138,0,0,0,114,30,0,0,0,114,239,0,0,0,114,241,
- 0,0,0,114,78,1,0,0,114,40,0,0,0,114,81,1,
- 0,0,218,7,119,97,105,116,112,105,100,218,10,87,73,70,
- 83,84,79,80,80,69,68,218,22,119,97,105,116,115,116,97,
- 116,117,115,95,116,111,95,101,120,105,116,99,111,100,101,41,
- 8,114,119,0,0,0,114,202,0,0,0,114,203,0,0,0,
- 114,207,0,0,0,218,4,102,117,110,99,218,3,112,105,100,
- 218,4,119,112,105,100,218,3,115,116,115,115,8,0,0,0,
- 32,32,32,32,32,32,32,32,114,25,0,0,0,218,9,95,
- 115,112,97,119,110,118,101,102,114,92,1,0,0,114,3,0,
- 0,115,164,0,0,0,128,0,228,15,25,152,36,164,21,172,
- 4,160,13,212,15,46,220,18,27,208,28,60,211,18,61,208,
- 12,61,217,15,19,152,52,160,1,154,55,220,18,28,208,29,
- 65,211,18,66,208,12,66,220,14,18,139,102,136,3,217,15,
- 18,240,4,6,13,27,216,19,22,144,59,217,20,24,152,20,
- 152,116,213,20,36,225,20,24,152,20,152,116,160,83,213,20,
- 41,240,5,0,21,37,240,14,0,16,20,148,120,210,15,31,
- 216,23,26,144,10,216,18,19,220,28,35,160,67,168,17,155,
- 79,145,9,144,4,144,99,220,19,29,152,99,148,63,216,20,
- 28,228,23,45,168,99,211,23,50,208,16,50,248,240,23,1,
- 13,27,220,16,21,144,99,150,10,250,115,12,0,0,0,193,
- 1,22,66,11,0,194,11,13,66,26,3,99,3,0,0,0,
- 0,0,0,0,0,0,0,0,7,0,0,0,3,0,0,0,
- 243,40,0,0,0,151,0,116,1,0,0,0,0,0,0,0,
- 0,124,0,124,1,124,2,100,1,116,2,0,0,0,0,0,
- 0,0,0,171,5,0,0,0,0,0,0,83,0,41,2,97,
- 21,1,0,0,115,112,97,119,110,118,40,109,111,100,101,44,
- 32,102,105,108,101,44,32,97,114,103,115,41,32,45,62,32,
- 105,110,116,101,103,101,114,10,10,69,120,101,99,117,116,101,
- 32,102,105,108,101,32,119,105,116,104,32,97,114,103,117,109,
- 101,110,116,115,32,102,114,111,109,32,97,114,103,115,32,105,
- 110,32,97,32,115,117,98,112,114,111,99,101,115,115,46,10,
- 73,102,32,109,111,100,101,32,61,61,32,80,95,78,79,87,
- 65,73,84,32,114,101,116,117,114,110,32,116,104,101,32,112,
- 105,100,32,111,102,32,116,104,101,32,112,114,111,99,101,115,
- 115,46,10,73,102,32,109,111,100,101,32,61,61,32,80,95,
- 87,65,73,84,32,114,101,116,117,114,110,32,116,104,101,32,
- 112,114,111,99,101,115,115,39,115,32,101,120,105,116,32,99,
- 111,100,101,32,105,102,32,105,116,32,101,120,105,116,115,32,
- 110,111,114,109,97,108,108,121,59,10,111,116,104,101,114,119,
- 105,115,101,32,114,101,116,117,114,110,32,45,83,73,71,44,
- 32,119,104,101,114,101,32,83,73,71,32,105,115,32,116,104,
- 101,32,115,105,103,110,97,108,32,116,104,97,116,32,107,105,
- 108,108,101,100,32,105,116,46,32,78,41,2,114,92,1,0,
- 0,114,200,0,0,0,169,3,114,119,0,0,0,114,202,0,
- 0,0,114,203,0,0,0,115,3,0,0,0,32,32,32,114,
- 25,0,0,0,114,79,1,0,0,114,79,1,0,0,141,3,
- 0,0,115,23,0,0,0,128,0,244,14,0,16,25,152,20,
- 152,116,160,84,168,52,180,21,211,15,55,208,8,55,114,27,
- 0,0,0,99,4,0,0,0,0,0,0,0,0,0,0,0,
- 7,0,0,0,3,0,0,0,243,40,0,0,0,151,0,116,
- 1,0,0,0,0,0,0,0,0,124,0,124,1,124,2,124,
- 3,116,2,0,0,0,0,0,0,0,0,171,5,0,0,0,
- 0,0,0,83,0,41,1,97,58,1,0,0,115,112,97,119,
- 110,118,101,40,109,111,100,101,44,32,102,105,108,101,44,32,
- 97,114,103,115,44,32,101,110,118,41,32,45,62,32,105,110,
- 116,101,103,101,114,10,10,69,120,101,99,117,116,101,32,102,
- 105,108,101,32,119,105,116,104,32,97,114,103,117,109,101,110,
- 116,115,32,102,114,111,109,32,97,114,103,115,32,105,110,32,
- 97,32,115,117,98,112,114,111,99,101,115,115,32,119,105,116,
- 104,32,116,104,101,10,115,112,101,99,105,102,105,101,100,32,
- 101,110,118,105,114,111,110,109,101,110,116,46,10,73,102,32,
+ 114,115,0,0,0,114,116,0,0,0,114,58,1,0,0,114,
+ 72,1,0,0,115,3,0,0,0,32,128,128,114,25,0,0,
+ 0,114,18,0,0,0,122,26,95,102,115,99,111,100,101,99,
+ 46,60,108,111,99,97,108,115,62,46,102,115,100,101,99,111,
+ 100,101,85,3,0,0,115,47,0,0,0,248,128,0,244,12,
+ 0,20,26,152,40,211,19,35,136,8,220,11,21,144,104,164,
+ 5,212,11,38,216,19,27,151,63,145,63,160,56,168,86,211,
+ 19,52,208,12,52,224,19,27,136,79,114,27,0,0,0,41,
+ 3,114,132,0,0,0,114,59,1,0,0,218,25,103,101,116,
+ 102,105,108,101,115,121,115,116,101,109,101,110,99,111,100,101,
+ 101,114,114,111,114,115,41,4,114,17,0,0,0,114,18,0,
+ 0,0,114,56,1,0,0,114,74,1,0,0,115,4,0,0,
+ 0,32,32,64,64,114,25,0,0,0,218,8,95,102,115,99,
+ 111,100,101,99,114,77,1,0,0,69,3,0,0,115,54,0,
+ 0,0,249,128,0,220,15,18,215,15,40,209,15,40,211,15,
+ 42,128,72,220,13,16,215,13,42,209,13,42,211,13,44,128,
+ 70,245,4,10,5,28,245,24,10,5,28,240,24,0,12,20,
+ 144,88,208,11,29,208,4,29,114,27,0,0,0,218,4,102,
+ 111,114,107,218,6,115,112,97,119,110,118,114,200,0,0,0,
+ 41,3,218,6,80,95,87,65,73,84,218,8,80,95,78,79,
+ 87,65,73,84,218,9,80,95,78,79,87,65,73,84,79,99,
+ 5,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,
+ 3,0,0,0,243,58,1,0,0,151,0,116,1,0,0,0,
+ 0,0,0,0,0,124,2,116,2,0,0,0,0,0,0,0,
+ 0,116,4,0,0,0,0,0,0,0,0,102,2,171,2,0,
+ 0,0,0,0,0,115,11,116,7,0,0,0,0,0,0,0,
+ 0,100,1,171,1,0,0,0,0,0,0,130,1,124,2,114,
+ 5,124,2,100,2,25,0,0,0,115,11,116,9,0,0,0,
+ 0,0,0,0,0,100,3,171,1,0,0,0,0,0,0,130,
+ 1,116,11,0,0,0,0,0,0,0,0,171,0,0,0,0,
+ 0,0,0,125,5,124,5,115,25,9,0,124,3,128,10,2,
+ 0,124,4,124,1,124,2,171,2,0,0,0,0,0,0,1,
+ 0,110,11,2,0,124,4,124,1,124,2,124,3,171,3,0,
+ 0,0,0,0,0,1,0,121,0,121,0,124,0,116,14,0,
+ 0,0,0,0,0,0,0,107,40,0,0,114,2,124,5,83,
+ 0,9,0,116,17,0,0,0,0,0,0,0,0,124,5,100,
+ 2,171,2,0,0,0,0,0,0,92,2,0,0,125,6,125,
+ 7,116,19,0,0,0,0,0,0,0,0,124,7,171,1,0,
+ 0,0,0,0,0,114,1,140,28,116,21,0,0,0,0,0,
+ 0,0,0,124,7,171,1,0,0,0,0,0,0,83,0,35,
+ 0,1,0,116,13,0,0,0,0,0,0,0,0,100,4,171,
+ 1,0,0,0,0,0,0,1,0,89,0,121,0,120,3,89,
+ 0,119,1,41,5,78,122,30,97,114,103,118,32,109,117,115,
+ 116,32,98,101,32,97,32,116,117,112,108,101,32,111,114,32,
+ 97,32,108,105,115,116,114,2,0,0,0,122,34,97,114,103,
+ 118,32,102,105,114,115,116,32,101,108,101,109,101,110,116,32,
+ 99,97,110,110,111,116,32,98,101,32,101,109,112,116,121,233,
+ 127,0,0,0,41,11,114,115,0,0,0,114,138,0,0,0,
+ 114,30,0,0,0,114,239,0,0,0,114,241,0,0,0,114,
+ 78,1,0,0,114,40,0,0,0,114,81,1,0,0,218,7,
+ 119,97,105,116,112,105,100,218,10,87,73,70,83,84,79,80,
+ 80,69,68,218,22,119,97,105,116,115,116,97,116,117,115,95,
+ 116,111,95,101,120,105,116,99,111,100,101,41,8,114,119,0,
+ 0,0,114,202,0,0,0,114,203,0,0,0,114,207,0,0,
+ 0,218,4,102,117,110,99,218,3,112,105,100,218,4,119,112,
+ 105,100,218,3,115,116,115,115,8,0,0,0,32,32,32,32,
+ 32,32,32,32,114,25,0,0,0,218,9,95,115,112,97,119,
+ 110,118,101,102,114,92,1,0,0,114,3,0,0,115,164,0,
+ 0,0,128,0,228,15,25,152,36,164,21,172,4,160,13,212,
+ 15,46,220,18,27,208,28,60,211,18,61,208,12,61,217,15,
+ 19,152,52,160,1,154,55,220,18,28,208,29,65,211,18,66,
+ 208,12,66,220,14,18,139,102,136,3,217,15,18,240,4,6,
+ 13,27,216,19,22,144,59,217,20,24,152,20,152,116,213,20,
+ 36,225,20,24,152,20,152,116,160,83,213,20,41,240,5,0,
+ 21,37,240,14,0,16,20,148,120,210,15,31,216,23,26,144,
+ 10,216,18,19,220,28,35,160,67,168,17,155,79,145,9,144,
+ 4,144,99,220,19,29,152,99,148,63,216,20,28,228,23,45,
+ 168,99,211,23,50,208,16,50,248,240,23,1,13,27,220,16,
+ 21,144,99,150,10,250,115,12,0,0,0,193,1,22,66,11,
+ 0,194,11,13,66,26,3,99,3,0,0,0,0,0,0,0,
+ 0,0,0,0,7,0,0,0,3,0,0,0,243,40,0,0,
+ 0,151,0,116,1,0,0,0,0,0,0,0,0,124,0,124,
+ 1,124,2,100,1,116,2,0,0,0,0,0,0,0,0,171,
+ 5,0,0,0,0,0,0,83,0,41,2,97,21,1,0,0,
+ 115,112,97,119,110,118,40,109,111,100,101,44,32,102,105,108,
+ 101,44,32,97,114,103,115,41,32,45,62,32,105,110,116,101,
+ 103,101,114,10,10,69,120,101,99,117,116,101,32,102,105,108,
+ 101,32,119,105,116,104,32,97,114,103,117,109,101,110,116,115,
+ 32,102,114,111,109,32,97,114,103,115,32,105,110,32,97,32,
+ 115,117,98,112,114,111,99,101,115,115,46,10,73,102,32,109,
+ 111,100,101,32,61,61,32,80,95,78,79,87,65,73,84,32,
+ 114,101,116,117,114,110,32,116,104,101,32,112,105,100,32,111,
+ 102,32,116,104,101,32,112,114,111,99,101,115,115,46,10,73,
+ 102,32,109,111,100,101,32,61,61,32,80,95,87,65,73,84,
+ 32,114,101,116,117,114,110,32,116,104,101,32,112,114,111,99,
+ 101,115,115,39,115,32,101,120,105,116,32,99,111,100,101,32,
+ 105,102,32,105,116,32,101,120,105,116,115,32,110,111,114,109,
+ 97,108,108,121,59,10,111,116,104,101,114,119,105,115,101,32,
+ 114,101,116,117,114,110,32,45,83,73,71,44,32,119,104,101,
+ 114,101,32,83,73,71,32,105,115,32,116,104,101,32,115,105,
+ 103,110,97,108,32,116,104,97,116,32,107,105,108,108,101,100,
+ 32,105,116,46,32,78,41,2,114,92,1,0,0,114,200,0,
+ 0,0,169,3,114,119,0,0,0,114,202,0,0,0,114,203,
+ 0,0,0,115,3,0,0,0,32,32,32,114,25,0,0,0,
+ 114,79,1,0,0,114,79,1,0,0,141,3,0,0,115,23,
+ 0,0,0,128,0,244,14,0,16,25,152,20,152,116,160,84,
+ 168,52,180,21,211,15,55,208,8,55,114,27,0,0,0,99,
+ 4,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,
+ 3,0,0,0,243,40,0,0,0,151,0,116,1,0,0,0,
+ 0,0,0,0,0,124,0,124,1,124,2,124,3,116,2,0,
+ 0,0,0,0,0,0,0,171,5,0,0,0,0,0,0,83,
+ 0,41,1,97,58,1,0,0,115,112,97,119,110,118,101,40,
+ 109,111,100,101,44,32,102,105,108,101,44,32,97,114,103,115,
+ 44,32,101,110,118,41,32,45,62,32,105,110,116,101,103,101,
+ 114,10,10,69,120,101,99,117,116,101,32,102,105,108,101,32,
+ 119,105,116,104,32,97,114,103,117,109,101,110,116,115,32,102,
+ 114,111,109,32,97,114,103,115,32,105,110,32,97,32,115,117,
+ 98,112,114,111,99,101,115,115,32,119,105,116,104,32,116,104,
+ 101,10,115,112,101,99,105,102,105,101,100,32,101,110,118,105,
+ 114,111,110,109,101,110,116,46,10,73,102,32,109,111,100,101,
+ 32,61,61,32,80,95,78,79,87,65,73,84,32,114,101,116,
+ 117,114,110,32,116,104,101,32,112,105,100,32,111,102,32,116,
+ 104,101,32,112,114,111,99,101,115,115,46,10,73,102,32,109,
+ 111,100,101,32,61,61,32,80,95,87,65,73,84,32,114,101,
+ 116,117,114,110,32,116,104,101,32,112,114,111,99,101,115,115,
+ 39,115,32,101,120,105,116,32,99,111,100,101,32,105,102,32,
+ 105,116,32,101,120,105,116,115,32,110,111,114,109,97,108,108,
+ 121,59,10,111,116,104,101,114,119,105,115,101,32,114,101,116,
+ 117,114,110,32,45,83,73,71,44,32,119,104,101,114,101,32,
+ 83,73,71,32,105,115,32,116,104,101,32,115,105,103,110,97,
+ 108,32,116,104,97,116,32,107,105,108,108,101,100,32,105,116,
+ 46,32,41,2,114,92,1,0,0,114,88,0,0,0,169,4,
+ 114,119,0,0,0,114,202,0,0,0,114,203,0,0,0,114,
+ 207,0,0,0,115,4,0,0,0,32,32,32,32,114,25,0,
+ 0,0,218,7,115,112,97,119,110,118,101,114,97,1,0,0,
+ 150,3,0,0,115,23,0,0,0,128,0,244,16,0,16,25,
+ 152,20,152,116,160,84,168,51,180,6,211,15,55,208,8,55,
+ 114,27,0,0,0,99,3,0,0,0,0,0,0,0,0,0,
+ 0,0,7,0,0,0,3,0,0,0,243,40,0,0,0,151,
+ 0,116,1,0,0,0,0,0,0,0,0,124,0,124,1,124,
+ 2,100,1,116,2,0,0,0,0,0,0,0,0,171,5,0,
+ 0,0,0,0,0,83,0,41,2,97,56,1,0,0,115,112,
+ 97,119,110,118,112,40,109,111,100,101,44,32,102,105,108,101,
+ 44,32,97,114,103,115,41,32,45,62,32,105,110,116,101,103,
+ 101,114,10,10,69,120,101,99,117,116,101,32,102,105,108,101,
+ 32,40,119,104,105,99,104,32,105,115,32,108,111,111,107,101,
+ 100,32,102,111,114,32,97,108,111,110,103,32,36,80,65,84,
+ 72,41,32,119,105,116,104,32,97,114,103,117,109,101,110,116,
+ 115,32,102,114,111,109,10,97,114,103,115,32,105,110,32,97,
+ 32,115,117,98,112,114,111,99,101,115,115,46,10,73,102,32,
109,111,100,101,32,61,61,32,80,95,78,79,87,65,73,84,
32,114,101,116,117,114,110,32,116,104,101,32,112,105,100,32,
111,102,32,116,104,101,32,112,114,111,99,101,115,115,46,10,
@@ -2036,85 +2069,27 @@ const unsigned char _Py_M__os[] = {
32,114,101,116,117,114,110,32,45,83,73,71,44,32,119,104,
101,114,101,32,83,73,71,32,105,115,32,116,104,101,32,115,
105,103,110,97,108,32,116,104,97,116,32,107,105,108,108,101,
- 100,32,105,116,46,32,41,2,114,92,1,0,0,114,88,0,
- 0,0,169,4,114,119,0,0,0,114,202,0,0,0,114,203,
- 0,0,0,114,207,0,0,0,115,4,0,0,0,32,32,32,
- 32,114,25,0,0,0,218,7,115,112,97,119,110,118,101,114,
- 97,1,0,0,150,3,0,0,115,23,0,0,0,128,0,244,
- 16,0,16,25,152,20,152,116,160,84,168,51,180,6,211,15,
- 55,208,8,55,114,27,0,0,0,99,3,0,0,0,0,0,
- 0,0,0,0,0,0,7,0,0,0,3,0,0,0,243,40,
- 0,0,0,151,0,116,1,0,0,0,0,0,0,0,0,124,
- 0,124,1,124,2,100,1,116,2,0,0,0,0,0,0,0,
- 0,171,5,0,0,0,0,0,0,83,0,41,2,97,56,1,
- 0,0,115,112,97,119,110,118,112,40,109,111,100,101,44,32,
- 102,105,108,101,44,32,97,114,103,115,41,32,45,62,32,105,
- 110,116,101,103,101,114,10,10,69,120,101,99,117,116,101,32,
- 102,105,108,101,32,40,119,104,105,99,104,32,105,115,32,108,
- 111,111,107,101,100,32,102,111,114,32,97,108,111,110,103,32,
- 36,80,65,84,72,41,32,119,105,116,104,32,97,114,103,117,
- 109,101,110,116,115,32,102,114,111,109,10,97,114,103,115,32,
- 105,110,32,97,32,115,117,98,112,114,111,99,101,115,115,46,
- 10,73,102,32,109,111,100,101,32,61,61,32,80,95,78,79,
- 87,65,73,84,32,114,101,116,117,114,110,32,116,104,101,32,
- 112,105,100,32,111,102,32,116,104,101,32,112,114,111,99,101,
- 115,115,46,10,73,102,32,109,111,100,101,32,61,61,32,80,
- 95,87,65,73,84,32,114,101,116,117,114,110,32,116,104,101,
- 32,112,114,111,99,101,115,115,39,115,32,101,120,105,116,32,
- 99,111,100,101,32,105,102,32,105,116,32,101,120,105,116,115,
- 32,110,111,114,109,97,108,108,121,59,10,111,116,104,101,114,
- 119,105,115,101,32,114,101,116,117,114,110,32,45,83,73,71,
- 44,32,119,104,101,114,101,32,83,73,71,32,105,115,32,116,
- 104,101,32,115,105,103,110,97,108,32,116,104,97,116,32,107,
- 105,108,108,101,100,32,105,116,46,32,78,41,2,114,92,1,
- 0,0,114,210,0,0,0,114,94,1,0,0,115,3,0,0,
- 0,32,32,32,114,25,0,0,0,218,7,115,112,97,119,110,
- 118,112,114,99,1,0,0,162,3,0,0,115,23,0,0,0,
- 128,0,244,16,0,16,25,152,20,152,116,160,84,168,52,180,
- 22,211,15,56,208,8,56,114,27,0,0,0,99,4,0,0,
- 0,0,0,0,0,0,0,0,0,7,0,0,0,3,0,0,
- 0,243,40,0,0,0,151,0,116,1,0,0,0,0,0,0,
- 0,0,124,0,124,1,124,2,124,3,116,2,0,0,0,0,
- 0,0,0,0,171,5,0,0,0,0,0,0,83,0,41,1,
- 97,92,1,0,0,115,112,97,119,110,118,112,101,40,109,111,
- 100,101,44,32,102,105,108,101,44,32,97,114,103,115,44,32,
- 101,110,118,41,32,45,62,32,105,110,116,101,103,101,114,10,
- 10,69,120,101,99,117,116,101,32,102,105,108,101,32,40,119,
- 104,105,99,104,32,105,115,32,108,111,111,107,101,100,32,102,
- 111,114,32,97,108,111,110,103,32,36,80,65,84,72,41,32,
- 119,105,116,104,32,97,114,103,117,109,101,110,116,115,32,102,
- 114,111,109,10,97,114,103,115,32,105,110,32,97,32,115,117,
- 98,112,114,111,99,101,115,115,32,119,105,116,104,32,116,104,
- 101,32,115,117,112,112,108,105,101,100,32,101,110,118,105,114,
- 111,110,109,101,110,116,46,10,73,102,32,109,111,100,101,32,
- 61,61,32,80,95,78,79,87,65,73,84,32,114,101,116,117,
- 114,110,32,116,104,101,32,112,105,100,32,111,102,32,116,104,
- 101,32,112,114,111,99,101,115,115,46,10,73,102,32,109,111,
- 100,101,32,61,61,32,80,95,87,65,73,84,32,114,101,116,
- 117,114,110,32,116,104,101,32,112,114,111,99,101,115,115,39,
- 115,32,101,120,105,116,32,99,111,100,101,32,105,102,32,105,
- 116,32,101,120,105,116,115,32,110,111,114,109,97,108,108,121,
- 59,10,111,116,104,101,114,119,105,115,101,32,114,101,116,117,
- 114,110,32,45,83,73,71,44,32,119,104,101,114,101,32,83,
- 73,71,32,105,115,32,116,104,101,32,115,105,103,110,97,108,
- 32,116,104,97,116,32,107,105,108,108,101,100,32,105,116,46,
- 32,41,2,114,92,1,0,0,114,213,0,0,0,114,96,1,
- 0,0,115,4,0,0,0,32,32,32,32,114,25,0,0,0,
- 218,8,115,112,97,119,110,118,112,101,114,101,1,0,0,172,
- 3,0,0,115,23,0,0,0,128,0,244,16,0,16,25,152,
- 20,152,116,160,84,168,51,180,7,211,15,56,208,8,56,114,
- 27,0,0,0,41,4,114,79,1,0,0,114,97,1,0,0,
- 114,99,1,0,0,114,101,1,0,0,99,2,0,0,0,0,
- 0,0,0,0,0,0,0,5,0,0,0,7,0,0,0,243,
- 28,0,0,0,151,0,116,1,0,0,0,0,0,0,0,0,
- 124,0,124,1,124,2,171,3,0,0,0,0,0,0,83,0,
- 41,1,97,22,1,0,0,115,112,97,119,110,108,40,109,111,
- 100,101,44,32,102,105,108,101,44,32,42,97,114,103,115,41,
+ 100,32,105,116,46,32,78,41,2,114,92,1,0,0,114,210,
+ 0,0,0,114,94,1,0,0,115,3,0,0,0,32,32,32,
+ 114,25,0,0,0,218,7,115,112,97,119,110,118,112,114,99,
+ 1,0,0,162,3,0,0,115,23,0,0,0,128,0,244,16,
+ 0,16,25,152,20,152,116,160,84,168,52,180,22,211,15,56,
+ 208,8,56,114,27,0,0,0,99,4,0,0,0,0,0,0,
+ 0,0,0,0,0,7,0,0,0,3,0,0,0,243,40,0,
+ 0,0,151,0,116,1,0,0,0,0,0,0,0,0,124,0,
+ 124,1,124,2,124,3,116,2,0,0,0,0,0,0,0,0,
+ 171,5,0,0,0,0,0,0,83,0,41,1,97,92,1,0,
+ 0,115,112,97,119,110,118,112,101,40,109,111,100,101,44,32,
+ 102,105,108,101,44,32,97,114,103,115,44,32,101,110,118,41,
32,45,62,32,105,110,116,101,103,101,114,10,10,69,120,101,
- 99,117,116,101,32,102,105,108,101,32,119,105,116,104,32,97,
- 114,103,117,109,101,110,116,115,32,102,114,111,109,32,97,114,
- 103,115,32,105,110,32,97,32,115,117,98,112,114,111,99,101,
- 115,115,46,10,73,102,32,109,111,100,101,32,61,61,32,80,
+ 99,117,116,101,32,102,105,108,101,32,40,119,104,105,99,104,
+ 32,105,115,32,108,111,111,107,101,100,32,102,111,114,32,97,
+ 108,111,110,103,32,36,80,65,84,72,41,32,119,105,116,104,
+ 32,97,114,103,117,109,101,110,116,115,32,102,114,111,109,10,
+ 97,114,103,115,32,105,110,32,97,32,115,117,98,112,114,111,
+ 99,101,115,115,32,119,105,116,104,32,116,104,101,32,115,117,
+ 112,112,108,105,101,100,32,101,110,118,105,114,111,110,109,101,
+ 110,116,46,10,73,102,32,109,111,100,101,32,61,61,32,80,
95,78,79,87,65,73,84,32,114,101,116,117,114,110,32,116,
104,101,32,112,105,100,32,111,102,32,116,104,101,32,112,114,
111,99,101,115,115,46,10,73,102,32,109,111,100,101,32,61,
@@ -2125,49 +2100,108 @@ const unsigned char _Py_M__os[] = {
104,101,114,119,105,115,101,32,114,101,116,117,114,110,32,45,
83,73,71,44,32,119,104,101,114,101,32,83,73,71,32,105,
115,32,116,104,101,32,115,105,103,110,97,108,32,116,104,97,
- 116,32,107,105,108,108,101,100,32,105,116,46,32,41,1,114,
- 79,1,0,0,114,94,1,0,0,115,3,0,0,0,32,32,
- 32,114,25,0,0,0,218,6,115,112,97,119,110,108,114,103,
- 1,0,0,190,3,0,0,115,19,0,0,0,128,0,244,14,
- 0,16,22,144,100,152,68,160,36,211,15,39,208,8,39,114,
+ 116,32,107,105,108,108,101,100,32,105,116,46,32,41,2,114,
+ 92,1,0,0,114,213,0,0,0,114,96,1,0,0,115,4,
+ 0,0,0,32,32,32,32,114,25,0,0,0,218,8,115,112,
+ 97,119,110,118,112,101,114,101,1,0,0,172,3,0,0,115,
+ 23,0,0,0,128,0,244,16,0,16,25,152,20,152,116,160,
+ 84,168,51,180,7,211,15,56,208,8,56,114,27,0,0,0,
+ 41,4,114,79,1,0,0,114,97,1,0,0,114,99,1,0,
+ 0,114,101,1,0,0,99,2,0,0,0,0,0,0,0,0,
+ 0,0,0,5,0,0,0,7,0,0,0,243,28,0,0,0,
+ 151,0,116,1,0,0,0,0,0,0,0,0,124,0,124,1,
+ 124,2,171,3,0,0,0,0,0,0,83,0,41,1,97,22,
+ 1,0,0,115,112,97,119,110,108,40,109,111,100,101,44,32,
+ 102,105,108,101,44,32,42,97,114,103,115,41,32,45,62,32,
+ 105,110,116,101,103,101,114,10,10,69,120,101,99,117,116,101,
+ 32,102,105,108,101,32,119,105,116,104,32,97,114,103,117,109,
+ 101,110,116,115,32,102,114,111,109,32,97,114,103,115,32,105,
+ 110,32,97,32,115,117,98,112,114,111,99,101,115,115,46,10,
+ 73,102,32,109,111,100,101,32,61,61,32,80,95,78,79,87,
+ 65,73,84,32,114,101,116,117,114,110,32,116,104,101,32,112,
+ 105,100,32,111,102,32,116,104,101,32,112,114,111,99,101,115,
+ 115,46,10,73,102,32,109,111,100,101,32,61,61,32,80,95,
+ 87,65,73,84,32,114,101,116,117,114,110,32,116,104,101,32,
+ 112,114,111,99,101,115,115,39,115,32,101,120,105,116,32,99,
+ 111,100,101,32,105,102,32,105,116,32,101,120,105,116,115,32,
+ 110,111,114,109,97,108,108,121,59,10,111,116,104,101,114,119,
+ 105,115,101,32,114,101,116,117,114,110,32,45,83,73,71,44,
+ 32,119,104,101,114,101,32,83,73,71,32,105,115,32,116,104,
+ 101,32,115,105,103,110,97,108,32,116,104,97,116,32,107,105,
+ 108,108,101,100,32,105,116,46,32,41,1,114,79,1,0,0,
+ 114,94,1,0,0,115,3,0,0,0,32,32,32,114,25,0,
+ 0,0,218,6,115,112,97,119,110,108,114,103,1,0,0,190,
+ 3,0,0,115,19,0,0,0,128,0,244,14,0,16,22,144,
+ 100,152,68,160,36,211,15,39,208,8,39,114,27,0,0,0,
+ 99,2,0,0,0,0,0,0,0,0,0,0,0,7,0,0,
+ 0,7,0,0,0,243,46,0,0,0,151,0,124,2,100,1,
+ 25,0,0,0,125,3,116,1,0,0,0,0,0,0,0,0,
+ 124,0,124,1,124,2,100,2,100,1,26,0,124,3,171,4,
+ 0,0,0,0,0,0,83,0,41,3,97,58,1,0,0,115,
+ 112,97,119,110,108,101,40,109,111,100,101,44,32,102,105,108,
+ 101,44,32,42,97,114,103,115,44,32,101,110,118,41,32,45,
+ 62,32,105,110,116,101,103,101,114,10,10,69,120,101,99,117,
+ 116,101,32,102,105,108,101,32,119,105,116,104,32,97,114,103,
+ 117,109,101,110,116,115,32,102,114,111,109,32,97,114,103,115,
+ 32,105,110,32,97,32,115,117,98,112,114,111,99,101,115,115,
+ 32,119,105,116,104,32,116,104,101,10,115,117,112,112,108,105,
+ 101,100,32,101,110,118,105,114,111,110,109,101,110,116,46,10,
+ 73,102,32,109,111,100,101,32,61,61,32,80,95,78,79,87,
+ 65,73,84,32,114,101,116,117,114,110,32,116,104,101,32,112,
+ 105,100,32,111,102,32,116,104,101,32,112,114,111,99,101,115,
+ 115,46,10,73,102,32,109,111,100,101,32,61,61,32,80,95,
+ 87,65,73,84,32,114,101,116,117,114,110,32,116,104,101,32,
+ 112,114,111,99,101,115,115,39,115,32,101,120,105,116,32,99,
+ 111,100,101,32,105,102,32,105,116,32,101,120,105,116,115,32,
+ 110,111,114,109,97,108,108,121,59,10,111,116,104,101,114,119,
+ 105,115,101,32,114,101,116,117,114,110,32,45,83,73,71,44,
+ 32,119,104,101,114,101,32,83,73,71,32,105,115,32,116,104,
+ 101,32,115,105,103,110,97,108,32,116,104,97,116,32,107,105,
+ 108,108,101,100,32,105,116,46,32,114,182,0,0,0,78,41,
+ 1,114,97,1,0,0,114,96,1,0,0,115,4,0,0,0,
+ 32,32,32,32,114,25,0,0,0,218,7,115,112,97,119,110,
+ 108,101,114,105,1,0,0,199,3,0,0,115,36,0,0,0,
+ 128,0,240,16,0,15,19,144,50,137,104,136,3,220,15,22,
+ 144,116,152,84,160,52,168,3,168,18,160,57,168,99,211,15,
+ 50,208,8,50,114,27,0,0,0,114,103,1,0,0,114,105,
+ 1,0,0,114,99,1,0,0,99,2,0,0,0,0,0,0,
+ 0,0,0,0,0,5,0,0,0,7,0,0,0,243,28,0,
+ 0,0,151,0,116,1,0,0,0,0,0,0,0,0,124,0,
+ 124,1,124,2,171,3,0,0,0,0,0,0,83,0,41,1,
+ 97,87,1,0,0,115,112,97,119,110,108,112,40,109,111,100,
+ 101,44,32,102,105,108,101,44,32,42,97,114,103,115,41,32,
+ 45,62,32,105,110,116,101,103,101,114,10,10,69,120,101,99,
+ 117,116,101,32,102,105,108,101,32,40,119,104,105,99,104,32,
+ 105,115,32,108,111,111,107,101,100,32,102,111,114,32,97,108,
+ 111,110,103,32,36,80,65,84,72,41,32,119,105,116,104,32,
+ 97,114,103,117,109,101,110,116,115,32,102,114,111,109,10,97,
+ 114,103,115,32,105,110,32,97,32,115,117,98,112,114,111,99,
+ 101,115,115,32,119,105,116,104,32,116,104,101,32,115,117,112,
+ 112,108,105,101,100,32,101,110,118,105,114,111,110,109,101,110,
+ 116,46,10,73,102,32,109,111,100,101,32,61,61,32,80,95,
+ 78,79,87,65,73,84,32,114,101,116,117,114,110,32,116,104,
+ 101,32,112,105,100,32,111,102,32,116,104,101,32,112,114,111,
+ 99,101,115,115,46,10,73,102,32,109,111,100,101,32,61,61,
+ 32,80,95,87,65,73,84,32,114,101,116,117,114,110,32,116,
+ 104,101,32,112,114,111,99,101,115,115,39,115,32,101,120,105,
+ 116,32,99,111,100,101,32,105,102,32,105,116,32,101,120,105,
+ 116,115,32,110,111,114,109,97,108,108,121,59,10,111,116,104,
+ 101,114,119,105,115,101,32,114,101,116,117,114,110,32,45,83,
+ 73,71,44,32,119,104,101,114,101,32,83,73,71,32,105,115,
+ 32,116,104,101,32,115,105,103,110,97,108,32,116,104,97,116,
+ 32,107,105,108,108,101,100,32,105,116,46,32,41,1,114,99,
+ 1,0,0,114,94,1,0,0,115,3,0,0,0,32,32,32,
+ 114,25,0,0,0,218,7,115,112,97,119,110,108,112,114,107,
+ 1,0,0,217,3,0,0,115,19,0,0,0,128,0,244,16,
+ 0,16,23,144,116,152,84,160,52,211,15,40,208,8,40,114,
27,0,0,0,99,2,0,0,0,0,0,0,0,0,0,0,
0,7,0,0,0,7,0,0,0,243,46,0,0,0,151,0,
124,2,100,1,25,0,0,0,125,3,116,1,0,0,0,0,
0,0,0,0,124,0,124,1,124,2,100,2,100,1,26,0,
- 124,3,171,4,0,0,0,0,0,0,83,0,41,3,97,58,
- 1,0,0,115,112,97,119,110,108,101,40,109,111,100,101,44,
- 32,102,105,108,101,44,32,42,97,114,103,115,44,32,101,110,
- 118,41,32,45,62,32,105,110,116,101,103,101,114,10,10,69,
- 120,101,99,117,116,101,32,102,105,108,101,32,119,105,116,104,
- 32,97,114,103,117,109,101,110,116,115,32,102,114,111,109,32,
- 97,114,103,115,32,105,110,32,97,32,115,117,98,112,114,111,
- 99,101,115,115,32,119,105,116,104,32,116,104,101,10,115,117,
- 112,112,108,105,101,100,32,101,110,118,105,114,111,110,109,101,
- 110,116,46,10,73,102,32,109,111,100,101,32,61,61,32,80,
- 95,78,79,87,65,73,84,32,114,101,116,117,114,110,32,116,
- 104,101,32,112,105,100,32,111,102,32,116,104,101,32,112,114,
- 111,99,101,115,115,46,10,73,102,32,109,111,100,101,32,61,
- 61,32,80,95,87,65,73,84,32,114,101,116,117,114,110,32,
- 116,104,101,32,112,114,111,99,101,115,115,39,115,32,101,120,
- 105,116,32,99,111,100,101,32,105,102,32,105,116,32,101,120,
- 105,116,115,32,110,111,114,109,97,108,108,121,59,10,111,116,
- 104,101,114,119,105,115,101,32,114,101,116,117,114,110,32,45,
- 83,73,71,44,32,119,104,101,114,101,32,83,73,71,32,105,
- 115,32,116,104,101,32,115,105,103,110,97,108,32,116,104,97,
- 116,32,107,105,108,108,101,100,32,105,116,46,32,114,182,0,
- 0,0,78,41,1,114,97,1,0,0,114,96,1,0,0,115,
- 4,0,0,0,32,32,32,32,114,25,0,0,0,218,7,115,
- 112,97,119,110,108,101,114,105,1,0,0,199,3,0,0,115,
- 36,0,0,0,128,0,240,16,0,15,19,144,50,137,104,136,
- 3,220,15,22,144,116,152,84,160,52,168,3,168,18,160,57,
- 168,99,211,15,50,208,8,50,114,27,0,0,0,114,103,1,
- 0,0,114,105,1,0,0,114,99,1,0,0,99,2,0,0,
- 0,0,0,0,0,0,0,0,0,5,0,0,0,7,0,0,
- 0,243,28,0,0,0,151,0,116,1,0,0,0,0,0,0,
- 0,0,124,0,124,1,124,2,171,3,0,0,0,0,0,0,
- 83,0,41,1,97,87,1,0,0,115,112,97,119,110,108,112,
- 40,109,111,100,101,44,32,102,105,108,101,44,32,42,97,114,
- 103,115,41,32,45,62,32,105,110,116,101,103,101,114,10,10,
+ 124,3,171,4,0,0,0,0,0,0,83,0,41,3,97,93,
+ 1,0,0,115,112,97,119,110,108,112,101,40,109,111,100,101,
+ 44,32,102,105,108,101,44,32,42,97,114,103,115,44,32,101,
+ 110,118,41,32,45,62,32,105,110,116,101,103,101,114,10,10,
69,120,101,99,117,116,101,32,102,105,108,101,32,40,119,104,
105,99,104,32,105,115,32,108,111,111,107,101,100,32,102,111,
114,32,97,108,111,110,103,32,36,80,65,84,72,41,32,119,
@@ -2187,604 +2221,573 @@ const unsigned char _Py_M__os[] = {
110,32,45,83,73,71,44,32,119,104,101,114,101,32,83,73,
71,32,105,115,32,116,104,101,32,115,105,103,110,97,108,32,
116,104,97,116,32,107,105,108,108,101,100,32,105,116,46,32,
- 41,1,114,99,1,0,0,114,94,1,0,0,115,3,0,0,
- 0,32,32,32,114,25,0,0,0,218,7,115,112,97,119,110,
- 108,112,114,107,1,0,0,217,3,0,0,115,19,0,0,0,
- 128,0,244,16,0,16,23,144,116,152,84,160,52,211,15,40,
- 208,8,40,114,27,0,0,0,99,2,0,0,0,0,0,0,
- 0,0,0,0,0,7,0,0,0,7,0,0,0,243,46,0,
- 0,0,151,0,124,2,100,1,25,0,0,0,125,3,116,1,
- 0,0,0,0,0,0,0,0,124,0,124,1,124,2,100,2,
- 100,1,26,0,124,3,171,4,0,0,0,0,0,0,83,0,
- 41,3,97,93,1,0,0,115,112,97,119,110,108,112,101,40,
- 109,111,100,101,44,32,102,105,108,101,44,32,42,97,114,103,
- 115,44,32,101,110,118,41,32,45,62,32,105,110,116,101,103,
- 101,114,10,10,69,120,101,99,117,116,101,32,102,105,108,101,
- 32,40,119,104,105,99,104,32,105,115,32,108,111,111,107,101,
- 100,32,102,111,114,32,97,108,111,110,103,32,36,80,65,84,
- 72,41,32,119,105,116,104,32,97,114,103,117,109,101,110,116,
- 115,32,102,114,111,109,10,97,114,103,115,32,105,110,32,97,
- 32,115,117,98,112,114,111,99,101,115,115,32,119,105,116,104,
- 32,116,104,101,32,115,117,112,112,108,105,101,100,32,101,110,
- 118,105,114,111,110,109,101,110,116,46,10,73,102,32,109,111,
- 100,101,32,61,61,32,80,95,78,79,87,65,73,84,32,114,
- 101,116,117,114,110,32,116,104,101,32,112,105,100,32,111,102,
- 32,116,104,101,32,112,114,111,99,101,115,115,46,10,73,102,
- 32,109,111,100,101,32,61,61,32,80,95,87,65,73,84,32,
- 114,101,116,117,114,110,32,116,104,101,32,112,114,111,99,101,
- 115,115,39,115,32,101,120,105,116,32,99,111,100,101,32,105,
- 102,32,105,116,32,101,120,105,116,115,32,110,111,114,109,97,
- 108,108,121,59,10,111,116,104,101,114,119,105,115,101,32,114,
- 101,116,117,114,110,32,45,83,73,71,44,32,119,104,101,114,
- 101,32,83,73,71,32,105,115,32,116,104,101,32,115,105,103,
- 110,97,108,32,116,104,97,116,32,107,105,108,108,101,100,32,
- 105,116,46,32,114,182,0,0,0,78,41,1,114,101,1,0,
- 0,114,96,1,0,0,115,4,0,0,0,32,32,32,32,114,
- 25,0,0,0,218,8,115,112,97,119,110,108,112,101,114,109,
- 1,0,0,227,3,0,0,115,36,0,0,0,128,0,240,16,
- 0,15,19,144,50,137,104,136,3,220,15,23,152,4,152,100,
- 160,68,168,19,168,34,160,73,168,115,211,15,51,208,8,51,
- 114,27,0,0,0,114,107,1,0,0,114,109,1,0,0,218,
- 7,118,120,119,111,114,107,115,99,3,0,0,0,0,0,0,
- 0,0,0,0,0,7,0,0,0,3,0,0,0,243,130,1,
- 0,0,151,0,116,1,0,0,0,0,0,0,0,0,124,0,
- 116,2,0,0,0,0,0,0,0,0,171,2,0,0,0,0,
- 0,0,115,23,116,5,0,0,0,0,0,0,0,0,100,1,
- 116,7,0,0,0,0,0,0,0,0,124,0,171,1,0,0,
- 0,0,0,0,122,6,0,0,171,1,0,0,0,0,0,0,
- 130,1,124,1,100,2,118,1,114,14,116,9,0,0,0,0,
- 0,0,0,0,100,3,124,1,122,6,0,0,171,1,0,0,
- 0,0,0,0,130,1,124,2,100,4,107,40,0,0,115,2,
- 124,2,128,11,116,9,0,0,0,0,0,0,0,0,100,5,
- 171,1,0,0,0,0,0,0,130,1,100,4,100,0,108,5,
- 125,3,124,1,100,6,107,40,0,0,114,54,124,3,106,13,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,124,0,100,7,100,7,124,3,106,14,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,2,
- 172,8,171,5,0,0,0,0,0,0,125,4,116,17,0,0,
- 0,0,0,0,0,0,124,4,106,18,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,124,4,171,2,
- 0,0,0,0,0,0,83,0,124,3,106,13,0,0,0,0,
+ 114,182,0,0,0,78,41,1,114,101,1,0,0,114,96,1,
+ 0,0,115,4,0,0,0,32,32,32,32,114,25,0,0,0,
+ 218,8,115,112,97,119,110,108,112,101,114,109,1,0,0,227,
+ 3,0,0,115,36,0,0,0,128,0,240,16,0,15,19,144,
+ 50,137,104,136,3,220,15,23,152,4,152,100,160,68,168,19,
+ 168,34,160,73,168,115,211,15,51,208,8,51,114,27,0,0,
+ 0,114,107,1,0,0,114,109,1,0,0,218,7,118,120,119,
+ 111,114,107,115,99,3,0,0,0,0,0,0,0,0,0,0,
+ 0,7,0,0,0,3,0,0,0,243,130,1,0,0,151,0,
+ 116,1,0,0,0,0,0,0,0,0,124,0,116,2,0,0,
+ 0,0,0,0,0,0,171,2,0,0,0,0,0,0,115,23,
+ 116,5,0,0,0,0,0,0,0,0,100,1,116,7,0,0,
+ 0,0,0,0,0,0,124,0,171,1,0,0,0,0,0,0,
+ 122,6,0,0,171,1,0,0,0,0,0,0,130,1,124,1,
+ 100,2,118,1,114,14,116,9,0,0,0,0,0,0,0,0,
+ 100,3,124,1,122,6,0,0,171,1,0,0,0,0,0,0,
+ 130,1,124,2,100,4,107,40,0,0,115,2,124,2,128,11,
+ 116,9,0,0,0,0,0,0,0,0,100,5,171,1,0,0,
+ 0,0,0,0,130,1,100,4,100,0,108,5,125,3,124,1,
+ 100,6,107,40,0,0,114,54,124,3,106,13,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,0,
100,7,100,7,124,3,106,14,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,124,2,172,9,171,5,
+ 0,0,0,0,0,0,0,0,0,0,124,2,172,8,171,5,
0,0,0,0,0,0,125,4,116,17,0,0,0,0,0,0,
- 0,0,124,4,106,20,0,0,0,0,0,0,0,0,0,0,
+ 0,0,124,4,106,18,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,124,4,171,2,0,0,0,0,
- 0,0,83,0,41,10,78,122,38,105,110,118,97,108,105,100,
- 32,99,109,100,32,116,121,112,101,32,40,37,115,44,32,101,
- 120,112,101,99,116,101,100,32,115,116,114,105,110,103,41,41,
- 2,218,1,114,218,1,119,122,15,105,110,118,97,108,105,100,
- 32,109,111,100,101,32,37,114,114,2,0,0,0,122,43,112,
- 111,112,101,110,40,41,32,100,111,101,115,32,110,111,116,32,
- 115,117,112,112,111,114,116,32,117,110,98,117,102,102,101,114,
- 101,100,32,115,116,114,101,97,109,115,114,112,1,0,0,84,
- 41,4,218,5,115,104,101,108,108,218,4,116,101,120,116,218,
- 6,115,116,100,111,117,116,218,7,98,117,102,115,105,122,101,
- 41,4,114,114,1,0,0,114,115,1,0,0,218,5,115,116,
- 100,105,110,114,117,1,0,0,41,11,114,115,0,0,0,114,
- 47,0,0,0,114,239,0,0,0,114,47,1,0,0,114,241,
- 0,0,0,218,10,115,117,98,112,114,111,99,101,115,115,218,
- 5,80,111,112,101,110,218,4,80,73,80,69,218,11,95,119,
- 114,97,112,95,99,108,111,115,101,114,116,1,0,0,114,118,
- 1,0,0,41,5,218,3,99,109,100,114,119,0,0,0,218,
- 9,98,117,102,102,101,114,105,110,103,114,119,1,0,0,218,
- 4,112,114,111,99,115,5,0,0,0,32,32,32,32,32,114,
- 25,0,0,0,218,5,112,111,112,101,110,114,126,1,0,0,
- 245,3,0,0,115,206,0,0,0,128,0,220,15,25,152,35,
- 156,115,212,15,35,220,18,27,208,28,68,196,116,200,67,195,
- 121,209,28,80,211,18,81,208,12,81,216,11,15,144,122,209,
- 11,33,220,18,28,208,29,46,176,20,209,29,53,211,18,54,
- 208,12,54,216,11,20,152,1,138,62,152,89,208,29,46,220,
- 18,28,208,29,74,211,18,75,208,12,75,219,8,25,216,11,
- 15,144,51,138,59,216,19,29,215,19,35,209,19,35,160,67,
- 216,42,46,176,84,216,43,53,175,63,169,63,216,44,53,240,
- 7,0,20,36,243,0,3,20,55,136,68,244,8,0,20,31,
- 152,116,159,123,153,123,168,68,211,19,49,208,12,49,224,19,
- 29,215,19,35,209,19,35,160,67,216,42,46,176,84,216,42,
- 52,175,47,169,47,216,44,53,240,7,0,20,36,243,0,3,
- 20,55,136,68,244,8,0,20,31,152,116,159,122,153,122,168,
- 52,211,19,48,208,12,48,114,27,0,0,0,99,0,0,0,
- 0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,
- 0,243,48,0,0,0,151,0,101,0,90,1,100,0,90,2,
- 100,1,132,0,90,3,100,2,132,0,90,4,100,3,132,0,
- 90,5,100,4,132,0,90,6,100,5,132,0,90,7,100,6,
- 132,0,90,8,121,7,41,8,114,122,1,0,0,99,3,0,
- 0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,
- 0,0,243,32,0,0,0,151,0,124,1,124,0,95,0,0,
- 0,0,0,0,0,0,0,124,2,124,0,95,1,0,0,0,
- 0,0,0,0,0,121,0,114,23,0,0,0,41,2,218,7,
- 95,115,116,114,101,97,109,218,5,95,112,114,111,99,41,3,
- 114,254,0,0,0,218,6,115,116,114,101,97,109,114,125,1,
- 0,0,115,3,0,0,0,32,32,32,114,25,0,0,0,114,
- 0,1,0,0,122,20,95,119,114,97,112,95,99,108,111,115,
- 101,46,95,95,105,110,105,116,95,95,12,4,0,0,115,16,
- 0,0,0,128,0,216,27,33,136,68,140,76,216,25,29,136,
- 68,141,74,114,27,0,0,0,99,1,0,0,0,0,0,0,
- 0,0,0,0,0,2,0,0,0,3,0,0,0,243,150,0,
- 0,0,151,0,124,0,106,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,106,3,0,0,0,0,
+ 0,0,83,0,124,3,106,13,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,124,0,100,7,100,7,
+ 124,3,106,14,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,124,2,172,9,171,5,0,0,0,0,
+ 0,0,125,4,116,17,0,0,0,0,0,0,0,0,124,4,
+ 106,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,124,4,171,2,0,0,0,0,0,0,83,0,
+ 41,10,78,122,38,105,110,118,97,108,105,100,32,99,109,100,
+ 32,116,121,112,101,32,40,37,115,44,32,101,120,112,101,99,
+ 116,101,100,32,115,116,114,105,110,103,41,41,2,218,1,114,
+ 218,1,119,122,15,105,110,118,97,108,105,100,32,109,111,100,
+ 101,32,37,114,114,2,0,0,0,122,43,112,111,112,101,110,
+ 40,41,32,100,111,101,115,32,110,111,116,32,115,117,112,112,
+ 111,114,116,32,117,110,98,117,102,102,101,114,101,100,32,115,
+ 116,114,101,97,109,115,114,112,1,0,0,84,41,4,218,5,
+ 115,104,101,108,108,218,4,116,101,120,116,218,6,115,116,100,
+ 111,117,116,218,7,98,117,102,115,105,122,101,41,4,114,114,
+ 1,0,0,114,115,1,0,0,218,5,115,116,100,105,110,114,
+ 117,1,0,0,41,11,114,115,0,0,0,114,47,0,0,0,
+ 114,239,0,0,0,114,47,1,0,0,114,241,0,0,0,218,
+ 10,115,117,98,112,114,111,99,101,115,115,218,5,80,111,112,
+ 101,110,218,4,80,73,80,69,218,11,95,119,114,97,112,95,
+ 99,108,111,115,101,114,116,1,0,0,114,118,1,0,0,41,
+ 5,218,3,99,109,100,114,119,0,0,0,218,9,98,117,102,
+ 102,101,114,105,110,103,114,119,1,0,0,218,4,112,114,111,
+ 99,115,5,0,0,0,32,32,32,32,32,114,25,0,0,0,
+ 218,5,112,111,112,101,110,114,126,1,0,0,245,3,0,0,
+ 115,206,0,0,0,128,0,220,15,25,152,35,156,115,212,15,
+ 35,220,18,27,208,28,68,196,116,200,67,195,121,209,28,80,
+ 211,18,81,208,12,81,216,11,15,144,122,209,11,33,220,18,
+ 28,208,29,46,176,20,209,29,53,211,18,54,208,12,54,216,
+ 11,20,152,1,138,62,152,89,208,29,46,220,18,28,208,29,
+ 74,211,18,75,208,12,75,219,8,25,216,11,15,144,51,138,
+ 59,216,19,29,215,19,35,209,19,35,160,67,216,42,46,176,
+ 84,216,43,53,175,63,169,63,216,44,53,240,7,0,20,36,
+ 243,0,3,20,55,136,68,244,8,0,20,31,152,116,159,123,
+ 153,123,168,68,211,19,49,208,12,49,224,19,29,215,19,35,
+ 209,19,35,160,67,216,42,46,176,84,216,42,52,175,47,169,
+ 47,216,44,53,240,7,0,20,36,243,0,3,20,55,136,68,
+ 244,8,0,20,31,152,116,159,122,153,122,168,52,211,19,48,
+ 208,12,48,114,27,0,0,0,99,0,0,0,0,0,0,0,
+ 0,0,0,0,0,1,0,0,0,0,0,0,0,243,48,0,
+ 0,0,151,0,101,0,90,1,100,0,90,2,100,1,132,0,
+ 90,3,100,2,132,0,90,4,100,3,132,0,90,5,100,4,
+ 132,0,90,6,100,5,132,0,90,7,100,6,132,0,90,8,
+ 121,7,41,8,114,122,1,0,0,99,3,0,0,0,0,0,
+ 0,0,0,0,0,0,2,0,0,0,3,0,0,0,243,32,
+ 0,0,0,151,0,124,1,124,0,95,0,0,0,0,0,0,
+ 0,0,0,124,2,124,0,95,1,0,0,0,0,0,0,0,
+ 0,121,0,114,23,0,0,0,41,2,218,7,95,115,116,114,
+ 101,97,109,218,5,95,112,114,111,99,41,3,114,254,0,0,
+ 0,218,6,115,116,114,101,97,109,114,125,1,0,0,115,3,
+ 0,0,0,32,32,32,114,25,0,0,0,114,0,1,0,0,
+ 122,20,95,119,114,97,112,95,99,108,111,115,101,46,95,95,
+ 105,110,105,116,95,95,12,4,0,0,115,16,0,0,0,128,
+ 0,216,27,33,136,68,140,76,216,25,29,136,68,141,74,114,
+ 27,0,0,0,99,1,0,0,0,0,0,0,0,0,0,0,
+ 0,2,0,0,0,3,0,0,0,243,150,0,0,0,151,0,
+ 124,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,106,3,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,171,0,0,0,0,0,
+ 0,0,1,0,124,0,106,4,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,106,7,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,0,
- 0,0,0,0,0,0,1,0,124,0,106,4,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,7,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,171,0,0,0,0,0,0,0,125,1,124,1,100,1,
- 107,40,0,0,114,1,121,0,116,8,0,0,0,0,0,0,
- 0,0,100,2,107,40,0,0,114,2,124,1,83,0,124,1,
- 100,3,122,3,0,0,83,0,41,4,78,114,2,0,0,0,
- 114,42,0,0,0,233,8,0,0,0,41,5,114,129,1,0,
- 0,114,169,0,0,0,114,130,1,0,0,218,4,119,97,105,
- 116,114,11,0,0,0,41,2,114,254,0,0,0,218,10,114,
- 101,116,117,114,110,99,111,100,101,115,2,0,0,0,32,32,
- 114,25,0,0,0,114,169,0,0,0,122,17,95,119,114,97,
- 112,95,99,108,111,115,101,46,99,108,111,115,101,15,4,0,
- 0,115,67,0,0,0,128,0,216,12,16,143,76,137,76,215,
- 12,30,209,12,30,212,12,32,216,25,29,159,26,153,26,159,
- 31,153,31,211,25,42,136,74,216,15,25,152,81,138,127,216,
- 23,27,220,15,19,144,116,138,124,216,23,33,208,16,33,224,
- 23,33,160,81,145,127,208,16,38,114,27,0,0,0,99,1,
- 0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,
- 0,0,0,243,6,0,0,0,151,0,124,0,83,0,114,23,
- 0,0,0,114,28,1,0,0,114,17,1,0,0,115,1,0,
- 0,0,32,114,25,0,0,0,218,9,95,95,101,110,116,101,
- 114,95,95,122,21,95,119,114,97,112,95,99,108,111,115,101,
- 46,95,95,101,110,116,101,114,95,95,24,4,0,0,243,7,
- 0,0,0,128,0,216,19,23,136,75,114,27,0,0,0,99,
- 1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,
- 7,0,0,0,243,36,0,0,0,151,0,124,0,106,1,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,171,0,0,0,0,0,0,0,1,0,121,0,114,23,0,
- 0,0,169,1,114,169,0,0,0,169,2,114,254,0,0,0,
- 114,203,0,0,0,115,2,0,0,0,32,32,114,25,0,0,
- 0,218,8,95,95,101,120,105,116,95,95,122,20,95,119,114,
- 97,112,95,99,108,111,115,101,46,95,95,101,120,105,116,95,
- 95,26,4,0,0,243,11,0,0,0,128,0,216,12,16,143,
- 74,137,74,141,76,114,27,0,0,0,99,2,0,0,0,0,
- 0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,243,
- 46,0,0,0,151,0,116,1,0,0,0,0,0,0,0,0,
- 124,0,106,2,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,124,1,171,2,0,0,0,0,0,0,
- 83,0,114,23,0,0,0,41,2,218,7,103,101,116,97,116,
- 116,114,114,129,1,0,0,41,2,114,254,0,0,0,114,11,
- 0,0,0,115,2,0,0,0,32,32,114,25,0,0,0,218,
- 11,95,95,103,101,116,97,116,116,114,95,95,122,23,95,119,
- 114,97,112,95,99,108,111,115,101,46,95,95,103,101,116,97,
- 116,116,114,95,95,28,4,0,0,115,19,0,0,0,128,0,
- 220,19,26,152,52,159,60,153,60,168,20,211,19,46,208,12,
- 46,114,27,0,0,0,99,1,0,0,0,0,0,0,0,0,
- 0,0,0,3,0,0,0,3,0,0,0,243,44,0,0,0,
+ 0,0,0,0,0,0,125,1,124,1,100,1,107,40,0,0,
+ 114,1,121,0,116,8,0,0,0,0,0,0,0,0,100,2,
+ 107,40,0,0,114,2,124,1,83,0,124,1,100,3,122,3,
+ 0,0,83,0,41,4,78,114,2,0,0,0,114,42,0,0,
+ 0,233,8,0,0,0,41,5,114,129,1,0,0,114,169,0,
+ 0,0,114,130,1,0,0,218,4,119,97,105,116,114,11,0,
+ 0,0,41,2,114,254,0,0,0,218,10,114,101,116,117,114,
+ 110,99,111,100,101,115,2,0,0,0,32,32,114,25,0,0,
+ 0,114,169,0,0,0,122,17,95,119,114,97,112,95,99,108,
+ 111,115,101,46,99,108,111,115,101,15,4,0,0,115,67,0,
+ 0,0,128,0,216,12,16,143,76,137,76,215,12,30,209,12,
+ 30,212,12,32,216,25,29,159,26,153,26,159,31,153,31,211,
+ 25,42,136,74,216,15,25,152,81,138,127,216,23,27,220,15,
+ 19,144,116,138,124,216,23,33,208,16,33,224,23,33,160,81,
+ 145,127,208,16,38,114,27,0,0,0,99,1,0,0,0,0,
+ 0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,243,
+ 6,0,0,0,151,0,124,0,83,0,114,23,0,0,0,114,
+ 28,1,0,0,114,17,1,0,0,115,1,0,0,0,32,114,
+ 25,0,0,0,218,9,95,95,101,110,116,101,114,95,95,122,
+ 21,95,119,114,97,112,95,99,108,111,115,101,46,95,95,101,
+ 110,116,101,114,95,95,24,4,0,0,243,7,0,0,0,128,
+ 0,216,19,23,136,75,114,27,0,0,0,99,1,0,0,0,
+ 0,0,0,0,0,0,0,0,2,0,0,0,7,0,0,0,
+ 243,36,0,0,0,151,0,124,0,106,1,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,171,0,0,
+ 0,0,0,0,0,1,0,121,0,114,23,0,0,0,169,1,
+ 114,169,0,0,0,169,2,114,254,0,0,0,114,203,0,0,
+ 0,115,2,0,0,0,32,32,114,25,0,0,0,218,8,95,
+ 95,101,120,105,116,95,95,122,20,95,119,114,97,112,95,99,
+ 108,111,115,101,46,95,95,101,120,105,116,95,95,26,4,0,
+ 0,243,11,0,0,0,128,0,216,12,16,143,74,137,74,141,
+ 76,114,27,0,0,0,99,2,0,0,0,0,0,0,0,0,
+ 0,0,0,4,0,0,0,3,0,0,0,243,46,0,0,0,
151,0,116,1,0,0,0,0,0,0,0,0,124,0,106,2,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,171,1,0,0,0,0,0,0,83,0,114,23,0,0,
- 0,41,2,218,4,105,116,101,114,114,129,1,0,0,114,17,
- 1,0,0,115,1,0,0,0,32,114,25,0,0,0,114,14,
- 1,0,0,122,20,95,119,114,97,112,95,99,108,111,115,101,
- 46,95,95,105,116,101,114,95,95,30,4,0,0,115,17,0,
- 0,0,128,0,220,19,23,152,4,159,12,153,12,211,19,37,
- 208,12,37,114,27,0,0,0,78,41,9,114,41,1,0,0,
- 114,42,1,0,0,114,43,1,0,0,114,0,1,0,0,114,
- 169,0,0,0,114,137,1,0,0,114,142,1,0,0,114,146,
- 1,0,0,114,14,1,0,0,114,28,1,0,0,114,27,0,
- 0,0,114,25,0,0,0,114,122,1,0,0,114,122,1,0,
- 0,11,4,0,0,115,32,0,0,0,132,0,242,2,2,9,
- 30,242,6,8,9,39,242,18,1,9,24,242,4,1,9,25,
- 242,4,1,9,47,243,4,1,9,38,114,27,0,0,0,114,
- 122,1,0,0,114,126,1,0,0,99,4,0,0,0,0,0,
- 0,0,0,0,0,0,6,0,0,0,15,0,0,0,243,180,
- 0,0,0,151,0,116,1,0,0,0,0,0,0,0,0,124,
- 0,116,2,0,0,0,0,0,0,0,0,171,2,0,0,0,
- 0,0,0,115,23,116,5,0,0,0,0,0,0,0,0,100,
- 1,116,7,0,0,0,0,0,0,0,0,124,0,171,1,0,
- 0,0,0,0,0,122,6,0,0,171,1,0,0,0,0,0,
- 0,130,1,100,2,100,0,108,4,125,6,100,3,124,1,118,
- 1,114,17,124,6,106,11,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,124,3,171,1,0,0,0,
- 0,0,0,125,3,2,0,124,6,106,12,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,124,0,124,
- 1,124,2,124,3,103,4,124,4,162,1,173,6,105,0,124,
- 5,164,1,142,1,83,0,41,4,78,122,38,105,110,118,97,
- 108,105,100,32,102,100,32,116,121,112,101,32,40,37,115,44,
- 32,101,120,112,101,99,116,101,100,32,105,110,116,101,103,101,
- 114,41,114,2,0,0,0,218,1,98,41,7,114,115,0,0,
- 0,218,3,105,110,116,114,239,0,0,0,114,47,1,0,0,
- 218,2,105,111,218,13,116,101,120,116,95,101,110,99,111,100,
- 105,110,103,114,69,0,0,0,41,7,218,2,102,100,114,119,
- 0,0,0,114,124,1,0,0,114,56,1,0,0,114,203,0,
- 0,0,218,6,107,119,97,114,103,115,114,152,1,0,0,115,
- 7,0,0,0,32,32,32,32,32,32,32,114,25,0,0,0,
- 114,20,0,0,0,114,20,0,0,0,36,4,0,0,115,92,
- 0,0,0,128,0,220,11,21,144,98,156,35,212,11,30,220,
- 14,23,208,24,64,196,52,200,2,195,56,209,24,75,211,14,
- 76,208,8,76,219,4,13,216,7,10,144,36,129,127,216,19,
- 21,215,19,35,209,19,35,160,72,211,19,45,136,8,216,11,
- 18,136,50,143,55,137,55,144,50,144,116,152,89,168,8,208,
- 11,66,176,52,210,11,66,184,54,209,11,66,208,4,66,114,
- 27,0,0,0,99,1,0,0,0,0,0,0,0,0,0,0,
- 0,8,0,0,0,3,0,0,0,243,112,1,0,0,151,0,
- 116,1,0,0,0,0,0,0,0,0,124,0,116,2,0,0,
- 0,0,0,0,0,0,116,4,0,0,0,0,0,0,0,0,
- 102,2,171,2,0,0,0,0,0,0,114,2,124,0,83,0,
- 116,7,0,0,0,0,0,0,0,0,124,0,171,1,0,0,
- 0,0,0,0,125,1,9,0,124,1,106,9,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,0,
- 171,1,0,0,0,0,0,0,125,2,116,1,0,0,0,0,
- 0,0,0,0,124,2,116,2,0,0,0,0,0,0,0,0,
- 116,4,0,0,0,0,0,0,0,0,102,2,171,2,0,0,
- 0,0,0,0,114,2,124,2,83,0,116,15,0,0,0,0,
- 0,0,0,0,100,3,106,19,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,124,1,106,16,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 116,7,0,0,0,0,0,0,0,0,124,2,171,1,0,0,
- 0,0,0,0,106,16,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,171,2,0,0,0,0,0,0,
- 171,1,0,0,0,0,0,0,130,1,35,0,116,10,0,0,
- 0,0,0,0,0,0,36,0,114,38,1,0,116,13,0,0,
- 0,0,0,0,0,0,124,1,100,1,171,2,0,0,0,0,
- 0,0,114,1,130,0,116,15,0,0,0,0,0,0,0,0,
- 100,2,124,1,106,16,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,122,0,0,0,171,1,0,0,
- 0,0,0,0,130,1,119,0,120,3,89,0,119,1,41,4,
- 97,97,1,0,0,82,101,116,117,114,110,32,116,104,101,32,
- 112,97,116,104,32,114,101,112,114,101,115,101,110,116,97,116,
- 105,111,110,32,111,102,32,97,32,112,97,116,104,45,108,105,
- 107,101,32,111,98,106,101,99,116,46,10,10,32,32,32,32,
- 73,102,32,115,116,114,32,111,114,32,98,121,116,101,115,32,
- 105,115,32,112,97,115,115,101,100,32,105,110,44,32,105,116,
- 32,105,115,32,114,101,116,117,114,110,101,100,32,117,110,99,
- 104,97,110,103,101,100,46,32,79,116,104,101,114,119,105,115,
- 101,32,116,104,101,10,32,32,32,32,111,115,46,80,97,116,
- 104,76,105,107,101,32,105,110,116,101,114,102,97,99,101,32,
- 105,115,32,117,115,101,100,32,116,111,32,103,101,116,32,116,
- 104,101,32,112,97,116,104,32,114,101,112,114,101,115,101,110,
- 116,97,116,105,111,110,46,32,73,102,32,116,104,101,10,32,
- 32,32,32,112,97,116,104,32,114,101,112,114,101,115,101,110,
- 116,97,116,105,111,110,32,105,115,32,110,111,116,32,115,116,
- 114,32,111,114,32,98,121,116,101,115,44,32,84,121,112,101,
- 69,114,114,111,114,32,105,115,32,114,97,105,115,101,100,46,
- 32,73,102,32,116,104,101,10,32,32,32,32,112,114,111,118,
- 105,100,101,100,32,112,97,116,104,32,105,115,32,110,111,116,
- 32,115,116,114,44,32,98,121,116,101,115,44,32,111,114,32,
- 111,115,46,80,97,116,104,76,105,107,101,44,32,84,121,112,
- 101,69,114,114,111,114,32,105,115,32,114,97,105,115,101,100,
- 46,10,32,32,32,32,218,10,95,95,102,115,112,97,116,104,
- 95,95,122,47,101,120,112,101,99,116,101,100,32,115,116,114,
- 44,32,98,121,116,101,115,32,111,114,32,111,115,46,80,97,
- 116,104,76,105,107,101,32,111,98,106,101,99,116,44,32,110,
- 111,116,32,122,55,101,120,112,101,99,116,101,100,32,123,125,
- 46,95,95,102,115,112,97,116,104,95,95,40,41,32,116,111,
- 32,114,101,116,117,114,110,32,115,116,114,32,111,114,32,98,
- 121,116,101,115,44,32,110,111,116,32,123,125,41,10,114,115,
- 0,0,0,114,47,0,0,0,114,116,0,0,0,114,47,1,
- 0,0,114,157,1,0,0,114,32,0,0,0,218,7,104,97,
- 115,97,116,116,114,114,239,0,0,0,114,41,1,0,0,218,
- 6,102,111,114,109,97,116,41,3,114,12,0,0,0,218,9,
- 112,97,116,104,95,116,121,112,101,218,9,112,97,116,104,95,
- 114,101,112,114,115,3,0,0,0,32,32,32,114,25,0,0,
- 0,218,7,95,102,115,112,97,116,104,114,162,1,0,0,47,
- 4,0,0,115,191,0,0,0,128,0,244,16,0,8,18,144,
- 36,156,19,156,101,152,12,212,7,37,216,15,19,136,11,244,
- 8,0,17,21,144,84,147,10,128,73,240,2,7,5,57,216,
- 20,29,215,20,40,209,20,40,168,20,211,20,46,136,9,244,
- 14,0,8,18,144,41,156,99,164,53,152,92,212,7,42,216,
- 15,24,208,8,24,228,14,23,240,0,1,25,33,223,33,39,
- 161,22,168,9,215,40,58,209,40,58,220,40,44,168,89,171,
- 15,215,40,64,209,40,64,243,3,1,34,66,1,243,3,2,
- 15,67,1,240,0,2,9,67,1,248,244,19,0,12,26,242,
- 0,5,5,57,220,11,18,144,57,152,108,212,11,43,216,12,
- 17,228,18,27,240,0,1,29,35,216,37,46,215,37,55,209,
- 37,55,241,3,1,29,56,243,0,1,19,57,240,0,1,13,
- 57,240,9,5,5,57,250,115,11,0,0,0,165,17,66,6,
- 0,194,6,47,66,53,3,114,134,0,0,0,99,0,0,0,
- 0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,
- 0,243,84,0,0,0,151,0,101,0,90,1,100,0,90,2,
- 100,1,90,3,101,4,106,10,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,100,2,132,0,171,0,
- 0,0,0,0,0,0,90,6,101,7,100,3,132,0,171,0,
- 0,0,0,0,0,0,90,8,2,0,101,7,101,9,171,1,
- 0,0,0,0,0,0,90,10,121,4,41,5,218,8,80,97,
- 116,104,76,105,107,101,122,67,65,98,115,116,114,97,99,116,
- 32,98,97,115,101,32,99,108,97,115,115,32,102,111,114,32,
- 105,109,112,108,101,109,101,110,116,105,110,103,32,116,104,101,
- 32,102,105,108,101,32,115,121,115,116,101,109,32,112,97,116,
- 104,32,112,114,111,116,111,99,111,108,46,99,1,0,0,0,
- 0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,
- 243,14,0,0,0,151,0,116,0,0,0,0,0,0,0,0,
- 0,130,1,41,1,122,57,82,101,116,117,114,110,32,116,104,
- 101,32,102,105,108,101,32,115,121,115,116,101,109,32,112,97,
- 116,104,32,114,101,112,114,101,115,101,110,116,97,116,105,111,
- 110,32,111,102,32,116,104,101,32,111,98,106,101,99,116,46,
- 41,1,218,19,78,111,116,73,109,112,108,101,109,101,110,116,
- 101,100,69,114,114,111,114,114,17,1,0,0,115,1,0,0,
- 0,32,114,25,0,0,0,114,157,1,0,0,122,19,80,97,
- 116,104,76,105,107,101,46,95,95,102,115,112,97,116,104,95,
- 95,87,4,0,0,115,10,0,0,0,128,0,244,6,0,15,
- 34,208,8,33,114,27,0,0,0,99,2,0,0,0,0,0,
- 0,0,0,0,0,0,4,0,0,0,3,0,0,0,243,54,
- 0,0,0,151,0,124,0,116,0,0,0,0,0,0,0,0,
- 0,117,0,114,12,116,3,0,0,0,0,0,0,0,0,124,
- 1,100,1,171,2,0,0,0,0,0,0,83,0,116,4,0,
- 0,0,0,0,0,0,0,83,0,41,2,78,114,157,1,0,
- 0,41,3,114,164,1,0,0,114,3,0,0,0,114,36,1,
- 0,0,41,2,218,3,99,108,115,218,8,115,117,98,99,108,
- 97,115,115,115,2,0,0,0,32,32,114,25,0,0,0,218,
- 16,95,95,115,117,98,99,108,97,115,115,104,111,111,107,95,
- 95,122,25,80,97,116,104,76,105,107,101,46,95,95,115,117,
- 98,99,108,97,115,115,104,111,111,107,95,95,92,4,0,0,
- 115,28,0,0,0,128,0,224,11,14,148,40,137,63,220,19,
- 33,160,40,168,76,211,19,57,208,12,57,220,15,29,208,8,
- 29,114,27,0,0,0,78,41,11,114,41,1,0,0,114,42,
- 1,0,0,114,43,1,0,0,218,7,95,95,100,111,99,95,
- 95,218,3,97,98,99,218,14,97,98,115,116,114,97,99,116,
- 109,101,116,104,111,100,114,157,1,0,0,218,11,99,108,97,
- 115,115,109,101,116,104,111,100,114,170,1,0,0,218,12,71,
- 101,110,101,114,105,99,65,108,105,97,115,218,17,95,95,99,
- 108,97,115,115,95,103,101,116,105,116,101,109,95,95,114,28,
- 1,0,0,114,27,0,0,0,114,25,0,0,0,114,164,1,
- 0,0,114,164,1,0,0,83,4,0,0,115,62,0,0,0,
- 132,0,225,4,77,224,5,8,215,5,23,209,5,23,241,2,
- 2,5,34,243,3,0,6,24,240,2,2,5,34,240,8,0,
- 6,17,241,2,3,5,30,243,3,0,6,17,240,2,3,5,
- 30,241,10,0,25,36,160,76,211,24,49,209,4,21,114,27,
- 0,0,0,114,164,1,0,0,99,0,0,0,0,0,0,0,
- 0,0,0,0,0,1,0,0,0,0,0,0,0,243,42,0,
- 0,0,151,0,101,0,90,1,100,0,90,2,100,1,132,0,
- 90,3,100,2,132,0,90,4,100,3,132,0,90,5,100,4,
- 132,0,90,6,100,5,132,0,90,7,121,6,41,7,218,18,
- 95,65,100,100,101,100,68,108,108,68,105,114,101,99,116,111,
- 114,121,99,4,0,0,0,0,0,0,0,0,0,0,0,2,
- 0,0,0,3,0,0,0,243,46,0,0,0,151,0,124,1,
- 124,0,95,0,0,0,0,0,0,0,0,0,124,2,124,0,
- 95,1,0,0,0,0,0,0,0,0,124,3,124,0,95,2,
- 0,0,0,0,0,0,0,0,121,0,114,23,0,0,0,41,
- 3,114,12,0,0,0,218,7,95,99,111,111,107,105,101,218,
- 21,95,114,101,109,111,118,101,95,100,108,108,95,100,105,114,
- 101,99,116,111,114,121,41,4,114,254,0,0,0,114,12,0,
- 0,0,218,6,99,111,111,107,105,101,218,20,114,101,109,111,
- 118,101,95,100,108,108,95,100,105,114,101,99,116,111,114,121,
- 115,4,0,0,0,32,32,32,32,114,25,0,0,0,114,0,
- 1,0,0,122,27,95,65,100,100,101,100,68,108,108,68,105,
- 114,101,99,116,111,114,121,46,95,95,105,110,105,116,95,95,
- 103,4,0,0,115,24,0,0,0,128,0,216,24,28,136,68,
- 140,73,216,27,33,136,68,140,76,216,41,61,136,68,213,12,
- 38,114,27,0,0,0,99,1,0,0,0,0,0,0,0,0,
- 0,0,0,3,0,0,0,3,0,0,0,243,72,0,0,0,
- 151,0,124,0,106,1,0,0,0,0,0,0,0,0,0,0,
+ 0,0,124,1,171,2,0,0,0,0,0,0,83,0,114,23,
+ 0,0,0,41,2,218,7,103,101,116,97,116,116,114,114,129,
+ 1,0,0,41,2,114,254,0,0,0,114,11,0,0,0,115,
+ 2,0,0,0,32,32,114,25,0,0,0,218,11,95,95,103,
+ 101,116,97,116,116,114,95,95,122,23,95,119,114,97,112,95,
+ 99,108,111,115,101,46,95,95,103,101,116,97,116,116,114,95,
+ 95,28,4,0,0,115,19,0,0,0,128,0,220,19,26,152,
+ 52,159,60,153,60,168,20,211,19,46,208,12,46,114,27,0,
+ 0,0,99,1,0,0,0,0,0,0,0,0,0,0,0,3,
+ 0,0,0,3,0,0,0,243,44,0,0,0,151,0,116,1,
0,0,0,0,0,0,0,0,124,0,106,2,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,1,
- 0,0,0,0,0,0,1,0,100,0,124,0,95,2,0,0,
- 0,0,0,0,0,0,121,0,114,23,0,0,0,41,3,114,
- 181,1,0,0,114,180,1,0,0,114,12,0,0,0,114,17,
- 1,0,0,115,1,0,0,0,32,114,25,0,0,0,114,169,
- 0,0,0,122,24,95,65,100,100,101,100,68,108,108,68,105,
- 114,101,99,116,111,114,121,46,99,108,111,115,101,107,4,0,
- 0,115,27,0,0,0,128,0,216,12,16,215,12,38,209,12,
- 38,160,116,167,124,161,124,212,12,52,216,24,28,136,68,141,
- 73,114,27,0,0,0,99,1,0,0,0,0,0,0,0,0,
- 0,0,0,1,0,0,0,3,0,0,0,243,6,0,0,0,
- 151,0,124,0,83,0,114,23,0,0,0,114,28,1,0,0,
- 114,17,1,0,0,115,1,0,0,0,32,114,25,0,0,0,
- 114,137,1,0,0,122,28,95,65,100,100,101,100,68,108,108,
- 68,105,114,101,99,116,111,114,121,46,95,95,101,110,116,101,
- 114,95,95,110,4,0,0,114,138,1,0,0,114,27,0,0,
- 0,99,1,0,0,0,0,0,0,0,0,0,0,0,2,0,
- 0,0,7,0,0,0,243,36,0,0,0,151,0,124,0,106,
- 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,171,0,0,0,0,0,0,0,1,0,121,0,114,
- 23,0,0,0,114,140,1,0,0,114,141,1,0,0,115,2,
- 0,0,0,32,32,114,25,0,0,0,114,142,1,0,0,122,
+ 0,0,0,0,0,0,83,0,114,23,0,0,0,41,2,218,
+ 4,105,116,101,114,114,129,1,0,0,114,17,1,0,0,115,
+ 1,0,0,0,32,114,25,0,0,0,114,14,1,0,0,122,
+ 20,95,119,114,97,112,95,99,108,111,115,101,46,95,95,105,
+ 116,101,114,95,95,30,4,0,0,115,17,0,0,0,128,0,
+ 220,19,23,152,4,159,12,153,12,211,19,37,208,12,37,114,
+ 27,0,0,0,78,41,9,114,41,1,0,0,114,42,1,0,
+ 0,114,43,1,0,0,114,0,1,0,0,114,169,0,0,0,
+ 114,137,1,0,0,114,142,1,0,0,114,146,1,0,0,114,
+ 14,1,0,0,114,28,1,0,0,114,27,0,0,0,114,25,
+ 0,0,0,114,122,1,0,0,114,122,1,0,0,11,4,0,
+ 0,115,32,0,0,0,132,0,242,2,2,9,30,242,6,8,
+ 9,39,242,18,1,9,24,242,4,1,9,25,242,4,1,9,
+ 47,243,4,1,9,38,114,27,0,0,0,114,122,1,0,0,
+ 114,126,1,0,0,99,4,0,0,0,0,0,0,0,0,0,
+ 0,0,6,0,0,0,15,0,0,0,243,180,0,0,0,151,
+ 0,116,1,0,0,0,0,0,0,0,0,124,0,116,2,0,
+ 0,0,0,0,0,0,0,171,2,0,0,0,0,0,0,115,
+ 23,116,5,0,0,0,0,0,0,0,0,100,1,116,7,0,
+ 0,0,0,0,0,0,0,124,0,171,1,0,0,0,0,0,
+ 0,122,6,0,0,171,1,0,0,0,0,0,0,130,1,100,
+ 2,100,0,108,4,125,6,100,3,124,1,118,1,114,17,124,
+ 6,106,11,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,124,3,171,1,0,0,0,0,0,0,125,
+ 3,2,0,124,6,106,12,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,124,0,124,1,124,2,124,
+ 3,103,4,124,4,162,1,173,6,105,0,124,5,164,1,142,
+ 1,83,0,41,4,78,122,38,105,110,118,97,108,105,100,32,
+ 102,100,32,116,121,112,101,32,40,37,115,44,32,101,120,112,
+ 101,99,116,101,100,32,105,110,116,101,103,101,114,41,114,2,
+ 0,0,0,218,1,98,41,7,114,115,0,0,0,218,3,105,
+ 110,116,114,239,0,0,0,114,47,1,0,0,218,2,105,111,
+ 218,13,116,101,120,116,95,101,110,99,111,100,105,110,103,114,
+ 69,0,0,0,41,7,218,2,102,100,114,119,0,0,0,114,
+ 124,1,0,0,114,56,1,0,0,114,203,0,0,0,218,6,
+ 107,119,97,114,103,115,114,152,1,0,0,115,7,0,0,0,
+ 32,32,32,32,32,32,32,114,25,0,0,0,114,20,0,0,
+ 0,114,20,0,0,0,36,4,0,0,115,92,0,0,0,128,
+ 0,220,11,21,144,98,156,35,212,11,30,220,14,23,208,24,
+ 64,196,52,200,2,195,56,209,24,75,211,14,76,208,8,76,
+ 219,4,13,216,7,10,144,36,129,127,216,19,21,215,19,35,
+ 209,19,35,160,72,211,19,45,136,8,216,11,18,136,50,143,
+ 55,137,55,144,50,144,116,152,89,168,8,208,11,66,176,52,
+ 210,11,66,184,54,209,11,66,208,4,66,114,27,0,0,0,
+ 99,1,0,0,0,0,0,0,0,0,0,0,0,8,0,0,
+ 0,3,0,0,0,243,112,1,0,0,151,0,116,1,0,0,
+ 0,0,0,0,0,0,124,0,116,2,0,0,0,0,0,0,
+ 0,0,116,4,0,0,0,0,0,0,0,0,102,2,171,2,
+ 0,0,0,0,0,0,114,2,124,0,83,0,116,7,0,0,
+ 0,0,0,0,0,0,124,0,171,1,0,0,0,0,0,0,
+ 125,1,9,0,124,1,106,9,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,124,0,171,1,0,0,
+ 0,0,0,0,125,2,116,1,0,0,0,0,0,0,0,0,
+ 124,2,116,2,0,0,0,0,0,0,0,0,116,4,0,0,
+ 0,0,0,0,0,0,102,2,171,2,0,0,0,0,0,0,
+ 114,2,124,2,83,0,116,15,0,0,0,0,0,0,0,0,
+ 100,3,106,19,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,124,1,106,16,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,116,7,0,0,
+ 0,0,0,0,0,0,124,2,171,1,0,0,0,0,0,0,
+ 106,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,171,2,0,0,0,0,0,0,171,1,0,0,
+ 0,0,0,0,130,1,35,0,116,10,0,0,0,0,0,0,
+ 0,0,36,0,114,38,1,0,116,13,0,0,0,0,0,0,
+ 0,0,124,1,100,1,171,2,0,0,0,0,0,0,114,1,
+ 130,0,116,15,0,0,0,0,0,0,0,0,100,2,124,1,
+ 106,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,122,0,0,0,171,1,0,0,0,0,0,0,
+ 130,1,119,0,120,3,89,0,119,1,41,4,97,97,1,0,
+ 0,82,101,116,117,114,110,32,116,104,101,32,112,97,116,104,
+ 32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,
+ 111,102,32,97,32,112,97,116,104,45,108,105,107,101,32,111,
+ 98,106,101,99,116,46,10,10,32,32,32,32,73,102,32,115,
+ 116,114,32,111,114,32,98,121,116,101,115,32,105,115,32,112,
+ 97,115,115,101,100,32,105,110,44,32,105,116,32,105,115,32,
+ 114,101,116,117,114,110,101,100,32,117,110,99,104,97,110,103,
+ 101,100,46,32,79,116,104,101,114,119,105,115,101,32,116,104,
+ 101,10,32,32,32,32,111,115,46,80,97,116,104,76,105,107,
+ 101,32,105,110,116,101,114,102,97,99,101,32,105,115,32,117,
+ 115,101,100,32,116,111,32,103,101,116,32,116,104,101,32,112,
+ 97,116,104,32,114,101,112,114,101,115,101,110,116,97,116,105,
+ 111,110,46,32,73,102,32,116,104,101,10,32,32,32,32,112,
+ 97,116,104,32,114,101,112,114,101,115,101,110,116,97,116,105,
+ 111,110,32,105,115,32,110,111,116,32,115,116,114,32,111,114,
+ 32,98,121,116,101,115,44,32,84,121,112,101,69,114,114,111,
+ 114,32,105,115,32,114,97,105,115,101,100,46,32,73,102,32,
+ 116,104,101,10,32,32,32,32,112,114,111,118,105,100,101,100,
+ 32,112,97,116,104,32,105,115,32,110,111,116,32,115,116,114,
+ 44,32,98,121,116,101,115,44,32,111,114,32,111,115,46,80,
+ 97,116,104,76,105,107,101,44,32,84,121,112,101,69,114,114,
+ 111,114,32,105,115,32,114,97,105,115,101,100,46,10,32,32,
+ 32,32,218,10,95,95,102,115,112,97,116,104,95,95,122,47,
+ 101,120,112,101,99,116,101,100,32,115,116,114,44,32,98,121,
+ 116,101,115,32,111,114,32,111,115,46,80,97,116,104,76,105,
+ 107,101,32,111,98,106,101,99,116,44,32,110,111,116,32,122,
+ 55,101,120,112,101,99,116,101,100,32,123,125,46,95,95,102,
+ 115,112,97,116,104,95,95,40,41,32,116,111,32,114,101,116,
+ 117,114,110,32,115,116,114,32,111,114,32,98,121,116,101,115,
+ 44,32,110,111,116,32,123,125,41,10,114,115,0,0,0,114,
+ 47,0,0,0,114,116,0,0,0,114,47,1,0,0,114,157,
+ 1,0,0,114,32,0,0,0,218,7,104,97,115,97,116,116,
+ 114,114,239,0,0,0,114,41,1,0,0,218,6,102,111,114,
+ 109,97,116,41,3,114,12,0,0,0,218,9,112,97,116,104,
+ 95,116,121,112,101,218,9,112,97,116,104,95,114,101,112,114,
+ 115,3,0,0,0,32,32,32,114,25,0,0,0,218,7,95,
+ 102,115,112,97,116,104,114,162,1,0,0,47,4,0,0,115,
+ 191,0,0,0,128,0,244,16,0,8,18,144,36,156,19,156,
+ 101,152,12,212,7,37,216,15,19,136,11,244,8,0,17,21,
+ 144,84,147,10,128,73,240,2,7,5,57,216,20,29,215,20,
+ 40,209,20,40,168,20,211,20,46,136,9,244,14,0,8,18,
+ 144,41,156,99,164,53,152,92,212,7,42,216,15,24,208,8,
+ 24,228,14,23,240,0,1,25,33,223,33,39,161,22,168,9,
+ 215,40,58,209,40,58,220,40,44,168,89,171,15,215,40,64,
+ 209,40,64,243,3,1,34,66,1,243,3,2,15,67,1,240,
+ 0,2,9,67,1,248,244,19,0,12,26,242,0,5,5,57,
+ 220,11,18,144,57,152,108,212,11,43,216,12,17,228,18,27,
+ 240,0,1,29,35,216,37,46,215,37,55,209,37,55,241,3,
+ 1,29,56,243,0,1,19,57,240,0,1,13,57,240,9,5,
+ 5,57,250,115,11,0,0,0,165,17,66,6,0,194,6,47,
+ 66,53,3,114,134,0,0,0,99,0,0,0,0,0,0,0,
+ 0,0,0,0,0,3,0,0,0,0,0,0,0,243,84,0,
+ 0,0,151,0,101,0,90,1,100,0,90,2,100,1,90,3,
+ 101,4,106,10,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,100,2,132,0,171,0,0,0,0,0,
+ 0,0,90,6,101,7,100,3,132,0,171,0,0,0,0,0,
+ 0,0,90,8,2,0,101,7,101,9,171,1,0,0,0,0,
+ 0,0,90,10,121,4,41,5,218,8,80,97,116,104,76,105,
+ 107,101,122,67,65,98,115,116,114,97,99,116,32,98,97,115,
+ 101,32,99,108,97,115,115,32,102,111,114,32,105,109,112,108,
+ 101,109,101,110,116,105,110,103,32,116,104,101,32,102,105,108,
+ 101,32,115,121,115,116,101,109,32,112,97,116,104,32,112,114,
+ 111,116,111,99,111,108,46,99,1,0,0,0,0,0,0,0,
+ 0,0,0,0,1,0,0,0,3,0,0,0,243,14,0,0,
+ 0,151,0,116,0,0,0,0,0,0,0,0,0,130,1,41,
+ 1,122,57,82,101,116,117,114,110,32,116,104,101,32,102,105,
+ 108,101,32,115,121,115,116,101,109,32,112,97,116,104,32,114,
+ 101,112,114,101,115,101,110,116,97,116,105,111,110,32,111,102,
+ 32,116,104,101,32,111,98,106,101,99,116,46,41,1,218,19,
+ 78,111,116,73,109,112,108,101,109,101,110,116,101,100,69,114,
+ 114,111,114,114,17,1,0,0,115,1,0,0,0,32,114,25,
+ 0,0,0,114,157,1,0,0,122,19,80,97,116,104,76,105,
+ 107,101,46,95,95,102,115,112,97,116,104,95,95,87,4,0,
+ 0,115,10,0,0,0,128,0,244,6,0,15,34,208,8,33,
+ 114,27,0,0,0,99,2,0,0,0,0,0,0,0,0,0,
+ 0,0,4,0,0,0,3,0,0,0,243,54,0,0,0,151,
+ 0,124,0,116,0,0,0,0,0,0,0,0,0,117,0,114,
+ 12,116,3,0,0,0,0,0,0,0,0,124,1,100,1,171,
+ 2,0,0,0,0,0,0,83,0,116,4,0,0,0,0,0,
+ 0,0,0,83,0,41,2,78,114,157,1,0,0,41,3,114,
+ 164,1,0,0,114,3,0,0,0,114,36,1,0,0,41,2,
+ 218,3,99,108,115,218,8,115,117,98,99,108,97,115,115,115,
+ 2,0,0,0,32,32,114,25,0,0,0,218,16,95,95,115,
+ 117,98,99,108,97,115,115,104,111,111,107,95,95,122,25,80,
+ 97,116,104,76,105,107,101,46,95,95,115,117,98,99,108,97,
+ 115,115,104,111,111,107,95,95,92,4,0,0,115,28,0,0,
+ 0,128,0,224,11,14,148,40,137,63,220,19,33,160,40,168,
+ 76,211,19,57,208,12,57,220,15,29,208,8,29,114,27,0,
+ 0,0,78,41,11,114,41,1,0,0,114,42,1,0,0,114,
+ 43,1,0,0,218,7,95,95,100,111,99,95,95,218,3,97,
+ 98,99,218,14,97,98,115,116,114,97,99,116,109,101,116,104,
+ 111,100,114,157,1,0,0,218,11,99,108,97,115,115,109,101,
+ 116,104,111,100,114,170,1,0,0,218,12,71,101,110,101,114,
+ 105,99,65,108,105,97,115,218,17,95,95,99,108,97,115,115,
+ 95,103,101,116,105,116,101,109,95,95,114,28,1,0,0,114,
+ 27,0,0,0,114,25,0,0,0,114,164,1,0,0,114,164,
+ 1,0,0,83,4,0,0,115,62,0,0,0,132,0,225,4,
+ 77,224,5,8,215,5,23,209,5,23,241,2,2,5,34,243,
+ 3,0,6,24,240,2,2,5,34,240,8,0,6,17,241,2,
+ 3,5,30,243,3,0,6,17,240,2,3,5,30,241,10,0,
+ 25,36,160,76,211,24,49,209,4,21,114,27,0,0,0,114,
+ 164,1,0,0,99,0,0,0,0,0,0,0,0,0,0,0,
+ 0,1,0,0,0,0,0,0,0,243,42,0,0,0,151,0,
+ 101,0,90,1,100,0,90,2,100,1,132,0,90,3,100,2,
+ 132,0,90,4,100,3,132,0,90,5,100,4,132,0,90,6,
+ 100,5,132,0,90,7,121,6,41,7,218,18,95,65,100,100,
+ 101,100,68,108,108,68,105,114,101,99,116,111,114,121,99,4,
+ 0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,
+ 0,0,0,243,46,0,0,0,151,0,124,1,124,0,95,0,
+ 0,0,0,0,0,0,0,0,124,2,124,0,95,1,0,0,
+ 0,0,0,0,0,0,124,3,124,0,95,2,0,0,0,0,
+ 0,0,0,0,121,0,114,23,0,0,0,41,3,114,12,0,
+ 0,0,218,7,95,99,111,111,107,105,101,218,21,95,114,101,
+ 109,111,118,101,95,100,108,108,95,100,105,114,101,99,116,111,
+ 114,121,41,4,114,254,0,0,0,114,12,0,0,0,218,6,
+ 99,111,111,107,105,101,218,20,114,101,109,111,118,101,95,100,
+ 108,108,95,100,105,114,101,99,116,111,114,121,115,4,0,0,
+ 0,32,32,32,32,114,25,0,0,0,114,0,1,0,0,122,
27,95,65,100,100,101,100,68,108,108,68,105,114,101,99,116,
- 111,114,121,46,95,95,101,120,105,116,95,95,112,4,0,0,
- 114,143,1,0,0,114,27,0,0,0,99,1,0,0,0,0,
- 0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,243,
- 82,0,0,0,151,0,124,0,106,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,0,0,0,0,114,27,100,1,
- 106,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,124,0,106,0,0,0,0,0,0,0,0,0,
+ 111,114,121,46,95,95,105,110,105,116,95,95,103,4,0,0,
+ 115,24,0,0,0,128,0,216,24,28,136,68,140,73,216,27,
+ 33,136,68,140,76,216,41,61,136,68,213,12,38,114,27,0,
+ 0,0,99,1,0,0,0,0,0,0,0,0,0,0,0,3,
+ 0,0,0,3,0,0,0,243,72,0,0,0,151,0,124,0,
+ 106,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,124,0,106,2,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,171,1,0,0,0,0,
- 0,0,83,0,121,2,41,3,78,122,25,60,65,100,100,101,
- 100,68,108,108,68,105,114,101,99,116,111,114,121,40,123,33,
- 114,125,41,62,122,21,60,65,100,100,101,100,68,108,108,68,
- 105,114,101,99,116,111,114,121,40,41,62,41,2,114,12,0,
- 0,0,114,159,1,0,0,114,17,1,0,0,115,1,0,0,
- 0,32,114,25,0,0,0,114,23,1,0,0,122,27,95,65,
- 100,100,101,100,68,108,108,68,105,114,101,99,116,111,114,121,
- 46,95,95,114,101,112,114,95,95,114,4,0,0,115,33,0,
- 0,0,128,0,216,15,19,143,121,138,121,216,23,50,215,23,
- 57,209,23,57,184,36,191,41,185,41,211,23,68,208,16,68,
- 216,19,42,114,27,0,0,0,78,41,8,114,41,1,0,0,
- 114,42,1,0,0,114,43,1,0,0,114,0,1,0,0,114,
- 169,0,0,0,114,137,1,0,0,114,142,1,0,0,114,23,
- 1,0,0,114,28,1,0,0,114,27,0,0,0,114,25,0,
- 0,0,114,178,1,0,0,114,178,1,0,0,102,4,0,0,
- 115,27,0,0,0,132,0,242,2,3,9,62,242,8,2,9,
- 29,242,6,1,9,24,242,4,1,9,25,243,4,3,9,43,
- 114,27,0,0,0,114,178,1,0,0,99,1,0,0,0,0,
- 0,0,0,0,0,0,0,5,0,0,0,3,0,0,0,243,
- 92,0,0,0,151,0,100,1,100,2,108,0,125,1,2,0,
- 124,1,106,2,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,124,0,171,1,0,0,0,0,0,0,
- 125,2,116,5,0,0,0,0,0,0,0,0,124,0,124,2,
- 124,1,106,6,0,0,0,0,0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,171,3,0,0,0,0,0,0,83,0,
- 41,3,97,79,1,0,0,65,100,100,32,97,32,112,97,116,
- 104,32,116,111,32,116,104,101,32,68,76,76,32,115,101,97,
- 114,99,104,32,112,97,116,104,46,10,10,32,32,32,32,32,
- 32,32,32,84,104,105,115,32,115,101,97,114,99,104,32,112,
- 97,116,104,32,105,115,32,117,115,101,100,32,119,104,101,110,
- 32,114,101,115,111,108,118,105,110,103,32,100,101,112,101,110,
- 100,101,110,99,105,101,115,32,102,111,114,32,105,109,112,111,
- 114,116,101,100,10,32,32,32,32,32,32,32,32,101,120,116,
- 101,110,115,105,111,110,32,109,111,100,117,108,101,115,32,40,
- 116,104,101,32,109,111,100,117,108,101,32,105,116,115,101,108,
- 102,32,105,115,32,114,101,115,111,108,118,101,100,32,116,104,
- 114,111,117,103,104,32,115,121,115,46,112,97,116,104,41,44,
- 10,32,32,32,32,32,32,32,32,97,110,100,32,97,108,115,
- 111,32,98,121,32,99,116,121,112,101,115,46,10,10,32,32,
- 32,32,32,32,32,32,82,101,109,111,118,101,32,116,104,101,
- 32,100,105,114,101,99,116,111,114,121,32,98,121,32,99,97,
- 108,108,105,110,103,32,99,108,111,115,101,40,41,32,111,110,
- 32,116,104,101,32,114,101,116,117,114,110,101,100,32,111,98,
- 106,101,99,116,32,111,114,10,32,32,32,32,32,32,32,32,
- 117,115,105,110,103,32,105,116,32,105,110,32,97,32,119,105,
- 116,104,32,115,116,97,116,101,109,101,110,116,46,10,32,32,
- 32,32,32,32,32,32,114,2,0,0,0,78,41,4,114,42,
- 0,0,0,218,18,95,97,100,100,95,100,108,108,95,100,105,
- 114,101,99,116,111,114,121,114,178,1,0,0,114,181,1,0,
- 0,41,3,114,12,0,0,0,114,42,0,0,0,114,182,1,
- 0,0,115,3,0,0,0,32,32,32,114,25,0,0,0,218,
- 17,97,100,100,95,100,108,108,95,100,105,114,101,99,116,111,
- 114,121,114,190,1,0,0,119,4,0,0,115,53,0,0,0,
- 128,0,243,20,0,9,18,216,17,38,144,18,215,17,38,209,
- 17,38,160,116,211,17,44,136,6,220,15,33,216,12,16,216,
- 12,18,216,12,14,215,12,36,209,12,36,243,7,4,16,10,
- 240,0,4,9,10,114,27,0,0,0,41,2,105,255,1,0,
- 0,70,41,3,84,78,70,41,3,218,1,46,84,78,114,23,
- 0,0,0,41,2,114,112,1,0,0,114,182,0,0,0,41,
- 3,114,112,1,0,0,114,182,0,0,0,78,41,110,114,171,
- 1,0,0,114,172,1,0,0,114,132,0,0,0,114,57,0,
- 0,0,114,187,0,0,0,218,16,95,99,111,108,108,101,99,
- 116,105,111,110,115,95,97,98,99,114,3,0,0,0,114,47,
- 1,0,0,114,30,0,0,0,114,151,1,0,0,114,175,1,
- 0,0,218,20,98,117,105,108,116,105,110,95,109,111,100,117,
- 108,101,95,110,97,109,101,115,218,6,95,110,97,109,101,115,
- 114,31,0,0,0,114,26,0,0,0,114,36,0,0,0,114,
- 11,0,0,0,114,9,0,0,0,114,37,0,0,0,114,40,
- 0,0,0,114,144,0,0,0,218,11,73,109,112,111,114,116,
- 69,114,114,111,114,218,9,112,111,115,105,120,112,97,116,104,
- 114,12,0,0,0,114,41,0,0,0,114,191,0,0,0,114,
- 42,0,0,0,218,6,110,116,112,97,116,104,218,7,109,111,
- 100,117,108,101,115,218,7,111,115,46,112,97,116,104,114,5,
- 0,0,0,114,6,0,0,0,114,7,0,0,0,114,8,0,
- 0,0,114,10,0,0,0,114,21,0,0,0,114,4,0,0,
- 0,114,13,0,0,0,114,24,0,0,0,114,44,0,0,0,
- 114,49,0,0,0,218,3,115,101,116,114,45,0,0,0,218,
- 15,115,117,112,112,111,114,116,115,95,100,105,114,95,102,100,
- 218,22,115,117,112,112,111,114,116,115,95,101,102,102,101,99,
- 116,105,118,101,95,105,100,115,114,46,0,0,0,218,11,115,
- 117,112,112,111,114,116,115,95,102,100,218,24,115,117,112,112,
- 111,114,116,115,95,102,111,108,108,111,119,95,115,121,109,108,
- 105,110,107,115,114,14,0,0,0,114,15,0,0,0,114,16,
- 0,0,0,114,113,0,0,0,114,124,0,0,0,114,128,0,
- 0,0,218,6,111,98,106,101,99,116,114,141,0,0,0,114,
- 162,0,0,0,114,69,0,0,0,114,86,0,0,0,114,173,
- 0,0,0,114,166,0,0,0,114,184,0,0,0,114,168,0,
- 0,0,114,167,0,0,0,114,204,0,0,0,114,208,0,0,
- 0,114,211,0,0,0,114,214,0,0,0,114,210,0,0,0,
- 114,213,0,0,0,114,217,0,0,0,114,19,0,0,0,114,
- 244,0,0,0,114,245,0,0,0,114,247,0,0,0,114,60,
- 1,0,0,114,220,0,0,0,114,64,1,0,0,114,240,0,
- 0,0,114,66,1,0,0,114,253,0,0,0,114,116,0,0,
- 0,114,68,1,0,0,114,69,1,0,0,114,77,1,0,0,
- 114,17,0,0,0,114,18,0,0,0,114,80,1,0,0,114,
- 81,1,0,0,114,82,1,0,0,114,92,1,0,0,114,79,
- 1,0,0,114,97,1,0,0,114,99,1,0,0,114,101,1,
- 0,0,114,103,1,0,0,114,105,1,0,0,114,107,1,0,
- 0,114,109,1,0,0,218,8,112,108,97,116,102,111,114,109,
- 114,126,1,0,0,114,122,1,0,0,114,20,0,0,0,114,
- 162,1,0,0,114,134,0,0,0,114,41,1,0,0,218,3,
- 65,66,67,114,164,1,0,0,114,178,1,0,0,114,190,1,
- 0,0,114,28,1,0,0,114,27,0,0,0,114,25,0,0,
- 0,218,8,60,109,111,100,117,108,101,62,114,208,1,0,0,
- 1,0,0,0,115,5,6,0,0,240,3,1,1,1,241,2,
- 21,1,4,243,48,0,1,11,219,0,10,219,0,17,229,0,
- 43,225,15,19,144,68,152,19,145,73,139,127,128,12,224,9,
- 12,215,9,33,209,9,33,128,6,242,6,3,11,21,128,7,
- 242,10,1,1,29,242,6,4,1,55,240,16,0,4,11,136,
- 102,209,3,20,216,11,18,128,68,216,14,18,128,71,220,4,
- 23,240,2,4,5,13,221,8,31,216,8,15,143,14,137,14,
- 144,119,212,8,31,243,6,0,5,29,240,4,3,5,13,221,
- 8,41,243,8,0,5,17,216,4,11,135,78,129,78,209,19,
- 36,160,85,211,19,43,212,4,44,217,8,13,224,5,9,136,
- 86,129,94,216,11,15,128,68,216,14,20,128,71,220,4,20,
- 240,2,4,5,13,221,8,28,216,8,15,143,14,137,14,144,
- 119,212,8,31,243,6,0,5,26,227,4,13,216,4,11,135,
- 78,129,78,209,19,36,160,82,211,19,40,212,4,41,216,8,
- 10,240,4,3,5,13,222,8,38,241,10,0,11,22,208,22,
- 51,211,10,52,208,4,52,224,25,29,128,3,135,11,129,11,
- 136,73,209,0,22,247,2,1,1,13,247,0,1,1,13,243,
- 0,1,1,13,240,6,0,5,11,241,6,0,4,11,208,11,
- 28,213,3,29,217,15,22,139,121,128,72,242,2,2,5,35,
- 241,8,0,12,15,139,53,128,68,217,4,8,208,9,25,152,
- 72,212,4,37,217,4,8,136,31,152,71,212,4,36,217,4,
- 8,136,31,152,71,212,4,36,217,4,8,136,30,152,70,212,
- 4,35,217,4,8,208,9,25,152,71,212,4,36,217,4,8,
+ 0,0,1,0,100,0,124,0,95,2,0,0,0,0,0,0,
+ 0,0,121,0,114,23,0,0,0,41,3,114,181,1,0,0,
+ 114,180,1,0,0,114,12,0,0,0,114,17,1,0,0,115,
+ 1,0,0,0,32,114,25,0,0,0,114,169,0,0,0,122,
+ 24,95,65,100,100,101,100,68,108,108,68,105,114,101,99,116,
+ 111,114,121,46,99,108,111,115,101,107,4,0,0,115,27,0,
+ 0,0,128,0,216,12,16,215,12,38,209,12,38,160,116,167,
+ 124,161,124,212,12,52,216,24,28,136,68,141,73,114,27,0,
+ 0,0,99,1,0,0,0,0,0,0,0,0,0,0,0,1,
+ 0,0,0,3,0,0,0,243,6,0,0,0,151,0,124,0,
+ 83,0,114,23,0,0,0,114,28,1,0,0,114,17,1,0,
+ 0,115,1,0,0,0,32,114,25,0,0,0,114,137,1,0,
+ 0,122,28,95,65,100,100,101,100,68,108,108,68,105,114,101,
+ 99,116,111,114,121,46,95,95,101,110,116,101,114,95,95,110,
+ 4,0,0,114,138,1,0,0,114,27,0,0,0,99,1,0,
+ 0,0,0,0,0,0,0,0,0,0,2,0,0,0,7,0,
+ 0,0,243,36,0,0,0,151,0,124,0,106,1,0,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,171,
+ 0,0,0,0,0,0,0,1,0,121,0,114,23,0,0,0,
+ 114,140,1,0,0,114,141,1,0,0,115,2,0,0,0,32,
+ 32,114,25,0,0,0,114,142,1,0,0,122,27,95,65,100,
+ 100,101,100,68,108,108,68,105,114,101,99,116,111,114,121,46,
+ 95,95,101,120,105,116,95,95,112,4,0,0,114,143,1,0,
+ 0,114,27,0,0,0,99,1,0,0,0,0,0,0,0,0,
+ 0,0,0,3,0,0,0,3,0,0,0,243,82,0,0,0,
+ 151,0,124,0,106,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,0,0,114,27,100,1,106,3,0,0,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 124,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,0,0,0,0,171,1,0,0,0,0,0,0,83,0,
+ 121,2,41,3,78,122,25,60,65,100,100,101,100,68,108,108,
+ 68,105,114,101,99,116,111,114,121,40,123,33,114,125,41,62,
+ 122,21,60,65,100,100,101,100,68,108,108,68,105,114,101,99,
+ 116,111,114,121,40,41,62,41,2,114,12,0,0,0,114,159,
+ 1,0,0,114,17,1,0,0,115,1,0,0,0,32,114,25,
+ 0,0,0,114,23,1,0,0,122,27,95,65,100,100,101,100,
+ 68,108,108,68,105,114,101,99,116,111,114,121,46,95,95,114,
+ 101,112,114,95,95,114,4,0,0,115,33,0,0,0,128,0,
+ 216,15,19,143,121,138,121,216,23,50,215,23,57,209,23,57,
+ 184,36,191,41,185,41,211,23,68,208,16,68,216,19,42,114,
+ 27,0,0,0,78,41,8,114,41,1,0,0,114,42,1,0,
+ 0,114,43,1,0,0,114,0,1,0,0,114,169,0,0,0,
+ 114,137,1,0,0,114,142,1,0,0,114,23,1,0,0,114,
+ 28,1,0,0,114,27,0,0,0,114,25,0,0,0,114,178,
+ 1,0,0,114,178,1,0,0,102,4,0,0,115,27,0,0,
+ 0,132,0,242,2,3,9,62,242,8,2,9,29,242,6,1,
+ 9,24,242,4,1,9,25,243,4,3,9,43,114,27,0,0,
+ 0,114,178,1,0,0,99,1,0,0,0,0,0,0,0,0,
+ 0,0,0,5,0,0,0,3,0,0,0,243,92,0,0,0,
+ 151,0,100,1,100,2,108,0,125,1,2,0,124,1,106,2,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,124,0,171,1,0,0,0,0,0,0,125,2,116,5,
+ 0,0,0,0,0,0,0,0,124,0,124,2,124,1,106,6,
+ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+ 0,0,171,3,0,0,0,0,0,0,83,0,41,3,97,79,
+ 1,0,0,65,100,100,32,97,32,112,97,116,104,32,116,111,
+ 32,116,104,101,32,68,76,76,32,115,101,97,114,99,104,32,
+ 112,97,116,104,46,10,10,32,32,32,32,32,32,32,32,84,
+ 104,105,115,32,115,101,97,114,99,104,32,112,97,116,104,32,
+ 105,115,32,117,115,101,100,32,119,104,101,110,32,114,101,115,
+ 111,108,118,105,110,103,32,100,101,112,101,110,100,101,110,99,
+ 105,101,115,32,102,111,114,32,105,109,112,111,114,116,101,100,
+ 10,32,32,32,32,32,32,32,32,101,120,116,101,110,115,105,
+ 111,110,32,109,111,100,117,108,101,115,32,40,116,104,101,32,
+ 109,111,100,117,108,101,32,105,116,115,101,108,102,32,105,115,
+ 32,114,101,115,111,108,118,101,100,32,116,104,114,111,117,103,
+ 104,32,115,121,115,46,112,97,116,104,41,44,10,32,32,32,
+ 32,32,32,32,32,97,110,100,32,97,108,115,111,32,98,121,
+ 32,99,116,121,112,101,115,46,10,10,32,32,32,32,32,32,
+ 32,32,82,101,109,111,118,101,32,116,104,101,32,100,105,114,
+ 101,99,116,111,114,121,32,98,121,32,99,97,108,108,105,110,
+ 103,32,99,108,111,115,101,40,41,32,111,110,32,116,104,101,
+ 32,114,101,116,117,114,110,101,100,32,111,98,106,101,99,116,
+ 32,111,114,10,32,32,32,32,32,32,32,32,117,115,105,110,
+ 103,32,105,116,32,105,110,32,97,32,119,105,116,104,32,115,
+ 116,97,116,101,109,101,110,116,46,10,32,32,32,32,32,32,
+ 32,32,114,2,0,0,0,78,41,4,114,42,0,0,0,218,
+ 18,95,97,100,100,95,100,108,108,95,100,105,114,101,99,116,
+ 111,114,121,114,178,1,0,0,114,181,1,0,0,41,3,114,
+ 12,0,0,0,114,42,0,0,0,114,182,1,0,0,115,3,
+ 0,0,0,32,32,32,114,25,0,0,0,218,17,97,100,100,
+ 95,100,108,108,95,100,105,114,101,99,116,111,114,121,114,190,
+ 1,0,0,119,4,0,0,115,53,0,0,0,128,0,243,20,
+ 0,9,18,216,17,38,144,18,215,17,38,209,17,38,160,116,
+ 211,17,44,136,6,220,15,33,216,12,16,216,12,18,216,12,
+ 14,215,12,36,209,12,36,243,7,4,16,10,240,0,4,9,
+ 10,114,27,0,0,0,41,2,105,255,1,0,0,70,41,3,
+ 84,78,70,41,3,218,1,46,84,78,114,23,0,0,0,41,
+ 2,114,112,1,0,0,114,182,0,0,0,41,3,114,112,1,
+ 0,0,114,182,0,0,0,78,41,110,114,171,1,0,0,114,
+ 172,1,0,0,114,132,0,0,0,114,57,0,0,0,114,187,
+ 0,0,0,218,16,95,99,111,108,108,101,99,116,105,111,110,
+ 115,95,97,98,99,114,3,0,0,0,114,47,1,0,0,114,
+ 30,0,0,0,114,151,1,0,0,114,175,1,0,0,218,20,
+ 98,117,105,108,116,105,110,95,109,111,100,117,108,101,95,110,
+ 97,109,101,115,218,6,95,110,97,109,101,115,114,31,0,0,
+ 0,114,26,0,0,0,114,36,0,0,0,114,11,0,0,0,
+ 114,9,0,0,0,114,37,0,0,0,114,40,0,0,0,114,
+ 144,0,0,0,218,11,73,109,112,111,114,116,69,114,114,111,
+ 114,218,9,112,111,115,105,120,112,97,116,104,114,12,0,0,
+ 0,114,41,0,0,0,114,191,0,0,0,114,42,0,0,0,
+ 218,6,110,116,112,97,116,104,218,7,109,111,100,117,108,101,
+ 115,218,7,111,115,46,112,97,116,104,114,5,0,0,0,114,
+ 6,0,0,0,114,7,0,0,0,114,8,0,0,0,114,10,
+ 0,0,0,114,21,0,0,0,114,4,0,0,0,114,13,0,
+ 0,0,114,24,0,0,0,114,44,0,0,0,114,49,0,0,
+ 0,218,3,115,101,116,114,45,0,0,0,218,15,115,117,112,
+ 112,111,114,116,115,95,100,105,114,95,102,100,218,22,115,117,
+ 112,112,111,114,116,115,95,101,102,102,101,99,116,105,118,101,
+ 95,105,100,115,114,46,0,0,0,218,11,115,117,112,112,111,
+ 114,116,115,95,102,100,218,24,115,117,112,112,111,114,116,115,
+ 95,102,111,108,108,111,119,95,115,121,109,108,105,110,107,115,
+ 114,14,0,0,0,114,15,0,0,0,114,16,0,0,0,114,
+ 113,0,0,0,114,124,0,0,0,114,128,0,0,0,218,6,
+ 111,98,106,101,99,116,114,141,0,0,0,114,162,0,0,0,
+ 114,69,0,0,0,114,86,0,0,0,114,173,0,0,0,114,
+ 166,0,0,0,114,184,0,0,0,114,168,0,0,0,114,167,
+ 0,0,0,114,204,0,0,0,114,208,0,0,0,114,211,0,
+ 0,0,114,214,0,0,0,114,210,0,0,0,114,213,0,0,
+ 0,114,217,0,0,0,114,19,0,0,0,114,244,0,0,0,
+ 114,245,0,0,0,114,247,0,0,0,114,60,1,0,0,114,
+ 220,0,0,0,114,64,1,0,0,114,240,0,0,0,114,66,
+ 1,0,0,114,253,0,0,0,114,116,0,0,0,114,68,1,
+ 0,0,114,69,1,0,0,114,77,1,0,0,114,17,0,0,
+ 0,114,18,0,0,0,114,80,1,0,0,114,81,1,0,0,
+ 114,82,1,0,0,114,92,1,0,0,114,79,1,0,0,114,
+ 97,1,0,0,114,99,1,0,0,114,101,1,0,0,114,103,
+ 1,0,0,114,105,1,0,0,114,107,1,0,0,114,109,1,
+ 0,0,218,8,112,108,97,116,102,111,114,109,114,126,1,0,
+ 0,114,122,1,0,0,114,20,0,0,0,114,162,1,0,0,
+ 114,134,0,0,0,114,41,1,0,0,218,3,65,66,67,114,
+ 164,1,0,0,114,178,1,0,0,114,190,1,0,0,114,28,
+ 1,0,0,114,27,0,0,0,114,25,0,0,0,218,8,60,
+ 109,111,100,117,108,101,62,114,208,1,0,0,1,0,0,0,
+ 115,5,6,0,0,240,3,1,1,1,241,2,21,1,4,243,
+ 48,0,1,11,219,0,10,219,0,17,229,0,43,225,15,19,
+ 144,68,152,19,145,73,139,127,128,12,224,9,12,215,9,33,
+ 209,9,33,128,6,242,6,3,11,21,128,7,242,10,1,1,
+ 29,242,6,4,1,55,240,16,0,4,11,136,102,209,3,20,
+ 216,11,18,128,68,216,14,18,128,71,220,4,23,240,2,4,
+ 5,13,221,8,31,216,8,15,143,14,137,14,144,119,212,8,
+ 31,243,6,0,5,29,240,4,3,5,13,221,8,41,243,8,
+ 0,5,17,216,4,11,135,78,129,78,209,19,36,160,85,211,
+ 19,43,212,4,44,217,8,13,224,5,9,136,86,129,94,216,
+ 11,15,128,68,216,14,20,128,71,220,4,20,240,2,4,5,
+ 13,221,8,28,216,8,15,143,14,137,14,144,119,212,8,31,
+ 243,6,0,5,26,227,4,13,216,4,11,135,78,129,78,209,
+ 19,36,160,82,211,19,40,212,4,41,216,8,10,240,4,3,
+ 5,13,222,8,38,241,10,0,11,22,208,22,51,211,10,52,
+ 208,4,52,224,25,29,128,3,135,11,129,11,136,73,209,0,
+ 22,247,2,1,1,13,247,0,1,1,13,243,0,1,1,13,
+ 240,6,0,5,11,241,6,0,4,11,208,11,28,213,3,29,
+ 217,15,22,139,121,128,72,242,2,2,5,35,241,8,0,12,
+ 15,139,53,128,68,217,4,8,208,9,25,152,72,212,4,37,
+ 217,4,8,136,31,152,71,212,4,36,217,4,8,136,31,152,
+ 71,212,4,36,217,4,8,136,30,152,70,212,4,35,217,4,
+ 8,208,9,25,152,71,212,4,36,217,4,8,136,29,152,70,
+ 212,4,35,217,4,8,136,30,152,71,212,4,36,217,4,8,
+ 136,31,152,72,212,4,37,217,4,8,136,30,152,71,212,4,
+ 36,217,4,8,136,29,152,70,212,4,35,217,4,8,208,9,
+ 26,152,74,212,4,39,217,4,8,136,31,152,72,212,4,37,
+ 217,4,8,208,9,25,152,73,212,4,38,217,4,8,136,31,
+ 152,72,212,4,37,217,4,8,136,31,152,71,212,4,36,217,
+ 4,8,208,9,25,152,71,212,4,36,216,22,26,128,79,225,
+ 11,14,139,53,128,68,217,4,8,208,9,25,152,72,212,4,
+ 37,216,29,33,208,4,26,225,11,14,139,53,128,68,217,4,
+ 8,136,29,152,71,212,4,36,217,4,8,136,29,152,71,212,
+ 4,36,217,4,8,136,29,152,71,212,4,36,217,4,8,208,
+ 9,25,152,73,212,4,38,217,4,8,208,9,25,152,73,212,
+ 4,38,217,4,8,136,30,152,72,212,4,37,216,4,8,135,
+ 72,129,72,136,84,132,78,217,4,8,208,9,25,152,74,212,
+ 4,39,217,4,8,136,31,152,71,212,4,36,217,4,8,136,
+ 30,152,71,212,4,36,217,4,8,208,9,25,152,74,212,4,
+ 39,217,7,14,136,121,212,7,25,153,103,160,106,212,30,49,
+ 217,8,12,136,95,152,105,212,8,40,216,18,22,128,75,225,
+ 11,14,139,53,128,68,217,4,8,208,9,25,152,72,212,4,
+ 37,241,44,0,5,9,136,31,152,71,212,4,36,217,4,8,
+ 136,30,152,70,212,4,35,217,4,8,136,31,152,73,212,4,
+ 38,217,4,8,136,29,152,71,212,4,36,217,7,14,136,120,
+ 212,7,24,217,8,12,136,93,152,71,212,8,36,217,4,8,
136,29,152,70,212,4,35,217,4,8,136,30,152,71,212,4,
- 36,217,4,8,136,31,152,72,212,4,37,217,4,8,136,30,
- 152,71,212,4,36,217,4,8,136,29,152,70,212,4,35,217,
- 4,8,208,9,26,152,74,212,4,39,217,4,8,136,31,152,
- 72,212,4,37,217,4,8,208,9,25,152,73,212,4,38,217,
- 4,8,136,31,152,72,212,4,37,217,4,8,136,31,152,71,
- 212,4,36,217,4,8,208,9,25,152,71,212,4,36,216,22,
- 26,128,79,225,11,14,139,53,128,68,217,4,8,208,9,25,
- 152,72,212,4,37,216,29,33,208,4,26,225,11,14,139,53,
- 128,68,217,4,8,136,29,152,71,212,4,36,217,4,8,136,
- 29,152,71,212,4,36,217,4,8,136,29,152,71,212,4,36,
- 217,4,8,208,9,25,152,73,212,4,38,217,4,8,208,9,
- 25,152,73,212,4,38,217,4,8,136,30,152,72,212,4,37,
- 216,4,8,135,72,129,72,136,84,132,78,217,4,8,208,9,
- 25,152,74,212,4,39,217,4,8,136,31,152,71,212,4,36,
- 217,4,8,136,30,152,71,212,4,36,217,4,8,208,9,25,
- 152,74,212,4,39,217,7,14,136,121,212,7,25,153,103,160,
- 106,212,30,49,217,8,12,136,95,152,105,212,8,40,216,18,
- 22,128,75,225,11,14,139,53,128,68,217,4,8,208,9,25,
- 152,72,212,4,37,241,44,0,5,9,136,31,152,71,212,4,
- 36,217,4,8,136,30,152,70,212,4,35,217,4,8,136,31,
- 152,73,212,4,38,217,4,8,136,29,152,71,212,4,36,217,
- 7,14,136,120,212,7,24,217,8,12,136,93,152,71,212,8,
- 36,217,4,8,136,29,152,70,212,4,35,217,4,8,136,30,
- 152,71,212,4,36,217,4,8,136,28,152,70,212,4,35,217,
- 4,8,136,30,152,70,212,4,35,217,4,8,208,9,25,152,
- 71,212,4,36,217,4,8,136,28,152,70,212,4,35,216,31,
- 35,208,4,28,224,8,12,216,8,23,216,8,16,216,8,12,
- 240,12,0,12,13,128,8,216,11,12,128,8,216,11,12,128,
- 8,243,10,30,1,18,242,64,1,20,1,38,242,44,24,1,
- 17,240,52,0,1,8,135,14,129,14,210,15,52,212,0,53,
- 241,8,0,27,33,155,40,208,0,23,243,4,88,2,1,39,
- 240,116,4,0,1,8,135,14,129,14,136,118,212,0,22,224,
- 4,8,136,36,128,60,144,63,210,3,34,168,7,176,20,160,
- 127,184,43,210,39,69,240,4,45,5,33,192,101,208,84,88,
- 244,0,45,5,33,240,96,1,0,19,20,128,75,216,19,20,
- 128,76,216,19,20,128,76,242,4,72,1,5,67,1,240,84,
- 2,0,5,12,135,78,129,78,144,55,212,4,27,242,4,5,
- 1,22,242,14,6,1,33,242,16,5,1,23,242,14,7,1,
- 34,242,18,6,1,25,242,16,7,1,30,240,18,0,1,8,
- 135,14,129,14,210,15,71,212,0,72,243,4,29,1,19,243,
- 64,1,41,1,36,247,90,1,0,1,53,244,4,71,1,1,
- 19,136,126,244,0,71,1,1,19,242,82,2,27,1,24,241,
- 60,0,11,25,211,10,26,128,7,216,4,18,243,6,4,1,
- 37,240,12,0,27,31,160,36,153,44,208,0,22,216,0,7,
- 135,14,129,14,208,15,51,212,0,52,225,3,25,242,2,3,
- 5,21,241,12,0,16,24,152,7,159,13,153,13,216,8,20,
- 144,101,216,8,20,144,101,243,5,2,16,29,128,72,240,6,
- 0,9,21,243,4,4,5,42,240,12,0,5,12,135,78,129,
- 78,208,19,42,212,4,43,242,4,28,1,30,241,60,0,22,
- 30,147,90,209,0,18,128,8,136,40,216,4,12,241,6,0,
- 4,11,136,54,132,63,153,55,160,56,212,27,44,177,23,184,
- 23,212,49,65,224,13,14,128,70,216,27,28,208,4,28,128,
- 72,136,121,224,4,11,135,78,129,78,210,19,54,212,4,55,
- 242,12,25,5,51,242,54,7,5,56,242,18,8,5,56,242,
- 24,8,5,57,242,20,8,5,57,240,22,0,5,12,135,78,
- 129,78,210,19,63,212,4,64,241,6,0,4,11,136,56,212,
- 3,20,242,8,7,5,40,242,18,9,5,51,240,24,0,5,
- 12,135,78,129,78,144,72,152,105,208,19,40,212,4,41,241,
- 6,0,4,11,136,57,212,3,21,242,6,8,5,41,242,20,
- 9,5,52,240,24,0,5,12,135,78,129,78,144,73,152,122,
- 208,19,42,212,4,43,240,8,0,4,7,135,60,129,60,144,
- 57,210,3,28,243,4,19,5,49,247,44,20,5,38,241,0,
- 20,5,38,240,44,0,5,12,135,78,129,78,144,55,212,4,
- 27,243,6,6,1,67,1,242,22,27,1,67,1,241,62,0,
- 8,15,136,120,212,7,24,216,13,20,128,70,216,22,30,128,
- 70,132,79,244,6,15,1,50,136,115,143,119,137,119,244,0,
- 15,1,50,240,36,0,4,8,136,52,130,60,247,2,15,5,
- 43,241,0,15,5,43,243,34,16,5,10,240,37,0,4,16,
- 248,240,85,33,0,12,23,242,0,1,5,13,218,8,12,240,
- 3,1,5,13,251,240,12,0,12,23,242,0,1,5,13,218,
- 8,12,240,3,1,5,13,251,240,28,0,12,23,242,0,1,
- 5,13,218,8,12,240,3,1,5,13,251,240,20,0,12,23,
- 242,0,1,5,13,218,8,12,240,3,1,5,13,250,115,72,
- 0,0,0,193,4,23,83,31,0,193,32,6,83,43,0,194,
- 17,23,83,55,0,195,9,6,84,3,0,211,31,5,83,40,
- 3,211,39,1,83,40,3,211,43,5,83,52,3,211,51,1,
- 83,52,3,211,55,5,84,0,3,211,63,1,84,0,3,212,
- 3,5,84,12,3,212,11,1,84,12,3,
+ 36,217,4,8,136,28,152,70,212,4,35,217,4,8,136,30,
+ 152,70,212,4,35,217,4,8,208,9,25,152,71,212,4,36,
+ 217,4,8,136,28,152,70,212,4,35,216,31,35,208,4,28,
+ 224,8,12,216,8,23,216,8,16,216,8,12,240,12,0,12,
+ 13,128,8,216,11,12,128,8,216,11,12,128,8,243,10,30,
+ 1,18,242,64,1,20,1,38,242,44,24,1,17,240,52,0,
+ 1,8,135,14,129,14,210,15,52,212,0,53,241,8,0,27,
+ 33,155,40,208,0,23,243,4,88,2,1,39,240,116,4,0,
+ 1,8,135,14,129,14,136,118,212,0,22,224,4,8,136,36,
+ 128,60,144,63,210,3,34,168,7,176,20,160,127,184,43,210,
+ 39,69,240,4,45,5,33,192,101,208,84,88,244,0,45,5,
+ 33,240,96,1,0,19,20,128,75,216,19,20,128,76,216,19,
+ 20,128,76,242,4,72,1,5,67,1,240,84,2,0,5,12,
+ 135,78,129,78,144,55,212,4,27,242,4,5,1,22,242,14,
+ 6,1,33,242,16,5,1,23,242,14,7,1,34,242,18,6,
+ 1,25,242,16,7,1,30,240,18,0,1,8,135,14,129,14,
+ 210,15,71,212,0,72,243,4,29,1,19,243,64,1,41,1,
+ 36,247,90,1,0,1,53,244,4,71,1,1,19,136,126,244,
+ 0,71,1,1,19,242,82,2,27,1,24,241,60,0,11,25,
+ 211,10,26,128,7,216,4,18,243,6,4,1,37,240,12,0,
+ 27,31,160,36,153,44,208,0,22,216,0,7,135,14,129,14,
+ 208,15,51,212,0,52,225,3,25,242,2,3,5,21,241,12,
+ 0,16,24,152,7,159,13,153,13,216,8,20,144,101,216,8,
+ 20,144,101,243,5,2,16,29,128,72,240,6,0,9,21,243,
+ 4,4,5,42,240,12,0,5,12,135,78,129,78,208,19,42,
+ 212,4,43,242,4,28,1,30,241,60,0,22,30,147,90,209,
+ 0,18,128,8,136,40,216,4,12,241,6,0,4,11,136,54,
+ 132,63,153,55,160,56,212,27,44,177,23,184,23,212,49,65,
+ 224,13,14,128,70,216,27,28,208,4,28,128,72,136,121,224,
+ 4,11,135,78,129,78,210,19,54,212,4,55,242,12,25,5,
+ 51,242,54,7,5,56,242,18,8,5,56,242,24,8,5,57,
+ 242,20,8,5,57,240,22,0,5,12,135,78,129,78,210,19,
+ 63,212,4,64,241,6,0,4,11,136,56,212,3,20,242,8,
+ 7,5,40,242,18,9,5,51,240,24,0,5,12,135,78,129,
+ 78,144,72,152,105,208,19,40,212,4,41,241,6,0,4,11,
+ 136,57,212,3,21,242,6,8,5,41,242,20,9,5,52,240,
+ 24,0,5,12,135,78,129,78,144,73,152,122,208,19,42,212,
+ 4,43,240,8,0,4,7,135,60,129,60,144,57,210,3,28,
+ 243,4,19,5,49,247,44,20,5,38,241,0,20,5,38,240,
+ 44,0,5,12,135,78,129,78,144,55,212,4,27,243,6,6,
+ 1,67,1,242,22,27,1,67,1,241,62,0,8,15,136,120,
+ 212,7,24,216,13,20,128,70,216,22,30,128,70,132,79,244,
+ 6,15,1,50,136,115,143,119,137,119,244,0,15,1,50,240,
+ 36,0,4,8,136,52,130,60,247,2,15,5,43,241,0,15,
+ 5,43,243,34,16,5,10,240,37,0,4,16,248,240,85,33,
+ 0,12,23,242,0,1,5,13,218,8,12,240,3,1,5,13,
+ 251,240,12,0,12,23,242,0,1,5,13,218,8,12,240,3,
+ 1,5,13,251,240,28,0,12,23,242,0,1,5,13,218,8,
+ 12,240,3,1,5,13,251,240,20,0,12,23,242,0,1,5,
+ 13,218,8,12,240,3,1,5,13,250,115,72,0,0,0,193,
+ 4,23,83,31,0,193,32,6,83,43,0,194,17,23,83,55,
+ 0,195,9,6,84,3,0,211,31,5,83,40,3,211,39,1,
+ 83,40,3,211,43,5,83,52,3,211,51,1,83,52,3,211,
+ 55,5,84,0,3,211,63,1,84,0,3,212,3,5,84,12,
+ 3,212,11,1,84,12,3,
};
diff --git a/contrib/tools/python3/Python/import.c b/contrib/tools/python3/Python/import.c
index 1b550d0451c..8f8d5c25cb5 100644
--- a/contrib/tools/python3/Python/import.c
+++ b/contrib/tools/python3/Python/import.c
@@ -2438,19 +2438,15 @@ PyObject *
PyImport_GetImporter(PyObject *path)
{
PyThreadState *tstate = _PyThreadState_GET();
- PyObject *path_importer_cache = PySys_GetObject("path_importer_cache");
+ PyObject *path_importer_cache = _PySys_GetRequiredAttrString("path_importer_cache");
if (path_importer_cache == NULL) {
- PyErr_SetString(PyExc_RuntimeError, "lost sys.path_importer_cache");
return NULL;
}
- Py_INCREF(path_importer_cache);
- PyObject *path_hooks = PySys_GetObject("path_hooks");
+ PyObject *path_hooks = _PySys_GetRequiredAttrString("path_hooks");
if (path_hooks == NULL) {
- PyErr_SetString(PyExc_RuntimeError, "lost sys.path_hooks");
Py_DECREF(path_importer_cache);
return NULL;
}
- Py_INCREF(path_hooks);
PyObject *importer = get_path_importer(tstate, path_importer_cache, path_hooks, path);
Py_DECREF(path_hooks);
Py_DECREF(path_importer_cache);
@@ -2754,15 +2750,31 @@ import_find_and_load(PyThreadState *tstate, PyObject *abs_name)
_PyTime_t t1 = 0, accumulated_copy = accumulated;
- PyObject *sys_path = PySys_GetObject("path");
- PyObject *sys_meta_path = PySys_GetObject("meta_path");
- PyObject *sys_path_hooks = PySys_GetObject("path_hooks");
+ PyObject *sys_path, *sys_meta_path, *sys_path_hooks;
+ if (_PySys_GetOptionalAttrString("path", &sys_path) < 0) {
+ return NULL;
+ }
+ if (_PySys_GetOptionalAttrString("meta_path", &sys_meta_path) < 0) {
+ Py_XDECREF(sys_path);
+ return NULL;
+ }
+ if (_PySys_GetOptionalAttrString("path_hooks", &sys_path_hooks) < 0) {
+ Py_XDECREF(sys_meta_path);
+ Py_XDECREF(sys_path);
+ return NULL;
+ }
if (_PySys_Audit(tstate, "import", "OOOOO",
abs_name, Py_None, sys_path ? sys_path : Py_None,
sys_meta_path ? sys_meta_path : Py_None,
sys_path_hooks ? sys_path_hooks : Py_None) < 0) {
+ Py_XDECREF(sys_path_hooks);
+ Py_XDECREF(sys_meta_path);
+ Py_XDECREF(sys_path);
return NULL;
}
+ Py_XDECREF(sys_path_hooks);
+ Py_XDECREF(sys_meta_path);
+ Py_XDECREF(sys_path);
/* XOptions is initialized after first some imports.
@@ -3216,10 +3228,8 @@ _PyImport_FiniCore(PyInterpreterState *interp)
static int
init_zipimport(PyThreadState *tstate, int verbose)
{
- PyObject *path_hooks = PySys_GetObject("path_hooks");
+ PyObject *path_hooks = _PySys_GetRequiredAttrString("path_hooks");
if (path_hooks == NULL) {
- _PyErr_SetString(tstate, PyExc_RuntimeError,
- "unable to get sys.path_hooks");
return -1;
}
@@ -3239,12 +3249,14 @@ init_zipimport(PyThreadState *tstate, int verbose)
int err = PyList_Insert(path_hooks, 0, zipimporter);
Py_DECREF(zipimporter);
if (err < 0) {
+ Py_DECREF(path_hooks);
return -1;
}
if (verbose) {
PySys_WriteStderr("# installed zipimport hook\n");
}
}
+ Py_DECREF(path_hooks);
return 0;
}
diff --git a/contrib/tools/python3/Python/initconfig.c b/contrib/tools/python3/Python/initconfig.c
index 4cf56864feb..2c76cf86f0b 100644
--- a/contrib/tools/python3/Python/initconfig.c
+++ b/contrib/tools/python3/Python/initconfig.c
@@ -9,6 +9,7 @@
#include "pycore_pylifecycle.h" // _Py_PreInitializeFromConfig()
#include "pycore_pymem.h" // _PyMem_SetDefaultAllocator()
#include "pycore_pystate.h" // _PyThreadState_GET()
+#include "pycore_sysmodule.h" // _PySys_GetOptionalAttrString()
#include "osdefs.h" // DELIM
@@ -43,7 +44,7 @@ Options (and corresponding environment variables):\n\
-h : print this help message and exit (also -? or --help)\n\
-i : inspect interactively after running script; forces a prompt even\n\
if stdin does not appear to be a terminal; also PYTHONINSPECT=x\n\
--I : isolate Python from the user's environment (implies -E and -s)\n\
+-I : isolate Python from the user's environment (implies -E, -P and -s)\n\
-m mod : run library module as a script (terminates option list)\n\
-O : remove assert and __debug__-dependent statements; add .opt-1 before\n\
.pyc extension; also PYTHONOPTIMIZE=x\n\
@@ -3144,10 +3145,13 @@ _Py_DumpPathConfig(PyThreadState *tstate)
#define DUMP_SYS(NAME) \
do { \
- obj = PySys_GetObject(#NAME); \
PySys_FormatStderr(" sys.%s = ", #NAME); \
+ if (_PySys_GetOptionalAttrString(#NAME, &obj) < 0) { \
+ PyErr_Clear(); \
+ } \
if (obj != NULL) { \
PySys_FormatStderr("%A", obj); \
+ Py_DECREF(obj); \
} \
else { \
PySys_WriteStderr("(not set)"); \
@@ -3165,7 +3169,8 @@ _Py_DumpPathConfig(PyThreadState *tstate)
DUMP_SYS(exec_prefix);
#undef DUMP_SYS
- PyObject *sys_path = PySys_GetObject("path"); /* borrowed reference */
+ PyObject *sys_path;
+ (void) _PySys_GetOptionalAttrString("path", &sys_path);
if (sys_path != NULL && PyList_Check(sys_path)) {
PySys_WriteStderr(" sys.path = [\n");
Py_ssize_t len = PyList_GET_SIZE(sys_path);
@@ -3175,6 +3180,7 @@ _Py_DumpPathConfig(PyThreadState *tstate)
}
PySys_WriteStderr(" ]\n");
}
+ Py_XDECREF(sys_path);
_PyErr_SetRaisedException(tstate, exc);
}
diff --git a/contrib/tools/python3/Python/instrumentation.c b/contrib/tools/python3/Python/instrumentation.c
index a6ff7a8a985..2f94f103e43 100644
--- a/contrib/tools/python3/Python/instrumentation.c
+++ b/contrib/tools/python3/Python/instrumentation.c
@@ -962,7 +962,7 @@ call_instrumentation_vector(
/* Offset visible to user should be the offset in bytes, as that is the
* convention for APIs involving code offsets. */
int bytes_offset = offset * (int)sizeof(_Py_CODEUNIT);
- PyObject *offset_obj = PyLong_FromSsize_t(bytes_offset);
+ PyObject *offset_obj = PyLong_FromLong(bytes_offset);
if (offset_obj == NULL) {
return -1;
}
@@ -1141,14 +1141,46 @@ _Py_call_instrumentation_line(PyThreadState *tstate, _PyInterpreterFrame* frame,
(interp->monitors.tools[PY_MONITORING_EVENT_LINE] |
code->_co_monitoring->local_monitors.tools[PY_MONITORING_EVENT_LINE]
);
- PyObject *line_obj = PyLong_FromSsize_t(line);
+ /* Special case sys.settrace to avoid boxing the line number,
+ * only to immediately unbox it. */
+ if (tools & (1 << PY_MONITORING_SYS_TRACE_ID)) {
+ if (tstate->c_tracefunc != NULL && line >= 0) {
+ PyFrameObject *frame_obj = _PyFrame_GetFrameObject(frame);
+ if (frame_obj == NULL) {
+ return -1;
+ }
+ if (frame_obj->f_trace_lines) {
+ /* Need to set tracing and what_event as if using
+ * the instrumentation call. */
+ int old_what = tstate->what_event;
+ tstate->what_event = PY_MONITORING_EVENT_LINE;
+ tstate->tracing++;
+ /* Call c_tracefunc directly, having set the line number. */
+ Py_INCREF(frame_obj);
+ frame_obj->f_lineno = line;
+ int err = tstate->c_tracefunc(tstate->c_traceobj, frame_obj, PyTrace_LINE, Py_None);
+ frame_obj->f_lineno = 0;
+ tstate->tracing--;
+ tstate->what_event = old_what;
+ Py_DECREF(frame_obj);
+ if (err) {
+ return -1;
+ }
+ }
+ }
+ tools &= (255 - (1 << PY_MONITORING_SYS_TRACE_ID));
+ }
+ if (tools == 0) {
+ goto done;
+ }
+ PyObject *line_obj = PyLong_FromLong(line);
if (line_obj == NULL) {
return -1;
}
PyObject *args[3] = { NULL, (PyObject *)code, line_obj };
- while (tools) {
+ do {
int tool = most_significant_bit(tools);
- assert(tool >= 0 && tool < 8);
+ assert(tool >= 0 && tool < PY_MONITORING_SYS_PROFILE_ID);
assert(tools & (1 << tool));
tools &= ~(1 << tool);
int res = call_one_instrument(interp, tstate, &args[1],
@@ -1166,7 +1198,7 @@ _Py_call_instrumentation_line(PyThreadState *tstate, _PyInterpreterFrame* frame,
/* DISABLE */
remove_line_tools(code, i, 1 << tool);
}
- }
+ } while (tools);
Py_DECREF(line_obj);
uint8_t original_opcode;
done:
@@ -1197,7 +1229,7 @@ _Py_call_instrumentation_instruction(PyThreadState *tstate, _PyInterpreterFrame*
code->_co_monitoring->local_monitors.tools[PY_MONITORING_EVENT_INSTRUCTION]
);
int bytes_offset = offset * (int)sizeof(_Py_CODEUNIT);
- PyObject *offset_obj = PyLong_FromSsize_t(bytes_offset);
+ PyObject *offset_obj = PyLong_FromLong(bytes_offset);
if (offset_obj == NULL) {
return -1;
}
diff --git a/contrib/tools/python3/Python/intrinsics.c b/contrib/tools/python3/Python/intrinsics.c
index c6f5ac5402d..50b279693bf 100644
--- a/contrib/tools/python3/Python/intrinsics.c
+++ b/contrib/tools/python3/Python/intrinsics.c
@@ -8,6 +8,7 @@
#include "pycore_global_objects.h"
#include "pycore_intrinsics.h"
#include "pycore_pyerrors.h"
+#include "pycore_sysmodule.h" // _PySys_GetRequiredAttr()
#include "pycore_typevarobject.h"
@@ -21,16 +22,16 @@ no_intrinsic(PyThreadState* tstate, PyObject *unused)
}
static PyObject *
-print_expr(PyThreadState* tstate, PyObject *value)
+print_expr(PyThreadState* Py_UNUSED(ignored), PyObject *value)
{
- PyObject *hook = _PySys_GetAttr(tstate, &_Py_ID(displayhook));
+ PyObject *hook = _PySys_GetRequiredAttr(&_Py_ID(displayhook));
// Can't use ERROR_IF here.
if (hook == NULL) {
- _PyErr_SetString(tstate, PyExc_RuntimeError,
- "lost sys.displayhook");
return NULL;
}
- return PyObject_CallOneArg(hook, value);
+ PyObject *res = PyObject_CallOneArg(hook, value);
+ Py_DECREF(hook);
+ return res;
}
static int
diff --git a/contrib/tools/python3/Python/opcode_metadata.h b/contrib/tools/python3/Python/opcode_metadata.h
index f9b1c928cd4..ab351b1b358 100644
--- a/contrib/tools/python3/Python/opcode_metadata.h
+++ b/contrib/tools/python3/Python/opcode_metadata.h
@@ -3,6 +3,8 @@
// Python/bytecodes.c
// Do not edit!
+#include <stdbool.h>
+
#ifndef NEED_OPCODE_METADATA
extern int _PyOpcode_num_popped(int opcode, int oparg, bool jump);
#else
diff --git a/contrib/tools/python3/Python/pylifecycle.c b/contrib/tools/python3/Python/pylifecycle.c
index ef4e6076570..f5bea14b16b 100644
--- a/contrib/tools/python3/Python/pylifecycle.c
+++ b/contrib/tools/python3/Python/pylifecycle.c
@@ -1189,8 +1189,12 @@ init_interp_main(PyThreadState *tstate)
if (is_main_interp) {
/* Initialize warnings. */
- PyObject *warnoptions = PySys_GetObject("warnoptions");
- if (warnoptions != NULL && PyList_Size(warnoptions) > 0)
+ PyObject *warnoptions;
+ if (_PySys_GetOptionalAttrString("warnoptions", &warnoptions) < 0) {
+ return _PyStatus_ERR("can't initialize warnings");
+ }
+ if (warnoptions != NULL && PyList_Check(warnoptions) &&
+ PyList_Size(warnoptions) > 0)
{
PyObject *warnings_module = PyImport_ImportModule("warnings");
if (warnings_module == NULL) {
@@ -1199,6 +1203,7 @@ init_interp_main(PyThreadState *tstate)
}
Py_XDECREF(warnings_module);
}
+ Py_XDECREF(warnoptions);
interp->runtime->initialized = 1;
}
@@ -1667,24 +1672,32 @@ file_is_closed(PyObject *fobj)
static int
flush_std_files(void)
{
- PyThreadState *tstate = _PyThreadState_GET();
- PyObject *fout = _PySys_GetAttr(tstate, &_Py_ID(stdout));
- PyObject *ferr = _PySys_GetAttr(tstate, &_Py_ID(stderr));
+ PyObject *file;
PyObject *tmp;
int status = 0;
- if (fout != NULL && fout != Py_None && !file_is_closed(fout)) {
- tmp = PyObject_CallMethodNoArgs(fout, &_Py_ID(flush));
+ if (_PySys_GetOptionalAttr(&_Py_ID(stdout), &file) < 0) {
+ status = -1;
+ }
+ else if (file != NULL && file != Py_None && !file_is_closed(file)) {
+ tmp = PyObject_CallMethodNoArgs(file, &_Py_ID(flush));
if (tmp == NULL) {
- PyErr_WriteUnraisable(fout);
status = -1;
}
else
Py_DECREF(tmp);
}
+ if (status < 0) {
+ PyErr_WriteUnraisable(file);
+ }
+ Py_XDECREF(file);
- if (ferr != NULL && ferr != Py_None && !file_is_closed(ferr)) {
- tmp = PyObject_CallMethodNoArgs(ferr, &_Py_ID(flush));
+ if (_PySys_GetOptionalAttr(&_Py_ID(stderr), &file) < 0) {
+ PyErr_Clear();
+ status = -1;
+ }
+ else if (file != NULL && file != Py_None && !file_is_closed(file)) {
+ tmp = PyObject_CallMethodNoArgs(file, &_Py_ID(flush));
if (tmp == NULL) {
PyErr_Clear();
status = -1;
@@ -1692,6 +1705,7 @@ flush_std_files(void)
else
Py_DECREF(tmp);
}
+ Py_XDECREF(file);
return status;
}
@@ -2655,10 +2669,14 @@ _Py_FatalError_PrintExc(PyThreadState *tstate)
return 0;
}
- PyObject *ferr = _PySys_GetAttr(tstate, &_Py_ID(stderr));
+ PyObject *ferr;
+ if (_PySys_GetOptionalAttr(&_Py_ID(stderr), &ferr) < 0) {
+ _PyErr_Clear(tstate);
+ }
if (ferr == NULL || ferr == Py_None) {
/* sys.stderr is not set yet or set to None,
no need to try to display the exception */
+ Py_XDECREF(ferr);
Py_DECREF(exc);
return 0;
}
@@ -2678,6 +2696,7 @@ _Py_FatalError_PrintExc(PyThreadState *tstate)
else {
Py_DECREF(res);
}
+ Py_DECREF(ferr);
return has_tb;
}
diff --git a/contrib/tools/python3/Python/pythonrun.c b/contrib/tools/python3/Python/pythonrun.c
index cf84573a8e6..89287bace08 100644
--- a/contrib/tools/python3/Python/pythonrun.c
+++ b/contrib/tools/python3/Python/pythonrun.c
@@ -8,8 +8,6 @@
/* TODO: Cull includes following phase split */
-#include <stdbool.h>
-
#include "Python.h"
#include "pycore_ast.h" // PyAST_mod2obj
@@ -27,6 +25,8 @@
#include "errcode.h" // E_EOF
#include "marshal.h" // PyMarshal_ReadLongFromFile()
+#include <stdbool.h>
+
#ifdef MS_WINDOWS
# include "malloc.h" // alloca()
#endif
@@ -115,17 +115,35 @@ _PyRun_InteractiveLoopObject(FILE *fp, PyObject *filename, PyCompilerFlags *flag
flags = &local_flags;
}
- PyThreadState *tstate = _PyThreadState_GET();
- PyObject *v = _PySys_GetAttr(tstate, &_Py_ID(ps1));
+ PyObject *v;
+ if (_PySys_GetOptionalAttr(&_Py_ID(ps1), &v) < 0) {
+ PyErr_Print();
+ return -1;
+ }
if (v == NULL) {
- _PySys_SetAttr(&_Py_ID(ps1), v = PyUnicode_FromString(">>> "));
- Py_XDECREF(v);
+ v = PyUnicode_FromString(">>> ");
+ if (v == NULL) {
+ PyErr_Clear();
+ }
+ if (_PySys_SetAttr(&_Py_ID(ps1), v) < 0) {
+ PyErr_Clear();
+ }
+ }
+ Py_XDECREF(v);
+ if (_PySys_GetOptionalAttr(&_Py_ID(ps2), &v) < 0) {
+ PyErr_Print();
+ return -1;
}
- v = _PySys_GetAttr(tstate, &_Py_ID(ps2));
if (v == NULL) {
- _PySys_SetAttr(&_Py_ID(ps2), v = PyUnicode_FromString("... "));
- Py_XDECREF(v);
+ v = PyUnicode_FromString("... ");
+ if (v == NULL) {
+ PyErr_Clear();
+ }
+ if (_PySys_SetAttr(&_Py_ID(ps2), v) < 0) {
+ PyErr_Clear();
+ }
}
+ Py_XDECREF(v);
#ifdef Py_REF_DEBUG
int show_ref_count = _Py_GetConfig()->show_ref_count;
@@ -190,11 +208,12 @@ PyRun_InteractiveOneObjectEx(FILE *fp, PyObject *filename,
PyArena *arena;
const char *ps1 = "", *ps2 = "", *enc = NULL;
int errcode = 0;
- PyThreadState *tstate = _PyThreadState_GET();
if (fp == stdin) {
/* Fetch encoding from sys.stdin if possible. */
- v = _PySys_GetAttr(tstate, &_Py_ID(stdin));
+ if (_PySys_GetOptionalAttr(&_Py_ID(stdin), &v) < 0) {
+ return -1;
+ }
if (v && v != Py_None) {
oenc = PyObject_GetAttr(v, &_Py_ID(encoding));
if (oenc)
@@ -202,10 +221,14 @@ PyRun_InteractiveOneObjectEx(FILE *fp, PyObject *filename,
if (!enc)
PyErr_Clear();
}
+ Py_XDECREF(v);
+ }
+ if (_PySys_GetOptionalAttr(&_Py_ID(ps1), &v) < 0) {
+ Py_XDECREF(oenc);
+ return -1;
}
- v = _PySys_GetAttr(tstate, &_Py_ID(ps1));
if (v != NULL) {
- v = PyObject_Str(v);
+ Py_SETREF(v, PyObject_Str(v));
if (v == NULL)
PyErr_Clear();
else if (PyUnicode_Check(v)) {
@@ -216,9 +239,12 @@ PyRun_InteractiveOneObjectEx(FILE *fp, PyObject *filename,
}
}
}
- w = _PySys_GetAttr(tstate, &_Py_ID(ps2));
+ if (_PySys_GetOptionalAttr(&_Py_ID(ps2), &w) < 0) {
+ Py_XDECREF(oenc);
+ return -1;
+ }
if (w != NULL) {
- w = PyObject_Str(w);
+ Py_SETREF(w, PyObject_Str(w));
if (w == NULL)
PyErr_Clear();
else if (PyUnicode_Check(w)) {
@@ -718,8 +744,8 @@ _Py_HandleSystemExit(int *exitcode_p)
exitcode = (int)PyLong_AsLong(exc);
}
else {
- PyThreadState *tstate = _PyThreadState_GET();
- PyObject *sys_stderr = _PySys_GetAttr(tstate, &_Py_ID(stderr));
+ PyObject *sys_stderr;
+ (void) _PySys_GetOptionalAttr(&_Py_ID(stderr), &sys_stderr);
/* We clear the exception here to avoid triggering the assertion
* in PyObject_Str that ensures it won't silently lose exception
* details.
@@ -731,6 +757,7 @@ _Py_HandleSystemExit(int *exitcode_p)
PyObject_Print(exc, stderr, Py_PRINT_RAW);
fflush(stderr);
}
+ Py_XDECREF(sys_stderr);
PySys_WriteStderr("\n");
exitcode = 1;
}
@@ -755,7 +782,7 @@ handle_system_exit(void)
static void
_PyErr_PrintEx(PyThreadState *tstate, int set_sys_last_vars)
{
- PyObject *typ = NULL, *tb = NULL;
+ PyObject *typ = NULL, *tb = NULL, *hook = NULL;
handle_system_exit();
PyObject *exc = _PyErr_GetRaisedException(tstate);
@@ -784,7 +811,9 @@ _PyErr_PrintEx(PyThreadState *tstate, int set_sys_last_vars)
_PyErr_Clear(tstate);
}
}
- PyObject *hook = _PySys_GetAttr(tstate, &_Py_ID(excepthook));
+ if (_PySys_GetOptionalAttr(&_Py_ID(excepthook), &hook) < 0) {
+ PyErr_Clear();
+ }
if (_PySys_Audit(tstate, "sys.excepthook", "OOOO", hook ? hook : Py_None,
typ, exc, tb) < 0) {
if (PyErr_ExceptionMatches(PyExc_RuntimeError)) {
@@ -821,6 +850,7 @@ _PyErr_PrintEx(PyThreadState *tstate, int set_sys_last_vars)
}
done:
+ Py_XDECREF(hook);
Py_XDECREF(typ);
Py_XDECREF(exc);
Py_XDECREF(tb);
@@ -1567,17 +1597,24 @@ _PyErr_Display(PyObject *file, PyObject *unused, PyObject *value, PyObject *tb)
void
PyErr_Display(PyObject *unused, PyObject *value, PyObject *tb)
{
- PyThreadState *tstate = _PyThreadState_GET();
- PyObject *file = _PySys_GetAttr(tstate, &_Py_ID(stderr));
+ PyObject *file;
+ if (_PySys_GetOptionalAttr(&_Py_ID(stderr), &file) < 0) {
+ PyObject *exc = PyErr_GetRaisedException();
+ _PyObject_Dump(value);
+ fprintf(stderr, "lost sys.stderr\n");
+ _PyObject_Dump(exc);
+ Py_DECREF(exc);
+ return;
+ }
if (file == NULL) {
_PyObject_Dump(value);
fprintf(stderr, "lost sys.stderr\n");
return;
}
if (file == Py_None) {
+ Py_DECREF(file);
return;
}
- Py_INCREF(file);
_PyErr_Display(file, NULL, value, tb);
Py_DECREF(file);
}
@@ -1664,7 +1701,10 @@ PyRun_FileExFlags(FILE *fp, const char *filename, int start, PyObject *globals,
static void
flush_io_stream(PyThreadState *tstate, PyObject *name)
{
- PyObject *f = _PySys_GetAttr(tstate, name);
+ PyObject *f;
+ if (_PySys_GetOptionalAttr(name, &f) < 0) {
+ PyErr_Clear();
+ }
if (f != NULL) {
PyObject *r = _PyObject_CallMethodNoArgs(f, &_Py_ID(flush));
if (r) {
@@ -1673,6 +1713,7 @@ flush_io_stream(PyThreadState *tstate, PyObject *name)
else {
PyErr_Clear();
}
+ Py_DECREF(f);
}
}
diff --git a/contrib/tools/python3/Python/symtable.c b/contrib/tools/python3/Python/symtable.c
index f99ca4fdd06..da17485acdd 100644
--- a/contrib/tools/python3/Python/symtable.c
+++ b/contrib/tools/python3/Python/symtable.c
@@ -2192,6 +2192,24 @@ symtable_visit_expr(struct symtable *st, expr_ty e)
}
static int
+symtable_visit_type_param_check_reserved_name(struct symtable *st, type_param_ty tp, identifier name)
+{
+ if (_PyUnicode_Equal(name, &_Py_ID(__classdict__))) {
+ PyObject *error_msg = PyUnicode_FromFormat("reserved name '%U' cannot be "
+ "used for type parameter", name);
+ PyErr_SetObject(PyExc_SyntaxError, error_msg);
+ Py_DECREF(error_msg);
+ PyErr_RangedSyntaxLocationObject(st->st_filename,
+ tp->lineno,
+ tp->col_offset + 1,
+ tp->end_lineno,
+ tp->end_col_offset + 1);
+ return 0;
+ }
+ return 1;
+}
+
+static int
symtable_visit_type_param(struct symtable *st, type_param_ty tp)
{
if (++st->recursion_depth > st->recursion_limit) {
@@ -2201,6 +2219,8 @@ symtable_visit_type_param(struct symtable *st, type_param_ty tp)
}
switch(tp->kind) {
case TypeVar_kind:
+ if (!symtable_visit_type_param_check_reserved_name(st, tp, tp->v.TypeVar.name))
+ VISIT_QUIT(st, 0);
if (!symtable_add_def(st, tp->v.TypeVar.name, DEF_TYPE_PARAM | DEF_LOCAL, LOCATION(tp)))
VISIT_QUIT(st, 0);
if (tp->v.TypeVar.bound) {
@@ -2219,10 +2239,14 @@ symtable_visit_type_param(struct symtable *st, type_param_ty tp)
}
break;
case TypeVarTuple_kind:
+ if (!symtable_visit_type_param_check_reserved_name(st, tp, tp->v.TypeVarTuple.name))
+ VISIT_QUIT(st, 0);
if (!symtable_add_def(st, tp->v.TypeVarTuple.name, DEF_TYPE_PARAM | DEF_LOCAL, LOCATION(tp)))
VISIT_QUIT(st, 0);
break;
case ParamSpec_kind:
+ if (!symtable_visit_type_param_check_reserved_name(st, tp, tp->v.ParamSpec.name))
+ VISIT_QUIT(st, 0);
if (!symtable_add_def(st, tp->v.ParamSpec.name, DEF_TYPE_PARAM | DEF_LOCAL, LOCATION(tp)))
VISIT_QUIT(st, 0);
break;
diff --git a/contrib/tools/python3/Python/sysmodule.c b/contrib/tools/python3/Python/sysmodule.c
index 7813048be45..62d53a6820f 100644
--- a/contrib/tools/python3/Python/sysmodule.c
+++ b/contrib/tools/python3/Python/sysmodule.c
@@ -29,6 +29,7 @@ Data members:
#include "pycore_pymem.h" // _PyMem_SetDefaultAllocator()
#include "pycore_pystate.h" // _PyThreadState_GET()
#include "pycore_structseq.h" // _PyStructSequence_InitBuiltinWithFlags()
+#include "pycore_sysmodule.h"
#include "pycore_tuple.h" // _PyTuple_FromArray()
#include "frameobject.h" // PyFrame_FastToLocalsWithError()
@@ -38,8 +39,10 @@ Data members:
#include <locale.h>
#ifdef MS_WINDOWS
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
+# ifndef WIN32_LEAN_AND_MEAN
+# define WIN32_LEAN_AND_MEAN
+# endif
+# include <windows.h>
#endif /* MS_WINDOWS */
#ifdef MS_COREDLL
@@ -78,23 +81,97 @@ _PySys_GetAttr(PyThreadState *tstate, PyObject *name)
return value;
}
-static PyObject *
-_PySys_GetObject(PyInterpreterState *interp, const char *name)
+ PyObject *
+_PySys_GetRequiredAttr(PyObject *name)
{
- PyObject *sysdict = interp->sysdict;
+ if (!PyUnicode_Check(name)) {
+ PyErr_Format(PyExc_TypeError,
+ "attribute name must be string, not '%.200s'",
+ Py_TYPE(name)->tp_name);
+ return NULL;
+ }
+ PyThreadState *tstate = _PyThreadState_GET();
+ PyObject *sysdict = tstate->interp->sysdict;
if (sysdict == NULL) {
+ PyErr_SetString(PyExc_RuntimeError, "no sys module");
return NULL;
}
- return _PyDict_GetItemStringWithError(sysdict, name);
+ PyObject *value = _PyDict_GetItemWithError(sysdict, name);
+ Py_XINCREF(value);
+ if (value == NULL && !_PyErr_Occurred(tstate)) {
+ PyErr_Format(PyExc_RuntimeError, "lost sys.%U", name);
+ }
+ return value;
}
PyObject *
-PySys_GetObject(const char *name)
+_PySys_GetRequiredAttrString(const char *name)
{
PyThreadState *tstate = _PyThreadState_GET();
+ PyObject *sysdict = tstate->interp->sysdict;
+ if (sysdict == NULL) {
+ PyErr_SetString(PyExc_RuntimeError, "no sys module");
+ return NULL;
+ }
+ PyObject *value = _PyDict_GetItemStringWithError(sysdict, name);
+ Py_XINCREF(value);
+ if (value == NULL && !_PyErr_Occurred(tstate)) {
+ PyErr_Format(PyExc_RuntimeError, "lost sys.%s", name);
+ }
+ return value;
+}
+int
+_PySys_GetOptionalAttr(PyObject *name, PyObject **value)
+{
+ if (!PyUnicode_Check(name)) {
+ PyErr_Format(PyExc_TypeError,
+ "attribute name must be string, not '%.200s'",
+ Py_TYPE(name)->tp_name);
+ *value = NULL;
+ return -1;
+ }
+ PyThreadState *tstate = _PyThreadState_GET();
+ PyObject *sysdict = tstate->interp->sysdict;
+ if (sysdict == NULL) {
+ *value = NULL;
+ return 0;
+ }
+ *value = _PyDict_GetItemWithError(sysdict, name);
+ if (*value) {
+ Py_INCREF(*value);
+ return 1;
+ }
+ return _PyErr_Occurred(tstate) ? -1 : 0;
+}
+
+int
+_PySys_GetOptionalAttrString(const char *name, PyObject **value)
+{
+ PyThreadState *tstate = _PyThreadState_GET();
+ PyObject *sysdict = tstate->interp->sysdict;
+ if (sysdict == NULL) {
+ *value = NULL;
+ return 0;
+ }
+ *value = _PyDict_GetItemStringWithError(sysdict, name);
+ if (*value) {
+ Py_INCREF(*value);
+ return 1;
+ }
+ return _PyErr_Occurred(tstate) ? -1 : 0;
+}
+
+PyObject *
+PySys_GetObject(const char *name)
+{
+ PyThreadState *tstate = _PyThreadState_GET();
+ PyObject *sysdict = tstate->interp->sysdict;
+ if (sysdict == NULL) {
+ return NULL;
+ }
PyObject *exc = _PyErr_GetRaisedException(tstate);
- PyObject *value = _PySys_GetObject(tstate->interp, name);
+ PyObject *value = _PyDict_GetItemStringWithError(sysdict, name);
/* XXX Suppress a new exception if it was raised and restore
* the old one. */
_PyErr_SetRaisedException(tstate, exc);
@@ -108,6 +185,10 @@ sys_set_object(PyInterpreterState *interp, PyObject *key, PyObject *v)
return -1;
}
PyObject *sd = interp->sysdict;
+ if (sd == NULL) {
+ PyErr_SetString(PyExc_RuntimeError, "no sys module");
+ return -1;
+ }
if (v == NULL) {
v = _PyDict_Pop(sd, key, Py_None);
if (v == NULL) {
@@ -724,9 +805,13 @@ sys_displayhook(PyObject *module, PyObject *o)
}
if (PyObject_SetAttr(builtins, _Py_LATIN1_CHR('_'), Py_None) != 0)
return NULL;
- outf = _PySys_GetAttr(tstate, &_Py_ID(stdout));
- if (outf == NULL || outf == Py_None) {
+ outf = _PySys_GetRequiredAttr(&_Py_ID(stdout));
+ if (outf == NULL) {
+ return NULL;
+ }
+ if (outf == Py_None) {
_PyErr_SetString(tstate, PyExc_RuntimeError, "lost sys.stdout");
+ Py_DECREF(outf);
return NULL;
}
if (PyFile_WriteObject(o, outf, 0) != 0) {
@@ -737,17 +822,23 @@ sys_displayhook(PyObject *module, PyObject *o)
_PyErr_Clear(tstate);
err = sys_displayhook_unencodable(outf, o);
if (err) {
+ Py_DECREF(outf);
return NULL;
}
}
else {
+ Py_DECREF(outf);
return NULL;
}
}
- if (PyFile_WriteObject(_Py_LATIN1_CHR('\n'), outf, Py_PRINT_RAW) != 0)
+ if (PyFile_WriteObject(_Py_LATIN1_CHR('\n'), outf, Py_PRINT_RAW) != 0) {
+ Py_DECREF(outf);
return NULL;
- if (PyObject_SetAttr(builtins, _Py_LATIN1_CHR('_'), o) != 0)
+ }
+ Py_DECREF(outf);
+ if (PyObject_SetAttr(builtins, _Py_LATIN1_CHR('_'), o) != 0) {
return NULL;
+ }
Py_RETURN_NONE;
}
@@ -2610,7 +2701,10 @@ _PySys_ReadPreinitXOptions(PyConfig *config)
static PyObject *
get_warnoptions(PyThreadState *tstate)
{
- PyObject *warnoptions = _PySys_GetAttr(tstate, &_Py_ID(warnoptions));
+ PyObject *warnoptions;
+ if (_PySys_GetOptionalAttr(&_Py_ID(warnoptions), &warnoptions) < 0) {
+ return NULL;
+ }
if (warnoptions == NULL || !PyList_Check(warnoptions)) {
/* PEP432 TODO: we can reach this if warnoptions is NULL in the main
* interpreter config. When that happens, we need to properly set
@@ -2622,6 +2716,7 @@ get_warnoptions(PyThreadState *tstate)
* call optional for embedding applications, thus making this
* reachable again.
*/
+ Py_XDECREF(warnoptions);
warnoptions = PyList_New(0);
if (warnoptions == NULL) {
return NULL;
@@ -2630,7 +2725,6 @@ get_warnoptions(PyThreadState *tstate)
Py_DECREF(warnoptions);
return NULL;
}
- Py_DECREF(warnoptions);
}
return warnoptions;
}
@@ -2644,10 +2738,15 @@ PySys_ResetWarnOptions(void)
return;
}
- PyObject *warnoptions = _PySys_GetAttr(tstate, &_Py_ID(warnoptions));
- if (warnoptions == NULL || !PyList_Check(warnoptions))
+ PyObject *warnoptions;
+ if (_PySys_GetOptionalAttr(&_Py_ID(warnoptions), &warnoptions) < 0) {
+ PyErr_Clear();
return;
- PyList_SetSlice(warnoptions, 0, PyList_GET_SIZE(warnoptions), NULL);
+ }
+ if (warnoptions != NULL && PyList_Check(warnoptions)) {
+ PyList_SetSlice(warnoptions, 0, PyList_GET_SIZE(warnoptions), NULL);
+ }
+ Py_XDECREF(warnoptions);
}
static int
@@ -2659,8 +2758,10 @@ _PySys_AddWarnOptionWithError(PyThreadState *tstate, PyObject *option)
return -1;
}
if (PyList_Append(warnoptions, option)) {
+ Py_DECREF(warnoptions);
return -1;
}
+ Py_DECREF(warnoptions);
return 0;
}
@@ -2698,16 +2799,24 @@ _Py_COMP_DIAG_POP
int
PySys_HasWarnOptions(void)
{
- PyThreadState *tstate = _PyThreadState_GET();
- PyObject *warnoptions = _PySys_GetAttr(tstate, &_Py_ID(warnoptions));
- return (warnoptions != NULL && PyList_Check(warnoptions)
- && PyList_GET_SIZE(warnoptions) > 0);
+ PyObject *warnoptions;
+ if (_PySys_GetOptionalAttr(&_Py_ID(warnoptions), &warnoptions) < 0) {
+ PyErr_Clear();
+ return 0;
+ }
+ int r = (warnoptions != NULL && PyList_Check(warnoptions) &&
+ PyList_GET_SIZE(warnoptions) > 0);
+ Py_XDECREF(warnoptions);
+ return r;
}
static PyObject *
get_xoptions(PyThreadState *tstate)
{
- PyObject *xoptions = _PySys_GetAttr(tstate, &_Py_ID(_xoptions));
+ PyObject *xoptions;
+ if (_PySys_GetOptionalAttr(&_Py_ID(_xoptions), &xoptions) < 0) {
+ return NULL;
+ }
if (xoptions == NULL || !PyDict_Check(xoptions)) {
/* PEP432 TODO: we can reach this if xoptions is NULL in the main
* interpreter config. When that happens, we need to properly set
@@ -2719,6 +2828,7 @@ get_xoptions(PyThreadState *tstate)
* call optional for embedding applications, thus making this
* reachable again.
*/
+ Py_XDECREF(xoptions);
xoptions = PyDict_New();
if (xoptions == NULL) {
return NULL;
@@ -2727,7 +2837,6 @@ get_xoptions(PyThreadState *tstate)
Py_DECREF(xoptions);
return NULL;
}
- Py_DECREF(xoptions);
}
return xoptions;
}
@@ -2766,11 +2875,13 @@ _PySys_AddXOptionWithError(const wchar_t *s)
}
Py_DECREF(name);
Py_DECREF(value);
+ Py_DECREF(opts);
return 0;
error:
Py_XDECREF(name);
Py_XDECREF(value);
+ Py_XDECREF(opts);
return -1;
}
@@ -2792,7 +2903,9 @@ PyObject *
PySys_GetXOptions(void)
{
PyThreadState *tstate = _PyThreadState_GET();
- return get_xoptions(tstate);
+ PyObject *opts = get_xoptions(tstate);
+ Py_XDECREF(opts);
+ return opts;
}
/* XXX This doc string is too long to be a single string literal in VC++ 5.0.
@@ -3517,16 +3630,15 @@ _PySys_UpdateConfig(PyThreadState *tstate)
#undef COPY_WSTR
// sys.flags
- PyObject *flags = _PySys_GetObject(interp, "flags"); // borrowed ref
+ PyObject *flags = _PySys_GetRequiredAttrString("flags");
if (flags == NULL) {
- if (!_PyErr_Occurred(tstate)) {
- _PyErr_SetString(tstate, PyExc_RuntimeError, "lost sys.flags");
- }
return -1;
}
if (set_flags_from_config(interp, flags) < 0) {
+ Py_DECREF(flags);
return -1;
}
+ Py_DECREF(flags);
SET_SYS("dont_write_bytecode", PyBool_FromLong(!config->write_bytecode));
@@ -3754,12 +3866,15 @@ PySys_SetArgvEx(int argc, wchar_t **argv, int updatepath)
Py_FatalError("can't compute path0 from argv");
}
- PyObject *sys_path = _PySys_GetAttr(tstate, &_Py_ID(path));
- if (sys_path != NULL) {
+ PyObject *sys_path;
+ if (_PySys_GetOptionalAttr(&_Py_ID(path), &sys_path) < 0) {
+ Py_FatalError("can't get sys.path");
+ }
+ else if (sys_path != NULL) {
if (PyList_Insert(sys_path, 0, path0) < 0) {
- Py_DECREF(path0);
Py_FatalError("can't prepend path0 to sys.path");
}
+ Py_DECREF(sys_path);
}
Py_DECREF(path0);
}
@@ -3847,8 +3962,8 @@ sys_write(PyObject *key, FILE *fp, const char *format, va_list va)
PyThreadState *tstate = _PyThreadState_GET();
PyObject *exc = _PyErr_GetRaisedException(tstate);
- file = _PySys_GetAttr(tstate, key);
written = PyOS_vsnprintf(buffer, sizeof(buffer), format, va);
+ file = _PySys_GetRequiredAttr(key);
if (sys_pyfile_write(buffer, file) != 0) {
_PyErr_Clear(tstate);
fputs(buffer, fp);
@@ -3858,6 +3973,7 @@ sys_write(PyObject *key, FILE *fp, const char *format, va_list va)
if (sys_pyfile_write(truncated, file) != 0)
fputs(truncated, fp);
}
+ Py_XDECREF(file);
_PyErr_SetRaisedException(tstate, exc);
}
@@ -3889,15 +4005,16 @@ sys_format(PyObject *key, FILE *fp, const char *format, va_list va)
PyThreadState *tstate = _PyThreadState_GET();
PyObject *exc = _PyErr_GetRaisedException(tstate);
- file = _PySys_GetAttr(tstate, key);
message = PyUnicode_FromFormatV(format, va);
if (message != NULL) {
+ file = _PySys_GetRequiredAttr(key);
if (sys_pyfile_write_unicode(message, file) != 0) {
_PyErr_Clear(tstate);
utf8 = PyUnicode_AsUTF8(message);
if (utf8 != NULL)
fputs(utf8, fp);
}
+ Py_XDECREF(file);
Py_DECREF(message);
}
_PyErr_SetRaisedException(tstate, exc);
diff --git a/contrib/tools/python3/Python/traceback.c b/contrib/tools/python3/Python/traceback.c
index fba3594e97c..1cb82c57203 100644
--- a/contrib/tools/python3/Python/traceback.c
+++ b/contrib/tools/python3/Python/traceback.c
@@ -13,6 +13,7 @@
#include "pycore_pyarena.h" // _PyArena_Free()
#include "pycore_pyerrors.h" // _PyErr_GetRaisedException()
#include "pycore_pystate.h" // _PyThreadState_GET()
+#include "pycore_sysmodule.h" // _PySys_GetOptionalAttr()
#include "pycore_traceback.h" // EXCEPTION_TB_HEADER
#include "../Parser/pegen.h" // _PyPegen_byte_offset_to_character_offset()
@@ -349,9 +350,13 @@ _Py_FindSourceFile(PyObject *filename, char* namebuf, size_t namelen, PyObject *
taillen = strlen(tail);
PyThreadState *tstate = _PyThreadState_GET();
- syspath = _PySys_GetAttr(tstate, &_Py_ID(path));
- if (syspath == NULL || !PyList_Check(syspath))
+ if (_PySys_GetOptionalAttr(&_Py_ID(path), &syspath) < 0) {
+ PyErr_Clear();
+ goto error;
+ }
+ if (syspath == NULL || !PyList_Check(syspath)) {
goto error;
+ }
npath = PyList_Size(syspath);
open = PyObject_GetAttr(io, &_Py_ID(open));
@@ -394,6 +399,7 @@ error:
result = NULL;
finally:
Py_XDECREF(open);
+ Py_XDECREF(syspath);
Py_DECREF(filebytes);
return result;
}
@@ -1064,17 +1070,21 @@ _PyTraceBack_Print_Indented(PyObject *v, int indent, const char *margin,
PyErr_BadInternalCall();
return -1;
}
- limitv = PySys_GetObject("tracebacklimit");
- if (limitv && PyLong_Check(limitv)) {
+ if (_PySys_GetOptionalAttrString("tracebacklimit", &limitv) < 0) {
+ return -1;
+ }
+ else if (limitv != NULL && PyLong_Check(limitv)) {
int overflow;
limit = PyLong_AsLongAndOverflow(limitv, &overflow);
if (overflow > 0) {
limit = LONG_MAX;
}
else if (limit <= 0) {
+ Py_DECREF(limitv);
return 0;
}
}
+ Py_XDECREF(limitv);
if (_Py_WriteIndentedMargin(indent, header_margin, f) < 0) {
return -1;
}