(module (expression_statement (string (string_start) (string_content) (string_end))) (import_from_statement module_name: (dotted_name (identifier)) name: (dotted_name (identifier))) (import_from_statement module_name: (relative_import (import_prefix) (dotted_name (identifier))) name: (dotted_name (identifier)) name: (dotted_name (identifier))) (comment) (comment) (comment) (decorated_definition (decorator (identifier)) definition: (function_definition name: (identifier) parameters: (parameters (list_splat_pattern (identifier)) (dictionary_splat_pattern (identifier))) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (return_statement (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (list_splat (identifier)) (dictionary_splat (identifier)))))))) (decorated_definition (decorator (identifier)) definition: (function_definition name: (identifier) parameters: (parameters (identifier) (identifier) (identifier) (default_parameter name: (identifier) value: (integer)) (default_parameter name: (identifier) value: (none))) body: (block (expression_statement (string (string_start) (string_content) (string_end))) (comment) (if_statement condition: (comparison_operator (identifier) (none)) consequence: (block (expression_statement (assignment left: (identifier) right: (binary_operator left: (identifier) right: (integer)))) (if_statement condition: (comparison_operator (call function: (identifier) arguments: (argument_list (identifier))) (identifier)) consequence: (block (raise_statement (call function: (identifier) arguments: (argument_list (string (string_start) (string_content) (interpolation expression: (call function: (identifier) arguments: (argument_list (identifier)))) (string_content) (interpolation expression: (identifier)) (string_content) (string_end))))))))) (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (identifier) (identifier) (identifier))))) (if_statement condition: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (comparison_operator (identifier) (subscript value: (identifier) subscript: (unary_operator argument: (integer)))))) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (call function: (identifier) arguments: (argument_list (subscript value: (identifier) subscript: (slice (unary_operator argument: (identifier)))) (subscript value: (identifier) subscript: (slice (unary_operator argument: (identifier)))) (identifier))))))) (expression_statement (assignment left: (subscript value: (identifier) subscript: (comparison_operator (identifier) (subscript value: (identifier) subscript: (unary_operator argument: (integer))))) right: (call function: (identifier) arguments: (argument_list (subscript value: (identifier) subscript: (comparison_operator (identifier) (subscript value: (identifier) subscript: (unary_operator argument: (integer))))))))))) (if_statement condition: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (comparison_operator (identifier) (subscript value: (identifier) subscript: (integer))))) consequence: (block (expression_statement (assignment left: (identifier) right: (call function: (attribute object: (identifier) attribute: (identifier)) arguments: (argument_list (call function: (identifier) arguments: (argument_list (subscript value: (identifier) subscript: (slice (identifier))) (subscript value: (identifier) subscript: (slice (identifier))) (identifier))))))) (expression_statement (assignment left: (subscript value: (identifier) subscript: (comparison_operator (identifier) (subscript value: (identifier) subscript: (integer)))) right: (call function: (identifier) arguments: (argument_list (subscript value: (identifier) subscript: (comparison_operator (identifier) (subscript value: (identifier) subscript: (integer)))))))))) (return_statement (identifier))))))