summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Include/symtable.h3
-rw-r--r--Lib/importlib/_bootstrap.py3
-rw-r--r--Lib/test/test_super.py28
-rw-r--r--Misc/NEWS3
-rw-r--r--Python/compile.c64
-rw-r--r--Python/importlib.h238
-rw-r--r--Python/symtable.c34
7 files changed, 221 insertions, 152 deletions
diff --git a/Include/symtable.h b/Include/symtable.h
index 4d82f0c..44535d0 100644
--- a/Include/symtable.h
+++ b/Include/symtable.h
@@ -53,6 +53,9 @@ typedef struct _symtable_entry {
unsigned ste_varkeywords : 1; /* true if block has varkeywords */
unsigned ste_returns_value : 1; /* true if namespace uses return with
an argument */
+ unsigned ste_needs_class_closure : 1; /* for class scopes, true if a
+ closure over __class__
+ should be created */
int ste_lineno; /* first line of block */
int ste_col_offset; /* offset of first line of block */
int ste_opt_lineno; /* lineno of last exec or import * */
diff --git a/Lib/importlib/_bootstrap.py b/Lib/importlib/_bootstrap.py
index 155403e..e791983 100644
--- a/Lib/importlib/_bootstrap.py
+++ b/Lib/importlib/_bootstrap.py
@@ -390,12 +390,13 @@ def _call_with_frames_removed(f, *args, **kwds):
# keyword-only defaults)
# Python 3.4a1 3260 (add LOAD_CLASSDEREF; allow locals of class to override
# free vars)
+# Python 3.4a1 3270 (various tweaks to the __class_ closure)
#
# MAGIC must change whenever the bytecode emitted by the compiler may no
# longer be understood by older implementations of the eval loop (usually
# due to the addition of new opcodes).
-_MAGIC_BYTES = (3260).to_bytes(2, 'little') + b'\r\n'
+_MAGIC_BYTES = (3270).to_bytes(2, 'little') + b'\r\n'
_RAW_MAGIC_NUMBER = int.from_bytes(_MAGIC_BYTES, 'little')
_PYCACHE = '__pycache__'
diff --git a/Lib/test/test_super.py b/Lib/test/test_super.py
index 1e272ee..d0ce40a 100644
--- a/Lib/test/test_super.py
+++ b/Lib/test/test_super.py
@@ -81,8 +81,7 @@ class TestSuper(unittest.TestCase):
self.assertEqual(E().f(), 'AE')
- @unittest.expectedFailure
- def test___class___set(self):
+ def test_various___class___pathologies(self):
# See issue #12370
class X(A):
def f(self):
@@ -91,6 +90,31 @@ class TestSuper(unittest.TestCase):
x = X()
self.assertEqual(x.f(), 'A')
self.assertEqual(x.__class__, 413)
+ class X:
+ x = __class__
+ def f():
+ __class__
+ self.assertIs(X.x, type(self))
+ with self.assertRaises(NameError) as e:
+ exec("""class X:
+ __class__
+ def f():
+ __class__""", globals(), {})
+ self.assertIs(type(e.exception), NameError) # Not UnboundLocalError
+ class X:
+ global __class__
+ __class__ = 42
+ def f():
+ __class__
+ self.assertEqual(globals()["__class__"], 42)
+ del globals()["__class__"]
+ self.assertNotIn("__class__", X.__dict__)
+ class X:
+ nonlocal __class__
+ __class__ = 42
+ def f():
+ __class__
+ self.assertEqual(__class__, 42)
def test___class___instancemethod(self):
# See issue #14857
diff --git a/Misc/NEWS b/Misc/NEWS
index c506822..1f7ac98 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -10,6 +10,9 @@ What's New in Python 3.4.0 Alpha 1?
Core and Builtins
-----------------
+- Issue #12370: Prevent class bodies from interfering with the __class__
+ closure.
+
- Issue #17237: Fix crash in the ASCII decoder on m68k.
- Issue #17927: Frame objects kept arguments alive if they had been
diff --git a/Python/compile.c b/Python/compile.c
index 1ecbae8..24ff61f 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -535,6 +535,37 @@ compiler_enter_scope(struct compiler *c, identifier name,
compiler_unit_free(u);
return 0;
}
+ if (u->u_ste->ste_needs_class_closure) {
+ /* Cook up a implicit __class__ cell. */
+ _Py_IDENTIFIER(__class__);
+ PyObject *tuple, *name, *zero;
+ int res;
+ assert(u->u_scope_type == COMPILER_SCOPE_CLASS);
+ assert(PyDict_Size(u->u_cellvars) == 0);
+ name = _PyUnicode_FromId(&PyId___class__);
+ if (!name) {
+ compiler_unit_free(u);
+ return 0;
+ }
+ tuple = PyTuple_Pack(2, name, Py_TYPE(name));
+ if (!tuple) {
+ compiler_unit_free(u);
+ return 0;
+ }
+ zero = PyLong_FromLong(0);
+ if (!zero) {
+ Py_DECREF(tuple);
+ compiler_unit_free(u);
+ return 0;
+ }
+ res = PyDict_SetItem(u->u_cellvars, tuple, zero);
+ Py_DECREF(tuple);
+ Py_DECREF(zero);
+ if (res < 0) {
+ compiler_unit_free(u);
+ return 0;
+ }
+ }
u->u_freevars = dictbytype(u->u_ste->ste_symbols, FREE, DEF_FREE_CLASS,
PyDict_Size(u->u_cellvars));
@@ -1331,6 +1362,9 @@ compiler_mod(struct compiler *c, mod_ty mod)
static int
get_ref_type(struct compiler *c, PyObject *name)
{
+ if (c->u->u_scope_type == COMPILER_SCOPE_CLASS &&
+ !PyUnicode_CompareWithASCIIString(name, "__class__"))
+ return CELL;
int scope = PyST_GetScope(c->u->u_ste, name);
if (scope == 0) {
char buf[350];
@@ -1704,24 +1738,24 @@ compiler_class(struct compiler *c, stmt_ty s)
compiler_exit_scope(c);
return 0;
}
- /* return the (empty) __class__ cell */
- str = PyUnicode_InternFromString("__class__");
- if (str == NULL) {
- compiler_exit_scope(c);
- return 0;
- }
- i = compiler_lookup_arg(c->u->u_cellvars, str);
- Py_DECREF(str);
- if (i == -1) {
- /* This happens when nobody references the cell */
- PyErr_Clear();
- /* Return None */
- ADDOP_O(c, LOAD_CONST, Py_None, consts);
- }
- else {
+ if (c->u->u_ste->ste_needs_class_closure) {
+ /* return the (empty) __class__ cell */
+ str = PyUnicode_InternFromString("__class__");
+ if (str == NULL) {
+ compiler_exit_scope(c);
+ return 0;
+ }
+ i = compiler_lookup_arg(c->u->u_cellvars, str);
+ Py_DECREF(str);
+ assert(i == 0);
/* Return the cell where to store __class__ */
ADDOP_I(c, LOAD_CLOSURE, i);
}
+ else {
+ assert(PyDict_Size(c->u->u_cellvars) == 0);
+ /* This happens when nobody references the cell. Return None. */
+ ADDOP_O(c, LOAD_CONST, Py_None, consts);
+ }
ADDOP_IN_SCOPE(c, RETURN_VALUE);
/* create the code object */
co = assemble(c, 1);
diff --git a/Python/importlib.h b/Python/importlib.h
index b3cd548..65dd44c 100644
--- a/Python/importlib.h
+++ b/Python/importlib.h
@@ -637,7 +637,7 @@ const unsigned char _Py_M__importlib[] = {
4,0,0,0,114,4,0,0,0,114,5,0,0,0,244,25,
0,0,0,95,99,97,108,108,95,119,105,116,104,95,102,114,
97,109,101,115,95,114,101,109,111,118,101,100,33,1,0,0,
- 115,2,0,0,0,0,8,114,102,0,0,0,105,188,12,0,
+ 115,2,0,0,0,0,8,114,102,0,0,0,105,198,12,0,
0,233,2,0,0,0,114,13,0,0,0,115,2,0,0,0,
13,10,116,11,0,0,0,95,95,112,121,99,97,99,104,101,
95,95,117,3,0,0,0,46,112,121,117,4,0,0,0,46,
@@ -711,7 +711,7 @@ const unsigned char _Py_M__importlib[] = {
36,0,0,0,116,3,0,0,0,116,97,103,244,8,0,0,
0,102,105,108,101,110,97,109,101,114,4,0,0,0,114,4,
0,0,0,114,5,0,0,0,244,17,0,0,0,99,97,99,
- 104,101,95,102,114,111,109,95,115,111,117,114,99,101,152,1,
+ 104,101,95,102,114,111,109,95,115,111,117,114,99,101,153,1,
0,0,115,22,0,0,0,0,13,31,1,6,1,9,2,6,
1,18,1,24,1,12,1,12,1,15,1,31,1,114,120,0,
0,0,99,1,0,0,0,0,0,0,0,5,0,0,0,5,
@@ -771,7 +771,7 @@ const unsigned char _Py_M__importlib[] = {
109,101,116,7,0,0,0,112,121,99,97,99,104,101,114,117,
0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,
0,0,244,17,0,0,0,115,111,117,114,99,101,95,102,114,
- 111,109,95,99,97,99,104,101,179,1,0,0,115,24,0,0,
+ 111,109,95,99,97,99,104,101,180,1,0,0,115,24,0,0,
0,0,9,18,1,15,1,18,1,18,1,12,1,3,1,24,
1,21,1,3,1,21,1,19,1,114,123,0,0,0,99,1,
0,0,0,0,0,0,0,5,0,0,0,13,0,0,0,67,
@@ -812,7 +812,7 @@ const unsigned char _Py_M__importlib[] = {
101,120,116,101,110,115,105,111,110,244,11,0,0,0,115,111,
117,114,99,101,95,112,97,116,104,114,4,0,0,0,114,4,
0,0,0,114,5,0,0,0,244,15,0,0,0,95,103,101,
- 116,95,115,111,117,114,99,101,102,105,108,101,202,1,0,0,
+ 116,95,115,111,117,114,99,101,102,105,108,101,203,1,0,0,
115,20,0,0,0,0,7,18,1,4,1,24,1,35,1,4,
2,3,1,16,1,19,1,21,2,114,131,0,0,0,99,1,
0,0,0,0,0,0,0,2,0,0,0,11,0,0,0,67,
@@ -829,7 +829,7 @@ const unsigned char _Py_M__importlib[] = {
0,0,114,40,0,0,0,40,2,0,0,0,114,35,0,0,
0,114,42,0,0,0,114,4,0,0,0,114,4,0,0,0,
114,5,0,0,0,244,10,0,0,0,95,99,97,108,99,95,
- 109,111,100,101,223,1,0,0,115,12,0,0,0,0,2,3,
+ 109,111,100,101,224,1,0,0,115,12,0,0,0,0,2,3,
1,22,1,13,1,11,3,10,1,114,133,0,0,0,244,9,
0,0,0,118,101,114,98,111,115,105,116,121,114,29,0,0,
0,99,1,0,0,0,1,0,0,0,3,0,0,0,4,0,
@@ -853,7 +853,7 @@ const unsigned char _Py_M__importlib[] = {
244,7,0,0,0,109,101,115,115,97,103,101,114,134,0,0,
0,114,101,0,0,0,114,4,0,0,0,114,4,0,0,0,
114,5,0,0,0,244,16,0,0,0,95,118,101,114,98,111,
- 115,101,95,109,101,115,115,97,103,101,235,1,0,0,115,8,
+ 115,101,95,109,101,115,115,97,103,101,236,1,0,0,115,8,
0,0,0,0,2,18,1,15,1,13,1,114,141,0,0,0,
99,1,0,0,0,0,0,0,0,2,0,0,0,3,0,0,
0,3,0,0,0,115,35,0,0,0,135,0,0,102,1,0,
@@ -879,7 +879,7 @@ const unsigned char _Py_M__importlib[] = {
0,0,109,111,100,117,108,101,40,1,0,0,0,244,3,0,
0,0,102,120,110,114,4,0,0,0,114,5,0,0,0,244,
19,0,0,0,115,101,116,95,112,97,99,107,97,103,101,95,
- 119,114,97,112,112,101,114,245,1,0,0,115,12,0,0,0,
+ 119,114,97,112,112,101,114,246,1,0,0,115,12,0,0,0,
0,1,15,1,24,1,12,1,15,1,31,1,117,40,0,0,
0,115,101,116,95,112,97,99,107,97,103,101,46,60,108,111,
99,97,108,115,62,46,115,101,116,95,112,97,99,107,97,103,
@@ -887,7 +887,7 @@ const unsigned char _Py_M__importlib[] = {
0,0,0,40,2,0,0,0,114,146,0,0,0,114,147,0,
0,0,114,4,0,0,0,40,1,0,0,0,114,146,0,0,
0,114,5,0,0,0,244,11,0,0,0,115,101,116,95,112,
- 97,99,107,97,103,101,243,1,0,0,115,6,0,0,0,0,
+ 97,99,107,97,103,101,244,1,0,0,115,6,0,0,0,0,
2,18,7,13,1,114,148,0,0,0,99,1,0,0,0,0,
0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,115,
35,0,0,0,135,0,0,102,1,0,100,1,0,100,2,0,
@@ -907,14 +907,14 @@ const unsigned char _Py_M__importlib[] = {
0,0,0,114,145,0,0,0,40,1,0,0,0,114,146,0,
0,0,114,4,0,0,0,114,5,0,0,0,244,18,0,0,
0,115,101,116,95,108,111,97,100,101,114,95,119,114,97,112,
- 112,101,114,2,2,0,0,115,8,0,0,0,0,1,18,1,
+ 112,101,114,3,2,0,0,115,8,0,0,0,0,1,18,1,
24,1,12,1,117,38,0,0,0,115,101,116,95,108,111,97,
100,101,114,46,60,108,111,99,97,108,115,62,46,115,101,116,
95,108,111,97,100,101,114,95,119,114,97,112,112,101,114,40,
1,0,0,0,114,64,0,0,0,40,2,0,0,0,114,146,
0,0,0,114,150,0,0,0,114,4,0,0,0,40,1,0,
0,0,114,146,0,0,0,114,5,0,0,0,244,10,0,0,
- 0,115,101,116,95,108,111,97,100,101,114,0,2,0,0,115,
+ 0,115,101,116,95,108,111,97,100,101,114,1,2,0,0,115,
6,0,0,0,0,2,18,5,13,1,114,151,0,0,0,99,
1,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,
3,0,0,0,115,35,0,0,0,135,0,0,102,1,0,100,
@@ -1003,7 +1003,7 @@ const unsigned char _Py_M__importlib[] = {
108,111,97,100,114,153,0,0,0,40,1,0,0,0,114,146,
0,0,0,114,4,0,0,0,114,5,0,0,0,244,25,0,
0,0,109,111,100,117,108,101,95,102,111,114,95,108,111,97,
- 100,101,114,95,119,114,97,112,112,101,114,29,2,0,0,115,
+ 100,101,114,95,119,114,97,112,112,101,114,30,2,0,0,115,
44,0,0,0,0,1,18,1,12,1,6,4,12,3,9,1,
13,1,9,1,3,1,19,1,19,1,5,2,6,1,12,2,
25,2,9,1,6,2,23,1,3,1,6,1,13,1,12,2,
@@ -1014,7 +1014,7 @@ const unsigned char _Py_M__importlib[] = {
0,0,0,40,2,0,0,0,114,146,0,0,0,114,158,0,
0,0,114,4,0,0,0,40,1,0,0,0,114,146,0,0,
0,114,5,0,0,0,244,17,0,0,0,109,111,100,117,108,
- 101,95,102,111,114,95,108,111,97,100,101,114,11,2,0,0,
+ 101,95,102,111,114,95,108,111,97,100,101,114,12,2,0,0,
115,6,0,0,0,0,18,18,33,13,1,114,159,0,0,0,
99,1,0,0,0,0,0,0,0,2,0,0,0,4,0,0,
0,3,0,0,0,115,38,0,0,0,100,1,0,135,0,0,
@@ -1051,7 +1051,7 @@ const unsigned char _Py_M__importlib[] = {
0,0,0,40,1,0,0,0,244,6,0,0,0,109,101,116,
104,111,100,114,4,0,0,0,114,5,0,0,0,244,19,0,
0,0,95,99,104,101,99,107,95,110,97,109,101,95,119,114,
- 97,112,112,101,114,74,2,0,0,115,10,0,0,0,0,1,
+ 97,112,112,101,114,75,2,0,0,115,10,0,0,0,0,1,
12,1,12,1,15,1,25,1,117,40,0,0,0,95,99,104,
101,99,107,95,110,97,109,101,46,60,108,111,99,97,108,115,
62,46,95,99,104,101,99,107,95,110,97,109,101,95,119,114,
@@ -1059,7 +1059,7 @@ const unsigned char _Py_M__importlib[] = {
2,0,0,0,114,160,0,0,0,114,161,0,0,0,114,4,
0,0,0,40,1,0,0,0,114,160,0,0,0,114,5,0,
0,0,244,11,0,0,0,95,99,104,101,99,107,95,110,97,
- 109,101,66,2,0,0,115,6,0,0,0,0,8,21,6,13,
+ 109,101,67,2,0,0,115,6,0,0,0,0,8,21,6,13,
1,114,162,0,0,0,99,1,0,0,0,0,0,0,0,2,
0,0,0,3,0,0,0,3,0,0,0,115,35,0,0,0,
135,0,0,102,1,0,100,1,0,100,2,0,134,0,0,125,
@@ -1082,7 +1082,7 @@ const unsigned char _Py_M__importlib[] = {
78,0,0,0,114,156,0,0,0,40,1,0,0,0,114,146,
0,0,0,114,4,0,0,0,114,5,0,0,0,244,25,0,
0,0,95,114,101,113,117,105,114,101,115,95,98,117,105,108,
- 116,105,110,95,119,114,97,112,112,101,114,86,2,0,0,115,
+ 116,105,110,95,119,114,97,112,112,101,114,87,2,0,0,115,
8,0,0,0,0,1,15,1,18,1,12,1,117,52,0,0,
0,95,114,101,113,117,105,114,101,115,95,98,117,105,108,116,
105,110,46,60,108,111,99,97,108,115,62,46,95,114,101,113,
@@ -1091,7 +1091,7 @@ const unsigned char _Py_M__importlib[] = {
2,0,0,0,114,146,0,0,0,114,164,0,0,0,114,4,
0,0,0,40,1,0,0,0,114,146,0,0,0,114,5,0,
0,0,244,17,0,0,0,95,114,101,113,117,105,114,101,115,
- 95,98,117,105,108,116,105,110,84,2,0,0,115,6,0,0,
+ 95,98,117,105,108,116,105,110,85,2,0,0,115,6,0,0,
0,0,2,18,5,13,1,114,165,0,0,0,99,1,0,0,
0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,
0,115,35,0,0,0,135,0,0,102,1,0,100,1,0,100,
@@ -1114,7 +1114,7 @@ const unsigned char _Py_M__importlib[] = {
40,1,0,0,0,114,146,0,0,0,114,4,0,0,0,114,
5,0,0,0,244,24,0,0,0,95,114,101,113,117,105,114,
101,115,95,102,114,111,122,101,110,95,119,114,97,112,112,101,
- 114,97,2,0,0,115,8,0,0,0,0,1,15,1,18,1,
+ 114,98,2,0,0,115,8,0,0,0,0,1,15,1,18,1,
12,1,117,50,0,0,0,95,114,101,113,117,105,114,101,115,
95,102,114,111,122,101,110,46,60,108,111,99,97,108,115,62,
46,95,114,101,113,117,105,114,101,115,95,102,114,111,122,101,
@@ -1122,7 +1122,7 @@ const unsigned char _Py_M__importlib[] = {
0,0,0,40,2,0,0,0,114,146,0,0,0,114,167,0,
0,0,114,4,0,0,0,40,1,0,0,0,114,146,0,0,
0,114,5,0,0,0,244,16,0,0,0,95,114,101,113,117,
- 105,114,101,115,95,102,114,111,122,101,110,95,2,0,0,115,
+ 105,114,101,115,95,102,114,111,122,101,110,96,2,0,0,115,
6,0,0,0,0,2,18,5,13,1,114,168,0,0,0,99,
2,0,0,0,0,0,0,0,5,0,0,0,5,0,0,0,
67,0,0,0,115,87,0,0,0,124,0,0,106,0,0,124,
@@ -1150,7 +1150,7 @@ const unsigned char _Py_M__importlib[] = {
114,116,105,111,110,115,244,3,0,0,0,109,115,103,114,4,
0,0,0,114,4,0,0,0,114,5,0,0,0,244,17,0,
0,0,95,102,105,110,100,95,109,111,100,117,108,101,95,115,
- 104,105,109,106,2,0,0,115,10,0,0,0,0,6,21,1,
+ 104,105,109,107,2,0,0,115,10,0,0,0,0,6,21,1,
24,1,6,1,32,1,114,176,0,0,0,99,4,0,0,0,
0,0,0,0,11,0,0,0,19,0,0,0,67,0,0,0,
115,243,1,0,0,105,0,0,125,4,0,124,2,0,100,1,
@@ -1235,7 +1235,7 @@ const unsigned char _Py_M__importlib[] = {
244,11,0,0,0,115,111,117,114,99,101,95,115,105,122,101,
114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,244,
25,0,0,0,95,118,97,108,105,100,97,116,101,95,98,121,
- 116,101,99,111,100,101,95,104,101,97,100,101,114,119,2,0,
+ 116,101,99,111,100,101,95,104,101,97,100,101,114,120,2,0,
0,115,76,0,0,0,0,11,6,1,12,1,13,3,6,1,
12,1,13,1,16,1,16,1,16,1,12,1,18,1,10,1,
18,1,18,1,15,1,10,1,15,1,18,1,15,1,10,1,
@@ -1269,7 +1269,7 @@ const unsigned char _Py_M__importlib[] = {
0,114,130,0,0,0,244,4,0,0,0,99,111,100,101,114,
4,0,0,0,114,4,0,0,0,114,5,0,0,0,244,17,
0,0,0,95,99,111,109,112,105,108,101,95,98,121,116,101,
- 99,111,100,101,174,2,0,0,115,16,0,0,0,0,2,15,
+ 99,111,100,101,175,2,0,0,115,16,0,0,0,0,2,15,
1,15,1,13,1,12,1,19,1,4,2,18,1,114,190,0,
0,0,114,71,0,0,0,99,3,0,0,0,0,0,0,0,
4,0,0,0,3,0,0,0,67,0,0,0,115,76,0,0,
@@ -1290,7 +1290,7 @@ const unsigned char _Py_M__importlib[] = {
0,0,0,114,189,0,0,0,114,179,0,0,0,114,184,0,
0,0,114,52,0,0,0,114,4,0,0,0,114,4,0,0,
0,114,5,0,0,0,244,17,0,0,0,95,99,111,100,101,
- 95,116,111,95,98,121,116,101,99,111,100,101,186,2,0,0,
+ 95,116,111,95,98,121,116,101,99,111,100,101,187,2,0,0,
115,10,0,0,0,0,3,12,1,19,1,19,1,22,1,114,
193,0,0,0,99,1,0,0,0,0,0,0,0,1,0,0,
0,6,0,0,0,66,0,0,0,115,173,0,0,0,124,0,
@@ -1324,7 +1324,7 @@ const unsigned char _Py_M__importlib[] = {
114,56,0,0,0,40,2,0,0,0,244,3,0,0,0,99,
108,115,114,145,0,0,0,114,4,0,0,0,114,4,0,0,
0,114,5,0,0,0,244,11,0,0,0,109,111,100,117,108,
- 101,95,114,101,112,114,207,2,0,0,115,2,0,0,0,0,
+ 101,95,114,101,112,114,208,2,0,0,115,2,0,0,0,0,
2,117,27,0,0,0,66,117,105,108,116,105,110,73,109,112,
111,114,116,101,114,46,109,111,100,117,108,101,95,114,101,112,
114,78,99,3,0,0,0,0,0,0,0,3,0,0,0,2,
@@ -1343,7 +1343,7 @@ const unsigned char _Py_M__importlib[] = {
95,98,117,105,108,116,105,110,40,3,0,0,0,114,195,0,
0,0,114,156,0,0,0,114,35,0,0,0,114,4,0,0,
0,114,4,0,0,0,114,5,0,0,0,244,11,0,0,0,
- 102,105,110,100,95,109,111,100,117,108,101,211,2,0,0,115,
+ 102,105,110,100,95,109,111,100,117,108,101,212,2,0,0,115,
6,0,0,0,0,7,12,1,4,1,117,27,0,0,0,66,
117,105,108,116,105,110,73,109,112,111,114,116,101,114,46,102,
105,110,100,95,109,111,100,117,108,101,99,2,0,0,0,0,
@@ -1361,7 +1361,7 @@ const unsigned char _Py_M__importlib[] = {
95,98,117,105,108,116,105,110,40,3,0,0,0,114,195,0,
0,0,114,156,0,0,0,114,157,0,0,0,114,4,0,0,
0,114,4,0,0,0,114,5,0,0,0,244,11,0,0,0,
- 108,111,97,100,95,109,111,100,117,108,101,222,2,0,0,115,
+ 108,111,97,100,95,109,111,100,117,108,101,223,2,0,0,115,
14,0,0,0,0,6,15,1,3,1,20,1,3,1,22,1,
13,1,117,27,0,0,0,66,117,105,108,116,105,110,73,109,
112,111,114,116,101,114,46,108,111,97,100,95,109,111,100,117,
@@ -1374,7 +1374,7 @@ const unsigned char _Py_M__importlib[] = {
116,115,46,78,114,4,0,0,0,40,2,0,0,0,114,195,
0,0,0,114,156,0,0,0,114,4,0,0,0,114,4,0,
0,0,114,5,0,0,0,244,8,0,0,0,103,101,116,95,
- 99,111,100,101,236,2,0,0,115,2,0,0,0,0,4,117,
+ 99,111,100,101,237,2,0,0,115,2,0,0,0,0,4,117,
24,0,0,0,66,117,105,108,116,105,110,73,109,112,111,114,
116,101,114,46,103,101,116,95,99,111,100,101,99,2,0,0,
0,0,0,0,0,2,0,0,0,1,0,0,0,67,0,0,
@@ -1385,7 +1385,7 @@ const unsigned char _Py_M__importlib[] = {
115,111,117,114,99,101,32,99,111,100,101,46,78,114,4,0,
0,0,40,2,0,0,0,114,195,0,0,0,114,156,0,0,
0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
- 244,10,0,0,0,103,101,116,95,115,111,117,114,99,101,242,
+ 244,10,0,0,0,103,101,116,95,115,111,117,114,99,101,243,
2,0,0,115,2,0,0,0,0,4,117,26,0,0,0,66,
117,105,108,116,105,110,73,109,112,111,114,116,101,114,46,103,
101,116,95,115,111,117,114,99,101,99,2,0,0,0,0,0,
@@ -1396,7 +1396,7 @@ const unsigned char _Py_M__importlib[] = {
115,32,97,114,101,32,110,101,118,101,114,32,112,97,99,107,
97,103,101,115,46,70,114,4,0,0,0,40,2,0,0,0,
114,195,0,0,0,114,156,0,0,0,114,4,0,0,0,114,
- 4,0,0,0,114,5,0,0,0,114,153,0,0,0,248,2,
+ 4,0,0,0,114,5,0,0,0,114,153,0,0,0,249,2,
0,0,115,2,0,0,0,0,4,117,26,0,0,0,66,117,
105,108,116,105,110,73,109,112,111,114,116,101,114,46,105,115,
95,112,97,99,107,97,103,101,40,14,0,0,0,114,56,0,
@@ -1406,7 +1406,7 @@ const unsigned char _Py_M__importlib[] = {
114,151,0,0,0,114,165,0,0,0,114,198,0,0,0,114,
199,0,0,0,114,200,0,0,0,114,153,0,0,0,40,1,
0,0,0,114,69,0,0,0,114,4,0,0,0,114,4,0,
- 0,0,114,5,0,0,0,114,194,0,0,0,198,2,0,0,
+ 0,0,114,5,0,0,0,114,194,0,0,0,199,2,0,0,
115,28,0,0,0,16,7,6,2,18,4,3,1,18,10,3,
1,3,1,3,1,27,11,3,1,21,5,3,1,21,5,3,
1,114,194,0,0,0,99,1,0,0,0,0,0,0,0,1,
@@ -1440,7 +1440,7 @@ const unsigned char _Py_M__importlib[] = {
110,41,62,40,2,0,0,0,114,46,0,0,0,114,56,0,
0,0,40,2,0,0,0,114,195,0,0,0,244,1,0,0,
0,109,114,4,0,0,0,114,4,0,0,0,114,5,0,0,
- 0,114,196,0,0,0,8,3,0,0,115,2,0,0,0,0,
+ 0,114,196,0,0,0,9,3,0,0,115,2,0,0,0,0,
2,117,26,0,0,0,70,114,111,122,101,110,73,109,112,111,
114,116,101,114,46,109,111,100,117,108,101,95,114,101,112,114,
78,99,3,0,0,0,0,0,0,0,3,0,0,0,2,0,
@@ -1451,7 +1451,7 @@ const unsigned char _Py_M__importlib[] = {
46,78,40,2,0,0,0,114,97,0,0,0,114,166,0,0,
0,40,3,0,0,0,114,195,0,0,0,114,156,0,0,0,
114,35,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
- 5,0,0,0,114,197,0,0,0,12,3,0,0,115,2,0,
+ 5,0,0,0,114,197,0,0,0,13,3,0,0,115,2,0,
0,0,0,3,117,26,0,0,0,70,114,111,122,101,110,73,
109,112,111,114,116,101,114,46,102,105,110,100,95,109,111,100,
117,108,101,99,2,0,0,0,0,0,0,0,4,0,0,0,
@@ -1470,7 +1470,7 @@ const unsigned char _Py_M__importlib[] = {
95,102,105,108,101,95,95,40,4,0,0,0,114,195,0,0,
0,114,156,0,0,0,114,157,0,0,0,114,203,0,0,0,
114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,
- 198,0,0,0,17,3,0,0,115,18,0,0,0,0,6,15,
+ 198,0,0,0,18,3,0,0,115,18,0,0,0,0,6,15,
1,3,1,18,2,6,1,8,1,3,1,22,1,13,1,117,
26,0,0,0,70,114,111,122,101,110,73,109,112,111,114,116,
101,114,46,108,111,97,100,95,109,111,100,117,108,101,99,2,
@@ -1483,7 +1483,7 @@ const unsigned char _Py_M__importlib[] = {
0,114,97,0,0,0,116,17,0,0,0,103,101,116,95,102,
114,111,122,101,110,95,111,98,106,101,99,116,40,2,0,0,
0,114,195,0,0,0,114,156,0,0,0,114,4,0,0,0,
- 114,4,0,0,0,114,5,0,0,0,114,199,0,0,0,34,
+ 114,4,0,0,0,114,5,0,0,0,114,199,0,0,0,35,
3,0,0,115,2,0,0,0,0,4,117,23,0,0,0,70,
114,111,122,101,110,73,109,112,111,114,116,101,114,46,103,101,
116,95,99,111,100,101,99,2,0,0,0,0,0,0,0,2,
@@ -1494,7 +1494,7 @@ const unsigned char _Py_M__importlib[] = {
111,116,32,104,97,118,101,32,115,111,117,114,99,101,32,99,
111,100,101,46,78,114,4,0,0,0,40,2,0,0,0,114,
195,0,0,0,114,156,0,0,0,114,4,0,0,0,114,4,
- 0,0,0,114,5,0,0,0,114,200,0,0,0,40,3,0,
+ 0,0,0,114,5,0,0,0,114,200,0,0,0,41,3,0,
0,115,2,0,0,0,0,4,117,25,0,0,0,70,114,111,
122,101,110,73,109,112,111,114,116,101,114,46,103,101,116,95,
115,111,117,114,99,101,99,2,0,0,0,0,0,0,0,2,
@@ -1507,7 +1507,7 @@ const unsigned char _Py_M__importlib[] = {
17,0,0,0,105,115,95,102,114,111,122,101,110,95,112,97,
99,107,97,103,101,40,2,0,0,0,114,195,0,0,0,114,
156,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,
- 0,0,0,114,153,0,0,0,46,3,0,0,115,2,0,0,
+ 0,0,0,114,153,0,0,0,47,3,0,0,115,2,0,0,
0,0,4,117,25,0,0,0,70,114,111,122,101,110,73,109,
112,111,114,116,101,114,46,105,115,95,112,97,99,107,97,103,
101,40,14,0,0,0,114,56,0,0,0,114,55,0,0,0,
@@ -1516,7 +1516,7 @@ const unsigned char _Py_M__importlib[] = {
0,0,0,114,168,0,0,0,114,198,0,0,0,114,199,0,
0,0,114,200,0,0,0,114,153,0,0,0,40,1,0,0,
0,114,69,0,0,0,114,4,0,0,0,114,4,0,0,0,
- 114,5,0,0,0,114,202,0,0,0,255,2,0,0,115,28,
+ 114,5,0,0,0,114,202,0,0,0,0,3,0,0,115,28,
0,0,0,16,7,6,2,18,4,3,1,18,4,3,1,3,
1,3,1,27,14,3,1,21,5,3,1,21,5,3,1,114,
202,0,0,0,99,1,0,0,0,0,0,0,0,1,0,0,
@@ -1556,7 +1556,7 @@ const unsigned char _Py_M__importlib[] = {
73,78,69,40,2,0,0,0,114,195,0,0,0,244,3,0,
0,0,107,101,121,114,4,0,0,0,114,4,0,0,0,114,
5,0,0,0,244,14,0,0,0,95,111,112,101,110,95,114,
- 101,103,105,115,116,114,121,66,3,0,0,115,8,0,0,0,
+ 101,103,105,115,116,114,121,67,3,0,0,115,8,0,0,0,
0,2,3,1,23,1,13,1,117,36,0,0,0,87,105,110,
100,111,119,115,82,101,103,105,115,116,114,121,70,105,110,100,
101,114,46,95,111,112,101,110,95,114,101,103,105,115,116,114,
@@ -1585,7 +1585,7 @@ const unsigned char _Py_M__importlib[] = {
207,0,0,0,116,4,0,0,0,104,107,101,121,244,8,0,
0,0,102,105,108,101,112,97,116,104,114,4,0,0,0,114,
4,0,0,0,114,5,0,0,0,244,16,0,0,0,95,115,
- 101,97,114,99,104,95,114,101,103,105,115,116,114,121,73,3,
+ 101,97,114,99,104,95,114,101,103,105,115,116,114,121,74,3,
0,0,115,22,0,0,0,0,2,9,1,12,2,9,1,15,
1,22,1,3,1,18,1,28,1,13,1,9,1,117,38,0,
0,0,87,105,110,100,111,119,115,82,101,103,105,115,116,114,
@@ -1612,7 +1612,7 @@ const unsigned char _Py_M__importlib[] = {
0,114,195,0,0,0,114,156,0,0,0,114,35,0,0,0,
114,213,0,0,0,114,173,0,0,0,114,115,0,0,0,114,
36,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,
- 0,0,0,114,197,0,0,0,88,3,0,0,115,20,0,0,
+ 0,0,0,114,197,0,0,0,89,3,0,0,115,20,0,0,
0,0,3,15,1,12,1,4,1,3,1,17,1,13,1,9,
1,25,1,21,1,117,33,0,0,0,87,105,110,100,111,119,
115,82,101,103,105,115,116,114,121,70,105,110,100,101,114,46,
@@ -1622,7 +1622,7 @@ const unsigned char _Py_M__importlib[] = {
0,0,0,114,201,0,0,0,114,208,0,0,0,114,214,0,
0,0,114,197,0,0,0,40,1,0,0,0,114,69,0,0,
0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
- 114,205,0,0,0,53,3,0,0,115,16,0,0,0,16,3,
+ 114,205,0,0,0,54,3,0,0,115,16,0,0,0,16,3,
6,3,6,3,6,2,6,2,18,7,18,15,3,1,114,205,
0,0,0,99,1,0,0,0,0,0,0,0,1,0,0,0,
5,0,0,0,66,0,0,0,115,62,0,0,0,124,0,0,
@@ -1661,7 +1661,7 @@ const unsigned char _Py_M__importlib[] = {
114,119,0,0,0,116,13,0,0,0,102,105,108,101,110,97,
109,101,95,98,97,115,101,116,9,0,0,0,116,97,105,108,
95,110,97,109,101,114,4,0,0,0,114,4,0,0,0,114,
- 5,0,0,0,114,153,0,0,0,108,3,0,0,115,8,0,
+ 5,0,0,0,114,153,0,0,0,109,3,0,0,115,8,0,
0,0,0,3,25,1,22,1,19,1,117,24,0,0,0,95,
76,111,97,100,101,114,66,97,115,105,99,115,46,105,115,95,
112,97,99,107,97,103,101,244,10,0,0,0,115,111,117,114,
@@ -1694,7 +1694,7 @@ const unsigned char _Py_M__importlib[] = {
0,0,114,66,0,0,0,244,11,0,0,0,99,111,100,101,
95,111,98,106,101,99,116,114,4,0,0,0,114,4,0,0,
0,114,5,0,0,0,244,12,0,0,0,95,108,111,97,100,
- 95,109,111,100,117,108,101,116,3,0,0,115,26,0,0,0,
+ 95,109,111,100,117,108,101,117,3,0,0,115,26,0,0,0,
0,4,9,1,15,1,18,1,6,1,3,1,22,1,13,1,
20,2,12,1,15,1,28,2,19,1,117,26,0,0,0,95,
76,111,97,100,101,114,66,97,115,105,99,115,46,95,108,111,
@@ -1703,7 +1703,7 @@ const unsigned char _Py_M__importlib[] = {
0,0,0,114,153,0,0,0,114,159,0,0,0,114,223,0,
0,0,40,1,0,0,0,114,69,0,0,0,114,4,0,0,
0,114,4,0,0,0,114,5,0,0,0,114,218,0,0,0,
- 103,3,0,0,115,8,0,0,0,16,3,6,2,12,8,6,
+ 104,3,0,0,115,8,0,0,0,16,3,6,2,12,8,6,
1,114,218,0,0,0,99,1,0,0,0,0,0,0,0,1,
0,0,0,4,0,0,0,66,0,0,0,115,122,0,0,0,
124,0,0,69,101,0,0,90,1,0,100,0,0,90,2,0,
@@ -1732,7 +1732,7 @@ const unsigned char _Py_M__importlib[] = {
78,40,1,0,0,0,244,7,0,0,0,73,79,69,114,114,
111,114,40,2,0,0,0,114,78,0,0,0,114,35,0,0,
0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
- 244,10,0,0,0,112,97,116,104,95,109,116,105,109,101,139,
+ 244,10,0,0,0,112,97,116,104,95,109,116,105,109,101,140,
3,0,0,115,2,0,0,0,0,6,117,23,0,0,0,83,
111,117,114,99,101,76,111,97,100,101,114,46,112,97,116,104,
95,109,116,105,109,101,99,2,0,0,0,0,0,0,0,2,
@@ -1769,7 +1769,7 @@ const unsigned char _Py_M__importlib[] = {
0,0,114,226,0,0,0,40,2,0,0,0,114,78,0,0,
0,114,35,0,0,0,114,4,0,0,0,114,4,0,0,0,
114,5,0,0,0,244,10,0,0,0,112,97,116,104,95,115,
- 116,97,116,115,147,3,0,0,115,2,0,0,0,0,11,117,
+ 116,97,116,115,148,3,0,0,115,2,0,0,0,0,11,117,
23,0,0,0,83,111,117,114,99,101,76,111,97,100,101,114,
46,112,97,116,104,95,115,116,97,116,115,99,4,0,0,0,
0,0,0,0,4,0,0,0,3,0,0,0,67,0,0,0,
@@ -1794,7 +1794,7 @@ const unsigned char _Py_M__importlib[] = {
130,0,0,0,116,10,0,0,0,99,97,99,104,101,95,112,
97,116,104,114,52,0,0,0,114,4,0,0,0,114,4,0,
0,0,114,5,0,0,0,244,15,0,0,0,95,99,97,99,
- 104,101,95,98,121,116,101,99,111,100,101,160,3,0,0,115,
+ 104,101,95,98,121,116,101,99,111,100,101,161,3,0,0,115,
2,0,0,0,0,8,117,28,0,0,0,83,111,117,114,99,
101,76,111,97,100,101,114,46,95,99,97,99,104,101,95,98,
121,116,101,99,111,100,101,99,3,0,0,0,0,0,0,0,
@@ -1812,7 +1812,7 @@ const unsigned char _Py_M__importlib[] = {
32,32,32,32,32,78,114,4,0,0,0,40,3,0,0,0,
114,78,0,0,0,114,35,0,0,0,114,52,0,0,0,114,
4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,228,
- 0,0,0,170,3,0,0,115,0,0,0,0,117,21,0,0,
+ 0,0,0,171,3,0,0,115,0,0,0,0,117,21,0,0,
0,83,111,117,114,99,101,76,111,97,100,101,114,46,115,101,
116,95,100,97,116,97,99,2,0,0,0,0,0,0,0,9,
0,0,0,44,0,0,0,67,0,0,0,115,62,1,0,0,
@@ -1865,7 +1865,7 @@ const unsigned char _Py_M__importlib[] = {
117,114,99,101,244,8,0,0,0,101,110,99,111,100,105,110,
103,116,15,0,0,0,110,101,119,108,105,110,101,95,100,101,
99,111,100,101,114,114,4,0,0,0,114,4,0,0,0,114,
- 5,0,0,0,114,200,0,0,0,177,3,0,0,115,38,0,
+ 5,0,0,0,114,200,0,0,0,178,3,0,0,115,38,0,
0,0,0,2,12,1,15,1,3,1,19,1,18,1,9,1,
31,1,18,1,3,1,19,1,18,1,9,1,31,1,18,1,
3,1,30,1,18,1,9,1,117,23,0,0,0,83,111,117,
@@ -1890,7 +1890,7 @@ const unsigned char _Py_M__importlib[] = {
0,0,0,114,78,0,0,0,114,52,0,0,0,114,35,0,
0,0,114,238,0,0,0,114,4,0,0,0,114,4,0,0,
0,114,5,0,0,0,244,14,0,0,0,115,111,117,114,99,
- 101,95,116,111,95,99,111,100,101,199,3,0,0,115,4,0,
+ 101,95,116,111,95,99,111,100,101,200,3,0,0,115,4,0,
0,0,0,5,18,1,117,27,0,0,0,83,111,117,114,99,
101,76,111,97,100,101,114,46,115,111,117,114,99,101,95,116,
111,95,99,111,100,101,99,2,0,0,0,0,0,0,0,10,
@@ -1952,7 +1952,7 @@ const unsigned char _Py_M__importlib[] = {
0,114,129,0,0,0,244,2,0,0,0,115,116,114,52,0,
0,0,244,10,0,0,0,98,121,116,101,115,95,100,97,116,
97,114,235,0,0,0,114,222,0,0,0,114,4,0,0,0,
- 114,4,0,0,0,114,5,0,0,0,114,199,0,0,0,207,
+ 114,4,0,0,0,114,5,0,0,0,114,199,0,0,0,208,
3,0,0,115,78,0,0,0,0,7,15,1,6,1,3,1,
16,1,13,1,11,2,3,1,19,1,13,1,5,2,16,1,
3,1,19,1,13,1,5,2,3,1,9,1,12,1,13,1,
@@ -1981,7 +1981,7 @@ const unsigned char _Py_M__importlib[] = {
116,101,99,111,100,101,46,10,10,32,32,32,32,32,32,32,
32,40,1,0,0,0,114,223,0,0,0,40,2,0,0,0,
114,78,0,0,0,114,156,0,0,0,114,4,0,0,0,114,
- 4,0,0,0,114,5,0,0,0,114,198,0,0,0,2,4,
+ 4,0,0,0,114,5,0,0,0,114,198,0,0,0,3,4,
0,0,115,2,0,0,0,0,8,117,24,0,0,0,83,111,
117,114,99,101,76,111,97,100,101,114,46,108,111,97,100,95,
109,111,100,117,108,101,78,114,126,0,0,0,40,11,0,0,
@@ -1990,7 +1990,7 @@ const unsigned char _Py_M__importlib[] = {
228,0,0,0,114,200,0,0,0,114,240,0,0,0,114,199,
0,0,0,114,198,0,0,0,40,1,0,0,0,114,69,0,
0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,
- 0,114,224,0,0,0,137,3,0,0,115,16,0,0,0,16,
+ 0,114,224,0,0,0,138,3,0,0,115,16,0,0,0,16,
2,12,8,12,13,12,10,12,7,12,22,18,8,12,51,114,
224,0,0,0,99,1,0,0,0,0,0,0,0,1,0,0,
0,4,0,0,0,2,0,0,0,115,92,0,0,0,124,0,
@@ -2019,7 +2019,7 @@ const unsigned char _Py_M__importlib[] = {
40,2,0,0,0,114,66,0,0,0,114,35,0,0,0,40,
3,0,0,0,114,78,0,0,0,114,156,0,0,0,114,35,
0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,
- 0,0,114,79,0,0,0,18,4,0,0,115,4,0,0,0,
+ 0,0,114,79,0,0,0,19,4,0,0,115,4,0,0,0,
0,3,9,1,117,19,0,0,0,70,105,108,101,76,111,97,
100,101,114,46,95,95,105,110,105,116,95,95,99,2,0,0,
0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,
@@ -2031,7 +2031,7 @@ const unsigned char _Py_M__importlib[] = {
244,0,0,0,114,198,0,0,0,40,2,0,0,0,114,78,
0,0,0,114,156,0,0,0,40,1,0,0,0,244,9,0,
0,0,95,95,99,108,97,115,115,95,95,114,4,0,0,0,
- 114,5,0,0,0,114,198,0,0,0,24,4,0,0,115,2,
+ 114,5,0,0,0,114,198,0,0,0,25,4,0,0,115,2,
0,0,0,0,5,117,22,0,0,0,70,105,108,101,76,111,
97,100,101,114,46,108,111,97,100,95,109,111,100,117,108,101,
99,2,0,0,0,0,0,0,0,2,0,0,0,1,0,0,
@@ -2043,7 +2043,7 @@ const unsigned char _Py_M__importlib[] = {
110,100,101,114,46,40,1,0,0,0,114,35,0,0,0,40,
2,0,0,0,114,78,0,0,0,114,156,0,0,0,114,4,
0,0,0,114,4,0,0,0,114,5,0,0,0,114,219,0,
- 0,0,31,4,0,0,115,2,0,0,0,0,3,117,23,0,
+ 0,0,32,4,0,0,115,2,0,0,0,0,3,117,23,0,
0,0,70,105,108,101,76,111,97,100,101,114,46,103,101,116,
95,102,105,108,101,110,97,109,101,99,2,0,0,0,0,0,
0,0,3,0,0,0,8,0,0,0,67,0,0,0,115,41,
@@ -2057,14 +2057,14 @@ const unsigned char _Py_M__importlib[] = {
0,0,0,116,4,0,0,0,114,101,97,100,40,3,0,0,
0,114,78,0,0,0,114,35,0,0,0,114,53,0,0,0,
114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,
- 231,0,0,0,36,4,0,0,115,4,0,0,0,0,2,21,
+ 231,0,0,0,37,4,0,0,115,4,0,0,0,0,2,21,
1,117,19,0,0,0,70,105,108,101,76,111,97,100,101,114,
46,103,101,116,95,100,97,116,97,40,9,0,0,0,114,56,
0,0,0,114,55,0,0,0,114,57,0,0,0,114,58,0,
0,0,114,79,0,0,0,114,162,0,0,0,114,198,0,0,
0,114,219,0,0,0,114,231,0,0,0,40,1,0,0,0,
114,69,0,0,0,114,4,0,0,0,40,1,0,0,0,114,
- 246,0,0,0,114,5,0,0,0,114,244,0,0,0,13,4,
+ 246,0,0,0,114,5,0,0,0,114,244,0,0,0,14,4,
0,0,115,10,0,0,0,16,3,6,2,12,6,24,7,18,
5,114,244,0,0,0,99,1,0,0,0,0,0,0,0,1,
0,0,0,4,0,0,0,66,0,0,0,115,68,0,0,0,
@@ -2090,7 +2090,7 @@ const unsigned char _Py_M__importlib[] = {
105,109,101,116,7,0,0,0,115,116,95,115,105,122,101,40,
3,0,0,0,114,78,0,0,0,114,35,0,0,0,114,242,
0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,
- 0,0,114,227,0,0,0,46,4,0,0,115,4,0,0,0,
+ 0,0,114,227,0,0,0,47,4,0,0,115,4,0,0,0,
0,2,15,1,117,27,0,0,0,83,111,117,114,99,101,70,
105,108,101,76,111,97,100,101,114,46,112,97,116,104,95,115,
116,97,116,115,99,4,0,0,0,0,0,0,0,5,0,0,
@@ -2102,7 +2102,7 @@ const unsigned char _Py_M__importlib[] = {
5,0,0,0,114,78,0,0,0,114,130,0,0,0,114,129,
0,0,0,114,52,0,0,0,114,42,0,0,0,114,4,0,
0,0,114,4,0,0,0,114,5,0,0,0,114,229,0,0,
- 0,51,4,0,0,115,4,0,0,0,0,2,12,1,117,32,
+ 0,52,4,0,0,115,4,0,0,0,0,2,12,1,117,32,
0,0,0,83,111,117,114,99,101,70,105,108,101,76,111,97,
100,101,114,46,95,99,97,99,104,101,95,98,121,116,101,99,
111,100,101,114,250,0,0,0,105,182,1,0,0,99,3,0,
@@ -2142,7 +2142,7 @@ const unsigned char _Py_M__importlib[] = {
0,0,244,6,0,0,0,112,97,114,101,110,116,114,119,0,
0,0,114,27,0,0,0,114,23,0,0,0,114,236,0,0,
0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
- 114,228,0,0,0,56,4,0,0,115,38,0,0,0,0,2,
+ 114,228,0,0,0,57,4,0,0,115,38,0,0,0,0,2,
18,1,6,2,22,1,18,1,17,2,19,1,15,1,3,1,
17,1,13,2,7,1,18,3,16,1,27,1,3,1,16,1,
17,1,18,2,117,25,0,0,0,83,111,117,114,99,101,70,
@@ -2151,7 +2151,7 @@ const unsigned char _Py_M__importlib[] = {
0,0,114,57,0,0,0,114,58,0,0,0,114,227,0,0,
0,114,229,0,0,0,114,228,0,0,0,40,1,0,0,0,
114,69,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
- 5,0,0,0,114,248,0,0,0,42,4,0,0,115,8,0,
+ 5,0,0,0,114,248,0,0,0,43,4,0,0,115,8,0,
0,0,16,2,6,2,12,5,12,5,114,248,0,0,0,99,
1,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,
66,0,0,0,115,62,0,0,0,124,0,0,69,101,0,0,
@@ -2169,7 +2169,7 @@ const unsigned char _Py_M__importlib[] = {
131,1,1,83,40,3,0,0,0,78,114,220,0,0,0,84,
40,1,0,0,0,114,223,0,0,0,40,2,0,0,0,114,
78,0,0,0,114,156,0,0,0,114,4,0,0,0,114,4,
- 0,0,0,114,5,0,0,0,114,198,0,0,0,89,4,0,
+ 0,0,0,114,5,0,0,0,114,198,0,0,0,90,4,0,
0,115,2,0,0,0,0,1,117,32,0,0,0,83,111,117,
114,99,101,108,101,115,115,70,105,108,101,76,111,97,100,101,
114,46,108,111,97,100,95,109,111,100,117,108,101,99,2,0,
@@ -2185,7 +2185,7 @@ const unsigned char _Py_M__importlib[] = {
0,40,5,0,0,0,114,78,0,0,0,114,156,0,0,0,
114,35,0,0,0,114,52,0,0,0,114,243,0,0,0,114,
4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,199,
- 0,0,0,92,4,0,0,115,8,0,0,0,0,1,15,1,
+ 0,0,0,93,4,0,0,115,8,0,0,0,0,1,15,1,
15,1,24,1,117,29,0,0,0,83,111,117,114,99,101,108,
101,115,115,70,105,108,101,76,111,97,100,101,114,46,103,101,
116,95,99,111,100,101,99,2,0,0,0,0,0,0,0,2,
@@ -2195,7 +2195,7 @@ const unsigned char _Py_M__importlib[] = {
114,101,32,105,115,32,110,111,32,115,111,117,114,99,101,32,
99,111,100,101,46,78,114,4,0,0,0,40,2,0,0,0,
114,78,0,0,0,114,156,0,0,0,114,4,0,0,0,114,
- 4,0,0,0,114,5,0,0,0,114,200,0,0,0,98,4,
+ 4,0,0,0,114,5,0,0,0,114,200,0,0,0,99,4,
0,0,115,2,0,0,0,0,2,117,31,0,0,0,83,111,
117,114,99,101,108,101,115,115,70,105,108,101,76,111,97,100,
101,114,46,103,101,116,95,115,111,117,114,99,101,78,40,7,
@@ -2203,7 +2203,7 @@ const unsigned char _Py_M__importlib[] = {
0,0,114,58,0,0,0,114,198,0,0,0,114,199,0,0,
0,114,200,0,0,0,40,1,0,0,0,114,69,0,0,0,
114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,
- 254,0,0,0,85,4,0,0,115,8,0,0,0,16,2,6,
+ 254,0,0,0,86,4,0,0,115,8,0,0,0,16,2,6,
2,12,3,12,6,114,254,0,0,0,99,1,0,0,0,0,
0,0,0,1,0,0,0,5,0,0,0,66,0,0,0,115,
104,0,0,0,124,0,0,69,101,0,0,90,1,0,100,0,
@@ -2227,7 +2227,7 @@ const unsigned char _Py_M__importlib[] = {
78,40,2,0,0,0,114,66,0,0,0,114,35,0,0,0,
40,3,0,0,0,114,78,0,0,0,114,66,0,0,0,114,
35,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,
- 0,0,0,114,79,0,0,0,115,4,0,0,115,4,0,0,
+ 0,0,0,114,79,0,0,0,116,4,0,0,115,4,0,0,
0,0,1,9,1,117,28,0,0,0,69,120,116,101,110,115,
105,111,110,70,105,108,101,76,111,97,100,101,114,46,95,95,
105,110,105,116,95,95,99,2,0,0,0,0,0,0,0,4,
@@ -2255,7 +2255,7 @@ const unsigned char _Py_M__importlib[] = {
0,114,38,0,0,0,114,143,0,0,0,40,4,0,0,0,
114,78,0,0,0,114,156,0,0,0,114,157,0,0,0,114,
145,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,
- 0,0,0,114,198,0,0,0,119,4,0,0,115,24,0,0,
+ 0,0,0,114,198,0,0,0,120,4,0,0,115,24,0,0,
0,0,5,15,1,3,1,9,1,15,1,16,1,31,1,28,
1,8,1,3,1,22,1,13,1,117,31,0,0,0,69,120,
116,101,110,115,105,111,110,70,105,108,101,76,111,97,100,101,
@@ -2277,7 +2277,7 @@ const unsigned char _Py_M__importlib[] = {
117,102,102,105,120,40,1,0,0,0,244,9,0,0,0,102,
105,108,101,95,110,97,109,101,114,4,0,0,0,114,5,0,
0,0,245,9,0,0,0,60,103,101,110,101,120,112,114,62,
- 140,4,0,0,115,2,0,0,0,6,1,117,49,0,0,0,
+ 141,4,0,0,115,2,0,0,0,6,1,117,49,0,0,0,
69,120,116,101,110,115,105,111,110,70,105,108,101,76,111,97,
100,101,114,46,105,115,95,112,97,99,107,97,103,101,46,60,
108,111,99,97,108,115,62,46,60,103,101,110,101,120,112,114,
@@ -2286,7 +2286,7 @@ const unsigned char _Py_M__importlib[] = {
69,78,83,73,79,78,95,83,85,70,70,73,88,69,83,40,
2,0,0,0,114,78,0,0,0,114,156,0,0,0,114,4,
0,0,0,40,1,0,0,0,114,1,1,0,0,114,5,0,
- 0,0,114,153,0,0,0,137,4,0,0,115,6,0,0,0,
+ 0,0,114,153,0,0,0,138,4,0,0,115,6,0,0,0,
0,2,19,1,18,1,117,30,0,0,0,69,120,116,101,110,
115,105,111,110,70,105,108,101,76,111,97,100,101,114,46,105,
115,95,112,97,99,107,97,103,101,99,2,0,0,0,0,0,
@@ -2298,7 +2298,7 @@ const unsigned char _Py_M__importlib[] = {
101,32,97,32,99,111,100,101,32,111,98,106,101,99,116,46,
78,114,4,0,0,0,40,2,0,0,0,114,78,0,0,0,
114,156,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
- 5,0,0,0,114,199,0,0,0,143,4,0,0,115,2,0,
+ 5,0,0,0,114,199,0,0,0,144,4,0,0,115,2,0,
0,0,0,2,117,28,0,0,0,69,120,116,101,110,115,105,
111,110,70,105,108,101,76,111,97,100,101,114,46,103,101,116,
95,99,111,100,101,99,2,0,0,0,0,0,0,0,2,0,
@@ -2309,7 +2309,7 @@ const unsigned char _Py_M__importlib[] = {
118,101,32,110,111,32,115,111,117,114,99,101,32,99,111,100,
101,46,78,114,4,0,0,0,40,2,0,0,0,114,78,0,
0,0,114,156,0,0,0,114,4,0,0,0,114,4,0,0,
- 0,114,5,0,0,0,114,200,0,0,0,147,4,0,0,115,
+ 0,114,5,0,0,0,114,200,0,0,0,148,4,0,0,115,
2,0,0,0,0,2,117,30,0,0,0,69,120,116,101,110,
115,105,111,110,70,105,108,101,76,111,97,100,101,114,46,103,
101,116,95,115,111,117,114,99,101,78,40,12,0,0,0,114,
@@ -2318,7 +2318,7 @@ const unsigned char _Py_M__importlib[] = {
0,0,114,151,0,0,0,114,198,0,0,0,114,153,0,0,
0,114,199,0,0,0,114,200,0,0,0,40,1,0,0,0,
114,69,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
- 5,0,0,0,114,255,0,0,0,107,4,0,0,115,16,0,
+ 5,0,0,0,114,255,0,0,0,108,4,0,0,115,16,0,
0,0,16,6,6,2,12,4,3,1,3,1,24,16,12,6,
12,4,114,255,0,0,0,99,1,0,0,0,0,0,0,0,
1,0,0,0,2,0,0,0,66,0,0,0,115,134,0,0,
@@ -2365,7 +2365,7 @@ const unsigned char _Py_M__importlib[] = {
0,0,114,66,0,0,0,114,35,0,0,0,244,11,0,0,
0,112,97,116,104,95,102,105,110,100,101,114,114,4,0,0,
0,114,4,0,0,0,114,5,0,0,0,114,79,0,0,0,
- 159,4,0,0,115,8,0,0,0,0,1,9,1,9,1,21,
+ 160,4,0,0,115,8,0,0,0,0,1,9,1,9,1,21,
1,117,23,0,0,0,95,78,97,109,101,115,112,97,99,101,
80,97,116,104,46,95,95,105,110,105,116,95,95,99,1,0,
0,0,0,0,0,0,4,0,0,0,3,0,0,0,67,0,
@@ -2385,7 +2385,7 @@ const unsigned char _Py_M__importlib[] = {
0,244,3,0,0,0,100,111,116,114,83,0,0,0,114,4,
0,0,0,114,4,0,0,0,114,5,0,0,0,244,23,0,
0,0,95,102,105,110,100,95,112,97,114,101,110,116,95,112,
- 97,116,104,95,110,97,109,101,115,165,4,0,0,115,8,0,
+ 97,116,104,95,110,97,109,101,115,166,4,0,0,115,8,0,
0,0,0,2,27,1,12,2,4,3,117,38,0,0,0,95,
78,97,109,101,115,112,97,99,101,80,97,116,104,46,95,102,
105,110,100,95,112,97,114,101,110,116,95,112,97,116,104,95,
@@ -2399,7 +2399,7 @@ const unsigned char _Py_M__importlib[] = {
0,0,0,112,97,114,101,110,116,95,109,111,100,117,108,101,
95,110,97,109,101,116,14,0,0,0,112,97,116,104,95,97,
116,116,114,95,110,97,109,101,114,4,0,0,0,114,4,0,
- 0,0,114,5,0,0,0,114,8,1,0,0,175,4,0,0,
+ 0,0,114,5,0,0,0,114,8,1,0,0,176,4,0,0,
115,4,0,0,0,0,1,18,1,117,31,0,0,0,95,78,
97,109,101,115,112,97,99,101,80,97,116,104,46,95,103,101,
116,95,112,97,114,101,110,116,95,112,97,116,104,99,1,0,
@@ -2418,7 +2418,7 @@ const unsigned char _Py_M__importlib[] = {
104,114,173,0,0,0,116,8,0,0,0,110,101,119,95,112,
97,116,104,114,4,0,0,0,114,4,0,0,0,114,5,0,
0,0,244,12,0,0,0,95,114,101,99,97,108,99,117,108,
- 97,116,101,179,4,0,0,115,14,0,0,0,0,2,18,1,
+ 97,116,101,180,4,0,0,115,14,0,0,0,0,2,18,1,
15,1,27,3,12,1,12,1,12,1,117,27,0,0,0,95,
78,97,109,101,115,112,97,99,101,80,97,116,104,46,95,114,
101,99,97,108,99,117,108,97,116,101,99,1,0,0,0,0,
@@ -2428,7 +2428,7 @@ const unsigned char _Py_M__importlib[] = {
4,0,0,0,105,116,101,114,114,14,1,0,0,40,1,0,
0,0,114,78,0,0,0,114,4,0,0,0,114,4,0,0,
0,114,5,0,0,0,244,8,0,0,0,95,95,105,116,101,
- 114,95,95,191,4,0,0,115,2,0,0,0,0,1,117,23,
+ 114,95,95,192,4,0,0,115,2,0,0,0,0,1,117,23,
0,0,0,95,78,97,109,101,115,112,97,99,101,80,97,116,
104,46,95,95,105,116,101,114,95,95,99,1,0,0,0,0,
0,0,0,1,0,0,0,2,0,0,0,67,0,0,0,115,
@@ -2436,7 +2436,7 @@ const unsigned char _Py_M__importlib[] = {
131,1,0,83,40,1,0,0,0,78,40,2,0,0,0,114,
31,0,0,0,114,14,1,0,0,40,1,0,0,0,114,78,
0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,
- 0,0,244,7,0,0,0,95,95,108,101,110,95,95,194,4,
+ 0,0,244,7,0,0,0,95,95,108,101,110,95,95,195,4,
0,0,115,2,0,0,0,0,1,117,22,0,0,0,95,78,
97,109,101,115,112,97,99,101,80,97,116,104,46,95,95,108,
101,110,95,95,99,1,0,0,0,0,0,0,0,1,0,0,
@@ -2446,7 +2446,7 @@ const unsigned char _Py_M__importlib[] = {
97,99,101,80,97,116,104,40,123,33,114,125,41,40,2,0,
0,0,114,46,0,0,0,114,7,1,0,0,40,1,0,0,
0,114,78,0,0,0,114,4,0,0,0,114,4,0,0,0,
- 114,5,0,0,0,114,90,0,0,0,197,4,0,0,115,2,
+ 114,5,0,0,0,114,90,0,0,0,198,4,0,0,115,2,
0,0,0,0,1,117,23,0,0,0,95,78,97,109,101,115,
112,97,99,101,80,97,116,104,46,95,95,114,101,112,114,95,
95,99,2,0,0,0,0,0,0,0,2,0,0,0,2,0,
@@ -2455,7 +2455,7 @@ const unsigned char _Py_M__importlib[] = {
78,40,1,0,0,0,114,14,1,0,0,40,2,0,0,0,
114,78,0,0,0,244,4,0,0,0,105,116,101,109,114,4,
0,0,0,114,4,0,0,0,114,5,0,0,0,244,12,0,
- 0,0,95,95,99,111,110,116,97,105,110,115,95,95,200,4,
+ 0,0,95,95,99,111,110,116,97,105,110,115,95,95,201,4,
0,0,115,2,0,0,0,0,1,117,27,0,0,0,95,78,
97,109,101,115,112,97,99,101,80,97,116,104,46,95,95,99,
111,110,116,97,105,110,115,95,95,99,2,0,0,0,0,0,
@@ -2464,7 +2464,7 @@ const unsigned char _Py_M__importlib[] = {
1,0,1,100,0,0,83,40,1,0,0,0,78,40,2,0,
0,0,114,7,1,0,0,114,251,0,0,0,40,2,0,0,
0,114,78,0,0,0,114,18,1,0,0,114,4,0,0,0,
- 114,4,0,0,0,114,5,0,0,0,114,251,0,0,0,203,
+ 114,4,0,0,0,114,5,0,0,0,114,251,0,0,0,204,
4,0,0,115,2,0,0,0,0,1,117,21,0,0,0,95,
78,97,109,101,115,112,97,99,101,80,97,116,104,46,97,112,
112,101,110,100,78,40,13,0,0,0,114,56,0,0,0,114,
@@ -2473,7 +2473,7 @@ const unsigned char _Py_M__importlib[] = {
0,0,114,16,1,0,0,114,17,1,0,0,114,90,0,0,
0,114,19,1,0,0,114,251,0,0,0,40,1,0,0,0,
114,69,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
- 5,0,0,0,114,5,1,0,0,152,4,0,0,115,20,0,
+ 5,0,0,0,114,5,1,0,0,153,4,0,0,115,20,0,
0,0,16,5,6,2,12,6,12,10,12,4,12,12,12,3,
12,3,12,3,12,3,114,5,1,0,0,99,1,0,0,0,
0,0,0,0,1,0,0,0,3,0,0,0,66,0,0,0,
@@ -2490,7 +2490,7 @@ const unsigned char _Py_M__importlib[] = {
114,5,1,0,0,114,7,1,0,0,40,4,0,0,0,114,
78,0,0,0,114,66,0,0,0,114,35,0,0,0,114,11,
1,0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,
- 0,0,114,79,0,0,0,208,4,0,0,115,2,0,0,0,
+ 0,0,114,79,0,0,0,209,4,0,0,115,2,0,0,0,
0,1,117,24,0,0,0,78,97,109,101,115,112,97,99,101,
76,111,97,100,101,114,46,95,95,105,110,105,116,95,95,99,
2,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,
@@ -2500,7 +2500,7 @@ const unsigned char _Py_M__importlib[] = {
32,40,110,97,109,101,115,112,97,99,101,41,62,40,2,0,
0,0,114,46,0,0,0,114,56,0,0,0,40,2,0,0,
0,114,195,0,0,0,114,145,0,0,0,114,4,0,0,0,
- 114,4,0,0,0,114,5,0,0,0,114,196,0,0,0,211,
+ 114,4,0,0,0,114,5,0,0,0,114,196,0,0,0,212,
4,0,0,115,2,0,0,0,0,2,117,27,0,0,0,78,
97,109,101,115,112,97,99,101,76,111,97,100,101,114,46,109,
111,100,117,108,101,95,114,101,112,114,99,2,0,0,0,0,
@@ -2515,7 +2515,7 @@ const unsigned char _Py_M__importlib[] = {
125,40,3,0,0,0,114,141,0,0,0,114,7,1,0,0,
114,143,0,0,0,40,2,0,0,0,114,78,0,0,0,114,
145,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,
- 0,0,0,114,198,0,0,0,215,4,0,0,115,6,0,0,
+ 0,0,0,114,198,0,0,0,216,4,0,0,115,6,0,0,
0,0,3,16,1,12,1,117,27,0,0,0,78,97,109,101,
115,112,97,99,101,76,111,97,100,101,114,46,108,111,97,100,
95,109,111,100,117,108,101,78,40,8,0,0,0,114,56,0,
@@ -2523,7 +2523,7 @@ const unsigned char _Py_M__importlib[] = {
0,114,201,0,0,0,114,196,0,0,0,114,159,0,0,0,
114,198,0,0,0,40,1,0,0,0,114,69,0,0,0,114,
4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,20,
- 1,0,0,207,4,0,0,115,6,0,0,0,16,1,12,3,
+ 1,0,0,208,4,0,0,115,6,0,0,0,16,1,12,3,
18,4,114,20,1,0,0,99,1,0,0,0,0,0,0,0,
1,0,0,0,4,0,0,0,66,0,0,0,115,119,0,0,
0,124,0,0,69,101,0,0,90,1,0,100,0,0,90,2,
@@ -2560,7 +2560,7 @@ const unsigned char _Py_M__importlib[] = {
0,0,0,114,22,1,0,0,40,2,0,0,0,114,195,0,
0,0,244,6,0,0,0,102,105,110,100,101,114,114,4,0,
0,0,114,4,0,0,0,114,5,0,0,0,114,22,1,0,
- 0,229,4,0,0,115,6,0,0,0,0,4,22,1,15,1,
+ 0,230,4,0,0,115,6,0,0,0,0,4,22,1,15,1,
117,28,0,0,0,80,97,116,104,70,105,110,100,101,114,46,
105,110,118,97,108,105,100,97,116,101,95,99,97,99,104,101,
115,99,2,0,0,0,0,0,0,0,3,0,0,0,12,0,
@@ -2586,7 +2586,7 @@ const unsigned char _Py_M__importlib[] = {
0,0,0,114,195,0,0,0,114,35,0,0,0,116,4,0,
0,0,104,111,111,107,114,4,0,0,0,114,4,0,0,0,
114,5,0,0,0,244,11,0,0,0,95,112,97,116,104,95,
- 104,111,111,107,115,237,4,0,0,115,16,0,0,0,0,7,
+ 104,111,111,107,115,238,4,0,0,115,16,0,0,0,0,7,
9,1,19,1,16,1,3,1,14,1,13,1,12,2,117,22,
0,0,0,80,97,116,104,70,105,110,100,101,114,46,95,112,
97,116,104,95,104,111,111,107,115,99,2,0,0,0,0,0,
@@ -2616,7 +2616,7 @@ const unsigned char _Py_M__importlib[] = {
0,0,114,195,0,0,0,114,35,0,0,0,114,25,1,0,
0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
244,20,0,0,0,95,112,97,116,104,95,105,109,112,111,114,
- 116,101,114,95,99,97,99,104,101,254,4,0,0,115,16,0,
+ 116,101,114,95,99,97,99,104,101,255,4,0,0,115,16,0,
0,0,0,8,12,1,9,1,3,1,17,1,13,1,15,1,
18,1,117,31,0,0,0,80,97,116,104,70,105,110,100,101,
114,46,95,112,97,116,104,95,105,109,112,111,114,116,101,114,
@@ -2648,7 +2648,7 @@ const unsigned char _Py_M__importlib[] = {
114,121,114,25,1,0,0,114,173,0,0,0,114,174,0,0,
0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
244,11,0,0,0,95,103,101,116,95,108,111,97,100,101,114,
- 15,5,0,0,115,28,0,0,0,0,5,6,1,13,1,21,
+ 16,5,0,0,115,28,0,0,0,0,5,6,1,13,1,21,
1,6,1,15,1,12,1,15,1,24,2,15,1,6,1,12,
2,10,5,20,2,117,22,0,0,0,80,97,116,104,70,105,
110,100,101,114,46,95,103,101,116,95,108,111,97,100,101,114,
@@ -2671,7 +2671,7 @@ const unsigned char _Py_M__importlib[] = {
0,0,40,5,0,0,0,114,195,0,0,0,114,156,0,0,
0,114,35,0,0,0,114,173,0,0,0,114,31,1,0,0,
114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,
- 197,0,0,0,42,5,0,0,115,16,0,0,0,0,4,12,
+ 197,0,0,0,43,5,0,0,115,16,0,0,0,0,4,12,
1,12,1,24,1,12,1,4,2,6,3,19,2,117,22,0,
0,0,80,97,116,104,70,105,110,100,101,114,46,102,105,110,
100,95,109,111,100,117,108,101,40,10,0,0,0,114,56,0,
@@ -2679,7 +2679,7 @@ const unsigned char _Py_M__importlib[] = {
0,114,201,0,0,0,114,22,1,0,0,114,27,1,0,0,
114,28,1,0,0,114,32,1,0,0,114,197,0,0,0,40,
1,0,0,0,114,69,0,0,0,114,4,0,0,0,114,4,
- 0,0,0,114,5,0,0,0,114,21,1,0,0,225,4,0,
+ 0,0,0,114,5,0,0,0,114,21,1,0,0,226,4,0,
0,115,14,0,0,0,16,2,6,2,18,8,18,17,18,17,
18,27,3,1,114,21,1,0,0,99,1,0,0,0,0,0,
0,0,1,0,0,0,3,0,0,0,66,0,0,0,115,110,
@@ -2728,7 +2728,7 @@ const unsigned char _Py_M__importlib[] = {
0,0,83,40,1,0,0,0,78,114,4,0,0,0,40,2,
0,0,0,114,22,0,0,0,114,0,1,0,0,40,1,0,
0,0,114,173,0,0,0,114,4,0,0,0,114,5,0,0,
- 0,114,2,1,0,0,75,5,0,0,115,2,0,0,0,6,
+ 0,114,2,1,0,0,76,5,0,0,115,2,0,0,0,6,
0,117,38,0,0,0,70,105,108,101,70,105,110,100,101,114,
46,95,95,105,110,105,116,95,95,46,60,108,111,99,97,108,
115,62,46,60,103,101,110,101,120,112,114,62,114,104,0,0,
@@ -2742,7 +2742,7 @@ const unsigned char _Py_M__importlib[] = {
0,0,114,35,0,0,0,116,7,0,0,0,100,101,116,97,
105,108,115,116,7,0,0,0,108,111,97,100,101,114,115,114,
115,0,0,0,114,4,0,0,0,40,1,0,0,0,114,173,
- 0,0,0,114,5,0,0,0,114,79,0,0,0,69,5,0,
+ 0,0,0,114,5,0,0,0,114,79,0,0,0,70,5,0,
0,115,16,0,0,0,0,4,6,1,19,1,36,1,9,2,
15,1,9,1,12,1,117,19,0,0,0,70,105,108,101,70,
105,110,100,101,114,46,95,95,105,110,105,116,95,95,99,1,
@@ -2754,7 +2754,7 @@ const unsigned char _Py_M__importlib[] = {
0,0,0,78,114,126,0,0,0,40,1,0,0,0,114,35,
1,0,0,40,1,0,0,0,114,78,0,0,0,114,4,0,
0,0,114,4,0,0,0,114,5,0,0,0,114,22,1,0,
- 0,83,5,0,0,115,2,0,0,0,0,2,117,28,0,0,
+ 0,84,5,0,0,115,2,0,0,0,0,2,117,28,0,0,
0,70,105,108,101,70,105,110,100,101,114,46,105,110,118,97,
108,105,100,97,116,101,95,99,97,99,104,101,115,99,2,0,
0,0,0,0,0,0,12,0,0,0,13,0,0,0,67,0,
@@ -2817,7 +2817,7 @@ const unsigned char _Py_M__importlib[] = {
114,173,0,0,0,116,13,0,0,0,105,110,105,116,95,102,
105,108,101,110,97,109,101,116,9,0,0,0,102,117,108,108,
95,112,97,116,104,114,4,0,0,0,114,4,0,0,0,114,
- 5,0,0,0,114,169,0,0,0,89,5,0,0,115,66,0,
+ 5,0,0,0,114,169,0,0,0,90,5,0,0,115,66,0,
0,0,0,3,6,1,19,1,3,1,25,1,13,1,11,1,
15,1,10,1,12,2,9,1,9,1,15,2,9,1,6,2,
12,1,18,1,12,1,22,1,10,1,15,1,12,1,26,4,
@@ -2855,7 +2855,7 @@ const unsigned char _Py_M__importlib[] = {
0,0,40,2,0,0,0,114,22,0,0,0,116,2,0,0,
0,102,110,114,4,0,0,0,114,4,0,0,0,114,5,0,
0,0,245,9,0,0,0,60,115,101,116,99,111,109,112,62,
- 162,5,0,0,115,2,0,0,0,9,0,117,41,0,0,0,
+ 163,5,0,0,115,2,0,0,0,9,0,117,41,0,0,0,
70,105,108,101,70,105,110,100,101,114,46,95,102,105,108,108,
95,99,97,99,104,101,46,60,108,111,99,97,108,115,62,46,
60,115,101,116,99,111,109,112,62,78,40,17,0,0,0,114,
@@ -2874,7 +2874,7 @@ const unsigned char _Py_M__importlib[] = {
110,116,101,110,116,115,114,18,1,0,0,114,66,0,0,0,
114,12,1,0,0,114,0,1,0,0,116,8,0,0,0,110,
101,119,95,110,97,109,101,114,4,0,0,0,114,4,0,0,
- 0,114,5,0,0,0,114,39,1,0,0,133,5,0,0,115,
+ 0,114,5,0,0,0,114,39,1,0,0,134,5,0,0,115,
34,0,0,0,0,2,9,1,3,1,19,1,22,3,11,3,
18,1,18,7,9,1,13,1,24,1,6,1,27,2,6,1,
17,1,9,1,18,1,117,22,0,0,0,70,105,108,101,70,
@@ -2916,7 +2916,7 @@ const unsigned char _Py_M__importlib[] = {
0,108,111,97,100,101,114,95,100,101,116,97,105,108,115,114,
4,0,0,0,114,5,0,0,0,244,24,0,0,0,112,97,
116,104,95,104,111,111,107,95,102,111,114,95,70,105,108,101,
- 70,105,110,100,101,114,174,5,0,0,115,6,0,0,0,0,
+ 70,105,110,100,101,114,175,5,0,0,115,6,0,0,0,0,
2,12,1,21,1,117,54,0,0,0,70,105,108,101,70,105,
110,100,101,114,46,112,97,116,104,95,104,111,111,107,46,60,
108,111,99,97,108,115,62,46,112,97,116,104,95,104,111,111,
@@ -2925,7 +2925,7 @@ const unsigned char _Py_M__importlib[] = {
45,1,0,0,114,46,1,0,0,114,4,0,0,0,40,2,
0,0,0,114,195,0,0,0,114,45,1,0,0,114,5,0,
0,0,244,9,0,0,0,112,97,116,104,95,104,111,111,107,
- 164,5,0,0,115,4,0,0,0,0,10,21,6,117,20,0,
+ 165,5,0,0,115,4,0,0,0,0,10,21,6,117,20,0,
0,0,70,105,108,101,70,105,110,100,101,114,46,112,97,116,
104,95,104,111,111,107,99,1,0,0,0,0,0,0,0,1,
0,0,0,2,0,0,0,67,0,0,0,115,16,0,0,0,
@@ -2934,7 +2934,7 @@ const unsigned char _Py_M__importlib[] = {
105,110,100,101,114,40,123,33,114,125,41,40,2,0,0,0,
114,46,0,0,0,114,35,0,0,0,40,1,0,0,0,114,
78,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,
- 0,0,0,114,90,0,0,0,182,5,0,0,115,2,0,0,
+ 0,0,0,114,90,0,0,0,183,5,0,0,115,2,0,0,
0,0,1,117,19,0,0,0,70,105,108,101,70,105,110,100,
101,114,46,95,95,114,101,112,114,95,95,78,40,13,0,0,
0,114,56,0,0,0,114,55,0,0,0,114,57,0,0,0,
@@ -2943,7 +2943,7 @@ const unsigned char _Py_M__importlib[] = {
1,0,0,114,201,0,0,0,114,47,1,0,0,114,90,0,
0,0,40,1,0,0,0,114,69,0,0,0,114,4,0,0,
0,114,4,0,0,0,114,5,0,0,0,114,33,1,0,0,
- 60,5,0,0,115,16,0,0,0,16,7,6,2,12,14,12,
+ 61,5,0,0,115,16,0,0,0,16,7,6,2,12,14,12,
4,6,2,12,44,12,31,18,18,114,33,1,0,0,99,1,
0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,66,
0,0,0,115,50,0,0,0,124,0,0,69,101,0,0,90,
@@ -2962,7 +2962,7 @@ const unsigned char _Py_M__importlib[] = {
97,0,0,0,244,12,0,0,0,97,99,113,117,105,114,101,
95,108,111,99,107,40,1,0,0,0,114,78,0,0,0,114,
4,0,0,0,114,4,0,0,0,114,5,0,0,0,244,9,
- 0,0,0,95,95,101,110,116,101,114,95,95,192,5,0,0,
+ 0,0,0,95,95,101,110,116,101,114,95,95,193,5,0,0,
115,2,0,0,0,0,2,117,28,0,0,0,95,73,109,112,
111,114,116,76,111,99,107,67,111,110,116,101,120,116,46,95,
95,101,110,116,101,114,95,95,99,4,0,0,0,0,0,0,
@@ -2978,14 +2978,14 @@ const unsigned char _Py_M__importlib[] = {
0,0,101,120,99,95,118,97,108,117,101,116,13,0,0,0,
101,120,99,95,116,114,97,99,101,98,97,99,107,114,4,0,
0,0,114,4,0,0,0,114,5,0,0,0,244,8,0,0,
- 0,95,95,101,120,105,116,95,95,196,5,0,0,115,2,0,
+ 0,95,95,101,120,105,116,95,95,197,5,0,0,115,2,0,
0,0,0,2,117,27,0,0,0,95,73,109,112,111,114,116,
76,111,99,107,67,111,110,116,101,120,116,46,95,95,101,120,
105,116,95,95,78,40,6,0,0,0,114,56,0,0,0,114,
55,0,0,0,114,57,0,0,0,114,58,0,0,0,114,50,
1,0,0,114,51,1,0,0,40,1,0,0,0,114,69,0,
0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,
- 0,114,48,1,0,0,188,5,0,0,115,6,0,0,0,16,
+ 0,114,48,1,0,0,189,5,0,0,115,6,0,0,0,16,
2,6,2,12,4,114,48,1,0,0,99,3,0,0,0,0,
0,0,0,5,0,0,0,4,0,0,0,67,0,0,0,115,
91,0,0,0,124,1,0,106,0,0,100,1,0,124,2,0,
@@ -3009,7 +3009,7 @@ const unsigned char _Py_M__importlib[] = {
101,118,101,108,116,4,0,0,0,98,105,116,115,116,4,0,
0,0,98,97,115,101,114,4,0,0,0,114,4,0,0,0,
114,5,0,0,0,244,13,0,0,0,95,114,101,115,111,108,
- 118,101,95,110,97,109,101,201,5,0,0,115,10,0,0,0,
+ 118,101,95,110,97,109,101,202,5,0,0,115,10,0,0,0,
0,2,22,1,18,1,15,1,10,1,114,54,1,0,0,99,
2,0,0,0,0,0,0,0,4,0,0,0,11,0,0,0,
67,0,0,0,115,138,0,0,0,116,0,0,106,1,0,115,
@@ -3032,7 +3032,7 @@ const unsigned char _Py_M__importlib[] = {
114,66,0,0,0,114,35,0,0,0,114,25,1,0,0,114,
173,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,
0,0,0,244,12,0,0,0,95,102,105,110,100,95,109,111,
- 100,117,108,101,210,5,0,0,115,20,0,0,0,0,2,9,
+ 100,117,108,101,211,5,0,0,115,20,0,0,0,0,2,9,
1,19,1,16,1,10,1,24,1,12,2,15,1,4,2,21,
2,114,56,1,0,0,99,3,0,0,0,0,0,0,0,4,
0,0,0,4,0,0,0,67,0,0,0,115,194,0,0,0,
@@ -3070,7 +3070,7 @@ const unsigned char _Py_M__importlib[] = {
114,66,0,0,0,114,52,1,0,0,114,53,1,0,0,114,
175,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,
0,0,0,244,13,0,0,0,95,115,97,110,105,116,121,95,
- 99,104,101,99,107,227,5,0,0,115,24,0,0,0,0,2,
+ 99,104,101,99,107,228,5,0,0,115,24,0,0,0,0,2,
15,1,30,1,12,1,15,1,6,1,15,1,15,1,15,1,
6,2,27,1,19,1,114,59,1,0,0,117,20,0,0,0,
78,111,32,109,111,100,117,108,101,32,110,97,109,101,100,32,
@@ -3129,7 +3129,7 @@ const unsigned char _Py_M__importlib[] = {
114,236,0,0,0,114,145,0,0,0,114,4,0,0,0,114,
4,0,0,0,114,5,0,0,0,244,23,0,0,0,95,102,
105,110,100,95,97,110,100,95,108,111,97,100,95,117,110,108,
- 111,99,107,101,100,246,5,0,0,115,76,0,0,0,0,1,
+ 111,99,107,101,100,247,5,0,0,115,76,0,0,0,0,1,
6,1,19,1,6,1,15,1,16,2,15,1,11,2,13,1,
3,1,13,1,13,1,22,1,26,1,15,1,12,1,27,3,
9,1,9,1,15,2,13,1,19,2,13,1,6,2,13,1,
@@ -3150,7 +3150,7 @@ const unsigned char _Py_M__importlib[] = {
1,0,0,114,87,0,0,0,40,3,0,0,0,114,66,0,
0,0,114,62,1,0,0,114,73,0,0,0,114,4,0,0,
0,114,4,0,0,0,114,5,0,0,0,244,14,0,0,0,
- 95,102,105,110,100,95,97,110,100,95,108,111,97,100,40,6,
+ 95,102,105,110,100,95,97,110,100,95,108,111,97,100,41,6,
0,0,115,14,0,0,0,0,2,3,1,16,2,11,1,10,
1,3,1,17,2,114,64,1,0,0,99,3,0,0,0,0,
0,0,0,5,0,0,0,4,0,0,0,67,0,0,0,115,
@@ -3196,7 +3196,7 @@ const unsigned char _Py_M__importlib[] = {
40,5,0,0,0,114,66,0,0,0,114,52,1,0,0,114,
53,1,0,0,114,145,0,0,0,114,140,0,0,0,114,4,
0,0,0,114,4,0,0,0,114,5,0,0,0,114,65,1,
- 0,0,53,6,0,0,115,26,0,0,0,0,9,16,1,12,
+ 0,0,54,6,0,0,115,26,0,0,0,0,9,16,1,12,
1,21,1,10,1,15,1,13,1,13,1,12,1,10,2,15,
1,21,1,10,1,114,65,1,0,0,99,3,0,0,0,0,
0,0,0,6,0,0,0,17,0,0,0,67,0,0,0,115,
@@ -3244,7 +3244,7 @@ const unsigned char _Py_M__importlib[] = {
111,109,95,110,97,109,101,114,236,0,0,0,114,4,0,0,
0,114,4,0,0,0,114,5,0,0,0,244,16,0,0,0,
95,104,97,110,100,108,101,95,102,114,111,109,108,105,115,116,
- 77,6,0,0,115,34,0,0,0,0,10,15,1,12,1,12,
+ 78,6,0,0,115,34,0,0,0,0,10,15,1,12,1,12,
1,13,1,15,1,22,1,13,1,15,1,21,1,3,1,17,
1,18,6,18,1,15,1,9,1,32,1,114,71,1,0,0,
99,1,0,0,0,0,0,0,0,2,0,0,0,2,0,0,
@@ -3270,7 +3270,7 @@ const unsigned char _Py_M__importlib[] = {
0,0,40,2,0,0,0,244,7,0,0,0,103,108,111,98,
97,108,115,114,52,1,0,0,114,4,0,0,0,114,4,0,
0,0,114,5,0,0,0,244,17,0,0,0,95,99,97,108,
- 99,95,95,95,112,97,99,107,97,103,101,95,95,111,6,0,
+ 99,95,95,95,112,97,99,107,97,103,101,95,95,112,6,0,
0,115,12,0,0,0,0,7,15,1,12,1,10,1,12,1,
25,1,114,73,1,0,0,99,0,0,0,0,0,0,0,0,
3,0,0,0,3,0,0,0,67,0,0,0,115,55,0,0,
@@ -3293,7 +3293,7 @@ const unsigned char _Py_M__importlib[] = {
0,116,10,0,0,0,101,120,116,101,110,115,105,111,110,115,
116,6,0,0,0,115,111,117,114,99,101,116,8,0,0,0,
98,121,116,101,99,111,100,101,114,4,0,0,0,114,4,0,
- 0,0,114,5,0,0,0,114,215,0,0,0,126,6,0,0,
+ 0,0,114,5,0,0,0,114,215,0,0,0,127,6,0,0,
115,8,0,0,0,0,5,18,1,12,1,12,1,114,215,0,
0,0,99,5,0,0,0,0,0,0,0,9,0,0,0,5,
0,0,0,67,0,0,0,115,227,0,0,0,124,4,0,100,
@@ -3350,7 +3350,7 @@ const unsigned char _Py_M__importlib[] = {
116,8,0,0,0,103,108,111,98,97,108,115,95,114,52,1,
0,0,116,7,0,0,0,99,117,116,95,111,102,102,114,4,
0,0,0,114,4,0,0,0,114,5,0,0,0,244,10,0,
- 0,0,95,95,105,109,112,111,114,116,95,95,137,6,0,0,
+ 0,0,95,95,105,109,112,111,114,116,95,95,138,6,0,0,
115,26,0,0,0,0,11,12,1,15,2,24,1,12,1,18,
1,6,3,12,1,23,1,6,1,4,4,35,3,40,2,114,
77,1,0,0,99,2,0,0,0,0,0,0,0,16,0,0,
@@ -3429,7 +3429,7 @@ const unsigned char _Py_M__importlib[] = {
0,0,0,78,40,1,0,0,0,114,31,0,0,0,40,2,
0,0,0,114,22,0,0,0,114,118,0,0,0,114,4,0,
0,0,114,4,0,0,0,114,5,0,0,0,114,2,1,0,
- 0,210,6,0,0,115,2,0,0,0,6,0,117,25,0,0,
+ 0,211,6,0,0,115,2,0,0,0,6,0,117,25,0,0,
0,95,115,101,116,117,112,46,60,108,111,99,97,108,115,62,
46,60,103,101,110,101,120,112,114,62,114,71,0,0,0,117,
30,0,0,0,105,109,112,111,114,116,108,105,98,32,114,101,
@@ -3468,7 +3468,7 @@ const unsigned char _Py_M__importlib[] = {
102,95,109,111,100,117,108,101,116,13,0,0,0,119,105,110,
114,101,103,95,109,111,100,117,108,101,114,4,0,0,0,114,
4,0,0,0,114,5,0,0,0,244,6,0,0,0,95,115,
- 101,116,117,112,173,6,0,0,115,102,0,0,0,0,9,6,
+ 101,116,117,112,174,6,0,0,115,102,0,0,0,0,9,6,
1,6,2,12,1,9,2,6,2,12,1,28,1,15,1,24,
1,15,1,12,1,15,1,22,2,13,1,13,1,15,1,18,
2,13,1,20,2,33,1,19,2,31,1,10,1,15,1,13,
@@ -3498,7 +3498,7 @@ const unsigned char _Py_M__importlib[] = {
0,114,84,1,0,0,114,85,1,0,0,116,17,0,0,0,
115,117,112,112,111,114,116,101,100,95,108,111,97,100,101,114,
115,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
- 244,8,0,0,0,95,105,110,115,116,97,108,108,249,6,0,
+ 244,8,0,0,0,95,105,110,115,116,97,108,108,250,6,0,
0,115,16,0,0,0,0,2,13,1,9,1,28,1,16,1,
16,1,15,1,19,1,114,87,1,0,0,40,3,0,0,0,
117,3,0,0,0,119,105,110,114,1,0,0,0,114,2,0,
@@ -3533,7 +3533,7 @@ const unsigned char _Py_M__importlib[] = {
101,62,8,0,0,0,115,140,0,0,0,6,21,6,3,12,
13,12,10,12,9,12,6,12,12,12,10,12,6,12,7,15,
22,12,8,15,3,12,12,6,2,6,3,22,4,19,68,19,
- 23,12,19,12,20,12,109,22,1,18,2,6,2,9,2,9,
+ 23,12,19,12,20,12,110,22,1,18,2,6,2,9,2,9,
1,9,2,15,27,12,23,12,21,12,12,18,8,12,13,12,
11,12,55,12,18,12,11,12,11,12,13,21,55,21,12,18,
12,19,57,19,54,19,50,19,34,22,132,19,29,25,43,25,
diff --git a/Python/symtable.c b/Python/symtable.c
index b9ca615..056c6c2 100644
--- a/Python/symtable.c
+++ b/Python/symtable.c
@@ -77,6 +77,7 @@ ste_new(struct symtable *st, identifier name, _Py_block_ty block,
ste->ste_child_free = 0;
ste->ste_generator = 0;
ste->ste_returns_value = 0;
+ ste->ste_needs_class_closure = 0;
if (PyDict_SetItem(st->st_blocks, ste->ste_id, (PyObject *)ste) < 0)
goto fail;
@@ -514,13 +515,10 @@ analyze_name(PySTEntryObject *ste, PyObject *scopes, PyObject *name, long flags,
Note that the current block's free variables are included in free.
That's safe because no name can be free and local in the same scope.
-
- The 'restricted' argument may be set to a string to restrict the analysis
- to the one variable whose name equals that string (e.g. "__class__").
*/
static int
-analyze_cells(PyObject *scopes, PyObject *free, const char *restricted)
+analyze_cells(PyObject *scopes, PyObject *free)
{
PyObject *name, *v, *v_cell;
int success = 0;
@@ -537,9 +535,6 @@ analyze_cells(PyObject *scopes, PyObject *free, const char *restricted)
continue;
if (!PySet_Contains(free, name))
continue;
- if (restricted != NULL &&
- PyUnicode_CompareWithASCIIString(name, restricted))
- continue;
/* Replace LOCAL with CELL for this name, and remove
from free. It is safe to replace the value of name
in the dict, because it will not cause a resize.
@@ -555,6 +550,20 @@ analyze_cells(PyObject *scopes, PyObject *free, const char *restricted)
return success;
}
+static int
+drop_class_free(PySTEntryObject *ste, PyObject *free)
+{
+ int res;
+ if (!GET_IDENTIFIER(__class__))
+ return 0;
+ res = PySet_Discard(free, __class__);
+ if (res < 0)
+ return 0;
+ if (res)
+ ste->ste_needs_class_closure = 1;
+ return 1;
+}
+
/* Check for illegal statements in unoptimized namespaces */
static int
check_unoptimized(const PySTEntryObject* ste) {
@@ -785,7 +794,6 @@ analyze_block(PySTEntryObject *ste, PyObject *bound, PyObject *free,
/* Special-case __class__ */
if (!GET_IDENTIFIER(__class__))
goto error;
- assert(PySet_Contains(local, __class__) == 1);
if (PySet_Add(newbound, __class__) < 0)
goto error;
}
@@ -818,11 +826,9 @@ analyze_block(PySTEntryObject *ste, PyObject *bound, PyObject *free,
Py_DECREF(temp);
/* Check if any local variables must be converted to cell variables */
- if (ste->ste_type == FunctionBlock && !analyze_cells(scopes, newfree,
- NULL))
+ if (ste->ste_type == FunctionBlock && !analyze_cells(scopes, newfree))
goto error;
- else if (ste->ste_type == ClassBlock && !analyze_cells(scopes, newfree,
- "__class__"))
+ else if (ste->ste_type == ClassBlock && !drop_class_free(ste, newfree))
goto error;
/* Records the results of the analysis in the symbol table entry */
if (!update_symbols(ste->ste_symbols, scopes, bound, newfree,
@@ -1179,9 +1185,7 @@ symtable_visit_stmt(struct symtable *st, stmt_ty s)
if (!symtable_enter_block(st, s->v.ClassDef.name, ClassBlock,
(void *)s, s->lineno, s->col_offset))
VISIT_QUIT(st, 0);
- if (!GET_IDENTIFIER(__class__) ||
- !symtable_add_def(st, __class__, DEF_LOCAL) ||
- !GET_IDENTIFIER(__locals__) ||
+ if (!GET_IDENTIFIER(__locals__) ||
!symtable_add_def(st, __locals__, DEF_PARAM)) {
symtable_exit_block(st, s);
VISIT_QUIT(st, 0);