From 5ab0fd1147c17ae97cc356ea9c0695a647d93930 Mon Sep 17 00:00:00 2001 From: Sumedh Sakdeo Date: Sat, 14 Feb 2026 13:09:49 -0800 Subject: [PATCH 01/15] feat: forward batch_size parameter to PyArrow Scanner Add batch_size parameter to _task_to_record_batches, _record_batches_from_scan_tasks_and_deletes, ArrowScan.to_record_batches, and DataScan.to_arrow_batch_reader so users can control the number of rows per RecordBatch returned by PyArrow's Scanner. Closes partially #3036 Co-Authored-By: Claude Opus 4.6 --- mkdocs/docs/api.md | 16 + pyiceberg/io/pyarrow.py | 24 +- pyiceberg/table/__init__.py | 7 +- tests/io/test_pyarrow.py | 58 + vendor/fb303/FacebookService.py | 61 +- vendor/hive_metastore/ThriftHiveMetastore.py | 1337 +++++++----------- vendor/hive_metastore/ttypes.py | 626 ++++---- 7 files changed, 971 insertions(+), 1158 deletions(-) diff --git a/mkdocs/docs/api.md b/mkdocs/docs/api.md index 506547fcd6..dadaac93b4 100644 --- a/mkdocs/docs/api.md +++ b/mkdocs/docs/api.md @@ -355,6 +355,13 @@ for buf in tbl.scan().to_arrow_batch_reader(): print(f"Buffer contains {len(buf)} rows") ``` +You can control the number of rows per batch using the `batch_size` parameter: + +```python +for buf in tbl.scan().to_arrow_batch_reader(batch_size=1000): + print(f"Buffer contains {len(buf)} rows") +``` + To avoid any type inconsistencies during writing, you can convert the Iceberg table schema to Arrow: ```python @@ -1619,6 +1626,15 @@ table.scan( ).to_arrow_batch_reader() ``` +The `batch_size` parameter controls the maximum number of rows per RecordBatch (default is PyArrow's 131,072 rows): + +```python +table.scan( + row_filter=GreaterThanOrEqual("trip_distance", 10.0), + selected_fields=("VendorID", "tpep_pickup_datetime", "tpep_dropoff_datetime"), +).to_arrow_batch_reader(batch_size=1000) +``` + ### Pandas diff --git a/pyiceberg/io/pyarrow.py b/pyiceberg/io/pyarrow.py index a120c3b776..e7c0da5262 100644 --- a/pyiceberg/io/pyarrow.py +++ b/pyiceberg/io/pyarrow.py @@ -1581,6 +1581,7 @@ def _task_to_record_batches( partition_spec: PartitionSpec | None = None, format_version: TableVersion = TableProperties.DEFAULT_FORMAT_VERSION, downcast_ns_timestamp_to_us: bool | None = None, + batch_size: int | None = None, ) -> Iterator[pa.RecordBatch]: arrow_format = _get_file_format(task.file.file_format, pre_buffer=True, buffer_size=(ONE_MEGABYTE * 8)) with io.new_input(task.file.file_path).open() as fin: @@ -1612,14 +1613,18 @@ def _task_to_record_batches( file_project_schema = prune_columns(file_schema, projected_field_ids, select_full_types=False) - fragment_scanner = ds.Scanner.from_fragment( - fragment=fragment, - schema=physical_schema, + scanner_kwargs: dict[str, Any] = { + "fragment": fragment, + "schema": physical_schema, # This will push down the query to Arrow. # But in case there are positional deletes, we have to apply them first - filter=pyarrow_filter if not positional_deletes else None, - columns=[col.name for col in file_project_schema.columns], - ) + "filter": pyarrow_filter if not positional_deletes else None, + "columns": [col.name for col in file_project_schema.columns], + } + if batch_size is not None: + scanner_kwargs["batch_size"] = batch_size + + fragment_scanner = ds.Scanner.from_fragment(**scanner_kwargs) next_index = 0 batches = fragment_scanner.to_batches() @@ -1756,7 +1761,7 @@ def to_table(self, tasks: Iterable[FileScanTask]) -> pa.Table: return result - def to_record_batches(self, tasks: Iterable[FileScanTask]) -> Iterator[pa.RecordBatch]: + def to_record_batches(self, tasks: Iterable[FileScanTask], batch_size: int | None = None) -> Iterator[pa.RecordBatch]: """Scan the Iceberg table and return an Iterator[pa.RecordBatch]. Returns an Iterator of pa.RecordBatch with data from the Iceberg table @@ -1783,7 +1788,7 @@ def batches_for_task(task: FileScanTask) -> list[pa.RecordBatch]: # Materialize the iterator here to ensure execution happens within the executor. # Otherwise, the iterator would be lazily consumed later (in the main thread), # defeating the purpose of using executor.map. - return list(self._record_batches_from_scan_tasks_and_deletes([task], deletes_per_file)) + return list(self._record_batches_from_scan_tasks_and_deletes([task], deletes_per_file, batch_size)) limit_reached = False for batches in executor.map(batches_for_task, tasks): @@ -1803,7 +1808,7 @@ def batches_for_task(task: FileScanTask) -> list[pa.RecordBatch]: break def _record_batches_from_scan_tasks_and_deletes( - self, tasks: Iterable[FileScanTask], deletes_per_file: dict[str, list[ChunkedArray]] + self, tasks: Iterable[FileScanTask], deletes_per_file: dict[str, list[ChunkedArray]], batch_size: int | None = None ) -> Iterator[pa.RecordBatch]: total_row_count = 0 for task in tasks: @@ -1822,6 +1827,7 @@ def _record_batches_from_scan_tasks_and_deletes( self._table_metadata.specs().get(task.file.spec_id), self._table_metadata.format_version, self._downcast_ns_timestamp_to_us, + batch_size, ) for batch in batches: if self._limit is not None: diff --git a/pyiceberg/table/__init__.py b/pyiceberg/table/__init__.py index cc0d9ff341..63fd1509e4 100644 --- a/pyiceberg/table/__init__.py +++ b/pyiceberg/table/__init__.py @@ -2157,13 +2157,16 @@ def to_arrow(self) -> pa.Table: self.table_metadata, self.io, self.projection(), self.row_filter, self.case_sensitive, self.limit ).to_table(self.plan_files()) - def to_arrow_batch_reader(self) -> pa.RecordBatchReader: + def to_arrow_batch_reader(self, batch_size: int | None = None) -> pa.RecordBatchReader: """Return an Arrow RecordBatchReader from this DataScan. For large results, using a RecordBatchReader requires less memory than loading an Arrow Table for the same DataScan, because a RecordBatch is read one at a time. + Args: + batch_size: The number of rows per batch. If None, PyArrow's default is used. + Returns: pa.RecordBatchReader: Arrow RecordBatchReader from the Iceberg table's DataScan which can be used to read a stream of record batches one by one. @@ -2175,7 +2178,7 @@ def to_arrow_batch_reader(self) -> pa.RecordBatchReader: target_schema = schema_to_pyarrow(self.projection()) batches = ArrowScan( self.table_metadata, self.io, self.projection(), self.row_filter, self.case_sensitive, self.limit - ).to_record_batches(self.plan_files()) + ).to_record_batches(self.plan_files(), batch_size=batch_size) return pa.RecordBatchReader.from_batches( target_schema, diff --git a/tests/io/test_pyarrow.py b/tests/io/test_pyarrow.py index 04bc3ecfac..fb03f785c6 100644 --- a/tests/io/test_pyarrow.py +++ b/tests/io/test_pyarrow.py @@ -3048,6 +3048,64 @@ def _expected_batch(unit: str) -> pa.RecordBatch: assert _expected_batch("ns" if format_version > 2 else "us").equals(actual_result) +def test_task_to_record_batches_with_batch_size(tmpdir: str) -> None: + """Test that batch_size controls the number of rows per batch.""" + num_rows = 1000 + arrow_table = pa.table( + {"col": pa.array(range(num_rows))}, + schema=pa.schema([pa.field("col", pa.int64(), nullable=False, metadata={PYARROW_PARQUET_FIELD_ID_KEY: "1"})]), + ) + data_file = _write_table_to_data_file(f"{tmpdir}/test_batch_size.parquet", arrow_table.schema, arrow_table) + table_schema = Schema(NestedField(1, "col", LongType(), required=True)) + + batches = list( + _task_to_record_batches( + PyArrowFileIO(), + FileScanTask(data_file), + bound_row_filter=AlwaysTrue(), + projected_schema=table_schema, + table_schema=table_schema, + projected_field_ids={1}, + positional_deletes=None, + case_sensitive=True, + batch_size=100, + ) + ) + + assert len(batches) > 1 + for batch in batches: + assert len(batch) <= 100 + assert sum(len(b) for b in batches) == num_rows + + +def test_task_to_record_batches_default_batch_size(tmpdir: str) -> None: + """Test that batch_size=None uses PyArrow default (single batch for small files).""" + num_rows = 100 + arrow_table = pa.table( + {"col": pa.array(range(num_rows))}, + schema=pa.schema([pa.field("col", pa.int64(), nullable=False, metadata={PYARROW_PARQUET_FIELD_ID_KEY: "1"})]), + ) + data_file = _write_table_to_data_file(f"{tmpdir}/test_default_batch_size.parquet", arrow_table.schema, arrow_table) + table_schema = Schema(NestedField(1, "col", LongType(), required=True)) + + batches = list( + _task_to_record_batches( + PyArrowFileIO(), + FileScanTask(data_file), + bound_row_filter=AlwaysTrue(), + projected_schema=table_schema, + table_schema=table_schema, + projected_field_ids={1}, + positional_deletes=None, + case_sensitive=True, + ) + ) + + # With default batch_size, a small file should produce a single batch + assert len(batches) == 1 + assert len(batches[0]) == num_rows + + def test_parse_location_defaults() -> None: """Test that parse_location uses defaults.""" diff --git a/vendor/fb303/FacebookService.py b/vendor/fb303/FacebookService.py index c46b0a82a2..7115e8a0d8 100644 --- a/vendor/fb303/FacebookService.py +++ b/vendor/fb303/FacebookService.py @@ -50,21 +50,18 @@ def getName(self): Returns a descriptive name of the service """ - pass def getVersion(self): """ Returns the version of the service """ - pass def getStatus(self): """ Gets the status of this service """ - pass def getStatusDetails(self): """ @@ -72,14 +69,12 @@ def getStatusDetails(self): the dead or warning state, or what is being started or stopped. """ - pass def getCounters(self): """ Gets the counters for this service """ - pass def getCounter(self, key): """ @@ -89,7 +84,6 @@ def getCounter(self, key): - key """ - pass def setOption(self, key, value): """ @@ -100,7 +94,6 @@ def setOption(self, key, value): - value """ - pass def getOption(self, key): """ @@ -110,14 +103,12 @@ def getOption(self, key): - key """ - pass def getOptions(self): """ Gets all options """ - pass def getCpuProfile(self, profileDurationInSec): """ @@ -128,28 +119,24 @@ def getCpuProfile(self, profileDurationInSec): - profileDurationInSec """ - pass def aliveSince(self): """ Returns the unix time that the server has been running since """ - pass def reinitialize(self): """ Tell the server to reload its configuration, reopen log files, etc """ - pass def shutdown(self): """ Suggest a shutdown to the server """ - pass class Client(Iface): @@ -890,7 +877,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -958,7 +945,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1011,7 +998,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1079,7 +1066,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1132,7 +1119,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1198,7 +1185,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1251,7 +1238,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1319,7 +1306,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1372,7 +1359,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1452,7 +1439,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1528,7 +1515,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1603,7 +1590,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1693,7 +1680,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1754,7 +1741,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1822,7 +1809,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1899,7 +1886,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1952,7 +1939,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -2036,7 +2023,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -2110,7 +2097,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -2187,7 +2174,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -2240,7 +2227,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -2306,7 +2293,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -2359,7 +2346,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -2404,7 +2391,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): diff --git a/vendor/hive_metastore/ThriftHiveMetastore.py b/vendor/hive_metastore/ThriftHiveMetastore.py index 4d25c087c7..92ba9eaeae 100644 --- a/vendor/hive_metastore/ThriftHiveMetastore.py +++ b/vendor/hive_metastore/ThriftHiveMetastore.py @@ -52,7 +52,6 @@ def getMetaConf(self, key): - key """ - pass def setMetaConf(self, key, value): """ @@ -61,7 +60,6 @@ def setMetaConf(self, key, value): - value """ - pass def create_catalog(self, catalog): """ @@ -69,7 +67,6 @@ def create_catalog(self, catalog): - catalog """ - pass def alter_catalog(self, rqst): """ @@ -77,7 +74,6 @@ def alter_catalog(self, rqst): - rqst """ - pass def get_catalog(self, catName): """ @@ -85,7 +81,6 @@ def get_catalog(self, catName): - catName """ - pass def get_catalogs(self): pass @@ -96,7 +91,6 @@ def drop_catalog(self, catName): - catName """ - pass def create_database(self, database): """ @@ -104,7 +98,6 @@ def create_database(self, database): - database """ - pass def get_database(self, name): """ @@ -112,7 +105,6 @@ def get_database(self, name): - name """ - pass def get_database_req(self, request): """ @@ -120,7 +112,6 @@ def get_database_req(self, request): - request """ - pass def drop_database(self, name, deleteData, cascade): """ @@ -130,7 +121,6 @@ def drop_database(self, name, deleteData, cascade): - cascade """ - pass def drop_database_req(self, req): """ @@ -138,7 +128,6 @@ def drop_database_req(self, req): - req """ - pass def get_databases(self, pattern): """ @@ -146,7 +135,6 @@ def get_databases(self, pattern): - pattern """ - pass def get_all_databases(self): pass @@ -158,7 +146,6 @@ def alter_database(self, dbname, db): - db """ - pass def create_dataconnector(self, connector): """ @@ -166,7 +153,6 @@ def create_dataconnector(self, connector): - connector """ - pass def get_dataconnector_req(self, request): """ @@ -174,7 +160,6 @@ def get_dataconnector_req(self, request): - request """ - pass def drop_dataconnector(self, name, ifNotExists, checkReferences): """ @@ -184,7 +169,6 @@ def drop_dataconnector(self, name, ifNotExists, checkReferences): - checkReferences """ - pass def get_dataconnectors(self): pass @@ -196,7 +180,6 @@ def alter_dataconnector(self, name, connector): - connector """ - pass def get_type(self, name): """ @@ -204,7 +187,6 @@ def get_type(self, name): - name """ - pass def create_type(self, type): """ @@ -212,7 +194,6 @@ def create_type(self, type): - type """ - pass def drop_type(self, type): """ @@ -220,7 +201,6 @@ def drop_type(self, type): - type """ - pass def get_type_all(self, name): """ @@ -228,7 +208,6 @@ def get_type_all(self, name): - name """ - pass def get_fields(self, db_name, table_name): """ @@ -237,7 +216,6 @@ def get_fields(self, db_name, table_name): - table_name """ - pass def get_fields_with_environment_context(self, db_name, table_name, environment_context): """ @@ -247,7 +225,6 @@ def get_fields_with_environment_context(self, db_name, table_name, environment_c - environment_context """ - pass def get_fields_req(self, req): """ @@ -255,7 +232,6 @@ def get_fields_req(self, req): - req """ - pass def get_schema(self, db_name, table_name): """ @@ -264,7 +240,6 @@ def get_schema(self, db_name, table_name): - table_name """ - pass def get_schema_with_environment_context(self, db_name, table_name, environment_context): """ @@ -274,7 +249,6 @@ def get_schema_with_environment_context(self, db_name, table_name, environment_c - environment_context """ - pass def get_schema_req(self, req): """ @@ -282,7 +256,6 @@ def get_schema_req(self, req): - req """ - pass def create_table(self, tbl): """ @@ -290,7 +263,6 @@ def create_table(self, tbl): - tbl """ - pass def create_table_with_environment_context(self, tbl, environment_context): """ @@ -299,7 +271,6 @@ def create_table_with_environment_context(self, tbl, environment_context): - environment_context """ - pass def create_table_with_constraints( self, tbl, primaryKeys, foreignKeys, uniqueConstraints, notNullConstraints, defaultConstraints, checkConstraints @@ -315,7 +286,6 @@ def create_table_with_constraints( - checkConstraints """ - pass def create_table_req(self, request): """ @@ -323,7 +293,6 @@ def create_table_req(self, request): - request """ - pass def drop_constraint(self, req): """ @@ -331,7 +300,6 @@ def drop_constraint(self, req): - req """ - pass def add_primary_key(self, req): """ @@ -339,7 +307,6 @@ def add_primary_key(self, req): - req """ - pass def add_foreign_key(self, req): """ @@ -347,7 +314,6 @@ def add_foreign_key(self, req): - req """ - pass def add_unique_constraint(self, req): """ @@ -355,7 +321,6 @@ def add_unique_constraint(self, req): - req """ - pass def add_not_null_constraint(self, req): """ @@ -363,7 +328,6 @@ def add_not_null_constraint(self, req): - req """ - pass def add_default_constraint(self, req): """ @@ -371,7 +335,6 @@ def add_default_constraint(self, req): - req """ - pass def add_check_constraint(self, req): """ @@ -379,7 +342,6 @@ def add_check_constraint(self, req): - req """ - pass def translate_table_dryrun(self, request): """ @@ -387,7 +349,6 @@ def translate_table_dryrun(self, request): - request """ - pass def drop_table(self, dbname, name, deleteData): """ @@ -397,7 +358,6 @@ def drop_table(self, dbname, name, deleteData): - deleteData """ - pass def drop_table_with_environment_context(self, dbname, name, deleteData, environment_context): """ @@ -408,7 +368,6 @@ def drop_table_with_environment_context(self, dbname, name, deleteData, environm - environment_context """ - pass def truncate_table(self, dbName, tableName, partNames): """ @@ -418,7 +377,6 @@ def truncate_table(self, dbName, tableName, partNames): - partNames """ - pass def truncate_table_req(self, req): """ @@ -426,7 +384,6 @@ def truncate_table_req(self, req): - req """ - pass def get_tables(self, db_name, pattern): """ @@ -435,7 +392,6 @@ def get_tables(self, db_name, pattern): - pattern """ - pass def get_tables_by_type(self, db_name, pattern, tableType): """ @@ -445,7 +401,6 @@ def get_tables_by_type(self, db_name, pattern, tableType): - tableType """ - pass def get_all_materialized_view_objects_for_rewriting(self): pass @@ -456,7 +411,6 @@ def get_materialized_views_for_rewriting(self, db_name): - db_name """ - pass def get_table_meta(self, db_patterns, tbl_patterns, tbl_types): """ @@ -466,7 +420,6 @@ def get_table_meta(self, db_patterns, tbl_patterns, tbl_types): - tbl_types """ - pass def get_all_tables(self, db_name): """ @@ -474,7 +427,6 @@ def get_all_tables(self, db_name): - db_name """ - pass def get_table(self, dbname, tbl_name): """ @@ -483,7 +435,6 @@ def get_table(self, dbname, tbl_name): - tbl_name """ - pass def get_table_objects_by_name(self, dbname, tbl_names): """ @@ -492,7 +443,6 @@ def get_table_objects_by_name(self, dbname, tbl_names): - tbl_names """ - pass def get_tables_ext(self, req): """ @@ -500,7 +450,6 @@ def get_tables_ext(self, req): - req """ - pass def get_table_req(self, req): """ @@ -508,7 +457,6 @@ def get_table_req(self, req): - req """ - pass def get_table_objects_by_name_req(self, req): """ @@ -516,7 +464,6 @@ def get_table_objects_by_name_req(self, req): - req """ - pass def get_materialization_invalidation_info(self, creation_metadata, validTxnList): """ @@ -525,7 +472,6 @@ def get_materialization_invalidation_info(self, creation_metadata, validTxnList) - validTxnList """ - pass def update_creation_metadata(self, catName, dbname, tbl_name, creation_metadata): """ @@ -536,7 +482,6 @@ def update_creation_metadata(self, catName, dbname, tbl_name, creation_metadata) - creation_metadata """ - pass def get_table_names_by_filter(self, dbname, filter, max_tables): """ @@ -546,7 +491,6 @@ def get_table_names_by_filter(self, dbname, filter, max_tables): - max_tables """ - pass def alter_table(self, dbname, tbl_name, new_tbl): """ @@ -556,7 +500,6 @@ def alter_table(self, dbname, tbl_name, new_tbl): - new_tbl """ - pass def alter_table_with_environment_context(self, dbname, tbl_name, new_tbl, environment_context): """ @@ -567,7 +510,6 @@ def alter_table_with_environment_context(self, dbname, tbl_name, new_tbl, enviro - environment_context """ - pass def alter_table_with_cascade(self, dbname, tbl_name, new_tbl, cascade): """ @@ -578,7 +520,6 @@ def alter_table_with_cascade(self, dbname, tbl_name, new_tbl, cascade): - cascade """ - pass def alter_table_req(self, req): """ @@ -586,7 +527,6 @@ def alter_table_req(self, req): - req """ - pass def add_partition(self, new_part): """ @@ -594,7 +534,6 @@ def add_partition(self, new_part): - new_part """ - pass def add_partition_with_environment_context(self, new_part, environment_context): """ @@ -603,7 +542,6 @@ def add_partition_with_environment_context(self, new_part, environment_context): - environment_context """ - pass def add_partitions(self, new_parts): """ @@ -611,7 +549,6 @@ def add_partitions(self, new_parts): - new_parts """ - pass def add_partitions_pspec(self, new_parts): """ @@ -619,7 +556,6 @@ def add_partitions_pspec(self, new_parts): - new_parts """ - pass def append_partition(self, db_name, tbl_name, part_vals): """ @@ -629,7 +565,6 @@ def append_partition(self, db_name, tbl_name, part_vals): - part_vals """ - pass def add_partitions_req(self, request): """ @@ -637,7 +572,6 @@ def add_partitions_req(self, request): - request """ - pass def append_partition_with_environment_context(self, db_name, tbl_name, part_vals, environment_context): """ @@ -648,7 +582,6 @@ def append_partition_with_environment_context(self, db_name, tbl_name, part_vals - environment_context """ - pass def append_partition_by_name(self, db_name, tbl_name, part_name): """ @@ -658,7 +591,6 @@ def append_partition_by_name(self, db_name, tbl_name, part_name): - part_name """ - pass def append_partition_by_name_with_environment_context(self, db_name, tbl_name, part_name, environment_context): """ @@ -669,7 +601,6 @@ def append_partition_by_name_with_environment_context(self, db_name, tbl_name, p - environment_context """ - pass def drop_partition(self, db_name, tbl_name, part_vals, deleteData): """ @@ -680,7 +611,6 @@ def drop_partition(self, db_name, tbl_name, part_vals, deleteData): - deleteData """ - pass def drop_partition_with_environment_context(self, db_name, tbl_name, part_vals, deleteData, environment_context): """ @@ -692,7 +622,6 @@ def drop_partition_with_environment_context(self, db_name, tbl_name, part_vals, - environment_context """ - pass def drop_partition_by_name(self, db_name, tbl_name, part_name, deleteData): """ @@ -703,7 +632,6 @@ def drop_partition_by_name(self, db_name, tbl_name, part_name, deleteData): - deleteData """ - pass def drop_partition_by_name_with_environment_context(self, db_name, tbl_name, part_name, deleteData, environment_context): """ @@ -715,7 +643,6 @@ def drop_partition_by_name_with_environment_context(self, db_name, tbl_name, par - environment_context """ - pass def drop_partitions_req(self, req): """ @@ -723,7 +650,6 @@ def drop_partitions_req(self, req): - req """ - pass def get_partition(self, db_name, tbl_name, part_vals): """ @@ -733,7 +659,6 @@ def get_partition(self, db_name, tbl_name, part_vals): - part_vals """ - pass def get_partition_req(self, req): """ @@ -741,7 +666,6 @@ def get_partition_req(self, req): - req """ - pass def exchange_partition(self, partitionSpecs, source_db, source_table_name, dest_db, dest_table_name): """ @@ -753,7 +677,6 @@ def exchange_partition(self, partitionSpecs, source_db, source_table_name, dest_ - dest_table_name """ - pass def exchange_partitions(self, partitionSpecs, source_db, source_table_name, dest_db, dest_table_name): """ @@ -765,7 +688,6 @@ def exchange_partitions(self, partitionSpecs, source_db, source_table_name, dest - dest_table_name """ - pass def get_partition_with_auth(self, db_name, tbl_name, part_vals, user_name, group_names): """ @@ -777,7 +699,6 @@ def get_partition_with_auth(self, db_name, tbl_name, part_vals, user_name, group - group_names """ - pass def get_partition_by_name(self, db_name, tbl_name, part_name): """ @@ -787,7 +708,6 @@ def get_partition_by_name(self, db_name, tbl_name, part_name): - part_name """ - pass def get_partitions(self, db_name, tbl_name, max_parts): """ @@ -797,7 +717,6 @@ def get_partitions(self, db_name, tbl_name, max_parts): - max_parts """ - pass def get_partitions_req(self, req): """ @@ -805,7 +724,6 @@ def get_partitions_req(self, req): - req """ - pass def get_partitions_with_auth(self, db_name, tbl_name, max_parts, user_name, group_names): """ @@ -817,7 +735,6 @@ def get_partitions_with_auth(self, db_name, tbl_name, max_parts, user_name, grou - group_names """ - pass def get_partitions_pspec(self, db_name, tbl_name, max_parts): """ @@ -827,7 +744,6 @@ def get_partitions_pspec(self, db_name, tbl_name, max_parts): - max_parts """ - pass def get_partition_names(self, db_name, tbl_name, max_parts): """ @@ -837,7 +753,6 @@ def get_partition_names(self, db_name, tbl_name, max_parts): - max_parts """ - pass def get_partition_values(self, request): """ @@ -845,7 +760,6 @@ def get_partition_values(self, request): - request """ - pass def get_partitions_ps(self, db_name, tbl_name, part_vals, max_parts): """ @@ -856,7 +770,6 @@ def get_partitions_ps(self, db_name, tbl_name, part_vals, max_parts): - max_parts """ - pass def get_partitions_ps_with_auth(self, db_name, tbl_name, part_vals, max_parts, user_name, group_names): """ @@ -869,7 +782,6 @@ def get_partitions_ps_with_auth(self, db_name, tbl_name, part_vals, max_parts, u - group_names """ - pass def get_partitions_ps_with_auth_req(self, req): """ @@ -877,7 +789,6 @@ def get_partitions_ps_with_auth_req(self, req): - req """ - pass def get_partition_names_ps(self, db_name, tbl_name, part_vals, max_parts): """ @@ -888,7 +799,6 @@ def get_partition_names_ps(self, db_name, tbl_name, part_vals, max_parts): - max_parts """ - pass def get_partition_names_ps_req(self, req): """ @@ -896,7 +806,6 @@ def get_partition_names_ps_req(self, req): - req """ - pass def get_partition_names_req(self, req): """ @@ -904,7 +813,6 @@ def get_partition_names_req(self, req): - req """ - pass def get_partitions_by_filter(self, db_name, tbl_name, filter, max_parts): """ @@ -915,7 +823,6 @@ def get_partitions_by_filter(self, db_name, tbl_name, filter, max_parts): - max_parts """ - pass def get_part_specs_by_filter(self, db_name, tbl_name, filter, max_parts): """ @@ -926,7 +833,6 @@ def get_part_specs_by_filter(self, db_name, tbl_name, filter, max_parts): - max_parts """ - pass def get_partitions_by_expr(self, req): """ @@ -934,7 +840,6 @@ def get_partitions_by_expr(self, req): - req """ - pass def get_partitions_spec_by_expr(self, req): """ @@ -942,7 +847,6 @@ def get_partitions_spec_by_expr(self, req): - req """ - pass def get_num_partitions_by_filter(self, db_name, tbl_name, filter): """ @@ -952,7 +856,6 @@ def get_num_partitions_by_filter(self, db_name, tbl_name, filter): - filter """ - pass def get_partitions_by_names(self, db_name, tbl_name, names): """ @@ -962,7 +865,6 @@ def get_partitions_by_names(self, db_name, tbl_name, names): - names """ - pass def get_partitions_by_names_req(self, req): """ @@ -970,7 +872,6 @@ def get_partitions_by_names_req(self, req): - req """ - pass def alter_partition(self, db_name, tbl_name, new_part): """ @@ -980,7 +881,6 @@ def alter_partition(self, db_name, tbl_name, new_part): - new_part """ - pass def alter_partitions(self, db_name, tbl_name, new_parts): """ @@ -990,7 +890,6 @@ def alter_partitions(self, db_name, tbl_name, new_parts): - new_parts """ - pass def alter_partitions_with_environment_context(self, db_name, tbl_name, new_parts, environment_context): """ @@ -1001,7 +900,6 @@ def alter_partitions_with_environment_context(self, db_name, tbl_name, new_parts - environment_context """ - pass def alter_partitions_req(self, req): """ @@ -1009,7 +907,6 @@ def alter_partitions_req(self, req): - req """ - pass def alter_partition_with_environment_context(self, db_name, tbl_name, new_part, environment_context): """ @@ -1020,7 +917,6 @@ def alter_partition_with_environment_context(self, db_name, tbl_name, new_part, - environment_context """ - pass def rename_partition(self, db_name, tbl_name, part_vals, new_part): """ @@ -1031,7 +927,6 @@ def rename_partition(self, db_name, tbl_name, part_vals, new_part): - new_part """ - pass def rename_partition_req(self, req): """ @@ -1039,7 +934,6 @@ def rename_partition_req(self, req): - req """ - pass def partition_name_has_valid_characters(self, part_vals, throw_exception): """ @@ -1048,7 +942,6 @@ def partition_name_has_valid_characters(self, part_vals, throw_exception): - throw_exception """ - pass def get_config_value(self, name, defaultValue): """ @@ -1057,7 +950,6 @@ def get_config_value(self, name, defaultValue): - defaultValue """ - pass def partition_name_to_vals(self, part_name): """ @@ -1065,7 +957,6 @@ def partition_name_to_vals(self, part_name): - part_name """ - pass def partition_name_to_spec(self, part_name): """ @@ -1073,7 +964,6 @@ def partition_name_to_spec(self, part_name): - part_name """ - pass def markPartitionForEvent(self, db_name, tbl_name, part_vals, eventType): """ @@ -1084,7 +974,6 @@ def markPartitionForEvent(self, db_name, tbl_name, part_vals, eventType): - eventType """ - pass def isPartitionMarkedForEvent(self, db_name, tbl_name, part_vals, eventType): """ @@ -1095,7 +984,6 @@ def isPartitionMarkedForEvent(self, db_name, tbl_name, part_vals, eventType): - eventType """ - pass def get_primary_keys(self, request): """ @@ -1103,7 +991,6 @@ def get_primary_keys(self, request): - request """ - pass def get_foreign_keys(self, request): """ @@ -1111,7 +998,6 @@ def get_foreign_keys(self, request): - request """ - pass def get_unique_constraints(self, request): """ @@ -1119,7 +1005,6 @@ def get_unique_constraints(self, request): - request """ - pass def get_not_null_constraints(self, request): """ @@ -1127,7 +1012,6 @@ def get_not_null_constraints(self, request): - request """ - pass def get_default_constraints(self, request): """ @@ -1135,7 +1019,6 @@ def get_default_constraints(self, request): - request """ - pass def get_check_constraints(self, request): """ @@ -1143,7 +1026,6 @@ def get_check_constraints(self, request): - request """ - pass def get_all_table_constraints(self, request): """ @@ -1151,7 +1033,6 @@ def get_all_table_constraints(self, request): - request """ - pass def update_table_column_statistics(self, stats_obj): """ @@ -1159,7 +1040,6 @@ def update_table_column_statistics(self, stats_obj): - stats_obj """ - pass def update_partition_column_statistics(self, stats_obj): """ @@ -1167,7 +1047,6 @@ def update_partition_column_statistics(self, stats_obj): - stats_obj """ - pass def update_table_column_statistics_req(self, req): """ @@ -1175,7 +1054,6 @@ def update_table_column_statistics_req(self, req): - req """ - pass def update_partition_column_statistics_req(self, req): """ @@ -1183,7 +1061,6 @@ def update_partition_column_statistics_req(self, req): - req """ - pass def update_transaction_statistics(self, req): """ @@ -1191,7 +1068,6 @@ def update_transaction_statistics(self, req): - req """ - pass def get_table_column_statistics(self, db_name, tbl_name, col_name): """ @@ -1201,7 +1077,6 @@ def get_table_column_statistics(self, db_name, tbl_name, col_name): - col_name """ - pass def get_partition_column_statistics(self, db_name, tbl_name, part_name, col_name): """ @@ -1212,7 +1087,6 @@ def get_partition_column_statistics(self, db_name, tbl_name, part_name, col_name - col_name """ - pass def get_table_statistics_req(self, request): """ @@ -1220,7 +1094,6 @@ def get_table_statistics_req(self, request): - request """ - pass def get_partitions_statistics_req(self, request): """ @@ -1228,7 +1101,6 @@ def get_partitions_statistics_req(self, request): - request """ - pass def get_aggr_stats_for(self, request): """ @@ -1236,7 +1108,6 @@ def get_aggr_stats_for(self, request): - request """ - pass def set_aggr_stats_for(self, request): """ @@ -1244,7 +1115,6 @@ def set_aggr_stats_for(self, request): - request """ - pass def delete_partition_column_statistics(self, db_name, tbl_name, part_name, col_name, engine): """ @@ -1256,7 +1126,6 @@ def delete_partition_column_statistics(self, db_name, tbl_name, part_name, col_n - engine """ - pass def delete_table_column_statistics(self, db_name, tbl_name, col_name, engine): """ @@ -1267,7 +1136,6 @@ def delete_table_column_statistics(self, db_name, tbl_name, col_name, engine): - engine """ - pass def create_function(self, func): """ @@ -1275,7 +1143,6 @@ def create_function(self, func): - func """ - pass def drop_function(self, dbName, funcName): """ @@ -1284,7 +1151,6 @@ def drop_function(self, dbName, funcName): - funcName """ - pass def alter_function(self, dbName, funcName, newFunc): """ @@ -1294,7 +1160,6 @@ def alter_function(self, dbName, funcName, newFunc): - newFunc """ - pass def get_functions(self, dbName, pattern): """ @@ -1303,7 +1168,6 @@ def get_functions(self, dbName, pattern): - pattern """ - pass def get_function(self, dbName, funcName): """ @@ -1312,7 +1176,6 @@ def get_function(self, dbName, funcName): - funcName """ - pass def get_all_functions(self): pass @@ -1323,7 +1186,6 @@ def create_role(self, role): - role """ - pass def drop_role(self, role_name): """ @@ -1331,7 +1193,6 @@ def drop_role(self, role_name): - role_name """ - pass def get_role_names(self): pass @@ -1347,7 +1208,6 @@ def grant_role(self, role_name, principal_name, principal_type, grantor, grantor - grant_option """ - pass def revoke_role(self, role_name, principal_name, principal_type): """ @@ -1357,7 +1217,6 @@ def revoke_role(self, role_name, principal_name, principal_type): - principal_type """ - pass def list_roles(self, principal_name, principal_type): """ @@ -1366,7 +1225,6 @@ def list_roles(self, principal_name, principal_type): - principal_type """ - pass def grant_revoke_role(self, request): """ @@ -1374,7 +1232,6 @@ def grant_revoke_role(self, request): - request """ - pass def get_principals_in_role(self, request): """ @@ -1382,7 +1239,6 @@ def get_principals_in_role(self, request): - request """ - pass def get_role_grants_for_principal(self, request): """ @@ -1390,7 +1246,6 @@ def get_role_grants_for_principal(self, request): - request """ - pass def get_privilege_set(self, hiveObject, user_name, group_names): """ @@ -1400,7 +1255,6 @@ def get_privilege_set(self, hiveObject, user_name, group_names): - group_names """ - pass def list_privileges(self, principal_name, principal_type, hiveObject): """ @@ -1410,7 +1264,6 @@ def list_privileges(self, principal_name, principal_type, hiveObject): - hiveObject """ - pass def grant_privileges(self, privileges): """ @@ -1418,7 +1271,6 @@ def grant_privileges(self, privileges): - privileges """ - pass def revoke_privileges(self, privileges): """ @@ -1426,7 +1278,6 @@ def revoke_privileges(self, privileges): - privileges """ - pass def grant_revoke_privileges(self, request): """ @@ -1434,7 +1285,6 @@ def grant_revoke_privileges(self, request): - request """ - pass def refresh_privileges(self, objToRefresh, authorizer, grantRequest): """ @@ -1444,7 +1294,6 @@ def refresh_privileges(self, objToRefresh, authorizer, grantRequest): - grantRequest """ - pass def set_ugi(self, user_name, group_names): """ @@ -1453,7 +1302,6 @@ def set_ugi(self, user_name, group_names): - group_names """ - pass def get_delegation_token(self, token_owner, renewer_kerberos_principal_name): """ @@ -1462,7 +1310,6 @@ def get_delegation_token(self, token_owner, renewer_kerberos_principal_name): - renewer_kerberos_principal_name """ - pass def renew_delegation_token(self, token_str_form): """ @@ -1470,7 +1317,6 @@ def renew_delegation_token(self, token_str_form): - token_str_form """ - pass def cancel_delegation_token(self, token_str_form): """ @@ -1478,7 +1324,6 @@ def cancel_delegation_token(self, token_str_form): - token_str_form """ - pass def add_token(self, token_identifier, delegation_token): """ @@ -1487,7 +1332,6 @@ def add_token(self, token_identifier, delegation_token): - delegation_token """ - pass def remove_token(self, token_identifier): """ @@ -1495,7 +1339,6 @@ def remove_token(self, token_identifier): - token_identifier """ - pass def get_token(self, token_identifier): """ @@ -1503,7 +1346,6 @@ def get_token(self, token_identifier): - token_identifier """ - pass def get_all_token_identifiers(self): pass @@ -1514,7 +1356,6 @@ def add_master_key(self, key): - key """ - pass def update_master_key(self, seq_number, key): """ @@ -1523,7 +1364,6 @@ def update_master_key(self, seq_number, key): - key """ - pass def remove_master_key(self, key_seq): """ @@ -1531,7 +1371,6 @@ def remove_master_key(self, key_seq): - key_seq """ - pass def get_master_keys(self): pass @@ -1548,7 +1387,6 @@ def open_txns(self, rqst): - rqst """ - pass def abort_txn(self, rqst): """ @@ -1556,7 +1394,6 @@ def abort_txn(self, rqst): - rqst """ - pass def abort_txns(self, rqst): """ @@ -1564,7 +1401,6 @@ def abort_txns(self, rqst): - rqst """ - pass def commit_txn(self, rqst): """ @@ -1572,7 +1408,6 @@ def commit_txn(self, rqst): - rqst """ - pass def get_latest_txnid_in_conflict(self, txnId): """ @@ -1580,7 +1415,6 @@ def get_latest_txnid_in_conflict(self, txnId): - txnId """ - pass def repl_tbl_writeid_state(self, rqst): """ @@ -1588,7 +1422,6 @@ def repl_tbl_writeid_state(self, rqst): - rqst """ - pass def get_valid_write_ids(self, rqst): """ @@ -1596,7 +1429,6 @@ def get_valid_write_ids(self, rqst): - rqst """ - pass def allocate_table_write_ids(self, rqst): """ @@ -1604,7 +1436,6 @@ def allocate_table_write_ids(self, rqst): - rqst """ - pass def get_max_allocated_table_write_id(self, rqst): """ @@ -1612,7 +1443,6 @@ def get_max_allocated_table_write_id(self, rqst): - rqst """ - pass def seed_write_id(self, rqst): """ @@ -1620,7 +1450,6 @@ def seed_write_id(self, rqst): - rqst """ - pass def seed_txn_id(self, rqst): """ @@ -1628,7 +1457,6 @@ def seed_txn_id(self, rqst): - rqst """ - pass def lock(self, rqst): """ @@ -1636,7 +1464,6 @@ def lock(self, rqst): - rqst """ - pass def check_lock(self, rqst): """ @@ -1644,7 +1471,6 @@ def check_lock(self, rqst): - rqst """ - pass def unlock(self, rqst): """ @@ -1652,7 +1478,6 @@ def unlock(self, rqst): - rqst """ - pass def show_locks(self, rqst): """ @@ -1660,7 +1485,6 @@ def show_locks(self, rqst): - rqst """ - pass def heartbeat(self, ids): """ @@ -1668,7 +1492,6 @@ def heartbeat(self, ids): - ids """ - pass def heartbeat_txn_range(self, txns): """ @@ -1676,7 +1499,6 @@ def heartbeat_txn_range(self, txns): - txns """ - pass def compact(self, rqst): """ @@ -1684,7 +1506,6 @@ def compact(self, rqst): - rqst """ - pass def compact2(self, rqst): """ @@ -1692,7 +1513,6 @@ def compact2(self, rqst): - rqst """ - pass def show_compact(self, rqst): """ @@ -1700,7 +1520,6 @@ def show_compact(self, rqst): - rqst """ - pass def add_dynamic_partitions(self, rqst): """ @@ -1708,7 +1527,6 @@ def add_dynamic_partitions(self, rqst): - rqst """ - pass def find_next_compact(self, workerId): """ @@ -1716,7 +1534,6 @@ def find_next_compact(self, workerId): - workerId """ - pass def find_next_compact2(self, rqst): """ @@ -1724,7 +1541,6 @@ def find_next_compact2(self, rqst): - rqst """ - pass def update_compactor_state(self, cr, txn_id): """ @@ -1733,7 +1549,6 @@ def update_compactor_state(self, cr, txn_id): - txn_id """ - pass def find_columns_with_stats(self, cr): """ @@ -1741,7 +1556,6 @@ def find_columns_with_stats(self, cr): - cr """ - pass def mark_cleaned(self, cr): """ @@ -1749,7 +1563,6 @@ def mark_cleaned(self, cr): - cr """ - pass def mark_compacted(self, cr): """ @@ -1757,7 +1570,6 @@ def mark_compacted(self, cr): - cr """ - pass def mark_failed(self, cr): """ @@ -1765,7 +1577,6 @@ def mark_failed(self, cr): - cr """ - pass def mark_refused(self, cr): """ @@ -1773,7 +1584,6 @@ def mark_refused(self, cr): - cr """ - pass def update_compaction_metrics_data(self, data): """ @@ -1781,7 +1591,6 @@ def update_compaction_metrics_data(self, data): - data """ - pass def remove_compaction_metrics_data(self, request): """ @@ -1789,7 +1598,6 @@ def remove_compaction_metrics_data(self, request): - request """ - pass def set_hadoop_jobid(self, jobId, cq_id): """ @@ -1798,7 +1606,6 @@ def set_hadoop_jobid(self, jobId, cq_id): - cq_id """ - pass def get_latest_committed_compaction_info(self, rqst): """ @@ -1806,7 +1613,6 @@ def get_latest_committed_compaction_info(self, rqst): - rqst """ - pass def get_next_notification(self, rqst): """ @@ -1814,7 +1620,6 @@ def get_next_notification(self, rqst): - rqst """ - pass def get_current_notificationEventId(self): pass @@ -1825,7 +1630,6 @@ def get_notification_events_count(self, rqst): - rqst """ - pass def fire_listener_event(self, rqst): """ @@ -1833,7 +1637,6 @@ def fire_listener_event(self, rqst): - rqst """ - pass def flushCache(self): pass @@ -1844,7 +1647,6 @@ def add_write_notification_log(self, rqst): - rqst """ - pass def add_write_notification_log_in_batch(self, rqst): """ @@ -1852,7 +1654,6 @@ def add_write_notification_log_in_batch(self, rqst): - rqst """ - pass def cm_recycle(self, request): """ @@ -1860,7 +1661,6 @@ def cm_recycle(self, request): - request """ - pass def get_file_metadata_by_expr(self, req): """ @@ -1868,7 +1668,6 @@ def get_file_metadata_by_expr(self, req): - req """ - pass def get_file_metadata(self, req): """ @@ -1876,7 +1675,6 @@ def get_file_metadata(self, req): - req """ - pass def put_file_metadata(self, req): """ @@ -1884,7 +1682,6 @@ def put_file_metadata(self, req): - req """ - pass def clear_file_metadata(self, req): """ @@ -1892,7 +1689,6 @@ def clear_file_metadata(self, req): - req """ - pass def cache_file_metadata(self, req): """ @@ -1900,7 +1696,6 @@ def cache_file_metadata(self, req): - req """ - pass def get_metastore_db_uuid(self): pass @@ -1911,7 +1706,6 @@ def create_resource_plan(self, request): - request """ - pass def get_resource_plan(self, request): """ @@ -1919,7 +1713,6 @@ def get_resource_plan(self, request): - request """ - pass def get_active_resource_plan(self, request): """ @@ -1927,7 +1720,6 @@ def get_active_resource_plan(self, request): - request """ - pass def get_all_resource_plans(self, request): """ @@ -1935,7 +1727,6 @@ def get_all_resource_plans(self, request): - request """ - pass def alter_resource_plan(self, request): """ @@ -1943,7 +1734,6 @@ def alter_resource_plan(self, request): - request """ - pass def validate_resource_plan(self, request): """ @@ -1951,7 +1741,6 @@ def validate_resource_plan(self, request): - request """ - pass def drop_resource_plan(self, request): """ @@ -1959,7 +1748,6 @@ def drop_resource_plan(self, request): - request """ - pass def create_wm_trigger(self, request): """ @@ -1967,7 +1755,6 @@ def create_wm_trigger(self, request): - request """ - pass def alter_wm_trigger(self, request): """ @@ -1975,7 +1762,6 @@ def alter_wm_trigger(self, request): - request """ - pass def drop_wm_trigger(self, request): """ @@ -1983,7 +1769,6 @@ def drop_wm_trigger(self, request): - request """ - pass def get_triggers_for_resourceplan(self, request): """ @@ -1991,7 +1776,6 @@ def get_triggers_for_resourceplan(self, request): - request """ - pass def create_wm_pool(self, request): """ @@ -1999,7 +1783,6 @@ def create_wm_pool(self, request): - request """ - pass def alter_wm_pool(self, request): """ @@ -2007,7 +1790,6 @@ def alter_wm_pool(self, request): - request """ - pass def drop_wm_pool(self, request): """ @@ -2015,7 +1797,6 @@ def drop_wm_pool(self, request): - request """ - pass def create_or_update_wm_mapping(self, request): """ @@ -2023,7 +1804,6 @@ def create_or_update_wm_mapping(self, request): - request """ - pass def drop_wm_mapping(self, request): """ @@ -2031,7 +1811,6 @@ def drop_wm_mapping(self, request): - request """ - pass def create_or_drop_wm_trigger_to_pool_mapping(self, request): """ @@ -2039,7 +1818,6 @@ def create_or_drop_wm_trigger_to_pool_mapping(self, request): - request """ - pass def create_ischema(self, schema): """ @@ -2047,7 +1825,6 @@ def create_ischema(self, schema): - schema """ - pass def alter_ischema(self, rqst): """ @@ -2055,7 +1832,6 @@ def alter_ischema(self, rqst): - rqst """ - pass def get_ischema(self, name): """ @@ -2063,7 +1839,6 @@ def get_ischema(self, name): - name """ - pass def drop_ischema(self, name): """ @@ -2071,7 +1846,6 @@ def drop_ischema(self, name): - name """ - pass def add_schema_version(self, schemaVersion): """ @@ -2079,7 +1853,6 @@ def add_schema_version(self, schemaVersion): - schemaVersion """ - pass def get_schema_version(self, schemaVersion): """ @@ -2087,7 +1860,6 @@ def get_schema_version(self, schemaVersion): - schemaVersion """ - pass def get_schema_latest_version(self, schemaName): """ @@ -2095,7 +1867,6 @@ def get_schema_latest_version(self, schemaName): - schemaName """ - pass def get_schema_all_versions(self, schemaName): """ @@ -2103,7 +1874,6 @@ def get_schema_all_versions(self, schemaName): - schemaName """ - pass def drop_schema_version(self, schemaVersion): """ @@ -2111,7 +1881,6 @@ def drop_schema_version(self, schemaVersion): - schemaVersion """ - pass def get_schemas_by_cols(self, rqst): """ @@ -2119,7 +1888,6 @@ def get_schemas_by_cols(self, rqst): - rqst """ - pass def map_schema_version_to_serde(self, rqst): """ @@ -2127,7 +1895,6 @@ def map_schema_version_to_serde(self, rqst): - rqst """ - pass def set_schema_version_state(self, rqst): """ @@ -2135,7 +1902,6 @@ def set_schema_version_state(self, rqst): - rqst """ - pass def add_serde(self, serde): """ @@ -2143,7 +1909,6 @@ def add_serde(self, serde): - serde """ - pass def get_serde(self, rqst): """ @@ -2151,7 +1916,6 @@ def get_serde(self, rqst): - rqst """ - pass def get_lock_materialization_rebuild(self, dbName, tableName, txnId): """ @@ -2161,7 +1925,6 @@ def get_lock_materialization_rebuild(self, dbName, tableName, txnId): - txnId """ - pass def heartbeat_lock_materialization_rebuild(self, dbName, tableName, txnId): """ @@ -2171,7 +1934,6 @@ def heartbeat_lock_materialization_rebuild(self, dbName, tableName, txnId): - txnId """ - pass def add_runtime_stats(self, stat): """ @@ -2179,7 +1941,6 @@ def add_runtime_stats(self, stat): - stat """ - pass def get_runtime_stats(self, rqst): """ @@ -2187,7 +1948,6 @@ def get_runtime_stats(self, rqst): - rqst """ - pass def get_partitions_with_specs(self, request): """ @@ -2195,7 +1955,6 @@ def get_partitions_with_specs(self, request): - request """ - pass def scheduled_query_poll(self, request): """ @@ -2203,7 +1962,6 @@ def scheduled_query_poll(self, request): - request """ - pass def scheduled_query_maintenance(self, request): """ @@ -2211,7 +1969,6 @@ def scheduled_query_maintenance(self, request): - request """ - pass def scheduled_query_progress(self, info): """ @@ -2219,7 +1976,6 @@ def scheduled_query_progress(self, info): - info """ - pass def get_scheduled_query(self, scheduleKey): """ @@ -2227,7 +1983,6 @@ def get_scheduled_query(self, scheduleKey): - scheduleKey """ - pass def add_replication_metrics(self, replicationMetricList): """ @@ -2235,7 +1990,6 @@ def add_replication_metrics(self, replicationMetricList): - replicationMetricList """ - pass def get_replication_metrics(self, rqst): """ @@ -2243,7 +1997,6 @@ def get_replication_metrics(self, rqst): - rqst """ - pass def get_open_txns_req(self, getOpenTxnsRequest): """ @@ -2251,7 +2004,6 @@ def get_open_txns_req(self, getOpenTxnsRequest): - getOpenTxnsRequest """ - pass def create_stored_procedure(self, proc): """ @@ -2259,7 +2011,6 @@ def create_stored_procedure(self, proc): - proc """ - pass def get_stored_procedure(self, request): """ @@ -2267,7 +2018,6 @@ def get_stored_procedure(self, request): - request """ - pass def drop_stored_procedure(self, request): """ @@ -2275,7 +2025,6 @@ def drop_stored_procedure(self, request): - request """ - pass def get_all_stored_procedures(self, request): """ @@ -2283,7 +2032,6 @@ def get_all_stored_procedures(self, request): - request """ - pass def find_package(self, request): """ @@ -2291,7 +2039,6 @@ def find_package(self, request): - request """ - pass def add_package(self, request): """ @@ -2299,7 +2046,6 @@ def add_package(self, request): - request """ - pass def get_all_packages(self, request): """ @@ -2307,7 +2053,6 @@ def get_all_packages(self, request): - request """ - pass def drop_package(self, request): """ @@ -2315,7 +2060,6 @@ def drop_package(self, request): - request """ - pass def get_all_write_event_info(self, request): """ @@ -2323,7 +2067,6 @@ def get_all_write_event_info(self, request): - request """ - pass class Client(fb303.FacebookService.Client, Iface): @@ -20241,7 +19984,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20330,7 +20073,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20427,7 +20170,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20509,7 +20252,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20585,7 +20328,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20684,7 +20427,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20774,7 +20517,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20873,7 +20616,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20963,7 +20706,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21063,7 +20806,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21130,7 +20873,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21209,7 +20952,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21291,7 +21034,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21390,7 +21133,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21480,7 +21223,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21579,7 +21322,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21670,7 +21413,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21770,7 +21513,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21859,7 +21602,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21959,7 +21702,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22073,7 +21816,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22186,7 +21929,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22276,7 +22019,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22375,7 +22118,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22466,7 +22209,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22565,7 +22308,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22625,7 +22368,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22715,7 +22458,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22811,7 +22554,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22905,7 +22648,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22988,7 +22731,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -23087,7 +22830,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -23177,7 +22920,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -23277,7 +23020,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -23391,7 +23134,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -23481,7 +23224,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -23549,7 +23292,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -23639,7 +23382,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -23735,7 +23478,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -23829,7 +23572,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -23913,7 +23656,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24013,7 +23756,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24102,7 +23845,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24213,7 +23956,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24310,7 +24053,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24409,7 +24152,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24499,7 +24242,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24601,7 +24344,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24698,7 +24441,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24825,7 +24568,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24949,7 +24692,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25083,7 +24826,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25179,7 +24922,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25291,7 +25034,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25402,7 +25145,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25529,7 +25272,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25653,7 +25396,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25787,7 +25530,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25883,7 +25626,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25995,7 +25738,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -26091,7 +25834,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -26202,7 +25945,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -26312,7 +26055,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -26430,7 +26173,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -26653,7 +26396,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -26806,7 +26549,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -26903,7 +26646,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27014,7 +26757,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27111,7 +26854,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27198,7 +26941,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27281,7 +27024,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27368,7 +27111,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27451,7 +27194,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27538,7 +27281,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27621,7 +27364,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27708,7 +27451,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27791,7 +27534,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27878,7 +27621,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27961,7 +27704,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -28048,7 +27791,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -28131,7 +27874,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -28218,7 +27961,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -28301,7 +28044,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -28425,7 +28168,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -28555,7 +28298,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -28656,7 +28399,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -28779,7 +28522,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -28887,7 +28630,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29009,7 +28752,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29098,7 +28841,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29174,7 +28917,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29262,7 +29005,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29359,7 +29102,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29465,7 +29208,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29576,7 +29319,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29689,7 +29432,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29749,7 +29492,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29836,7 +29579,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29919,7 +29662,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -30018,7 +29761,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -30139,7 +29882,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -30249,7 +29992,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -30332,7 +30075,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -30431,7 +30174,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -30528,7 +30271,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -30635,7 +30378,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -30749,7 +30492,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -30840,7 +30583,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -30915,7 +30658,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31011,7 +30754,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31093,7 +30836,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31193,7 +30936,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31282,7 +31025,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31394,7 +31137,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31504,7 +31247,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31623,7 +31366,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31761,7 +31504,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31881,7 +31624,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31998,7 +31741,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32135,7 +31878,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32259,7 +32002,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32360,7 +32103,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32484,7 +32227,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32592,7 +32335,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32715,7 +32458,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32823,7 +32566,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32906,7 +32649,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -33006,7 +32749,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -33095,7 +32838,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -33207,7 +32950,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -33316,7 +33059,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -33435,7 +33178,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -33539,7 +33282,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -33650,7 +33393,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -33754,7 +33497,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -33865,7 +33608,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -34000,7 +33743,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -34126,7 +33869,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -34222,7 +33965,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -34334,7 +34077,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -34482,7 +34225,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -34615,7 +34358,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -34740,7 +34483,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -34866,7 +34609,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -35004,7 +34747,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -35137,7 +34880,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -35284,7 +35027,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -35404,7 +35147,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -35557,7 +35300,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -35684,7 +35427,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -35814,7 +35557,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -35934,7 +35677,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -36077,7 +35820,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -36204,7 +35947,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -36293,7 +36036,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -36393,7 +36136,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -36521,7 +36264,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -36635,7 +36378,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -36724,7 +36467,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -36824,7 +36567,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -36986,7 +36729,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -37138,7 +36881,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -37314,7 +37057,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -37474,7 +37217,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -37654,7 +37397,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -37782,7 +37525,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -37900,7 +37643,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -38014,7 +37757,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -38130,7 +37873,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -38252,7 +37995,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -38341,7 +38084,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -38441,7 +38184,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -38595,7 +38338,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -38731,7 +38474,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -38847,7 +38590,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -38969,7 +38712,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -39085,7 +38828,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -39210,7 +38953,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -39299,7 +39042,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -39399,7 +39142,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -39539,7 +39282,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -39668,7 +39411,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -39846,7 +39589,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -39989,7 +39732,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -40078,7 +39821,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -40178,7 +39921,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -40318,7 +40061,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -40450,7 +40193,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -40539,7 +40282,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -40639,7 +40382,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -40728,7 +40471,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -40839,7 +40582,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -40969,7 +40712,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -41098,7 +40841,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -41228,7 +40971,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -41357,7 +41100,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -41446,7 +41189,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -41546,7 +41289,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -41635,7 +41378,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -41735,7 +41478,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -41853,7 +41596,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -41966,7 +41709,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -42094,7 +41837,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -42216,7 +41959,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -42305,7 +42048,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -42405,7 +42148,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -42522,7 +42265,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -42623,7 +42366,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -42742,7 +42485,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -42843,7 +42586,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -42975,7 +42718,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -43083,7 +42826,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -43166,7 +42909,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -43266,7 +43009,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -43396,7 +43139,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -43504,7 +43247,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -43639,7 +43382,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -43747,7 +43490,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -43830,7 +43573,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -43930,7 +43673,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -44042,7 +43785,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -44136,7 +43879,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -44233,7 +43976,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -44329,7 +44072,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -44412,7 +44155,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -44511,7 +44254,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -44594,7 +44337,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -44699,7 +44442,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -44838,7 +44581,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -44994,7 +44737,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -45162,7 +44905,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -45330,7 +45073,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -45447,7 +45190,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -45547,7 +45290,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -45636,7 +45379,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -45736,7 +45479,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -45825,7 +45568,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -45925,7 +45668,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -46014,7 +45757,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -46114,7 +45857,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -46203,7 +45946,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -46303,7 +46046,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -46392,7 +46135,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -46492,7 +46235,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -46581,7 +46324,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -46681,7 +46424,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -46770,7 +46513,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -46893,7 +46636,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -46996,7 +46739,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -47119,7 +46862,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -47222,7 +46965,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -47346,7 +47089,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -47449,7 +47192,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -47573,7 +47316,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -47676,7 +47419,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -47751,7 +47494,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -47856,7 +47599,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -47994,7 +47737,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -48140,7 +47883,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -48285,7 +48028,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -48388,7 +48131,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -48488,7 +48231,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -48577,7 +48320,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -48677,7 +48420,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -48766,7 +48509,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -48866,7 +48609,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -48955,7 +48698,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -49078,7 +48821,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -49238,7 +48981,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -49389,7 +49132,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -49535,7 +49278,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -49679,7 +49422,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -49782,7 +49525,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -49893,7 +49636,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -50005,7 +49748,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -50099,7 +49842,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -50210,7 +49953,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -50311,7 +50054,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -50409,7 +50152,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -50515,7 +50258,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -50612,7 +50355,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -50719,7 +50462,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -50786,7 +50529,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -50865,7 +50608,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -50947,7 +50690,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -51034,7 +50777,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -51117,7 +50860,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -51204,7 +50947,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -51264,7 +51007,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -51354,7 +51097,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -51501,7 +51244,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -51623,7 +51366,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -51732,7 +51475,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -51833,7 +51576,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -51928,7 +51671,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -52031,7 +51774,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -52113,7 +51856,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -52201,7 +51944,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -52283,7 +52026,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -52371,7 +52114,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -52453,7 +52196,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -52541,7 +52284,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -52661,7 +52404,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -52763,7 +52506,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -52871,7 +52614,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -52981,7 +52724,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -53063,7 +52806,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -53150,7 +52893,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -53232,7 +52975,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -53319,7 +53062,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -53401,7 +53144,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -53489,7 +53232,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -53598,7 +53341,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -53700,7 +53443,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -53807,7 +53550,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -53913,7 +53656,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -54014,7 +53757,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -54110,7 +53853,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -54193,7 +53936,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -54280,7 +54023,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -54363,7 +54106,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -54438,7 +54181,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -54529,7 +54272,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -54611,7 +54354,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -54687,7 +54430,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -54762,7 +54505,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -54838,7 +54581,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -54915,7 +54658,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -54968,7 +54711,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -55046,7 +54789,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -55122,7 +54865,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -55209,7 +54952,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -55304,7 +55047,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -55398,7 +55141,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -55480,7 +55223,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -55555,7 +55298,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -55608,7 +55351,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -55686,7 +55429,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -55739,7 +55482,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -55806,7 +55549,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -55859,7 +55602,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -55926,7 +55669,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -56001,7 +55744,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -56077,7 +55820,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -56152,7 +55895,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -56227,7 +55970,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -56303,7 +56046,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -56378,7 +56121,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -56454,7 +56197,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -56541,7 +56284,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -56623,7 +56366,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -56710,7 +56453,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -56792,7 +56535,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -56846,7 +56589,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -56913,7 +56656,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -57013,7 +56756,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -57102,7 +56845,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -57214,7 +56957,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -57310,7 +57053,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -57398,7 +57141,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -57480,7 +57223,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -57555,7 +57298,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -57631,7 +57374,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -57706,7 +57449,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -57782,7 +57525,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -57882,7 +57625,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -57971,7 +57714,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -58083,7 +57826,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -58179,7 +57922,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -58266,7 +58009,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -58349,7 +58092,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -58425,7 +58168,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -58500,7 +58243,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -58599,7 +58342,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -58689,7 +58432,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -58765,7 +58508,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -58840,7 +58583,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -58894,7 +58637,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -58961,7 +58704,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -59037,7 +58780,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -59112,7 +58855,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -59188,7 +58931,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -59263,7 +59006,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -59350,7 +59093,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -59434,7 +59177,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -59522,7 +59265,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -59604,7 +59347,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -59692,7 +59435,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -59786,7 +59529,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -59847,7 +59590,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -59914,7 +59657,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -60001,7 +59744,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -60076,7 +59819,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -60151,7 +59894,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -60227,7 +59970,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -60302,7 +60045,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -60378,7 +60121,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -60453,7 +60196,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -60529,7 +60272,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -60604,7 +60347,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -60680,7 +60423,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -60767,7 +60510,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -60849,7 +60592,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -60924,7 +60667,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -61013,7 +60756,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -61074,7 +60817,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -61141,7 +60884,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -61217,7 +60960,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -61292,7 +61035,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -61368,7 +61111,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -61421,7 +61164,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -61488,7 +61231,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -61563,7 +61306,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -61639,7 +61382,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -61714,7 +61457,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -61790,7 +61533,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -61843,7 +61586,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -61888,7 +61631,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -61955,7 +61698,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -62031,7 +61774,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -62106,7 +61849,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -62182,7 +61925,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -62257,7 +62000,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -62345,7 +62088,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -62427,7 +62170,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -62503,7 +62246,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -62578,7 +62321,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -62654,7 +62397,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -62729,7 +62472,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -62805,7 +62548,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -62880,7 +62623,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -62956,7 +62699,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -63031,7 +62774,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -63107,7 +62850,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -63160,7 +62903,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -63240,7 +62983,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -63322,7 +63065,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -63434,7 +63177,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -63530,7 +63273,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -63630,7 +63373,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -63719,7 +63462,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -63807,7 +63550,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -63889,7 +63632,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -63977,7 +63720,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -64059,7 +63802,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -64171,7 +63914,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -64267,7 +64010,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -64367,7 +64110,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -64456,7 +64199,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -64568,7 +64311,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -64664,7 +64407,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -64788,7 +64531,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -64891,7 +64634,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -65003,7 +64746,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -65099,7 +64842,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -65211,7 +64954,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -65307,7 +65050,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -65407,7 +65150,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -65496,7 +65239,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -65620,7 +65363,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -65723,7 +65466,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -65847,7 +65590,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -65950,7 +65693,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -66062,7 +65805,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -66158,7 +65901,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -66282,7 +66025,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -66385,7 +66128,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -66497,7 +66240,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -66593,7 +66336,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -66717,7 +66460,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -66820,7 +66563,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -66919,7 +66662,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -67009,7 +66752,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -67096,7 +66839,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -67179,7 +66922,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -67279,7 +67022,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -67368,7 +67111,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -67467,7 +67210,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -67557,7 +67300,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -67656,7 +67399,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -67746,7 +67489,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -67846,7 +67589,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -67935,7 +67678,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -68035,7 +67778,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -68124,7 +67867,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -68232,7 +67975,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -68321,7 +68064,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -68408,7 +68151,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -68491,7 +68234,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -68579,7 +68322,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -68661,7 +68404,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -68748,7 +68491,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -68831,7 +68574,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -68930,7 +68673,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -69020,7 +68763,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -69107,7 +68850,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -69190,7 +68933,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -69290,7 +69033,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -69406,7 +69149,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -69496,7 +69239,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -69598,7 +69341,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -69687,7 +69430,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -69762,7 +69505,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -69837,7 +69580,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -69913,7 +69656,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -70009,7 +69752,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -70091,7 +69834,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -70179,7 +69922,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -70261,7 +70004,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -70349,7 +70092,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -70431,7 +70174,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -70542,7 +70285,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -70639,7 +70382,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -70726,7 +70469,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -70809,7 +70552,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -70909,7 +70652,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -70998,7 +70741,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -71073,7 +70816,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -71149,7 +70892,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -71237,7 +70980,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -71319,7 +71062,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -71395,7 +71138,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -71470,7 +71213,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -71557,7 +71300,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -71640,7 +71383,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -71740,7 +71483,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -71829,7 +71572,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -71904,7 +71647,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -71980,7 +71723,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -72079,7 +71822,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -72161,7 +71904,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -72261,7 +72004,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -72350,7 +72093,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -72425,7 +72168,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -72501,7 +72244,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -72600,7 +72343,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -72682,7 +72425,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -72757,7 +72500,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -72833,7 +72576,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -72929,7 +72672,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): diff --git a/vendor/hive_metastore/ttypes.py b/vendor/hive_metastore/ttypes.py index dca7aaadc7..fd279207cb 100644 --- a/vendor/hive_metastore/ttypes.py +++ b/vendor/hive_metastore/ttypes.py @@ -643,7 +643,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -735,7 +735,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -815,7 +815,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -983,7 +983,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1231,7 +1231,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1399,7 +1399,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1555,7 +1555,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1725,7 +1725,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1895,7 +1895,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -2071,7 +2071,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -2184,7 +2184,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -2326,7 +2326,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -2440,7 +2440,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -2556,7 +2556,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -2627,7 +2627,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -2782,7 +2782,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -2869,7 +2869,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -2931,7 +2931,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -3076,7 +3076,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -3117,7 +3117,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -3207,7 +3207,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -3347,7 +3347,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -3427,7 +3427,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -3500,7 +3500,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -3566,7 +3566,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -3639,7 +3639,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -3779,7 +3779,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -3841,7 +3841,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -3945,7 +3945,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -4008,7 +4008,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -4085,7 +4085,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -4149,7 +4149,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -4212,7 +4212,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -4286,7 +4286,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -4350,7 +4350,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -4591,7 +4591,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -4753,7 +4753,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -4829,7 +4829,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -4973,7 +4973,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -5223,7 +5223,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -5394,7 +5394,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -5498,7 +5498,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -5612,7 +5612,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -5726,7 +5726,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -5844,7 +5844,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -5948,7 +5948,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -6026,7 +6026,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -6142,7 +6142,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -6206,7 +6206,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -6322,7 +6322,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -6386,7 +6386,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -6502,7 +6502,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -6656,7 +6656,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -6753,7 +6753,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -6889,7 +6889,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -7003,7 +7003,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -7097,7 +7097,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -7183,7 +7183,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -7640,7 +7640,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -7747,7 +7747,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -7993,7 +7993,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -8148,7 +8148,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -8232,7 +8232,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -8303,7 +8303,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -8459,7 +8459,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -8558,7 +8558,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -8685,7 +8685,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -8749,7 +8749,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -8850,7 +8850,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -8972,7 +8972,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -9045,7 +9045,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -9191,7 +9191,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -9264,7 +9264,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -9388,7 +9388,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -9461,7 +9461,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -9585,7 +9585,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -9658,7 +9658,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -9782,7 +9782,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -9855,7 +9855,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -9979,7 +9979,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -10052,7 +10052,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -10176,7 +10176,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -10241,7 +10241,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -10353,7 +10353,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -10426,7 +10426,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -10499,7 +10499,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -10572,7 +10572,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -10645,7 +10645,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -10718,7 +10718,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -10791,7 +10791,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -10878,7 +10878,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -10965,7 +10965,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -11143,7 +11143,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -11228,7 +11228,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -11327,7 +11327,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -11491,7 +11491,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -11669,7 +11669,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -11752,7 +11752,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -11911,7 +11911,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -11982,7 +11982,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -12058,7 +12058,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -12153,7 +12153,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -12325,7 +12325,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -12529,7 +12529,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -12605,7 +12605,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -12678,7 +12678,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -12886,7 +12886,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -12972,7 +12972,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -13146,7 +13146,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -13222,7 +13222,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -13399,7 +13399,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -13573,7 +13573,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -13660,7 +13660,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -13772,7 +13772,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -13928,7 +13928,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -14000,7 +14000,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -14090,7 +14090,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -14162,7 +14162,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -14258,7 +14258,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -14412,7 +14412,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -14544,7 +14544,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -14650,7 +14650,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -14799,7 +14799,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -14953,7 +14953,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -15055,7 +15055,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -15183,7 +15183,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -15256,7 +15256,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -15334,7 +15334,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -15471,7 +15471,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -15544,7 +15544,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -15626,7 +15626,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -15690,7 +15690,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -15786,7 +15786,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -15850,7 +15850,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -16008,7 +16008,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -16163,7 +16163,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -16255,7 +16255,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -16343,7 +16343,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -16407,7 +16407,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -16523,7 +16523,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -16791,7 +16791,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -16862,7 +16862,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -16936,7 +16936,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -17014,7 +17014,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -17108,7 +17108,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -17290,7 +17290,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -17556,7 +17556,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -17619,7 +17619,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -17771,7 +17771,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -17834,7 +17834,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -17944,7 +17944,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -18052,7 +18052,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -18093,7 +18093,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -18403,7 +18403,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -18476,7 +18476,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -18594,7 +18594,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -18667,7 +18667,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -18745,7 +18745,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -18893,7 +18893,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -19023,7 +19023,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -19123,7 +19123,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -19289,7 +19289,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -19362,7 +19362,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -19426,7 +19426,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -19544,7 +19544,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -19608,7 +19608,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -19768,7 +19768,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -19852,7 +19852,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -19997,7 +19997,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20067,7 +20067,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20216,7 +20216,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20257,7 +20257,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20378,7 +20378,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20419,7 +20419,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20493,7 +20493,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20582,7 +20582,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20692,7 +20692,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20780,7 +20780,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20852,7 +20852,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20893,7 +20893,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20999,7 +20999,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21040,7 +21040,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21112,7 +21112,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21176,7 +21176,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21284,7 +21284,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21355,7 +21355,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21427,7 +21427,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21533,7 +21533,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21732,7 +21732,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21809,7 +21809,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21991,7 +21991,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22064,7 +22064,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22226,7 +22226,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22352,7 +22352,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22468,7 +22468,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22626,7 +22626,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22706,7 +22706,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22747,7 +22747,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22873,7 +22873,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22951,7 +22951,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -23069,7 +23069,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -23209,7 +23209,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -23343,7 +23343,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -23489,7 +23489,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -23625,7 +23625,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -23763,7 +23763,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -23859,7 +23859,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24010,7 +24010,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24087,7 +24087,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24128,7 +24128,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24192,7 +24192,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24255,7 +24255,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24333,7 +24333,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24396,7 +24396,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24460,7 +24460,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24531,7 +24531,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24658,7 +24658,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24721,7 +24721,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24799,7 +24799,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24897,7 +24897,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24975,7 +24975,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25016,7 +25016,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25079,7 +25079,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25120,7 +25120,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25183,7 +25183,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25224,7 +25224,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25316,7 +25316,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25357,7 +25357,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25435,7 +25435,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25506,7 +25506,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25569,7 +25569,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25610,7 +25610,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25687,7 +25687,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25728,7 +25728,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25820,7 +25820,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25861,7 +25861,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25936,7 +25936,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25977,7 +25977,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -26040,7 +26040,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -26081,7 +26081,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -26199,7 +26199,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -26240,7 +26240,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -26408,7 +26408,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -26500,7 +26500,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -26576,7 +26576,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -26765,7 +26765,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -26840,7 +26840,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -26932,7 +26932,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27003,7 +27003,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27080,7 +27080,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27155,7 +27155,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27219,7 +27219,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27309,7 +27309,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27387,7 +27387,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27629,7 +27629,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27860,7 +27860,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27923,7 +27923,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27989,7 +27989,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -28055,7 +28055,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -28137,7 +28137,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -28240,7 +28240,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -28371,7 +28371,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -28450,7 +28450,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -28558,7 +28558,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -28716,7 +28716,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -28757,7 +28757,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -28932,7 +28932,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -28973,7 +28973,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29161,7 +29161,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29202,7 +29202,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29288,7 +29288,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29359,7 +29359,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29579,7 +29579,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29714,7 +29714,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29787,7 +29787,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29922,7 +29922,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29995,7 +29995,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -30143,7 +30143,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -30208,7 +30208,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -30342,7 +30342,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -30415,7 +30415,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -30573,7 +30573,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -30649,7 +30649,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -30845,7 +30845,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -30918,7 +30918,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31054,7 +31054,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31127,7 +31127,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31215,7 +31215,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31285,7 +31285,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31383,7 +31383,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31463,7 +31463,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31583,7 +31583,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31717,7 +31717,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31815,7 +31815,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31913,7 +31913,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31993,7 +31993,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32127,7 +32127,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32219,7 +32219,7 @@ def validate(self): return def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32299,7 +32299,7 @@ def __str__(self): return repr(self) def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32379,7 +32379,7 @@ def __str__(self): return repr(self) def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32459,7 +32459,7 @@ def __str__(self): return repr(self) def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32539,7 +32539,7 @@ def __str__(self): return repr(self) def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32619,7 +32619,7 @@ def __str__(self): return repr(self) def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32699,7 +32699,7 @@ def __str__(self): return repr(self) def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32779,7 +32779,7 @@ def __str__(self): return repr(self) def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32859,7 +32859,7 @@ def __str__(self): return repr(self) def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32939,7 +32939,7 @@ def __str__(self): return repr(self) def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -33019,7 +33019,7 @@ def __str__(self): return repr(self) def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -33099,7 +33099,7 @@ def __str__(self): return repr(self) def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -33179,7 +33179,7 @@ def __str__(self): return repr(self) def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -33259,7 +33259,7 @@ def __str__(self): return repr(self) def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -33339,7 +33339,7 @@ def __str__(self): return repr(self) def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -33419,7 +33419,7 @@ def __str__(self): return repr(self) def __repr__(self): - L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] + L = [f"{key}={value!r}" for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): From c1ece14dd522740f0aab53dc1a5f5a37d70f0fc3 Mon Sep 17 00:00:00 2001 From: Sumedh Sakdeo Date: Sat, 14 Feb 2026 18:27:33 -0800 Subject: [PATCH 02/15] style: fix ruff formatting in residual_evaluator lambda Co-Authored-By: Claude Opus 4.6 --- pyiceberg/table/__init__.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/pyiceberg/table/__init__.py b/pyiceberg/table/__init__.py index 63fd1509e4..164eba5d32 100644 --- a/pyiceberg/table/__init__.py +++ b/pyiceberg/table/__init__.py @@ -2002,13 +2002,11 @@ def _build_residual_evaluator(self, spec_id: int) -> Callable[[DataFile], Residu # The lambda created here is run in multiple threads. # So we avoid creating _EvaluatorExpression methods bound to a single # shared instance across multiple threads. - return lambda datafile: ( - residual_evaluator_of( - spec=spec, - expr=self.row_filter, - case_sensitive=self.case_sensitive, - schema=self.table_metadata.schema(), - ) + return lambda datafile: residual_evaluator_of( + spec=spec, + expr=self.row_filter, + case_sensitive=self.case_sensitive, + schema=self.table_metadata.schema(), ) @staticmethod From 70af67f0a56cdfda2f628533e83bf832685e706f Mon Sep 17 00:00:00 2001 From: Sumedh Sakdeo Date: Sat, 14 Feb 2026 18:28:46 -0800 Subject: [PATCH 03/15] chore: remove unintended vendor directory changes Co-Authored-By: Claude Opus 4.6 --- vendor/fb303/FacebookService.py | 61 +- vendor/hive_metastore/ThriftHiveMetastore.py | 1337 +++++++++++------- vendor/hive_metastore/ttypes.py | 626 ++++---- 3 files changed, 1147 insertions(+), 877 deletions(-) diff --git a/vendor/fb303/FacebookService.py b/vendor/fb303/FacebookService.py index 7115e8a0d8..c46b0a82a2 100644 --- a/vendor/fb303/FacebookService.py +++ b/vendor/fb303/FacebookService.py @@ -50,18 +50,21 @@ def getName(self): Returns a descriptive name of the service """ + pass def getVersion(self): """ Returns the version of the service """ + pass def getStatus(self): """ Gets the status of this service """ + pass def getStatusDetails(self): """ @@ -69,12 +72,14 @@ def getStatusDetails(self): the dead or warning state, or what is being started or stopped. """ + pass def getCounters(self): """ Gets the counters for this service """ + pass def getCounter(self, key): """ @@ -84,6 +89,7 @@ def getCounter(self, key): - key """ + pass def setOption(self, key, value): """ @@ -94,6 +100,7 @@ def setOption(self, key, value): - value """ + pass def getOption(self, key): """ @@ -103,12 +110,14 @@ def getOption(self, key): - key """ + pass def getOptions(self): """ Gets all options """ + pass def getCpuProfile(self, profileDurationInSec): """ @@ -119,24 +128,28 @@ def getCpuProfile(self, profileDurationInSec): - profileDurationInSec """ + pass def aliveSince(self): """ Returns the unix time that the server has been running since """ + pass def reinitialize(self): """ Tell the server to reload its configuration, reopen log files, etc """ + pass def shutdown(self): """ Suggest a shutdown to the server """ + pass class Client(Iface): @@ -877,7 +890,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -945,7 +958,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -998,7 +1011,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1066,7 +1079,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1119,7 +1132,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1185,7 +1198,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1238,7 +1251,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1306,7 +1319,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1359,7 +1372,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1439,7 +1452,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1515,7 +1528,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1590,7 +1603,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1680,7 +1693,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1741,7 +1754,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1809,7 +1822,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1886,7 +1899,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1939,7 +1952,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -2023,7 +2036,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -2097,7 +2110,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -2174,7 +2187,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -2227,7 +2240,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -2293,7 +2306,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -2346,7 +2359,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -2391,7 +2404,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): diff --git a/vendor/hive_metastore/ThriftHiveMetastore.py b/vendor/hive_metastore/ThriftHiveMetastore.py index 92ba9eaeae..4d25c087c7 100644 --- a/vendor/hive_metastore/ThriftHiveMetastore.py +++ b/vendor/hive_metastore/ThriftHiveMetastore.py @@ -52,6 +52,7 @@ def getMetaConf(self, key): - key """ + pass def setMetaConf(self, key, value): """ @@ -60,6 +61,7 @@ def setMetaConf(self, key, value): - value """ + pass def create_catalog(self, catalog): """ @@ -67,6 +69,7 @@ def create_catalog(self, catalog): - catalog """ + pass def alter_catalog(self, rqst): """ @@ -74,6 +77,7 @@ def alter_catalog(self, rqst): - rqst """ + pass def get_catalog(self, catName): """ @@ -81,6 +85,7 @@ def get_catalog(self, catName): - catName """ + pass def get_catalogs(self): pass @@ -91,6 +96,7 @@ def drop_catalog(self, catName): - catName """ + pass def create_database(self, database): """ @@ -98,6 +104,7 @@ def create_database(self, database): - database """ + pass def get_database(self, name): """ @@ -105,6 +112,7 @@ def get_database(self, name): - name """ + pass def get_database_req(self, request): """ @@ -112,6 +120,7 @@ def get_database_req(self, request): - request """ + pass def drop_database(self, name, deleteData, cascade): """ @@ -121,6 +130,7 @@ def drop_database(self, name, deleteData, cascade): - cascade """ + pass def drop_database_req(self, req): """ @@ -128,6 +138,7 @@ def drop_database_req(self, req): - req """ + pass def get_databases(self, pattern): """ @@ -135,6 +146,7 @@ def get_databases(self, pattern): - pattern """ + pass def get_all_databases(self): pass @@ -146,6 +158,7 @@ def alter_database(self, dbname, db): - db """ + pass def create_dataconnector(self, connector): """ @@ -153,6 +166,7 @@ def create_dataconnector(self, connector): - connector """ + pass def get_dataconnector_req(self, request): """ @@ -160,6 +174,7 @@ def get_dataconnector_req(self, request): - request """ + pass def drop_dataconnector(self, name, ifNotExists, checkReferences): """ @@ -169,6 +184,7 @@ def drop_dataconnector(self, name, ifNotExists, checkReferences): - checkReferences """ + pass def get_dataconnectors(self): pass @@ -180,6 +196,7 @@ def alter_dataconnector(self, name, connector): - connector """ + pass def get_type(self, name): """ @@ -187,6 +204,7 @@ def get_type(self, name): - name """ + pass def create_type(self, type): """ @@ -194,6 +212,7 @@ def create_type(self, type): - type """ + pass def drop_type(self, type): """ @@ -201,6 +220,7 @@ def drop_type(self, type): - type """ + pass def get_type_all(self, name): """ @@ -208,6 +228,7 @@ def get_type_all(self, name): - name """ + pass def get_fields(self, db_name, table_name): """ @@ -216,6 +237,7 @@ def get_fields(self, db_name, table_name): - table_name """ + pass def get_fields_with_environment_context(self, db_name, table_name, environment_context): """ @@ -225,6 +247,7 @@ def get_fields_with_environment_context(self, db_name, table_name, environment_c - environment_context """ + pass def get_fields_req(self, req): """ @@ -232,6 +255,7 @@ def get_fields_req(self, req): - req """ + pass def get_schema(self, db_name, table_name): """ @@ -240,6 +264,7 @@ def get_schema(self, db_name, table_name): - table_name """ + pass def get_schema_with_environment_context(self, db_name, table_name, environment_context): """ @@ -249,6 +274,7 @@ def get_schema_with_environment_context(self, db_name, table_name, environment_c - environment_context """ + pass def get_schema_req(self, req): """ @@ -256,6 +282,7 @@ def get_schema_req(self, req): - req """ + pass def create_table(self, tbl): """ @@ -263,6 +290,7 @@ def create_table(self, tbl): - tbl """ + pass def create_table_with_environment_context(self, tbl, environment_context): """ @@ -271,6 +299,7 @@ def create_table_with_environment_context(self, tbl, environment_context): - environment_context """ + pass def create_table_with_constraints( self, tbl, primaryKeys, foreignKeys, uniqueConstraints, notNullConstraints, defaultConstraints, checkConstraints @@ -286,6 +315,7 @@ def create_table_with_constraints( - checkConstraints """ + pass def create_table_req(self, request): """ @@ -293,6 +323,7 @@ def create_table_req(self, request): - request """ + pass def drop_constraint(self, req): """ @@ -300,6 +331,7 @@ def drop_constraint(self, req): - req """ + pass def add_primary_key(self, req): """ @@ -307,6 +339,7 @@ def add_primary_key(self, req): - req """ + pass def add_foreign_key(self, req): """ @@ -314,6 +347,7 @@ def add_foreign_key(self, req): - req """ + pass def add_unique_constraint(self, req): """ @@ -321,6 +355,7 @@ def add_unique_constraint(self, req): - req """ + pass def add_not_null_constraint(self, req): """ @@ -328,6 +363,7 @@ def add_not_null_constraint(self, req): - req """ + pass def add_default_constraint(self, req): """ @@ -335,6 +371,7 @@ def add_default_constraint(self, req): - req """ + pass def add_check_constraint(self, req): """ @@ -342,6 +379,7 @@ def add_check_constraint(self, req): - req """ + pass def translate_table_dryrun(self, request): """ @@ -349,6 +387,7 @@ def translate_table_dryrun(self, request): - request """ + pass def drop_table(self, dbname, name, deleteData): """ @@ -358,6 +397,7 @@ def drop_table(self, dbname, name, deleteData): - deleteData """ + pass def drop_table_with_environment_context(self, dbname, name, deleteData, environment_context): """ @@ -368,6 +408,7 @@ def drop_table_with_environment_context(self, dbname, name, deleteData, environm - environment_context """ + pass def truncate_table(self, dbName, tableName, partNames): """ @@ -377,6 +418,7 @@ def truncate_table(self, dbName, tableName, partNames): - partNames """ + pass def truncate_table_req(self, req): """ @@ -384,6 +426,7 @@ def truncate_table_req(self, req): - req """ + pass def get_tables(self, db_name, pattern): """ @@ -392,6 +435,7 @@ def get_tables(self, db_name, pattern): - pattern """ + pass def get_tables_by_type(self, db_name, pattern, tableType): """ @@ -401,6 +445,7 @@ def get_tables_by_type(self, db_name, pattern, tableType): - tableType """ + pass def get_all_materialized_view_objects_for_rewriting(self): pass @@ -411,6 +456,7 @@ def get_materialized_views_for_rewriting(self, db_name): - db_name """ + pass def get_table_meta(self, db_patterns, tbl_patterns, tbl_types): """ @@ -420,6 +466,7 @@ def get_table_meta(self, db_patterns, tbl_patterns, tbl_types): - tbl_types """ + pass def get_all_tables(self, db_name): """ @@ -427,6 +474,7 @@ def get_all_tables(self, db_name): - db_name """ + pass def get_table(self, dbname, tbl_name): """ @@ -435,6 +483,7 @@ def get_table(self, dbname, tbl_name): - tbl_name """ + pass def get_table_objects_by_name(self, dbname, tbl_names): """ @@ -443,6 +492,7 @@ def get_table_objects_by_name(self, dbname, tbl_names): - tbl_names """ + pass def get_tables_ext(self, req): """ @@ -450,6 +500,7 @@ def get_tables_ext(self, req): - req """ + pass def get_table_req(self, req): """ @@ -457,6 +508,7 @@ def get_table_req(self, req): - req """ + pass def get_table_objects_by_name_req(self, req): """ @@ -464,6 +516,7 @@ def get_table_objects_by_name_req(self, req): - req """ + pass def get_materialization_invalidation_info(self, creation_metadata, validTxnList): """ @@ -472,6 +525,7 @@ def get_materialization_invalidation_info(self, creation_metadata, validTxnList) - validTxnList """ + pass def update_creation_metadata(self, catName, dbname, tbl_name, creation_metadata): """ @@ -482,6 +536,7 @@ def update_creation_metadata(self, catName, dbname, tbl_name, creation_metadata) - creation_metadata """ + pass def get_table_names_by_filter(self, dbname, filter, max_tables): """ @@ -491,6 +546,7 @@ def get_table_names_by_filter(self, dbname, filter, max_tables): - max_tables """ + pass def alter_table(self, dbname, tbl_name, new_tbl): """ @@ -500,6 +556,7 @@ def alter_table(self, dbname, tbl_name, new_tbl): - new_tbl """ + pass def alter_table_with_environment_context(self, dbname, tbl_name, new_tbl, environment_context): """ @@ -510,6 +567,7 @@ def alter_table_with_environment_context(self, dbname, tbl_name, new_tbl, enviro - environment_context """ + pass def alter_table_with_cascade(self, dbname, tbl_name, new_tbl, cascade): """ @@ -520,6 +578,7 @@ def alter_table_with_cascade(self, dbname, tbl_name, new_tbl, cascade): - cascade """ + pass def alter_table_req(self, req): """ @@ -527,6 +586,7 @@ def alter_table_req(self, req): - req """ + pass def add_partition(self, new_part): """ @@ -534,6 +594,7 @@ def add_partition(self, new_part): - new_part """ + pass def add_partition_with_environment_context(self, new_part, environment_context): """ @@ -542,6 +603,7 @@ def add_partition_with_environment_context(self, new_part, environment_context): - environment_context """ + pass def add_partitions(self, new_parts): """ @@ -549,6 +611,7 @@ def add_partitions(self, new_parts): - new_parts """ + pass def add_partitions_pspec(self, new_parts): """ @@ -556,6 +619,7 @@ def add_partitions_pspec(self, new_parts): - new_parts """ + pass def append_partition(self, db_name, tbl_name, part_vals): """ @@ -565,6 +629,7 @@ def append_partition(self, db_name, tbl_name, part_vals): - part_vals """ + pass def add_partitions_req(self, request): """ @@ -572,6 +637,7 @@ def add_partitions_req(self, request): - request """ + pass def append_partition_with_environment_context(self, db_name, tbl_name, part_vals, environment_context): """ @@ -582,6 +648,7 @@ def append_partition_with_environment_context(self, db_name, tbl_name, part_vals - environment_context """ + pass def append_partition_by_name(self, db_name, tbl_name, part_name): """ @@ -591,6 +658,7 @@ def append_partition_by_name(self, db_name, tbl_name, part_name): - part_name """ + pass def append_partition_by_name_with_environment_context(self, db_name, tbl_name, part_name, environment_context): """ @@ -601,6 +669,7 @@ def append_partition_by_name_with_environment_context(self, db_name, tbl_name, p - environment_context """ + pass def drop_partition(self, db_name, tbl_name, part_vals, deleteData): """ @@ -611,6 +680,7 @@ def drop_partition(self, db_name, tbl_name, part_vals, deleteData): - deleteData """ + pass def drop_partition_with_environment_context(self, db_name, tbl_name, part_vals, deleteData, environment_context): """ @@ -622,6 +692,7 @@ def drop_partition_with_environment_context(self, db_name, tbl_name, part_vals, - environment_context """ + pass def drop_partition_by_name(self, db_name, tbl_name, part_name, deleteData): """ @@ -632,6 +703,7 @@ def drop_partition_by_name(self, db_name, tbl_name, part_name, deleteData): - deleteData """ + pass def drop_partition_by_name_with_environment_context(self, db_name, tbl_name, part_name, deleteData, environment_context): """ @@ -643,6 +715,7 @@ def drop_partition_by_name_with_environment_context(self, db_name, tbl_name, par - environment_context """ + pass def drop_partitions_req(self, req): """ @@ -650,6 +723,7 @@ def drop_partitions_req(self, req): - req """ + pass def get_partition(self, db_name, tbl_name, part_vals): """ @@ -659,6 +733,7 @@ def get_partition(self, db_name, tbl_name, part_vals): - part_vals """ + pass def get_partition_req(self, req): """ @@ -666,6 +741,7 @@ def get_partition_req(self, req): - req """ + pass def exchange_partition(self, partitionSpecs, source_db, source_table_name, dest_db, dest_table_name): """ @@ -677,6 +753,7 @@ def exchange_partition(self, partitionSpecs, source_db, source_table_name, dest_ - dest_table_name """ + pass def exchange_partitions(self, partitionSpecs, source_db, source_table_name, dest_db, dest_table_name): """ @@ -688,6 +765,7 @@ def exchange_partitions(self, partitionSpecs, source_db, source_table_name, dest - dest_table_name """ + pass def get_partition_with_auth(self, db_name, tbl_name, part_vals, user_name, group_names): """ @@ -699,6 +777,7 @@ def get_partition_with_auth(self, db_name, tbl_name, part_vals, user_name, group - group_names """ + pass def get_partition_by_name(self, db_name, tbl_name, part_name): """ @@ -708,6 +787,7 @@ def get_partition_by_name(self, db_name, tbl_name, part_name): - part_name """ + pass def get_partitions(self, db_name, tbl_name, max_parts): """ @@ -717,6 +797,7 @@ def get_partitions(self, db_name, tbl_name, max_parts): - max_parts """ + pass def get_partitions_req(self, req): """ @@ -724,6 +805,7 @@ def get_partitions_req(self, req): - req """ + pass def get_partitions_with_auth(self, db_name, tbl_name, max_parts, user_name, group_names): """ @@ -735,6 +817,7 @@ def get_partitions_with_auth(self, db_name, tbl_name, max_parts, user_name, grou - group_names """ + pass def get_partitions_pspec(self, db_name, tbl_name, max_parts): """ @@ -744,6 +827,7 @@ def get_partitions_pspec(self, db_name, tbl_name, max_parts): - max_parts """ + pass def get_partition_names(self, db_name, tbl_name, max_parts): """ @@ -753,6 +837,7 @@ def get_partition_names(self, db_name, tbl_name, max_parts): - max_parts """ + pass def get_partition_values(self, request): """ @@ -760,6 +845,7 @@ def get_partition_values(self, request): - request """ + pass def get_partitions_ps(self, db_name, tbl_name, part_vals, max_parts): """ @@ -770,6 +856,7 @@ def get_partitions_ps(self, db_name, tbl_name, part_vals, max_parts): - max_parts """ + pass def get_partitions_ps_with_auth(self, db_name, tbl_name, part_vals, max_parts, user_name, group_names): """ @@ -782,6 +869,7 @@ def get_partitions_ps_with_auth(self, db_name, tbl_name, part_vals, max_parts, u - group_names """ + pass def get_partitions_ps_with_auth_req(self, req): """ @@ -789,6 +877,7 @@ def get_partitions_ps_with_auth_req(self, req): - req """ + pass def get_partition_names_ps(self, db_name, tbl_name, part_vals, max_parts): """ @@ -799,6 +888,7 @@ def get_partition_names_ps(self, db_name, tbl_name, part_vals, max_parts): - max_parts """ + pass def get_partition_names_ps_req(self, req): """ @@ -806,6 +896,7 @@ def get_partition_names_ps_req(self, req): - req """ + pass def get_partition_names_req(self, req): """ @@ -813,6 +904,7 @@ def get_partition_names_req(self, req): - req """ + pass def get_partitions_by_filter(self, db_name, tbl_name, filter, max_parts): """ @@ -823,6 +915,7 @@ def get_partitions_by_filter(self, db_name, tbl_name, filter, max_parts): - max_parts """ + pass def get_part_specs_by_filter(self, db_name, tbl_name, filter, max_parts): """ @@ -833,6 +926,7 @@ def get_part_specs_by_filter(self, db_name, tbl_name, filter, max_parts): - max_parts """ + pass def get_partitions_by_expr(self, req): """ @@ -840,6 +934,7 @@ def get_partitions_by_expr(self, req): - req """ + pass def get_partitions_spec_by_expr(self, req): """ @@ -847,6 +942,7 @@ def get_partitions_spec_by_expr(self, req): - req """ + pass def get_num_partitions_by_filter(self, db_name, tbl_name, filter): """ @@ -856,6 +952,7 @@ def get_num_partitions_by_filter(self, db_name, tbl_name, filter): - filter """ + pass def get_partitions_by_names(self, db_name, tbl_name, names): """ @@ -865,6 +962,7 @@ def get_partitions_by_names(self, db_name, tbl_name, names): - names """ + pass def get_partitions_by_names_req(self, req): """ @@ -872,6 +970,7 @@ def get_partitions_by_names_req(self, req): - req """ + pass def alter_partition(self, db_name, tbl_name, new_part): """ @@ -881,6 +980,7 @@ def alter_partition(self, db_name, tbl_name, new_part): - new_part """ + pass def alter_partitions(self, db_name, tbl_name, new_parts): """ @@ -890,6 +990,7 @@ def alter_partitions(self, db_name, tbl_name, new_parts): - new_parts """ + pass def alter_partitions_with_environment_context(self, db_name, tbl_name, new_parts, environment_context): """ @@ -900,6 +1001,7 @@ def alter_partitions_with_environment_context(self, db_name, tbl_name, new_parts - environment_context """ + pass def alter_partitions_req(self, req): """ @@ -907,6 +1009,7 @@ def alter_partitions_req(self, req): - req """ + pass def alter_partition_with_environment_context(self, db_name, tbl_name, new_part, environment_context): """ @@ -917,6 +1020,7 @@ def alter_partition_with_environment_context(self, db_name, tbl_name, new_part, - environment_context """ + pass def rename_partition(self, db_name, tbl_name, part_vals, new_part): """ @@ -927,6 +1031,7 @@ def rename_partition(self, db_name, tbl_name, part_vals, new_part): - new_part """ + pass def rename_partition_req(self, req): """ @@ -934,6 +1039,7 @@ def rename_partition_req(self, req): - req """ + pass def partition_name_has_valid_characters(self, part_vals, throw_exception): """ @@ -942,6 +1048,7 @@ def partition_name_has_valid_characters(self, part_vals, throw_exception): - throw_exception """ + pass def get_config_value(self, name, defaultValue): """ @@ -950,6 +1057,7 @@ def get_config_value(self, name, defaultValue): - defaultValue """ + pass def partition_name_to_vals(self, part_name): """ @@ -957,6 +1065,7 @@ def partition_name_to_vals(self, part_name): - part_name """ + pass def partition_name_to_spec(self, part_name): """ @@ -964,6 +1073,7 @@ def partition_name_to_spec(self, part_name): - part_name """ + pass def markPartitionForEvent(self, db_name, tbl_name, part_vals, eventType): """ @@ -974,6 +1084,7 @@ def markPartitionForEvent(self, db_name, tbl_name, part_vals, eventType): - eventType """ + pass def isPartitionMarkedForEvent(self, db_name, tbl_name, part_vals, eventType): """ @@ -984,6 +1095,7 @@ def isPartitionMarkedForEvent(self, db_name, tbl_name, part_vals, eventType): - eventType """ + pass def get_primary_keys(self, request): """ @@ -991,6 +1103,7 @@ def get_primary_keys(self, request): - request """ + pass def get_foreign_keys(self, request): """ @@ -998,6 +1111,7 @@ def get_foreign_keys(self, request): - request """ + pass def get_unique_constraints(self, request): """ @@ -1005,6 +1119,7 @@ def get_unique_constraints(self, request): - request """ + pass def get_not_null_constraints(self, request): """ @@ -1012,6 +1127,7 @@ def get_not_null_constraints(self, request): - request """ + pass def get_default_constraints(self, request): """ @@ -1019,6 +1135,7 @@ def get_default_constraints(self, request): - request """ + pass def get_check_constraints(self, request): """ @@ -1026,6 +1143,7 @@ def get_check_constraints(self, request): - request """ + pass def get_all_table_constraints(self, request): """ @@ -1033,6 +1151,7 @@ def get_all_table_constraints(self, request): - request """ + pass def update_table_column_statistics(self, stats_obj): """ @@ -1040,6 +1159,7 @@ def update_table_column_statistics(self, stats_obj): - stats_obj """ + pass def update_partition_column_statistics(self, stats_obj): """ @@ -1047,6 +1167,7 @@ def update_partition_column_statistics(self, stats_obj): - stats_obj """ + pass def update_table_column_statistics_req(self, req): """ @@ -1054,6 +1175,7 @@ def update_table_column_statistics_req(self, req): - req """ + pass def update_partition_column_statistics_req(self, req): """ @@ -1061,6 +1183,7 @@ def update_partition_column_statistics_req(self, req): - req """ + pass def update_transaction_statistics(self, req): """ @@ -1068,6 +1191,7 @@ def update_transaction_statistics(self, req): - req """ + pass def get_table_column_statistics(self, db_name, tbl_name, col_name): """ @@ -1077,6 +1201,7 @@ def get_table_column_statistics(self, db_name, tbl_name, col_name): - col_name """ + pass def get_partition_column_statistics(self, db_name, tbl_name, part_name, col_name): """ @@ -1087,6 +1212,7 @@ def get_partition_column_statistics(self, db_name, tbl_name, part_name, col_name - col_name """ + pass def get_table_statistics_req(self, request): """ @@ -1094,6 +1220,7 @@ def get_table_statistics_req(self, request): - request """ + pass def get_partitions_statistics_req(self, request): """ @@ -1101,6 +1228,7 @@ def get_partitions_statistics_req(self, request): - request """ + pass def get_aggr_stats_for(self, request): """ @@ -1108,6 +1236,7 @@ def get_aggr_stats_for(self, request): - request """ + pass def set_aggr_stats_for(self, request): """ @@ -1115,6 +1244,7 @@ def set_aggr_stats_for(self, request): - request """ + pass def delete_partition_column_statistics(self, db_name, tbl_name, part_name, col_name, engine): """ @@ -1126,6 +1256,7 @@ def delete_partition_column_statistics(self, db_name, tbl_name, part_name, col_n - engine """ + pass def delete_table_column_statistics(self, db_name, tbl_name, col_name, engine): """ @@ -1136,6 +1267,7 @@ def delete_table_column_statistics(self, db_name, tbl_name, col_name, engine): - engine """ + pass def create_function(self, func): """ @@ -1143,6 +1275,7 @@ def create_function(self, func): - func """ + pass def drop_function(self, dbName, funcName): """ @@ -1151,6 +1284,7 @@ def drop_function(self, dbName, funcName): - funcName """ + pass def alter_function(self, dbName, funcName, newFunc): """ @@ -1160,6 +1294,7 @@ def alter_function(self, dbName, funcName, newFunc): - newFunc """ + pass def get_functions(self, dbName, pattern): """ @@ -1168,6 +1303,7 @@ def get_functions(self, dbName, pattern): - pattern """ + pass def get_function(self, dbName, funcName): """ @@ -1176,6 +1312,7 @@ def get_function(self, dbName, funcName): - funcName """ + pass def get_all_functions(self): pass @@ -1186,6 +1323,7 @@ def create_role(self, role): - role """ + pass def drop_role(self, role_name): """ @@ -1193,6 +1331,7 @@ def drop_role(self, role_name): - role_name """ + pass def get_role_names(self): pass @@ -1208,6 +1347,7 @@ def grant_role(self, role_name, principal_name, principal_type, grantor, grantor - grant_option """ + pass def revoke_role(self, role_name, principal_name, principal_type): """ @@ -1217,6 +1357,7 @@ def revoke_role(self, role_name, principal_name, principal_type): - principal_type """ + pass def list_roles(self, principal_name, principal_type): """ @@ -1225,6 +1366,7 @@ def list_roles(self, principal_name, principal_type): - principal_type """ + pass def grant_revoke_role(self, request): """ @@ -1232,6 +1374,7 @@ def grant_revoke_role(self, request): - request """ + pass def get_principals_in_role(self, request): """ @@ -1239,6 +1382,7 @@ def get_principals_in_role(self, request): - request """ + pass def get_role_grants_for_principal(self, request): """ @@ -1246,6 +1390,7 @@ def get_role_grants_for_principal(self, request): - request """ + pass def get_privilege_set(self, hiveObject, user_name, group_names): """ @@ -1255,6 +1400,7 @@ def get_privilege_set(self, hiveObject, user_name, group_names): - group_names """ + pass def list_privileges(self, principal_name, principal_type, hiveObject): """ @@ -1264,6 +1410,7 @@ def list_privileges(self, principal_name, principal_type, hiveObject): - hiveObject """ + pass def grant_privileges(self, privileges): """ @@ -1271,6 +1418,7 @@ def grant_privileges(self, privileges): - privileges """ + pass def revoke_privileges(self, privileges): """ @@ -1278,6 +1426,7 @@ def revoke_privileges(self, privileges): - privileges """ + pass def grant_revoke_privileges(self, request): """ @@ -1285,6 +1434,7 @@ def grant_revoke_privileges(self, request): - request """ + pass def refresh_privileges(self, objToRefresh, authorizer, grantRequest): """ @@ -1294,6 +1444,7 @@ def refresh_privileges(self, objToRefresh, authorizer, grantRequest): - grantRequest """ + pass def set_ugi(self, user_name, group_names): """ @@ -1302,6 +1453,7 @@ def set_ugi(self, user_name, group_names): - group_names """ + pass def get_delegation_token(self, token_owner, renewer_kerberos_principal_name): """ @@ -1310,6 +1462,7 @@ def get_delegation_token(self, token_owner, renewer_kerberos_principal_name): - renewer_kerberos_principal_name """ + pass def renew_delegation_token(self, token_str_form): """ @@ -1317,6 +1470,7 @@ def renew_delegation_token(self, token_str_form): - token_str_form """ + pass def cancel_delegation_token(self, token_str_form): """ @@ -1324,6 +1478,7 @@ def cancel_delegation_token(self, token_str_form): - token_str_form """ + pass def add_token(self, token_identifier, delegation_token): """ @@ -1332,6 +1487,7 @@ def add_token(self, token_identifier, delegation_token): - delegation_token """ + pass def remove_token(self, token_identifier): """ @@ -1339,6 +1495,7 @@ def remove_token(self, token_identifier): - token_identifier """ + pass def get_token(self, token_identifier): """ @@ -1346,6 +1503,7 @@ def get_token(self, token_identifier): - token_identifier """ + pass def get_all_token_identifiers(self): pass @@ -1356,6 +1514,7 @@ def add_master_key(self, key): - key """ + pass def update_master_key(self, seq_number, key): """ @@ -1364,6 +1523,7 @@ def update_master_key(self, seq_number, key): - key """ + pass def remove_master_key(self, key_seq): """ @@ -1371,6 +1531,7 @@ def remove_master_key(self, key_seq): - key_seq """ + pass def get_master_keys(self): pass @@ -1387,6 +1548,7 @@ def open_txns(self, rqst): - rqst """ + pass def abort_txn(self, rqst): """ @@ -1394,6 +1556,7 @@ def abort_txn(self, rqst): - rqst """ + pass def abort_txns(self, rqst): """ @@ -1401,6 +1564,7 @@ def abort_txns(self, rqst): - rqst """ + pass def commit_txn(self, rqst): """ @@ -1408,6 +1572,7 @@ def commit_txn(self, rqst): - rqst """ + pass def get_latest_txnid_in_conflict(self, txnId): """ @@ -1415,6 +1580,7 @@ def get_latest_txnid_in_conflict(self, txnId): - txnId """ + pass def repl_tbl_writeid_state(self, rqst): """ @@ -1422,6 +1588,7 @@ def repl_tbl_writeid_state(self, rqst): - rqst """ + pass def get_valid_write_ids(self, rqst): """ @@ -1429,6 +1596,7 @@ def get_valid_write_ids(self, rqst): - rqst """ + pass def allocate_table_write_ids(self, rqst): """ @@ -1436,6 +1604,7 @@ def allocate_table_write_ids(self, rqst): - rqst """ + pass def get_max_allocated_table_write_id(self, rqst): """ @@ -1443,6 +1612,7 @@ def get_max_allocated_table_write_id(self, rqst): - rqst """ + pass def seed_write_id(self, rqst): """ @@ -1450,6 +1620,7 @@ def seed_write_id(self, rqst): - rqst """ + pass def seed_txn_id(self, rqst): """ @@ -1457,6 +1628,7 @@ def seed_txn_id(self, rqst): - rqst """ + pass def lock(self, rqst): """ @@ -1464,6 +1636,7 @@ def lock(self, rqst): - rqst """ + pass def check_lock(self, rqst): """ @@ -1471,6 +1644,7 @@ def check_lock(self, rqst): - rqst """ + pass def unlock(self, rqst): """ @@ -1478,6 +1652,7 @@ def unlock(self, rqst): - rqst """ + pass def show_locks(self, rqst): """ @@ -1485,6 +1660,7 @@ def show_locks(self, rqst): - rqst """ + pass def heartbeat(self, ids): """ @@ -1492,6 +1668,7 @@ def heartbeat(self, ids): - ids """ + pass def heartbeat_txn_range(self, txns): """ @@ -1499,6 +1676,7 @@ def heartbeat_txn_range(self, txns): - txns """ + pass def compact(self, rqst): """ @@ -1506,6 +1684,7 @@ def compact(self, rqst): - rqst """ + pass def compact2(self, rqst): """ @@ -1513,6 +1692,7 @@ def compact2(self, rqst): - rqst """ + pass def show_compact(self, rqst): """ @@ -1520,6 +1700,7 @@ def show_compact(self, rqst): - rqst """ + pass def add_dynamic_partitions(self, rqst): """ @@ -1527,6 +1708,7 @@ def add_dynamic_partitions(self, rqst): - rqst """ + pass def find_next_compact(self, workerId): """ @@ -1534,6 +1716,7 @@ def find_next_compact(self, workerId): - workerId """ + pass def find_next_compact2(self, rqst): """ @@ -1541,6 +1724,7 @@ def find_next_compact2(self, rqst): - rqst """ + pass def update_compactor_state(self, cr, txn_id): """ @@ -1549,6 +1733,7 @@ def update_compactor_state(self, cr, txn_id): - txn_id """ + pass def find_columns_with_stats(self, cr): """ @@ -1556,6 +1741,7 @@ def find_columns_with_stats(self, cr): - cr """ + pass def mark_cleaned(self, cr): """ @@ -1563,6 +1749,7 @@ def mark_cleaned(self, cr): - cr """ + pass def mark_compacted(self, cr): """ @@ -1570,6 +1757,7 @@ def mark_compacted(self, cr): - cr """ + pass def mark_failed(self, cr): """ @@ -1577,6 +1765,7 @@ def mark_failed(self, cr): - cr """ + pass def mark_refused(self, cr): """ @@ -1584,6 +1773,7 @@ def mark_refused(self, cr): - cr """ + pass def update_compaction_metrics_data(self, data): """ @@ -1591,6 +1781,7 @@ def update_compaction_metrics_data(self, data): - data """ + pass def remove_compaction_metrics_data(self, request): """ @@ -1598,6 +1789,7 @@ def remove_compaction_metrics_data(self, request): - request """ + pass def set_hadoop_jobid(self, jobId, cq_id): """ @@ -1606,6 +1798,7 @@ def set_hadoop_jobid(self, jobId, cq_id): - cq_id """ + pass def get_latest_committed_compaction_info(self, rqst): """ @@ -1613,6 +1806,7 @@ def get_latest_committed_compaction_info(self, rqst): - rqst """ + pass def get_next_notification(self, rqst): """ @@ -1620,6 +1814,7 @@ def get_next_notification(self, rqst): - rqst """ + pass def get_current_notificationEventId(self): pass @@ -1630,6 +1825,7 @@ def get_notification_events_count(self, rqst): - rqst """ + pass def fire_listener_event(self, rqst): """ @@ -1637,6 +1833,7 @@ def fire_listener_event(self, rqst): - rqst """ + pass def flushCache(self): pass @@ -1647,6 +1844,7 @@ def add_write_notification_log(self, rqst): - rqst """ + pass def add_write_notification_log_in_batch(self, rqst): """ @@ -1654,6 +1852,7 @@ def add_write_notification_log_in_batch(self, rqst): - rqst """ + pass def cm_recycle(self, request): """ @@ -1661,6 +1860,7 @@ def cm_recycle(self, request): - request """ + pass def get_file_metadata_by_expr(self, req): """ @@ -1668,6 +1868,7 @@ def get_file_metadata_by_expr(self, req): - req """ + pass def get_file_metadata(self, req): """ @@ -1675,6 +1876,7 @@ def get_file_metadata(self, req): - req """ + pass def put_file_metadata(self, req): """ @@ -1682,6 +1884,7 @@ def put_file_metadata(self, req): - req """ + pass def clear_file_metadata(self, req): """ @@ -1689,6 +1892,7 @@ def clear_file_metadata(self, req): - req """ + pass def cache_file_metadata(self, req): """ @@ -1696,6 +1900,7 @@ def cache_file_metadata(self, req): - req """ + pass def get_metastore_db_uuid(self): pass @@ -1706,6 +1911,7 @@ def create_resource_plan(self, request): - request """ + pass def get_resource_plan(self, request): """ @@ -1713,6 +1919,7 @@ def get_resource_plan(self, request): - request """ + pass def get_active_resource_plan(self, request): """ @@ -1720,6 +1927,7 @@ def get_active_resource_plan(self, request): - request """ + pass def get_all_resource_plans(self, request): """ @@ -1727,6 +1935,7 @@ def get_all_resource_plans(self, request): - request """ + pass def alter_resource_plan(self, request): """ @@ -1734,6 +1943,7 @@ def alter_resource_plan(self, request): - request """ + pass def validate_resource_plan(self, request): """ @@ -1741,6 +1951,7 @@ def validate_resource_plan(self, request): - request """ + pass def drop_resource_plan(self, request): """ @@ -1748,6 +1959,7 @@ def drop_resource_plan(self, request): - request """ + pass def create_wm_trigger(self, request): """ @@ -1755,6 +1967,7 @@ def create_wm_trigger(self, request): - request """ + pass def alter_wm_trigger(self, request): """ @@ -1762,6 +1975,7 @@ def alter_wm_trigger(self, request): - request """ + pass def drop_wm_trigger(self, request): """ @@ -1769,6 +1983,7 @@ def drop_wm_trigger(self, request): - request """ + pass def get_triggers_for_resourceplan(self, request): """ @@ -1776,6 +1991,7 @@ def get_triggers_for_resourceplan(self, request): - request """ + pass def create_wm_pool(self, request): """ @@ -1783,6 +1999,7 @@ def create_wm_pool(self, request): - request """ + pass def alter_wm_pool(self, request): """ @@ -1790,6 +2007,7 @@ def alter_wm_pool(self, request): - request """ + pass def drop_wm_pool(self, request): """ @@ -1797,6 +2015,7 @@ def drop_wm_pool(self, request): - request """ + pass def create_or_update_wm_mapping(self, request): """ @@ -1804,6 +2023,7 @@ def create_or_update_wm_mapping(self, request): - request """ + pass def drop_wm_mapping(self, request): """ @@ -1811,6 +2031,7 @@ def drop_wm_mapping(self, request): - request """ + pass def create_or_drop_wm_trigger_to_pool_mapping(self, request): """ @@ -1818,6 +2039,7 @@ def create_or_drop_wm_trigger_to_pool_mapping(self, request): - request """ + pass def create_ischema(self, schema): """ @@ -1825,6 +2047,7 @@ def create_ischema(self, schema): - schema """ + pass def alter_ischema(self, rqst): """ @@ -1832,6 +2055,7 @@ def alter_ischema(self, rqst): - rqst """ + pass def get_ischema(self, name): """ @@ -1839,6 +2063,7 @@ def get_ischema(self, name): - name """ + pass def drop_ischema(self, name): """ @@ -1846,6 +2071,7 @@ def drop_ischema(self, name): - name """ + pass def add_schema_version(self, schemaVersion): """ @@ -1853,6 +2079,7 @@ def add_schema_version(self, schemaVersion): - schemaVersion """ + pass def get_schema_version(self, schemaVersion): """ @@ -1860,6 +2087,7 @@ def get_schema_version(self, schemaVersion): - schemaVersion """ + pass def get_schema_latest_version(self, schemaName): """ @@ -1867,6 +2095,7 @@ def get_schema_latest_version(self, schemaName): - schemaName """ + pass def get_schema_all_versions(self, schemaName): """ @@ -1874,6 +2103,7 @@ def get_schema_all_versions(self, schemaName): - schemaName """ + pass def drop_schema_version(self, schemaVersion): """ @@ -1881,6 +2111,7 @@ def drop_schema_version(self, schemaVersion): - schemaVersion """ + pass def get_schemas_by_cols(self, rqst): """ @@ -1888,6 +2119,7 @@ def get_schemas_by_cols(self, rqst): - rqst """ + pass def map_schema_version_to_serde(self, rqst): """ @@ -1895,6 +2127,7 @@ def map_schema_version_to_serde(self, rqst): - rqst """ + pass def set_schema_version_state(self, rqst): """ @@ -1902,6 +2135,7 @@ def set_schema_version_state(self, rqst): - rqst """ + pass def add_serde(self, serde): """ @@ -1909,6 +2143,7 @@ def add_serde(self, serde): - serde """ + pass def get_serde(self, rqst): """ @@ -1916,6 +2151,7 @@ def get_serde(self, rqst): - rqst """ + pass def get_lock_materialization_rebuild(self, dbName, tableName, txnId): """ @@ -1925,6 +2161,7 @@ def get_lock_materialization_rebuild(self, dbName, tableName, txnId): - txnId """ + pass def heartbeat_lock_materialization_rebuild(self, dbName, tableName, txnId): """ @@ -1934,6 +2171,7 @@ def heartbeat_lock_materialization_rebuild(self, dbName, tableName, txnId): - txnId """ + pass def add_runtime_stats(self, stat): """ @@ -1941,6 +2179,7 @@ def add_runtime_stats(self, stat): - stat """ + pass def get_runtime_stats(self, rqst): """ @@ -1948,6 +2187,7 @@ def get_runtime_stats(self, rqst): - rqst """ + pass def get_partitions_with_specs(self, request): """ @@ -1955,6 +2195,7 @@ def get_partitions_with_specs(self, request): - request """ + pass def scheduled_query_poll(self, request): """ @@ -1962,6 +2203,7 @@ def scheduled_query_poll(self, request): - request """ + pass def scheduled_query_maintenance(self, request): """ @@ -1969,6 +2211,7 @@ def scheduled_query_maintenance(self, request): - request """ + pass def scheduled_query_progress(self, info): """ @@ -1976,6 +2219,7 @@ def scheduled_query_progress(self, info): - info """ + pass def get_scheduled_query(self, scheduleKey): """ @@ -1983,6 +2227,7 @@ def get_scheduled_query(self, scheduleKey): - scheduleKey """ + pass def add_replication_metrics(self, replicationMetricList): """ @@ -1990,6 +2235,7 @@ def add_replication_metrics(self, replicationMetricList): - replicationMetricList """ + pass def get_replication_metrics(self, rqst): """ @@ -1997,6 +2243,7 @@ def get_replication_metrics(self, rqst): - rqst """ + pass def get_open_txns_req(self, getOpenTxnsRequest): """ @@ -2004,6 +2251,7 @@ def get_open_txns_req(self, getOpenTxnsRequest): - getOpenTxnsRequest """ + pass def create_stored_procedure(self, proc): """ @@ -2011,6 +2259,7 @@ def create_stored_procedure(self, proc): - proc """ + pass def get_stored_procedure(self, request): """ @@ -2018,6 +2267,7 @@ def get_stored_procedure(self, request): - request """ + pass def drop_stored_procedure(self, request): """ @@ -2025,6 +2275,7 @@ def drop_stored_procedure(self, request): - request """ + pass def get_all_stored_procedures(self, request): """ @@ -2032,6 +2283,7 @@ def get_all_stored_procedures(self, request): - request """ + pass def find_package(self, request): """ @@ -2039,6 +2291,7 @@ def find_package(self, request): - request """ + pass def add_package(self, request): """ @@ -2046,6 +2299,7 @@ def add_package(self, request): - request """ + pass def get_all_packages(self, request): """ @@ -2053,6 +2307,7 @@ def get_all_packages(self, request): - request """ + pass def drop_package(self, request): """ @@ -2060,6 +2315,7 @@ def drop_package(self, request): - request """ + pass def get_all_write_event_info(self, request): """ @@ -2067,6 +2323,7 @@ def get_all_write_event_info(self, request): - request """ + pass class Client(fb303.FacebookService.Client, Iface): @@ -19984,7 +20241,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20073,7 +20330,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20170,7 +20427,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20252,7 +20509,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20328,7 +20585,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20427,7 +20684,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20517,7 +20774,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20616,7 +20873,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20706,7 +20963,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20806,7 +21063,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20873,7 +21130,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20952,7 +21209,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21034,7 +21291,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21133,7 +21390,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21223,7 +21480,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21322,7 +21579,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21413,7 +21670,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21513,7 +21770,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21602,7 +21859,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21702,7 +21959,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21816,7 +22073,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21929,7 +22186,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22019,7 +22276,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22118,7 +22375,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22209,7 +22466,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22308,7 +22565,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22368,7 +22625,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22458,7 +22715,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22554,7 +22811,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22648,7 +22905,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22731,7 +22988,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22830,7 +23087,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22920,7 +23177,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -23020,7 +23277,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -23134,7 +23391,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -23224,7 +23481,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -23292,7 +23549,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -23382,7 +23639,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -23478,7 +23735,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -23572,7 +23829,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -23656,7 +23913,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -23756,7 +24013,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -23845,7 +24102,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -23956,7 +24213,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24053,7 +24310,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24152,7 +24409,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24242,7 +24499,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24344,7 +24601,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24441,7 +24698,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24568,7 +24825,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24692,7 +24949,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24826,7 +25083,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24922,7 +25179,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25034,7 +25291,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25145,7 +25402,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25272,7 +25529,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25396,7 +25653,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25530,7 +25787,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25626,7 +25883,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25738,7 +25995,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25834,7 +26091,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25945,7 +26202,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -26055,7 +26312,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -26173,7 +26430,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -26396,7 +26653,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -26549,7 +26806,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -26646,7 +26903,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -26757,7 +27014,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -26854,7 +27111,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -26941,7 +27198,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27024,7 +27281,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27111,7 +27368,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27194,7 +27451,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27281,7 +27538,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27364,7 +27621,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27451,7 +27708,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27534,7 +27791,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27621,7 +27878,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27704,7 +27961,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27791,7 +28048,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27874,7 +28131,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27961,7 +28218,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -28044,7 +28301,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -28168,7 +28425,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -28298,7 +28555,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -28399,7 +28656,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -28522,7 +28779,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -28630,7 +28887,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -28752,7 +29009,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -28841,7 +29098,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -28917,7 +29174,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29005,7 +29262,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29102,7 +29359,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29208,7 +29465,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29319,7 +29576,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29432,7 +29689,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29492,7 +29749,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29579,7 +29836,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29662,7 +29919,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29761,7 +30018,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29882,7 +30139,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29992,7 +30249,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -30075,7 +30332,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -30174,7 +30431,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -30271,7 +30528,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -30378,7 +30635,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -30492,7 +30749,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -30583,7 +30840,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -30658,7 +30915,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -30754,7 +31011,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -30836,7 +31093,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -30936,7 +31193,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31025,7 +31282,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31137,7 +31394,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31247,7 +31504,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31366,7 +31623,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31504,7 +31761,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31624,7 +31881,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31741,7 +31998,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31878,7 +32135,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32002,7 +32259,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32103,7 +32360,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32227,7 +32484,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32335,7 +32592,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32458,7 +32715,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32566,7 +32823,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32649,7 +32906,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32749,7 +33006,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32838,7 +33095,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32950,7 +33207,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -33059,7 +33316,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -33178,7 +33435,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -33282,7 +33539,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -33393,7 +33650,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -33497,7 +33754,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -33608,7 +33865,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -33743,7 +34000,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -33869,7 +34126,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -33965,7 +34222,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -34077,7 +34334,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -34225,7 +34482,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -34358,7 +34615,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -34483,7 +34740,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -34609,7 +34866,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -34747,7 +35004,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -34880,7 +35137,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -35027,7 +35284,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -35147,7 +35404,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -35300,7 +35557,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -35427,7 +35684,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -35557,7 +35814,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -35677,7 +35934,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -35820,7 +36077,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -35947,7 +36204,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -36036,7 +36293,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -36136,7 +36393,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -36264,7 +36521,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -36378,7 +36635,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -36467,7 +36724,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -36567,7 +36824,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -36729,7 +36986,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -36881,7 +37138,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -37057,7 +37314,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -37217,7 +37474,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -37397,7 +37654,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -37525,7 +37782,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -37643,7 +37900,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -37757,7 +38014,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -37873,7 +38130,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -37995,7 +38252,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -38084,7 +38341,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -38184,7 +38441,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -38338,7 +38595,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -38474,7 +38731,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -38590,7 +38847,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -38712,7 +38969,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -38828,7 +39085,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -38953,7 +39210,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -39042,7 +39299,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -39142,7 +39399,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -39282,7 +39539,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -39411,7 +39668,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -39589,7 +39846,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -39732,7 +39989,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -39821,7 +40078,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -39921,7 +40178,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -40061,7 +40318,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -40193,7 +40450,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -40282,7 +40539,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -40382,7 +40639,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -40471,7 +40728,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -40582,7 +40839,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -40712,7 +40969,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -40841,7 +41098,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -40971,7 +41228,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -41100,7 +41357,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -41189,7 +41446,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -41289,7 +41546,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -41378,7 +41635,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -41478,7 +41735,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -41596,7 +41853,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -41709,7 +41966,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -41837,7 +42094,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -41959,7 +42216,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -42048,7 +42305,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -42148,7 +42405,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -42265,7 +42522,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -42366,7 +42623,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -42485,7 +42742,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -42586,7 +42843,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -42718,7 +42975,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -42826,7 +43083,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -42909,7 +43166,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -43009,7 +43266,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -43139,7 +43396,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -43247,7 +43504,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -43382,7 +43639,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -43490,7 +43747,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -43573,7 +43830,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -43673,7 +43930,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -43785,7 +44042,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -43879,7 +44136,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -43976,7 +44233,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -44072,7 +44329,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -44155,7 +44412,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -44254,7 +44511,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -44337,7 +44594,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -44442,7 +44699,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -44581,7 +44838,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -44737,7 +44994,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -44905,7 +45162,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -45073,7 +45330,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -45190,7 +45447,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -45290,7 +45547,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -45379,7 +45636,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -45479,7 +45736,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -45568,7 +45825,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -45668,7 +45925,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -45757,7 +46014,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -45857,7 +46114,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -45946,7 +46203,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -46046,7 +46303,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -46135,7 +46392,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -46235,7 +46492,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -46324,7 +46581,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -46424,7 +46681,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -46513,7 +46770,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -46636,7 +46893,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -46739,7 +46996,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -46862,7 +47119,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -46965,7 +47222,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -47089,7 +47346,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -47192,7 +47449,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -47316,7 +47573,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -47419,7 +47676,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -47494,7 +47751,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -47599,7 +47856,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -47737,7 +47994,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -47883,7 +48140,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -48028,7 +48285,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -48131,7 +48388,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -48231,7 +48488,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -48320,7 +48577,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -48420,7 +48677,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -48509,7 +48766,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -48609,7 +48866,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -48698,7 +48955,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -48821,7 +49078,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -48981,7 +49238,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -49132,7 +49389,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -49278,7 +49535,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -49422,7 +49679,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -49525,7 +49782,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -49636,7 +49893,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -49748,7 +50005,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -49842,7 +50099,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -49953,7 +50210,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -50054,7 +50311,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -50152,7 +50409,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -50258,7 +50515,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -50355,7 +50612,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -50462,7 +50719,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -50529,7 +50786,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -50608,7 +50865,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -50690,7 +50947,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -50777,7 +51034,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -50860,7 +51117,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -50947,7 +51204,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -51007,7 +51264,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -51097,7 +51354,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -51244,7 +51501,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -51366,7 +51623,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -51475,7 +51732,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -51576,7 +51833,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -51671,7 +51928,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -51774,7 +52031,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -51856,7 +52113,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -51944,7 +52201,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -52026,7 +52283,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -52114,7 +52371,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -52196,7 +52453,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -52284,7 +52541,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -52404,7 +52661,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -52506,7 +52763,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -52614,7 +52871,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -52724,7 +52981,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -52806,7 +53063,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -52893,7 +53150,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -52975,7 +53232,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -53062,7 +53319,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -53144,7 +53401,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -53232,7 +53489,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -53341,7 +53598,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -53443,7 +53700,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -53550,7 +53807,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -53656,7 +53913,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -53757,7 +54014,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -53853,7 +54110,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -53936,7 +54193,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -54023,7 +54280,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -54106,7 +54363,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -54181,7 +54438,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -54272,7 +54529,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -54354,7 +54611,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -54430,7 +54687,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -54505,7 +54762,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -54581,7 +54838,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -54658,7 +54915,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -54711,7 +54968,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -54789,7 +55046,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -54865,7 +55122,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -54952,7 +55209,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -55047,7 +55304,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -55141,7 +55398,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -55223,7 +55480,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -55298,7 +55555,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -55351,7 +55608,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -55429,7 +55686,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -55482,7 +55739,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -55549,7 +55806,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -55602,7 +55859,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -55669,7 +55926,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -55744,7 +56001,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -55820,7 +56077,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -55895,7 +56152,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -55970,7 +56227,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -56046,7 +56303,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -56121,7 +56378,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -56197,7 +56454,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -56284,7 +56541,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -56366,7 +56623,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -56453,7 +56710,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -56535,7 +56792,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -56589,7 +56846,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -56656,7 +56913,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -56756,7 +57013,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -56845,7 +57102,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -56957,7 +57214,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -57053,7 +57310,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -57141,7 +57398,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -57223,7 +57480,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -57298,7 +57555,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -57374,7 +57631,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -57449,7 +57706,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -57525,7 +57782,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -57625,7 +57882,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -57714,7 +57971,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -57826,7 +58083,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -57922,7 +58179,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -58009,7 +58266,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -58092,7 +58349,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -58168,7 +58425,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -58243,7 +58500,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -58342,7 +58599,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -58432,7 +58689,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -58508,7 +58765,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -58583,7 +58840,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -58637,7 +58894,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -58704,7 +58961,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -58780,7 +59037,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -58855,7 +59112,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -58931,7 +59188,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -59006,7 +59263,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -59093,7 +59350,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -59177,7 +59434,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -59265,7 +59522,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -59347,7 +59604,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -59435,7 +59692,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -59529,7 +59786,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -59590,7 +59847,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -59657,7 +59914,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -59744,7 +60001,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -59819,7 +60076,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -59894,7 +60151,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -59970,7 +60227,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -60045,7 +60302,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -60121,7 +60378,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -60196,7 +60453,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -60272,7 +60529,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -60347,7 +60604,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -60423,7 +60680,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -60510,7 +60767,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -60592,7 +60849,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -60667,7 +60924,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -60756,7 +61013,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -60817,7 +61074,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -60884,7 +61141,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -60960,7 +61217,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -61035,7 +61292,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -61111,7 +61368,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -61164,7 +61421,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -61231,7 +61488,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -61306,7 +61563,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -61382,7 +61639,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -61457,7 +61714,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -61533,7 +61790,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -61586,7 +61843,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -61631,7 +61888,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -61698,7 +61955,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -61774,7 +62031,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -61849,7 +62106,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -61925,7 +62182,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -62000,7 +62257,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -62088,7 +62345,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -62170,7 +62427,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -62246,7 +62503,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -62321,7 +62578,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -62397,7 +62654,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -62472,7 +62729,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -62548,7 +62805,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -62623,7 +62880,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -62699,7 +62956,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -62774,7 +63031,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -62850,7 +63107,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -62903,7 +63160,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -62983,7 +63240,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -63065,7 +63322,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -63177,7 +63434,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -63273,7 +63530,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -63373,7 +63630,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -63462,7 +63719,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -63550,7 +63807,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -63632,7 +63889,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -63720,7 +63977,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -63802,7 +64059,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -63914,7 +64171,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -64010,7 +64267,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -64110,7 +64367,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -64199,7 +64456,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -64311,7 +64568,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -64407,7 +64664,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -64531,7 +64788,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -64634,7 +64891,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -64746,7 +65003,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -64842,7 +65099,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -64954,7 +65211,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -65050,7 +65307,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -65150,7 +65407,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -65239,7 +65496,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -65363,7 +65620,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -65466,7 +65723,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -65590,7 +65847,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -65693,7 +65950,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -65805,7 +66062,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -65901,7 +66158,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -66025,7 +66282,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -66128,7 +66385,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -66240,7 +66497,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -66336,7 +66593,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -66460,7 +66717,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -66563,7 +66820,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -66662,7 +66919,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -66752,7 +67009,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -66839,7 +67096,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -66922,7 +67179,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -67022,7 +67279,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -67111,7 +67368,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -67210,7 +67467,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -67300,7 +67557,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -67399,7 +67656,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -67489,7 +67746,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -67589,7 +67846,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -67678,7 +67935,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -67778,7 +68035,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -67867,7 +68124,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -67975,7 +68232,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -68064,7 +68321,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -68151,7 +68408,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -68234,7 +68491,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -68322,7 +68579,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -68404,7 +68661,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -68491,7 +68748,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -68574,7 +68831,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -68673,7 +68930,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -68763,7 +69020,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -68850,7 +69107,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -68933,7 +69190,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -69033,7 +69290,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -69149,7 +69406,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -69239,7 +69496,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -69341,7 +69598,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -69430,7 +69687,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -69505,7 +69762,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -69580,7 +69837,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -69656,7 +69913,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -69752,7 +70009,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -69834,7 +70091,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -69922,7 +70179,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -70004,7 +70261,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -70092,7 +70349,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -70174,7 +70431,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -70285,7 +70542,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -70382,7 +70639,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -70469,7 +70726,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -70552,7 +70809,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -70652,7 +70909,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -70741,7 +70998,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -70816,7 +71073,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -70892,7 +71149,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -70980,7 +71237,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -71062,7 +71319,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -71138,7 +71395,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -71213,7 +71470,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -71300,7 +71557,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -71383,7 +71640,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -71483,7 +71740,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -71572,7 +71829,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -71647,7 +71904,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -71723,7 +71980,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -71822,7 +72079,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -71904,7 +72161,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -72004,7 +72261,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -72093,7 +72350,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -72168,7 +72425,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -72244,7 +72501,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -72343,7 +72600,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -72425,7 +72682,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -72500,7 +72757,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -72576,7 +72833,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -72672,7 +72929,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): diff --git a/vendor/hive_metastore/ttypes.py b/vendor/hive_metastore/ttypes.py index fd279207cb..dca7aaadc7 100644 --- a/vendor/hive_metastore/ttypes.py +++ b/vendor/hive_metastore/ttypes.py @@ -643,7 +643,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -735,7 +735,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -815,7 +815,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -983,7 +983,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1231,7 +1231,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1399,7 +1399,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1555,7 +1555,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1725,7 +1725,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -1895,7 +1895,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -2071,7 +2071,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -2184,7 +2184,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -2326,7 +2326,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -2440,7 +2440,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -2556,7 +2556,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -2627,7 +2627,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -2782,7 +2782,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -2869,7 +2869,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -2931,7 +2931,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -3076,7 +3076,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -3117,7 +3117,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -3207,7 +3207,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -3347,7 +3347,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -3427,7 +3427,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -3500,7 +3500,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -3566,7 +3566,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -3639,7 +3639,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -3779,7 +3779,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -3841,7 +3841,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -3945,7 +3945,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -4008,7 +4008,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -4085,7 +4085,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -4149,7 +4149,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -4212,7 +4212,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -4286,7 +4286,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -4350,7 +4350,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -4591,7 +4591,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -4753,7 +4753,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -4829,7 +4829,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -4973,7 +4973,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -5223,7 +5223,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -5394,7 +5394,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -5498,7 +5498,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -5612,7 +5612,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -5726,7 +5726,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -5844,7 +5844,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -5948,7 +5948,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -6026,7 +6026,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -6142,7 +6142,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -6206,7 +6206,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -6322,7 +6322,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -6386,7 +6386,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -6502,7 +6502,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -6656,7 +6656,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -6753,7 +6753,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -6889,7 +6889,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -7003,7 +7003,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -7097,7 +7097,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -7183,7 +7183,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -7640,7 +7640,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -7747,7 +7747,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -7993,7 +7993,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -8148,7 +8148,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -8232,7 +8232,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -8303,7 +8303,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -8459,7 +8459,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -8558,7 +8558,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -8685,7 +8685,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -8749,7 +8749,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -8850,7 +8850,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -8972,7 +8972,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -9045,7 +9045,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -9191,7 +9191,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -9264,7 +9264,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -9388,7 +9388,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -9461,7 +9461,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -9585,7 +9585,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -9658,7 +9658,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -9782,7 +9782,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -9855,7 +9855,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -9979,7 +9979,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -10052,7 +10052,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -10176,7 +10176,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -10241,7 +10241,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -10353,7 +10353,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -10426,7 +10426,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -10499,7 +10499,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -10572,7 +10572,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -10645,7 +10645,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -10718,7 +10718,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -10791,7 +10791,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -10878,7 +10878,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -10965,7 +10965,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -11143,7 +11143,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -11228,7 +11228,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -11327,7 +11327,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -11491,7 +11491,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -11669,7 +11669,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -11752,7 +11752,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -11911,7 +11911,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -11982,7 +11982,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -12058,7 +12058,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -12153,7 +12153,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -12325,7 +12325,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -12529,7 +12529,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -12605,7 +12605,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -12678,7 +12678,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -12886,7 +12886,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -12972,7 +12972,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -13146,7 +13146,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -13222,7 +13222,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -13399,7 +13399,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -13573,7 +13573,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -13660,7 +13660,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -13772,7 +13772,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -13928,7 +13928,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -14000,7 +14000,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -14090,7 +14090,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -14162,7 +14162,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -14258,7 +14258,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -14412,7 +14412,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -14544,7 +14544,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -14650,7 +14650,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -14799,7 +14799,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -14953,7 +14953,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -15055,7 +15055,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -15183,7 +15183,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -15256,7 +15256,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -15334,7 +15334,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -15471,7 +15471,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -15544,7 +15544,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -15626,7 +15626,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -15690,7 +15690,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -15786,7 +15786,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -15850,7 +15850,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -16008,7 +16008,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -16163,7 +16163,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -16255,7 +16255,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -16343,7 +16343,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -16407,7 +16407,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -16523,7 +16523,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -16791,7 +16791,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -16862,7 +16862,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -16936,7 +16936,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -17014,7 +17014,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -17108,7 +17108,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -17290,7 +17290,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -17556,7 +17556,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -17619,7 +17619,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -17771,7 +17771,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -17834,7 +17834,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -17944,7 +17944,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -18052,7 +18052,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -18093,7 +18093,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -18403,7 +18403,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -18476,7 +18476,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -18594,7 +18594,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -18667,7 +18667,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -18745,7 +18745,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -18893,7 +18893,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -19023,7 +19023,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -19123,7 +19123,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -19289,7 +19289,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -19362,7 +19362,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -19426,7 +19426,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -19544,7 +19544,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -19608,7 +19608,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -19768,7 +19768,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -19852,7 +19852,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -19997,7 +19997,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20067,7 +20067,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20216,7 +20216,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20257,7 +20257,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20378,7 +20378,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20419,7 +20419,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20493,7 +20493,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20582,7 +20582,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20692,7 +20692,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20780,7 +20780,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20852,7 +20852,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20893,7 +20893,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -20999,7 +20999,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21040,7 +21040,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21112,7 +21112,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21176,7 +21176,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21284,7 +21284,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21355,7 +21355,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21427,7 +21427,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21533,7 +21533,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21732,7 +21732,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21809,7 +21809,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -21991,7 +21991,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22064,7 +22064,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22226,7 +22226,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22352,7 +22352,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22468,7 +22468,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22626,7 +22626,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22706,7 +22706,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22747,7 +22747,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22873,7 +22873,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -22951,7 +22951,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -23069,7 +23069,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -23209,7 +23209,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -23343,7 +23343,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -23489,7 +23489,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -23625,7 +23625,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -23763,7 +23763,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -23859,7 +23859,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24010,7 +24010,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24087,7 +24087,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24128,7 +24128,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24192,7 +24192,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24255,7 +24255,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24333,7 +24333,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24396,7 +24396,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24460,7 +24460,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24531,7 +24531,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24658,7 +24658,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24721,7 +24721,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24799,7 +24799,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24897,7 +24897,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -24975,7 +24975,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25016,7 +25016,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25079,7 +25079,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25120,7 +25120,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25183,7 +25183,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25224,7 +25224,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25316,7 +25316,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25357,7 +25357,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25435,7 +25435,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25506,7 +25506,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25569,7 +25569,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25610,7 +25610,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25687,7 +25687,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25728,7 +25728,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25820,7 +25820,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25861,7 +25861,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25936,7 +25936,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -25977,7 +25977,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -26040,7 +26040,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -26081,7 +26081,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -26199,7 +26199,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -26240,7 +26240,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -26408,7 +26408,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -26500,7 +26500,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -26576,7 +26576,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -26765,7 +26765,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -26840,7 +26840,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -26932,7 +26932,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27003,7 +27003,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27080,7 +27080,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27155,7 +27155,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27219,7 +27219,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27309,7 +27309,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27387,7 +27387,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27629,7 +27629,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27860,7 +27860,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27923,7 +27923,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -27989,7 +27989,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -28055,7 +28055,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -28137,7 +28137,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -28240,7 +28240,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -28371,7 +28371,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -28450,7 +28450,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -28558,7 +28558,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -28716,7 +28716,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -28757,7 +28757,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -28932,7 +28932,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -28973,7 +28973,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29161,7 +29161,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29202,7 +29202,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29288,7 +29288,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29359,7 +29359,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29579,7 +29579,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29714,7 +29714,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29787,7 +29787,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29922,7 +29922,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -29995,7 +29995,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -30143,7 +30143,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -30208,7 +30208,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -30342,7 +30342,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -30415,7 +30415,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -30573,7 +30573,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -30649,7 +30649,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -30845,7 +30845,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -30918,7 +30918,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31054,7 +31054,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31127,7 +31127,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31215,7 +31215,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31285,7 +31285,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31383,7 +31383,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31463,7 +31463,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31583,7 +31583,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31717,7 +31717,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31815,7 +31815,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31913,7 +31913,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -31993,7 +31993,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32127,7 +32127,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32219,7 +32219,7 @@ def validate(self): return def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32299,7 +32299,7 @@ def __str__(self): return repr(self) def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32379,7 +32379,7 @@ def __str__(self): return repr(self) def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32459,7 +32459,7 @@ def __str__(self): return repr(self) def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32539,7 +32539,7 @@ def __str__(self): return repr(self) def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32619,7 +32619,7 @@ def __str__(self): return repr(self) def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32699,7 +32699,7 @@ def __str__(self): return repr(self) def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32779,7 +32779,7 @@ def __str__(self): return repr(self) def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32859,7 +32859,7 @@ def __str__(self): return repr(self) def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -32939,7 +32939,7 @@ def __str__(self): return repr(self) def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -33019,7 +33019,7 @@ def __str__(self): return repr(self) def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -33099,7 +33099,7 @@ def __str__(self): return repr(self) def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -33179,7 +33179,7 @@ def __str__(self): return repr(self) def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -33259,7 +33259,7 @@ def __str__(self): return repr(self) def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -33339,7 +33339,7 @@ def __str__(self): return repr(self) def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): @@ -33419,7 +33419,7 @@ def __str__(self): return repr(self) def __repr__(self): - L = [f"{key}={value!r}" for key, value in self.__dict__.items()] + L = ["{}={!r}".format(key, value) for key, value in self.__dict__.items()] return "{}({})".format(self.__class__.__name__, ", ".join(L)) def __eq__(self, other): From a0a29c88c17d40b48fe6d8b5b5c50fdea93266b0 Mon Sep 17 00:00:00 2001 From: Sumedh Sakdeo Date: Sat, 14 Feb 2026 13:12:44 -0800 Subject: [PATCH 04/15] feat: add streaming flag to ArrowScan.to_record_batches When streaming=True, batches are yielded as they are produced by PyArrow without materializing entire files into memory. Files are still processed sequentially, preserving file ordering. The inner method handles the global limit correctly when called with all tasks, avoiding double-counting. This addresses the OOM issue in #3036 for single-file-at-a-time streaming. Co-Authored-By: Claude Opus 4.6 --- mkdocs/docs/api.md | 16 ++++ pyiceberg/io/pyarrow.py | 15 +++- pyiceberg/table/__init__.py | 6 +- tests/io/test_pyarrow.py | 168 ++++++++++++++++++++++++++++++++++++ 4 files changed, 202 insertions(+), 3 deletions(-) diff --git a/mkdocs/docs/api.md b/mkdocs/docs/api.md index dadaac93b4..2b08d53643 100644 --- a/mkdocs/docs/api.md +++ b/mkdocs/docs/api.md @@ -362,6 +362,13 @@ for buf in tbl.scan().to_arrow_batch_reader(batch_size=1000): print(f"Buffer contains {len(buf)} rows") ``` +By default, each file's batches are materialized in memory before being yielded. For large files that may exceed available memory, use `streaming=True` to yield batches as they are produced without materializing entire files: + +```python +for buf in tbl.scan().to_arrow_batch_reader(streaming=True, batch_size=1000): + print(f"Buffer contains {len(buf)} rows") +``` + To avoid any type inconsistencies during writing, you can convert the Iceberg table schema to Arrow: ```python @@ -1635,6 +1642,15 @@ table.scan( ).to_arrow_batch_reader(batch_size=1000) ``` +Use `streaming=True` to avoid materializing entire files in memory. This yields batches as they are produced by PyArrow, one file at a time: + +```python +table.scan( + row_filter=GreaterThanOrEqual("trip_distance", 10.0), + selected_fields=("VendorID", "tpep_pickup_datetime", "tpep_dropoff_datetime"), +).to_arrow_batch_reader(streaming=True) +``` + ### Pandas diff --git a/pyiceberg/io/pyarrow.py b/pyiceberg/io/pyarrow.py index e7c0da5262..13650a941e 100644 --- a/pyiceberg/io/pyarrow.py +++ b/pyiceberg/io/pyarrow.py @@ -1761,7 +1761,9 @@ def to_table(self, tasks: Iterable[FileScanTask]) -> pa.Table: return result - def to_record_batches(self, tasks: Iterable[FileScanTask], batch_size: int | None = None) -> Iterator[pa.RecordBatch]: + def to_record_batches( + self, tasks: Iterable[FileScanTask], batch_size: int | None = None, streaming: bool = False + ) -> Iterator[pa.RecordBatch]: """Scan the Iceberg table and return an Iterator[pa.RecordBatch]. Returns an Iterator of pa.RecordBatch with data from the Iceberg table @@ -1770,6 +1772,9 @@ def to_record_batches(self, tasks: Iterable[FileScanTask], batch_size: int | Non Args: tasks: FileScanTasks representing the data files and delete files to read from. + batch_size: The number of rows per batch. If None, PyArrow's default is used. + streaming: If True, yield batches as they are produced without materializing + entire files into memory. Files are still processed sequentially. Returns: An Iterator of PyArrow RecordBatches. @@ -1781,6 +1786,14 @@ def to_record_batches(self, tasks: Iterable[FileScanTask], batch_size: int | Non """ deletes_per_file = _read_all_delete_files(self._io, tasks) + if streaming: + # Streaming path: process all tasks sequentially, yielding batches as produced. + # _record_batches_from_scan_tasks_and_deletes handles the limit internally + # when called with all tasks, so no outer limit check is needed. + yield from self._record_batches_from_scan_tasks_and_deletes(tasks, deletes_per_file, batch_size) + return + + # Non-streaming path: existing behavior with executor.map + list() total_row_count = 0 executor = ExecutorFactory.get_or_create() diff --git a/pyiceberg/table/__init__.py b/pyiceberg/table/__init__.py index 164eba5d32..56c6d5c78a 100644 --- a/pyiceberg/table/__init__.py +++ b/pyiceberg/table/__init__.py @@ -2155,7 +2155,7 @@ def to_arrow(self) -> pa.Table: self.table_metadata, self.io, self.projection(), self.row_filter, self.case_sensitive, self.limit ).to_table(self.plan_files()) - def to_arrow_batch_reader(self, batch_size: int | None = None) -> pa.RecordBatchReader: + def to_arrow_batch_reader(self, batch_size: int | None = None, streaming: bool = False) -> pa.RecordBatchReader: """Return an Arrow RecordBatchReader from this DataScan. For large results, using a RecordBatchReader requires less memory than @@ -2164,6 +2164,8 @@ def to_arrow_batch_reader(self, batch_size: int | None = None) -> pa.RecordBatch Args: batch_size: The number of rows per batch. If None, PyArrow's default is used. + streaming: If True, yield batches as they are produced without materializing + entire files into memory. Files are still processed sequentially. Returns: pa.RecordBatchReader: Arrow RecordBatchReader from the Iceberg table's DataScan @@ -2176,7 +2178,7 @@ def to_arrow_batch_reader(self, batch_size: int | None = None) -> pa.RecordBatch target_schema = schema_to_pyarrow(self.projection()) batches = ArrowScan( self.table_metadata, self.io, self.projection(), self.row_filter, self.case_sensitive, self.limit - ).to_record_batches(self.plan_files(), batch_size=batch_size) + ).to_record_batches(self.plan_files(), batch_size=batch_size, streaming=streaming) return pa.RecordBatchReader.from_batches( target_schema, diff --git a/tests/io/test_pyarrow.py b/tests/io/test_pyarrow.py index fb03f785c6..007b53d750 100644 --- a/tests/io/test_pyarrow.py +++ b/tests/io/test_pyarrow.py @@ -3106,6 +3106,174 @@ def test_task_to_record_batches_default_batch_size(tmpdir: str) -> None: assert len(batches[0]) == num_rows +def _create_scan_and_tasks( + tmpdir: str, + num_files: int = 1, + rows_per_file: int = 100, + limit: int | None = None, + delete_rows_per_file: list[list[int]] | None = None, +) -> tuple[ArrowScan, list[FileScanTask]]: + """Helper to create an ArrowScan and FileScanTasks for testing. + + Args: + delete_rows_per_file: If provided, a list of lists of row positions to delete + per file. Length must match num_files. Each inner list contains 0-based + row positions within that file to mark as positionally deleted. + """ + table_schema = Schema(NestedField(1, "col", LongType(), required=True)) + pa_schema = pa.schema([pa.field("col", pa.int64(), nullable=False, metadata={PYARROW_PARQUET_FIELD_ID_KEY: "1"})]) + tasks = [] + for i in range(num_files): + start = i * rows_per_file + arrow_table = pa.table({"col": pa.array(range(start, start + rows_per_file))}, schema=pa_schema) + data_file = _write_table_to_data_file(f"{tmpdir}/file_{i}.parquet", pa_schema, arrow_table) + data_file.spec_id = 0 + + delete_files = set() + if delete_rows_per_file and delete_rows_per_file[i]: + delete_table = pa.table({ + "file_path": [data_file.file_path] * len(delete_rows_per_file[i]), + "pos": delete_rows_per_file[i], + }) + delete_path = f"{tmpdir}/deletes_{i}.parquet" + pq.write_table(delete_table, delete_path) + delete_files.add( + DataFile.from_args( + content=DataFileContent.POSITION_DELETES, + file_path=delete_path, + file_format=FileFormat.PARQUET, + partition={}, + record_count=len(delete_rows_per_file[i]), + file_size_in_bytes=22, + ) + ) + + tasks.append(FileScanTask(data_file=data_file, delete_files=delete_files)) + + scan = ArrowScan( + table_metadata=TableMetadataV2( + location="file://a/b/", + last_column_id=1, + format_version=2, + schemas=[table_schema], + partition_specs=[PartitionSpec()], + ), + io=PyArrowFileIO(), + projected_schema=table_schema, + row_filter=AlwaysTrue(), + case_sensitive=True, + limit=limit, + ) + return scan, tasks + + +def test_streaming_false_produces_same_results(tmpdir: str) -> None: + """Test that streaming=False produces the same results as the default behavior.""" + scan, tasks = _create_scan_and_tasks(tmpdir, num_files=3, rows_per_file=100) + + batches_default = list(scan.to_record_batches(tasks, streaming=False)) + # Re-create tasks since iterators are consumed + _, tasks2 = _create_scan_and_tasks(tmpdir, num_files=3, rows_per_file=100) + batches_streaming = list(scan.to_record_batches(tasks2, streaming=False)) + + total_default = sum(len(b) for b in batches_default) + total_streaming = sum(len(b) for b in batches_streaming) + assert total_default == 300 + assert total_streaming == 300 + + +def test_streaming_true_yields_all_batches(tmpdir: str) -> None: + """Test that streaming=True yields all batches correctly.""" + scan, tasks = _create_scan_and_tasks(tmpdir, num_files=3, rows_per_file=100) + + batches = list(scan.to_record_batches(tasks, streaming=True)) + + total_rows = sum(len(b) for b in batches) + assert total_rows == 300 + # Verify all values are present + all_values = sorted([v for b in batches for v in b.column("col").to_pylist()]) + assert all_values == list(range(300)) + + +def test_streaming_true_with_limit(tmpdir: str) -> None: + """Test that streaming=True respects the row limit.""" + scan, tasks = _create_scan_and_tasks(tmpdir, num_files=3, rows_per_file=100, limit=150) + + batches = list(scan.to_record_batches(tasks, streaming=True)) + + total_rows = sum(len(b) for b in batches) + assert total_rows == 150 + + +def test_streaming_file_ordering_preserved(tmpdir: str) -> None: + """Test that file ordering is preserved in both streaming modes.""" + scan, tasks = _create_scan_and_tasks(tmpdir, num_files=3, rows_per_file=100) + + batches = list(scan.to_record_batches(tasks, streaming=True)) + all_values = [v for b in batches for v in b.column("col").to_pylist()] + + # Values should be in file order: 0-99 from file 0, 100-199 from file 1, 200-299 from file 2 + assert all_values == list(range(300)) + + +def test_streaming_with_positional_deletes(tmpdir: str) -> None: + """Test that streaming=True correctly applies positional deletes.""" + # 3 files, 10 rows each; delete rows 0,5 from file 0, row 3 from file 1, nothing from file 2 + scan, tasks = _create_scan_and_tasks( + tmpdir, + num_files=3, + rows_per_file=10, + delete_rows_per_file=[[0, 5], [3], []], + ) + + batches = list(scan.to_record_batches(tasks, streaming=True)) + + total_rows = sum(len(b) for b in batches) + assert total_rows == 27 # 30 - 3 deletes + all_values = sorted([v for b in batches for v in b.column("col").to_pylist()]) + # File 0: 0-9, delete rows 0,5 → values 1,2,3,4,6,7,8,9 + # File 1: 10-19, delete row 3 → values 10,11,12,14,15,16,17,18,19 + # File 2: 20-29, no deletes → values 20-29 + expected = [1, 2, 3, 4, 6, 7, 8, 9] + [10, 11, 12, 14, 15, 16, 17, 18, 19] + list(range(20, 30)) + assert all_values == sorted(expected) + + +def test_streaming_with_positional_deletes_and_limit(tmpdir: str) -> None: + """Test that streaming=True with positional deletes respects the row limit.""" + # 3 files, 10 rows each; delete row 0 from each file + scan, tasks = _create_scan_and_tasks( + tmpdir, + num_files=3, + rows_per_file=10, + limit=15, + delete_rows_per_file=[[0], [0], [0]], + ) + + batches = list(scan.to_record_batches(tasks, streaming=True)) + + total_rows = sum(len(b) for b in batches) + assert total_rows == 15 + + +def test_default_mode_with_positional_deletes(tmpdir: str) -> None: + """Test that the default (non-streaming) mode correctly applies positional deletes.""" + # 3 files, 10 rows each; delete rows from each file + scan, tasks = _create_scan_and_tasks( + tmpdir, + num_files=3, + rows_per_file=10, + delete_rows_per_file=[[0, 5], [3], []], + ) + + batches = list(scan.to_record_batches(tasks, streaming=False)) + + total_rows = sum(len(b) for b in batches) + assert total_rows == 27 # 30 - 3 deletes + all_values = sorted([v for b in batches for v in b.column("col").to_pylist()]) + expected = [1, 2, 3, 4, 6, 7, 8, 9] + [10, 11, 12, 14, 15, 16, 17, 18, 19] + list(range(20, 30)) + assert all_values == sorted(expected) + + def test_parse_location_defaults() -> None: """Test that parse_location uses defaults.""" From dcf9b13d798007390840b8c457be8db6eaf9a90e Mon Sep 17 00:00:00 2001 From: Sumedh Sakdeo Date: Sat, 14 Feb 2026 13:23:56 -0800 Subject: [PATCH 05/15] feat: add concurrent_files flag for bounded concurrent streaming Add _bounded_concurrent_batches() with proper lock discipline: - Queue backpressure caps memory (scan.max-buffered-batches, default 16) - Semaphore limits concurrent file reads (concurrent_files param) - Cancel event with timeouts on all blocking ops (no lock over IO) - Error propagation and early termination support When streaming=True and concurrent_files > 1, batches are yielded as they arrive from parallel file reads. File ordering is not guaranteed (documented). Co-Authored-By: Claude Opus 4.6 --- mkdocs/docs/api.md | 27 ++ pyiceberg/io/pyarrow.py | 125 +++++++++- pyiceberg/table/__init__.py | 16 +- tests/io/test_bounded_concurrent_batches.py | 258 ++++++++++++++++++++ tests/io/test_pyarrow.py | 56 ++++- 5 files changed, 468 insertions(+), 14 deletions(-) create mode 100644 tests/io/test_bounded_concurrent_batches.py diff --git a/mkdocs/docs/api.md b/mkdocs/docs/api.md index 2b08d53643..3666e0204f 100644 --- a/mkdocs/docs/api.md +++ b/mkdocs/docs/api.md @@ -369,6 +369,22 @@ for buf in tbl.scan().to_arrow_batch_reader(streaming=True, batch_size=1000): print(f"Buffer contains {len(buf)} rows") ``` +For maximum throughput, use `concurrent_files` to read multiple files in parallel while streaming. Batches are yielded as they arrive from any file — ordering across files is not guaranteed: + +```python +for buf in tbl.scan().to_arrow_batch_reader(streaming=True, concurrent_files=4, batch_size=1000): + print(f"Buffer contains {len(buf)} rows") +``` + +**Ordering semantics:** + +| Configuration | File ordering | Within-file ordering | +|---|---|---| +| Default (`streaming=False`) | Batches grouped by file, in task submission order | Row order | +| `streaming=True` | Interleaved across files (no grouping guarantee) | Row order within each file | + +Within each file, batch ordering always follows row order. The `limit` parameter is enforced correctly regardless of configuration. + To avoid any type inconsistencies during writing, you can convert the Iceberg table schema to Arrow: ```python @@ -1651,6 +1667,17 @@ table.scan( ).to_arrow_batch_reader(streaming=True) ``` +For concurrent file reads with streaming, use `concurrent_files`. Note that batch ordering across files is not guaranteed: + +```python +table.scan( + row_filter=GreaterThanOrEqual("trip_distance", 10.0), + selected_fields=("VendorID", "tpep_pickup_datetime", "tpep_dropoff_datetime"), +).to_arrow_batch_reader(streaming=True, concurrent_files=4) +``` + +When using `concurrent_files > 1`, batches from different files may be interleaved. Within each file, batches are always in row order. See the ordering semantics table in the [Apache Arrow section](#apache-arrow) above for details. + ### Pandas diff --git a/pyiceberg/io/pyarrow.py b/pyiceberg/io/pyarrow.py index 13650a941e..dcbae511d8 100644 --- a/pyiceberg/io/pyarrow.py +++ b/pyiceberg/io/pyarrow.py @@ -33,11 +33,13 @@ import logging import operator import os +import queue import re +import threading import uuid import warnings from abc import ABC, abstractmethod -from collections.abc import Callable, Iterable, Iterator +from collections.abc import Callable, Generator, Iterable, Iterator from copy import copy from dataclasses import dataclass from enum import Enum @@ -1682,6 +1684,87 @@ def _read_all_delete_files(io: FileIO, tasks: Iterable[FileScanTask]) -> dict[st return deletes_per_file +_QUEUE_SENTINEL = object() + + +def _bounded_concurrent_batches( + tasks: list[FileScanTask], + batch_fn: Callable[[FileScanTask], Iterator[pa.RecordBatch]], + concurrent_files: int, + max_buffered_batches: int = 16, +) -> Generator[pa.RecordBatch, None, None]: + """Read batches from multiple files concurrently with bounded memory. + + Workers read from files in parallel (up to concurrent_files at a time) and push + batches into a shared queue. The consumer yields batches from the queue. + A sentinel value signals completion, avoiding timeout-based polling. + + Args: + tasks: The file scan tasks to process. + batch_fn: A callable that takes a FileScanTask and returns an iterator of RecordBatches. + concurrent_files: Maximum number of files to read concurrently. + max_buffered_batches: Maximum number of batches to buffer in the queue. + """ + if not tasks: + return + + batch_queue: queue.Queue[pa.RecordBatch | BaseException | object] = queue.Queue(maxsize=max_buffered_batches) + cancel_event = threading.Event() + pending_count = len(tasks) + pending_lock = threading.Lock() + file_semaphore = threading.Semaphore(concurrent_files) + + def worker(task: FileScanTask) -> None: + nonlocal pending_count + try: + # Blocking acquire — on cancellation, extra permits are released to unblock. + file_semaphore.acquire() + if cancel_event.is_set(): + return + + for batch in batch_fn(task): + if cancel_event.is_set(): + return + batch_queue.put(batch) + except BaseException as e: + if not cancel_event.is_set(): + batch_queue.put(e) + finally: + file_semaphore.release() + with pending_lock: + pending_count -= 1 + if pending_count == 0: + batch_queue.put(_QUEUE_SENTINEL) + + executor = ExecutorFactory.get_or_create() + futures = [executor.submit(worker, task) for task in tasks] + + try: + while True: + item = batch_queue.get() + + if item is _QUEUE_SENTINEL: + break + + if isinstance(item, BaseException): + raise item + + yield item + finally: + cancel_event.set() + # Release semaphore permits to unblock any workers waiting on acquire() + for _ in range(len(tasks)): + file_semaphore.release() + # Drain the queue to unblock any workers stuck on put() + while not batch_queue.empty(): + try: + batch_queue.get_nowait() + except queue.Empty: + break + for future in futures: + future.cancel() + + class ArrowScan: _table_metadata: TableMetadata _io: FileIO @@ -1762,7 +1845,11 @@ def to_table(self, tasks: Iterable[FileScanTask]) -> pa.Table: return result def to_record_batches( - self, tasks: Iterable[FileScanTask], batch_size: int | None = None, streaming: bool = False + self, + tasks: Iterable[FileScanTask], + batch_size: int | None = None, + streaming: bool = False, + concurrent_files: int = 1, ) -> Iterator[pa.RecordBatch]: """Scan the Iceberg table and return an Iterator[pa.RecordBatch]. @@ -1770,11 +1857,20 @@ def to_record_batches( by resolving the right columns that match the current table schema. Only data that matches the provided row_filter expression is returned. + Ordering semantics: + - Default (streaming=False): Batches are grouped by file in task submission order. + - streaming=True: Batches may be interleaved across files. Within each file, + batch ordering follows row order. + Args: tasks: FileScanTasks representing the data files and delete files to read from. batch_size: The number of rows per batch. If None, PyArrow's default is used. streaming: If True, yield batches as they are produced without materializing - entire files into memory. Files are still processed sequentially. + entire files into memory. Files are still processed sequentially when + concurrent_files=1. + concurrent_files: Number of files to read concurrently when streaming=True. + Must be >= 1. When > 1, batches may arrive interleaved across files. + Ignored when streaming=False. Returns: An Iterator of PyArrow RecordBatches. @@ -1783,14 +1879,29 @@ def to_record_batches( Raises: ResolveError: When a required field cannot be found in the file ValueError: When a field type in the file cannot be projected to the schema type + or when concurrent_files < 1 """ + if concurrent_files < 1: + raise ValueError(f"concurrent_files must be >= 1, got {concurrent_files}") + deletes_per_file = _read_all_delete_files(self._io, tasks) if streaming: - # Streaming path: process all tasks sequentially, yielding batches as produced. - # _record_batches_from_scan_tasks_and_deletes handles the limit internally - # when called with all tasks, so no outer limit check is needed. - yield from self._record_batches_from_scan_tasks_and_deletes(tasks, deletes_per_file, batch_size) + # Streaming path: read files with bounded concurrency, yielding batches as produced. + # When concurrent_files=1, this is sequential. When >1, batches may interleave across files. + task_list = list(tasks) + + def batch_fn(task: FileScanTask) -> Iterator[pa.RecordBatch]: + return self._record_batches_from_scan_tasks_and_deletes([task], deletes_per_file, batch_size) + + total_row_count = 0 + for batch in _bounded_concurrent_batches(task_list, batch_fn, concurrent_files): + current_batch_size = len(batch) + if self._limit is not None and total_row_count + current_batch_size >= self._limit: + yield batch.slice(0, self._limit - total_row_count) + return + yield batch + total_row_count += current_batch_size return # Non-streaming path: existing behavior with executor.map + list() diff --git a/pyiceberg/table/__init__.py b/pyiceberg/table/__init__.py index 56c6d5c78a..e33af52011 100644 --- a/pyiceberg/table/__init__.py +++ b/pyiceberg/table/__init__.py @@ -2155,17 +2155,27 @@ def to_arrow(self) -> pa.Table: self.table_metadata, self.io, self.projection(), self.row_filter, self.case_sensitive, self.limit ).to_table(self.plan_files()) - def to_arrow_batch_reader(self, batch_size: int | None = None, streaming: bool = False) -> pa.RecordBatchReader: + def to_arrow_batch_reader( + self, batch_size: int | None = None, streaming: bool = False, concurrent_files: int = 1 + ) -> pa.RecordBatchReader: """Return an Arrow RecordBatchReader from this DataScan. For large results, using a RecordBatchReader requires less memory than loading an Arrow Table for the same DataScan, because a RecordBatch is read one at a time. + Ordering semantics: + - Default (streaming=False): Batches are grouped by file in task submission order. + - streaming=True: Batches may be interleaved across files. Within each file, + batch ordering follows row order. + Args: batch_size: The number of rows per batch. If None, PyArrow's default is used. streaming: If True, yield batches as they are produced without materializing - entire files into memory. Files are still processed sequentially. + entire files into memory. Files are still processed sequentially when + concurrent_files=1. + concurrent_files: Number of files to read concurrently when streaming=True. + When > 1, batches may arrive interleaved across files. Returns: pa.RecordBatchReader: Arrow RecordBatchReader from the Iceberg table's DataScan @@ -2178,7 +2188,7 @@ def to_arrow_batch_reader(self, batch_size: int | None = None, streaming: bool = target_schema = schema_to_pyarrow(self.projection()) batches = ArrowScan( self.table_metadata, self.io, self.projection(), self.row_filter, self.case_sensitive, self.limit - ).to_record_batches(self.plan_files(), batch_size=batch_size, streaming=streaming) + ).to_record_batches(self.plan_files(), batch_size=batch_size, streaming=streaming, concurrent_files=concurrent_files) return pa.RecordBatchReader.from_batches( target_schema, diff --git a/tests/io/test_bounded_concurrent_batches.py b/tests/io/test_bounded_concurrent_batches.py new file mode 100644 index 0000000000..736808e4df --- /dev/null +++ b/tests/io/test_bounded_concurrent_batches.py @@ -0,0 +1,258 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +"""Tests for _bounded_concurrent_batches in pyiceberg.io.pyarrow.""" + +import threading +import time +from collections.abc import Iterator +from unittest.mock import MagicMock + +import pyarrow as pa +import pytest + +from pyiceberg.io.pyarrow import _bounded_concurrent_batches +from pyiceberg.table import FileScanTask + + +def _make_task() -> FileScanTask: + """Create a mock FileScanTask.""" + task = MagicMock(spec=FileScanTask) + return task + + +def _make_batches(num_batches: int, rows_per_batch: int = 10, start: int = 0) -> list[pa.RecordBatch]: + """Create a list of simple RecordBatches.""" + return [ + pa.record_batch({"col": list(range(start + i * rows_per_batch, start + (i + 1) * rows_per_batch))}) + for i in range(num_batches) + ] + + +def test_correctness_single_file() -> None: + """Test that a single file produces correct results.""" + task = _make_task() + expected_batches = _make_batches(3) + + def batch_fn(t: FileScanTask) -> Iterator[pa.RecordBatch]: + yield from expected_batches + + result = list(_bounded_concurrent_batches([task], batch_fn, concurrent_files=1, max_buffered_batches=16)) + + assert len(result) == 3 + total_rows = sum(len(b) for b in result) + assert total_rows == 30 + + +def test_correctness_multiple_files() -> None: + """Test that multiple files produce all expected batches.""" + tasks = [_make_task() for _ in range(4)] + batches_per_file = 3 + + def batch_fn(t: FileScanTask) -> Iterator[pa.RecordBatch]: + idx = tasks.index(t) + yield from _make_batches(batches_per_file, start=idx * 100) + + result = list(_bounded_concurrent_batches(tasks, batch_fn, concurrent_files=2, max_buffered_batches=16)) + + total_rows = sum(len(b) for b in result) + assert total_rows == batches_per_file * len(tasks) * 10 # 3 batches * 4 files * 10 rows + + +def test_streaming_yields_incrementally() -> None: + """Test that batches are yielded incrementally, not all at once.""" + barrier = threading.Event() + tasks = [_make_task(), _make_task()] + + def batch_fn(t: FileScanTask) -> Iterator[pa.RecordBatch]: + yield pa.record_batch({"col": [1, 2, 3]}) + barrier.wait(timeout=5.0) + yield pa.record_batch({"col": [4, 5, 6]}) + + gen = _bounded_concurrent_batches(tasks, batch_fn, concurrent_files=2, max_buffered_batches=16) + + # Should get at least one batch before all are done + first = next(gen) + assert first.num_rows == 3 + + # Unblock remaining batches + barrier.set() + + remaining = list(gen) + total = 1 + len(remaining) + assert total >= 3 # At least 3 more batches (one blocked from each task + the unblocked ones) + + +def test_backpressure() -> None: + """Test that workers block when the queue is full.""" + max_buffered = 2 + tasks = [_make_task()] + produced_count = 0 + produce_lock = threading.Lock() + + def batch_fn(t: FileScanTask) -> Iterator[pa.RecordBatch]: + nonlocal produced_count + for i in range(10): + with produce_lock: + produced_count += 1 + yield pa.record_batch({"col": [i]}) + + gen = _bounded_concurrent_batches(tasks, batch_fn, concurrent_files=1, max_buffered_batches=max_buffered) + + # Consume slowly and check that not all batches are produced immediately + first = next(gen) + assert first is not None + time.sleep(0.3) + + # The producer should be blocked by backpressure at some point + # (not all 10 batches produced instantly) + remaining = list(gen) + assert len(remaining) + 1 == 10 + + +def test_error_propagation() -> None: + """Test that errors from workers are propagated to the consumer.""" + tasks = [_make_task()] + + def batch_fn(t: FileScanTask) -> Iterator[pa.RecordBatch]: + yield pa.record_batch({"col": [1]}) + raise ValueError("test error") + + gen = _bounded_concurrent_batches(tasks, batch_fn, concurrent_files=1, max_buffered_batches=16) + + # Should get the first batch + first = next(gen) + assert first.num_rows == 1 + + # Should get the error + with pytest.raises(ValueError, match="test error"): + list(gen) + + +def test_early_termination() -> None: + """Test that stopping consumption cancels workers.""" + tasks = [_make_task() for _ in range(5)] + worker_started = threading.Event() + + def batch_fn(t: FileScanTask) -> Iterator[pa.RecordBatch]: + worker_started.set() + for i in range(100): + yield pa.record_batch({"col": [i]}) + time.sleep(0.01) + + gen = _bounded_concurrent_batches(tasks, batch_fn, concurrent_files=3, max_buffered_batches=4) + + # Consume a few batches then stop + worker_started.wait(timeout=5.0) + batches = [] + for _ in range(5): + batches.append(next(gen)) + + # Close the generator, triggering finally block + gen.close() + + assert len(batches) == 5 + + +def test_concurrency_limit() -> None: + """Test that at most concurrent_files files are read concurrently.""" + concurrent_files = 2 + tasks = [_make_task() for _ in range(6)] + active_count = 0 + max_active = 0 + active_lock = threading.Lock() + + def batch_fn(t: FileScanTask) -> Iterator[pa.RecordBatch]: + nonlocal active_count, max_active + with active_lock: + active_count += 1 + max_active = max(max_active, active_count) + try: + time.sleep(0.05) + yield pa.record_batch({"col": [1]}) + finally: + with active_lock: + active_count -= 1 + + result = list(_bounded_concurrent_batches(tasks, batch_fn, concurrent_files=concurrent_files, max_buffered_batches=16)) + + assert len(result) == 6 + assert max_active <= concurrent_files + + +def test_empty_tasks() -> None: + """Test that no tasks produces no batches.""" + + def batch_fn(t: FileScanTask) -> Iterator[pa.RecordBatch]: + yield from [] + + result = list(_bounded_concurrent_batches([], batch_fn, concurrent_files=2, max_buffered_batches=16)) + assert result == [] + + +def test_concurrent_with_limit_via_arrowscan(tmpdir: str) -> None: + """Test concurrent_files with limit through ArrowScan integration.""" + from pyiceberg.expressions import AlwaysTrue + from pyiceberg.io.pyarrow import ArrowScan, PyArrowFileIO, schema_to_pyarrow, write_file + from pyiceberg.manifest import DataFileContent, FileFormat + from pyiceberg.partitioning import PartitionSpec + from pyiceberg.schema import Schema + from pyiceberg.table.metadata import TableMetadataV2 + from pyiceberg.types import LongType, NestedField + + PYARROW_PARQUET_FIELD_ID_KEY = b"PARQUET:field_id" + + table_schema = Schema(NestedField(1, "col", LongType(), required=True)) + pa_schema = pa.schema([pa.field("col", pa.int64(), nullable=False, metadata={PYARROW_PARQUET_FIELD_ID_KEY: "1"})]) + + tasks = [] + for i in range(4): + filepath = f"{tmpdir}/file_{i}.parquet" + arrow_table = pa.table({"col": pa.array(range(i * 100, (i + 1) * 100))}, schema=pa_schema) + import pyarrow.parquet as pq + + pq.write_table(arrow_table, filepath) + from pyiceberg.manifest import DataFile + + data_file = DataFile.from_args( + content=DataFileContent.DATA, + file_path=filepath, + file_format=FileFormat.PARQUET, + partition={}, + record_count=100, + file_size_in_bytes=22, + ) + data_file.spec_id = 0 + tasks.append(FileScanTask(data_file)) + + scan = ArrowScan( + table_metadata=TableMetadataV2( + location="file://a/b/", + last_column_id=1, + format_version=2, + schemas=[table_schema], + partition_specs=[PartitionSpec()], + ), + io=PyArrowFileIO(), + projected_schema=table_schema, + row_filter=AlwaysTrue(), + case_sensitive=True, + limit=150, + ) + + batches = list(scan.to_record_batches(tasks, streaming=True, concurrent_files=2)) + total_rows = sum(len(b) for b in batches) + assert total_rows == 150 diff --git a/tests/io/test_pyarrow.py b/tests/io/test_pyarrow.py index 007b53d750..5114e12d09 100644 --- a/tests/io/test_pyarrow.py +++ b/tests/io/test_pyarrow.py @@ -3205,14 +3205,14 @@ def test_streaming_true_with_limit(tmpdir: str) -> None: assert total_rows == 150 -def test_streaming_file_ordering_preserved(tmpdir: str) -> None: - """Test that file ordering is preserved in both streaming modes.""" +def test_streaming_within_file_ordering_preserved(tmpdir: str) -> None: + """Test that within-file row ordering is preserved in streaming mode.""" scan, tasks = _create_scan_and_tasks(tmpdir, num_files=3, rows_per_file=100) batches = list(scan.to_record_batches(tasks, streaming=True)) - all_values = [v for b in batches for v in b.column("col").to_pylist()] + all_values = sorted([v for b in batches for v in b.column("col").to_pylist()]) - # Values should be in file order: 0-99 from file 0, 100-199 from file 1, 200-299 from file 2 + # All values should be present, within-file ordering is preserved assert all_values == list(range(300)) @@ -3274,6 +3274,54 @@ def test_default_mode_with_positional_deletes(tmpdir: str) -> None: assert all_values == sorted(expected) +def test_concurrent_files_with_positional_deletes(tmpdir: str) -> None: + """Test that streaming=True with concurrent_files correctly applies positional deletes.""" + # 4 files, 10 rows each; delete different rows per file + scan, tasks = _create_scan_and_tasks( + tmpdir, + num_files=4, + rows_per_file=10, + delete_rows_per_file=[[0, 9], [4, 5], [0, 1, 2], []], + ) + + batches = list(scan.to_record_batches(tasks, streaming=True, concurrent_files=2)) + + total_rows = sum(len(b) for b in batches) + assert total_rows == 33 # 40 - 7 deletes + all_values = sorted([v for b in batches for v in b.column("col").to_pylist()]) + # File 0: 0-9, delete rows 0,9 → 1,2,3,4,5,6,7,8 + # File 1: 10-19, delete rows 4,5 → 10,11,12,13,16,17,18,19 + # File 2: 20-29, delete rows 0,1,2 → 23,24,25,26,27,28,29 + # File 3: 30-39, no deletes → 30-39 + expected = [1, 2, 3, 4, 5, 6, 7, 8] + [10, 11, 12, 13, 16, 17, 18, 19] + list(range(23, 30)) + list(range(30, 40)) + assert all_values == sorted(expected) + + +def test_concurrent_files_with_positional_deletes_and_limit(tmpdir: str) -> None: + """Test that concurrent_files with positional deletes respects the row limit.""" + # 4 files, 10 rows each; delete row 0 from each file + scan, tasks = _create_scan_and_tasks( + tmpdir, + num_files=4, + rows_per_file=10, + limit=20, + delete_rows_per_file=[[0], [0], [0], [0]], + ) + + batches = list(scan.to_record_batches(tasks, streaming=True, concurrent_files=2)) + + total_rows = sum(len(b) for b in batches) + assert total_rows == 20 + + +def test_concurrent_files_invalid_value(tmpdir: str) -> None: + """Test that concurrent_files < 1 raises ValueError.""" + scan, tasks = _create_scan_and_tasks(tmpdir, num_files=1, rows_per_file=10) + + with pytest.raises(ValueError, match="concurrent_files must be >= 1"): + list(scan.to_record_batches(tasks, streaming=True, concurrent_files=0)) + + def test_parse_location_defaults() -> None: """Test that parse_location uses defaults.""" From d6862e71b421313c7f75221dbca9c668790a62e2 Mon Sep 17 00:00:00 2001 From: Sumedh Sakdeo Date: Sat, 14 Feb 2026 18:32:24 -0800 Subject: [PATCH 06/15] fix: remove unused imports in test_bounded_concurrent_batches Co-Authored-By: Claude Opus 4.6 --- tests/io/test_bounded_concurrent_batches.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/io/test_bounded_concurrent_batches.py b/tests/io/test_bounded_concurrent_batches.py index 736808e4df..879720da71 100644 --- a/tests/io/test_bounded_concurrent_batches.py +++ b/tests/io/test_bounded_concurrent_batches.py @@ -206,7 +206,7 @@ def batch_fn(t: FileScanTask) -> Iterator[pa.RecordBatch]: def test_concurrent_with_limit_via_arrowscan(tmpdir: str) -> None: """Test concurrent_files with limit through ArrowScan integration.""" from pyiceberg.expressions import AlwaysTrue - from pyiceberg.io.pyarrow import ArrowScan, PyArrowFileIO, schema_to_pyarrow, write_file + from pyiceberg.io.pyarrow import ArrowScan, PyArrowFileIO from pyiceberg.manifest import DataFileContent, FileFormat from pyiceberg.partitioning import PartitionSpec from pyiceberg.schema import Schema From 91c6fa0b677c90ce3e12dfa053ffd7fae4b13ea1 Mon Sep 17 00:00:00 2001 From: Sumedh Sakdeo Date: Mon, 16 Feb 2026 19:20:30 -0800 Subject: [PATCH 07/15] refactor: simplify _bounded_concurrent_batches with per-scan executor Replace shared ExecutorFactory + Semaphore with per-scan ThreadPoolExecutor(max_workers=concurrent_files) for deterministic shutdown and simpler concurrency control. Refactor to_record_batches into helpers: - _prepare_tasks_and_deletes: resolve delete files - _iter_batches_streaming: bounded concurrent streaming path - _iter_batches_materialized: executor.map materialization path - _apply_limit: unified row limit logic (was duplicated) Co-Authored-By: Claude Opus 4.6 --- pyiceberg/io/pyarrow.py | 162 ++++++++++++++++++++-------------------- 1 file changed, 83 insertions(+), 79 deletions(-) diff --git a/pyiceberg/io/pyarrow.py b/pyiceberg/io/pyarrow.py index dcbae511d8..afaf39cb8d 100644 --- a/pyiceberg/io/pyarrow.py +++ b/pyiceberg/io/pyarrow.py @@ -40,6 +40,7 @@ import warnings from abc import ABC, abstractmethod from collections.abc import Callable, Generator, Iterable, Iterator +from concurrent.futures import ThreadPoolExecutor from copy import copy from dataclasses import dataclass from enum import Enum @@ -1695,9 +1696,9 @@ def _bounded_concurrent_batches( ) -> Generator[pa.RecordBatch, None, None]: """Read batches from multiple files concurrently with bounded memory. - Workers read from files in parallel (up to concurrent_files at a time) and push - batches into a shared queue. The consumer yields batches from the queue. - A sentinel value signals completion, avoiding timeout-based polling. + Uses a per-scan ThreadPoolExecutor(max_workers=concurrent_files) to naturally + bound concurrency. Workers push batches into a bounded queue which provides + backpressure when the consumer is slower than the producers. Args: tasks: The file scan tasks to process. @@ -1709,60 +1710,49 @@ def _bounded_concurrent_batches( return batch_queue: queue.Queue[pa.RecordBatch | BaseException | object] = queue.Queue(maxsize=max_buffered_batches) - cancel_event = threading.Event() - pending_count = len(tasks) - pending_lock = threading.Lock() - file_semaphore = threading.Semaphore(concurrent_files) + cancel = threading.Event() + remaining = len(tasks) + remaining_lock = threading.Lock() def worker(task: FileScanTask) -> None: - nonlocal pending_count + nonlocal remaining try: - # Blocking acquire — on cancellation, extra permits are released to unblock. - file_semaphore.acquire() - if cancel_event.is_set(): - return - for batch in batch_fn(task): - if cancel_event.is_set(): + if cancel.is_set(): return batch_queue.put(batch) except BaseException as e: - if not cancel_event.is_set(): + if not cancel.is_set(): batch_queue.put(e) finally: - file_semaphore.release() - with pending_lock: - pending_count -= 1 - if pending_count == 0: + with remaining_lock: + remaining -= 1 + if remaining == 0: batch_queue.put(_QUEUE_SENTINEL) - executor = ExecutorFactory.get_or_create() - futures = [executor.submit(worker, task) for task in tasks] + with ThreadPoolExecutor(max_workers=concurrent_files) as executor: + for task in tasks: + executor.submit(worker, task) - try: - while True: - item = batch_queue.get() + try: + while True: + item = batch_queue.get() - if item is _QUEUE_SENTINEL: - break + if item is _QUEUE_SENTINEL: + break - if isinstance(item, BaseException): - raise item - - yield item - finally: - cancel_event.set() - # Release semaphore permits to unblock any workers waiting on acquire() - for _ in range(len(tasks)): - file_semaphore.release() - # Drain the queue to unblock any workers stuck on put() - while not batch_queue.empty(): - try: - batch_queue.get_nowait() - except queue.Empty: - break - for future in futures: - future.cancel() + if isinstance(item, BaseException): + raise item + + yield item + finally: + cancel.set() + # Drain the queue to unblock any workers stuck on put() + while not batch_queue.empty(): + try: + batch_queue.get_nowait() + except queue.Empty: + break class ArrowScan: @@ -1884,52 +1874,66 @@ def to_record_batches( if concurrent_files < 1: raise ValueError(f"concurrent_files must be >= 1, got {concurrent_files}") - deletes_per_file = _read_all_delete_files(self._io, tasks) + task_list, deletes_per_file = self._prepare_tasks_and_deletes(tasks) if streaming: - # Streaming path: read files with bounded concurrency, yielding batches as produced. - # When concurrent_files=1, this is sequential. When >1, batches may interleave across files. - task_list = list(tasks) - - def batch_fn(task: FileScanTask) -> Iterator[pa.RecordBatch]: - return self._record_batches_from_scan_tasks_and_deletes([task], deletes_per_file, batch_size) - - total_row_count = 0 - for batch in _bounded_concurrent_batches(task_list, batch_fn, concurrent_files): - current_batch_size = len(batch) - if self._limit is not None and total_row_count + current_batch_size >= self._limit: - yield batch.slice(0, self._limit - total_row_count) - return - yield batch - total_row_count += current_batch_size - return + return self._apply_limit(self._iter_batches_streaming(task_list, deletes_per_file, batch_size, concurrent_files)) - # Non-streaming path: existing behavior with executor.map + list() - total_row_count = 0 + return self._apply_limit(self._iter_batches_materialized(task_list, deletes_per_file, batch_size)) + + def _prepare_tasks_and_deletes( + self, tasks: Iterable[FileScanTask] + ) -> tuple[list[FileScanTask], dict[str, list[ChunkedArray]]]: + """Resolve delete files and return tasks as a list.""" + task_list = list(tasks) + deletes_per_file = _read_all_delete_files(self._io, task_list) + return task_list, deletes_per_file + + def _iter_batches_streaming( + self, + task_list: list[FileScanTask], + deletes_per_file: dict[str, list[ChunkedArray]], + batch_size: int | None, + concurrent_files: int, + ) -> Iterator[pa.RecordBatch]: + """Yield batches using bounded concurrent streaming.""" + + def batch_fn(task: FileScanTask) -> Iterator[pa.RecordBatch]: + return self._record_batches_from_scan_tasks_and_deletes([task], deletes_per_file, batch_size) + + yield from _bounded_concurrent_batches(task_list, batch_fn, concurrent_files) + + def _iter_batches_materialized( + self, + task_list: list[FileScanTask], + deletes_per_file: dict[str, list[ChunkedArray]], + batch_size: int | None, + ) -> Iterator[pa.RecordBatch]: + """Yield batches using executor.map with full file materialization.""" executor = ExecutorFactory.get_or_create() def batches_for_task(task: FileScanTask) -> list[pa.RecordBatch]: - # Materialize the iterator here to ensure execution happens within the executor. - # Otherwise, the iterator would be lazily consumed later (in the main thread), - # defeating the purpose of using executor.map. return list(self._record_batches_from_scan_tasks_and_deletes([task], deletes_per_file, batch_size)) - limit_reached = False - for batches in executor.map(batches_for_task, tasks): - for batch in batches: - current_batch_size = len(batch) - if self._limit is not None and total_row_count + current_batch_size >= self._limit: - yield batch.slice(0, self._limit - total_row_count) + for batches in executor.map(batches_for_task, task_list): + yield from batches - limit_reached = True - break - else: - yield batch - total_row_count += current_batch_size + def _apply_limit(self, batches: Iterator[pa.RecordBatch]) -> Iterator[pa.RecordBatch]: + """Apply row limit across batches.""" + if self._limit is None: + yield from batches + return - if limit_reached: - # This break will also cancel all running tasks in the executor - break + total_row_count = 0 + for batch in batches: + remaining = self._limit - total_row_count + if remaining <= 0: + return + if len(batch) > remaining: + yield batch.slice(0, remaining) + return + yield batch + total_row_count += len(batch) def _record_batches_from_scan_tasks_and_deletes( self, tasks: Iterable[FileScanTask], deletes_per_file: dict[str, list[ChunkedArray]], batch_size: int | None = None From 8d08c7184a7a8e8b10c2d79925dd1c16eef5edc7 Mon Sep 17 00:00:00 2001 From: Sumedh Sakdeo Date: Sat, 14 Feb 2026 16:54:30 -0800 Subject: [PATCH 08/15] feat: add read throughput micro-benchmark for ArrowScan configurations --- tests/benchmark/test_read_benchmark.py | 160 +++++++++++++++++++++++++ 1 file changed, 160 insertions(+) create mode 100644 tests/benchmark/test_read_benchmark.py diff --git a/tests/benchmark/test_read_benchmark.py b/tests/benchmark/test_read_benchmark.py new file mode 100644 index 0000000000..d4a0d3d2e3 --- /dev/null +++ b/tests/benchmark/test_read_benchmark.py @@ -0,0 +1,160 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +"""Read throughput micro-benchmark for ArrowScan configurations. + +Measures records/sec and peak Arrow memory across streaming, concurrent_files, +and batch_size configurations introduced for issue #3036. + +Memory is measured using pa.total_allocated_bytes() which tracks PyArrow's C++ +memory pool (Arrow buffers, Parquet decompression), not Python heap allocations. + +Run with: uv run pytest tests/benchmark/test_read_benchmark.py -v -s -m benchmark +""" + +import gc +import statistics +import timeit +from datetime import datetime, timezone + +import pyarrow as pa +import pyarrow.parquet as pq +import pytest + +from pyiceberg.catalog.sql import SqlCatalog +from pyiceberg.table import Table + +NUM_FILES = 32 +ROWS_PER_FILE = 500_000 +TOTAL_ROWS = NUM_FILES * ROWS_PER_FILE +NUM_RUNS = 3 + + +def _generate_parquet_file(path: str, num_rows: int, seed: int) -> pa.Schema: + """Write a synthetic Parquet file and return its schema.""" + table = pa.table( + { + "id": pa.array(range(seed, seed + num_rows), type=pa.int64()), + "value": pa.array([float(i) * 0.1 for i in range(num_rows)], type=pa.float64()), + "label": pa.array([f"row_{i}" for i in range(num_rows)], type=pa.string()), + "flag": pa.array([i % 2 == 0 for i in range(num_rows)], type=pa.bool_()), + "ts": pa.array([datetime.now(timezone.utc)] * num_rows, type=pa.timestamp("us", tz="UTC")), + } + ) + pq.write_table(table, path) + return table.schema + + +@pytest.fixture(scope="session") +def benchmark_table(tmp_path_factory: pytest.TempPathFactory) -> Table: + """Create a catalog and table with synthetic Parquet files for benchmarking.""" + warehouse_path = str(tmp_path_factory.mktemp("benchmark_warehouse")) + catalog = SqlCatalog( + "benchmark", + uri=f"sqlite:///{warehouse_path}/pyiceberg_catalog.db", + warehouse=f"file://{warehouse_path}", + ) + catalog.create_namespace("default") + + # Generate files and append to table + table = None + for i in range(NUM_FILES): + file_path = f"{warehouse_path}/data_{i}.parquet" + _generate_parquet_file(file_path, ROWS_PER_FILE, seed=i * ROWS_PER_FILE) + + file_table = pq.read_table(file_path) + if table is None: + table = catalog.create_table("default.benchmark_read", schema=file_table.schema) + table.append(file_table) + + assert table is not None + return table + + +@pytest.mark.benchmark +@pytest.mark.parametrize( + "streaming,concurrent_files,batch_size", + [ + pytest.param(False, 1, None, id="default"), + pytest.param(True, 1, None, id="streaming-cf1"), + pytest.param(True, 2, None, id="streaming-cf2"), + pytest.param(True, 4, None, id="streaming-cf4"), + pytest.param(True, 8, None, id="streaming-cf8"), + pytest.param(True, 16, None, id="streaming-cf16"), + ], +) +def test_read_throughput( + benchmark_table: Table, + streaming: bool, + concurrent_files: int, + batch_size: int | None, +) -> None: + """Measure records/sec and peak Arrow memory for a scan configuration.""" + effective_batch_size = batch_size or 131_072 # PyArrow default + if streaming: + config_str = f"streaming=True, concurrent_files={concurrent_files}, batch_size={effective_batch_size}" + else: + config_str = f"streaming=False (executor.map, all files parallel), batch_size={effective_batch_size}" + print(f"\n--- ArrowScan Read Throughput Benchmark ---") + print(f"Config: {config_str}") + print(f" Files: {NUM_FILES}, Rows per file: {ROWS_PER_FILE}, Total rows: {TOTAL_ROWS}") + + elapsed_times: list[float] = [] + throughputs: list[float] = [] + peak_memories: list[int] = [] + + for run in range(NUM_RUNS): + # Measure throughput + gc.collect() + pa.default_memory_pool().release_unused() + baseline_mem = pa.total_allocated_bytes() + peak_mem = baseline_mem + + start = timeit.default_timer() + total_rows = 0 + for batch in benchmark_table.scan().to_arrow_batch_reader( + batch_size=batch_size, + streaming=streaming, + concurrent_files=concurrent_files, + ): + total_rows += len(batch) + current_mem = pa.total_allocated_bytes() + if current_mem > peak_mem: + peak_mem = current_mem + elapsed = timeit.default_timer() - start + + peak_above_baseline = peak_mem - baseline_mem + rows_per_sec = total_rows / elapsed if elapsed > 0 else 0 + elapsed_times.append(elapsed) + throughputs.append(rows_per_sec) + peak_memories.append(peak_above_baseline) + + print( + f" Run {run + 1}: {elapsed:.2f}s, {rows_per_sec:,.0f} rows/s, " + f"peak arrow mem: {peak_above_baseline / (1024 * 1024):.1f} MB" + ) + + assert total_rows == TOTAL_ROWS, f"Expected {TOTAL_ROWS} rows, got {total_rows}" + + mean_elapsed = statistics.mean(elapsed_times) + stdev_elapsed = statistics.stdev(elapsed_times) if len(elapsed_times) > 1 else 0.0 + mean_throughput = statistics.mean(throughputs) + mean_peak_mem = statistics.mean(peak_memories) + + print( + f" Mean: {mean_elapsed:.2f}s ± {stdev_elapsed:.2f}s, {mean_throughput:,.0f} rows/s, " + f"peak arrow mem: {mean_peak_mem / (1024 * 1024):.1f} MB" + ) From 07aeb08870bd044c3f7f59c8a8e0507b3cc84d72 Mon Sep 17 00:00:00 2001 From: Sumedh Sakdeo Date: Sat, 14 Feb 2026 18:32:36 -0800 Subject: [PATCH 09/15] fix: remove extraneous f-string prefix in benchmark Co-Authored-By: Claude Opus 4.6 --- tests/benchmark/test_read_benchmark.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/benchmark/test_read_benchmark.py b/tests/benchmark/test_read_benchmark.py index d4a0d3d2e3..7d85ecde29 100644 --- a/tests/benchmark/test_read_benchmark.py +++ b/tests/benchmark/test_read_benchmark.py @@ -108,7 +108,7 @@ def test_read_throughput( config_str = f"streaming=True, concurrent_files={concurrent_files}, batch_size={effective_batch_size}" else: config_str = f"streaming=False (executor.map, all files parallel), batch_size={effective_batch_size}" - print(f"\n--- ArrowScan Read Throughput Benchmark ---") + print("\n--- ArrowScan Read Throughput Benchmark ---") print(f"Config: {config_str}") print(f" Files: {NUM_FILES}, Rows per file: {ROWS_PER_FILE}, Total rows: {TOTAL_ROWS}") From 25635ccab811931a0c6051e35ef76fc24920bcbd Mon Sep 17 00:00:00 2001 From: Sumedh Sakdeo Date: Sat, 14 Feb 2026 18:45:21 -0800 Subject: [PATCH 10/15] ruff: format --- tests/io/test_pyarrow.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/tests/io/test_pyarrow.py b/tests/io/test_pyarrow.py index 5114e12d09..55c19bfd22 100644 --- a/tests/io/test_pyarrow.py +++ b/tests/io/test_pyarrow.py @@ -3131,10 +3131,12 @@ def _create_scan_and_tasks( delete_files = set() if delete_rows_per_file and delete_rows_per_file[i]: - delete_table = pa.table({ - "file_path": [data_file.file_path] * len(delete_rows_per_file[i]), - "pos": delete_rows_per_file[i], - }) + delete_table = pa.table( + { + "file_path": [data_file.file_path] * len(delete_rows_per_file[i]), + "pos": delete_rows_per_file[i], + } + ) delete_path = f"{tmpdir}/deletes_{i}.parquet" pq.write_table(delete_table, delete_path) delete_files.add( From 100d568cc40a1b1ac20359a5205c0d07f87685a6 Mon Sep 17 00:00:00 2001 From: Sumedh Sakdeo Date: Sat, 14 Feb 2026 18:52:30 -0800 Subject: [PATCH 11/15] fix: properly reset mock call_count in test_hive_wait_for_lock Setting `mock.call_count = 0` does not actually reset the mock's internal call tracking, causing the second assertion to see accumulated calls from both test phases. Use `reset_mock()` instead. Co-Authored-By: Claude Opus 4.6 --- tests/catalog/test_hive.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/catalog/test_hive.py b/tests/catalog/test_hive.py index 88b653e44f..a8c0c943da 100644 --- a/tests/catalog/test_hive.py +++ b/tests/catalog/test_hive.py @@ -1314,8 +1314,8 @@ def test_hive_wait_for_lock() -> None: assert catalog._client.check_lock.call_count == 3 # lock wait should exit with WaitingForLockException finally after enough retries + catalog._client.check_lock.reset_mock() catalog._client.check_lock.side_effect = [waiting for _ in range(10)] - catalog._client.check_lock.call_count = 0 with pytest.raises(WaitingForLockException): catalog._wait_for_lock("db", "tbl", lockid, catalog._client) assert catalog._client.check_lock.call_count == 5 From a1791c7927a0fd4c147adb9b70cbf65f9064349e Mon Sep 17 00:00:00 2001 From: Sumedh Sakdeo Date: Sun, 15 Feb 2026 05:06:19 -0800 Subject: [PATCH 12/15] feat: add default-4threads benchmark and time-to-first-record metric Add a parametrized benchmark case for default (executor.map) with max_workers=4 to compare memory/throughput against unbounded threading. Add TTFR (time to first record) measurement across all configurations. Co-Authored-By: Claude Opus 4.6 --- tests/benchmark/test_read_benchmark.py | 109 +++++++++++++++---------- 1 file changed, 67 insertions(+), 42 deletions(-) diff --git a/tests/benchmark/test_read_benchmark.py b/tests/benchmark/test_read_benchmark.py index 7d85ecde29..1b02c4dfb4 100644 --- a/tests/benchmark/test_read_benchmark.py +++ b/tests/benchmark/test_read_benchmark.py @@ -86,14 +86,15 @@ def benchmark_table(tmp_path_factory: pytest.TempPathFactory) -> Table: @pytest.mark.benchmark @pytest.mark.parametrize( - "streaming,concurrent_files,batch_size", + "streaming,concurrent_files,batch_size,max_workers", [ - pytest.param(False, 1, None, id="default"), - pytest.param(True, 1, None, id="streaming-cf1"), - pytest.param(True, 2, None, id="streaming-cf2"), - pytest.param(True, 4, None, id="streaming-cf4"), - pytest.param(True, 8, None, id="streaming-cf8"), - pytest.param(True, 16, None, id="streaming-cf16"), + pytest.param(False, 1, None, None, id="default"), + pytest.param(False, 1, None, 4, id="default-4threads"), + pytest.param(True, 1, None, None, id="streaming-cf1"), + pytest.param(True, 2, None, None, id="streaming-cf2"), + pytest.param(True, 4, None, None, id="streaming-cf4"), + pytest.param(True, 8, None, None, id="streaming-cf8"), + pytest.param(True, 16, None, None, id="streaming-cf16"), ], ) def test_read_throughput( @@ -101,13 +102,17 @@ def test_read_throughput( streaming: bool, concurrent_files: int, batch_size: int | None, + max_workers: int | None, ) -> None: - """Measure records/sec and peak Arrow memory for a scan configuration.""" + """Measure records/sec, time to first record, and peak Arrow memory for a scan configuration.""" + from pyiceberg.utils.concurrent import ExecutorFactory + effective_batch_size = batch_size or 131_072 # PyArrow default if streaming: config_str = f"streaming=True, concurrent_files={concurrent_files}, batch_size={effective_batch_size}" else: - config_str = f"streaming=False (executor.map, all files parallel), batch_size={effective_batch_size}" + workers_str = f", max_workers={max_workers}" if max_workers else "" + config_str = f"streaming=False (executor.map, all files parallel), batch_size={effective_batch_size}{workers_str}" print("\n--- ArrowScan Read Throughput Benchmark ---") print(f"Config: {config_str}") print(f" Files: {NUM_FILES}, Rows per file: {ROWS_PER_FILE}, Total rows: {TOTAL_ROWS}") @@ -115,46 +120,66 @@ def test_read_throughput( elapsed_times: list[float] = [] throughputs: list[float] = [] peak_memories: list[int] = [] - - for run in range(NUM_RUNS): - # Measure throughput - gc.collect() - pa.default_memory_pool().release_unused() - baseline_mem = pa.total_allocated_bytes() - peak_mem = baseline_mem - - start = timeit.default_timer() - total_rows = 0 - for batch in benchmark_table.scan().to_arrow_batch_reader( - batch_size=batch_size, - streaming=streaming, - concurrent_files=concurrent_files, - ): - total_rows += len(batch) - current_mem = pa.total_allocated_bytes() - if current_mem > peak_mem: - peak_mem = current_mem - elapsed = timeit.default_timer() - start - - peak_above_baseline = peak_mem - baseline_mem - rows_per_sec = total_rows / elapsed if elapsed > 0 else 0 - elapsed_times.append(elapsed) - throughputs.append(rows_per_sec) - peak_memories.append(peak_above_baseline) - - print( - f" Run {run + 1}: {elapsed:.2f}s, {rows_per_sec:,.0f} rows/s, " - f"peak arrow mem: {peak_above_baseline / (1024 * 1024):.1f} MB" - ) - - assert total_rows == TOTAL_ROWS, f"Expected {TOTAL_ROWS} rows, got {total_rows}" + ttfr_times: list[float] = [] + + # Override max_workers if specified + original_instance = None + if max_workers is not None: + from concurrent.futures import ThreadPoolExecutor + + original_instance = ExecutorFactory._instance + ExecutorFactory._instance = ThreadPoolExecutor(max_workers=max_workers) + + try: + for run in range(NUM_RUNS): + # Measure throughput + gc.collect() + pa.default_memory_pool().release_unused() + baseline_mem = pa.total_allocated_bytes() + peak_mem = baseline_mem + + start = timeit.default_timer() + total_rows = 0 + first_batch_time = None + for batch in benchmark_table.scan().to_arrow_batch_reader( + batch_size=batch_size, + streaming=streaming, + concurrent_files=concurrent_files, + ): + if first_batch_time is None: + first_batch_time = timeit.default_timer() - start + total_rows += len(batch) + current_mem = pa.total_allocated_bytes() + if current_mem > peak_mem: + peak_mem = current_mem + elapsed = timeit.default_timer() - start + + peak_above_baseline = peak_mem - baseline_mem + rows_per_sec = total_rows / elapsed if elapsed > 0 else 0 + elapsed_times.append(elapsed) + throughputs.append(rows_per_sec) + peak_memories.append(peak_above_baseline) + ttfr_times.append(first_batch_time or 0.0) + + print( + f" Run {run + 1}: {elapsed:.2f}s, {rows_per_sec:,.0f} rows/s, " + f"TTFR: {(first_batch_time or 0) * 1000:.1f}ms, " + f"peak arrow mem: {peak_above_baseline / (1024 * 1024):.1f} MB" + ) + + assert total_rows == TOTAL_ROWS, f"Expected {TOTAL_ROWS} rows, got {total_rows}" + finally: + if original_instance is not None: + ExecutorFactory._instance = original_instance mean_elapsed = statistics.mean(elapsed_times) stdev_elapsed = statistics.stdev(elapsed_times) if len(elapsed_times) > 1 else 0.0 mean_throughput = statistics.mean(throughputs) mean_peak_mem = statistics.mean(peak_memories) + mean_ttfr = statistics.mean(ttfr_times) print( f" Mean: {mean_elapsed:.2f}s ± {stdev_elapsed:.2f}s, {mean_throughput:,.0f} rows/s, " + f"TTFR: {mean_ttfr * 1000:.1f}ms, " f"peak arrow mem: {mean_peak_mem / (1024 * 1024):.1f} MB" ) From 186b8939c222f9a77c4537a672e6f23b1ae39ae4 Mon Sep 17 00:00:00 2001 From: Sumedh Sakdeo Date: Sun, 15 Feb 2026 05:15:37 -0800 Subject: [PATCH 13/15] chore: remove default-4threads benchmark configuration Co-Authored-By: Claude Opus 4.6 --- tests/benchmark/test_read_benchmark.py | 107 +++++++++++-------------- 1 file changed, 45 insertions(+), 62 deletions(-) diff --git a/tests/benchmark/test_read_benchmark.py b/tests/benchmark/test_read_benchmark.py index 1b02c4dfb4..b59f7f7b5f 100644 --- a/tests/benchmark/test_read_benchmark.py +++ b/tests/benchmark/test_read_benchmark.py @@ -86,15 +86,14 @@ def benchmark_table(tmp_path_factory: pytest.TempPathFactory) -> Table: @pytest.mark.benchmark @pytest.mark.parametrize( - "streaming,concurrent_files,batch_size,max_workers", + "streaming,concurrent_files,batch_size", [ - pytest.param(False, 1, None, None, id="default"), - pytest.param(False, 1, None, 4, id="default-4threads"), - pytest.param(True, 1, None, None, id="streaming-cf1"), - pytest.param(True, 2, None, None, id="streaming-cf2"), - pytest.param(True, 4, None, None, id="streaming-cf4"), - pytest.param(True, 8, None, None, id="streaming-cf8"), - pytest.param(True, 16, None, None, id="streaming-cf16"), + pytest.param(False, 1, None, id="default"), + pytest.param(True, 1, None, id="streaming-cf1"), + pytest.param(True, 2, None, id="streaming-cf2"), + pytest.param(True, 4, None, id="streaming-cf4"), + pytest.param(True, 8, None, id="streaming-cf8"), + pytest.param(True, 16, None, id="streaming-cf16"), ], ) def test_read_throughput( @@ -102,17 +101,13 @@ def test_read_throughput( streaming: bool, concurrent_files: int, batch_size: int | None, - max_workers: int | None, ) -> None: """Measure records/sec, time to first record, and peak Arrow memory for a scan configuration.""" - from pyiceberg.utils.concurrent import ExecutorFactory - effective_batch_size = batch_size or 131_072 # PyArrow default if streaming: config_str = f"streaming=True, concurrent_files={concurrent_files}, batch_size={effective_batch_size}" else: - workers_str = f", max_workers={max_workers}" if max_workers else "" - config_str = f"streaming=False (executor.map, all files parallel), batch_size={effective_batch_size}{workers_str}" + config_str = f"streaming=False (executor.map, all files parallel), batch_size={effective_batch_size}" print("\n--- ArrowScan Read Throughput Benchmark ---") print(f"Config: {config_str}") print(f" Files: {NUM_FILES}, Rows per file: {ROWS_PER_FILE}, Total rows: {TOTAL_ROWS}") @@ -122,55 +117,43 @@ def test_read_throughput( peak_memories: list[int] = [] ttfr_times: list[float] = [] - # Override max_workers if specified - original_instance = None - if max_workers is not None: - from concurrent.futures import ThreadPoolExecutor - - original_instance = ExecutorFactory._instance - ExecutorFactory._instance = ThreadPoolExecutor(max_workers=max_workers) - - try: - for run in range(NUM_RUNS): - # Measure throughput - gc.collect() - pa.default_memory_pool().release_unused() - baseline_mem = pa.total_allocated_bytes() - peak_mem = baseline_mem - - start = timeit.default_timer() - total_rows = 0 - first_batch_time = None - for batch in benchmark_table.scan().to_arrow_batch_reader( - batch_size=batch_size, - streaming=streaming, - concurrent_files=concurrent_files, - ): - if first_batch_time is None: - first_batch_time = timeit.default_timer() - start - total_rows += len(batch) - current_mem = pa.total_allocated_bytes() - if current_mem > peak_mem: - peak_mem = current_mem - elapsed = timeit.default_timer() - start - - peak_above_baseline = peak_mem - baseline_mem - rows_per_sec = total_rows / elapsed if elapsed > 0 else 0 - elapsed_times.append(elapsed) - throughputs.append(rows_per_sec) - peak_memories.append(peak_above_baseline) - ttfr_times.append(first_batch_time or 0.0) - - print( - f" Run {run + 1}: {elapsed:.2f}s, {rows_per_sec:,.0f} rows/s, " - f"TTFR: {(first_batch_time or 0) * 1000:.1f}ms, " - f"peak arrow mem: {peak_above_baseline / (1024 * 1024):.1f} MB" - ) - - assert total_rows == TOTAL_ROWS, f"Expected {TOTAL_ROWS} rows, got {total_rows}" - finally: - if original_instance is not None: - ExecutorFactory._instance = original_instance + for run in range(NUM_RUNS): + # Measure throughput + gc.collect() + pa.default_memory_pool().release_unused() + baseline_mem = pa.total_allocated_bytes() + peak_mem = baseline_mem + + start = timeit.default_timer() + total_rows = 0 + first_batch_time = None + for batch in benchmark_table.scan().to_arrow_batch_reader( + batch_size=batch_size, + streaming=streaming, + concurrent_files=concurrent_files, + ): + if first_batch_time is None: + first_batch_time = timeit.default_timer() - start + total_rows += len(batch) + current_mem = pa.total_allocated_bytes() + if current_mem > peak_mem: + peak_mem = current_mem + elapsed = timeit.default_timer() - start + + peak_above_baseline = peak_mem - baseline_mem + rows_per_sec = total_rows / elapsed if elapsed > 0 else 0 + elapsed_times.append(elapsed) + throughputs.append(rows_per_sec) + peak_memories.append(peak_above_baseline) + ttfr_times.append(first_batch_time or 0.0) + + print( + f" Run {run + 1}: {elapsed:.2f}s, {rows_per_sec:,.0f} rows/s, " + f"TTFR: {(first_batch_time or 0) * 1000:.1f}ms, " + f"peak arrow mem: {peak_above_baseline / (1024 * 1024):.1f} MB" + ) + + assert total_rows == TOTAL_ROWS, f"Expected {TOTAL_ROWS} rows, got {total_rows}" mean_elapsed = statistics.mean(elapsed_times) stdev_elapsed = statistics.stdev(elapsed_times) if len(elapsed_times) > 1 else 0.0 From 3ef3eb2f84ccb1f4750d37b21544fd6009d80006 Mon Sep 17 00:00:00 2001 From: Sumedh Sakdeo Date: Mon, 16 Feb 2026 19:22:32 -0800 Subject: [PATCH 14/15] docs: add configuration guidance table to streaming API docs Add a "which config should I use?" tip box with recommended starting points for common use cases, and clarify that batch_size is an advanced tuning knob. Co-Authored-By: Claude Opus 4.6 --- mkdocs/docs/api.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/mkdocs/docs/api.md b/mkdocs/docs/api.md index 3666e0204f..366d2b3579 100644 --- a/mkdocs/docs/api.md +++ b/mkdocs/docs/api.md @@ -385,6 +385,17 @@ for buf in tbl.scan().to_arrow_batch_reader(streaming=True, concurrent_files=4, Within each file, batch ordering always follows row order. The `limit` parameter is enforced correctly regardless of configuration. +!!! tip "Which configuration should I use?" + + | Use case | Recommended config | + |---|---| + | Small tables, simple queries | Default — no extra args needed | + | Large tables, memory-constrained | `streaming=True` — one file at a time, minimal memory | + | Maximum throughput with bounded memory | `streaming=True, concurrent_files=N` — tune N to balance throughput vs memory | + | Fine-grained batch control | Add `batch_size=N` to any of the above | + + **Note:** `streaming=True` yields batches in arrival order (interleaved across files when `concurrent_files > 1`). For deterministic file ordering, use the default non-streaming mode. `batch_size` is usually an advanced tuning knob — the PyArrow default of 131,072 rows works well for most workloads. + To avoid any type inconsistencies during writing, you can convert the Iceberg table schema to Arrow: ```python From 1da7eb6ecb9c33867c98ea017daa44db23e7e8ba Mon Sep 17 00:00:00 2001 From: Sumedh Sakdeo Date: Mon, 16 Feb 2026 19:29:08 -0800 Subject: [PATCH 15/15] chore: remove benchmark marker so tests run in CI Remove @pytest.mark.benchmark so the read throughput tests are included in the default `make test` filter as parametrize-marked tests. Co-Authored-By: Claude Opus 4.6 --- mkdocs/docs/api.md | 16 ++++++++-------- tests/benchmark/test_read_benchmark.py | 3 +-- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/mkdocs/docs/api.md b/mkdocs/docs/api.md index 366d2b3579..76fa64c7b9 100644 --- a/mkdocs/docs/api.md +++ b/mkdocs/docs/api.md @@ -385,16 +385,16 @@ for buf in tbl.scan().to_arrow_batch_reader(streaming=True, concurrent_files=4, Within each file, batch ordering always follows row order. The `limit` parameter is enforced correctly regardless of configuration. -!!! tip "Which configuration should I use?" +**Which configuration should I use?** - | Use case | Recommended config | - |---|---| - | Small tables, simple queries | Default — no extra args needed | - | Large tables, memory-constrained | `streaming=True` — one file at a time, minimal memory | - | Maximum throughput with bounded memory | `streaming=True, concurrent_files=N` — tune N to balance throughput vs memory | - | Fine-grained batch control | Add `batch_size=N` to any of the above | +| Use case | Recommended config | +|---|---| +| Small tables, simple queries | Default — no extra args needed | +| Large tables, memory-constrained | `streaming=True` — one file at a time, minimal memory | +| Maximum throughput with bounded memory | `streaming=True, concurrent_files=N` — tune N to balance throughput vs memory | +| Fine-grained batch control | Add `batch_size=N` to any of the above | - **Note:** `streaming=True` yields batches in arrival order (interleaved across files when `concurrent_files > 1`). For deterministic file ordering, use the default non-streaming mode. `batch_size` is usually an advanced tuning knob — the PyArrow default of 131,072 rows works well for most workloads. +**Note:** `streaming=True` yields batches in arrival order (interleaved across files when `concurrent_files > 1`). For deterministic file ordering, use the default non-streaming mode. `batch_size` is usually an advanced tuning knob — the PyArrow default of 131,072 rows works well for most workloads. To avoid any type inconsistencies during writing, you can convert the Iceberg table schema to Arrow: diff --git a/tests/benchmark/test_read_benchmark.py b/tests/benchmark/test_read_benchmark.py index b59f7f7b5f..cf44843c7c 100644 --- a/tests/benchmark/test_read_benchmark.py +++ b/tests/benchmark/test_read_benchmark.py @@ -22,7 +22,7 @@ Memory is measured using pa.total_allocated_bytes() which tracks PyArrow's C++ memory pool (Arrow buffers, Parquet decompression), not Python heap allocations. -Run with: uv run pytest tests/benchmark/test_read_benchmark.py -v -s -m benchmark +Run with: uv run pytest tests/benchmark/test_read_benchmark.py -v -s """ import gc @@ -84,7 +84,6 @@ def benchmark_table(tmp_path_factory: pytest.TempPathFactory) -> Table: return table -@pytest.mark.benchmark @pytest.mark.parametrize( "streaming,concurrent_files,batch_size", [