diff --git a/Include/patchlevel.h b/Include/patchlevel.h
index 70d86c9..c01b8f9 100644
--- a/Include/patchlevel.h
+++ b/Include/patchlevel.h
@@ -20,10 +20,10 @@
 #define PY_MINOR_VERSION        7
 #define PY_MICRO_VERSION        0
 #define PY_RELEASE_LEVEL        PY_RELEASE_LEVEL_BETA
-#define PY_RELEASE_SERIAL       3
+#define PY_RELEASE_SERIAL       4
 
 /* Version as a string */
-#define PY_VERSION              "3.7.0b3+"
+#define PY_VERSION              "3.7.0b4"
 /*--end constants--*/
 
 /* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.
diff --git a/Lib/pydoc_data/topics.py b/Lib/pydoc_data/topics.py
index abface5..e138d49 100644
--- a/Lib/pydoc_data/topics.py
+++ b/Lib/pydoc_data/topics.py
@@ -1,5 +1,5 @@
 # -*- coding: utf-8 -*-
-# Autogenerated by Sphinx on Thu Mar 29 07:53:04 2018
+# Autogenerated by Sphinx on Wed May  2 03:29:32 2018
 topics = {'assert': 'The "assert" statement\n'
            '**********************\n'
            '\n'
@@ -106,7 +106,7 @@
                '  corresponding targets.\n'
                '\n'
                '  * If the target list contains one target prefixed with an\n'
-               '    asterisk, called a "starred" target: The object must be '
+               '    asterisk, called a “starred” target: The object must be '
                'an\n'
                '    iterable with at least as many items as there are targets '
                'in the\n'
@@ -203,10 +203,10 @@
                '  If the primary is a mutable sequence object (such as a '
                'list), the\n'
                '  subscript must yield an integer.  If it is negative, the '
-               "sequence's\n"
+               'sequence’s\n'
                '  length is added to it.  The resulting value must be a '
                'nonnegative\n'
-               "  integer less than the sequence's length, and the sequence is "
+               '  integer less than the sequence’s length, and the sequence is '
                'asked\n'
                '  to assign the assigned object to its item with that index.  '
                'If the\n'
@@ -216,7 +216,7 @@
                '\n'
                '  If the primary is a mapping object (such as a dictionary), '
                'the\n'
-               "  subscript must have a type compatible with the mapping's key "
+               '  subscript must have a type compatible with the mapping’s key '
                'type,\n'
                '  and the mapping is then asked to create a key/datum pair '
                'which maps\n'
@@ -239,12 +239,12 @@
                'expressions are\n'
                '  evaluated, insofar they are present; defaults are zero and '
                'the\n'
-               "  sequence's length.  The bounds should evaluate to integers. "
+               '  sequence’s length.  The bounds should evaluate to integers. '
                'If\n'
-               "  either bound is negative, the sequence's length is added to "
+               '  either bound is negative, the sequence’s length is added to '
                'it.  The\n'
                '  resulting bounds are clipped to lie between zero and the '
-               "sequence's\n"
+               'sequence’s\n'
                '  length, inclusive.  Finally, the sequence object is asked to '
                'replace\n'
                '  the slice with the items of the assigned sequence.  The '
@@ -265,7 +265,7 @@
                '\n'
                'Although the definition of assignment implies that overlaps '
                'between\n'
-               "the left-hand side and the right-hand side are 'simultaneous' "
+               'the left-hand side and the right-hand side are ‘simultaneous’ '
                '(for\n'
                'example "a, b = b, a" swaps two variables), overlaps *within* '
                'the\n'
@@ -464,7 +464,7 @@
                   '\n'
                   'All literals correspond to immutable data types, and hence '
                   'the\n'
-                  "object's identity is less important than its value.  "
+                  'object’s identity is less important than its value.  '
                   'Multiple\n'
                   'evaluations of literals with the same value (either the '
                   'same\n'
@@ -626,10 +626,10 @@
                      'Note: Defining module "__getattr__" and setting module '
                      '"__class__"\n'
                      '  only affect lookups made using the attribute access '
-                     'syntax --\n'
+                     'syntax –\n'
                      '  directly accessing the module globals (whether by code '
                      'within the\n'
-                     "  module, or via a reference to the module's globals "
+                     '  module, or via a reference to the module’s globals '
                      'dictionary) is\n'
                      '  unaffected.\n'
                      '\n'
@@ -654,13 +654,12 @@
                      'containing the method (a so-called *descriptor* class) '
                      'appears in an\n'
                      '*owner* class (the descriptor must be in either the '
-                     "owner's class\n"
+                     'owner’s class\n'
                      'dictionary or in the class dictionary for one of its '
                      'parents).  In the\n'
-                     'examples below, "the attribute" refers to the attribute '
+                     'examples below, “the attribute” refers to the attribute '
                      'whose name is\n'
-                     "the key of the property in the owner class' "
-                     '"__dict__".\n'
+                     'the key of the property in the owner class’ "__dict__".\n'
                      '\n'
                      'object.__get__(self, instance, owner)\n'
                      '\n'
@@ -717,8 +716,8 @@
                      '====================\n'
                      '\n'
                      'In general, a descriptor is an object attribute with '
-                     '"binding\n'
-                     'behavior", one whose attribute access has been '
+                     '“binding\n'
+                     'behavior”, one whose attribute access has been '
                      'overridden by methods\n'
                      'in the descriptor protocol:  "__get__()", "__set__()", '
                      'and\n'
@@ -728,7 +727,7 @@
                      '\n'
                      'The default behavior for attribute access is to get, '
                      'set, or delete\n'
-                     "the attribute from an object's dictionary. For instance, "
+                     'the attribute from an object’s dictionary. For instance, '
                      '"a.x" has a\n'
                      'lookup chain starting with "a.__dict__[\'x\']", then\n'
                      '"type(a).__dict__[\'x\']", and continuing through the '
@@ -783,7 +782,7 @@
                      'does not define "__get__()", then accessing the '
                      'attribute will return\n'
                      'the descriptor object itself unless there is a value in '
-                     "the object's\n"
+                     'the object’s\n'
                      'instance dictionary.  If the descriptor defines '
                      '"__set__()" and/or\n'
                      '"__delete__()", it is a data descriptor; if it defines '
@@ -904,7 +903,7 @@
                      '\n'
                      '* Nonempty *__slots__* does not work for classes derived '
                      'from\n'
-                     '  "variable-length" built-in types such as "int", '
+                     '  “variable-length” built-in types such as "int", '
                      '"bytes" and "tuple".\n'
                      '\n'
                      '* Any non-string iterable may be assigned to '
@@ -1056,7 +1055,7 @@
            'while\n'
            'floor division of integers results in an integer; the result is '
            'that\n'
-           "of mathematical division with the 'floor' function applied to the\n"
+           'of mathematical division with the ‘floor’ function applied to the\n'
            'result.  Division by zero raises the "ZeroDivisionError" '
            'exception.\n'
            '\n'
@@ -1132,10 +1131,10 @@
                        '************\n'
                        '\n'
                        'Code objects are used by the implementation to '
-                       'represent "pseudo-\n'
-                       'compiled" executable Python code such as a function '
+                       'represent “pseudo-\n'
+                       'compiled” executable Python code such as a function '
                        'body. They differ\n'
-                       "from function objects because they don't contain a "
+                       'from function objects because they don’t contain a '
                        'reference to their\n'
                        'global execution environment.  Code objects are '
                        'returned by the built-\n'
@@ -1166,7 +1165,7 @@
  'bltin-null-object': 'The Null Object\n'
                       '***************\n'
                       '\n'
-                      "This object is returned by functions that don't "
+                      'This object is returned by functions that don’t '
                       'explicitly return a\n'
                       'value.  It supports no special operations.  There is '
                       'exactly one null\n'
@@ -1179,7 +1178,7 @@
                        '************\n'
                        '\n'
                        'Type objects represent the various object types.  An '
-                       "object's type is\n"
+                       'object’s type is\n'
                        'accessed by the built-in function "type()".  There are '
                        'no special\n'
                        'operations on types.  The standard module "types" '
@@ -1262,7 +1261,7 @@
                    '\n'
                    'object.__call__(self[, args...])\n'
                    '\n'
-                   '   Called when the instance is "called" as a function; if '
+                   '   Called when the instance is “called” as a function; if '
                    'this method\n'
                    '   is defined, "x(arg1, arg2, ...)" is a shorthand for\n'
                    '   "x.__call__(arg1, arg2, ...)".\n',
@@ -1322,7 +1321,7 @@
           'values are calculated, once, when the function is defined; thus, a\n'
           'mutable object such as a list or dictionary used as default value '
           'will\n'
-          "be shared by all calls that don't specify an argument value for "
+          'be shared by all calls that don’t specify an argument value for '
           'the\n'
           'corresponding slot; this should usually be avoided.)  If there are '
           'any\n'
@@ -1335,7 +1334,7 @@
           '**CPython implementation detail:** An implementation may provide\n'
           'built-in functions whose positional parameters do not have names, '
           'even\n'
-          "if they are 'named' for the purpose of documentation, and which\n"
+          'if they are ‘named’ for the purpose of documentation, and which\n'
           'therefore cannot be supplied by keyword.  In CPython, this is the '
           'case\n'
           'for functions implemented in C that use "PyArg_ParseTuple()" to '
@@ -1367,16 +1366,17 @@
           'must evaluate to an *iterable*.  Elements from these iterables are\n'
           'treated as if they were additional positional arguments.  For the '
           'call\n'
-          '"f(x1, x2, *y, x3, x4)", if *y* evaluates to a sequence *y1*, ...,\n'
-          '*yM*, this is equivalent to a call with M+4 positional arguments '
-          '*x1*,\n'
-          '*x2*, *y1*, ..., *yM*, *x3*, *x4*.\n'
+          '"f(x1, x2, *y, x3, x4)", if *y* evaluates to a sequence *y1*, …, '
+          '*yM*,\n'
+          'this is equivalent to a call with M+4 positional arguments *x1*, '
+          '*x2*,\n'
+          '*y1*, …, *yM*, *x3*, *x4*.\n'
           '\n'
           'A consequence of this is that although the "*expression" syntax '
           'may\n'
           'appear *after* explicit keyword arguments, it is processed '
           '*before*\n'
-          'the keyword arguments (and any "**expression" arguments -- see '
+          'the keyword arguments (and any "**expression" arguments – see '
           'below).\n'
           'So:\n'
           '\n'
@@ -1423,7 +1423,7 @@
           'exception.  How this value is computed depends on the type of the\n'
           'callable object.\n'
           '\n'
-          'If it is---\n'
+          'If it is—\n'
           '\n'
           'a user-defined function:\n'
           '   The code block for the function is executed, passing it the\n'
@@ -1482,10 +1482,10 @@
           '   class Foo(object):\n'
           '       pass\n'
           '\n'
-          "The class's suite is then executed in a new execution frame (see\n"
+          'The class’s suite is then executed in a new execution frame (see\n'
           'Naming and binding), using a newly created local namespace and the\n'
           'original global namespace. (Usually, the suite contains mostly\n'
-          "function definitions.)  When the class's suite finishes execution, "
+          'function definitions.)  When the class’s suite finishes execution, '
           'its\n'
           'execution frame is discarded but its local namespace is saved. [4] '
           'A\n'
@@ -1497,7 +1497,7 @@
           'namespace.\n'
           '\n'
           'The order in which attributes are defined in the class body is\n'
-          'preserved in the new class\'s "__dict__".  Note that this is '
+          'preserved in the new class’s "__dict__".  Note that this is '
           'reliable\n'
           'only right after the class is created and only for classes that '
           'were\n'
@@ -1521,13 +1521,13 @@
           'for\n'
           'function decorators.  The result is then bound to the class name.\n'
           '\n'
-          "**Programmer's note:** Variables defined in the class definition "
+          '**Programmer’s note:** Variables defined in the class definition '
           'are\n'
           'class attributes; they are shared by instances.  Instance '
           'attributes\n'
           'can be set in a method with "self.name = value".  Both class and\n'
           'instance attributes are accessible through the notation '
-          '""self.name"",\n'
+          '“"self.name"”,\n'
           'and an instance attribute hides a class attribute with the same '
           'name\n'
           'when accessed in this way.  Class attributes can be used as '
@@ -1564,15 +1564,15 @@
                 'y" is\n'
                 'found to be false).\n'
                 '\n'
-                'Formally, if *a*, *b*, *c*, ..., *y*, *z* are expressions and '
+                'Formally, if *a*, *b*, *c*, …, *y*, *z* are expressions and '
                 '*op1*,\n'
-                '*op2*, ..., *opN* are comparison operators, then "a op1 b op2 '
-                'c ... y\n'
+                '*op2*, …, *opN* are comparison operators, then "a op1 b op2 c '
+                '... y\n'
                 'opN z" is equivalent to "a op1 b and b op2 c and ... y opN '
                 'z", except\n'
                 'that each expression is evaluated at most once.\n'
                 '\n'
-                'Note that "a op1 b op2 c" doesn\'t imply any kind of '
+                'Note that "a op1 b op2 c" doesn’t imply any kind of '
                 'comparison between\n'
                 '*a* and *c*, so that, e.g., "x < y > z" is perfectly legal '
                 '(though\n'
@@ -1593,7 +1593,7 @@
                 'rather\n'
                 'abstract notion in Python: For example, there is no canonical '
                 'access\n'
-                "method for an object's value.  Also, there is no requirement "
+                'method for an object’s value.  Also, there is no requirement '
                 'that the\n'
                 'value of an object should be constructed in a particular way, '
                 'e.g.\n'
@@ -1647,7 +1647,7 @@
                 'most\n'
                 'important built-in types.\n'
                 '\n'
-                '* Numbers of built-in numeric types (Numeric Types --- int, '
+                '* Numbers of built-in numeric types (Numeric Types — int, '
                 'float,\n'
                 '  complex) and of the standard library types '
                 '"fractions.Fraction" and\n'
@@ -1934,9 +1934,9 @@
              'compound\n'
              'statements.\n'
              '\n'
-             "A compound statement consists of one or more 'clauses.'  A "
+             'A compound statement consists of one or more ‘clauses.’  A '
              'clause\n'
-             "consists of a header and a 'suite.'  The clause headers of a\n"
+             'consists of a header and a ‘suite.’  The clause headers of a\n'
              'particular compound statement are all at the same indentation '
              'level.\n'
              'Each clause header begins with a uniquely identifying keyword '
@@ -1944,12 +1944,12 @@
              'with a colon.  A suite is a group of statements controlled by a\n'
              'clause.  A suite can be one or more semicolon-separated simple\n'
              'statements on the same line as the header, following the '
-             "header's\n"
+             'header’s\n'
              'colon, or it can be one or more indented statements on '
              'subsequent\n'
              'lines.  Only the latter form of a suite can contain nested '
              'compound\n'
-             "statements; the following is illegal, mostly because it wouldn't "
+             'statements; the following is illegal, mostly because it wouldn’t '
              'be\n'
              'clear to which "if" clause a following "else" clause would '
              'belong:\n'
@@ -1986,7 +1986,7 @@
              '"DEDENT".  Also note that optional continuation clauses always '
              'begin\n'
              'with a keyword that cannot start a statement, thus there are no\n'
-             'ambiguities (the \'dangling "else"\' problem is solved in Python '
+             'ambiguities (the ‘dangling "else"’ problem is solved in Python '
              'by\n'
              'requiring nested "if" statements to be indented).\n'
              '\n'
@@ -2037,7 +2037,7 @@
              '\n'
              'A "break" statement executed in the first suite terminates the '
              'loop\n'
-             'without executing the "else" clause\'s suite.  A "continue" '
+             'without executing the "else" clause’s suite.  A "continue" '
              'statement\n'
              'executed in the first suite skips the rest of the suite and goes '
              'back\n'
@@ -2076,7 +2076,7 @@
              '\n'
              'A "break" statement executed in the first suite terminates the '
              'loop\n'
-             'without executing the "else" clause\'s suite.  A "continue" '
+             'without executing the "else" clause’s suite.  A "continue" '
              'statement\n'
              'executed in the first suite skips the rest of the suite and '
              'continues\n'
@@ -2103,7 +2103,7 @@
              'to at\n'
              'all by the loop.  Hint: the built-in function "range()" returns '
              'an\n'
-             "iterator of integers suitable to emulate the effect of Pascal's "
+             'iterator of integers suitable to emulate the effect of Pascal’s '
              '"for i\n'
              ':= a to b do"; e.g., "list(range(3))" returns the list "[0, 1, '
              '2]".\n'
@@ -2165,7 +2165,7 @@
              'expression\n'
              'is evaluated, and the clause matches the exception if the '
              'resulting\n'
-             'object is "compatible" with the exception.  An object is '
+             'object is “compatible” with the exception.  An object is '
              'compatible\n'
              'with an exception if it is the class or a base class of the '
              'exception\n'
@@ -2192,7 +2192,7 @@
              'assigned to\n'
              'the target specified after the "as" keyword in that except '
              'clause, if\n'
-             "present, and the except clause's suite is executed.  All except\n"
+             'present, and the except clause’s suite is executed.  All except\n'
              'clauses must have an executable block.  When the end of this '
              'block is\n'
              'reached, execution continues normally after the entire try '
@@ -2228,7 +2228,7 @@
              'alive\n'
              'until the next garbage collection occurs.\n'
              '\n'
-             "Before an except clause's suite is executed, details about the\n"
+             'Before an except clause’s suite is executed, details about the\n'
              'exception are stored in the "sys" module and can be accessed '
              'via\n'
              '"sys.exc_info()". "sys.exc_info()" returns a 3-tuple consisting '
@@ -2249,8 +2249,8 @@
              'are\n'
              'not handled by the preceding "except" clauses.\n'
              '\n'
-             'If "finally" is present, it specifies a \'cleanup\' handler.  '
-             'The "try"\n'
+             'If "finally" is present, it specifies a ‘cleanup’ handler.  The '
+             '"try"\n'
              'clause is executed, including any "except" and "else" clauses.  '
              'If an\n'
              'exception occurs in any of the clauses and is not handled, the\n'
@@ -2281,13 +2281,12 @@
              '\n'
              'When a "return", "break" or "continue" statement is executed in '
              'the\n'
-             '"try" suite of a "try"..."finally" statement, the "finally" '
-             'clause is\n'
-             'also executed \'on the way out.\' A "continue" statement is '
+             '"try" suite of a "try"…"finally" statement, the "finally" clause '
+             'is\n'
+             'also executed ‘on the way out.’ A "continue" statement is '
              'illegal in\n'
              'the "finally" clause. (The reason is a problem with the current\n'
-             'implementation --- this restriction may be lifted in the '
-             'future).\n'
+             'implementation — this restriction may be lifted in the future).\n'
              '\n'
              'The return value of a function is determined by the last '
              '"return"\n'
@@ -2319,14 +2318,14 @@
              'with\n'
              'methods defined by a context manager (see section With '
              'Statement\n'
-             'Context Managers). This allows common '
-             '"try"..."except"..."finally"\n'
-             'usage patterns to be encapsulated for convenient reuse.\n'
+             'Context Managers). This allows common "try"…"except"…"finally" '
+             'usage\n'
+             'patterns to be encapsulated for convenient reuse.\n'
              '\n'
              '   with_stmt ::= "with" with_item ("," with_item)* ":" suite\n'
              '   with_item ::= expression ["as" target]\n'
              '\n'
-             'The execution of the "with" statement with one "item" proceeds '
+             'The execution of the "with" statement with one “item” proceeds '
              'as\n'
              'follows:\n'
              '\n'
@@ -2334,9 +2333,9 @@
              '"with_item")\n'
              '   is evaluated to obtain a context manager.\n'
              '\n'
-             '2. The context manager\'s "__exit__()" is loaded for later use.\n'
+             '2. The context manager’s "__exit__()" is loaded for later use.\n'
              '\n'
-             '3. The context manager\'s "__enter__()" method is invoked.\n'
+             '3. The context manager’s "__enter__()" method is invoked.\n'
              '\n'
              '4. If a target was included in the "with" statement, the return\n'
              '   value from "__enter__()" is assigned to it.\n'
@@ -2353,8 +2352,7 @@
              '\n'
              '5. The suite is executed.\n'
              '\n'
-             '6. The context manager\'s "__exit__()" method is invoked.  If '
-             'an\n'
+             '6. The context manager’s "__exit__()" method is invoked.  If an\n'
              '   exception caused the suite to be exited, its type, value, '
              'and\n'
              '   traceback are passed as arguments to "__exit__()". Otherwise, '
@@ -2394,7 +2392,7 @@
              '\n'
              'See also:\n'
              '\n'
-             '  **PEP 343** - The "with" statement\n'
+             '  **PEP 343** - The “with” statement\n'
              '     The specification, background, and examples for the Python '
              '"with"\n'
              '     statement.\n'
@@ -2463,25 +2461,24 @@
              '"func".\n'
              '\n'
              'When one or more *parameters* have the form *parameter* "="\n'
-             '*expression*, the function is said to have "default parameter '
-             'values."\n'
+             '*expression*, the function is said to have “default parameter '
+             'values.”\n'
              'For a parameter with a default value, the corresponding '
              '*argument* may\n'
-             "be omitted from a call, in which case the parameter's default "
+             'be omitted from a call, in which case the parameter’s default '
              'value is\n'
              'substituted.  If a parameter has a default value, all following\n'
-             'parameters up until the ""*"" must also have a default value --- '
-             'this\n'
-             'is a syntactic restriction that is not expressed by the '
-             'grammar.\n'
+             'parameters up until the “"*"” must also have a default value — '
+             'this is\n'
+             'a syntactic restriction that is not expressed by the grammar.\n'
              '\n'
              '**Default parameter values are evaluated from left to right when '
              'the\n'
              'function definition is executed.** This means that the '
              'expression is\n'
              'evaluated once, when the function is defined, and that the same '
-             '"pre-\n'
-             'computed" value is used for each call.  This is especially '
+             '“pre-\n'
+             'computed” value is used for each call.  This is especially '
              'important\n'
              'to understand when a default parameter is a mutable object, such '
              'as a\n'
@@ -2507,26 +2504,26 @@
              'mentioned in\n'
              'the parameter list, either from position arguments, from '
              'keyword\n'
-             'arguments, or from default values.  If the form ""*identifier"" '
+             'arguments, or from default values.  If the form “"*identifier"” '
              'is\n'
              'present, it is initialized to a tuple receiving any excess '
              'positional\n'
              'parameters, defaulting to the empty tuple. If the form\n'
-             '""**identifier"" is present, it is initialized to a new ordered\n'
+             '“"**identifier"” is present, it is initialized to a new ordered\n'
              'mapping receiving any excess keyword arguments, defaulting to a '
              'new\n'
-             'empty mapping of the same type.  Parameters after ""*"" or\n'
-             '""*identifier"" are keyword-only parameters and may only be '
+             'empty mapping of the same type.  Parameters after “"*"” or\n'
+             '“"*identifier"” are keyword-only parameters and may only be '
              'passed\n'
              'used keyword arguments.\n'
              '\n'
-             'Parameters may have annotations of the form "": expression"" '
+             'Parameters may have annotations of the form “": expression"” '
              'following\n'
              'the parameter name.  Any parameter may have an annotation even '
              'those\n'
              'of the form "*identifier" or "**identifier".  Functions may '
              'have\n'
-             '"return" annotation of the form ""-> expression"" after the '
+             '“return” annotation of the form “"-> expression"” after the '
              'parameter\n'
              'list.  These annotations can be any valid Python expression.  '
              'The\n'
@@ -2534,8 +2531,7 @@
              'function.\n'
              'The annotation values are available as values of a dictionary '
              'keyed by\n'
-             'the parameters\' names in the "__annotations__" attribute of '
-             'the\n'
+             'the parameters’ names in the "__annotations__" attribute of the\n'
              'function object.  If the "annotations" import from "__future__" '
              'is\n'
              'used, annotations are preserved as strings at runtime which '
@@ -2553,16 +2549,16 @@
              'lambda\n'
              'expression is merely a shorthand for a simplified function '
              'definition;\n'
-             'a function defined in a ""def"" statement can be passed around '
+             'a function defined in a “"def"” statement can be passed around '
              'or\n'
              'assigned to another name just like a function defined by a '
              'lambda\n'
-             'expression.  The ""def"" form is actually more powerful since '
+             'expression.  The “"def"” form is actually more powerful since '
              'it\n'
              'allows the execution of multiple statements and annotations.\n'
              '\n'
-             "**Programmer's note:** Functions are first-class objects.  A "
-             '""def""\n'
+             '**Programmer’s note:** Functions are first-class objects.  A '
+             '“"def"”\n'
              'statement executed inside a function definition defines a local\n'
              'function that can be returned or passed around.  Free variables '
              'used\n'
@@ -2621,12 +2617,12 @@
              '   class Foo(object):\n'
              '       pass\n'
              '\n'
-             "The class's suite is then executed in a new execution frame "
+             'The class’s suite is then executed in a new execution frame '
              '(see\n'
              'Naming and binding), using a newly created local namespace and '
              'the\n'
              'original global namespace. (Usually, the suite contains mostly\n'
-             "function definitions.)  When the class's suite finishes "
+             'function definitions.)  When the class’s suite finishes '
              'execution, its\n'
              'execution frame is discarded but its local namespace is saved. '
              '[4] A\n'
@@ -2639,7 +2635,7 @@
              'namespace.\n'
              '\n'
              'The order in which attributes are defined in the class body is\n'
-             'preserved in the new class\'s "__dict__".  Note that this is '
+             'preserved in the new class’s "__dict__".  Note that this is '
              'reliable\n'
              'only right after the class is created and only for classes that '
              'were\n'
@@ -2664,14 +2660,14 @@
              'function decorators.  The result is then bound to the class '
              'name.\n'
              '\n'
-             "**Programmer's note:** Variables defined in the class definition "
+             '**Programmer’s note:** Variables defined in the class definition '
              'are\n'
              'class attributes; they are shared by instances.  Instance '
              'attributes\n'
              'can be set in a method with "self.name = value".  Both class '
              'and\n'
              'instance attributes are accessible through the notation '
-             '""self.name"",\n'
+             '“"self.name"”,\n'
              'and an instance attribute hides a class attribute with the same '
              'name\n'
              'when accessed in this way.  Class attributes can be used as '
@@ -2807,20 +2803,19 @@
              '    exception. That new exception causes the old one to be '
              'lost.\n'
              '\n'
-             '[2] Currently, control "flows off the end" except in the case '
+             '[2] Currently, control “flows off the end” except in the case '
              'of\n'
              '    an exception or the execution of a "return", "continue", or\n'
              '    "break" statement.\n'
              '\n'
              '[3] A string literal appearing as the first statement in the\n'
-             '    function body is transformed into the function\'s "__doc__"\n'
-             "    attribute and therefore the function's *docstring*.\n"
+             '    function body is transformed into the function’s "__doc__"\n'
+             '    attribute and therefore the function’s *docstring*.\n'
              '\n'
              '[4] A string literal appearing as the first statement in the '
              'class\n'
-             '    body is transformed into the namespace\'s "__doc__" item '
-             'and\n'
-             "    therefore the class's *docstring*.\n",
+             '    body is transformed into the namespace’s "__doc__" item and\n'
+             '    therefore the class’s *docstring*.\n',
  'context-managers': 'With Statement Context Managers\n'
                      '*******************************\n'
                      '\n'
@@ -2850,7 +2845,7 @@
                      '\n'
                      '   Enter the runtime context related to this object. The '
                      '"with"\n'
-                     "   statement will bind this method's return value to the "
+                     '   statement will bind this method’s return value to the '
                      'target(s)\n'
                      '   specified in the "as" clause of the statement, if '
                      'any.\n'
@@ -2875,11 +2870,11 @@
                      '\n'
                      '   Note that "__exit__()" methods should not reraise the '
                      'passed-in\n'
-                     "   exception; this is the caller's responsibility.\n"
+                     '   exception; this is the caller’s responsibility.\n'
                      '\n'
                      'See also:\n'
                      '\n'
-                     '  **PEP 343** - The "with" statement\n'
+                     '  **PEP 343** - The “with” statement\n'
                      '     The specification, background, and examples for the '
                      'Python "with"\n'
                      '     statement.\n',
@@ -2905,7 +2900,7 @@
                 '\n'
                 'When a description of an arithmetic operator below uses the '
                 'phrase\n'
-                '"the numeric arguments are converted to a common type," this '
+                '“the numeric arguments are converted to a common type,” this '
                 'means\n'
                 'that the operator implementation for built-in types works as '
                 'follows:\n'
@@ -2923,7 +2918,7 @@
                 '\n'
                 'Some additional rules apply for certain operators (e.g., a '
                 'string as a\n'
-                "left argument to the '%' operator).  Extensions must define "
+                'left argument to the ‘%’ operator).  Extensions must define '
                 'their own\n'
                 'conversion behavior.\n',
  'customization': 'Basic customization\n'
@@ -2947,7 +2942,7 @@
                   '\n'
                   '   Typical implementations create a new instance of the '
                   'class by\n'
-                  '   invoking the superclass\'s "__new__()" method using\n'
+                  '   invoking the superclass’s "__new__()" method using\n'
                   '   "super().__new__(cls[, ...])" with appropriate arguments '
                   'and then\n'
                   '   modifying the newly-created instance as necessary before '
@@ -2956,7 +2951,7 @@
                   '\n'
                   '   If "__new__()" returns an instance of *cls*, then the '
                   'new\n'
-                  '   instance\'s "__init__()" method will be invoked like\n'
+                  '   instance’s "__init__()" method will be invoked like\n'
                   '   "__init__(self[, ...])", where *self* is the new '
                   'instance and the\n'
                   '   remaining arguments are the same as were passed to '
@@ -2964,7 +2959,7 @@
                   '\n'
                   '   If "__new__()" does not return an instance of *cls*, '
                   'then the new\n'
-                  '   instance\'s "__init__()" method will not be invoked.\n'
+                  '   instance’s "__init__()" method will not be invoked.\n'
                   '\n'
                   '   "__new__()" is intended mainly to allow subclasses of '
                   'immutable\n'
@@ -2982,7 +2977,7 @@
                   'those\n'
                   '   passed to the class constructor expression.  If a base '
                   'class has an\n'
-                  '   "__init__()" method, the derived class\'s "__init__()" '
+                  '   "__init__()" method, the derived class’s "__init__()" '
                   'method, if\n'
                   '   any, must explicitly call it to ensure proper '
                   'initialization of the\n'
@@ -3003,7 +2998,7 @@
                   'is also\n'
                   '   called a finalizer or (improperly) a destructor.  If a '
                   'base class\n'
-                  '   has a "__del__()" method, the derived class\'s '
+                  '   has a "__del__()" method, the derived class’s '
                   '"__del__()" method,\n'
                   '   if any, must explicitly call it to ensure proper '
                   'deletion of the\n'
@@ -3024,11 +3019,11 @@
                   'for\n'
                   '   objects that still exist when the interpreter exits.\n'
                   '\n'
-                  '   Note: "del x" doesn\'t directly call "x.__del__()" --- '
-                  'the former\n'
+                  '   Note: "del x" doesn’t directly call "x.__del__()" — the '
+                  'former\n'
                   '     decrements the reference count for "x" by one, and the '
                   'latter is\n'
-                  '     only called when "x"\'s reference count reaches zero.\n'
+                  '     only called when "x"’s reference count reaches zero.\n'
                   '\n'
                   '   **CPython implementation detail:** It is possible for a '
                   'reference\n'
@@ -3040,7 +3035,7 @@
                   'reference\n'
                   '   cycles is when an exception has been caught in a local '
                   'variable.\n'
-                  "   The frame's locals then reference the exception, which "
+                  '   The frame’s locals then reference the exception, which '
                   'references\n'
                   '   its own traceback, which references the locals of all '
                   'frames caught\n'
@@ -3087,7 +3082,7 @@
                   'object.__repr__(self)\n'
                   '\n'
                   '   Called by the "repr()" built-in function to compute the '
-                  '"official"\n'
+                  '“official”\n'
                   '   string representation of an object.  If at all possible, '
                   'this\n'
                   '   should look like a valid Python expression that could be '
@@ -3101,7 +3096,7 @@
                   '   value must be a string object. If a class defines '
                   '"__repr__()" but\n'
                   '   not "__str__()", then "__repr__()" is also used when an '
-                  '"informal"\n'
+                  '“informal”\n'
                   '   string representation of instances of that class is '
                   'required.\n'
                   '\n'
@@ -3113,7 +3108,7 @@
                   '\n'
                   '   Called by "str(object)" and the built-in functions '
                   '"format()" and\n'
-                  '   "print()" to compute the "informal" or nicely printable '
+                  '   "print()" to compute the “informal” or nicely printable '
                   'string\n'
                   '   representation of an object.  The return value must be a '
                   'string\n'
@@ -3141,7 +3136,7 @@
                   'extension,\n'
                   '   evaluation of formatted string literals and the '
                   '"str.format()"\n'
-                  '   method, to produce a "formatted" string representation '
+                  '   method, to produce a “formatted” string representation '
                   'of an\n'
                   '   object. The "format_spec" argument is a string that '
                   'contains a\n'
@@ -3177,7 +3172,7 @@
                   'object.__gt__(self, other)\n'
                   'object.__ge__(self, other)\n'
                   '\n'
-                  '   These are the so-called "rich comparison" methods. The\n'
+                  '   These are the so-called “rich comparison” methods. The\n'
                   '   correspondence between operator symbols and method names '
                   'is as\n'
                   '   follows: "x<y" calls "x.__lt__(y)", "x<=y" calls '
@@ -3224,18 +3219,18 @@
                   '   when the left argument does not support the operation '
                   'but the right\n'
                   '   argument does); rather, "__lt__()" and "__gt__()" are '
-                  "each other's\n"
-                  '   reflection, "__le__()" and "__ge__()" are each other\'s '
+                  'each other’s\n'
+                  '   reflection, "__le__()" and "__ge__()" are each other’s '
                   'reflection,\n'
                   '   and "__eq__()" and "__ne__()" are their own reflection. '
                   'If the\n'
-                  "   operands are of different types, and right operand's "
+                  '   operands are of different types, and right operand’s '
                   'type is a\n'
-                  "   direct or indirect subclass of the left operand's type, "
+                  '   direct or indirect subclass of the left operand’s type, '
                   'the\n'
                   '   reflected method of the right operand has priority, '
                   'otherwise the\n'
-                  "   left operand's method has priority.  Virtual subclassing "
+                  '   left operand’s method has priority.  Virtual subclassing '
                   'is not\n'
                   '   considered.\n'
                   '\n'
@@ -3259,12 +3254,12 @@
                   '          return hash((self.name, self.nick, self.color))\n'
                   '\n'
                   '   Note: "hash()" truncates the value returned from an '
-                  "object's\n"
+                  'object’s\n'
                   '     custom "__hash__()" method to the size of a '
                   '"Py_ssize_t".  This\n'
                   '     is typically 8 bytes on 64-bit builds and 4 bytes on '
                   '32-bit\n'
-                  '     builds. If an object\'s   "__hash__()" must '
+                  '     builds. If an object’s   "__hash__()" must '
                   'interoperate on builds\n'
                   '     of different bit sizes, be sure to check the width on '
                   'all\n'
@@ -3284,8 +3279,8 @@
                   'implement\n'
                   '   "__hash__()", since the implementation of hashable '
                   'collections\n'
-                  "   requires that a key's hash value is immutable (if the "
-                  "object's hash\n"
+                  '   requires that a key’s hash value is immutable (if the '
+                  'object’s hash\n'
                   '   value changes, it will be in the wrong hash bucket).\n'
                   '\n'
                   '   User-defined classes have "__eq__()" and "__hash__()" '
@@ -3330,7 +3325,7 @@
                   '\n'
                   '   Note: By default, the "__hash__()" values of str, bytes '
                   'and\n'
-                  '     datetime objects are "salted" with an unpredictable '
+                  '     datetime objects are “salted” with an unpredictable '
                   'random value.\n'
                   '     Although they remain constant within an individual '
                   'Python\n'
@@ -3368,8 +3363,8 @@
                   '   neither "__len__()" nor "__bool__()", all its instances '
                   'are\n'
                   '   considered true.\n',
- 'debugger': '"pdb" --- The Python Debugger\n'
-             '*****************************\n'
+ 'debugger': '"pdb" — The Python Debugger\n'
+             '***************************\n'
              '\n'
              '**Source code:** Lib/pdb.py\n'
              '\n'
@@ -3387,15 +3382,15 @@
              'debugging\n'
              'and can be called under program control.\n'
              '\n'
-             'The debugger is extensible -- it is actually defined as the '
+             'The debugger is extensible – it is actually defined as the '
              'class\n'
              '"Pdb". This is currently undocumented but easily understood by '
              'reading\n'
              'the source.  The extension interface uses the modules "bdb" and '
              '"cmd".\n'
              '\n'
-             'The debugger\'s prompt is "(Pdb)". Typical usage to run a '
-             'program under\n'
+             'The debugger’s prompt is "(Pdb)". Typical usage to run a program '
+             'under\n'
              'control of the debugger is:\n'
              '\n'
              '   >>> import pdb\n'
@@ -3427,11 +3422,11 @@
              'post-\n'
              'mortem debugging (or after normal exit of the program), pdb '
              'will\n'
-             "restart the program.  Automatic restarting preserves pdb's state "
+             'restart the program.  Automatic restarting preserves pdb’s state '
              '(such\n'
              'as breakpoints) and in most cases is more useful than quitting '
              'the\n'
-             "debugger upon program's exit.\n"
+             'debugger upon program’s exit.\n'
              '\n'
              'New in version 3.2: "pdb.py" now accepts a "-c" option that '
              'executes\n'
@@ -3621,7 +3616,7 @@
              'the last command was a "list" command, the next 11 lines are '
              'listed.\n'
              '\n'
-             "Commands that the debugger doesn't recognize are assumed to be "
+             'Commands that the debugger doesn’t recognize are assumed to be '
              'Python\n'
              'statements and are executed in the context of the program being\n'
              'debugged.  Python statements can also be prefixed with an '
@@ -3632,7 +3627,7 @@
              'function.\n'
              'When an exception occurs in such a statement, the exception name '
              'is\n'
-             "printed but the debugger's state is not changed.\n"
+             'printed but the debugger’s state is not changed.\n'
              '\n'
              'The debugger supports aliases.  Aliases can have parameters '
              'which\n'
@@ -3649,7 +3644,7 @@
              'first\n'
              '";;" pair, even if it is in the middle of a quoted string.\n'
              '\n'
-             'If a file ".pdbrc" exists in the user\'s home directory or in '
+             'If a file ".pdbrc" exists in the user’s home directory or in '
              'the\n'
              'current directory, it is read in and executed as if it had been '
              'typed\n'
@@ -3705,7 +3700,7 @@
              'prefixed\n'
              '   with a filename and a colon, to specify a breakpoint in '
              'another\n'
-             "   file (probably one that hasn't been loaded yet).  The file "
+             '   file (probably one that hasn’t been loaded yet).  The file '
              'is\n'
              '   searched on "sys.path".  Note that each breakpoint is '
              'assigned a\n'
@@ -3810,7 +3805,7 @@
              '   breakpoint—which could have its own command list, leading to\n'
              '   ambiguities about which list to execute.\n'
              '\n'
-             "   If you use the 'silent' command in the command list, the "
+             '   If you use the ‘silent’ command in the command list, the '
              'usual\n'
              '   message about stopping at a breakpoint is not printed.  This '
              'may be\n'
@@ -3869,13 +3864,13 @@
              'the\n'
              '   bottom-most frame.  This lets you jump back and execute code '
              'again,\n'
-             "   or jump forward to skip code that you don't want to run.\n"
+             '   or jump forward to skip code that you don’t want to run.\n'
              '\n'
-             '   It should be noted that not all jumps are allowed -- for '
-             'instance\n'
-             '   it is not possible to jump into the middle of a "for" loop or '
-             'out\n'
-             '   of a "finally" clause.\n'
+             '   It should be noted that not all jumps are allowed – for '
+             'instance it\n'
+             '   is not possible to jump into the middle of a "for" loop or '
+             'out of a\n'
+             '   "finally" clause.\n'
              '\n'
              'l(ist) [first[, last]]\n'
              '\n'
@@ -3918,8 +3913,8 @@
              '   value.\n'
              '\n'
              '   Note: "print()" can also be used, but is not a debugger '
-             'command\n'
-             '     --- this executes the Python "print()" function.\n'
+             'command —\n'
+             '     this executes the Python "print()" function.\n'
              '\n'
              'pp expression\n'
              '\n'
@@ -4089,7 +4084,7 @@
          'dictionary:\n'
          'each key object is used as a key into the dictionary to store the\n'
          'corresponding datum.  This means that you can specify the same key\n'
-         "multiple times in the key/datum list, and the final dictionary's "
+         'multiple times in the key/datum list, and the final dictionary’s '
          'value\n'
          'for that key will be the last one given.\n'
          '\n'
@@ -4103,7 +4098,7 @@
          '\n'
          'A dict comprehension, in contrast to list and set comprehensions,\n'
          'needs two expressions separated with a colon followed by the usual\n'
-         '"for" and "if" clauses. When the comprehension is run, the '
+         '“for” and “if” clauses. When the comprehension is run, the '
          'resulting\n'
          'key and value elements are inserted in the new dictionary in the '
          'order\n'
@@ -4177,7 +4172,7 @@
                'error (such as division by zero).  A Python program can also\n'
                'explicitly raise an exception with the "raise" statement. '
                'Exception\n'
-               'handlers are specified with the "try" ... "except" statement.  '
+               'handlers are specified with the "try" … "except" statement.  '
                'The\n'
                '"finally" clause of such a statement can be used to specify '
                'cleanup\n'
@@ -4185,7 +4180,7 @@
                'whether an\n'
                'exception occurred or not in the preceding code.\n'
                '\n'
-               'Python uses the "termination" model of error handling: an '
+               'Python uses the “termination” model of error handling: an '
                'exception\n'
                'handler can find out what happened and continue execution at '
                'an outer\n'
@@ -4253,7 +4248,7 @@
               'argument to the interpreter) is a code block.  A script command '
               '(a\n'
               'command specified on the interpreter command line with the '
-              "'**-c**'\n"
+              '‘**-c**’\n'
               'option) is a code block.  The string argument passed to the '
               'built-in\n'
               'functions "eval()" and "exec()" is a code block.\n'
@@ -4262,7 +4257,7 @@
               'contains\n'
               'some administrative information (used for debugging) and '
               'determines\n'
-              "where and how execution continues after the code block's "
+              'where and how execution continues after the code block’s '
               'execution has\n'
               'completed.\n'
               '\n'
@@ -4337,7 +4332,7 @@
               'nearest\n'
               'enclosing scope.  The set of all such scopes visible to a code '
               'block\n'
-              "is called the block's *environment*.\n"
+              'is called the block’s *environment*.\n'
               '\n'
               'When a name is not found at all, a "NameError" exception is '
               'raised. If\n'
@@ -4415,7 +4410,7 @@
               'the class. The scope of names defined in a class block is '
               'limited to\n'
               'the class block; it does not extend to the code blocks of '
-              'methods --\n'
+              'methods –\n'
               'this includes comprehensions and generator expressions since '
               'they are\n'
               'implemented using a function scope.  This means that the '
@@ -4443,7 +4438,7 @@
               'global\n'
               'namespace; this should be a dictionary or a module (in the '
               'latter case\n'
-              "the module's dictionary is used).  By default, when in the "
+              'the module’s dictionary is used).  By default, when in the '
               '"__main__"\n'
               'module, "__builtins__" is the built-in module "builtins"; when '
               'in any\n'
@@ -4498,7 +4493,7 @@
               'error (such as division by zero).  A Python program can also\n'
               'explicitly raise an exception with the "raise" statement. '
               'Exception\n'
-              'handlers are specified with the "try" ... "except" statement.  '
+              'handlers are specified with the "try" … "except" statement.  '
               'The\n'
               '"finally" clause of such a statement can be used to specify '
               'cleanup\n'
@@ -4506,7 +4501,7 @@
               'whether an\n'
               'exception occurred or not in the preceding code.\n'
               '\n'
-              'Python uses the "termination" model of error handling: an '
+              'Python uses the “termination” model of error handling: an '
               'exception\n'
               'handler can find out what happened and continue execution at an '
               'outer\n'
@@ -4586,7 +4581,7 @@
               '(a.k.a. a\n'
               '*singleton*); it is optional in all other cases.  A single '
               'expression\n'
-              "without a trailing comma doesn't create a tuple, but rather "
+              'without a trailing comma doesn’t create a tuple, but rather '
               'yields the\n'
               'value of that expression. (To create an empty tuple, use an '
               'empty pair\n'
@@ -4647,8 +4642,7 @@
         'terminates.\n'
         '\n'
         'A "break" statement executed in the first suite terminates the loop\n'
-        'without executing the "else" clause\'s suite.  A "continue" '
-        'statement\n'
+        'without executing the "else" clause’s suite.  A "continue" statement\n'
         'executed in the first suite skips the rest of the suite and '
         'continues\n'
         'with the next item, or with the "else" clause if there is no next\n'
@@ -4670,7 +4664,7 @@
         'Names in the target list are not deleted when the loop is finished,\n'
         'but if the sequence is empty, they will not have been assigned to at\n'
         'all by the loop.  Hint: the built-in function "range()" returns an\n'
-        'iterator of integers suitable to emulate the effect of Pascal\'s "for '
+        'iterator of integers suitable to emulate the effect of Pascal’s "for '
         'i\n'
         ':= a to b do"; e.g., "list(range(3))" returns the list "[0, 1, 2]".\n'
         '\n'
@@ -4706,7 +4700,7 @@
                   'are\n'
                   'differences.\n'
                   '\n'
-                  'Format strings contain "replacement fields" surrounded by '
+                  'Format strings contain “replacement fields” surrounded by '
                   'curly braces\n'
                   '"{}". Anything that is not contained in braces is '
                   'considered literal\n'
@@ -4749,29 +4743,27 @@
                   '\n'
                   'The *field_name* itself begins with an *arg_name* that is '
                   'either a\n'
-                  "number or a keyword.  If it's a number, it refers to a "
+                  'number or a keyword.  If it’s a number, it refers to a '
                   'positional\n'
-                  "argument, and if it's a keyword, it refers to a named "
+                  'argument, and if it’s a keyword, it refers to a named '
                   'keyword\n'
                   'argument.  If the numerical arg_names in a format string '
                   'are 0, 1, 2,\n'
-                  '... in sequence, they can all be omitted (not just some) '
-                  'and the\n'
-                  'numbers 0, 1, 2, ... will be automatically inserted in that '
-                  'order.\n'
-                  'Because *arg_name* is not quote-delimited, it is not '
-                  'possible to\n'
-                  'specify arbitrary dictionary keys (e.g., the strings '
-                  '"\'10\'" or\n'
-                  '"\':-]\'") within a format string. The *arg_name* can be '
-                  'followed by any\n'
-                  'number of index or attribute expressions. An expression of '
-                  'the form\n'
-                  '"\'.name\'" selects the named attribute using "getattr()", '
-                  'while an\n'
-                  'expression of the form "\'[index]\'" does an index lookup '
-                  'using\n'
-                  '"__getitem__()".\n'
+                  '… in sequence, they can all be omitted (not just some) and '
+                  'the numbers\n'
+                  '0, 1, 2, … will be automatically inserted in that order. '
+                  'Because\n'
+                  '*arg_name* is not quote-delimited, it is not possible to '
+                  'specify\n'
+                  'arbitrary dictionary keys (e.g., the strings "\'10\'" or '
+                  '"\':-]\'") within\n'
+                  'a format string. The *arg_name* can be followed by any '
+                  'number of index\n'
+                  'or attribute expressions. An expression of the form '
+                  '"\'.name\'" selects\n'
+                  'the named attribute using "getattr()", while an expression '
+                  'of the form\n'
+                  '"\'[index]\'" does an index lookup using "__getitem__()".\n'
                   '\n'
                   'Changed in version 3.1: The positional argument specifiers '
                   'can be\n'
@@ -4826,7 +4818,7 @@
                   'alignment,\n'
                   'padding, decimal precision and so on.  Each value type can '
                   'define its\n'
-                  'own "formatting mini-language" or interpretation of the '
+                  'own “formatting mini-language” or interpretation of the '
                   '*format_spec*.\n'
                   '\n'
                   'Most built-in types support a common formatting '
@@ -4852,7 +4844,7 @@
                   'Format Specification Mini-Language\n'
                   '==================================\n'
                   '\n'
-                  '"Format specifications" are used within replacement fields '
+                  '“Format specifications” are used within replacement fields '
                   'contained\n'
                   'within a format string to define how individual values are '
                   'presented\n'
@@ -4894,13 +4886,13 @@
                   'character that can be any character and defaults to a space '
                   'if\n'
                   'omitted. It is not possible to use a literal curly brace '
-                  '(""{"" or\n'
-                  '""}"") as the *fill* character in a formatted string '
+                  '(“"{"” or\n'
+                  '“"}"”) as the *fill* character in a formatted string '
                   'literal or when\n'
                   'using the "str.format()" method.  However, it is possible '
                   'to insert a\n'
                   'curly brace with a nested replacement field.  This '
-                  "limitation doesn't\n"
+                  'limitation doesn’t\n'
                   'affect the "format()" function.\n'
                   '\n'
                   'The meaning of the various alignment options is as '
@@ -4929,10 +4921,10 @@
                   'the sign (if any)    |\n'
                   '   |           | but before the digits.  This is used for '
                   'printing fields   |\n'
-                  "   |           | in the form '+000000120'. This alignment "
+                  '   |           | in the form ‘+000000120’. This alignment '
                   'option is only    |\n'
                   '   |           | valid for numeric types.  It becomes the '
-                  "default when '0'  |\n"
+                  'default when ‘0’  |\n'
                   '   |           | immediately precedes the field '
                   'width.                      |\n'
                   '   '
@@ -4981,7 +4973,7 @@
                   '   '
                   '+-----------+------------------------------------------------------------+\n'
                   '\n'
-                  'The "\'#\'" option causes the "alternate form" to be used '
+                  'The "\'#\'" option causes the “alternate form” to be used '
                   'for the\n'
                   'conversion.  The alternate form is defined differently for '
                   'different\n'
@@ -5150,7 +5142,7 @@
                   '+===========+============================================================+\n'
                   '   | "\'e\'"     | Exponent notation. Prints the number in '
                   'scientific         |\n'
-                  "   |           | notation using the letter 'e' to indicate "
+                  '   |           | notation using the letter ‘e’ to indicate '
                   'the exponent.    |\n'
                   '   |           | The default precision is '
                   '"6".                              |\n'
@@ -5158,7 +5150,7 @@
                   '+-----------+------------------------------------------------------------+\n'
                   '   | "\'E\'"     | Exponent notation. Same as "\'e\'" '
                   'except it uses an upper   |\n'
-                  "   |           | case 'E' as the separator "
+                  '   |           | case ‘E’ as the separator '
                   'character.                       |\n'
                   '   '
                   '+-----------+------------------------------------------------------------+\n'
@@ -5295,7 +5287,7 @@
                   "{longitude}'.format(**coord)\n"
                   "   'Coordinates: 37.24N, -115.81W'\n"
                   '\n'
-                  "Accessing arguments' attributes:\n"
+                  'Accessing arguments’ attributes:\n'
                   '\n'
                   '   >>> c = 3-5j\n'
                   "   >>> ('The complex number {0} is formed from the real "
@@ -5313,7 +5305,7 @@
                   '   >>> str(Point(4, 2))\n'
                   "   'Point(4, 2)'\n"
                   '\n'
-                  "Accessing arguments' items:\n"
+                  'Accessing arguments’ items:\n'
                   '\n'
                   '   >>> coord = (3, 5)\n'
                   "   >>> 'X: {0[0]};  Y: {0[1]}'.format(coord)\n"
@@ -5475,25 +5467,24 @@
              '"func".\n'
              '\n'
              'When one or more *parameters* have the form *parameter* "="\n'
-             '*expression*, the function is said to have "default parameter '
-             'values."\n'
+             '*expression*, the function is said to have “default parameter '
+             'values.”\n'
              'For a parameter with a default value, the corresponding '
              '*argument* may\n'
-             "be omitted from a call, in which case the parameter's default "
+             'be omitted from a call, in which case the parameter’s default '
              'value is\n'
              'substituted.  If a parameter has a default value, all following\n'
-             'parameters up until the ""*"" must also have a default value --- '
-             'this\n'
-             'is a syntactic restriction that is not expressed by the '
-             'grammar.\n'
+             'parameters up until the “"*"” must also have a default value — '
+             'this is\n'
+             'a syntactic restriction that is not expressed by the grammar.\n'
              '\n'
              '**Default parameter values are evaluated from left to right when '
              'the\n'
              'function definition is executed.** This means that the '
              'expression is\n'
              'evaluated once, when the function is defined, and that the same '
-             '"pre-\n'
-             'computed" value is used for each call.  This is especially '
+             '“pre-\n'
+             'computed” value is used for each call.  This is especially '
              'important\n'
              'to understand when a default parameter is a mutable object, such '
              'as a\n'
@@ -5519,26 +5510,26 @@
              'mentioned in\n'
              'the parameter list, either from position arguments, from '
              'keyword\n'
-             'arguments, or from default values.  If the form ""*identifier"" '
+             'arguments, or from default values.  If the form “"*identifier"” '
              'is\n'
              'present, it is initialized to a tuple receiving any excess '
              'positional\n'
              'parameters, defaulting to the empty tuple. If the form\n'
-             '""**identifier"" is present, it is initialized to a new ordered\n'
+             '“"**identifier"” is present, it is initialized to a new ordered\n'
              'mapping receiving any excess keyword arguments, defaulting to a '
              'new\n'
-             'empty mapping of the same type.  Parameters after ""*"" or\n'
-             '""*identifier"" are keyword-only parameters and may only be '
+             'empty mapping of the same type.  Parameters after “"*"” or\n'
+             '“"*identifier"” are keyword-only parameters and may only be '
              'passed\n'
              'used keyword arguments.\n'
              '\n'
-             'Parameters may have annotations of the form "": expression"" '
+             'Parameters may have annotations of the form “": expression"” '
              'following\n'
              'the parameter name.  Any parameter may have an annotation even '
              'those\n'
              'of the form "*identifier" or "**identifier".  Functions may '
              'have\n'
-             '"return" annotation of the form ""-> expression"" after the '
+             '“return” annotation of the form “"-> expression"” after the '
              'parameter\n'
              'list.  These annotations can be any valid Python expression.  '
              'The\n'
@@ -5546,8 +5537,7 @@
              'function.\n'
              'The annotation values are available as values of a dictionary '
              'keyed by\n'
-             'the parameters\' names in the "__annotations__" attribute of '
-             'the\n'
+             'the parameters’ names in the "__annotations__" attribute of the\n'
              'function object.  If the "annotations" import from "__future__" '
              'is\n'
              'used, annotations are preserved as strings at runtime which '
@@ -5565,16 +5555,16 @@
              'lambda\n'
              'expression is merely a shorthand for a simplified function '
              'definition;\n'
-             'a function defined in a ""def"" statement can be passed around '
+             'a function defined in a “"def"” statement can be passed around '
              'or\n'
              'assigned to another name just like a function defined by a '
              'lambda\n'
-             'expression.  The ""def"" form is actually more powerful since '
+             'expression.  The “"def"” form is actually more powerful since '
              'it\n'
              'allows the execution of multiple statements and annotations.\n'
              '\n'
-             "**Programmer's note:** Functions are first-class objects.  A "
-             '""def""\n'
+             '**Programmer’s note:** Functions are first-class objects.  A '
+             '“"def"”\n'
              'statement executed inside a function definition defines a local\n'
              'function that can be returned or passed around.  Free variables '
              'used\n'
@@ -5633,8 +5623,7 @@
            'change\n'
            'the meaning of the program.\n'
            '\n'
-           '**Programmer\'s note:** "global" is a directive to the parser.  '
-           'It\n'
+           '**Programmer’s note:** "global" is a directive to the parser.  It\n'
            'applies only to code parsed at the same time as the "global"\n'
            'statement. In particular, a "global" statement contained in a '
            'string\n'
@@ -5691,7 +5680,7 @@
                'within the\n'
                '   context of a class definition, are re-written to use a '
                'mangled form\n'
-               '   to help avoid name clashes between "private" attributes of '
+               '   to help avoid name clashes between “private” attributes of '
                'base and\n'
                '   derived classes. See section Identifiers (Names).\n',
  'identifiers': 'Identifiers and keywords\n'
@@ -5839,7 +5828,7 @@
                 'within the\n'
                 '   context of a class definition, are re-written to use a '
                 'mangled form\n'
-                '   to help avoid name clashes between "private" attributes of '
+                '   to help avoid name clashes between “private” attributes of '
                 'base and\n'
                 '   derived classes. See section Identifiers (Names).\n',
  'if': 'The "if" statement\n'
@@ -5920,7 +5909,7 @@
            'either\n'
            'that the module could not be located, *or* that an error occurred\n'
            'while initializing the module, which includes execution of the\n'
-           "module's code.\n"
+           'module’s code.\n'
            '\n'
            'If the requested module is retrieved successfully, it will be '
            'made\n'
@@ -5931,7 +5920,7 @@
            '\n'
            '* If no other name is specified, and the module being imported is '
            'a\n'
-           "  top level module, the module's name is bound in the local "
+           '  top level module, the module’s name is bound in the local '
            'namespace\n'
            '  as a reference to the imported module\n'
            '\n'
@@ -5984,7 +5973,7 @@
            '\n'
            'The *public names* defined by a module are determined by checking '
            'the\n'
-           'module\'s namespace for a variable named "__all__"; if defined, it '
+           'module’s namespace for a variable named "__all__"; if defined, it '
            'must\n'
            'be a sequence of strings which are names defined or imported by '
            'that\n'
@@ -5992,7 +5981,7 @@
            'and\n'
            'are required to exist.  If "__all__" is not defined, the set of '
            'public\n'
-           "names includes all names found in the module's namespace which do "
+           'names includes all names found in the module’s namespace which do '
            'not\n'
            'begin with an underscore character ("\'_\'").  "__all__" should '
            'contain\n'
@@ -6002,8 +5991,7 @@
            'were\n'
            'imported and used within the module).\n'
            '\n'
-           'The wild card form of import --- "from module import *" --- is '
-           'only\n'
+           'The wild card form of import — "from module import *" — is only\n'
            'allowed at the module level.  Attempting to use it in class or\n'
            'function definitions will raise a "SyntaxError".\n'
            '\n'
@@ -6116,7 +6104,7 @@
            '\n'
            '   import __future__ [as name]\n'
            '\n'
-           "That is not a future statement; it's an ordinary import statement "
+           'That is not a future statement; it’s an ordinary import statement '
            'with\n'
            'no special semantics or syntax restrictions.\n'
            '\n'
@@ -6127,8 +6115,7 @@
            'the\n'
            'future statement.  This can be controlled by optional arguments '
            'to\n'
-           '"compile()" --- see the documentation of that function for '
-           'details.\n'
+           '"compile()" — see the documentation of that function for details.\n'
            '\n'
            'A future statement typed at an interactive interpreter prompt '
            'will\n'
@@ -6334,7 +6321,7 @@
            'nearest\n'
            'enclosing scope.  The set of all such scopes visible to a code '
            'block\n'
-           "is called the block's *environment*.\n"
+           'is called the block’s *environment*.\n'
            '\n'
            'When a name is not found at all, a "NameError" exception is '
            'raised. If\n'
@@ -6408,7 +6395,7 @@
            'the class. The scope of names defined in a class block is limited '
            'to\n'
            'the class block; it does not extend to the code blocks of methods '
-           '--\n'
+           '–\n'
            'this includes comprehensions and generator expressions since they '
            'are\n'
            'implemented using a function scope.  This means that the '
@@ -6435,7 +6422,7 @@
            'global\n'
            'namespace; this should be a dictionary or a module (in the latter '
            'case\n'
-           "the module's dictionary is used).  By default, when in the "
+           'the module’s dictionary is used).  By default, when in the '
            '"__main__"\n'
            'module, "__builtins__" is the built-in module "builtins"; when in '
            'any\n'
@@ -6511,7 +6498,7 @@
             '\n'
             'Note that numeric literals do not include a sign; a phrase like '
             '"-1"\n'
-            'is actually an expression composed of the unary operator \'"-"\' '
+            'is actually an expression composed of the unary operator ‘"-"‘ '
             'and the\n'
             'literal "1".\n',
  'numeric-types': 'Emulating numeric types\n'
@@ -6601,15 +6588,15 @@
                   '"__rpow__()" (the\n'
                   '   coercion rules would become too complicated).\n'
                   '\n'
-                  "   Note: If the right operand's type is a subclass of the "
+                  '   Note: If the right operand’s type is a subclass of the '
                   'left\n'
-                  "     operand's type and that subclass provides the "
+                  '     operand’s type and that subclass provides the '
                   'reflected method\n'
                   '     for the operation, this method will be called before '
                   'the left\n'
-                  "     operand's non-reflected method.  This behavior allows "
+                  '     operand’s non-reflected method.  This behavior allows '
                   'subclasses\n'
-                  "     to override their ancestors' operations.\n"
+                  '     to override their ancestors’ operations.\n'
                   '\n'
                   'object.__iadd__(self, other)\n'
                   'object.__isub__(self, other)\n'
@@ -6647,7 +6634,7 @@
                   'certain\n'
                   '   situations, augmented assignment can result in '
                   'unexpected errors\n'
-                  "   (see Why does a_tuple[i] += ['item'] raise an exception "
+                  '   (see Why does a_tuple[i] += [‘item’] raise an exception '
                   'when the\n'
                   '   addition works?), but this behavior is in fact part of '
                   'the data\n'
@@ -6709,18 +6696,18 @@
  'objects': 'Objects, values and types\n'
             '*************************\n'
             '\n'
-            "*Objects* are Python's abstraction for data.  All data in a "
+            '*Objects* are Python’s abstraction for data.  All data in a '
             'Python\n'
             'program is represented by objects or by relations between '
             'objects. (In\n'
-            'a sense, and in conformance to Von Neumann\'s model of a "stored\n'
-            'program computer," code is also represented by objects.)\n'
+            'a sense, and in conformance to Von Neumann’s model of a “stored\n'
+            'program computer,” code is also represented by objects.)\n'
             '\n'
-            "Every object has an identity, a type and a value.  An object's\n"
+            'Every object has an identity, a type and a value.  An object’s\n'
             '*identity* never changes once it has been created; you may think '
             'of it\n'
-            'as the object\'s address in memory.  The \'"is"\' operator '
-            'compares the\n'
+            'as the object’s address in memory.  The ‘"is"’ operator compares '
+            'the\n'
             'identity of two objects; the "id()" function returns an integer\n'
             'representing its identity.\n'
             '\n'
@@ -6728,14 +6715,14 @@
             'memory\n'
             'address where "x" is stored.\n'
             '\n'
-            "An object's type determines the operations that the object "
+            'An object’s type determines the operations that the object '
             'supports\n'
-            '(e.g., "does it have a length?") and also defines the possible '
+            '(e.g., “does it have a length?”) and also defines the possible '
             'values\n'
             'for objects of that type.  The "type()" function returns an '
-            "object's\n"
+            'object’s\n'
             'type (which is an object itself).  Like its identity, an '
-            "object's\n"
+            'object’s\n'
             '*type* is also unchangeable. [1]\n'
             '\n'
             'The *value* of some objects can change.  Objects whose value can\n'
@@ -6744,14 +6731,14 @@
             'once they are created are called *immutable*. (The value of an\n'
             'immutable container object that contains a reference to a '
             'mutable\n'
-            "object can change when the latter's value is changed; however "
+            'object can change when the latter’s value is changed; however '
             'the\n'
             'container is still considered immutable, because the collection '
             'of\n'
             'objects it contains cannot be changed.  So, immutability is not\n'
             'strictly the same as having an unchangeable value, it is more '
             'subtle.)\n'
-            "An object's mutability is determined by its type; for instance,\n"
+            'An object’s mutability is determined by its type; for instance,\n'
             'numbers, strings and tuples are immutable, while dictionaries '
             'and\n'
             'lists are mutable.\n'
@@ -6759,9 +6746,9 @@
             'Objects are never explicitly destroyed; however, when they '
             'become\n'
             'unreachable they may be garbage-collected.  An implementation is\n'
-            'allowed to postpone garbage collection or omit it altogether --- '
-            'it is\n'
-            'a matter of implementation quality how garbage collection is\n'
+            'allowed to postpone garbage collection or omit it altogether — it '
+            'is a\n'
+            'matter of implementation quality how garbage collection is\n'
             'implemented, as long as no objects are collected that are still\n'
             'reachable.\n'
             '\n'
@@ -6781,13 +6768,14 @@
             '(so\n'
             'you should always close files explicitly).\n'
             '\n'
-            "Note that the use of the implementation's tracing or debugging\n"
+            'Note that the use of the implementation’s tracing or debugging\n'
             'facilities may keep objects alive that would normally be '
             'collectable.\n'
-            'Also note that catching an exception with a \'"try"..."except"\'\n'
-            'statement may keep objects alive.\n'
+            'Also note that catching an exception with a ‘"try"…"except"’ '
+            'statement\n'
+            'may keep objects alive.\n'
             '\n'
-            'Some objects contain references to "external" resources such as '
+            'Some objects contain references to “external” resources such as '
             'open\n'
             'files or windows.  It is understood that these resources are '
             'freed\n'
@@ -6798,14 +6786,13 @@
             'release the external resource, usually a "close()" method. '
             'Programs\n'
             'are strongly recommended to explicitly close such objects.  The\n'
-            '\'"try"..."finally"\' statement and the \'"with"\' statement '
-            'provide\n'
+            '‘"try"…"finally"’ statement and the ‘"with"’ statement provide\n'
             'convenient ways to do this.\n'
             '\n'
             'Some objects contain references to other objects; these are '
             'called\n'
             '*containers*. Examples of containers are tuples, lists and\n'
-            "dictionaries.  The references are part of a container's value.  "
+            'dictionaries.  The references are part of a container’s value.  '
             'In\n'
             'most cases, when we talk about the value of a container, we imply '
             'the\n'
@@ -6862,7 +6849,7 @@
                      '| "lambda"                                        | '
                      'Lambda expression                     |\n'
                      '+-------------------------------------------------+---------------------------------------+\n'
-                     '| "if" -- "else"                                  | '
+                     '| "if" – "else"                                   | '
                      'Conditional expression                |\n'
                      '+-------------------------------------------------+---------------------------------------+\n'
                      '| "or"                                            | '
@@ -6945,7 +6932,7 @@
                      'application.\n'
                      '\n'
                      '[2] If x is very close to an exact integer multiple of '
-                     "y, it's\n"
+                     'y, it’s\n'
                      '    possible for "x//y" to be one larger than '
                      '"(x-x%y)//y" due to\n'
                      '    rounding.  In such cases, Python returns the latter '
@@ -6956,8 +6943,8 @@
                      '\n'
                      '[3] The Unicode standard distinguishes between *code '
                      'points* (e.g.\n'
-                     '    U+0041) and *abstract characters* (e.g. "LATIN '
-                     'CAPITAL LETTER A").\n'
+                     '    U+0041) and *abstract characters* (e.g. “LATIN '
+                     'CAPITAL LETTER A”).\n'
                      '    While most abstract characters in Unicode are only '
                      'represented\n'
                      '    using one code point, there is a number of abstract '
@@ -6965,8 +6952,8 @@
                      '    that can in addition be represented using a sequence '
                      'of more than\n'
                      '    one code point.  For example, the abstract character '
-                     '"LATIN\n'
-                     '    CAPITAL LETTER C WITH CEDILLA" can be represented as '
+                     '“LATIN\n'
+                     '    CAPITAL LETTER C WITH CEDILLA” can be represented as '
                      'a single\n'
                      '    *precomposed character* at code position U+00C7, or '
                      'as a sequence\n'
@@ -6982,9 +6969,9 @@
                      'to humans.  For\n'
                      '    example, ""\\u00C7" == "\\u0043\\u0327"" is "False", '
                      'even though both\n'
-                     '    strings represent the same abstract character "LATIN '
+                     '    strings represent the same abstract character “LATIN '
                      'CAPITAL\n'
-                     '    LETTER C WITH CEDILLA".\n'
+                     '    LETTER C WITH CEDILLA”.\n'
                      '\n'
                      '    To compare strings at the level of abstract '
                      'characters (that is,\n'
@@ -7014,10 +7001,11 @@
          '\n'
          '   pass_stmt ::= "pass"\n'
          '\n'
-         '"pass" is a null operation --- when it is executed, nothing '
-         'happens.\n'
-         'It is useful as a placeholder when a statement is required\n'
-         'syntactically, but no code needs to be executed, for example:\n'
+         '"pass" is a null operation — when it is executed, nothing happens. '
+         'It\n'
+         'is useful as a placeholder when a statement is required '
+         'syntactically,\n'
+         'but no code needs to be executed, for example:\n'
          '\n'
          '   def f(arg): pass    # a function that does nothing (yet)\n'
          '\n'
@@ -7073,7 +7061,7 @@
           '"BaseException". If it is a class, the exception instance will be\n'
           'obtained when needed by instantiating the class with no arguments.\n'
           '\n'
-          "The *type* of the exception is the exception instance's class, the\n"
+          'The *type* of the exception is the exception instance’s class, the\n'
           '*value* is the instance itself.\n'
           '\n'
           'A traceback object is normally created automatically when an '
@@ -7119,7 +7107,7 @@
           'inside\n'
           'an exception handler or a "finally" clause: the previous exception '
           'is\n'
-          'then attached as the new exception\'s "__context__" attribute:\n'
+          'then attached as the new exception’s "__context__" attribute:\n'
           '\n'
           '   >>> try:\n'
           '   ...     print(1 / 0)\n'
@@ -7219,7 +7207,7 @@
                    '"clear()",\n'
                    '"setdefault()", "pop()", "popitem()", "copy()", and '
                    '"update()"\n'
-                   "behaving similar to those for Python's standard dictionary "
+                   'behaving similar to those for Python’s standard dictionary '
                    'objects.\n'
                    'The "collections.abc" module provides a "MutableMapping" '
                    'abstract base\n'
@@ -7245,7 +7233,7 @@
                    'the\n'
                    '"__contains__()" method to allow efficient use of the "in" '
                    'operator;\n'
-                   'for mappings, "in" should search the mapping\'s keys; for '
+                   'for mappings, "in" should search the mapping’s keys; for '
                    'sequences, it\n'
                    'should search through the values.  It is further '
                    'recommended that both\n'
@@ -7263,7 +7251,7 @@
                    'Should return\n'
                    '   the length of the object, an integer ">=" 0.  Also, an '
                    'object that\n'
-                   '   doesn\'t define a "__bool__()" method and whose '
+                   '   doesn’t define a "__bool__()" method and whose '
                    '"__len__()" method\n'
                    '   returns zero is considered to be false in a Boolean '
                    'context.\n'
@@ -7420,7 +7408,7 @@
                    'values or\n'
                    '   the key-item pairs.\n'
                    '\n'
-                   '   For objects that don\'t define "__contains__()", the '
+                   '   For objects that don’t define "__contains__()", the '
                    'membership test\n'
                    '   first tries iteration via "__iter__()", then the old '
                    'sequence\n'
@@ -7508,7 +7496,7 @@
                  'object.__dict__\n'
                  '\n'
                  '   A dictionary or other mapping object used to store an '
-                 "object's\n"
+                 'object’s\n'
                  '   (writable) attributes.\n'
                  '\n'
                  'instance.__class__\n'
@@ -7568,15 +7556,15 @@
                  'to\n'
                  '    "[1.0, 2.0]", and similarly for tuples.\n'
                  '\n'
-                 "[3] They must have since the parser can't tell the type of "
+                 '[3] They must have since the parser can’t tell the type of '
                  'the\n'
                  '    operands.\n'
                  '\n'
                  '[4] Cased characters are those with general category '
                  'property\n'
-                 '    being one of "Lu" (Letter, uppercase), "Ll" (Letter, '
+                 '    being one of “Lu” (Letter, uppercase), “Ll” (Letter, '
                  'lowercase),\n'
-                 '    or "Lt" (Letter, titlecase).\n'
+                 '    or “Lt” (Letter, titlecase).\n'
                  '\n'
                  '[5] To format only a tuple you should therefore provide a\n'
                  '    singleton tuple whose only element is the tuple to be '
@@ -7588,7 +7576,7 @@
                  'special\n'
                  'syntax (such as arithmetic operations or subscripting and '
                  'slicing) by\n'
-                 "defining methods with special names. This is Python's "
+                 'defining methods with special names. This is Python’s '
                  'approach to\n'
                  '*operator overloading*, allowing classes to define their own '
                  'behavior\n'
@@ -7622,7 +7610,7 @@
                  'elements, but\n'
                  'extracting a slice may not make sense.  (One example of this '
                  'is the\n'
-                 '"NodeList" interface in the W3C\'s Document Object Model.)\n'
+                 '"NodeList" interface in the W3C’s Document Object Model.)\n'
                  '\n'
                  '\n'
                  'Basic customization\n'
@@ -7646,7 +7634,7 @@
                  '\n'
                  '   Typical implementations create a new instance of the '
                  'class by\n'
-                 '   invoking the superclass\'s "__new__()" method using\n'
+                 '   invoking the superclass’s "__new__()" method using\n'
                  '   "super().__new__(cls[, ...])" with appropriate arguments '
                  'and then\n'
                  '   modifying the newly-created instance as necessary before '
@@ -7655,7 +7643,7 @@
                  '\n'
                  '   If "__new__()" returns an instance of *cls*, then the '
                  'new\n'
-                 '   instance\'s "__init__()" method will be invoked like\n'
+                 '   instance’s "__init__()" method will be invoked like\n'
                  '   "__init__(self[, ...])", where *self* is the new instance '
                  'and the\n'
                  '   remaining arguments are the same as were passed to '
@@ -7663,7 +7651,7 @@
                  '\n'
                  '   If "__new__()" does not return an instance of *cls*, then '
                  'the new\n'
-                 '   instance\'s "__init__()" method will not be invoked.\n'
+                 '   instance’s "__init__()" method will not be invoked.\n'
                  '\n'
                  '   "__new__()" is intended mainly to allow subclasses of '
                  'immutable\n'
@@ -7681,7 +7669,7 @@
                  'those\n'
                  '   passed to the class constructor expression.  If a base '
                  'class has an\n'
-                 '   "__init__()" method, the derived class\'s "__init__()" '
+                 '   "__init__()" method, the derived class’s "__init__()" '
                  'method, if\n'
                  '   any, must explicitly call it to ensure proper '
                  'initialization of the\n'
@@ -7702,8 +7690,8 @@
                  'is also\n'
                  '   called a finalizer or (improperly) a destructor.  If a '
                  'base class\n'
-                 '   has a "__del__()" method, the derived class\'s '
-                 '"__del__()" method,\n'
+                 '   has a "__del__()" method, the derived class’s "__del__()" '
+                 'method,\n'
                  '   if any, must explicitly call it to ensure proper deletion '
                  'of the\n'
                  '   base class part of the instance.\n'
@@ -7723,11 +7711,11 @@
                  'for\n'
                  '   objects that still exist when the interpreter exits.\n'
                  '\n'
-                 '   Note: "del x" doesn\'t directly call "x.__del__()" --- '
-                 'the former\n'
+                 '   Note: "del x" doesn’t directly call "x.__del__()" — the '
+                 'former\n'
                  '     decrements the reference count for "x" by one, and the '
                  'latter is\n'
-                 '     only called when "x"\'s reference count reaches zero.\n'
+                 '     only called when "x"’s reference count reaches zero.\n'
                  '\n'
                  '   **CPython implementation detail:** It is possible for a '
                  'reference\n'
@@ -7739,7 +7727,7 @@
                  'reference\n'
                  '   cycles is when an exception has been caught in a local '
                  'variable.\n'
-                 "   The frame's locals then reference the exception, which "
+                 '   The frame’s locals then reference the exception, which '
                  'references\n'
                  '   its own traceback, which references the locals of all '
                  'frames caught\n'
@@ -7785,7 +7773,7 @@
                  'object.__repr__(self)\n'
                  '\n'
                  '   Called by the "repr()" built-in function to compute the '
-                 '"official"\n'
+                 '“official”\n'
                  '   string representation of an object.  If at all possible, '
                  'this\n'
                  '   should look like a valid Python expression that could be '
@@ -7799,7 +7787,7 @@
                  '   value must be a string object. If a class defines '
                  '"__repr__()" but\n'
                  '   not "__str__()", then "__repr__()" is also used when an '
-                 '"informal"\n'
+                 '“informal”\n'
                  '   string representation of instances of that class is '
                  'required.\n'
                  '\n'
@@ -7811,7 +7799,7 @@
                  '\n'
                  '   Called by "str(object)" and the built-in functions '
                  '"format()" and\n'
-                 '   "print()" to compute the "informal" or nicely printable '
+                 '   "print()" to compute the “informal” or nicely printable '
                  'string\n'
                  '   representation of an object.  The return value must be a '
                  'string\n'
@@ -7839,7 +7827,7 @@
                  'extension,\n'
                  '   evaluation of formatted string literals and the '
                  '"str.format()"\n'
-                 '   method, to produce a "formatted" string representation of '
+                 '   method, to produce a “formatted” string representation of '
                  'an\n'
                  '   object. The "format_spec" argument is a string that '
                  'contains a\n'
@@ -7875,7 +7863,7 @@
                  'object.__gt__(self, other)\n'
                  'object.__ge__(self, other)\n'
                  '\n'
-                 '   These are the so-called "rich comparison" methods. The\n'
+                 '   These are the so-called “rich comparison” methods. The\n'
                  '   correspondence between operator symbols and method names '
                  'is as\n'
                  '   follows: "x<y" calls "x.__lt__(y)", "x<=y" calls '
@@ -7922,18 +7910,18 @@
                  '   when the left argument does not support the operation but '
                  'the right\n'
                  '   argument does); rather, "__lt__()" and "__gt__()" are '
-                 "each other's\n"
-                 '   reflection, "__le__()" and "__ge__()" are each other\'s '
+                 'each other’s\n'
+                 '   reflection, "__le__()" and "__ge__()" are each other’s '
                  'reflection,\n'
                  '   and "__eq__()" and "__ne__()" are their own reflection. '
                  'If the\n'
-                 "   operands are of different types, and right operand's type "
+                 '   operands are of different types, and right operand’s type '
                  'is a\n'
-                 "   direct or indirect subclass of the left operand's type, "
+                 '   direct or indirect subclass of the left operand’s type, '
                  'the\n'
                  '   reflected method of the right operand has priority, '
                  'otherwise the\n'
-                 "   left operand's method has priority.  Virtual subclassing "
+                 '   left operand’s method has priority.  Virtual subclassing '
                  'is not\n'
                  '   considered.\n'
                  '\n'
@@ -7957,13 +7945,13 @@
                  '          return hash((self.name, self.nick, self.color))\n'
                  '\n'
                  '   Note: "hash()" truncates the value returned from an '
-                 "object's\n"
+                 'object’s\n'
                  '     custom "__hash__()" method to the size of a '
                  '"Py_ssize_t".  This\n'
                  '     is typically 8 bytes on 64-bit builds and 4 bytes on '
                  '32-bit\n'
-                 '     builds. If an object\'s   "__hash__()" must '
-                 'interoperate on builds\n'
+                 '     builds. If an object’s   "__hash__()" must interoperate '
+                 'on builds\n'
                  '     of different bit sizes, be sure to check the width on '
                  'all\n'
                  '     supported builds.  An easy way to do this is with '
@@ -7981,8 +7969,8 @@
                  '   implements an "__eq__()" method, it should not implement\n'
                  '   "__hash__()", since the implementation of hashable '
                  'collections\n'
-                 "   requires that a key's hash value is immutable (if the "
-                 "object's hash\n"
+                 '   requires that a key’s hash value is immutable (if the '
+                 'object’s hash\n'
                  '   value changes, it will be in the wrong hash bucket).\n'
                  '\n'
                  '   User-defined classes have "__eq__()" and "__hash__()" '
@@ -8026,7 +8014,7 @@
                  '\n'
                  '   Note: By default, the "__hash__()" values of str, bytes '
                  'and\n'
-                 '     datetime objects are "salted" with an unpredictable '
+                 '     datetime objects are “salted” with an unpredictable '
                  'random value.\n'
                  '     Although they remain constant within an individual '
                  'Python\n'
@@ -8217,10 +8205,10 @@
                  'Note: Defining module "__getattr__" and setting module '
                  '"__class__"\n'
                  '  only affect lookups made using the attribute access syntax '
-                 '--\n'
+                 '–\n'
                  '  directly accessing the module globals (whether by code '
                  'within the\n'
-                 "  module, or via a reference to the module's globals "
+                 '  module, or via a reference to the module’s globals '
                  'dictionary) is\n'
                  '  unaffected.\n'
                  '\n'
@@ -8244,13 +8232,13 @@
                  'class\n'
                  'containing the method (a so-called *descriptor* class) '
                  'appears in an\n'
-                 "*owner* class (the descriptor must be in either the owner's "
+                 '*owner* class (the descriptor must be in either the owner’s '
                  'class\n'
                  'dictionary or in the class dictionary for one of its '
                  'parents).  In the\n'
-                 'examples below, "the attribute" refers to the attribute '
+                 'examples below, “the attribute” refers to the attribute '
                  'whose name is\n'
-                 'the key of the property in the owner class\' "__dict__".\n'
+                 'the key of the property in the owner class’ "__dict__".\n'
                  '\n'
                  'object.__get__(self, instance, owner)\n'
                  '\n'
@@ -8307,8 +8295,8 @@
                  '--------------------\n'
                  '\n'
                  'In general, a descriptor is an object attribute with '
-                 '"binding\n'
-                 'behavior", one whose attribute access has been overridden by '
+                 '“binding\n'
+                 'behavior”, one whose attribute access has been overridden by '
                  'methods\n'
                  'in the descriptor protocol:  "__get__()", "__set__()", and\n'
                  '"__delete__()". If any of those methods are defined for an '
@@ -8317,7 +8305,7 @@
                  '\n'
                  'The default behavior for attribute access is to get, set, or '
                  'delete\n'
-                 "the attribute from an object's dictionary. For instance, "
+                 'the attribute from an object’s dictionary. For instance, '
                  '"a.x" has a\n'
                  'lookup chain starting with "a.__dict__[\'x\']", then\n'
                  '"type(a).__dict__[\'x\']", and continuing through the base '
@@ -8371,7 +8359,7 @@
                  'does not define "__get__()", then accessing the attribute '
                  'will return\n'
                  'the descriptor object itself unless there is a value in the '
-                 "object's\n"
+                 'object’s\n'
                  'instance dictionary.  If the descriptor defines "__set__()" '
                  'and/or\n'
                  '"__delete__()", it is a data descriptor; if it defines '
@@ -8489,7 +8477,7 @@
                  '\n'
                  '* Nonempty *__slots__* does not work for classes derived '
                  'from\n'
-                 '  "variable-length" built-in types such as "int", "bytes" '
+                 '  “variable-length” built-in types such as "int", "bytes" '
                  'and "tuple".\n'
                  '\n'
                  '* Any non-string iterable may be assigned to *__slots__*. '
@@ -8522,7 +8510,7 @@
                  'to class\n'
                  'decorators, but where class decorators only affect the '
                  'specific class\n'
-                 'they\'re applied to, "__init_subclass__" solely applies to '
+                 'they’re applied to, "__init_subclass__" solely applies to '
                  'future\n'
                  'subclasses of the class defining the method.\n'
                  '\n'
@@ -8537,7 +8525,7 @@
                  '\n'
                  '   Keyword arguments which are given to a new class are '
                  'passed to the\n'
-                 '   parent\'s class "__init_subclass__". For compatibility '
+                 '   parent’s class "__init_subclass__". For compatibility '
                  'with other\n'
                  '   classes using "__init_subclass__", one should take out '
                  'the needed\n'
@@ -8815,7 +8803,7 @@
                  '\n'
                  'When the class definition for *A* gets executed, the process '
                  'begins\n'
-                 'with calling the metaclass\'s "__prepare__()" method which '
+                 'with calling the metaclass’s "__prepare__()" method which '
                  'returns an\n'
                  'empty "collections.OrderedDict".  That mapping records the '
                  'methods and\n'
@@ -8823,7 +8811,7 @@
                  'class\n'
                  'statement. Once those definitions are executed, the ordered '
                  'dictionary\n'
-                 'is fully populated and the metaclass\'s "__new__()" method '
+                 'is fully populated and the metaclass’s "__new__()" method '
                  'gets\n'
                  'invoked.  That method builds the new type and it saves the '
                  'ordered\n'
@@ -8841,7 +8829,7 @@
                  'methods in\n'
                  'order to allow the addition of Abstract Base Classes (ABCs) '
                  'as\n'
-                 '"virtual base classes" to any class or type (including '
+                 '“virtual base classes” to any class or type (including '
                  'built-in\n'
                  'types), including other ABCs.\n'
                  '\n'
@@ -8889,7 +8877,7 @@
                  '\n'
                  'object.__call__(self[, args...])\n'
                  '\n'
-                 '   Called when the instance is "called" as a function; if '
+                 '   Called when the instance is “called” as a function; if '
                  'this method\n'
                  '   is defined, "x(arg1, arg2, ...)" is a shorthand for\n'
                  '   "x.__call__(arg1, arg2, ...)".\n'
@@ -8918,7 +8906,7 @@
                  '"clear()",\n'
                  '"setdefault()", "pop()", "popitem()", "copy()", and '
                  '"update()"\n'
-                 "behaving similar to those for Python's standard dictionary "
+                 'behaving similar to those for Python’s standard dictionary '
                  'objects.\n'
                  'The "collections.abc" module provides a "MutableMapping" '
                  'abstract base\n'
@@ -8943,7 +8931,7 @@
                  'recommended that both mappings and sequences implement the\n'
                  '"__contains__()" method to allow efficient use of the "in" '
                  'operator;\n'
-                 'for mappings, "in" should search the mapping\'s keys; for '
+                 'for mappings, "in" should search the mapping’s keys; for '
                  'sequences, it\n'
                  'should search through the values.  It is further recommended '
                  'that both\n'
@@ -8961,7 +8949,7 @@
                  'Should return\n'
                  '   the length of the object, an integer ">=" 0.  Also, an '
                  'object that\n'
-                 '   doesn\'t define a "__bool__()" method and whose '
+                 '   doesn’t define a "__bool__()" method and whose '
                  '"__len__()" method\n'
                  '   returns zero is considered to be false in a Boolean '
                  'context.\n'
@@ -9117,7 +9105,7 @@
                  'values or\n'
                  '   the key-item pairs.\n'
                  '\n'
-                 '   For objects that don\'t define "__contains__()", the '
+                 '   For objects that don’t define "__contains__()", the '
                  'membership test\n'
                  '   first tries iteration via "__iter__()", then the old '
                  'sequence\n'
@@ -9213,15 +9201,15 @@
                  '"__rpow__()" (the\n'
                  '   coercion rules would become too complicated).\n'
                  '\n'
-                 "   Note: If the right operand's type is a subclass of the "
+                 '   Note: If the right operand’s type is a subclass of the '
                  'left\n'
-                 "     operand's type and that subclass provides the reflected "
+                 '     operand’s type and that subclass provides the reflected '
                  'method\n'
                  '     for the operation, this method will be called before '
                  'the left\n'
-                 "     operand's non-reflected method.  This behavior allows "
+                 '     operand’s non-reflected method.  This behavior allows '
                  'subclasses\n'
-                 "     to override their ancestors' operations.\n"
+                 '     to override their ancestors’ operations.\n'
                  '\n'
                  'object.__iadd__(self, other)\n'
                  'object.__isub__(self, other)\n'
@@ -9259,7 +9247,7 @@
                  'certain\n'
                  '   situations, augmented assignment can result in unexpected '
                  'errors\n'
-                 "   (see Why does a_tuple[i] += ['item'] raise an exception "
+                 '   (see Why does a_tuple[i] += [‘item’] raise an exception '
                  'when the\n'
                  '   addition works?), but this behavior is in fact part of '
                  'the data\n'
@@ -9349,7 +9337,7 @@
                  '\n'
                  '   Enter the runtime context related to this object. The '
                  '"with"\n'
-                 "   statement will bind this method's return value to the "
+                 '   statement will bind this method’s return value to the '
                  'target(s)\n'
                  '   specified in the "as" clause of the statement, if any.\n'
                  '\n'
@@ -9373,11 +9361,11 @@
                  '\n'
                  '   Note that "__exit__()" methods should not reraise the '
                  'passed-in\n'
-                 "   exception; this is the caller's responsibility.\n"
+                 '   exception; this is the caller’s responsibility.\n'
                  '\n'
                  'See also:\n'
                  '\n'
-                 '  **PEP 343** - The "with" statement\n'
+                 '  **PEP 343** - The “with” statement\n'
                  '     The specification, background, and examples for the '
                  'Python "with"\n'
                  '     statement.\n'
@@ -9388,9 +9376,9 @@
                  '\n'
                  'For custom classes, implicit invocations of special methods '
                  'are only\n'
-                 "guaranteed to work correctly if defined on an object's type, "
+                 'guaranteed to work correctly if defined on an object’s type, '
                  'not in\n'
-                 "the object's instance dictionary.  That behaviour is the "
+                 'the object’s instance dictionary.  That behaviour is the '
                  'reason why\n'
                  'the following code raises an exception:\n'
                  '\n'
@@ -9424,7 +9412,7 @@
                  '\n'
                  'Incorrectly attempting to invoke an unbound method of a '
                  'class in this\n'
-                 "way is sometimes referred to as 'metaclass confusion', and "
+                 'way is sometimes referred to as ‘metaclass confusion’, and '
                  'is avoided\n'
                  'by bypassing the instance when looking up special methods:\n'
                  '\n'
@@ -9437,7 +9425,7 @@
                  'interest of\n'
                  'correctness, implicit special method lookup generally also '
                  'bypasses\n'
-                 'the "__getattribute__()" method even of the object\'s '
+                 'the "__getattribute__()" method even of the object’s '
                  'metaclass:\n'
                  '\n'
                  '   >>> class Meta(type):\n'
@@ -9717,11 +9705,11 @@
                    'Alphabetic\n'
                    '   characters are those characters defined in the Unicode '
                    'character\n'
-                   '   database as "Letter", i.e., those with general category '
+                   '   database as “Letter”, i.e., those with general category '
                    'property\n'
-                   '   being one of "Lm", "Lt", "Lu", "Ll", or "Lo".  Note '
+                   '   being one of “Lm”, “Lt”, “Lu”, “Ll”, or “Lo”.  Note '
                    'that this is\n'
-                   '   different from the "Alphabetic" property defined in the '
+                   '   different from the “Alphabetic” property defined in the '
                    'Unicode\n'
                    '   Standard.\n'
                    '\n'
@@ -9745,7 +9733,7 @@
                    'in base 10,\n'
                    '   e.g. U+0660, ARABIC-INDIC DIGIT ZERO.  Formally a '
                    'decimal character\n'
-                   '   is a character in the Unicode General Category "Nd".\n'
+                   '   is a character in the Unicode General Category “Nd”.\n'
                    '\n'
                    'str.isdigit()\n'
                    '\n'
@@ -9804,7 +9792,7 @@
                    'characters are\n'
                    '   those characters defined in the Unicode character '
                    'database as\n'
-                   '   "Other" or "Separator", excepting the ASCII space '
+                   '   “Other” or “Separator”, excepting the ASCII space '
                    '(0x20) which is\n'
                    '   considered printable.  (Note that printable characters '
                    'in this\n'
@@ -9822,9 +9810,9 @@
                    'Whitespace\n'
                    '   characters  are those characters defined in the Unicode '
                    'character\n'
-                   '   database as "Other" or "Separator" and those with '
+                   '   database as “Other” or “Separator” and those with '
                    'bidirectional\n'
-                   '   property being one of "WS", "B", or "S".\n'
+                   '   property being one of “WS”, “B”, or “S”.\n'
                    '\n'
                    'str.istitle()\n'
                    '\n'
@@ -10282,9 +10270,9 @@
                    '"str.upper().isupper()" might be\n'
                    '   "False" if "s" contains uncased characters or if the '
                    'Unicode\n'
-                   '   category of the resulting character(s) is not "Lu" '
+                   '   category of the resulting character(s) is not “Lu” '
                    '(Letter,\n'
-                   '   uppercase), but e.g. "Lt" (Letter, titlecase).\n'
+                   '   uppercase), but e.g. “Lt” (Letter, titlecase).\n'
                    '\n'
                    '   The uppercasing algorithm used is described in section '
                    '3.13 of the\n'
@@ -10379,9 +10367,9 @@
             'literals,\n'
             '"\'\\U\'" and "\'\\u\'" escapes in raw strings are not treated '
             'specially.\n'
-            "Given that Python 2.x's raw unicode literals behave differently "
+            'Given that Python 2.x’s raw unicode literals behave differently '
             'than\n'
-            'Python 3.x\'s the "\'ur\'" syntax is not supported.\n'
+            'Python 3.x’s the "\'ur\'" syntax is not supported.\n'
             '\n'
             'New in version 3.3: The "\'rb\'" prefix of raw bytes literals has '
             'been\n'
@@ -10405,7 +10393,7 @@
             'In triple-quoted literals, unescaped newlines and quotes are '
             'allowed\n'
             '(and are retained), except that three unescaped quotes in a row\n'
-            'terminate the literal.  (A "quote" is the character used to open '
+            'terminate the literal.  (A “quote” is the character used to open '
             'the\n'
             'literal, i.e. either "\'" or """.)\n'
             '\n'
@@ -10584,13 +10572,13 @@
                   'item whose\n'
                   'index is that value (counting from zero). Since the support '
                   'for\n'
-                  "negative indices and slicing occurs in the object's "
+                  'negative indices and slicing occurs in the object’s '
                   '"__getitem__()"\n'
                   'method, subclasses overriding this method will need to '
                   'explicitly add\n'
                   'that support.\n'
                   '\n'
-                  "A string's items are characters.  A character is not a "
+                  'A string’s items are characters.  A character is not a '
                   'separate data\n'
                   'type but a string of exactly one character.\n',
  'truth': 'Truth Value Testing\n'
@@ -10647,7 +10635,7 @@
         'less except clause, if present, must be last; it matches any\n'
         'exception.  For an except clause with an expression, that expression\n'
         'is evaluated, and the clause matches the exception if the resulting\n'
-        'object is "compatible" with the exception.  An object is compatible\n'
+        'object is “compatible” with the exception.  An object is compatible\n'
         'with an exception if it is the class or a base class of the '
         'exception\n'
         'object or a tuple containing an item compatible with the exception.\n'
@@ -10669,7 +10657,7 @@
         'When a matching except clause is found, the exception is assigned to\n'
         'the target specified after the "as" keyword in that except clause, '
         'if\n'
-        "present, and the except clause's suite is executed.  All except\n"
+        'present, and the except clause’s suite is executed.  All except\n'
         'clauses must have an executable block.  When the end of this block '
         'is\n'
         'reached, execution continues normally after the entire try '
@@ -10699,7 +10687,7 @@
         'cycle with the stack frame, keeping all locals in that frame alive\n'
         'until the next garbage collection occurs.\n'
         '\n'
-        "Before an except clause's suite is executed, details about the\n"
+        'Before an except clause’s suite is executed, details about the\n'
         'exception are stored in the "sys" module and can be accessed via\n'
         '"sys.exc_info()". "sys.exc_info()" returns a 3-tuple consisting of '
         'the\n'
@@ -10713,7 +10701,7 @@
         'the end of the "try" clause. [2] Exceptions in the "else" clause are\n'
         'not handled by the preceding "except" clauses.\n'
         '\n'
-        'If "finally" is present, it specifies a \'cleanup\' handler.  The '
+        'If "finally" is present, it specifies a ‘cleanup’ handler.  The '
         '"try"\n'
         'clause is executed, including any "except" and "else" clauses.  If '
         'an\n'
@@ -10741,12 +10729,10 @@
         'execution of the "finally" clause.\n'
         '\n'
         'When a "return", "break" or "continue" statement is executed in the\n'
-        '"try" suite of a "try"..."finally" statement, the "finally" clause '
-        'is\n'
-        'also executed \'on the way out.\' A "continue" statement is illegal '
-        'in\n'
+        '"try" suite of a "try"…"finally" statement, the "finally" clause is\n'
+        'also executed ‘on the way out.’ A "continue" statement is illegal in\n'
         'the "finally" clause. (The reason is a problem with the current\n'
-        'implementation --- this restriction may be lifted in the future).\n'
+        'implementation — this restriction may be lifted in the future).\n'
         '\n'
         'The return value of a function is determined by the last "return"\n'
         'statement executed.  Since the "finally" clause always executes, a\n'
@@ -10781,7 +10767,7 @@
           'will often be provided via the standard library instead.\n'
           '\n'
           'Some of the type descriptions below contain a paragraph listing\n'
-          "'special attributes.'  These are attributes that provide access to "
+          '‘special attributes.’  These are attributes that provide access to '
           'the\n'
           'implementation and are not intended for general use.  Their '
           'definition\n'
@@ -10794,7 +10780,7 @@
           'It\n'
           '   is used to signify the absence of a value in many situations, '
           'e.g.,\n'
-          "   it is returned from functions that don't explicitly return\n"
+          '   it is returned from functions that don’t explicitly return\n'
           '   anything. Its truth value is false.\n'
           '\n'
           'NotImplemented\n'
@@ -10845,7 +10831,7 @@
           'shift\n'
           '         and mask operations, a binary representation is assumed, '
           'and\n'
-          "         negative numbers are represented in a variant of 2's\n"
+          '         negative numbers are represented in a variant of 2’s\n'
           '         complement which gives the illusion of an infinite string '
           'of\n'
           '         sign bits extending to the left.\n'
@@ -10899,7 +10885,7 @@
           'items\n'
           '   of a sequence. When the length of a sequence is *n*, the index '
           'set\n'
-          '   contains the numbers 0, 1, ..., *n*-1.  Item *i* of sequence *a* '
+          '   contains the numbers 0, 1, …, *n*-1.  Item *i* of sequence *a* '
           'is\n'
           '   selected by "a[i]".\n'
           '\n'
@@ -10909,8 +10895,8 @@
           'implies\n'
           '   that the index set is renumbered so that it starts at 0.\n'
           '\n'
-          '   Some sequences also support "extended slicing" with a third '
-          '"step"\n'
+          '   Some sequences also support “extended slicing” with a third '
+          '“step”\n'
           '   parameter: "a[i:j:k]" selects all items of *a* with index *x* '
           'where\n'
           '   "x = i + n*k", *n* ">=" "0" and *i* "<=" *x* "<" *j*.\n'
@@ -10935,7 +10921,7 @@
           'code\n'
           '         points. All the code points in the range "U+0000 - '
           'U+10FFFF"\n'
-          "         can be represented in a string.  Python doesn't have a "
+          '         can be represented in a string.  Python doesn’t have a '
           '"char"\n'
           '         type; instead, every code point in the string is '
           'represented\n'
@@ -10954,7 +10940,7 @@
           '         The items of a tuple are arbitrary Python objects. Tuples '
           'of\n'
           '         two or more items are formed by comma-separated lists of\n'
-          "         expressions.  A tuple of one item (a 'singleton') can be\n"
+          '         expressions.  A tuple of one item (a ‘singleton’) can be\n'
           '         formed by affixing a comma to an expression (an expression '
           'by\n'
           '         itself does not create a tuple, since parentheses must be\n'
@@ -11060,7 +11046,7 @@
           'object\n'
           '      identity, the reason being that the efficient implementation '
           'of\n'
-          "      dictionaries requires a key's hash value to remain constant.\n"
+          '      dictionaries requires a key’s hash value to remain constant.\n'
           '      Numeric types used for keys obey the normal rules for '
           'numeric\n'
           '      comparison: if two numbers compare equal (e.g., "1" and '
@@ -11085,7 +11071,7 @@
           '      definition (see section Function definitions).  It should be\n'
           '      called with an argument list containing the same number of '
           'items\n'
-          "      as the function's formal parameter list.\n"
+          '      as the function’s formal parameter list.\n'
           '\n'
           '      Special attributes:\n'
           '\n'
@@ -11095,8 +11081,8 @@
           '|             |\n'
           '      '
           '+===========================+=================================+=============+\n'
-          '      | "__doc__"                 | The function\'s '
-          'documentation    | Writable    |\n'
+          '      | "__doc__"                 | The function’s documentation    '
+          '| Writable    |\n'
           '      |                           | string, or "None" if            '
           '|             |\n'
           '      |                           | unavailable; not inherited by   '
@@ -11105,12 +11091,12 @@
           '|             |\n'
           '      '
           '+---------------------------+---------------------------------+-------------+\n'
-          '      | "__name__"                | The function\'s '
-          'name             | Writable    |\n'
+          '      | "__name__"                | The function’s name             '
+          '| Writable    |\n'
           '      '
           '+---------------------------+---------------------------------+-------------+\n'
-          '      | "__qualname__"            | The function\'s *qualified '
-          'name* | Writable    |\n'
+          '      | "__qualname__"            | The function’s *qualified name* '
+          '| Writable    |\n'
           '      |                           | New in version 3.3.             '
           '|             |\n'
           '      '
@@ -11143,9 +11129,9 @@
           '+---------------------------+---------------------------------+-------------+\n'
           '      | "__globals__"             | A reference to the dictionary   '
           '| Read-only   |\n'
-          "      |                           | that holds the function's       "
+          '      |                           | that holds the function’s       '
           '|             |\n'
-          '      |                           | global variables --- the global '
+          '      |                           | global variables — the global   '
           '|             |\n'
           '      |                           | namespace of the module in      '
           '|             |\n'
@@ -11163,7 +11149,7 @@
           '| Read-only   |\n'
           '      |                           | contain bindings for the        '
           '|             |\n'
-          "      |                           | function's free variables. See  "
+          '      |                           | function’s free variables. See  '
           '|             |\n'
           '      |                           | below for information on the    '
           '|             |\n'
@@ -11190,7 +11176,7 @@
           '      '
           '+---------------------------+---------------------------------+-------------+\n'
           '\n'
-          '      Most of the attributes labelled "Writable" check the type of '
+          '      Most of the attributes labelled “Writable” check the type of '
           'the\n'
           '      assigned value.\n'
           '\n'
@@ -11209,7 +11195,7 @@
           '      A cell object has the attribute "cell_contents". This can be\n'
           '      used to get the value of the cell, as well as set the value.\n'
           '\n'
-          "      Additional information about a function's definition can be\n"
+          '      Additional information about a function’s definition can be\n'
           '      retrieved from its code object; see the description of '
           'internal\n'
           '      types below.\n'
@@ -11222,7 +11208,7 @@
           '      Special read-only attributes: "__self__" is the class '
           'instance\n'
           '      object, "__func__" is the function object; "__doc__" is the\n'
-          '      method\'s documentation (same as "__func__.__doc__"); '
+          '      method’s documentation (same as "__func__.__doc__"); '
           '"__name__"\n'
           '      is the method name (same as "__func__.__name__"); '
           '"__module__"\n'
@@ -11246,7 +11232,7 @@
           'instances,\n'
           '      its "__self__" attribute is the instance, and the method '
           'object\n'
-          '      is said to be bound.  The new method\'s "__func__" attribute '
+          '      is said to be bound.  The new method’s "__func__" attribute '
           'is\n'
           '      the original function object.\n'
           '\n'
@@ -11279,7 +11265,7 @@
           '\n'
           '      When an instance method object is derived from a class '
           'method\n'
-          '      object, the "class instance" stored in "__self__" will '
+          '      object, the “class instance” stored in "__self__" will '
           'actually\n'
           '      be the class itself, so that calling either "x.f(1)" or '
           '"C.f(1)"\n'
@@ -11312,7 +11298,7 @@
           'object\n'
           '      which can be used to execute the body of the function:  '
           'calling\n'
-          '      the iterator\'s "iterator.__next__()" method will cause the\n'
+          '      the iterator’s "iterator.__next__()" method will cause the\n'
           '      function to execute until it provides a value using the '
           '"yield"\n'
           '      statement.  When the function executes a "return" statement '
@@ -11341,7 +11327,7 @@
           'for"\n'
           '      statement to execute the body of the function.\n'
           '\n'
-          '      Calling the asynchronous iterator\'s "aiterator.__anext__()"\n'
+          '      Calling the asynchronous iterator’s "aiterator.__anext__()"\n'
           '      method will return an *awaitable* which when awaited will\n'
           '      execute until it provides a value using the "yield" '
           'expression.\n'
@@ -11360,9 +11346,9 @@
           'of\n'
           '      the arguments are determined by the C function. Special '
           'read-\n'
-          '      only attributes: "__doc__" is the function\'s documentation\n'
+          '      only attributes: "__doc__" is the function’s documentation\n'
           '      string, or "None" if unavailable; "__name__" is the '
-          "function's\n"
+          'function’s\n'
           '      name; "__self__" is set to "None" (but see the next item);\n'
           '      "__module__" is the name of the module the function was '
           'defined\n'
@@ -11405,16 +11391,16 @@
           '   translated to lookups in this dictionary, e.g., "m.x" is '
           'equivalent\n'
           '   to "m.__dict__["x"]". A module object does not contain the code\n'
-          "   object used to initialize the module (since it isn't needed "
+          '   object used to initialize the module (since it isn’t needed '
           'once\n'
           '   the initialization is done).\n'
           '\n'
-          "   Attribute assignment updates the module's namespace dictionary,\n"
+          '   Attribute assignment updates the module’s namespace dictionary,\n'
           '   e.g., "m.x = 1" is equivalent to "m.__dict__["x"] = 1".\n'
           '\n'
-          '   Predefined (writable) attributes: "__name__" is the module\'s '
+          '   Predefined (writable) attributes: "__name__" is the module’s '
           'name;\n'
-          '   "__doc__" is the module\'s documentation string, or "None" if\n'
+          '   "__doc__" is the module’s documentation string, or "None" if\n'
           '   unavailable; "__annotations__" (optional) is a dictionary\n'
           '   containing *variable annotations* collected during module body\n'
           '   execution; "__file__" is the pathname of the file from which '
@@ -11427,7 +11413,7 @@
           'is\n'
           '   the pathname of the shared library file.\n'
           '\n'
-          '   Special read-only attribute: "__dict__" is the module\'s '
+          '   Special read-only attribute: "__dict__" is the module’s '
           'namespace\n'
           '   as a dictionary object.\n'
           '\n'
@@ -11456,7 +11442,7 @@
           '   classes. This search of the base classes uses the C3 method\n'
           '   resolution order which behaves correctly even in the presence '
           'of\n'
-          "   'diamond' inheritance structures where there are multiple\n"
+          '   ‘diamond’ inheritance structures where there are multiple\n'
           '   inheritance paths leading back to a common ancestor. Additional\n'
           '   details on the C3 MRO used by Python can be found in the\n'
           '   documentation accompanying the 2.3 release at\n'
@@ -11475,7 +11461,7 @@
           'differ\n'
           '   from those actually contained in its "__dict__".\n'
           '\n'
-          "   Class attribute assignments update the class's dictionary, "
+          '   Class attribute assignments update the class’s dictionary, '
           'never\n'
           '   the dictionary of a base class.\n'
           '\n'
@@ -11487,11 +11473,11 @@
           'is\n'
           '   the module name in which the class was defined; "__dict__" is '
           'the\n'
-          '   dictionary containing the class\'s namespace; "__bases__" is a '
+          '   dictionary containing the class’s namespace; "__bases__" is a '
           'tuple\n'
           '   containing the base classes, in the order of their occurrence '
           'in\n'
-          '   the base class list; "__doc__" is the class\'s documentation '
+          '   the base class list; "__doc__" is the class’s documentation '
           'string,\n'
           '   or "None" if undefined; "__annotations__" (optional) is a\n'
           '   dictionary containing *variable annotations* collected during '
@@ -11504,7 +11490,7 @@
           '   A class instance has a namespace implemented as a dictionary '
           'which\n'
           '   is the first place in which attribute references are searched.\n'
-          "   When an attribute is not found there, and the instance's class "
+          '   When an attribute is not found there, and the instance’s class '
           'has\n'
           '   an attribute by that name, the search continues with the class\n'
           '   attributes.  If a class attribute is found that is a '
@@ -11513,17 +11499,17 @@
           'object\n'
           '   whose "__self__" attribute is the instance.  Static method and\n'
           '   class method objects are also transformed; see above under\n'
-          '   "Classes".  See section Implementing Descriptors for another way '
+          '   “Classes”.  See section Implementing Descriptors for another way '
           'in\n'
           '   which attributes of a class retrieved via its instances may '
           'differ\n'
-          '   from the objects actually stored in the class\'s "__dict__".  If '
+          '   from the objects actually stored in the class’s "__dict__".  If '
           'no\n'
-          "   class attribute is found, and the object's class has a\n"
+          '   class attribute is found, and the object’s class has a\n'
           '   "__getattr__()" method, that is called to satisfy the lookup.\n'
           '\n'
-          "   Attribute assignments and deletions update the instance's\n"
-          "   dictionary, never a class's dictionary.  If the class has a\n"
+          '   Attribute assignments and deletions update the instance’s\n'
+          '   dictionary, never a class’s dictionary.  If the class has a\n'
           '   "__setattr__()" or "__delattr__()" method, this is called '
           'instead\n'
           '   of updating the instance dictionary directly.\n'
@@ -11534,7 +11520,7 @@
           '   Special method names.\n'
           '\n'
           '   Special attributes: "__dict__" is the attribute dictionary;\n'
-          '   "__class__" is the instance\'s class.\n'
+          '   "__class__" is the instance’s class.\n'
           '\n'
           'I/O objects (also known as file objects)\n'
           '   A *file object* represents an open file.  Various shortcuts are\n'
@@ -11546,7 +11532,7 @@
           '   provided by extension modules).\n'
           '\n'
           '   The objects "sys.stdin", "sys.stdout" and "sys.stderr" are\n'
-          "   initialized to file objects corresponding to the interpreter's\n"
+          '   initialized to file objects corresponding to the interpreter’s\n'
           '   standard input, output and error streams; they are all open in '
           'text\n'
           '   mode and therefore follow the interface defined by the\n'
@@ -11564,7 +11550,7 @@
           '      or *bytecode*. The difference between a code object and a\n'
           '      function object is that the function object contains an '
           'explicit\n'
-          "      reference to the function's globals (the module in which it "
+          '      reference to the function’s globals (the module in which it '
           'was\n'
           '      defined), while a code object contains no context; also the\n'
           '      default argument values are stored in the function object, '
@@ -11667,13 +11653,12 @@
           '      undefined interpreter behaviour if exceptions raised by the\n'
           '      trace function escape to the function being traced.\n'
           '\n'
-          '      "f_lineno" is the current line number of the frame --- '
-          'writing\n'
-          '      to this from within a trace function jumps to the given line\n'
-          '      (only for the bottom-most frame).  A debugger can implement '
-          'a\n'
-          '      Jump command (aka Set Next Statement) by writing to '
-          'f_lineno.\n'
+          '      "f_lineno" is the current line number of the frame — writing '
+          'to\n'
+          '      this from within a trace function jumps to the given line '
+          '(only\n'
+          '      for the bottom-most frame).  A debugger can implement a Jump\n'
+          '      command (aka Set Next Statement) by writing to f_lineno.\n'
           '\n'
           '      Frame objects support one method:\n'
           '\n'
@@ -11799,7 +11784,7 @@
           '      is retrieved from classes and class instances. The behaviour '
           'of\n'
           '      class method objects upon such retrieval is described above,\n'
-          '      under "User-defined methods". Class method objects are '
+          '      under “User-defined methods”. Class method objects are '
           'created\n'
           '      by the built-in "classmethod()" constructor.\n',
  'typesfunctions': 'Functions\n'
@@ -11819,8 +11804,8 @@
                    'different object types.\n'
                    '\n'
                    'See Function definitions for more information.\n',
- 'typesmapping': 'Mapping Types --- "dict"\n'
-                 '************************\n'
+ 'typesmapping': 'Mapping Types — "dict"\n'
+                 '**********************\n'
                  '\n'
                  'A *mapping* object maps *hashable* values to arbitrary '
                  'objects.\n'
@@ -11831,7 +11816,7 @@
                  'in "list", "set", and "tuple" classes, and the "collections" '
                  'module.)\n'
                  '\n'
-                 "A dictionary's keys are *almost* arbitrary values.  Values "
+                 'A dictionary’s keys are *almost* arbitrary values.  Values '
                  'that are\n'
                  'not *hashable*, that is, values containing lists, '
                  'dictionaries or\n'
@@ -12007,13 +11992,13 @@
                  '\n'
                  '   items()\n'
                  '\n'
-                 '      Return a new view of the dictionary\'s items ("(key, '
+                 '      Return a new view of the dictionary’s items ("(key, '
                  'value)"\n'
                  '      pairs). See the documentation of view objects.\n'
                  '\n'
                  '   keys()\n'
                  '\n'
-                 "      Return a new view of the dictionary's keys.  See the\n"
+                 '      Return a new view of the dictionary’s keys.  See the\n'
                  '      documentation of view objects.\n'
                  '\n'
                  '   pop(key[, default])\n'
@@ -12061,14 +12046,14 @@
                  '\n'
                  '   values()\n'
                  '\n'
-                 "      Return a new view of the dictionary's values.  See "
+                 '      Return a new view of the dictionary’s values.  See '
                  'the\n'
                  '      documentation of view objects.\n'
                  '\n'
                  '   Dictionaries compare equal if and only if they have the '
                  'same "(key,\n'
-                 '   value)" pairs. Order comparisons (\'<\', \'<=\', \'>=\', '
-                 "'>') raise\n"
+                 '   value)" pairs. Order comparisons (‘<’, ‘<=’, ‘>=’, ‘>’) '
+                 'raise\n'
                  '   "TypeError".\n'
                  '\n'
                  'See also: "types.MappingProxyType" can be used to create a '
@@ -12082,7 +12067,7 @@
                  'The objects returned by "dict.keys()", "dict.values()" and\n'
                  '"dict.items()" are *view objects*.  They provide a dynamic '
                  'view on the\n'
-                 "dictionary's entries, which means that when the dictionary "
+                 'dictionary’s entries, which means that when the dictionary '
                  'changes,\n'
                  'the view reflects these changes.\n'
                  '\n'
@@ -12100,31 +12085,26 @@
                  '(represented as\n'
                  '   tuples of "(key, value)") in the dictionary.\n'
                  '\n'
-                 '   Keys and values are iterated over in an arbitrary order '
-                 'which is\n'
-                 '   non-random, varies across Python implementations, and '
-                 'depends on\n'
-                 "   the dictionary's history of insertions and deletions. If "
-                 'keys,\n'
-                 '   values and items views are iterated over with no '
-                 'intervening\n'
-                 '   modifications to the dictionary, the order of items will '
-                 'directly\n'
-                 '   correspond.  This allows the creation of "(value, key)" '
-                 'pairs using\n'
-                 '   "zip()": "pairs = zip(d.values(), d.keys())".  Another '
-                 'way to\n'
-                 '   create the same list is "pairs = [(v, k) for (k, v) in '
-                 'd.items()]".\n'
+                 '   Keys and values are iterated over in insertion order. '
+                 'This allows\n'
+                 '   the creation of "(value, key)" pairs using "zip()": '
+                 '"pairs =\n'
+                 '   zip(d.values(), d.keys())".  Another way to create the '
+                 'same list is\n'
+                 '   "pairs = [(v, k) for (k, v) in d.items()]".\n'
                  '\n'
                  '   Iterating views while adding or deleting entries in the '
                  'dictionary\n'
                  '   may raise a "RuntimeError" or fail to iterate over all '
                  'entries.\n'
                  '\n'
+                 '   Changed in version 3.7: Dict order is guaranteed to be '
+                 'insertion\n'
+                 '   order.\n'
+                 '\n'
                  'x in dictview\n'
                  '\n'
-                 '   Return "True" if *x* is in the underlying dictionary\'s '
+                 '   Return "True" if *x* is in the underlying dictionary’s '
                  'keys, values\n'
                  '   or items (in the latter case, *x* should be a "(key, '
                  'value)"\n'
@@ -12158,10 +12138,10 @@
                  '   >>> print(n)\n'
                  '   504\n'
                  '\n'
-                 '   >>> # keys and values are iterated over in the same '
-                 'order\n'
+                 '   >>> # keys and values are iterated over in the same order '
+                 '(insertion order)\n'
                  '   >>> list(keys)\n'
-                 "   ['eggs', 'bacon', 'sausage', 'spam']\n"
+                 "   ['eggs', 'sausage', 'bacon', 'spam']\n"
                  '   >>> list(values)\n'
                  '   [2, 1, 1, 500]\n'
                  '\n'
@@ -12169,7 +12149,7 @@
                  "   >>> del dishes['eggs']\n"
                  "   >>> del dishes['sausage']\n"
                  '   >>> list(keys)\n'
-                 "   ['spam', 'bacon']\n"
+                 "   ['bacon', 'spam']\n"
                  '\n'
                  '   >>> # set operations\n'
                  "   >>> keys & {'eggs', 'bacon', 'salad'}\n"
@@ -12239,7 +12219,7 @@
                  'The only special operation on a module is attribute access: '
                  '"m.name",\n'
                  'where *m* is a module and *name* accesses a name defined in '
-                 "*m*'s\n"
+                 '*m*’s\n'
                  'symbol table. Module attributes can be assigned to.  (Note '
                  'that the\n'
                  '"import" statement is not, strictly speaking, an operation '
@@ -12252,14 +12232,14 @@
                  '\n'
                  'A special attribute of every module is "__dict__". This is '
                  'the\n'
-                 "dictionary containing the module's symbol table. Modifying "
+                 'dictionary containing the module’s symbol table. Modifying '
                  'this\n'
-                 "dictionary will actually change the module's symbol table, "
+                 'dictionary will actually change the module’s symbol table, '
                  'but direct\n'
                  'assignment to the "__dict__" attribute is not possible (you '
                  'can write\n'
                  '"m.__dict__[\'a\'] = 1", which defines "m.a" to be "1", but '
-                 "you can't\n"
+                 'you can’t\n'
                  'write "m.__dict__ = {}").  Modifying "__dict__" directly is '
                  'not\n'
                  'recommended.\n'
@@ -12270,8 +12250,8 @@
                  'written as\n'
                  '"<module \'os\' from '
                  '\'/usr/local/lib/pythonX.Y/os.pyc\'>".\n',
- 'typesseq': 'Sequence Types --- "list", "tuple", "range"\n'
-             '*******************************************\n'
+ 'typesseq': 'Sequence Types — "list", "tuple", "range"\n'
+             '*****************************************\n'
              '\n'
              'There are three basic sequence types: lists, tuples, and range\n'
              'objects. Additional sequence types tailored for processing of '
@@ -12445,7 +12425,7 @@
              '*j* are\n'
              '   reduced to "len(s) - 1" if they are greater.  If *i* or *j* '
              'are\n'
-             '   omitted or "None", they become "end" values (which end '
+             '   omitted or "None", they become “end” values (which end '
              'depends on\n'
              '   the sign of *k*).  Note, *k* cannot be zero. If *k* is '
              '"None", it\n'
@@ -12476,7 +12456,7 @@
              'documentation\n'
              '\n'
              '7. Some sequence types (such as "range") only support item\n'
-             "   sequences that follow specific patterns, and hence don't "
+             '   sequences that follow specific patterns, and hence don’t '
              'support\n'
              '   sequence concatenation or repetition.\n'
              '\n'
@@ -12633,7 +12613,7 @@
              '   sequence.\n'
              '\n'
              '5. "clear()" and "copy()" are included for consistency with the\n'
-             "   interfaces of mutable containers that don't support slicing\n"
+             '   interfaces of mutable containers that don’t support slicing\n'
              '   operations (such as "dict" and "set")\n'
              '\n'
              '   New in version 3.3: "clear()" and "copy()" methods.\n'
@@ -12673,7 +12653,7 @@
              '\n'
              '   The constructor builds a list whose items are the same and in '
              'the\n'
-             "   same order as *iterable*'s items.  *iterable* may be either "
+             '   same order as *iterable*’s items.  *iterable* may be either '
              'a\n'
              '   sequence, a container that supports iteration, or an '
              'iterator\n'
@@ -12740,8 +12720,8 @@
              'is\n'
              '      stable if it guarantees not to change the relative order '
              'of\n'
-             '      elements that compare equal --- this is helpful for '
-             'sorting in\n'
+             '      elements that compare equal — this is helpful for sorting '
+             'in\n'
              '      multiple passes (for example, sort by department, then by '
              'salary\n'
              '      grade).\n'
@@ -12787,7 +12767,7 @@
              '\n'
              '   The constructor builds a tuple whose items are the same and '
              'in the\n'
-             "   same order as *iterable*'s items.  *iterable* may be either "
+             '   same order as *iterable*’s items.  *iterable* may be either '
              'a\n'
              '   sequence, a container that supports iteration, or an '
              'iterator\n'
@@ -12916,7 +12896,7 @@
              'Range objects implement the "collections.abc.Sequence" ABC, and\n'
              'provide features such as containment tests, element index '
              'lookup,\n'
-             'slicing and support for negative indices (see Sequence Types --- '
+             'slicing and support for negative indices (see Sequence Types — '
              'list,\n'
              'tuple, range):\n'
              '\n'
@@ -12954,7 +12934,7 @@
              'constant\n'
              'time instead of iterating through all items.\n'
              '\n'
-             "Changed in version 3.3: Define '==' and '!=' to compare range "
+             'Changed in version 3.3: Define ‘==’ and ‘!=’ to compare range '
              'objects\n'
              'based on the sequence of values they define (instead of '
              'comparing\n'
@@ -13093,7 +13073,7 @@
                      '\n'
                      '5. "clear()" and "copy()" are included for consistency '
                      'with the\n'
-                     "   interfaces of mutable containers that don't support "
+                     '   interfaces of mutable containers that don’t support '
                      'slicing\n'
                      '   operations (such as "dict" and "set")\n'
                      '\n'
@@ -13148,7 +13128,7 @@
           '\n'
           'A "break" statement executed in the first suite terminates the '
           'loop\n'
-          'without executing the "else" clause\'s suite.  A "continue" '
+          'without executing the "else" clause’s suite.  A "continue" '
           'statement\n'
           'executed in the first suite skips the rest of the suite and goes '
           'back\n'
@@ -13158,21 +13138,22 @@
          '\n'
          'The "with" statement is used to wrap the execution of a block with\n'
          'methods defined by a context manager (see section With Statement\n'
-         'Context Managers). This allows common "try"..."except"..."finally"\n'
-         'usage patterns to be encapsulated for convenient reuse.\n'
+         'Context Managers). This allows common "try"…"except"…"finally" '
+         'usage\n'
+         'patterns to be encapsulated for convenient reuse.\n'
          '\n'
          '   with_stmt ::= "with" with_item ("," with_item)* ":" suite\n'
          '   with_item ::= expression ["as" target]\n'
          '\n'
-         'The execution of the "with" statement with one "item" proceeds as\n'
+         'The execution of the "with" statement with one “item” proceeds as\n'
          'follows:\n'
          '\n'
          '1. The context expression (the expression given in the "with_item")\n'
          '   is evaluated to obtain a context manager.\n'
          '\n'
-         '2. The context manager\'s "__exit__()" is loaded for later use.\n'
+         '2. The context manager’s "__exit__()" is loaded for later use.\n'
          '\n'
-         '3. The context manager\'s "__enter__()" method is invoked.\n'
+         '3. The context manager’s "__enter__()" method is invoked.\n'
          '\n'
          '4. If a target was included in the "with" statement, the return\n'
          '   value from "__enter__()" is assigned to it.\n'
@@ -13186,7 +13167,7 @@
          '\n'
          '5. The suite is executed.\n'
          '\n'
-         '6. The context manager\'s "__exit__()" method is invoked.  If an\n'
+         '6. The context manager’s "__exit__()" method is invoked.  If an\n'
          '   exception caused the suite to be exited, its type, value, and\n'
          '   traceback are passed as arguments to "__exit__()". Otherwise, '
          'three\n'
@@ -13222,7 +13203,7 @@
          '\n'
          'See also:\n'
          '\n'
-         '  **PEP 343** - The "with" statement\n'
+         '  **PEP 343** - The “with” statement\n'
          '     The specification, background, and examples for the Python '
          '"with"\n'
          '     statement.\n',
diff --git a/Misc/NEWS.d/3.7.0b4.rst b/Misc/NEWS.d/3.7.0b4.rst
new file mode 100644
index 0000000..a6cae28
--- /dev/null
+++ b/Misc/NEWS.d/3.7.0b4.rst
@@ -0,0 +1,466 @@
+.. bpo: 33363
+.. date: 2018-04-26-22-48-28
+.. nonce: 8RCnN2
+.. release date: 2018-05-02
+.. section: Core and Builtins
+
+Raise a SyntaxError for ``async with`` and ``async for`` statements outside
+of async functions.
+
+..
+
+.. bpo: 33128
+.. date: 2018-04-24-22-31-04
+.. nonce: g2yLuf
+.. section: Core and Builtins
+
+Fix a bug that causes PathFinder to appear twice on sys.meta_path. Patch by
+Pablo Galindo Salgado.
+
+..
+
+.. bpo: 33312
+.. date: 2018-04-19-08-30-07
+.. nonce: mDe2iL
+.. section: Core and Builtins
+
+Fixed clang ubsan (undefined behavior sanitizer) warnings in dictobject.c by
+adjusting how the internal struct _dictkeysobject shared keys structure is
+declared.
+
+..
+
+.. bpo: 33231
+.. date: 2018-04-05-22-20-44
+.. nonce: 3Jmo0q
+.. section: Core and Builtins
+
+Fix potential memory leak in ``normalizestring()``.
+
+..
+
+.. bpo: 33205
+.. date: 2018-04-03-00-58-41
+.. nonce: lk2F3r
+.. section: Core and Builtins
+
+Change dict growth function from
+``round_up_to_power_2(used*2+hashtable_size/2)`` to
+``round_up_to_power_2(used*3)``.  Previously, dict is shrinked only when
+``used == 0``. Now dict has more chance to be shrinked.
+
+..
+
+.. bpo: 29922
+.. date: 2018-04-03-00-30-25
+.. nonce: CdLuMl
+.. section: Core and Builtins
+
+Improved error messages in 'async with' when ``__aenter__()`` or
+``__aexit__()`` return non-awaitable object.
+
+..
+
+.. bpo: 33199
+.. date: 2018-04-02-09-32-40
+.. nonce: TPnxQu
+.. section: Core and Builtins
+
+Fix ``ma_version_tag`` in dict implementation is uninitialized when copying
+from key-sharing dict.
+
+..
+
+.. bpo: 33281
+.. date: 2018-05-01-22-35-50
+.. nonce: d4jOt4
+.. section: Library
+
+Fix ctypes.util.find_library regression on macOS.
+
+..
+
+.. bpo: 33383
+.. date: 2018-04-29-11-15-38
+.. nonce: g32YWn
+.. section: Library
+
+Fixed crash in the get() method of the :mod:`dbm.ndbm` database object when
+it is called with a single argument.
+
+..
+
+.. bpo: 33329
+.. date: 2018-04-23-13-21-39
+.. nonce: lQ-Eod
+.. section: Library
+
+Fix multiprocessing regression on newer glibcs
+
+..
+
+.. bpo: 991266
+.. date: 2018-04-21-00-24-08
+.. nonce: h93TP_
+.. section: Library
+
+Fix quoting of the ``Comment`` attribute of
+:class:`http.cookies.SimpleCookie`.
+
+..
+
+.. bpo: 33131
+.. date: 2018-04-20-10-43-17
+.. nonce: L2E977
+.. section: Library
+
+Upgrade bundled version of pip to 10.0.1.
+
+..
+
+.. bpo: 33308
+.. date: 2018-04-18-19-12-25
+.. nonce: fW75xi
+.. section: Library
+
+Fixed a crash in the :mod:`parser` module when converting an ST object to a
+tree of tuples or lists with ``line_info=False`` and ``col_info=True``.
+
+..
+
+.. bpo: 33266
+.. date: 2018-04-16-15-59-21
+.. nonce: w2PAm-
+.. section: Library
+
+lib2to3 now recognizes ``rf'...'`` strings.
+
+..
+
+.. bpo: 11594
+.. date: 2018-04-16-08-42-03
+.. nonce: QLo4vv
+.. section: Library
+
+Ensure line-endings are respected when using lib2to3.
+
+..
+
+.. bpo: 33254
+.. date: 2018-04-13-15-14-47
+.. nonce: DS4KFK
+.. section: Library
+
+Have :func:`importlib.resources.contents` and
+:meth:`importlib.abc.ResourceReader.contents` return an :term:`iterable`
+instead of an :term:`iterator`.
+
+..
+
+.. bpo: 33256
+.. date: 2018-04-10-20-57-14
+.. nonce: ndHkqu
+.. section: Library
+
+Fix display of ``<module>`` call in the html produced by ``cgitb.html()``.
+Patch by Stéphane Blondon.
+
+..
+
+.. bpo: 33185
+.. date: 2018-04-08-22-54-07
+.. nonce: Id-Ba9
+.. section: Library
+
+Fixed regression when running pydoc with the :option:`-m` switch. (The
+regression was introduced in 3.7.0b3 by the resolution of :issue:`33053`)
+
+This fix also changed pydoc to add ``os.getcwd()`` to :data:`sys.path` when
+necessary, rather than adding ``"."``.
+
+..
+
+.. bpo: 33169
+.. date: 2018-04-06-14-56-26
+.. nonce: ByhDqb
+.. section: Library
+
+Delete entries of ``None`` in :data:`sys.path_importer_cache` when
+:meth:`importlib.machinery.invalidate_caches` is called.
+
+..
+
+.. bpo: 33217
+.. date: 2018-04-05-13-36-09
+.. nonce: FfOKDI
+.. section: Library
+
+Deprecate looking up non-Enum objects in Enum classes and Enum members (will
+raise :exc:`TypeError` in 3.8+).
+
+..
+
+.. bpo: 33203
+.. date: 2018-04-05-11-09-45
+.. nonce: Hje9Py
+.. section: Library
+
+``random.Random.choice()`` now raises ``IndexError`` for empty sequences
+consistently even when called from subclasses without a ``getrandbits()``
+implementation.
+
+..
+
+.. bpo: 33224
+.. date: 2018-04-04-23-41-30
+.. nonce: pyR0jB
+.. section: Library
+
+Update difflib.mdiff() for PEP 479.  Convert an uncaught StopIteration in a
+generator into a return-statement.
+
+..
+
+.. bpo: 33209
+.. date: 2018-04-03-10-37-13
+.. nonce: 9sGWE_
+.. section: Library
+
+End framing at the end of C implementation of :func:`pickle.Pickler.dump`.
+
+..
+
+.. bpo: 20104
+.. date: 2018-04-01-19-21-04
+.. nonce: -AKcGa
+.. section: Library
+
+Improved error handling and fixed a reference leak in
+:func:`os.posix_spawn()`.
+
+..
+
+.. bpo: 33175
+.. date: 2018-03-29-04-32-25
+.. nonce: _zs1yM
+.. section: Library
+
+In dataclasses, Field.__set_name__ now looks up the __set_name__ special
+method on the class, not the instance, of the default value.
+
+..
+
+.. bpo: 33097
+.. date: 2018-03-18-16-48-23
+.. nonce: Yl4gI2
+.. section: Library
+
+Raise RuntimeError when ``executor.submit`` is called during interpreter
+shutdown.
+
+..
+
+.. bpo: 31908
+.. date: 2017-10-31
+.. nonce: g4xh8x
+.. section: Library
+
+Fix output of cover files for ``trace`` module command-line tool. Previously
+emitted cover files only when ``--missing`` option was used. Patch by
+Michael Selik.
+
+..
+
+.. bpo: 33378
+.. date: 2018-04-29-04-02-18
+.. nonce: -anAHN
+.. section: Documentation
+
+Add Korean language switcher for https://docs.python.org/3/
+
+..
+
+.. bpo: 33276
+.. date: 2018-04-20-14-09-36
+.. nonce: rA1z_3
+.. section: Documentation
+
+Clarify that the ``__path__`` attribute on modules cannot be just any value.
+
+..
+
+.. bpo: 33201
+.. date: 2018-04-01-21-03-41
+.. nonce: aa8Lkl
+.. section: Documentation
+
+Modernize documentation for writing C extension types.
+
+..
+
+.. bpo: 33195
+.. date: 2018-04-01-14-30-36
+.. nonce: dRS-XX
+.. section: Documentation
+
+Deprecate ``Py_UNICODE`` usage in ``c-api/arg`` document. ``Py_UNICODE``
+related APIs are deprecated since Python 3.3, but it is missed in the
+document.
+
+..
+
+.. bpo: 8243
+.. date: 2018-01-13-20-30-53
+.. nonce: s98r28
+.. section: Documentation
+
+Add a note about curses.addch and curses.addstr exception behavior when
+writing outside a window, or pad.
+
+..
+
+.. bpo: 32337
+.. date: 2017-12-22-17-29-37
+.. nonce: eZe-ID
+.. section: Documentation
+
+Update documentation related with ``dict`` order.
+
+..
+
+.. bpo: 33358
+.. date: 2018-04-27-11-46-35
+.. nonce: _OcR59
+.. section: Tests
+
+Fix ``test_embed.test_pre_initialization_sys_options()`` when the
+interpreter is built with ``--enable-shared``.
+
+..
+
+.. bpo: 33394
+.. date: 2018-04-30-17-36-46
+.. nonce: _Vdi4t
+.. section: Build
+
+Enable the verbose build for extension modules, when GNU make is passed
+macros on the command line.
+
+..
+
+.. bpo: 33393
+.. date: 2018-04-30-17-19-37
+.. nonce: HkVCqI
+.. section: Build
+
+Update config.guess and config.sub files.
+
+..
+
+.. bpo: 33377
+.. date: 2018-04-30-16-53-00
+.. nonce: QBh6vP
+.. section: Build
+
+Add new triplets for mips r6 and riscv variants (used in extension
+suffixes).
+
+..
+
+.. bpo: 32232
+.. date: 2018-04-17-00-38-19
+.. nonce: o7G_UO
+.. section: Build
+
+By default, modules configured in `Modules/Setup` are no longer built with
+`-DPy_BUILD_CORE`. Instead, modules that specifically need that preprocessor
+definition include it in their individual entries.
+
+..
+
+.. bpo: 33182
+.. date: 2018-03-30-14-55-48
+.. nonce: CePczb
+.. section: Build
+
+The embedding tests can once again be built with clang 6.0
+
+..
+
+.. bpo: 33184
+.. date: 2018-04-13-11-28-55
+.. nonce: 7YhqQE
+.. section: Windows
+
+Update Windows installer to use OpenSSL 1.1.0h.
+
+..
+
+.. bpo: 33184
+.. date: 2018-04-07-00-51-34
+.. nonce: 3j208P
+.. section: macOS
+
+Update macOS installer build to use OpenSSL 1.1.0h.
+
+..
+
+.. bpo: 21474
+.. date: 2018-04-29-16-13-02
+.. nonce: bglg-F
+.. section: IDLE
+
+Update word/identifier definition from ascii to unicode. In text and entry
+boxes, this affects selection by double-click, movement left/right by
+control-left/right, and deletion left/right by control-BACKSPACE/DEL.
+
+..
+
+.. bpo: 33204
+.. date: 2018-04-02-00-28-13
+.. nonce: NBsuIv
+.. section: IDLE
+
+IDLE: consistently color invalid string prefixes. A 'u' string prefix cannot
+be paired with either 'r' or 'f'. Consistently color as much of the prefix,
+starting at the right, as is valid. Revise and extend colorizer test.
+
+..
+
+.. bpo: 33189
+.. date: 2018-04-03-18-10-00
+.. nonce: QrXR00
+.. section: Tools/Demos
+
+:program:`pygettext.py` now recognizes only literal strings as docstrings
+and translatable strings, and rejects bytes literals and f-string
+expressions.
+
+..
+
+.. bpo: 31920
+.. date: 2018-03-26-18-54-24
+.. nonce: u_WKsT
+.. section: Tools/Demos
+
+Fixed handling directories as arguments in the ``pygettext`` script. Based
+on patch by Oleg Krasnikov.
+
+..
+
+.. bpo: 29673
+.. date: 2018-03-16-17-25-05
+.. nonce: m8QtaW
+.. section: Tools/Demos
+
+Fix pystackv and pystack gdbinit macros.
+
+..
+
+.. bpo: 31583
+.. date: 2017-09-26-10-11-21
+.. nonce: TM90_H
+.. section: Tools/Demos
+
+Fix 2to3 for using with --add-suffix option but without --output-dir option
+for relative path to files in current directory.
diff --git a/Misc/NEWS.d/next/Build/2018-03-30-14-55-48.bpo-33182.CePczb.rst b/Misc/NEWS.d/next/Build/2018-03-30-14-55-48.bpo-33182.CePczb.rst
deleted file mode 100644
index 6310e5d..0000000
--- a/Misc/NEWS.d/next/Build/2018-03-30-14-55-48.bpo-33182.CePczb.rst
+++ /dev/null
@@ -1 +0,0 @@
-The embedding tests can once again be built with clang 6.0
diff --git a/Misc/NEWS.d/next/Build/2018-04-17-00-38-19.bpo-32232.o7G_UO.rst b/Misc/NEWS.d/next/Build/2018-04-17-00-38-19.bpo-32232.o7G_UO.rst
deleted file mode 100644
index fea0b60..0000000
--- a/Misc/NEWS.d/next/Build/2018-04-17-00-38-19.bpo-32232.o7G_UO.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-By default, modules configured in `Modules/Setup` are no longer built with
-`-DPy_BUILD_CORE`. Instead, modules that specifically need that preprocessor
-definition include it in their individual entries.
diff --git a/Misc/NEWS.d/next/Build/2018-04-30-16-53-00.bpo-33377.QBh6vP.rst b/Misc/NEWS.d/next/Build/2018-04-30-16-53-00.bpo-33377.QBh6vP.rst
deleted file mode 100644
index f5dbd23..0000000
--- a/Misc/NEWS.d/next/Build/2018-04-30-16-53-00.bpo-33377.QBh6vP.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Add new triplets for mips r6 and riscv variants (used in extension
-suffixes).
diff --git a/Misc/NEWS.d/next/Build/2018-04-30-17-19-37.bpo-33393.HkVCqI.rst b/Misc/NEWS.d/next/Build/2018-04-30-17-19-37.bpo-33393.HkVCqI.rst
deleted file mode 100644
index f3317e7..0000000
--- a/Misc/NEWS.d/next/Build/2018-04-30-17-19-37.bpo-33393.HkVCqI.rst
+++ /dev/null
@@ -1 +0,0 @@
-Update config.guess and config.sub files.
diff --git a/Misc/NEWS.d/next/Build/2018-04-30-17-36-46.bpo-33394._Vdi4t.rst b/Misc/NEWS.d/next/Build/2018-04-30-17-36-46.bpo-33394._Vdi4t.rst
deleted file mode 100644
index b25fbb0..0000000
--- a/Misc/NEWS.d/next/Build/2018-04-30-17-36-46.bpo-33394._Vdi4t.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Enable the verbose build for extension modules, when GNU make is passed
-macros on the command line.
diff --git a/Misc/NEWS.d/next/Core and Builtins/2018-04-02-09-32-40.bpo-33199.TPnxQu.rst b/Misc/NEWS.d/next/Core and Builtins/2018-04-02-09-32-40.bpo-33199.TPnxQu.rst
deleted file mode 100644
index 22abf8d..0000000
--- a/Misc/NEWS.d/next/Core and Builtins/2018-04-02-09-32-40.bpo-33199.TPnxQu.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix ``ma_version_tag`` in dict implementation is uninitialized when copying
-from key-sharing dict.
diff --git a/Misc/NEWS.d/next/Core and Builtins/2018-04-03-00-30-25.bpo-29922.CdLuMl.rst b/Misc/NEWS.d/next/Core and Builtins/2018-04-03-00-30-25.bpo-29922.CdLuMl.rst
deleted file mode 100644
index d8c144e..0000000
--- a/Misc/NEWS.d/next/Core and Builtins/2018-04-03-00-30-25.bpo-29922.CdLuMl.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Improved error messages in 'async with' when ``__aenter__()`` or
-``__aexit__()`` return non-awaitable object.
diff --git a/Misc/NEWS.d/next/Core and Builtins/2018-04-03-00-58-41.bpo-33205.lk2F3r.rst b/Misc/NEWS.d/next/Core and Builtins/2018-04-03-00-58-41.bpo-33205.lk2F3r.rst
deleted file mode 100644
index 4451186..0000000
--- a/Misc/NEWS.d/next/Core and Builtins/2018-04-03-00-58-41.bpo-33205.lk2F3r.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Change dict growth function from ``round_up_to_power_2(used*2+hashtable_size/2)`` to
-``round_up_to_power_2(used*3)``.  Previously, dict is shrinked only when ``used == 0``.
-Now dict has more chance to be shrinked.
diff --git a/Misc/NEWS.d/next/Core and Builtins/2018-04-05-22-20-44.bpo-33231.3Jmo0q.rst b/Misc/NEWS.d/next/Core and Builtins/2018-04-05-22-20-44.bpo-33231.3Jmo0q.rst
deleted file mode 100644
index de54fbb..0000000
--- a/Misc/NEWS.d/next/Core and Builtins/2018-04-05-22-20-44.bpo-33231.3Jmo0q.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fix potential memory leak in ``normalizestring()``.
diff --git a/Misc/NEWS.d/next/Core and Builtins/2018-04-19-08-30-07.bpo-33312.mDe2iL.rst b/Misc/NEWS.d/next/Core and Builtins/2018-04-19-08-30-07.bpo-33312.mDe2iL.rst
deleted file mode 100644
index 40b51b9..0000000
--- a/Misc/NEWS.d/next/Core and Builtins/2018-04-19-08-30-07.bpo-33312.mDe2iL.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fixed clang ubsan (undefined behavior sanitizer) warnings in dictobject.c by
-adjusting how the internal struct _dictkeysobject shared keys structure is
-declared.
diff --git a/Misc/NEWS.d/next/Core and Builtins/2018-04-24-22-31-04.bpo-33128.g2yLuf.rst b/Misc/NEWS.d/next/Core and Builtins/2018-04-24-22-31-04.bpo-33128.g2yLuf.rst
deleted file mode 100644
index 66b98cd..0000000
--- a/Misc/NEWS.d/next/Core and Builtins/2018-04-24-22-31-04.bpo-33128.g2yLuf.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix a bug that causes PathFinder to appear twice on sys.meta_path. Patch by
-Pablo Galindo Salgado.
diff --git a/Misc/NEWS.d/next/Core and Builtins/2018-04-26-22-48-28.bpo-33363.8RCnN2.rst b/Misc/NEWS.d/next/Core and Builtins/2018-04-26-22-48-28.bpo-33363.8RCnN2.rst
deleted file mode 100644
index ad8d248..0000000
--- a/Misc/NEWS.d/next/Core and Builtins/2018-04-26-22-48-28.bpo-33363.8RCnN2.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Raise a SyntaxError for ``async with`` and ``async for`` statements outside
-of async functions.
diff --git a/Misc/NEWS.d/next/Documentation/2017-12-22-17-29-37.bpo-32337.eZe-ID.rst b/Misc/NEWS.d/next/Documentation/2017-12-22-17-29-37.bpo-32337.eZe-ID.rst
deleted file mode 100644
index a905467..0000000
--- a/Misc/NEWS.d/next/Documentation/2017-12-22-17-29-37.bpo-32337.eZe-ID.rst
+++ /dev/null
@@ -1 +0,0 @@
-Update documentation related with ``dict`` order.
diff --git a/Misc/NEWS.d/next/Documentation/2018-01-13-20-30-53.bpo-8243.s98r28.rst b/Misc/NEWS.d/next/Documentation/2018-01-13-20-30-53.bpo-8243.s98r28.rst
deleted file mode 100644
index a3520d0..0000000
--- a/Misc/NEWS.d/next/Documentation/2018-01-13-20-30-53.bpo-8243.s98r28.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Add a note about curses.addch and curses.addstr exception behavior when
-writing outside a window, or pad.
diff --git a/Misc/NEWS.d/next/Documentation/2018-04-01-14-30-36.bpo-33195.dRS-XX.rst b/Misc/NEWS.d/next/Documentation/2018-04-01-14-30-36.bpo-33195.dRS-XX.rst
deleted file mode 100644
index 6884640..0000000
--- a/Misc/NEWS.d/next/Documentation/2018-04-01-14-30-36.bpo-33195.dRS-XX.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Deprecate ``Py_UNICODE`` usage in ``c-api/arg`` document. ``Py_UNICODE``
-related APIs are deprecated since Python 3.3, but it is missed in the
-document.
diff --git a/Misc/NEWS.d/next/Documentation/2018-04-01-21-03-41.bpo-33201.aa8Lkl.rst b/Misc/NEWS.d/next/Documentation/2018-04-01-21-03-41.bpo-33201.aa8Lkl.rst
deleted file mode 100644
index bdee48b..0000000
--- a/Misc/NEWS.d/next/Documentation/2018-04-01-21-03-41.bpo-33201.aa8Lkl.rst
+++ /dev/null
@@ -1 +0,0 @@
-Modernize documentation for writing C extension types.
diff --git a/Misc/NEWS.d/next/Documentation/2018-04-20-14-09-36.bpo-33276.rA1z_3.rst b/Misc/NEWS.d/next/Documentation/2018-04-20-14-09-36.bpo-33276.rA1z_3.rst
deleted file mode 100644
index 0da58a0..0000000
--- a/Misc/NEWS.d/next/Documentation/2018-04-20-14-09-36.bpo-33276.rA1z_3.rst
+++ /dev/null
@@ -1 +0,0 @@
-Clarify that the ``__path__`` attribute on modules cannot be just any value.
diff --git a/Misc/NEWS.d/next/Documentation/2018-04-29-04-02-18.bpo-33378.-anAHN.rst b/Misc/NEWS.d/next/Documentation/2018-04-29-04-02-18.bpo-33378.-anAHN.rst
deleted file mode 100644
index 43214d1..0000000
--- a/Misc/NEWS.d/next/Documentation/2018-04-29-04-02-18.bpo-33378.-anAHN.rst
+++ /dev/null
@@ -1 +0,0 @@
-Add Korean language switcher for https://docs.python.org/3/
diff --git a/Misc/NEWS.d/next/IDLE/2018-04-02-00-28-13.bpo-33204.NBsuIv.rst b/Misc/NEWS.d/next/IDLE/2018-04-02-00-28-13.bpo-33204.NBsuIv.rst
deleted file mode 100644
index 3ae937b..0000000
--- a/Misc/NEWS.d/next/IDLE/2018-04-02-00-28-13.bpo-33204.NBsuIv.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-IDLE: consistently color invalid string prefixes. A 'u' string prefix cannot
-be paired with either 'r' or 'f'. Consistently color as much of the prefix,
-starting at the right, as is valid. Revise and extend colorizer test.
diff --git a/Misc/NEWS.d/next/IDLE/2018-04-29-16-13-02.bpo-21474.bglg-F.rst b/Misc/NEWS.d/next/IDLE/2018-04-29-16-13-02.bpo-21474.bglg-F.rst
deleted file mode 100644
index caf640b..0000000
--- a/Misc/NEWS.d/next/IDLE/2018-04-29-16-13-02.bpo-21474.bglg-F.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Update word/identifier definition from ascii to unicode. In text and entry
-boxes, this affects selection by double-click, movement left/right by
-control-left/right, and deletion left/right by control-BACKSPACE/DEL.
diff --git a/Misc/NEWS.d/next/Library/2017-10-31.bpo-31908.g4xh8x.rst b/Misc/NEWS.d/next/Library/2017-10-31.bpo-31908.g4xh8x.rst
deleted file mode 100644
index 700bc69..0000000
--- a/Misc/NEWS.d/next/Library/2017-10-31.bpo-31908.g4xh8x.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Fix output of cover files for ``trace`` module command-line tool.
-Previously emitted cover files only when ``--missing`` option was used.
-Patch by Michael Selik.
\ No newline at end of file
diff --git a/Misc/NEWS.d/next/Library/2018-03-18-16-48-23.bpo-33097.Yl4gI2.rst b/Misc/NEWS.d/next/Library/2018-03-18-16-48-23.bpo-33097.Yl4gI2.rst
deleted file mode 100644
index d9411eb..0000000
--- a/Misc/NEWS.d/next/Library/2018-03-18-16-48-23.bpo-33097.Yl4gI2.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Raise RuntimeError when ``executor.submit`` is called during interpreter
-shutdown.
diff --git a/Misc/NEWS.d/next/Library/2018-03-29-04-32-25.bpo-33175._zs1yM.rst b/Misc/NEWS.d/next/Library/2018-03-29-04-32-25.bpo-33175._zs1yM.rst
deleted file mode 100644
index c872499..0000000
--- a/Misc/NEWS.d/next/Library/2018-03-29-04-32-25.bpo-33175._zs1yM.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-In dataclasses, Field.__set_name__ now looks up the __set_name__ special
-method on the class, not the instance, of the default value.
diff --git a/Misc/NEWS.d/next/Library/2018-04-01-19-21-04.bpo-20104.-AKcGa.rst b/Misc/NEWS.d/next/Library/2018-04-01-19-21-04.bpo-20104.-AKcGa.rst
deleted file mode 100644
index 150401d..0000000
--- a/Misc/NEWS.d/next/Library/2018-04-01-19-21-04.bpo-20104.-AKcGa.rst
+++ /dev/null
@@ -1 +0,0 @@
-Improved error handling and fixed a reference leak in :func:`os.posix_spawn()`.
diff --git a/Misc/NEWS.d/next/Library/2018-04-03-10-37-13.bpo-33209.9sGWE_.rst b/Misc/NEWS.d/next/Library/2018-04-03-10-37-13.bpo-33209.9sGWE_.rst
deleted file mode 100644
index d98b1e1..0000000
--- a/Misc/NEWS.d/next/Library/2018-04-03-10-37-13.bpo-33209.9sGWE_.rst
+++ /dev/null
@@ -1 +0,0 @@
-End framing at the end of C implementation of :func:`pickle.Pickler.dump`.
diff --git a/Misc/NEWS.d/next/Library/2018-04-04-23-41-30.bpo-33224.pyR0jB.rst b/Misc/NEWS.d/next/Library/2018-04-04-23-41-30.bpo-33224.pyR0jB.rst
deleted file mode 100644
index 87ff100..0000000
--- a/Misc/NEWS.d/next/Library/2018-04-04-23-41-30.bpo-33224.pyR0jB.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Update difflib.mdiff() for PEP 479.  Convert an uncaught StopIteration in a
-generator into a return-statement.
diff --git a/Misc/NEWS.d/next/Library/2018-04-05-11-09-45.bpo-33203.Hje9Py.rst b/Misc/NEWS.d/next/Library/2018-04-05-11-09-45.bpo-33203.Hje9Py.rst
deleted file mode 100644
index ab6d17b..0000000
--- a/Misc/NEWS.d/next/Library/2018-04-05-11-09-45.bpo-33203.Hje9Py.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-``random.Random.choice()`` now raises ``IndexError`` for empty sequences
-consistently even when called from subclasses without a ``getrandbits()``
-implementation.
diff --git a/Misc/NEWS.d/next/Library/2018-04-05-13-36-09.bpo-33217.FfOKDI.rst b/Misc/NEWS.d/next/Library/2018-04-05-13-36-09.bpo-33217.FfOKDI.rst
deleted file mode 100644
index 8dfc9e5..0000000
--- a/Misc/NEWS.d/next/Library/2018-04-05-13-36-09.bpo-33217.FfOKDI.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Deprecate looking up non-Enum objects in Enum classes and Enum members (will
-raise :exc:`TypeError` in 3.8+).
diff --git a/Misc/NEWS.d/next/Library/2018-04-06-14-56-26.bpo-33169.ByhDqb.rst b/Misc/NEWS.d/next/Library/2018-04-06-14-56-26.bpo-33169.ByhDqb.rst
deleted file mode 100644
index b5bacfc..0000000
--- a/Misc/NEWS.d/next/Library/2018-04-06-14-56-26.bpo-33169.ByhDqb.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Delete entries of ``None`` in :data:`sys.path_importer_cache` when
-:meth:`importlib.machinery.invalidate_caches` is called.
diff --git a/Misc/NEWS.d/next/Library/2018-04-08-22-54-07.bpo-33185.Id-Ba9.rst b/Misc/NEWS.d/next/Library/2018-04-08-22-54-07.bpo-33185.Id-Ba9.rst
deleted file mode 100644
index 1f51d7e..0000000
--- a/Misc/NEWS.d/next/Library/2018-04-08-22-54-07.bpo-33185.Id-Ba9.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-Fixed regression when running pydoc with the :option:`-m` switch. (The regression
-was introduced in 3.7.0b3 by the resolution of :issue:`33053`)
-
-This fix also changed pydoc to add ``os.getcwd()`` to :data:`sys.path` when
-necessary, rather than adding ``"."``.
diff --git a/Misc/NEWS.d/next/Library/2018-04-10-20-57-14.bpo-33256.ndHkqu.rst b/Misc/NEWS.d/next/Library/2018-04-10-20-57-14.bpo-33256.ndHkqu.rst
deleted file mode 100644
index a0605c0..0000000
--- a/Misc/NEWS.d/next/Library/2018-04-10-20-57-14.bpo-33256.ndHkqu.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fix display of ``<module>`` call in the html produced by ``cgitb.html()``. Patch by Stéphane Blondon.
diff --git a/Misc/NEWS.d/next/Library/2018-04-13-15-14-47.bpo-33254.DS4KFK.rst b/Misc/NEWS.d/next/Library/2018-04-13-15-14-47.bpo-33254.DS4KFK.rst
deleted file mode 100644
index c77a902..0000000
--- a/Misc/NEWS.d/next/Library/2018-04-13-15-14-47.bpo-33254.DS4KFK.rst
+++ /dev/null
@@ -1,3 +0,0 @@
-Have :func:`importlib.resources.contents` and
-:meth:`importlib.abc.ResourceReader.contents` return an :term:`iterable` instead
-of an :term:`iterator`.
diff --git a/Misc/NEWS.d/next/Library/2018-04-16-08-42-03.bpo-11594.QLo4vv.rst b/Misc/NEWS.d/next/Library/2018-04-16-08-42-03.bpo-11594.QLo4vv.rst
deleted file mode 100644
index be2abf6..0000000
--- a/Misc/NEWS.d/next/Library/2018-04-16-08-42-03.bpo-11594.QLo4vv.rst
+++ /dev/null
@@ -1 +0,0 @@
-Ensure line-endings are respected when using lib2to3.
diff --git a/Misc/NEWS.d/next/Library/2018-04-16-15-59-21.bpo-33266.w2PAm-.rst b/Misc/NEWS.d/next/Library/2018-04-16-15-59-21.bpo-33266.w2PAm-.rst
deleted file mode 100644
index 6c93c48..0000000
--- a/Misc/NEWS.d/next/Library/2018-04-16-15-59-21.bpo-33266.w2PAm-.rst
+++ /dev/null
@@ -1 +0,0 @@
-lib2to3 now recognizes ``rf'...'`` strings.
diff --git a/Misc/NEWS.d/next/Library/2018-04-18-19-12-25.bpo-33308.fW75xi.rst b/Misc/NEWS.d/next/Library/2018-04-18-19-12-25.bpo-33308.fW75xi.rst
deleted file mode 100644
index 586004a..0000000
--- a/Misc/NEWS.d/next/Library/2018-04-18-19-12-25.bpo-33308.fW75xi.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fixed a crash in the :mod:`parser` module when converting an ST object to a
-tree of tuples or lists with ``line_info=False`` and ``col_info=True``.
diff --git a/Misc/NEWS.d/next/Library/2018-04-20-10-43-17.bpo-33131.L2E977.rst b/Misc/NEWS.d/next/Library/2018-04-20-10-43-17.bpo-33131.L2E977.rst
deleted file mode 100644
index 875c6ac..0000000
--- a/Misc/NEWS.d/next/Library/2018-04-20-10-43-17.bpo-33131.L2E977.rst
+++ /dev/null
@@ -1 +0,0 @@
-Upgrade bundled version of pip to 10.0.1.
diff --git a/Misc/NEWS.d/next/Library/2018-04-21-00-24-08.bpo-991266.h93TP_.rst b/Misc/NEWS.d/next/Library/2018-04-21-00-24-08.bpo-991266.h93TP_.rst
deleted file mode 100644
index 3af6c27..0000000
--- a/Misc/NEWS.d/next/Library/2018-04-21-00-24-08.bpo-991266.h93TP_.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fix quoting of the ``Comment`` attribute of :class:`http.cookies.SimpleCookie`.
diff --git a/Misc/NEWS.d/next/Library/2018-04-23-13-21-39.bpo-33329.lQ-Eod.rst b/Misc/NEWS.d/next/Library/2018-04-23-13-21-39.bpo-33329.lQ-Eod.rst
deleted file mode 100644
index d1a4e56..0000000
--- a/Misc/NEWS.d/next/Library/2018-04-23-13-21-39.bpo-33329.lQ-Eod.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fix multiprocessing regression on newer glibcs
diff --git a/Misc/NEWS.d/next/Library/2018-04-29-11-15-38.bpo-33383.g32YWn.rst b/Misc/NEWS.d/next/Library/2018-04-29-11-15-38.bpo-33383.g32YWn.rst
deleted file mode 100644
index 7b65baa..0000000
--- a/Misc/NEWS.d/next/Library/2018-04-29-11-15-38.bpo-33383.g32YWn.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fixed crash in the get() method of the :mod:`dbm.ndbm` database object when
-it is called with a single argument.
diff --git a/Misc/NEWS.d/next/Library/2018-05-01-22-35-50.bpo-33281.d4jOt4.rst b/Misc/NEWS.d/next/Library/2018-05-01-22-35-50.bpo-33281.d4jOt4.rst
deleted file mode 100644
index ad08caa..0000000
--- a/Misc/NEWS.d/next/Library/2018-05-01-22-35-50.bpo-33281.d4jOt4.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fix ctypes.util.find_library regression on macOS.
diff --git a/Misc/NEWS.d/next/Tests/2018-04-27-11-46-35.bpo-33358._OcR59.rst b/Misc/NEWS.d/next/Tests/2018-04-27-11-46-35.bpo-33358._OcR59.rst
deleted file mode 100644
index 89406e9..0000000
--- a/Misc/NEWS.d/next/Tests/2018-04-27-11-46-35.bpo-33358._OcR59.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix ``test_embed.test_pre_initialization_sys_options()`` when the interpreter
-is built with ``--enable-shared``.
diff --git a/Misc/NEWS.d/next/Tools-Demos/2017-09-26-10-11-21.bpo-31583.TM90_H.rst b/Misc/NEWS.d/next/Tools-Demos/2017-09-26-10-11-21.bpo-31583.TM90_H.rst
deleted file mode 100644
index 472f61c..0000000
--- a/Misc/NEWS.d/next/Tools-Demos/2017-09-26-10-11-21.bpo-31583.TM90_H.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fix 2to3 for using with --add-suffix option but without --output-dir
-option for relative path to files in current directory.
diff --git a/Misc/NEWS.d/next/Tools-Demos/2018-03-16-17-25-05.bpo-29673.m8QtaW.rst b/Misc/NEWS.d/next/Tools-Demos/2018-03-16-17-25-05.bpo-29673.m8QtaW.rst
deleted file mode 100644
index 3d515b3..0000000
--- a/Misc/NEWS.d/next/Tools-Demos/2018-03-16-17-25-05.bpo-29673.m8QtaW.rst
+++ /dev/null
@@ -1 +0,0 @@
-Fix pystackv and pystack gdbinit macros.
diff --git a/Misc/NEWS.d/next/Tools-Demos/2018-03-26-18-54-24.bpo-31920.u_WKsT.rst b/Misc/NEWS.d/next/Tools-Demos/2018-03-26-18-54-24.bpo-31920.u_WKsT.rst
deleted file mode 100644
index 39c694b..0000000
--- a/Misc/NEWS.d/next/Tools-Demos/2018-03-26-18-54-24.bpo-31920.u_WKsT.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-Fixed handling directories as arguments in the ``pygettext`` script. Based
-on patch by Oleg Krasnikov.
diff --git a/Misc/NEWS.d/next/Tools-Demos/2018-04-03-18-10-00.bpo-33189.QrXR00.rst b/Misc/NEWS.d/next/Tools-Demos/2018-04-03-18-10-00.bpo-33189.QrXR00.rst
deleted file mode 100644
index 4d41372..0000000
--- a/Misc/NEWS.d/next/Tools-Demos/2018-04-03-18-10-00.bpo-33189.QrXR00.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-:program:`pygettext.py` now recognizes only literal strings as docstrings
-and translatable strings, and rejects bytes literals and f-string expressions.
diff --git a/Misc/NEWS.d/next/Windows/2018-04-13-11-28-55.bpo-33184.7YhqQE.rst b/Misc/NEWS.d/next/Windows/2018-04-13-11-28-55.bpo-33184.7YhqQE.rst
deleted file mode 100644
index ca47a98..0000000
--- a/Misc/NEWS.d/next/Windows/2018-04-13-11-28-55.bpo-33184.7YhqQE.rst
+++ /dev/null
@@ -1 +0,0 @@
-Update Windows installer to use OpenSSL 1.1.0h.
diff --git a/Misc/NEWS.d/next/macOS/2018-04-07-00-51-34.bpo-33184.3j208P.rst b/Misc/NEWS.d/next/macOS/2018-04-07-00-51-34.bpo-33184.3j208P.rst
deleted file mode 100644
index 03308ed..0000000
--- a/Misc/NEWS.d/next/macOS/2018-04-07-00-51-34.bpo-33184.3j208P.rst
+++ /dev/null
@@ -1 +0,0 @@
-Update macOS installer build to use OpenSSL 1.1.0h.
diff --git a/README.rst b/README.rst
index fcd2344..68bc571 100644
--- a/README.rst
+++ b/README.rst
@@ -1,5 +1,5 @@
-This is Python version 3.7.0 beta 3+
-====================================
+This is Python version 3.7.0 beta 4
+===================================
 
 .. image:: https://travis-ci.org/python/cpython.svg?branch=master
    :alt: CPython build status on Travis CI
diff --git a/configure b/configure
index 2ab9bc8..f1f01df 100755
--- a/configure
+++ b/configure
@@ -781,7 +781,6 @@
 docdir
 oldincludedir
 includedir
-runstatedir
 localstatedir
 sharedstatedir
 sysconfdir
@@ -894,7 +893,6 @@
 sysconfdir='${prefix}/etc'
 sharedstatedir='${prefix}/com'
 localstatedir='${prefix}/var'
-runstatedir='${localstatedir}/run'
 includedir='${prefix}/include'
 oldincludedir='/usr/include'
 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
@@ -1147,15 +1145,6 @@
   | -silent | --silent | --silen | --sile | --sil)
     silent=yes ;;
 
-  -runstatedir | --runstatedir | --runstatedi | --runstated \
-  | --runstate | --runstat | --runsta | --runst | --runs \
-  | --run | --ru | --r)
-    ac_prev=runstatedir ;;
-  -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
-  | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
-  | --run=* | --ru=* | --r=*)
-    runstatedir=$ac_optarg ;;
-
   -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
     ac_prev=sbindir ;;
   -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -1293,7 +1282,7 @@
 for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
 		datadir sysconfdir sharedstatedir localstatedir includedir \
 		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-		libdir localedir mandir runstatedir
+		libdir localedir mandir
 do
   eval ac_val=\$$ac_var
   # Remove trailing slashes.
@@ -1446,7 +1435,6 @@
   --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
   --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
   --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
-  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]
   --libdir=DIR            object code libraries [EPREFIX/lib]
   --includedir=DIR        C header files [PREFIX/include]
   --oldincludedir=DIR     C header files for non-gcc [/usr/include]
