Python 3.10.0b1
diff --git a/Lib/pydoc_data/topics.py b/Lib/pydoc_data/topics.py
index 83e1a97..74f7d9c 100644
--- a/Lib/pydoc_data/topics.py
+++ b/Lib/pydoc_data/topics.py
@@ -1,5 +1,5 @@
 # -*- coding: utf-8 -*-
-# Autogenerated by Sphinx on Mon Apr  5 17:39:41 2021
+# Autogenerated by Sphinx on Mon May  3 20:34:17 2021
 topics = {'assert': 'The "assert" statement\n'
            '**********************\n'
            '\n'
@@ -988,9 +988,9 @@
                      '\n'
                      'For instance bindings, the precedence of descriptor '
                      'invocation depends\n'
-                     'on the which descriptor methods are defined.  A '
-                     'descriptor can define\n'
-                     'any combination of "__get__()", "__set__()" and '
+                     'on which descriptor methods are defined.  A descriptor '
+                     'can define any\n'
+                     'combination of "__get__()", "__set__()" and '
                      '"__delete__()".  If it\n'
                      'does not define "__get__()", then accessing the '
                      'attribute will return\n'
@@ -1360,6 +1360,10 @@
                        'through their "__code__" attribute. See also the '
                        '"code" module.\n'
                        '\n'
+                       'Accessing "__code__" raises an auditing event '
+                       '"object.__getattr__"\n'
+                       'with arguments "obj" and ""__code__"".\n'
+                       '\n'
                        'A code object can be executed or evaluated by passing '
                        'it (instead of a\n'
                        'source string) to the "exec()" or "eval()"  built-in '
@@ -2694,7 +2698,7 @@
              '   subject_expr ::= star_named_expression "," '
              'star_named_expressions?\n'
              '                    | named_expression\n'
-             "   case_block   ::= 'case' patterns [guard] ':' block\n"
+             '   case_block   ::= \'case\' patterns [guard] ":" block\n'
              '\n'
              'Note:\n'
              '\n'
@@ -3073,7 +3077,7 @@
              'additional\n'
              'syntax. Syntax:\n'
              '\n'
-             "   group_pattern ::= '(' pattern ')'\n"
+             '   group_pattern ::= "(" pattern ")"\n'
              '\n'
              'In simple terms "(P)" has the same effect as "P".\n'
              '\n'
@@ -3293,7 +3297,9 @@
              '   For a number of built-in types (specified below), a single\n'
              '   positional subpattern is accepted which will match the '
              'entire\n'
-             '   subject; for these types no keyword patterns are accepted.\n'
+             '   subject; for these types keyword patterns also work as for '
+             'other\n'
+             '   types.\n'
              '\n'
              '   If only keyword patterns are present, they are processed as\n'
              '   follows, one by one:\n'
@@ -3330,9 +3336,9 @@
              '\n'
              '      * If this raises an exception, the exception bubbles up.\n'
              '\n'
-             '      * If the returned value is not a list or tuple, the '
-             'conversion\n'
-             '        fails and "TypeError" is raised.\n'
+             '      * If the returned value is not a tuple, the conversion '
+             'fails and\n'
+             '        "TypeError" is raised.\n'
              '\n'
              '      * If there are more positional patterns than\n'
              '        "len(cls.__match_args__)", "TypeError" is raised.\n'
@@ -3426,7 +3432,6 @@
              '   decorators                ::= decorator+\n'
              '   decorator                 ::= "@" assignment_expression '
              'NEWLINE\n'
-             '   dotted_name               ::= identifier ("." identifier)*\n'
              '   parameter_list            ::= defparameter ("," '
              'defparameter)* "," "/" ["," [parameter_list_no_posonly]]\n'
              '                        | parameter_list_no_posonly\n'
@@ -3526,7 +3531,7 @@
              'Calls.\n'
              'A function call always assigns values to all parameters '
              'mentioned in\n'
-             'the parameter list, either from position arguments, from '
+             'the parameter list, either from positional arguments, from '
              'keyword\n'
              'arguments, or from default values.  If the form “"*identifier"” '
              'is\n'
@@ -3538,8 +3543,14 @@
              'new\n'
              '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'
+             'passed by\n'
+             'keyword arguments.  Parameters before “"/"” are positional-only\n'
+             'parameters and may only be passed by positional arguments.\n'
+             '\n'
+             'Changed in version 3.8: The "/" function parameter syntax may be '
+             'used\n'
+             'to indicate positional-only parameters. See **PEP 570** for '
+             'details.\n'
              '\n'
              'Parameters may have an *annotation* of the form “": '
              'expression"”\n'
@@ -3552,11 +3563,20 @@
              'parameter list.  These annotations can be any valid Python '
              'expression.\n'
              'The presence of annotations does not change the semantics of a\n'
-             'function.  The annotation values are available as string values '
-             'in a\n'
+             'function.  The annotation values are available as values of a\n'
              'dictionary keyed by the parameters’ names in the '
              '"__annotations__"\n'
-             'attribute of the function object.\n'
+             'attribute of the function object.  If the "annotations" import '
+             'from\n'
+             '"__future__" is used, annotations are preserved as strings at '
+             'runtime\n'
+             'which enables postponed evaluation.  Otherwise, they are '
+             'evaluated\n'
+             'when the function definition is executed.  In this case '
+             'annotations\n'
+             'may be evaluated in a different order than they appear in the '
+             'source\n'
+             'code.\n'
              '\n'
              'It is also possible to create anonymous functions (functions not '
              'bound\n'
@@ -6562,7 +6582,6 @@
              '   decorators                ::= decorator+\n'
              '   decorator                 ::= "@" assignment_expression '
              'NEWLINE\n'
-             '   dotted_name               ::= identifier ("." identifier)*\n'
              '   parameter_list            ::= defparameter ("," '
              'defparameter)* "," "/" ["," [parameter_list_no_posonly]]\n'
              '                        | parameter_list_no_posonly\n'
@@ -6662,7 +6681,7 @@
              'Calls.\n'
              'A function call always assigns values to all parameters '
              'mentioned in\n'
-             'the parameter list, either from position arguments, from '
+             'the parameter list, either from positional arguments, from '
              'keyword\n'
              'arguments, or from default values.  If the form “"*identifier"” '
              'is\n'
@@ -6674,8 +6693,14 @@
              'new\n'
              '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'
+             'passed by\n'
+             'keyword arguments.  Parameters before “"/"” are positional-only\n'
+             'parameters and may only be passed by positional arguments.\n'
+             '\n'
+             'Changed in version 3.8: The "/" function parameter syntax may be '
+             'used\n'
+             'to indicate positional-only parameters. See **PEP 570** for '
+             'details.\n'
              '\n'
              'Parameters may have an *annotation* of the form “": '
              'expression"”\n'
@@ -6688,11 +6713,20 @@
              'parameter list.  These annotations can be any valid Python '
              'expression.\n'
              'The presence of annotations does not change the semantics of a\n'
-             'function.  The annotation values are available as string values '
-             'in a\n'
+             'function.  The annotation values are available as values of a\n'
              'dictionary keyed by the parameters’ names in the '
              '"__annotations__"\n'
-             'attribute of the function object.\n'
+             'attribute of the function object.  If the "annotations" import '
+             'from\n'
+             '"__future__" is used, annotations are preserved as strings at '
+             'runtime\n'
+             'which enables postponed evaluation.  Otherwise, they are '
+             'evaluated\n'
+             'when the function definition is executed.  In this case '
+             'annotations\n'
+             'may be evaluated in a different order than they appear in the '
+             'source\n'
+             'code.\n'
              '\n'
              'It is also possible to create anonymous functions (functions not '
              'bound\n'
@@ -7395,10 +7429,7 @@
  'lambda': 'Lambdas\n'
            '*******\n'
            '\n'
-           '   lambda_expr        ::= "lambda" [parameter_list] ":" '
-           'expression\n'
-           '   lambda_expr_nocond ::= "lambda" [parameter_list] ":" '
-           'expression_nocond\n'
+           '   lambda_expr ::= "lambda" [parameter_list] ":" expression\n'
            '\n'
            'Lambda expressions (sometimes called lambda forms) are used to '
            'create\n'
@@ -8009,8 +8040,8 @@
                      '\n'
                      'The following table summarizes the operator precedence '
                      'in Python, from\n'
-                     'lowest precedence (least binding) to highest precedence '
-                     '(most\n'
+                     'highest precedence (most binding) to lowest precedence '
+                     '(least\n'
                      'binding).  Operators in the same box have the same '
                      'precedence.  Unless\n'
                      'the syntax is explicitly given, operators are binary.  '
@@ -8029,65 +8060,6 @@
                      '| Operator                                        | '
                      'Description                           |\n'
                      '|=================================================|=======================================|\n'
-                     '| ":="                                            | '
-                     'Assignment expression                 |\n'
-                     '+-------------------------------------------------+---------------------------------------+\n'
-                     '| "lambda"                                        | '
-                     'Lambda expression                     |\n'
-                     '+-------------------------------------------------+---------------------------------------+\n'
-                     '| "if" – "else"                                   | '
-                     'Conditional expression                |\n'
-                     '+-------------------------------------------------+---------------------------------------+\n'
-                     '| "or"                                            | '
-                     'Boolean OR                            |\n'
-                     '+-------------------------------------------------+---------------------------------------+\n'
-                     '| "and"                                           | '
-                     'Boolean AND                           |\n'
-                     '+-------------------------------------------------+---------------------------------------+\n'
-                     '| "not" "x"                                       | '
-                     'Boolean NOT                           |\n'
-                     '+-------------------------------------------------+---------------------------------------+\n'
-                     '| "in", "not in", "is", "is not", "<", "<=", ">", | '
-                     'Comparisons, including membership     |\n'
-                     '| ">=", "!=", "=="                                | '
-                     'tests and identity tests              |\n'
-                     '+-------------------------------------------------+---------------------------------------+\n'
-                     '| "|"                                             | '
-                     'Bitwise OR                            |\n'
-                     '+-------------------------------------------------+---------------------------------------+\n'
-                     '| "^"                                             | '
-                     'Bitwise XOR                           |\n'
-                     '+-------------------------------------------------+---------------------------------------+\n'
-                     '| "&"                                             | '
-                     'Bitwise AND                           |\n'
-                     '+-------------------------------------------------+---------------------------------------+\n'
-                     '| "<<", ">>"                                      | '
-                     'Shifts                                |\n'
-                     '+-------------------------------------------------+---------------------------------------+\n'
-                     '| "+", "-"                                        | '
-                     'Addition and subtraction              |\n'
-                     '+-------------------------------------------------+---------------------------------------+\n'
-                     '| "*", "@", "/", "//", "%"                        | '
-                     'Multiplication, matrix                |\n'
-                     '|                                                 | '
-                     'multiplication, division, floor       |\n'
-                     '|                                                 | '
-                     'division, remainder [5]               |\n'
-                     '+-------------------------------------------------+---------------------------------------+\n'
-                     '| "+x", "-x", "~x"                                | '
-                     'Positive, negative, bitwise NOT       |\n'
-                     '+-------------------------------------------------+---------------------------------------+\n'
-                     '| "**"                                            | '
-                     'Exponentiation [6]                    |\n'
-                     '+-------------------------------------------------+---------------------------------------+\n'
-                     '| "await" "x"                                     | '
-                     'Await expression                      |\n'
-                     '+-------------------------------------------------+---------------------------------------+\n'
-                     '| "x[index]", "x[index:index]",                   | '
-                     'Subscription, slicing, call,          |\n'
-                     '| "x(arguments...)", "x.attribute"                | '
-                     'attribute reference                   |\n'
-                     '+-------------------------------------------------+---------------------------------------+\n'
                      '| "(expressions...)",  "[expressions...]", "{key: | '
                      'Binding or parenthesized expression,  |\n'
                      '| value...}", "{expressions...}"                  | list '
@@ -8095,6 +8067,65 @@
                      '|                                                 | '
                      'display                               |\n'
                      '+-------------------------------------------------+---------------------------------------+\n'
+                     '| "x[index]", "x[index:index]",                   | '
+                     'Subscription, slicing, call,          |\n'
+                     '| "x(arguments...)", "x.attribute"                | '
+                     'attribute reference                   |\n'
+                     '+-------------------------------------------------+---------------------------------------+\n'
+                     '| "await" "x"                                     | '
+                     'Await expression                      |\n'
+                     '+-------------------------------------------------+---------------------------------------+\n'
+                     '| "**"                                            | '
+                     'Exponentiation [5]                    |\n'
+                     '+-------------------------------------------------+---------------------------------------+\n'
+                     '| "+x", "-x", "~x"                                | '
+                     'Positive, negative, bitwise NOT       |\n'
+                     '+-------------------------------------------------+---------------------------------------+\n'
+                     '| "*", "@", "/", "//", "%"                        | '
+                     'Multiplication, matrix                |\n'
+                     '|                                                 | '
+                     'multiplication, division, floor       |\n'
+                     '|                                                 | '
+                     'division, remainder [6]               |\n'
+                     '+-------------------------------------------------+---------------------------------------+\n'
+                     '| "+", "-"                                        | '
+                     'Addition and subtraction              |\n'
+                     '+-------------------------------------------------+---------------------------------------+\n'
+                     '| "<<", ">>"                                      | '
+                     'Shifts                                |\n'
+                     '+-------------------------------------------------+---------------------------------------+\n'
+                     '| "&"                                             | '
+                     'Bitwise AND                           |\n'
+                     '+-------------------------------------------------+---------------------------------------+\n'
+                     '| "^"                                             | '
+                     'Bitwise XOR                           |\n'
+                     '+-------------------------------------------------+---------------------------------------+\n'
+                     '| "|"                                             | '
+                     'Bitwise OR                            |\n'
+                     '+-------------------------------------------------+---------------------------------------+\n'
+                     '| "in", "not in", "is", "is not", "<", "<=", ">", | '
+                     'Comparisons, including membership     |\n'
+                     '| ">=", "!=", "=="                                | '
+                     'tests and identity tests              |\n'
+                     '+-------------------------------------------------+---------------------------------------+\n'
+                     '| "not" "x"                                       | '
+                     'Boolean NOT                           |\n'
+                     '+-------------------------------------------------+---------------------------------------+\n'
+                     '| "and"                                           | '
+                     'Boolean AND                           |\n'
+                     '+-------------------------------------------------+---------------------------------------+\n'
+                     '| "or"                                            | '
+                     'Boolean OR                            |\n'
+                     '+-------------------------------------------------+---------------------------------------+\n'
+                     '| "if" – "else"                                   | '
+                     'Conditional expression                |\n'
+                     '+-------------------------------------------------+---------------------------------------+\n'
+                     '| "lambda"                                        | '
+                     'Lambda expression                     |\n'
+                     '+-------------------------------------------------+---------------------------------------+\n'
+                     '| ":="                                            | '
+                     'Assignment expression                 |\n'
+                     '+-------------------------------------------------+---------------------------------------+\n'
                      '\n'
                      '-[ Footnotes ]-\n'
                      '\n'
@@ -8174,14 +8205,14 @@
                      'Check their\n'
                      '    documentation for more info.\n'
                      '\n'
-                     '[5] The "%" operator is also used for string formatting; '
-                     'the same\n'
-                     '    precedence applies.\n'
-                     '\n'
-                     '[6] The power operator "**" binds less tightly than an '
+                     '[5] The power operator "**" binds less tightly than an '
                      'arithmetic or\n'
                      '    bitwise unary operator on its right, that is, '
-                     '"2**-1" is "0.5".\n',
+                     '"2**-1" is "0.5".\n'
+                     '\n'
+                     '[6] The "%" operator is also used for string formatting; '
+                     'the same\n'
+                     '    precedence applies.\n',
  'pass': 'The "pass" statement\n'
          '********************\n'
          '\n'
@@ -8266,12 +8297,18 @@
           '\n'
           'The "from" clause is used for exception chaining: if given, the '
           'second\n'
-          '*expression* must be another exception class or instance, which '
-          'will\n'
-          'then be attached to the raised exception as the "__cause__" '
-          'attribute\n'
-          '(which is writable).  If the raised exception is not handled, both\n'
-          'exceptions will be printed:\n'
+          '*expression* must be another exception class or instance. If the\n'
+          'second expression is an exception instance, it will be attached to '
+          'the\n'
+          'raised exception as the "__cause__" attribute (which is writable). '
+          'If\n'
+          'the expression is an exception class, the class will be '
+          'instantiated\n'
+          'and the resulting exception instance will be attached to the '
+          'raised\n'
+          'exception as the "__cause__" attribute. If the raised exception is '
+          'not\n'
+          'handled, both exceptions will be printed:\n'
           '\n'
           '   >>> try:\n'
           '   ...     print(1 / 0)\n'
@@ -9613,10 +9650,10 @@
                  '\n'
                  'For instance bindings, the precedence of descriptor '
                  'invocation depends\n'
-                 'on the which descriptor methods are defined.  A descriptor '
-                 'can define\n'
-                 'any combination of "__get__()", "__set__()" and '
-                 '"__delete__()".  If it\n'
+                 'on which descriptor methods are defined.  A descriptor can '
+                 'define any\n'
+                 'combination of "__get__()", "__set__()" and "__delete__()".  '
+                 'If it\n'
                  'does not define "__get__()", then accessing the attribute '
                  'will return\n'
                  'the descriptor object itself unless there is a value in the '
@@ -10677,17 +10714,16 @@
                  '\n'
                  'object.__match_args__\n'
                  '\n'
-                 '   This class variable can be assigned a tuple or list of '
-                 'strings.\n'
-                 '   When this class is used in a class pattern with '
-                 'positional\n'
-                 '   arguments, each positional argument will be converted '
-                 'into a\n'
-                 '   keyword argument, using the corresponding value in '
-                 '*__match_args__*\n'
-                 '   as the keyword. The absence of this attribute is '
-                 'equivalent to\n'
-                 '   setting it to "()".\n'
+                 '   This class variable can be assigned a tuple of strings. '
+                 'When this\n'
+                 '   class is used in a class pattern with positional '
+                 'arguments, each\n'
+                 '   positional argument will be converted into a keyword '
+                 'argument,\n'
+                 '   using the corresponding value in *__match_args__* as the '
+                 'keyword.\n'
+                 '   The absence of this attribute is equivalent to setting it '
+                 'to "()".\n'
                  '\n'
                  'For example, if "MyClass.__match_args__" is "("left", '
                  '"center",\n'
@@ -12680,7 +12716,13 @@
           '|             |\n'
           '      |                           | and "\'return\'" for the '
           'return   |             |\n'
-          '      |                           | annotation, if provided.        '
+          '      |                           | annotation, if provided.  For   '
+          '|             |\n'
+          '      |                           | more information on working     '
+          '|             |\n'
+          '      |                           | with this attribute, see        '
+          '|             |\n'
+          '      |                           | Annotations Best Practices.     '
           '|             |\n'
           '      '
           '+---------------------------+---------------------------------+-------------+\n'
@@ -12905,20 +12947,34 @@
           '   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 '
-          'name;\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 '
+          '   Predefined (writable) attributes:\n'
+          '\n'
+          '      "__name__"\n'
+          '         The module’s name.\n'
+          '\n'
+          '      "__doc__"\n'
+          '         The module’s documentation string, or "None" if '
+          'unavailable.\n'
+          '\n'
+          '      "__file__"\n'
+          '         The pathname of the file from which the module was loaded, '
+          'if\n'
+          '         it was loaded from a file. The "__file__" attribute may '
+          'be\n'
+          '         missing for certain types of modules, such as C modules '
+          'that\n'
+          '         are statically linked into the interpreter.  For '
+          'extension\n'
+          '         modules loaded dynamically from a shared library, it’s '
           'the\n'
-          '   module was loaded, if it was loaded from a file. The "__file__"\n'
-          '   attribute may be missing for certain types of modules, such as '
-          'C\n'
-          '   modules that are statically linked into the interpreter; for\n'
-          '   extension modules loaded dynamically from a shared library, it '
-          'is\n'
-          '   the pathname of the shared library file.\n'
+          '         pathname of the shared library file.\n'
+          '\n'
+          '      "__annotations__"\n'
+          '         A dictionary containing *variable annotations* collected\n'
+          '         during module body execution.  For best practices on '
+          'working\n'
+          '         with "__annotations__", please see Annotations Best\n'
+          '         Practices.\n'
           '\n'
           '   Special read-only attribute: "__dict__" is the module’s '
           'namespace\n'
@@ -12976,20 +13032,31 @@
           'instance\n'
           '   (see below).\n'
           '\n'
-          '   Special attributes: "__name__" is the class name; "__module__" '
-          'is\n'
-          '   the module name in which the class was defined; "__dict__" is '
-          'the\n'
-          '   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 '
-          'string,\n'
-          '   or "None" if undefined; "__annotations__" (optional) is a\n'
-          '   dictionary containing *variable annotations* collected during '
-          'class\n'
-          '   body execution.\n'
+          '   Special attributes:\n'
+          '\n'
+          '      "__name__"\n'
+          '         The class name.\n'
+          '\n'
+          '      "__module__"\n'
+          '         The name of the module in which the class was defined.\n'
+          '\n'
+          '      "__dict__"\n'
+          '         The dictionary containing the class’s namespace.\n'
+          '\n'
+          '      "__bases__"\n'
+          '         A tuple containing the base classes, in the order of '
+          'their\n'
+          '         occurrence in the base class list.\n'
+          '\n'
+          '      "__doc__"\n'
+          '         The class’s documentation string, or "None" if undefined.\n'
+          '\n'
+          '      "__annotations__"\n'
+          '         A dictionary containing *variable annotations* collected\n'
+          '         during class body execution.  For best practices on '
+          'working\n'
+          '         with "__annotations__", please see Annotations Best\n'
+          '         Practices.\n'
           '\n'
           'Class instances\n'
           '   A class instance is created by calling a class object (see '
@@ -13150,6 +13217,10 @@
           '      gives the precise instruction (this is an index into the\n'
           '      bytecode string of the code object).\n'
           '\n'
+          '      Accessing "f_code" raises an auditing event '
+          '"object.__getattr__"\n'
+          '      with arguments "obj" and ""f_code"".\n'
+          '\n'
           '      Special writable attributes: "f_trace", if not "None", is a\n'
           '      function called for various events during code execution '
           '(this\n'
@@ -13233,6 +13304,9 @@
           '      the exception occurred in a "try" statement with no matching\n'
           '      except clause or with a finally clause.\n'
           '\n'
+          '      Accessing "tb_frame" raises an auditing event\n'
+          '      "object.__getattr__" with arguments "obj" and ""tb_frame"".\n'
+          '\n'
           '      Special writable attribute: "tb_next" is the next level in '
           'the\n'
           '      stack trace (towards the frame where the exception occurred), '
@@ -13283,9 +13357,8 @@
           '      object actually returned is the wrapped object, which is not\n'
           '      subject to any further transformation. Static method objects '
           'are\n'
-          '      not themselves callable, although the objects they wrap '
-          'usually\n'
-          '      are. Static method objects are created by the built-in\n'
+          '      also callable. Static method objects are created by the '
+          'built-in\n'
           '      "staticmethod()" constructor.\n'
           '\n'
           '   Class method objects\n'