]> granicus.if.org Git - python/commitdiff
bpo-32550. Remove the STORE_ANNOTATION bytecode. (GH-5181)
authorMark Shannon <mark@hotpy.org>
Tue, 30 Jan 2018 00:41:04 +0000 (00:41 +0000)
committerRaymond Hettinger <rhettinger@users.noreply.github.com>
Tue, 30 Jan 2018 00:41:04 +0000 (16:41 -0800)
Doc/library/dis.rst
Doc/whatsnew/3.7.rst
Include/opcode.h
Lib/importlib/_bootstrap_external.py
Lib/opcode.py
Lib/test/test_dis.py
Misc/NEWS.d/next/Core and Builtins/2018-01-14-12-42-17.bpo-32550.k0EK-4.rst [new file with mode: 0644]
Python/ceval.c
Python/compile.c
Python/importlib_external.h
Python/opcode_targets.h

index 01d46f88fb5796aa4fda079d8f04c4263d866827..48c42d119d5dc9dcedc855e3261ed09387c0ed39 100644 (file)
@@ -993,13 +993,6 @@ All of the following opcodes use their arguments.
    Deletes local ``co_varnames[var_num]``.
 
 
-.. opcode:: STORE_ANNOTATION (namei)
-
-   Stores TOS as ``locals()['__annotations__'][co_names[namei]] = TOS``.
-
-   .. versionadded:: 3.6
-
-
 .. opcode:: LOAD_CLOSURE (i)
 
    Pushes a reference to the cell contained in slot *i* of the cell and free
index 71070df764704126344e400af5f03d32cb608326..4fdbb9182bbda091264e6210dea6255c126f1f09 100644 (file)
@@ -1173,6 +1173,8 @@ CPython bytecode changes
 * Added two new opcodes: :opcode:`LOAD_METHOD` and :opcode:`CALL_METHOD`.
   (Contributed by Yury Selivanov and INADA Naoki in :issue:`26110`.)
 
+* Removed the STORE_ANNOTATION opcode.
+
 
 Other CPython implementation changes
 ------------------------------------
index 99c3b0ef817a49bcc0074df67039961137ad0523..fc6cbf3a7af483b13055b32efed8552a297c7716 100644 (file)
@@ -99,7 +99,6 @@ extern "C" {
 #define LOAD_FAST               124
 #define STORE_FAST              125
 #define DELETE_FAST             126
-#define STORE_ANNOTATION        127
 #define RAISE_VARARGS           130
 #define CALL_FUNCTION           131
 #define MAKE_FUNCTION           132
index cf75719c86f500e51ae95be6c5a43abc4c4a1553..d3f58af504d8ac10644e4aaa5ff8903dd5bc0df1 100644 (file)
@@ -242,6 +242,7 @@ _code_type = type(_write_atomic.__code__)
 #     Python 3.7a0  3390 (add LOAD_METHOD and CALL_METHOD opcodes)
 #     Python 3.7a0  3391 (update GET_AITER #31709)
 #     Python 3.7a0  3392 (PEP 552: Deterministic pycs)
+#     Python 3.7a0  3393 (remove  STORE_ANNOTATION opcode)
 #
 # MAGIC must change whenever the bytecode emitted by the compiler may no
 # longer be understood by older implementations of the eval loop (usually
@@ -250,7 +251,7 @@ _code_type = type(_write_atomic.__code__)
 # Whenever MAGIC_NUMBER is changed, the ranges in the magic_values array
 # in PC/launcher.c must also be updated.
 
-MAGIC_NUMBER = (3392).to_bytes(2, 'little') + b'\r\n'
+MAGIC_NUMBER = (3393).to_bytes(2, 'little') + b'\r\n'
 _RAW_MAGIC_NUMBER = int.from_bytes(MAGIC_NUMBER, 'little')  # For import.c
 
 _PYCACHE = '__pycache__'
index dffb38c314a16415da925a67c69f37028c08e6e0..8f45f0a666f1a2ac153a8a0989caa84a23192e74 100644 (file)
@@ -169,7 +169,6 @@ def_op('STORE_FAST', 125)       # Local variable number
 haslocal.append(125)
 def_op('DELETE_FAST', 126)      # Local variable number
 haslocal.append(126)
-name_op('STORE_ANNOTATION', 127) # Index in name list
 
 def_op('RAISE_VARARGS', 130)    # Number of raise arguments (1, 2, or 3)
 def_op('CALL_FUNCTION', 131)    # #args
index 590f041aa926320a8c62e32c9e24b60f2ee9ec3a..ba8c6b940b04580f26baa4fab275f7b59c50988f 100644 (file)
@@ -226,23 +226,27 @@ dis_annot_stmt_str = """\
               2 LOAD_CONST               0 (1)
               4 STORE_NAME               0 (x)
               6 LOAD_NAME                1 (int)
-              8 STORE_ANNOTATION         0 (x)
-
-  3          10 LOAD_NAME                2 (fun)
-             12 LOAD_CONST               0 (1)
-             14 CALL_FUNCTION            1
-             16 STORE_ANNOTATION         3 (y)
-
-  4          18 LOAD_CONST               0 (1)
-             20 LOAD_NAME                4 (lst)
-             22 LOAD_NAME                2 (fun)
-             24 LOAD_CONST               1 (0)
-             26 CALL_FUNCTION            1
-             28 STORE_SUBSCR
-             30 LOAD_NAME                1 (int)
-             32 POP_TOP
-             34 LOAD_CONST               2 (None)
-             36 RETURN_VALUE
+              8 LOAD_NAME                2 (__annotations__)
+             10 LOAD_CONST               1 ('x')
+             12 STORE_SUBSCR
+
+  3          14 LOAD_NAME                3 (fun)
+             16 LOAD_CONST               0 (1)
+             18 CALL_FUNCTION            1
+             20 LOAD_NAME                2 (__annotations__)
+             22 LOAD_CONST               2 ('y')
+             24 STORE_SUBSCR
+
+  4          26 LOAD_CONST               0 (1)
+             28 LOAD_NAME                4 (lst)
+             30 LOAD_NAME                3 (fun)
+             32 LOAD_CONST               3 (0)
+             34 CALL_FUNCTION            1
+             36 STORE_SUBSCR
+             38 LOAD_NAME                1 (int)
+             40 POP_TOP
+             42 LOAD_CONST               4 (None)
+             44 RETURN_VALUE
 """
 
 compound_stmt_str = """\
diff --git a/Misc/NEWS.d/next/Core and Builtins/2018-01-14-12-42-17.bpo-32550.k0EK-4.rst b/Misc/NEWS.d/next/Core and Builtins/2018-01-14-12-42-17.bpo-32550.k0EK-4.rst
new file mode 100644 (file)
index 0000000..9f77b94
--- /dev/null
@@ -0,0 +1 @@
+Remove the STORE_ANNOTATION bytecode.
index 52a42b00724e6f442dc6e6198023d7bb1e6d2d55..af5eb99d6c90a7f9da975ca757c8f659ec2dd5d6 100644 (file)
@@ -1574,61 +1574,6 @@ _PyEval_EvalFrameDefault(PyFrameObject *f, int throwflag)
             DISPATCH();
         }
 
-        TARGET(STORE_ANNOTATION) {
-            _Py_IDENTIFIER(__annotations__);
-            PyObject *ann_dict;
-            PyObject *ann = POP();
-            PyObject *name = GETITEM(names, oparg);
-            int err;
-            if (f->f_locals == NULL) {
-                PyErr_Format(PyExc_SystemError,
-                             "no locals found when storing annotation");
-                Py_DECREF(ann);
-                goto error;
-            }
-            /* first try to get __annotations__ from locals... */
-            if (PyDict_CheckExact(f->f_locals)) {
-                ann_dict = _PyDict_GetItemId(f->f_locals,
-                                             &PyId___annotations__);
-                if (ann_dict == NULL) {
-                    PyErr_SetString(PyExc_NameError,
-                                    "__annotations__ not found");
-                    Py_DECREF(ann);
-                    goto error;
-                }
-                Py_INCREF(ann_dict);
-            }
-            else {
-                PyObject *ann_str = _PyUnicode_FromId(&PyId___annotations__);
-                if (ann_str == NULL) {
-                    Py_DECREF(ann);
-                    goto error;
-                }
-                ann_dict = PyObject_GetItem(f->f_locals, ann_str);
-                if (ann_dict == NULL) {
-                    if (PyErr_ExceptionMatches(PyExc_KeyError)) {
-                        PyErr_SetString(PyExc_NameError,
-                                        "__annotations__ not found");
-                    }
-                    Py_DECREF(ann);
-                    goto error;
-                }
-            }
-            /* ...if succeeded, __annotations__[name] = ann */
-            if (PyDict_CheckExact(ann_dict)) {
-                err = PyDict_SetItem(ann_dict, name, ann);
-            }
-            else {
-                err = PyObject_SetItem(ann_dict, name, ann);
-            }
-            Py_DECREF(ann_dict);
-            Py_DECREF(ann);
-            if (err != 0) {
-                goto error;
-            }
-            DISPATCH();
-        }
-
         TARGET(DELETE_SUBSCR) {
             PyObject *sub = TOP();
             PyObject *container = SECOND();
index 3e8323b933f49d9fce3137dae74d3de6d981d839..0dc35662749b9c77d2fdd7298a0bdf7b43454a3c 100644 (file)
@@ -213,7 +213,7 @@ static int compiler_async_comprehension_generator(
                                       expr_ty elt, expr_ty val, int type);
 
 static PyCodeObject *assemble(struct compiler *, int addNone);
-static PyObject *__doc__;
+static PyObject *__doc__, *__annotations__;
 
 #define CAPSULE_NAME "compile.c compiler unit"
 
@@ -311,7 +311,11 @@ PyAST_CompileObject(mod_ty mod, PyObject *filename, PyCompilerFlags *flags,
         if (!__doc__)
             return NULL;
     }
-
+    if (!__annotations__) {
+        __annotations__ = PyUnicode_InternFromString("__annotations__");
+        if (!__annotations__)
+            return NULL;
+    }
     if (!compiler_init(&c))
         return NULL;
     Py_INCREF(filename);
@@ -1056,8 +1060,6 @@ stack_effect(int opcode, int oparg, int jump)
             return -1;
         case DELETE_FAST:
             return 0;
-        case STORE_ANNOTATION:
-            return -1;
 
         case RAISE_VARARGS:
             return -oparg;
@@ -4711,8 +4713,10 @@ compiler_annassign(struct compiler *c, stmt_ty s)
             else {
                 VISIT(c, expr, s->v.AnnAssign.annotation);
             }
-            /* ADDOP_N decrefs its argument */
-            ADDOP_N(c, STORE_ANNOTATION, mangled, names);
+            ADDOP_NAME(c, LOAD_NAME, __annotations__, names);
+            ADDOP_O(c, LOAD_CONST, mangled, consts);
+            Py_DECREF(mangled);
+            ADDOP(c, STORE_SUBSCR);
         }
         break;
     case Attribute_kind:
index e298bd0c20cd6240eaba93c31df585fdeb31f30e..6bf189d006ab5ff8d5ee9aff83123e60d86654d6 100644 (file)
@@ -243,7 +243,7 @@ const unsigned char _Py_M__importlib_external[] = {
     114,4,0,0,0,218,13,95,119,114,105,116,101,95,97,116,
     111,109,105,99,105,0,0,0,115,26,0,0,0,0,5,16,
     1,6,1,26,1,2,3,14,1,20,1,16,1,14,1,2,
-    1,14,1,14,1,6,1,114,56,0,0,0,105,64,13,0,
+    1,14,1,14,1,6,1,114,56,0,0,0,105,65,13,0,
     0,233,2,0,0,0,114,13,0,0,0,115,2,0,0,0,
     13,10,90,11,95,95,112,121,99,97,99,104,101,95,95,122,
     4,111,112,116,45,122,3,46,112,121,122,4,46,112,121,99,
@@ -348,7 +348,7 @@ const unsigned char _Py_M__importlib_external[] = {
     108,109,111,115,116,95,102,105,108,101,110,97,109,101,114,2,
     0,0,0,114,2,0,0,0,114,4,0,0,0,218,17,99,
     97,99,104,101,95,102,114,111,109,95,115,111,117,114,99,101,
-    9,1,0,0,115,48,0,0,0,0,18,8,1,6,1,6,
+    10,1,0,0,115,48,0,0,0,0,18,8,1,6,1,6,
     1,8,1,4,1,8,1,12,1,10,1,12,1,16,1,8,
     1,8,1,8,1,24,1,8,1,12,1,6,2,8,1,8,
     1,8,1,8,1,14,1,14,1,114,81,0,0,0,99,1,
@@ -422,7 +422,7 @@ const unsigned char _Py_M__importlib_external[] = {
     101,118,101,108,90,13,98,97,115,101,95,102,105,108,101,110,
     97,109,101,114,2,0,0,0,114,2,0,0,0,114,4,0,
     0,0,218,17,115,111,117,114,99,101,95,102,114,111,109,95,
-    99,97,99,104,101,54,1,0,0,115,46,0,0,0,0,9,
+    99,97,99,104,101,55,1,0,0,115,46,0,0,0,0,9,
     12,1,8,1,10,1,12,1,12,1,8,1,6,1,10,1,
     10,1,8,1,6,1,10,1,8,1,16,1,10,1,6,1,
     8,1,16,1,8,1,6,1,8,1,14,1,114,87,0,0,
@@ -456,7 +456,7 @@ const unsigned char _Py_M__importlib_external[] = {
     36,0,0,0,90,9,101,120,116,101,110,115,105,111,110,218,
     11,115,111,117,114,99,101,95,112,97,116,104,114,2,0,0,
     0,114,2,0,0,0,114,4,0,0,0,218,15,95,103,101,
-    116,95,115,111,117,114,99,101,102,105,108,101,88,1,0,0,
+    116,95,115,111,117,114,99,101,102,105,108,101,89,1,0,0,
     115,20,0,0,0,0,7,12,1,4,1,16,1,24,1,4,
     1,2,1,12,1,18,1,18,1,114,93,0,0,0,99,1,
     0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,67,
@@ -470,7 +470,7 @@ const unsigned char _Py_M__importlib_external[] = {
     114,68,0,0,0,114,76,0,0,0,41,1,218,8,102,105,
     108,101,110,97,109,101,114,2,0,0,0,114,2,0,0,0,
     114,4,0,0,0,218,11,95,103,101,116,95,99,97,99,104,
-    101,100,107,1,0,0,115,16,0,0,0,0,1,14,1,2,
+    101,100,108,1,0,0,115,16,0,0,0,0,1,14,1,2,
     1,8,1,14,1,8,1,14,1,4,2,114,97,0,0,0,
     99,1,0,0,0,0,0,0,0,2,0,0,0,8,0,0,
     0,67,0,0,0,115,52,0,0,0,121,14,116,0,124,0,
@@ -484,7 +484,7 @@ const unsigned char _Py_M__importlib_external[] = {
     3,114,39,0,0,0,114,41,0,0,0,114,40,0,0,0,
     41,2,114,35,0,0,0,114,42,0,0,0,114,2,0,0,
     0,114,2,0,0,0,114,4,0,0,0,218,10,95,99,97,
-    108,99,95,109,111,100,101,119,1,0,0,115,12,0,0,0,
+    108,99,95,109,111,100,101,120,1,0,0,115,12,0,0,0,
     0,2,2,1,14,1,14,1,10,3,8,1,114,99,0,0,
     0,99,1,0,0,0,0,0,0,0,3,0,0,0,8,0,
     0,0,3,0,0,0,115,68,0,0,0,100,6,135,0,102,
@@ -521,7 +521,7 @@ const unsigned char _Py_M__importlib_external[] = {
     101,108,102,114,100,0,0,0,218,4,97,114,103,115,90,6,
     107,119,97,114,103,115,41,1,218,6,109,101,116,104,111,100,
     114,2,0,0,0,114,4,0,0,0,218,19,95,99,104,101,
-    99,107,95,110,97,109,101,95,119,114,97,112,112,101,114,139,
+    99,107,95,110,97,109,101,95,119,114,97,112,112,101,114,140,
     1,0,0,115,12,0,0,0,0,1,8,1,8,1,10,1,
     4,1,18,1,122,40,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,
@@ -539,7 +539,7 @@ const unsigned char _Py_M__importlib_external[] = {
     116,116,114,218,8,95,95,100,105,99,116,95,95,218,6,117,
     112,100,97,116,101,41,3,90,3,110,101,119,90,3,111,108,
     100,114,53,0,0,0,114,2,0,0,0,114,2,0,0,0,
-    114,4,0,0,0,218,5,95,119,114,97,112,150,1,0,0,
+    114,4,0,0,0,218,5,95,119,114,97,112,151,1,0,0,
     115,8,0,0,0,0,1,10,1,10,1,22,1,122,26,95,
     99,104,101,99,107,95,110,97,109,101,46,60,108,111,99,97,
     108,115,62,46,95,119,114,97,112,41,1,78,41,3,218,10,
@@ -547,7 +547,7 @@ const unsigned char _Py_M__importlib_external[] = {
     9,78,97,109,101,69,114,114,111,114,41,3,114,104,0,0,
     0,114,105,0,0,0,114,115,0,0,0,114,2,0,0,0,
     41,1,114,104,0,0,0,114,4,0,0,0,218,11,95,99,
-    104,101,99,107,95,110,97,109,101,131,1,0,0,115,14,0,
+    104,101,99,107,95,110,97,109,101,132,1,0,0,115,14,0,
     0,0,0,8,14,7,2,1,10,1,14,2,14,5,10,1,
     114,118,0,0,0,99,2,0,0,0,0,0,0,0,5,0,
     0,0,6,0,0,0,67,0,0,0,115,60,0,0,0,124,
@@ -575,7 +575,7 @@ const unsigned char _Py_M__importlib_external[] = {
     101,218,6,108,111,97,100,101,114,218,8,112,111,114,116,105,
     111,110,115,218,3,109,115,103,114,2,0,0,0,114,2,0,
     0,0,114,4,0,0,0,218,17,95,102,105,110,100,95,109,
-    111,100,117,108,101,95,115,104,105,109,159,1,0,0,115,10,
+    111,100,117,108,101,95,115,104,105,109,160,1,0,0,115,10,
     0,0,0,0,10,14,1,16,1,4,1,22,1,114,125,0,
     0,0,99,3,0,0,0,0,0,0,0,6,0,0,0,4,
     0,0,0,67,0,0,0,115,158,0,0,0,124,0,100,1,
@@ -642,7 +642,7 @@ const unsigned char _Py_M__importlib_external[] = {
     115,90,5,109,97,103,105,99,114,77,0,0,0,114,69,0,
     0,0,114,2,0,0,0,114,2,0,0,0,114,4,0,0,
     0,218,13,95,99,108,97,115,115,105,102,121,95,112,121,99,
-    176,1,0,0,115,28,0,0,0,0,16,12,1,8,1,16,
+    177,1,0,0,115,28,0,0,0,0,16,12,1,8,1,16,
     1,12,1,12,1,12,1,10,1,12,1,8,1,16,2,8,
     1,16,1,12,1,114,133,0,0,0,99,5,0,0,0,0,
     0,0,0,6,0,0,0,4,0,0,0,67,0,0,0,115,
@@ -696,7 +696,7 @@ const unsigned char _Py_M__importlib_external[] = {
     101,114,100,0,0,0,114,132,0,0,0,114,77,0,0,0,
     114,2,0,0,0,114,2,0,0,0,114,4,0,0,0,218,
     23,95,118,97,108,105,100,97,116,101,95,116,105,109,101,115,
-    116,97,109,112,95,112,121,99,209,1,0,0,115,14,0,0,
+    116,97,109,112,95,112,121,99,210,1,0,0,115,14,0,0,
     0,0,19,24,1,10,1,12,1,12,1,8,1,24,1,114,
     137,0,0,0,99,4,0,0,0,0,0,0,0,4,0,0,
     0,3,0,0,0,67,0,0,0,115,38,0,0,0,124,0,
@@ -742,7 +742,7 @@ const unsigned char _Py_M__importlib_external[] = {
     104,97,115,104,114,100,0,0,0,114,132,0,0,0,114,2,
     0,0,0,114,2,0,0,0,114,4,0,0,0,218,18,95,
     118,97,108,105,100,97,116,101,95,104,97,115,104,95,112,121,
-    99,237,1,0,0,115,8,0,0,0,0,17,16,1,2,1,
+    99,238,1,0,0,115,8,0,0,0,0,17,16,1,2,1,
     10,1,114,139,0,0,0,99,4,0,0,0,0,0,0,0,
     5,0,0,0,5,0,0,0,67,0,0,0,115,80,0,0,
     0,116,0,160,1,124,0,161,1,125,4,116,2,124,4,116,
@@ -765,7 +765,7 @@ const unsigned char _Py_M__importlib_external[] = {
     0,0,114,100,0,0,0,114,91,0,0,0,114,92,0,0,
     0,218,4,99,111,100,101,114,2,0,0,0,114,2,0,0,
     0,114,4,0,0,0,218,17,95,99,111,109,112,105,108,101,
-    95,98,121,116,101,99,111,100,101,5,2,0,0,115,16,0,
+    95,98,121,116,101,99,111,100,101,6,2,0,0,115,16,0,
     0,0,0,2,10,1,10,1,12,1,8,1,12,1,4,2,
     10,1,114,145,0,0,0,114,60,0,0,0,99,3,0,0,
     0,0,0,0,0,4,0,0,0,5,0,0,0,67,0,0,
@@ -783,7 +783,7 @@ const unsigned char _Py_M__importlib_external[] = {
     0,0,218,5,109,116,105,109,101,114,136,0,0,0,114,54,
     0,0,0,114,2,0,0,0,114,2,0,0,0,114,4,0,
     0,0,218,22,95,99,111,100,101,95,116,111,95,116,105,109,
-    101,115,116,97,109,112,95,112,121,99,18,2,0,0,115,12,
+    101,115,116,97,109,112,95,112,121,99,19,2,0,0,115,12,
     0,0,0,0,2,8,1,14,1,14,1,14,1,16,1,114,
     150,0,0,0,84,99,3,0,0,0,0,0,0,0,5,0,
     0,0,5,0,0,0,67,0,0,0,115,80,0,0,0,116,
@@ -802,7 +802,7 @@ const unsigned char _Py_M__importlib_external[] = {
     138,0,0,0,90,7,99,104,101,99,107,101,100,114,54,0,
     0,0,114,69,0,0,0,114,2,0,0,0,114,2,0,0,
     0,114,4,0,0,0,218,17,95,99,111,100,101,95,116,111,
-    95,104,97,115,104,95,112,121,99,28,2,0,0,115,14,0,
+    95,104,97,115,104,95,112,121,99,29,2,0,0,115,14,0,
     0,0,0,2,8,1,12,1,14,1,16,1,10,1,16,1,
     114,152,0,0,0,99,1,0,0,0,0,0,0,0,5,0,
     0,0,6,0,0,0,67,0,0,0,115,62,0,0,0,100,
@@ -829,7 +829,7 @@ const unsigned char _Py_M__importlib_external[] = {
     100,108,105,110,101,218,8,101,110,99,111,100,105,110,103,90,
     15,110,101,119,108,105,110,101,95,100,101,99,111,100,101,114,
     114,2,0,0,0,114,2,0,0,0,114,4,0,0,0,218,
-    13,100,101,99,111,100,101,95,115,111,117,114,99,101,39,2,
+    13,100,101,99,111,100,101,95,115,111,117,114,99,101,40,2,
     0,0,115,10,0,0,0,0,5,8,1,12,1,10,1,12,
     1,114,157,0,0,0,41,2,114,122,0,0,0,218,26,115,
     117,98,109,111,100,117,108,101,95,115,101,97,114,99,104,95,
@@ -891,7 +891,7 @@ const unsigned char _Py_M__importlib_external[] = {
     115,114,161,0,0,0,90,7,100,105,114,110,97,109,101,114,
     2,0,0,0,114,2,0,0,0,114,4,0,0,0,218,23,
     115,112,101,99,95,102,114,111,109,95,102,105,108,101,95,108,
-    111,99,97,116,105,111,110,56,2,0,0,115,62,0,0,0,
+    111,99,97,116,105,111,110,57,2,0,0,115,62,0,0,0,
     0,12,8,4,4,1,10,2,2,1,14,1,14,1,8,2,
     10,8,16,1,6,3,8,1,16,1,14,1,10,1,6,1,
     6,2,4,3,8,2,10,1,2,1,14,1,14,1,6,2,
@@ -928,7 +928,7 @@ const unsigned char _Py_M__importlib_external[] = {
     65,67,72,73,78,69,41,2,218,3,99,108,115,114,3,0,
     0,0,114,2,0,0,0,114,2,0,0,0,114,4,0,0,
     0,218,14,95,111,112,101,110,95,114,101,103,105,115,116,114,
-    121,136,2,0,0,115,8,0,0,0,0,2,2,1,14,1,
+    121,137,2,0,0,115,8,0,0,0,0,2,2,1,14,1,
     14,1,122,36,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,121,99,2,0,0,0,0,0,0,
@@ -953,7 +953,7 @@ const unsigned char _Py_M__importlib_external[] = {
     115,116,114,121,95,107,101,121,114,3,0,0,0,90,4,104,
     107,101,121,218,8,102,105,108,101,112,97,116,104,114,2,0,
     0,0,114,2,0,0,0,114,4,0,0,0,218,16,95,115,
-    101,97,114,99,104,95,114,101,103,105,115,116,114,121,143,2,
+    101,97,114,99,104,95,114,101,103,105,115,116,114,121,144,2,
     0,0,115,22,0,0,0,0,2,6,1,8,2,6,1,6,
     1,22,1,2,1,12,1,26,1,14,1,6,1,122,38,87,
     105,110,100,111,119,115,82,101,103,105,115,116,114,121,70,105,
@@ -976,7 +976,7 @@ const unsigned char _Py_M__importlib_external[] = {
     101,116,114,178,0,0,0,114,122,0,0,0,114,168,0,0,
     0,114,166,0,0,0,114,2,0,0,0,114,2,0,0,0,
     114,4,0,0,0,218,9,102,105,110,100,95,115,112,101,99,
-    158,2,0,0,115,26,0,0,0,0,2,10,1,8,1,4,
+    159,2,0,0,115,26,0,0,0,0,2,10,1,8,1,4,
     1,2,1,12,1,14,1,6,1,16,1,14,1,6,1,8,
     1,8,1,122,31,87,105,110,100,111,119,115,82,101,103,105,
     115,116,114,121,70,105,110,100,101,114,46,102,105,110,100,95,
@@ -994,7 +994,7 @@ const unsigned char _Py_M__importlib_external[] = {
     78,41,2,114,182,0,0,0,114,122,0,0,0,41,4,114,
     172,0,0,0,114,121,0,0,0,114,35,0,0,0,114,166,
     0,0,0,114,2,0,0,0,114,2,0,0,0,114,4,0,
-    0,0,218,11,102,105,110,100,95,109,111,100,117,108,101,174,
+    0,0,218,11,102,105,110,100,95,109,111,100,117,108,101,175,
     2,0,0,115,8,0,0,0,0,7,12,1,8,1,6,2,
     122,33,87,105,110,100,111,119,115,82,101,103,105,115,116,114,
     121,70,105,110,100,101,114,46,102,105,110,100,95,109,111,100,
@@ -1004,7 +1004,7 @@ const unsigned char _Py_M__importlib_external[] = {
     11,99,108,97,115,115,109,101,116,104,111,100,114,173,0,0,
     0,114,179,0,0,0,114,182,0,0,0,114,183,0,0,0,
     114,2,0,0,0,114,2,0,0,0,114,2,0,0,0,114,
-    4,0,0,0,114,170,0,0,0,124,2,0,0,115,18,0,
+    4,0,0,0,114,170,0,0,0,125,2,0,0,115,18,0,
     0,0,12,5,4,3,4,2,4,2,12,7,12,15,2,1,
     12,15,2,1,114,170,0,0,0,99,0,0,0,0,0,0,
     0,0,0,0,0,0,2,0,0,0,64,0,0,0,115,48,
@@ -1039,7 +1039,7 @@ const unsigned char _Py_M__importlib_external[] = {
     121,0,0,0,114,96,0,0,0,90,13,102,105,108,101,110,
     97,109,101,95,98,97,115,101,90,9,116,97,105,108,95,110,
     97,109,101,114,2,0,0,0,114,2,0,0,0,114,4,0,
-    0,0,114,161,0,0,0,193,2,0,0,115,8,0,0,0,
+    0,0,114,161,0,0,0,194,2,0,0,115,8,0,0,0,
     0,3,18,1,16,1,14,1,122,24,95,76,111,97,100,101,
     114,66,97,115,105,99,115,46,105,115,95,112,97,99,107,97,
     103,101,99,2,0,0,0,0,0,0,0,2,0,0,0,1,
@@ -1049,7 +1049,7 @@ const unsigned char _Py_M__importlib_external[] = {
     100,117,108,101,32,99,114,101,97,116,105,111,110,46,78,114,
     2,0,0,0,41,2,114,102,0,0,0,114,166,0,0,0,
     114,2,0,0,0,114,2,0,0,0,114,4,0,0,0,218,
-    13,99,114,101,97,116,101,95,109,111,100,117,108,101,201,2,
+    13,99,114,101,97,116,101,95,109,111,100,117,108,101,202,2,
     0,0,115,0,0,0,0,122,27,95,76,111,97,100,101,114,
     66,97,115,105,99,115,46,99,114,101,97,116,101,95,109,111,
     100,117,108,101,99,2,0,0,0,0,0,0,0,3,0,0,
@@ -1069,7 +1069,7 @@ const unsigned char _Py_M__importlib_external[] = {
     4,101,120,101,99,114,113,0,0,0,41,3,114,102,0,0,
     0,218,6,109,111,100,117,108,101,114,144,0,0,0,114,2,
     0,0,0,114,2,0,0,0,114,4,0,0,0,218,11,101,
-    120,101,99,95,109,111,100,117,108,101,204,2,0,0,115,10,
+    120,101,99,95,109,111,100,117,108,101,205,2,0,0,115,10,
     0,0,0,0,2,12,1,8,1,6,1,10,1,122,25,95,
     76,111,97,100,101,114,66,97,115,105,99,115,46,101,120,101,
     99,95,109,111,100,117,108,101,99,2,0,0,0,0,0,0,
@@ -1080,14 +1080,14 @@ const unsigned char _Py_M__importlib_external[] = {
     0,0,0,218,17,95,108,111,97,100,95,109,111,100,117,108,
     101,95,115,104,105,109,41,2,114,102,0,0,0,114,121,0,
     0,0,114,2,0,0,0,114,2,0,0,0,114,4,0,0,
-    0,218,11,108,111,97,100,95,109,111,100,117,108,101,212,2,
+    0,218,11,108,111,97,100,95,109,111,100,117,108,101,213,2,
     0,0,115,2,0,0,0,0,2,122,25,95,76,111,97,100,
     101,114,66,97,115,105,99,115,46,108,111,97,100,95,109,111,
     100,117,108,101,78,41,8,114,107,0,0,0,114,106,0,0,
     0,114,108,0,0,0,114,109,0,0,0,114,161,0,0,0,
     114,187,0,0,0,114,192,0,0,0,114,194,0,0,0,114,
     2,0,0,0,114,2,0,0,0,114,2,0,0,0,114,4,
-    0,0,0,114,185,0,0,0,188,2,0,0,115,8,0,0,
+    0,0,0,114,185,0,0,0,189,2,0,0,115,8,0,0,
     0,12,5,8,8,8,3,8,8,114,185,0,0,0,99,0,
     0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,64,
     0,0,0,115,74,0,0,0,101,0,90,1,100,0,90,2,
@@ -1112,7 +1112,7 @@ const unsigned char _Py_M__importlib_external[] = {
     46,10,32,32,32,32,32,32,32,32,78,41,1,114,40,0,
     0,0,41,2,114,102,0,0,0,114,35,0,0,0,114,2,
     0,0,0,114,2,0,0,0,114,4,0,0,0,218,10,112,
-    97,116,104,95,109,116,105,109,101,219,2,0,0,115,2,0,
+    97,116,104,95,109,116,105,109,101,220,2,0,0,115,2,0,
     0,0,0,6,122,23,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,0,0,0,4,0,0,0,67,0,
@@ -1147,7 +1147,7 @@ const unsigned char _Py_M__importlib_external[] = {
     32,32,32,32,32,32,114,149,0,0,0,41,1,114,196,0,
     0,0,41,2,114,102,0,0,0,114,35,0,0,0,114,2,
     0,0,0,114,2,0,0,0,114,4,0,0,0,218,10,112,
-    97,116,104,95,115,116,97,116,115,227,2,0,0,115,2,0,
+    97,116,104,95,115,116,97,116,115,228,2,0,0,115,2,0,
     0,0,0,11,122,23,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,4,0,0,0,67,0,
@@ -1171,7 +1171,7 @@ const unsigned char _Py_M__importlib_external[] = {
     0,0,0,90,10,99,97,99,104,101,95,112,97,116,104,114,
     54,0,0,0,114,2,0,0,0,114,2,0,0,0,114,4,
     0,0,0,218,15,95,99,97,99,104,101,95,98,121,116,101,
-    99,111,100,101,240,2,0,0,115,2,0,0,0,0,8,122,
+    99,111,100,101,241,2,0,0,115,2,0,0,0,0,8,122,
     28,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,3,0,0,0,1,0,0,0,67,0,
@@ -1188,7 +1188,7 @@ const unsigned char _Py_M__importlib_external[] = {
     32,32,32,32,32,78,114,2,0,0,0,41,3,114,102,0,
     0,0,114,35,0,0,0,114,54,0,0,0,114,2,0,0,
     0,114,2,0,0,0,114,4,0,0,0,114,198,0,0,0,
-    250,2,0,0,115,0,0,0,0,122,21,83,111,117,114,99,
+    251,2,0,0,115,0,0,0,0,122,21,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,5,0,0,0,10,0,0,
     0,67,0,0,0,115,82,0,0,0,124,0,160,0,124,1,
@@ -1208,7 +1208,7 @@ const unsigned char _Py_M__importlib_external[] = {
     114,157,0,0,0,41,5,114,102,0,0,0,114,121,0,0,
     0,114,35,0,0,0,114,155,0,0,0,218,3,101,120,99,
     114,2,0,0,0,114,2,0,0,0,114,4,0,0,0,218,
-    10,103,101,116,95,115,111,117,114,99,101,1,3,0,0,115,
+    10,103,101,116,95,115,111,117,114,99,101,2,3,0,0,115,
     14,0,0,0,0,2,10,1,2,1,14,1,16,1,4,1,
     28,1,122,23,83,111,117,114,99,101,76,111,97,100,101,114,
     46,103,101,116,95,115,111,117,114,99,101,114,89,0,0,0,
@@ -1230,7 +1230,7 @@ const unsigned char _Py_M__importlib_external[] = {
     105,108,101,41,4,114,102,0,0,0,114,54,0,0,0,114,
     35,0,0,0,114,203,0,0,0,114,2,0,0,0,114,2,
     0,0,0,114,4,0,0,0,218,14,115,111,117,114,99,101,
-    95,116,111,95,99,111,100,101,11,3,0,0,115,4,0,0,
+    95,116,111,95,99,111,100,101,12,3,0,0,115,4,0,0,
     0,0,5,12,1,122,27,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,15,0,0,0,9,
@@ -1309,7 +1309,7 @@ const unsigned char _Py_M__importlib_external[] = {
     0,0,114,132,0,0,0,114,69,0,0,0,90,10,98,121,
     116,101,115,95,100,97,116,97,90,11,99,111,100,101,95,111,
     98,106,101,99,116,114,2,0,0,0,114,2,0,0,0,114,
-    4,0,0,0,114,188,0,0,0,19,3,0,0,115,134,0,
+    4,0,0,0,114,188,0,0,0,20,3,0,0,115,134,0,
     0,0,0,7,10,1,4,1,4,1,4,1,4,1,4,1,
     2,1,12,1,14,1,12,2,2,1,14,1,14,1,8,2,
     12,1,2,1,14,1,14,1,6,3,2,1,8,2,2,1,
@@ -1324,7 +1324,7 @@ const unsigned char _Py_M__importlib_external[] = {
     0,114,196,0,0,0,114,197,0,0,0,114,199,0,0,0,
     114,198,0,0,0,114,202,0,0,0,114,206,0,0,0,114,
     188,0,0,0,114,2,0,0,0,114,2,0,0,0,114,2,
-    0,0,0,114,4,0,0,0,114,195,0,0,0,217,2,0,
+    0,0,0,114,4,0,0,0,114,195,0,0,0,218,2,0,
     0,115,14,0,0,0,8,2,8,8,8,13,8,10,8,7,
     8,10,14,8,114,195,0,0,0,99,0,0,0,0,0,0,
     0,0,0,0,0,0,4,0,0,0,0,0,0,0,115,124,
@@ -1354,7 +1354,7 @@ const unsigned char _Py_M__importlib_external[] = {
     41,2,114,100,0,0,0,114,35,0,0,0,41,3,114,102,
     0,0,0,114,121,0,0,0,114,35,0,0,0,114,2,0,
     0,0,114,2,0,0,0,114,4,0,0,0,114,186,0,0,
-    0,110,3,0,0,115,4,0,0,0,0,3,6,1,122,19,
+    0,111,3,0,0,115,4,0,0,0,0,3,6,1,122,19,
     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,
     2,0,0,0,67,0,0,0,115,24,0,0,0,124,0,106,
@@ -1362,7 +1362,7 @@ const unsigned char _Py_M__importlib_external[] = {
     1,107,2,83,0,41,1,78,41,2,218,9,95,95,99,108,
     97,115,115,95,95,114,113,0,0,0,41,2,114,102,0,0,
     0,218,5,111,116,104,101,114,114,2,0,0,0,114,2,0,
-    0,0,114,4,0,0,0,218,6,95,95,101,113,95,95,116,
+    0,0,114,4,0,0,0,218,6,95,95,101,113,95,95,117,
     3,0,0,115,4,0,0,0,0,1,12,1,122,17,70,105,
     108,101,76,111,97,100,101,114,46,95,95,101,113,95,95,99,
     1,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,
@@ -1371,7 +1371,7 @@ const unsigned char _Py_M__importlib_external[] = {
     41,3,218,4,104,97,115,104,114,100,0,0,0,114,35,0,
     0,0,41,1,114,102,0,0,0,114,2,0,0,0,114,2,
     0,0,0,114,4,0,0,0,218,8,95,95,104,97,115,104,
-    95,95,120,3,0,0,115,2,0,0,0,0,1,122,19,70,
+    95,95,121,3,0,0,115,2,0,0,0,0,1,122,19,70,
     105,108,101,76,111,97,100,101,114,46,95,95,104,97,115,104,
     95,95,99,2,0,0,0,0,0,0,0,2,0,0,0,3,
     0,0,0,3,0,0,0,115,16,0,0,0,116,0,116,1,
@@ -1385,7 +1385,7 @@ const unsigned char _Py_M__importlib_external[] = {
     32,32,32,32,41,3,218,5,115,117,112,101,114,114,212,0,
     0,0,114,194,0,0,0,41,2,114,102,0,0,0,114,121,
     0,0,0,41,1,114,213,0,0,0,114,2,0,0,0,114,
-    4,0,0,0,114,194,0,0,0,123,3,0,0,115,2,0,
+    4,0,0,0,114,194,0,0,0,124,3,0,0,115,2,0,
     0,0,0,10,122,22,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,0,67,0,0,
@@ -1396,7 +1396,7 @@ const unsigned char _Py_M__importlib_external[] = {
     104,101,32,102,105,110,100,101,114,46,41,1,114,35,0,0,
     0,41,2,114,102,0,0,0,114,121,0,0,0,114,2,0,
     0,0,114,2,0,0,0,114,4,0,0,0,114,159,0,0,
-    0,135,3,0,0,115,2,0,0,0,0,3,122,23,70,105,
+    0,136,3,0,0,115,2,0,0,0,0,3,122,23,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,9,0,0,0,67,0,0,0,115,32,0,0,0,116,
@@ -1408,7 +1408,7 @@ const unsigned char _Py_M__importlib_external[] = {
     114,50,0,0,0,114,51,0,0,0,90,4,114,101,97,100,
     41,3,114,102,0,0,0,114,35,0,0,0,114,55,0,0,
     0,114,2,0,0,0,114,2,0,0,0,114,4,0,0,0,
-    114,200,0,0,0,140,3,0,0,115,4,0,0,0,0,2,
+    114,200,0,0,0,141,3,0,0,115,4,0,0,0,0,2,
     14,1,122,19,70,105,108,101,76,111,97,100,101,114,46,103,
     101,116,95,100,97,116,97,99,2,0,0,0,0,0,0,0,
     2,0,0,0,3,0,0,0,67,0,0,0,115,18,0,0,
@@ -1416,7 +1416,7 @@ const unsigned char _Py_M__importlib_external[] = {
     0,83,0,41,1,78,41,1,114,161,0,0,0,41,2,114,
     102,0,0,0,114,191,0,0,0,114,2,0,0,0,114,2,
     0,0,0,114,4,0,0,0,218,19,103,101,116,95,114,101,
-    115,111,117,114,99,101,95,114,101,97,100,101,114,147,3,0,
+    115,111,117,114,99,101,95,114,101,97,100,101,114,148,3,0,
     0,115,6,0,0,0,0,2,10,1,4,1,122,30,70,105,
     108,101,76,111,97,100,101,114,46,103,101,116,95,114,101,115,
     111,117,114,99,101,95,114,101,97,100,101,114,99,2,0,0,
@@ -1429,7 +1429,7 @@ const unsigned char _Py_M__importlib_external[] = {
     114,102,0,0,0,218,8,114,101,115,111,117,114,99,101,114,
     35,0,0,0,114,2,0,0,0,114,2,0,0,0,114,4,
     0,0,0,218,13,111,112,101,110,95,114,101,115,111,117,114,
-    99,101,153,3,0,0,115,4,0,0,0,0,1,20,1,122,
+    99,101,154,3,0,0,115,4,0,0,0,0,1,20,1,122,
     24,70,105,108,101,76,111,97,100,101,114,46,111,112,101,110,
     95,114,101,115,111,117,114,99,101,99,2,0,0,0,0,0,
     0,0,3,0,0,0,3,0,0,0,67,0,0,0,115,38,
@@ -1442,7 +1442,7 @@ const unsigned char _Py_M__importlib_external[] = {
     0,0,41,3,114,102,0,0,0,114,221,0,0,0,114,35,
     0,0,0,114,2,0,0,0,114,2,0,0,0,114,4,0,
     0,0,218,13,114,101,115,111,117,114,99,101,95,112,97,116,
-    104,157,3,0,0,115,8,0,0,0,0,1,10,1,4,1,
+    104,158,3,0,0,115,8,0,0,0,0,1,10,1,4,1,
     20,1,122,24,70,105,108,101,76,111,97,100,101,114,46,114,
     101,115,111,117,114,99,101,95,112,97,116,104,99,2,0,0,
     0,0,0,0,0,3,0,0,0,3,0,0,0,67,0,0,
@@ -1453,7 +1453,7 @@ const unsigned char _Py_M__importlib_external[] = {
     0,0,0,114,38,0,0,0,114,35,0,0,0,114,44,0,
     0,0,41,3,114,102,0,0,0,114,100,0,0,0,114,35,
     0,0,0,114,2,0,0,0,114,2,0,0,0,114,4,0,
-    0,0,114,223,0,0,0,163,3,0,0,115,8,0,0,0,
+    0,0,114,223,0,0,0,164,3,0,0,115,8,0,0,0,
     0,1,8,1,4,1,20,1,122,22,70,105,108,101,76,111,
     97,100,101,114,46,105,115,95,114,101,115,111,117,114,99,101,
     99,1,0,0,0,0,0,0,0,1,0,0,0,5,0,0,
@@ -1463,7 +1463,7 @@ const unsigned char _Py_M__importlib_external[] = {
     101,114,114,1,0,0,0,218,7,108,105,115,116,100,105,114,
     114,38,0,0,0,114,35,0,0,0,41,1,114,102,0,0,
     0,114,2,0,0,0,114,2,0,0,0,114,4,0,0,0,
-    218,8,99,111,110,116,101,110,116,115,169,3,0,0,115,2,
+    218,8,99,111,110,116,101,110,116,115,170,3,0,0,115,2,
     0,0,0,0,1,122,19,70,105,108,101,76,111,97,100,101,
     114,46,99,111,110,116,101,110,116,115,41,17,114,107,0,0,
     0,114,106,0,0,0,114,108,0,0,0,114,109,0,0,0,
@@ -1473,7 +1473,7 @@ const unsigned char _Py_M__importlib_external[] = {
     0,0,114,223,0,0,0,114,228,0,0,0,90,13,95,95,
     99,108,97,115,115,99,101,108,108,95,95,114,2,0,0,0,
     114,2,0,0,0,41,1,114,213,0,0,0,114,4,0,0,
-    0,114,212,0,0,0,105,3,0,0,115,22,0,0,0,12,
+    0,114,212,0,0,0,106,3,0,0,115,22,0,0,0,12,
     5,8,6,8,4,8,3,16,12,12,5,8,7,12,6,8,
     4,8,6,8,6,114,212,0,0,0,99,0,0,0,0,0,
     0,0,0,0,0,0,0,3,0,0,0,64,0,0,0,115,
@@ -1495,7 +1495,7 @@ const unsigned char _Py_M__importlib_external[] = {
     115,116,95,109,116,105,109,101,90,7,115,116,95,115,105,122,
     101,41,3,114,102,0,0,0,114,35,0,0,0,114,211,0,
     0,0,114,2,0,0,0,114,2,0,0,0,114,4,0,0,
-    0,114,197,0,0,0,177,3,0,0,115,4,0,0,0,0,
+    0,114,197,0,0,0,178,3,0,0,115,4,0,0,0,0,
     2,8,1,122,27,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,0,5,0,0,
@@ -1505,7 +1505,7 @@ const unsigned char _Py_M__importlib_external[] = {
     114,99,0,0,0,114,198,0,0,0,41,5,114,102,0,0,
     0,114,92,0,0,0,114,91,0,0,0,114,54,0,0,0,
     114,42,0,0,0,114,2,0,0,0,114,2,0,0,0,114,
-    4,0,0,0,114,199,0,0,0,182,3,0,0,115,4,0,
+    4,0,0,0,114,199,0,0,0,183,3,0,0,115,4,0,
     0,0,0,2,8,1,122,32,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,105,182,1,0,0,41,1,114,
@@ -1540,7 +1540,7 @@ const unsigned char _Py_M__importlib_external[] = {
     114,231,0,0,0,218,6,112,97,114,101,110,116,114,96,0,
     0,0,114,27,0,0,0,114,23,0,0,0,114,201,0,0,
     0,114,2,0,0,0,114,2,0,0,0,114,4,0,0,0,
-    114,198,0,0,0,187,3,0,0,115,42,0,0,0,0,2,
+    114,198,0,0,0,188,3,0,0,115,42,0,0,0,0,2,
     12,1,4,2,14,1,12,1,14,2,14,1,10,1,2,1,
     14,1,14,2,6,1,16,3,6,1,8,1,22,1,2,1,
     12,1,16,1,16,2,8,1,122,25,83,111,117,114,99,101,
@@ -1549,7 +1549,7 @@ const unsigned char _Py_M__importlib_external[] = {
     114,108,0,0,0,114,109,0,0,0,114,197,0,0,0,114,
     199,0,0,0,114,198,0,0,0,114,2,0,0,0,114,2,
     0,0,0,114,2,0,0,0,114,4,0,0,0,114,229,0,
-    0,0,173,3,0,0,115,6,0,0,0,12,4,8,5,8,
+    0,0,174,3,0,0,115,6,0,0,0,12,4,8,5,8,
     5,114,229,0,0,0,99,0,0,0,0,0,0,0,0,0,
     0,0,0,2,0,0,0,64,0,0,0,115,32,0,0,0,
     101,0,90,1,100,0,90,2,100,1,90,3,100,2,100,3,
@@ -1570,7 +1570,7 @@ const unsigned char _Py_M__importlib_external[] = {
     0,114,133,0,0,0,114,145,0,0,0,114,208,0,0,0,
     41,5,114,102,0,0,0,114,121,0,0,0,114,35,0,0,
     0,114,54,0,0,0,114,132,0,0,0,114,2,0,0,0,
-    114,2,0,0,0,114,4,0,0,0,114,188,0,0,0,222,
+    114,2,0,0,0,114,4,0,0,0,114,188,0,0,0,223,
     3,0,0,115,18,0,0,0,0,1,10,1,10,4,2,1,
     8,2,12,1,2,1,14,1,2,1,122,29,83,111,117,114,
     99,101,108,101,115,115,70,105,108,101,76,111,97,100,101,114,
@@ -1581,13 +1581,13 @@ const unsigned char _Py_M__importlib_external[] = {
     105,115,32,110,111,32,115,111,117,114,99,101,32,99,111,100,
     101,46,78,114,2,0,0,0,41,2,114,102,0,0,0,114,
     121,0,0,0,114,2,0,0,0,114,2,0,0,0,114,4,
-    0,0,0,114,202,0,0,0,238,3,0,0,115,2,0,0,
+    0,0,0,114,202,0,0,0,239,3,0,0,115,2,0,0,
     0,0,2,122,31,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,41,6,114,107,0,0,0,114,106,0,0,
     0,114,108,0,0,0,114,109,0,0,0,114,188,0,0,0,
     114,202,0,0,0,114,2,0,0,0,114,2,0,0,0,114,
-    2,0,0,0,114,4,0,0,0,114,234,0,0,0,218,3,
+    2,0,0,0,114,4,0,0,0,114,234,0,0,0,219,3,
     0,0,115,4,0,0,0,12,4,8,16,114,234,0,0,0,
     99,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,
     0,64,0,0,0,115,92,0,0,0,101,0,90,1,100,0,
@@ -1609,7 +1609,7 @@ const unsigned char _Py_M__importlib_external[] = {
     95,1,100,0,83,0,41,1,78,41,2,114,100,0,0,0,
     114,35,0,0,0,41,3,114,102,0,0,0,114,100,0,0,
     0,114,35,0,0,0,114,2,0,0,0,114,2,0,0,0,
-    114,4,0,0,0,114,186,0,0,0,255,3,0,0,115,4,
+    114,4,0,0,0,114,186,0,0,0,0,4,0,0,115,4,
     0,0,0,0,1,6,1,122,28,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,2,0,
@@ -1618,7 +1618,7 @@ const unsigned char _Py_M__importlib_external[] = {
     1,106,1,107,2,83,0,41,1,78,41,2,114,213,0,0,
     0,114,113,0,0,0,41,2,114,102,0,0,0,114,214,0,
     0,0,114,2,0,0,0,114,2,0,0,0,114,4,0,0,
-    0,114,215,0,0,0,3,4,0,0,115,4,0,0,0,0,
+    0,114,215,0,0,0,4,4,0,0,115,4,0,0,0,0,
     1,12,1,122,26,69,120,116,101,110,115,105,111,110,70,105,
     108,101,76,111,97,100,101,114,46,95,95,101,113,95,95,99,
     1,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,
@@ -1626,7 +1626,7 @@ const unsigned char _Py_M__importlib_external[] = {
     1,116,0,124,0,106,2,131,1,65,0,83,0,41,1,78,
     41,3,114,216,0,0,0,114,100,0,0,0,114,35,0,0,
     0,41,1,114,102,0,0,0,114,2,0,0,0,114,2,0,
-    0,0,114,4,0,0,0,114,217,0,0,0,7,4,0,0,
+    0,0,114,4,0,0,0,114,217,0,0,0,8,4,0,0,
     115,2,0,0,0,0,1,122,28,69,120,116,101,110,115,105,
     111,110,70,105,108,101,76,111,97,100,101,114,46,95,95,104,
     97,115,104,95,95,99,2,0,0,0,0,0,0,0,3,0,
@@ -1643,7 +1643,7 @@ const unsigned char _Py_M__importlib_external[] = {
     121,110,97,109,105,99,114,130,0,0,0,114,100,0,0,0,
     114,35,0,0,0,41,3,114,102,0,0,0,114,166,0,0,
     0,114,191,0,0,0,114,2,0,0,0,114,2,0,0,0,
-    114,4,0,0,0,114,187,0,0,0,10,4,0,0,115,10,
+    114,4,0,0,0,114,187,0,0,0,11,4,0,0,115,10,
     0,0,0,0,2,4,1,10,1,6,1,12,1,122,33,69,
     120,116,101,110,115,105,111,110,70,105,108,101,76,111,97,100,
     101,114,46,99,114,101,97,116,101,95,109,111,100,117,108,101,
@@ -1660,7 +1660,7 @@ const unsigned char _Py_M__importlib_external[] = {
     101,99,95,100,121,110,97,109,105,99,114,130,0,0,0,114,
     100,0,0,0,114,35,0,0,0,41,2,114,102,0,0,0,
     114,191,0,0,0,114,2,0,0,0,114,2,0,0,0,114,
-    4,0,0,0,114,192,0,0,0,18,4,0,0,115,6,0,
+    4,0,0,0,114,192,0,0,0,19,4,0,0,115,6,0,
     0,0,0,2,14,1,6,1,122,31,69,120,116,101,110,115,
     105,111,110,70,105,108,101,76,111,97,100,101,114,46,101,120,
     101,99,95,109,111,100,117,108,101,99,2,0,0,0,0,0,
@@ -1678,7 +1678,7 @@ const unsigned char _Py_M__importlib_external[] = {
     0,0,41,2,114,22,0,0,0,218,6,115,117,102,102,105,
     120,41,1,218,9,102,105,108,101,95,110,97,109,101,114,2,
     0,0,0,114,4,0,0,0,250,9,60,103,101,110,101,120,
-    112,114,62,27,4,0,0,115,2,0,0,0,4,1,122,49,
+    112,114,62,28,4,0,0,115,2,0,0,0,4,1,122,49,
     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,
@@ -1686,7 +1686,7 @@ const unsigned char _Py_M__importlib_external[] = {
     110,121,218,18,69,88,84,69,78,83,73,79,78,95,83,85,
     70,70,73,88,69,83,41,2,114,102,0,0,0,114,121,0,
     0,0,114,2,0,0,0,41,1,114,237,0,0,0,114,4,
-    0,0,0,114,161,0,0,0,24,4,0,0,115,6,0,0,
+    0,0,0,114,161,0,0,0,25,4,0,0,115,6,0,0,
     0,0,2,14,1,12,1,122,30,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,0,0,
@@ -1697,7 +1697,7 @@ const unsigned char _Py_M__importlib_external[] = {
     111,116,32,99,114,101,97,116,101,32,97,32,99,111,100,101,
     32,111,98,106,101,99,116,46,78,114,2,0,0,0,41,2,
     114,102,0,0,0,114,121,0,0,0,114,2,0,0,0,114,
-    2,0,0,0,114,4,0,0,0,114,188,0,0,0,30,4,
+    2,0,0,0,114,4,0,0,0,114,188,0,0,0,31,4,
     0,0,115,2,0,0,0,0,2,122,28,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,
@@ -1708,7 +1708,7 @@ const unsigned char _Py_M__importlib_external[] = {
     111,32,115,111,117,114,99,101,32,99,111,100,101,46,78,114,
     2,0,0,0,41,2,114,102,0,0,0,114,121,0,0,0,
     114,2,0,0,0,114,2,0,0,0,114,4,0,0,0,114,
-    202,0,0,0,34,4,0,0,115,2,0,0,0,0,2,122,
+    202,0,0,0,35,4,0,0,115,2,0,0,0,0,2,122,
     30,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,99,
     2,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,
@@ -1719,7 +1719,7 @@ const unsigned char _Py_M__importlib_external[] = {
     121,32,116,104,101,32,102,105,110,100,101,114,46,41,1,114,
     35,0,0,0,41,2,114,102,0,0,0,114,121,0,0,0,
     114,2,0,0,0,114,2,0,0,0,114,4,0,0,0,114,
-    159,0,0,0,38,4,0,0,115,2,0,0,0,0,3,122,
+    159,0,0,0,39,4,0,0,115,2,0,0,0,0,3,122,
     32,69,120,116,101,110,115,105,111,110,70,105,108,101,76,111,
     97,100,101,114,46,103,101,116,95,102,105,108,101,110,97,109,
     101,78,41,14,114,107,0,0,0,114,106,0,0,0,114,108,
@@ -1728,7 +1728,7 @@ const unsigned char _Py_M__importlib_external[] = {
     0,114,161,0,0,0,114,188,0,0,0,114,202,0,0,0,
     114,118,0,0,0,114,159,0,0,0,114,2,0,0,0,114,
     2,0,0,0,114,2,0,0,0,114,4,0,0,0,114,235,
-    0,0,0,247,3,0,0,115,18,0,0,0,12,8,8,4,
+    0,0,0,248,3,0,0,115,18,0,0,0,12,8,8,4,
     8,4,8,3,8,8,8,6,8,6,8,4,8,4,114,235,
     0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,
     2,0,0,0,64,0,0,0,115,96,0,0,0,101,0,90,
@@ -1769,7 +1769,7 @@ const unsigned char _Py_M__importlib_external[] = {
     100,101,114,41,4,114,102,0,0,0,114,100,0,0,0,114,
     35,0,0,0,218,11,112,97,116,104,95,102,105,110,100,101,
     114,114,2,0,0,0,114,2,0,0,0,114,4,0,0,0,
-    114,186,0,0,0,51,4,0,0,115,8,0,0,0,0,1,
+    114,186,0,0,0,52,4,0,0,115,8,0,0,0,0,1,
     6,1,6,1,14,1,122,23,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,
@@ -1786,7 +1786,7 @@ const unsigned char _Py_M__importlib_external[] = {
     102,0,0,0,114,233,0,0,0,218,3,100,111,116,90,2,
     109,101,114,2,0,0,0,114,2,0,0,0,114,4,0,0,
     0,218,23,95,102,105,110,100,95,112,97,114,101,110,116,95,
-    112,97,116,104,95,110,97,109,101,115,57,4,0,0,115,8,
+    112,97,116,104,95,110,97,109,101,115,58,4,0,0,115,8,
     0,0,0,0,2,18,1,8,2,4,3,122,38,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,110,97,
@@ -1799,7 +1799,7 @@ const unsigned char _Py_M__importlib_external[] = {
     97,114,101,110,116,95,109,111,100,117,108,101,95,110,97,109,
     101,90,14,112,97,116,104,95,97,116,116,114,95,110,97,109,
     101,114,2,0,0,0,114,2,0,0,0,114,4,0,0,0,
-    114,244,0,0,0,67,4,0,0,115,4,0,0,0,0,1,
+    114,244,0,0,0,68,4,0,0,115,4,0,0,0,0,1,
     12,1,122,31,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,0,0,0,0,0,0,3,0,0,0,
@@ -1815,7 +1815,7 @@ const unsigned char _Py_M__importlib_external[] = {
     0,90,11,112,97,114,101,110,116,95,112,97,116,104,114,166,
     0,0,0,114,2,0,0,0,114,2,0,0,0,114,4,0,
     0,0,218,12,95,114,101,99,97,108,99,117,108,97,116,101,
-    71,4,0,0,115,16,0,0,0,0,2,12,1,10,1,14,
+    72,4,0,0,115,16,0,0,0,0,2,12,1,10,1,14,
     3,18,1,6,1,8,1,6,1,122,27,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,0,0,0,1,
@@ -1823,7 +1823,7 @@ const unsigned char _Py_M__importlib_external[] = {
     116,0,124,0,160,1,161,0,131,1,83,0,41,1,78,41,
     2,114,226,0,0,0,114,251,0,0,0,41,1,114,102,0,
     0,0,114,2,0,0,0,114,2,0,0,0,114,4,0,0,
-    0,218,8,95,95,105,116,101,114,95,95,84,4,0,0,115,
+    0,218,8,95,95,105,116,101,114,95,95,85,4,0,0,115,
     2,0,0,0,0,1,122,23,95,78,97,109,101,115,112,97,
     99,101,80,97,116,104,46,95,95,105,116,101,114,95,95,99,
     3,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,
@@ -1832,14 +1832,14 @@ const unsigned char _Py_M__importlib_external[] = {
     0,41,3,114,102,0,0,0,218,5,105,110,100,101,120,114,
     35,0,0,0,114,2,0,0,0,114,2,0,0,0,114,4,
     0,0,0,218,11,95,95,115,101,116,105,116,101,109,95,95,
-    87,4,0,0,115,2,0,0,0,0,1,122,26,95,78,97,
+    88,4,0,0,115,2,0,0,0,0,1,122,26,95,78,97,
     109,101,115,112,97,99,101,80,97,116,104,46,95,95,115,101,
     116,105,116,101,109,95,95,99,1,0,0,0,0,0,0,0,
     1,0,0,0,3,0,0,0,67,0,0,0,115,12,0,0,
     0,116,0,124,0,160,1,161,0,131,1,83,0,41,1,78,
     41,2,114,31,0,0,0,114,251,0,0,0,41,1,114,102,
     0,0,0,114,2,0,0,0,114,2,0,0,0,114,4,0,
-    0,0,218,7,95,95,108,101,110,95,95,90,4,0,0,115,
+    0,0,218,7,95,95,108,101,110,95,95,91,4,0,0,115,
     2,0,0,0,0,1,122,22,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,0,3,0,0,0,67,
@@ -1848,7 +1848,7 @@ const unsigned char _Py_M__importlib_external[] = {
     97,99,101,80,97,116,104,40,123,33,114,125,41,41,2,114,
     48,0,0,0,114,243,0,0,0,41,1,114,102,0,0,0,
     114,2,0,0,0,114,2,0,0,0,114,4,0,0,0,218,
-    8,95,95,114,101,112,114,95,95,93,4,0,0,115,2,0,
+    8,95,95,114,101,112,114,95,95,94,4,0,0,115,2,0,
     0,0,0,1,122,23,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,3,0,0,0,67,0,
@@ -1856,7 +1856,7 @@ const unsigned char _Py_M__importlib_external[] = {
     6,83,0,41,1,78,41,1,114,251,0,0,0,41,2,114,
     102,0,0,0,218,4,105,116,101,109,114,2,0,0,0,114,
     2,0,0,0,114,4,0,0,0,218,12,95,95,99,111,110,
-    116,97,105,110,115,95,95,96,4,0,0,115,2,0,0,0,
+    116,97,105,110,115,95,95,97,4,0,0,115,2,0,0,0,
     0,1,122,27,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,0,0,2,0,0,0,3,0,0,0,
@@ -1864,7 +1864,7 @@ const unsigned char _Py_M__importlib_external[] = {
     1,161,1,1,0,100,0,83,0,41,1,78,41,2,114,243,
     0,0,0,114,165,0,0,0,41,2,114,102,0,0,0,114,
     1,1,0,0,114,2,0,0,0,114,2,0,0,0,114,4,
-    0,0,0,114,165,0,0,0,99,4,0,0,115,2,0,0,
+    0,0,0,114,165,0,0,0,100,4,0,0,115,2,0,0,
     0,0,1,122,21,95,78,97,109,101,115,112,97,99,101,80,
     97,116,104,46,97,112,112,101,110,100,78,41,14,114,107,0,
     0,0,114,106,0,0,0,114,108,0,0,0,114,109,0,0,
@@ -1872,7 +1872,7 @@ const unsigned char _Py_M__importlib_external[] = {
     114,251,0,0,0,114,252,0,0,0,114,254,0,0,0,114,
     255,0,0,0,114,0,1,0,0,114,2,1,0,0,114,165,
     0,0,0,114,2,0,0,0,114,2,0,0,0,114,2,0,
-    0,0,114,4,0,0,0,114,241,0,0,0,44,4,0,0,
+    0,0,114,4,0,0,0,114,241,0,0,0,45,4,0,0,
     115,20,0,0,0,12,7,8,6,8,10,8,4,8,13,8,
     3,8,3,8,3,8,3,8,3,114,241,0,0,0,99,0,
     0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,64,
@@ -1889,7 +1889,7 @@ const unsigned char _Py_M__importlib_external[] = {
     0,0,114,243,0,0,0,41,4,114,102,0,0,0,114,100,
     0,0,0,114,35,0,0,0,114,247,0,0,0,114,2,0,
     0,0,114,2,0,0,0,114,4,0,0,0,114,186,0,0,
-    0,105,4,0,0,115,2,0,0,0,0,1,122,25,95,78,
+    0,106,4,0,0,115,2,0,0,0,0,1,122,25,95,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,3,0,0,0,67,0,0,0,115,12,0,0,
@@ -1906,21 +1906,21 @@ const unsigned char _Py_M__importlib_external[] = {
     2,114,48,0,0,0,114,107,0,0,0,41,2,114,172,0,
     0,0,114,191,0,0,0,114,2,0,0,0,114,2,0,0,
     0,114,4,0,0,0,218,11,109,111,100,117,108,101,95,114,
-    101,112,114,108,4,0,0,115,2,0,0,0,0,7,122,28,
+    101,112,114,109,4,0,0,115,2,0,0,0,0,7,122,28,
     95,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,0,0,0,2,0,0,0,1,0,0,0,67,0,0,
     0,115,4,0,0,0,100,1,83,0,41,2,78,84,114,2,
     0,0,0,41,2,114,102,0,0,0,114,121,0,0,0,114,
     2,0,0,0,114,2,0,0,0,114,4,0,0,0,114,161,
-    0,0,0,117,4,0,0,115,2,0,0,0,0,1,122,27,
+    0,0,0,118,4,0,0,115,2,0,0,0,0,1,122,27,
     95,78,97,109,101,115,112,97,99,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,0,0,2,0,0,0,1,0,0,0,67,0,0,0,
     115,4,0,0,0,100,1,83,0,41,2,78,114,30,0,0,
     0,114,2,0,0,0,41,2,114,102,0,0,0,114,121,0,
     0,0,114,2,0,0,0,114,2,0,0,0,114,4,0,0,
-    0,114,202,0,0,0,120,4,0,0,115,2,0,0,0,0,
+    0,114,202,0,0,0,121,4,0,0,115,2,0,0,0,0,
     1,122,27,95,78,97,109,101,115,112,97,99,101,76,111,97,
     100,101,114,46,103,101,116,95,115,111,117,114,99,101,99,2,
     0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,67,
@@ -1929,7 +1929,7 @@ const unsigned char _Py_M__importlib_external[] = {
     122,8,60,115,116,114,105,110,103,62,114,190,0,0,0,84,
     41,1,114,204,0,0,0,41,1,114,205,0,0,0,41,2,
     114,102,0,0,0,114,121,0,0,0,114,2,0,0,0,114,
-    2,0,0,0,114,4,0,0,0,114,188,0,0,0,123,4,
+    2,0,0,0,114,4,0,0,0,114,188,0,0,0,124,4,
     0,0,115,2,0,0,0,0,1,122,25,95,78,97,109,101,
     115,112,97,99,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,0,
@@ -1939,14 +1939,14 @@ const unsigned char _Py_M__importlib_external[] = {
     109,111,100,117,108,101,32,99,114,101,97,116,105,111,110,46,
     78,114,2,0,0,0,41,2,114,102,0,0,0,114,166,0,
     0,0,114,2,0,0,0,114,2,0,0,0,114,4,0,0,
-    0,114,187,0,0,0,126,4,0,0,115,0,0,0,0,122,
+    0,114,187,0,0,0,127,4,0,0,115,0,0,0,0,122,
     30,95,78,97,109,101,115,112,97,99,101,76,111,97,100,101,
     114,46,99,114,101,97,116,101,95,109,111,100,117,108,101,99,
     2,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,
     67,0,0,0,115,4,0,0,0,100,0,83,0,41,1,78,
     114,2,0,0,0,41,2,114,102,0,0,0,114,191,0,0,
     0,114,2,0,0,0,114,2,0,0,0,114,4,0,0,0,
-    114,192,0,0,0,129,4,0,0,115,2,0,0,0,0,1,
+    114,192,0,0,0,130,4,0,0,115,2,0,0,0,0,1,
     122,28,95,78,97,109,101,115,112,97,99,101,76,111,97,100,
     101,114,46,101,120,101,99,95,109,111,100,117,108,101,99,2,
     0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,67,
@@ -1964,7 +1964,7 @@ const unsigned char _Py_M__importlib_external[] = {
     41,4,114,116,0,0,0,114,130,0,0,0,114,243,0,0,
     0,114,193,0,0,0,41,2,114,102,0,0,0,114,121,0,
     0,0,114,2,0,0,0,114,2,0,0,0,114,4,0,0,
-    0,114,194,0,0,0,132,4,0,0,115,6,0,0,0,0,
+    0,114,194,0,0,0,133,4,0,0,115,6,0,0,0,0,
     7,6,1,8,1,122,28,95,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,41,12,114,107,0,0,0,114,106,0,0,0,
@@ -1972,7 +1972,7 @@ const unsigned char _Py_M__importlib_external[] = {
     4,1,0,0,114,161,0,0,0,114,202,0,0,0,114,188,
     0,0,0,114,187,0,0,0,114,192,0,0,0,114,194,0,
     0,0,114,2,0,0,0,114,2,0,0,0,114,2,0,0,
-    0,114,4,0,0,0,114,3,1,0,0,104,4,0,0,115,
+    0,114,4,0,0,0,114,3,1,0,0,105,4,0,0,115,
     16,0,0,0,8,1,8,3,12,9,8,3,8,3,8,3,
     8,3,8,3,114,3,1,0,0,99,0,0,0,0,0,0,
     0,0,0,0,0,0,4,0,0,0,64,0,0,0,115,106,
@@ -2006,7 +2006,7 @@ const unsigned char _Py_M__importlib_external[] = {
     218,6,118,97,108,117,101,115,114,110,0,0,0,114,6,1,
     0,0,41,2,114,172,0,0,0,218,6,102,105,110,100,101,
     114,114,2,0,0,0,114,2,0,0,0,114,4,0,0,0,
-    114,6,1,0,0,150,4,0,0,115,6,0,0,0,0,4,
+    114,6,1,0,0,151,4,0,0,115,6,0,0,0,0,4,
     16,1,10,1,122,28,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,9,
@@ -2026,7 +2026,7 @@ const unsigned char _Py_M__importlib_external[] = {
     0,0,0,41,3,114,172,0,0,0,114,35,0,0,0,90,
     4,104,111,111,107,114,2,0,0,0,114,2,0,0,0,114,
     4,0,0,0,218,11,95,112,97,116,104,95,104,111,111,107,
-    115,158,4,0,0,115,16,0,0,0,0,3,16,1,12,1,
+    115,159,4,0,0,115,16,0,0,0,0,3,16,1,12,1,
     12,1,2,1,8,1,14,1,12,2,122,22,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,0,0,3,0,0,0,8,
@@ -2056,7 +2056,7 @@ const unsigned char _Py_M__importlib_external[] = {
     114,111,114,114,11,1,0,0,41,3,114,172,0,0,0,114,
     35,0,0,0,114,9,1,0,0,114,2,0,0,0,114,2,
     0,0,0,114,4,0,0,0,218,20,95,112,97,116,104,95,
-    105,109,112,111,114,116,101,114,95,99,97,99,104,101,171,4,
+    105,109,112,111,114,116,101,114,95,99,97,99,104,101,172,4,
     0,0,115,22,0,0,0,0,8,8,1,2,1,12,1,14,
     3,6,1,2,1,14,1,14,1,10,1,16,1,122,31,80,
     97,116,104,70,105,110,100,101,114,46,95,112,97,116,104,95,
@@ -2074,7 +2074,7 @@ const unsigned char _Py_M__importlib_external[] = {
     0,0,0,114,9,1,0,0,114,122,0,0,0,114,123,0,
     0,0,114,166,0,0,0,114,2,0,0,0,114,2,0,0,
     0,114,4,0,0,0,218,16,95,108,101,103,97,99,121,95,
-    103,101,116,95,115,112,101,99,193,4,0,0,115,18,0,0,
+    103,101,116,95,115,112,101,99,194,4,0,0,115,18,0,0,
     0,0,4,10,1,16,2,10,1,4,1,8,1,12,1,12,
     1,6,1,122,27,80,97,116,104,70,105,110,100,101,114,46,
     95,108,101,103,97,99,121,95,103,101,116,95,115,112,101,99,
@@ -2105,7 +2105,7 @@ const unsigned char _Py_M__importlib_external[] = {
     110,97,109,101,115,112,97,99,101,95,112,97,116,104,90,5,
     101,110,116,114,121,114,9,1,0,0,114,166,0,0,0,114,
     123,0,0,0,114,2,0,0,0,114,2,0,0,0,114,4,
-    0,0,0,218,9,95,103,101,116,95,115,112,101,99,208,4,
+    0,0,0,218,9,95,103,101,116,95,115,112,101,99,209,4,
     0,0,115,40,0,0,0,0,5,4,1,10,1,14,1,2,
     1,10,1,8,1,10,1,14,2,12,1,8,1,2,1,10,
     1,4,1,6,1,8,1,8,5,14,2,12,1,6,1,122,
@@ -2133,7 +2133,7 @@ const unsigned char _Py_M__importlib_external[] = {
     114,241,0,0,0,41,6,114,172,0,0,0,114,121,0,0,
     0,114,35,0,0,0,114,181,0,0,0,114,166,0,0,0,
     114,16,1,0,0,114,2,0,0,0,114,2,0,0,0,114,
-    4,0,0,0,114,182,0,0,0,240,4,0,0,115,26,0,
+    4,0,0,0,114,182,0,0,0,241,4,0,0,115,26,0,
     0,0,0,6,8,1,6,1,14,1,8,1,4,1,10,1,
     6,1,4,3,6,1,16,1,4,2,6,2,122,20,80,97,
     116,104,70,105,110,100,101,114,46,102,105,110,100,95,115,112,
@@ -2154,7 +2154,7 @@ const unsigned char _Py_M__importlib_external[] = {
     32,32,32,32,32,32,32,32,78,41,2,114,182,0,0,0,
     114,122,0,0,0,41,4,114,172,0,0,0,114,121,0,0,
     0,114,35,0,0,0,114,166,0,0,0,114,2,0,0,0,
-    114,2,0,0,0,114,4,0,0,0,114,183,0,0,0,8,
+    114,2,0,0,0,114,4,0,0,0,114,183,0,0,0,9,
     5,0,0,115,8,0,0,0,0,8,12,1,8,1,4,1,
     122,22,80,97,116,104,70,105,110,100,101,114,46,102,105,110,
     100,95,109,111,100,117,108,101,41,1,78,41,2,78,78,41,
@@ -2163,7 +2163,7 @@ const unsigned char _Py_M__importlib_external[] = {
     0,0,114,11,1,0,0,114,13,1,0,0,114,14,1,0,
     0,114,17,1,0,0,114,182,0,0,0,114,183,0,0,0,
     114,2,0,0,0,114,2,0,0,0,114,2,0,0,0,114,
-    4,0,0,0,114,5,1,0,0,146,4,0,0,115,20,0,
+    4,0,0,0,114,5,1,0,0,147,4,0,0,115,20,0,
     0,0,12,4,12,8,12,13,12,22,12,15,2,1,12,31,
     2,1,12,23,2,1,114,5,1,0,0,99,0,0,0,0,
     0,0,0,0,0,0,0,0,3,0,0,0,64,0,0,0,
@@ -2207,7 +2207,7 @@ const unsigned char _Py_M__importlib_external[] = {
     2,86,0,1,0,113,2,100,0,83,0,41,1,78,114,2,
     0,0,0,41,2,114,22,0,0,0,114,236,0,0,0,41,
     1,114,122,0,0,0,114,2,0,0,0,114,4,0,0,0,
-    114,238,0,0,0,37,5,0,0,115,2,0,0,0,4,0,
+    114,238,0,0,0,38,5,0,0,115,2,0,0,0,4,0,
     122,38,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,59,0,0,0,114,89,0,
@@ -2219,7 +2219,7 @@ const unsigned char _Py_M__importlib_external[] = {
     102,0,0,0,114,35,0,0,0,218,14,108,111,97,100,101,
     114,95,100,101,116,97,105,108,115,90,7,108,111,97,100,101,
     114,115,114,168,0,0,0,114,2,0,0,0,41,1,114,122,
-    0,0,0,114,4,0,0,0,114,186,0,0,0,31,5,0,
+    0,0,0,114,4,0,0,0,114,186,0,0,0,32,5,0,
     0,115,16,0,0,0,0,4,4,1,14,1,28,1,6,2,
     10,1,6,1,8,1,122,19,70,105,108,101,70,105,110,100,
     101,114,46,95,95,105,110,105,116,95,95,99,1,0,0,0,
@@ -2229,7 +2229,7 @@ const unsigned char _Py_M__importlib_external[] = {
     101,32,100,105,114,101,99,116,111,114,121,32,109,116,105,109,
     101,46,114,89,0,0,0,78,41,1,114,20,1,0,0,41,
     1,114,102,0,0,0,114,2,0,0,0,114,2,0,0,0,
-    114,4,0,0,0,114,6,1,0,0,45,5,0,0,115,2,
+    114,4,0,0,0,114,6,1,0,0,46,5,0,0,115,2,
     0,0,0,0,2,122,28,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,3,0,0,0,
@@ -2252,7 +2252,7 @@ const unsigned char _Py_M__importlib_external[] = {
     78,41,3,114,182,0,0,0,114,122,0,0,0,114,158,0,
     0,0,41,3,114,102,0,0,0,114,121,0,0,0,114,166,
     0,0,0,114,2,0,0,0,114,2,0,0,0,114,4,0,
-    0,0,114,119,0,0,0,51,5,0,0,115,8,0,0,0,
+    0,0,114,119,0,0,0,52,5,0,0,115,8,0,0,0,
     0,7,10,1,8,1,8,1,122,22,70,105,108,101,70,105,
     110,100,101,114,46,102,105,110,100,95,108,111,97,100,101,114,
     99,6,0,0,0,0,0,0,0,7,0,0,0,6,0,0,
@@ -2263,7 +2263,7 @@ const unsigned char _Py_M__importlib_external[] = {
     0,114,167,0,0,0,114,121,0,0,0,114,35,0,0,0,
     90,4,115,109,115,108,114,181,0,0,0,114,122,0,0,0,
     114,2,0,0,0,114,2,0,0,0,114,4,0,0,0,114,
-    17,1,0,0,63,5,0,0,115,6,0,0,0,0,1,10,
+    17,1,0,0,64,5,0,0,115,6,0,0,0,0,1,10,
     1,8,1,122,20,70,105,108,101,70,105,110,100,101,114,46,
     95,103,101,116,95,115,112,101,99,78,99,3,0,0,0,0,
     0,0,0,14,0,0,0,8,0,0,0,67,0,0,0,115,
@@ -2317,7 +2317,7 @@ const unsigned char _Py_M__importlib_external[] = {
     114,167,0,0,0,90,13,105,110,105,116,95,102,105,108,101,
     110,97,109,101,90,9,102,117,108,108,95,112,97,116,104,114,
     166,0,0,0,114,2,0,0,0,114,2,0,0,0,114,4,
-    0,0,0,114,182,0,0,0,68,5,0,0,115,70,0,0,
+    0,0,0,114,182,0,0,0,69,5,0,0,115,70,0,0,
     0,0,5,4,1,14,1,2,1,24,1,14,1,10,1,10,
     1,8,1,6,2,6,1,6,1,10,2,6,1,4,2,8,
     1,12,1,16,1,8,1,10,1,8,1,24,4,8,2,16,
@@ -2349,7 +2349,7 @@ const unsigned char _Py_M__importlib_external[] = {
     114,2,0,0,0,41,1,114,90,0,0,0,41,2,114,22,
     0,0,0,90,2,102,110,114,2,0,0,0,114,2,0,0,
     0,114,4,0,0,0,250,9,60,115,101,116,99,111,109,112,
-    62,145,5,0,0,115,2,0,0,0,6,0,122,41,70,105,
+    62,146,5,0,0,115,2,0,0,0,6,0,122,41,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,41,18,114,35,0,0,0,114,
@@ -2365,7 +2365,7 @@ const unsigned char _Py_M__importlib_external[] = {
     111,110,116,101,110,116,115,114,1,1,0,0,114,100,0,0,
     0,114,248,0,0,0,114,236,0,0,0,90,8,110,101,119,
     95,110,97,109,101,114,2,0,0,0,114,2,0,0,0,114,
-    4,0,0,0,114,25,1,0,0,116,5,0,0,115,34,0,
+    4,0,0,0,114,25,1,0,0,117,5,0,0,115,34,0,
     0,0,0,2,6,1,2,1,22,1,20,3,10,3,12,1,
     12,7,6,1,10,1,16,1,4,1,18,2,4,1,14,1,
     6,1,12,1,122,22,70,105,108,101,70,105,110,100,101,114,
@@ -2403,7 +2403,7 @@ const unsigned char _Py_M__importlib_external[] = {
     0,0,0,41,1,114,35,0,0,0,41,2,114,172,0,0,
     0,114,24,1,0,0,114,2,0,0,0,114,4,0,0,0,
     218,24,112,97,116,104,95,104,111,111,107,95,102,111,114,95,
-    70,105,108,101,70,105,110,100,101,114,157,5,0,0,115,6,
+    70,105,108,101,70,105,110,100,101,114,158,5,0,0,115,6,
     0,0,0,0,2,8,1,12,1,122,54,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,
@@ -2411,7 +2411,7 @@ const unsigned char _Py_M__importlib_external[] = {
     114,114,2,0,0,0,41,3,114,172,0,0,0,114,24,1,
     0,0,114,30,1,0,0,114,2,0,0,0,41,2,114,172,
     0,0,0,114,24,1,0,0,114,4,0,0,0,218,9,112,
-    97,116,104,95,104,111,111,107,147,5,0,0,115,4,0,0,
+    97,116,104,95,104,111,111,107,148,5,0,0,115,4,0,0,
     0,0,10,14,6,122,20,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,3,0,0,0,67,0,0,0,
@@ -2419,7 +2419,7 @@ const unsigned char _Py_M__importlib_external[] = {
     0,41,2,78,122,16,70,105,108,101,70,105,110,100,101,114,
     40,123,33,114,125,41,41,2,114,48,0,0,0,114,35,0,
     0,0,41,1,114,102,0,0,0,114,2,0,0,0,114,2,
-    0,0,0,114,4,0,0,0,114,0,1,0,0,165,5,0,
+    0,0,0,114,4,0,0,0,114,0,1,0,0,166,5,0,
     0,115,2,0,0,0,0,1,122,19,70,105,108,101,70,105,
     110,100,101,114,46,95,95,114,101,112,114,95,95,41,1,78,
     41,15,114,107,0,0,0,114,106,0,0,0,114,108,0,0,
@@ -2428,7 +2428,7 @@ const unsigned char _Py_M__importlib_external[] = {
     17,1,0,0,114,182,0,0,0,114,25,1,0,0,114,184,
     0,0,0,114,31,1,0,0,114,0,1,0,0,114,2,0,
     0,0,114,2,0,0,0,114,2,0,0,0,114,4,0,0,
-    0,114,18,1,0,0,22,5,0,0,115,18,0,0,0,12,
+    0,114,18,1,0,0,23,5,0,0,115,18,0,0,0,12,
     9,8,14,8,4,4,2,8,12,8,5,10,48,8,31,12,
     18,114,18,1,0,0,99,4,0,0,0,0,0,0,0,6,
     0,0,0,8,0,0,0,67,0,0,0,115,146,0,0,0,
@@ -2451,7 +2451,7 @@ const unsigned char _Py_M__importlib_external[] = {
     97,109,101,90,9,99,112,97,116,104,110,97,109,101,114,122,
     0,0,0,114,166,0,0,0,114,2,0,0,0,114,2,0,
     0,0,114,4,0,0,0,218,14,95,102,105,120,95,117,112,
-    95,109,111,100,117,108,101,171,5,0,0,115,34,0,0,0,
+    95,109,111,100,117,108,101,172,5,0,0,115,34,0,0,0,
     0,2,10,1,10,1,4,1,4,1,8,1,8,1,12,2,
     10,1,4,1,14,1,2,1,8,1,8,1,8,1,12,1,
     14,2,114,36,1,0,0,99,0,0,0,0,0,0,0,0,
@@ -2471,7 +2471,7 @@ const unsigned char _Py_M__importlib_external[] = {
     90,10,101,120,116,101,110,115,105,111,110,115,90,6,115,111,
     117,114,99,101,90,8,98,121,116,101,99,111,100,101,114,2,
     0,0,0,114,2,0,0,0,114,4,0,0,0,114,163,0,
-    0,0,194,5,0,0,115,8,0,0,0,0,5,12,1,8,
+    0,0,195,5,0,0,115,8,0,0,0,0,5,12,1,8,
     1,8,1,114,163,0,0,0,99,1,0,0,0,0,0,0,
     0,12,0,0,0,9,0,0,0,67,0,0,0,115,156,1,
     0,0,124,0,97,0,116,0,106,1,97,1,116,0,106,2,
@@ -2521,7 +2521,7 @@ const unsigned char _Py_M__importlib_external[] = {
     1,100,0,107,2,86,0,1,0,113,2,100,1,83,0,41,
     2,114,29,0,0,0,78,41,1,114,31,0,0,0,41,2,
     114,22,0,0,0,114,79,0,0,0,114,2,0,0,0,114,
-    2,0,0,0,114,4,0,0,0,114,238,0,0,0,230,5,
+    2,0,0,0,114,4,0,0,0,114,238,0,0,0,231,5,
     0,0,115,2,0,0,0,4,0,122,25,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,60,0,0,0,122,30,105,109,112,111,114,
@@ -2549,7 +2549,7 @@ const unsigned char _Py_M__importlib_external[] = {
     119,101,97,107,114,101,102,95,109,111,100,117,108,101,90,13,
     119,105,110,114,101,103,95,109,111,100,117,108,101,114,2,0,
     0,0,114,2,0,0,0,114,4,0,0,0,218,6,95,115,
-    101,116,117,112,205,5,0,0,115,76,0,0,0,0,8,4,
+    101,116,117,112,206,5,0,0,115,76,0,0,0,0,8,4,
     1,6,1,6,3,10,1,10,1,10,1,12,2,10,1,16,
     3,22,1,14,2,22,1,8,1,10,1,10,1,4,2,2,
     1,10,1,6,1,14,1,12,2,8,1,12,1,12,1,18,
@@ -2569,7 +2569,7 @@ const unsigned char _Py_M__importlib_external[] = {
     0,0,41,2,114,42,1,0,0,90,17,115,117,112,112,111,
     114,116,101,100,95,108,111,97,100,101,114,115,114,2,0,0,
     0,114,2,0,0,0,114,4,0,0,0,218,8,95,105,110,
-    115,116,97,108,108,13,6,0,0,115,8,0,0,0,0,2,
+    115,116,97,108,108,14,6,0,0,115,8,0,0,0,0,2,
     8,1,6,1,20,1,114,45,1,0,0,41,1,114,47,0,
     0,0,41,1,78,41,3,78,78,78,41,2,114,60,0,0,
     0,114,60,0,0,0,41,1,84,41,1,78,41,1,78,41,
@@ -2601,7 +2601,7 @@ const unsigned char _Py_M__importlib_external[] = {
     0,0,0,114,2,0,0,0,114,4,0,0,0,218,8,60,
     109,111,100,117,108,101,62,23,0,0,0,115,116,0,0,0,
     4,0,4,1,4,1,2,1,6,3,8,17,8,5,8,5,
-    8,6,8,12,8,10,8,9,8,5,8,7,10,22,10,126,
+    8,6,8,12,8,10,8,9,8,5,8,7,10,22,10,127,
     16,1,12,2,4,1,4,2,6,2,6,2,8,2,16,45,
     8,34,8,19,8,12,8,12,8,28,8,17,8,33,8,28,
     8,24,10,13,10,10,10,11,8,14,6,3,4,1,14,67,
index 567f8723a678087bd9c8cf617e2e4e0758e8b7ae..da6d032bce410f3d2057606945f13729a11fc89d 100644 (file)
@@ -126,7 +126,7 @@ static void *opcode_targets[256] = {
     &&TARGET_LOAD_FAST,
     &&TARGET_STORE_FAST,
     &&TARGET_DELETE_FAST,
-    &&TARGET_STORE_ANNOTATION,
+    &&_unknown_opcode,
     &&_unknown_opcode,
     &&_unknown_opcode,
     &&TARGET_RAISE_VARARGS,