Holdings
- class authorityspoke.holdings.Holding(**data)
An
Opinion’s announcement that it posits or rejects a legalRule.Note that if an opinion merely says the court is not deciding whether a
Ruleis valid, there is noHolding, and noRuleobject should be created. Deciding not to decide aRule’s validity is not the same thing as deciding that theRuleis undecided.- Parameters:
rule – a statement of a legal doctrine about a
Procedurefor litigation.rule_valid –
Truemeans theRuleis asserted to be valid (or useable by a court in litigation).Falsemeans it’s asserted to be invalid.decided –
Falsemeans that it should be deemed undecided whether theRuleis valid, and thus can have the effect of overruling prior holdings finding theRuleto be either valid or invalid. Seemingly,decided=Falseshould render therule_validflag irrelevant.exclusive – if True, the stated rule is asserted to be the only way to establish the output that is the output of the rule.
generic – if True, indicates that the specific attributes of this holding are irrelevant in the context of a different holding that is referencing this holding.
- classmethod nest_factor_fields(values)
Move misplaced fields that belong on Rule or Predicate models.
- classmethod not_invalid_and_exclusive(v, values)
Block “exclusive” flag from being used when “rule_valid” is False.
- Return type:
- classmethod not_undecided_and_exclusive(v, values)
Block “exclusive” flag from being used when “decided” is False.
- Return type:
- classmethod from_factors(outputs, inputs=None, despite=None, enactments=(), enactments_despite=(), mandatory=False, universal=False, generic=False, decided=True, exclusive=False, absent=False)
Create new Holding without an existing Rule or Procedure.
- property procedure
Get Procedure from Rule.
- property despite
Get Factors that specifically don’t preclude application of the Holding.
- property inputs
Get inputs from Procedure.
- property outputs
Get outputs from Procedure.
- property enactments
Get Enactments required to apply the Holding.
- property enactments_despite
Get Enactments that specifically don’t preclude application of the Holding.
- property terms: TermSequence
Call
Procedure'sterms()method.- Returns:
terms from
self’sProcedure
- generic_terms_by_str()
Get
Factors that can be replaced without changingselfs meaning.- Return type:
- Returns:
generic
Factors fromself’sProcedure
- add_if_not_exclusive(other)
Show how first Holding triggers second, assumed not to be “exclusive” way to reach result.
- add_enactment_despite(enactment)
Add “despite” enactment and sort self’s “despite” Enactments.
- Return type:
- __add__(other)
Create new Holding combining self and other into a single step, if possible.
The Holdings can be combined only if the application of Holding
selfnecessarily provides all the required inputs for the application ofother.
- explanations_contradiction(other, context=None)
Find context matches that would result in a contradiction with other.
Works by testing whether
selfwould implyotherifotherhad an opposite value forrule_valid.This method takes three main paths depending on whether the holdings
selfandotherassert that rules are decided or undecided.A
decidedRulecan never contradict a previous statement that anyRulewas undecided.If rule A implies rule B, then a holding that B is undecided contradicts a prior
Ruledeciding that rule A is valid or invalid.
- __ge__(other)
Call
implies()as an alias.- Return type:
- Returns:
bool indicating whether
selfimpliesother
- comparable_with(other)
Check if other can be compared to self for implication or contradiction.
- Return type:
- implies(other, context=None)
Test for implication.
See
Procedure.implies_all_to_all()andProcedure.implies_all_to_some()for explanations of howinputs,outputs, anddespiteFactors affect implication.
- explanations_implication(other, context=None)
Yield contexts that would cause self and other to have same meaning.
- Return type:
- implied_by(other, context=None)
Test if other implies self.
This function is for handling implication checks for classes that don’t know the structure of the
Holdingclass, such asFactandRule.- Return type:
- __len__()
Count generic
Factors needed as context for thisHolding.- Returns:
the number of generic
Factors needed for self’sProcedure.
- property inferred_from_exclusive: List[Holding]
Yield
Holdings that can be inferred from the “exclusive” flag.The generator will be empty if self.exclusive is False.
- explanations_same_meaning(other, context=None)
Yield contexts that would cause self and other to have same meaning.
- Return type:
- negated()
Get new copy of
selfwith an opposite value forrule_valid.
- new_context(changes)
Create new
Holding, replacing keys ofchangeswith values.- Return type:
- Returns:
a version of
selfwith the new context.
- property nonexclusive_holdings: HoldingGroup
Yield all
Holdings with exclusive is False implied by self.
- set_despite(factors)
Set Factors that specifically do not preclude applying this Holding.
- Return type:
- set_enactments_despite(enactments)
Set Enactments that specifically do not preclude applying this Holding.
- Return type:
- union(other, context=None)
Infer a Holding from all inputs and outputs of self and other, in context.
Creates a new Holding with all of the inputs and all of the outputs of both of the two original Holdings.
However, you only get such a new Holding if it can be inferred by accepting the truth of the two original Holdings.
If self contradicts() other, the operation returns None. Likewise, if the two original Holdings both have the value False for the parameter universal, the operation will return None if it’s possible that the “SOME” cases where one of the original Holdings applies don’t overlap with the “SOME” cases where the other applies.
- __or__(other)
Infer a Holding from all inputs and outputs of self and other.
- __str__()
Return str(self).
- __class_vars__: ClassVar[set[str]] = {'context_factor_names'}
The names of the class variables defined on the model.
- __private_attributes__: ClassVar[Dict[str, ModelPrivateAttr]] = {}
Metadata about the private attributes of the model.
- __pydantic_complete__: ClassVar[bool] = True
Whether model building is completed, or if there are still undefined fields.
- __pydantic_computed_fields__: ClassVar[Dict[str, ComputedFieldInfo]] = {}
A dictionary of computed field names and their corresponding [ComputedFieldInfo][pydantic.fields.ComputedFieldInfo] objects.
- __pydantic_core_schema__: ClassVar[CoreSchema] = {'definitions': [{'cls': <class 'nettlesome.predicates.Predicate'>, 'config': {'extra_fields_behavior': 'forbid', 'title': 'Predicate'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'nettlesome.predicates.Predicate'>>]}, 'ref': 'nettlesome.predicates.Predicate:96271533766672', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'content': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'truth': {'metadata': {}, 'schema': {'default': True, 'schema': {'schema': {'type': 'bool'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'Predicate', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'nettlesome.quantities.Comparison'>, 'config': {'title': 'Comparison'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'nettlesome.quantities.Comparison'>>]}, 'ref': 'nettlesome.quantities.Comparison:96271546375360', 'root_model': False, 'schema': {'function': {'function': <bound method Comparison.set_quantity_range of <class 'nettlesome.quantities.Comparison'>>, 'type': 'no-info'}, 'schema': {'computed_fields': [], 'fields': {'content': {'metadata': {}, 'schema': {'function': {'function': <bound method Comparison.content_ends_with_was of <class 'nettlesome.quantities.Comparison'>>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-after'}, 'type': 'model-field'}, 'quantity_range': {'metadata': {}, 'schema': {'choices': [{'schema_ref': 'nettlesome.quantities.DecimalRange:96271546368928', 'type': 'definition-ref'}, {'schema_ref': 'nettlesome.quantities.UnitRange:96271546289072', 'type': 'definition-ref'}, {'schema_ref': 'nettlesome.quantities.DateRange:96271534566352', 'type': 'definition-ref'}], 'type': 'union'}, 'type': 'model-field'}, 'truth': {'metadata': {}, 'schema': {'default': True, 'schema': {'schema': {'type': 'bool'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'Comparison', 'type': 'model-fields'}, 'type': 'function-before'}, 'type': 'model'}, {'cls': <class 'nettlesome.entities.Entity'>, 'config': {'extra_fields_behavior': 'forbid', 'title': 'Entity'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'nettlesome.entities.Entity'>>]}, 'ref': 'nettlesome.entities.Entity:96271533697616', 'root_model': False, 'schema': {'function': {'function': <bound method Entity.validate_type of <class 'nettlesome.entities.Entity'>>, 'type': 'no-info'}, 'schema': {'computed_fields': [], 'fields': {'absent': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'generic': {'metadata': {}, 'schema': {'default': True, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'name': {'metadata': {}, 'schema': {'default': '', 'schema': {'type': 'str'}, 'type': 'default'}, 'type': 'model-field'}, 'plural': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'Entity', 'type': 'model-fields'}, 'type': 'function-before'}, 'type': 'model'}, {'cls': <class 'nettlesome.quantities.DecimalRange'>, 'config': {'title': 'DecimalRange'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'nettlesome.quantities.DecimalRange'>>]}, 'ref': 'nettlesome.quantities.DecimalRange:96271546368928', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'include_negatives': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'bool'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'quantity': {'metadata': {}, 'schema': {'type': 'decimal'}, 'type': 'model-field'}, 'sign': {'metadata': {}, 'schema': {'default': '==', 'schema': {'function': {'function': <bound method QuantityRange.check_sign of <class 'nettlesome.quantities.DecimalRange'>>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-after'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'DecimalRange', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'nettlesome.quantities.UnitRange'>, 'config': {'title': 'UnitRange'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'nettlesome.quantities.UnitRange'>>]}, 'ref': 'nettlesome.quantities.UnitRange:96271546289072', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'include_negatives': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'bool'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'quantity_magnitude': {'metadata': {}, 'schema': {'type': 'decimal'}, 'type': 'model-field'}, 'quantity_units': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'sign': {'metadata': {}, 'schema': {'default': '==', 'schema': {'function': {'function': <bound method QuantityRange.check_sign of <class 'nettlesome.quantities.UnitRange'>>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-after'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'UnitRange', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'nettlesome.quantities.DateRange'>, 'config': {'title': 'DateRange'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'nettlesome.quantities.DateRange'>>]}, 'ref': 'nettlesome.quantities.DateRange:96271534566352', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'include_negatives': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'bool'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'quantity': {'metadata': {}, 'schema': {'type': 'date'}, 'type': 'model-field'}, 'sign': {'metadata': {}, 'schema': {'default': '==', 'schema': {'function': {'function': <bound method QuantityRange.check_sign of <class 'nettlesome.quantities.DateRange'>>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-after'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'DateRange', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'authorityspoke.facts.Pleading'>, 'config': {'title': 'Pleading'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'authorityspoke.facts.Pleading'>>]}, 'ref': 'authorityspoke.facts.Pleading:96271546737760', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'absent': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'filer': {'metadata': {}, 'schema': {'schema_ref': 'nettlesome.entities.Entity:96271533697616', 'type': 'definition-ref'}, 'type': 'model-field'}, 'generic': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'name': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'Pleading', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'authorityspoke.facts.Exhibit'>, 'config': {'title': 'Exhibit'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'authorityspoke.facts.Exhibit'>>]}, 'ref': 'authorityspoke.facts.Exhibit:96271546734272', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'absent': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'form': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'generic': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'name': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'offered_by': {'metadata': {}, 'schema': {'schema_ref': 'nettlesome.entities.Entity:96271533697616', 'type': 'definition-ref'}, 'type': 'model-field'}, 'statement': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'schema_ref': 'authorityspoke.facts.Fact:96271546644960', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'statement_attribution': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'schema_ref': 'nettlesome.entities.Entity:96271533697616', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'Exhibit', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'authorityspoke.facts.Evidence'>, 'config': {'extra_fields_behavior': 'forbid', 'title': 'Evidence'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'authorityspoke.facts.Evidence'>>]}, 'ref': 'authorityspoke.facts.Evidence:96271546736768', 'root_model': False, 'schema': {'function': {'function': <bound method Evidence.check_type_field of <class 'authorityspoke.facts.Evidence'>>, 'type': 'no-info'}, 'schema': {'computed_fields': [], 'fields': {'absent': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'exhibit': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'schema_ref': 'authorityspoke.facts.Exhibit:96271546734272', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'generic': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'name': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'to_effect': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'schema_ref': 'authorityspoke.facts.Fact:96271546644960', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'Evidence', 'type': 'model-fields'}, 'type': 'function-before'}, 'type': 'model'}, {'cls': <class 'authorityspoke.facts.Fact'>, 'config': {'extra_fields_behavior': 'forbid', 'title': 'Fact'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'authorityspoke.facts.Fact'>>]}, 'ref': 'authorityspoke.facts.Fact:96271546644960', 'root_model': False, 'schema': {'function': {'function': <bound method Fact.nest_predicate_fields of <class 'authorityspoke.facts.Fact'>>, 'type': 'no-info'}, 'schema': {'computed_fields': [], 'fields': {'absent': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'generic': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'name': {'metadata': {}, 'schema': {'default': '', 'schema': {'type': 'str'}, 'type': 'default'}, 'type': 'model-field'}, 'predicate': {'metadata': {}, 'schema': {'choices': [{'schema_ref': 'nettlesome.predicates.Predicate:96271533766672', 'type': 'definition-ref'}, {'schema_ref': 'nettlesome.quantities.Comparison:96271546375360', 'type': 'definition-ref'}], 'type': 'union'}, 'type': 'model-field'}, 'standard_of_proof': {'metadata': {}, 'schema': {'default': None, 'schema': {'function': {'function': <bound method Fact.validate_standard_of_proof of <class 'authorityspoke.facts.Fact'>>, 'type': 'no-info'}, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'function-after'}, 'type': 'default'}, 'type': 'model-field'}, 'terms': {'metadata': {}, 'schema': {'default': [], 'schema': {'function': {'field_name': 'terms', 'function': <bound method Fact._validate_terms of <class 'authorityspoke.facts.Fact'>>, 'type': 'with-info'}, 'schema': {'function': {'field_name': 'terms', 'function': <bound method Fact.terms_as_sequence of <class 'authorityspoke.facts.Fact'>>, 'type': 'with-info'}, 'schema': {'items_schema': {'choices': [{'schema_ref': 'nettlesome.entities.Entity:96271533697616', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Fact:96271546644960', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Allegation:96271546728512', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Pleading:96271546737760', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Exhibit:96271546734272', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Evidence:96271546736768', 'type': 'definition-ref'}], 'type': 'union'}, 'type': 'list'}, 'type': 'function-before'}, 'type': 'function-after'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'Fact', 'type': 'model-fields'}, 'type': 'function-before'}, 'type': 'model'}, {'cls': <class 'authorityspoke.facts.Allegation'>, 'config': {'title': 'Allegation'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'authorityspoke.facts.Allegation'>>]}, 'ref': 'authorityspoke.facts.Allegation:96271546728512', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'absent': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'fact': {'metadata': {}, 'schema': {'schema_ref': 'authorityspoke.facts.Fact:96271546644960', 'type': 'definition-ref'}, 'type': 'model-field'}, 'generic': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'name': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'pleading': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'schema_ref': 'authorityspoke.facts.Pleading:96271546737760', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'Allegation', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'legislice.enactments.TextVersion'>, 'config': {'title': 'TextVersion'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'legislice.enactments.TextVersion'>>]}, 'ref': 'legislice.enactments.TextVersion:96271533242160', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'content': {'metadata': {}, 'schema': {'function': {'function': <bound method TextVersion.content_exists of <class 'legislice.enactments.TextVersion'>>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-after'}, 'type': 'model-field'}, 'id': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'int'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'url': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'TextVersion', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'anchorpoint.textselectors.TextPositionSet'>, 'config': {'title': 'TextPositionSet'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'anchorpoint.textselectors.TextPositionSet'>>]}, 'ref': 'anchorpoint.textselectors.TextPositionSet:96271532400848', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'positions': {'metadata': {}, 'schema': {'default': [], 'schema': {'function': {'function': <bound method TextPositionSet.order_of_selectors of <class 'anchorpoint.textselectors.TextPositionSet'>>, 'type': 'no-info'}, 'schema': {'function': {'function': <bound method TextPositionSet.is_sequence of <class 'anchorpoint.textselectors.TextPositionSet'>>, 'type': 'no-info'}, 'schema': {'items_schema': {'schema_ref': 'anchorpoint.textselectors.TextPositionSelector:96271532389520', 'type': 'definition-ref'}, 'type': 'list'}, 'type': 'function-before'}, 'type': 'function-after'}, 'type': 'default'}, 'type': 'model-field'}, 'quotes': {'metadata': {}, 'schema': {'default': [], 'schema': {'function': {'function': <bound method TextPositionSet.quote_selectors_are_in_list of <class 'anchorpoint.textselectors.TextPositionSet'>>, 'type': 'no-info'}, 'schema': {'items_schema': {'schema_ref': 'anchorpoint.textselectors.TextQuoteSelector:96271532375040', 'type': 'definition-ref'}, 'type': 'list'}, 'type': 'function-before'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'TextPositionSet', 'type': 'model-fields'}, 'type': 'model'}, {'function': {'function': <function TextPositionSelector.start_less_than_end>, 'type': 'no-info'}, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'anchorpoint.textselectors.TextPositionSelector'>>]}, 'ref': 'anchorpoint.textselectors.TextPositionSelector:96271532389520', 'schema': {'cls': <class 'anchorpoint.textselectors.TextPositionSelector'>, 'config': {'title': 'TextPositionSelector'}, 'custom_init': False, 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'end': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'int'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'start': {'metadata': {}, 'schema': {'default': 0, 'schema': {'function': {'function': <bound method TextPositionSelector.start_not_negative of <class 'anchorpoint.textselectors.TextPositionSelector'>>, 'type': 'no-info'}, 'schema': {'type': 'int'}, 'type': 'function-after'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'TextPositionSelector', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'function-after'}, {'cls': <class 'anchorpoint.textselectors.TextQuoteSelector'>, 'config': {'title': 'TextQuoteSelector'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'anchorpoint.textselectors.TextQuoteSelector'>>]}, 'ref': 'anchorpoint.textselectors.TextQuoteSelector:96271532375040', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'exact': {'metadata': {}, 'schema': {'default': '', 'schema': {'function': {'function': <bound method TextQuoteSelector.no_none_for_prefix of <class 'anchorpoint.textselectors.TextQuoteSelector'>>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-before'}, 'type': 'default'}, 'type': 'model-field'}, 'prefix': {'metadata': {}, 'schema': {'default': '', 'schema': {'function': {'function': <bound method TextQuoteSelector.no_none_for_prefix of <class 'anchorpoint.textselectors.TextQuoteSelector'>>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-before'}, 'type': 'default'}, 'type': 'model-field'}, 'suffix': {'metadata': {}, 'schema': {'default': '', 'schema': {'function': {'function': <bound method TextQuoteSelector.no_none_for_prefix of <class 'anchorpoint.textselectors.TextQuoteSelector'>>, 'type': 'no-info'}, 'schema': {'type': 'str'}, 'type': 'function-before'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'TextQuoteSelector', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'legislice.enactments.CrossReference'>, 'config': {'title': 'CrossReference'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'legislice.enactments.CrossReference'>>]}, 'ref': 'legislice.enactments.CrossReference:96271522451392', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'reference_text': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'target_node': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'int'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'target_uri': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'target_url': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}}, 'model_name': 'CrossReference', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'legislice.enactments.Enactment'>, 'config': {'title': 'Enactment'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'legislice.enactments.Enactment'>>]}, 'ref': 'legislice.enactments.Enactment:96271533270272', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'anchors': {'metadata': {}, 'schema': {'default': [], 'schema': {'choices': [{'schema_ref': 'anchorpoint.textselectors.TextPositionSet:96271532400848', 'type': 'definition-ref'}, {'items_schema': {'choices': [{'schema_ref': 'anchorpoint.textselectors.TextPositionSelector:96271532389520', 'type': 'definition-ref'}, {'schema_ref': 'anchorpoint.textselectors.TextQuoteSelector:96271532375040', 'type': 'definition-ref'}], 'type': 'union'}, 'type': 'list'}], 'type': 'union'}, 'type': 'default'}, 'type': 'model-field'}, 'children': {'metadata': {}, 'schema': {'default': [], 'schema': {'choices': [{'items_schema': {'schema_ref': 'legislice.enactments.Enactment:96271533270272', 'type': 'definition-ref'}, 'type': 'list'}, {'items_schema': {'type': 'str'}, 'type': 'list'}], 'type': 'union'}, 'type': 'default'}, 'type': 'model-field'}, 'citations': {'metadata': {}, 'schema': {'default': [], 'schema': {'items_schema': {'schema_ref': 'legislice.enactments.CrossReference:96271522451392', 'type': 'definition-ref'}, 'type': 'list'}, 'type': 'default'}, 'type': 'model-field'}, 'earliest_in_db': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'date'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'end_date': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'date'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'first_published': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'date'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'heading': {'metadata': {}, 'schema': {'default': '', 'schema': {'type': 'str'}, 'type': 'default'}, 'type': 'model-field'}, 'name': {'metadata': {}, 'schema': {'default': '', 'schema': {'type': 'str'}, 'type': 'default'}, 'type': 'model-field'}, 'node': {'metadata': {}, 'schema': {'type': 'str'}, 'type': 'model-field'}, 'start_date': {'metadata': {}, 'schema': {'type': 'date'}, 'type': 'model-field'}, 'text_version': {'metadata': {}, 'schema': {'default': None, 'schema': {'function': {'function': <bound method Enactment.make_text_version_from_str of <class 'legislice.enactments.Enactment'>>, 'type': 'no-info'}, 'schema': {'schema': {'schema_ref': 'legislice.enactments.TextVersion:96271533242160', 'type': 'definition-ref'}, 'type': 'nullable'}, 'type': 'function-before'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'Enactment', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'legislice.groups.EnactmentGroup'>, 'config': {'title': 'EnactmentGroup'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'legislice.groups.EnactmentGroup'>>]}, 'ref': 'legislice.groups.EnactmentGroup:96271533573280', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'passages': {'metadata': {}, 'schema': {'default': [], 'schema': {'function': {'function': <bound method EnactmentGroup.sort_passages of <class 'legislice.groups.EnactmentGroup'>>, 'type': 'no-info'}, 'schema': {'function': {'function': <bound method EnactmentGroup.consolidate_passages of <class 'legislice.groups.EnactmentGroup'>>, 'type': 'no-info'}, 'schema': {'items_schema': {'schema_ref': 'legislice.enactments.EnactmentPassage:96271533361456', 'type': 'definition-ref'}, 'type': 'list'}, 'type': 'function-before'}, 'type': 'function-after'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'EnactmentGroup', 'type': 'model-fields'}, 'type': 'model'}, {'cls': <class 'legislice.enactments.EnactmentPassage'>, 'config': {'title': 'EnactmentPassage'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'legislice.enactments.EnactmentPassage'>>]}, 'ref': 'legislice.enactments.EnactmentPassage:96271533361456', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'enactment': {'metadata': {}, 'schema': {'schema_ref': 'legislice.enactments.Enactment:96271533270272', 'type': 'definition-ref'}, 'type': 'model-field'}, 'selection': {'metadata': {}, 'schema': {'default': TextPositionSet(positions=[TextPositionSelector(start=0, end=None)], quotes=[]), 'schema': {'schema_ref': 'anchorpoint.textselectors.TextPositionSet:96271532400848', 'type': 'definition-ref'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'EnactmentPassage', 'type': 'model-fields'}, 'type': 'model'}], 'schema': {'cls': <class 'authorityspoke.holdings.Holding'>, 'config': {'title': 'Holding'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'authorityspoke.holdings.Holding'>>]}, 'ref': 'authorityspoke.holdings.Holding:96271548710480', 'root_model': False, 'schema': {'function': {'function': <bound method Holding.nest_factor_fields of <class 'authorityspoke.holdings.Holding'>>, 'type': 'no-info'}, 'schema': {'computed_fields': [], 'fields': {'absent': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'decided': {'metadata': {}, 'schema': {'default': True, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'exclusive': {'metadata': {}, 'schema': {'default': False, 'schema': {'function': {'field_name': 'exclusive', 'function': <bound method Holding.not_undecided_and_exclusive of <class 'authorityspoke.holdings.Holding'>>, 'type': 'with-info'}, 'schema': {'function': {'field_name': 'exclusive', 'function': <bound method Holding.not_invalid_and_exclusive of <class 'authorityspoke.holdings.Holding'>>, 'type': 'with-info'}, 'schema': {'type': 'bool'}, 'type': 'function-after'}, 'type': 'function-after'}, 'type': 'default'}, 'type': 'model-field'}, 'generic': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'rule': {'metadata': {}, 'schema': {'cls': <class 'authorityspoke.rules.Rule'>, 'config': {'title': 'Rule'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'authorityspoke.rules.Rule'>>]}, 'ref': 'authorityspoke.rules.Rule:96271548281184', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'absent': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'enactments': {'metadata': {}, 'schema': {'default': EnactmentGroup([]), 'schema': {'function': {'function': <bound method Rule.select_enactment_text of <class 'authorityspoke.rules.Rule'>>, 'type': 'no-info'}, 'schema': {'function': {'function': <bound method Rule.validate_enactment_groups of <class 'authorityspoke.rules.Rule'>>, 'type': 'no-info'}, 'schema': {'schema_ref': 'legislice.groups.EnactmentGroup:96271533573280', 'type': 'definition-ref'}, 'type': 'function-before'}, 'type': 'function-after'}, 'type': 'default'}, 'type': 'model-field'}, 'enactments_despite': {'metadata': {}, 'schema': {'default': EnactmentGroup([]), 'schema': {'function': {'function': <bound method Rule.select_enactment_text of <class 'authorityspoke.rules.Rule'>>, 'type': 'no-info'}, 'schema': {'function': {'function': <bound method Rule.validate_enactment_groups of <class 'authorityspoke.rules.Rule'>>, 'type': 'no-info'}, 'schema': {'schema_ref': 'legislice.groups.EnactmentGroup:96271533573280', 'type': 'definition-ref'}, 'type': 'function-before'}, 'type': 'function-after'}, 'type': 'default'}, 'type': 'model-field'}, 'generic': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'mandatory': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}, 'name': {'metadata': {}, 'schema': {'default': None, 'schema': {'schema': {'type': 'str'}, 'type': 'nullable'}, 'type': 'default'}, 'type': 'model-field'}, 'procedure': {'metadata': {}, 'schema': {'cls': <class 'authorityspoke.procedures.Procedure'>, 'config': {'title': 'Procedure'}, 'custom_init': False, 'metadata': {'pydantic_js_functions': [<bound method BaseModel.__get_pydantic_json_schema__ of <class 'authorityspoke.procedures.Procedure'>>]}, 'ref': 'authorityspoke.procedures.Procedure:96271547885440', 'root_model': False, 'schema': {'computed_fields': [], 'fields': {'despite': {'metadata': {}, 'schema': {'default': [], 'schema': {'function': {'function': <bound method Procedure._validate_factor_groups of <class 'authorityspoke.procedures.Procedure'>>, 'type': 'no-info'}, 'schema': {'items_schema': {'choices': [{'schema_ref': 'authorityspoke.facts.Fact:96271546644960', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Allegation:96271546728512', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Pleading:96271546737760', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Exhibit:96271546734272', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Evidence:96271546736768', 'type': 'definition-ref'}], 'type': 'union'}, 'type': 'list'}, 'type': 'function-before'}, 'type': 'default'}, 'type': 'model-field'}, 'inputs': {'metadata': {}, 'schema': {'default': [], 'schema': {'function': {'function': <bound method Procedure._validate_factor_groups of <class 'authorityspoke.procedures.Procedure'>>, 'type': 'no-info'}, 'schema': {'items_schema': {'choices': [{'schema_ref': 'authorityspoke.facts.Fact:96271546644960', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Allegation:96271546728512', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Pleading:96271546737760', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Exhibit:96271546734272', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Evidence:96271546736768', 'type': 'definition-ref'}], 'type': 'union'}, 'type': 'list'}, 'type': 'function-before'}, 'type': 'default'}, 'type': 'model-field'}, 'name': {'metadata': {}, 'schema': {'default': '', 'schema': {'type': 'str'}, 'type': 'default'}, 'type': 'model-field'}, 'outputs': {'metadata': {}, 'schema': {'function': {'function': <bound method Procedure._validate_outputs of <class 'authorityspoke.procedures.Procedure'>>, 'type': 'no-info'}, 'schema': {'items_schema': {'choices': [{'schema_ref': 'authorityspoke.facts.Fact:96271546644960', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Allegation:96271546728512', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Pleading:96271546737760', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Exhibit:96271546734272', 'type': 'definition-ref'}, {'schema_ref': 'authorityspoke.facts.Evidence:96271546736768', 'type': 'definition-ref'}], 'type': 'union'}, 'type': 'list'}, 'type': 'function-before'}, 'type': 'model-field'}}, 'model_name': 'Procedure', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'universal': {'metadata': {}, 'schema': {'default': False, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'Rule', 'type': 'model-fields'}, 'type': 'model'}, 'type': 'model-field'}, 'rule_valid': {'metadata': {}, 'schema': {'default': True, 'schema': {'type': 'bool'}, 'type': 'default'}, 'type': 'model-field'}}, 'model_name': 'Holding', 'type': 'model-fields'}, 'type': 'function-before'}, 'type': 'model'}, 'type': 'definitions'}
The core schema of the model.
- __pydantic_custom_init__: ClassVar[bool] = False
Whether the model has a custom __init__ method.
- __pydantic_decorators__: ClassVar[_decorators.DecoratorInfos] = DecoratorInfos(validators={}, field_validators={'not_invalid_and_exclusive': Decorator(cls_ref='authorityspoke.holdings.Holding:96271548710480', cls_var_name='not_invalid_and_exclusive', func=<bound method Holding.not_invalid_and_exclusive of <class 'authorityspoke.holdings.Holding'>>, shim=None, info=FieldValidatorDecoratorInfo(fields=('exclusive',), mode='after', check_fields=None, json_schema_input_type=PydanticUndefined)), 'not_undecided_and_exclusive': Decorator(cls_ref='authorityspoke.holdings.Holding:96271548710480', cls_var_name='not_undecided_and_exclusive', func=<bound method Holding.not_undecided_and_exclusive of <class 'authorityspoke.holdings.Holding'>>, shim=None, info=FieldValidatorDecoratorInfo(fields=('exclusive',), mode='after', check_fields=None, json_schema_input_type=PydanticUndefined))}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={'nest_factor_fields': Decorator(cls_ref='authorityspoke.holdings.Holding:96271548710480', cls_var_name='nest_factor_fields', func=<bound method Holding.nest_factor_fields of <class 'authorityspoke.holdings.Holding'>>, shim=None, info=ModelValidatorDecoratorInfo(mode='before'))}, computed_fields={})
Metadata containing the decorators defined on the model. This replaces Model.__validators__ and Model.__root_validators__ from Pydantic V1.
- __pydantic_fields__: ClassVar[Dict[str, FieldInfo]] = {'absent': FieldInfo(annotation=bool, required=False, default=False), 'decided': FieldInfo(annotation=bool, required=False, default=True), 'exclusive': FieldInfo(annotation=bool, required=False, default=False), 'generic': FieldInfo(annotation=bool, required=False, default=False), 'rule': FieldInfo(annotation=Rule, required=True), 'rule_valid': FieldInfo(annotation=bool, required=False, default=True)}
A dictionary of field names and their corresponding [FieldInfo][pydantic.fields.FieldInfo] objects. This replaces Model.__fields__ from Pydantic V1.
- __pydantic_generic_metadata__: ClassVar[_generics.PydanticGenericMetadata] = {'args': (), 'origin': None, 'parameters': ()}
Metadata for generic models; contains data used for a similar purpose to __args__, __origin__, __parameters__ in typing-module generics. May eventually be replaced by these.
- __pydantic_parent_namespace__: ClassVar[Dict[str, Any] | None] = None
Parent namespace of the model, used for automatic rebuilding of models.
- __pydantic_post_init__: ClassVar[None | Literal['model_post_init']] = None
The name of the post-init method for the model, if defined.
- __pydantic_serializer__: ClassVar[SchemaSerializer] = SchemaSerializer(serializer=Model( ModelSerializer { class: Py( 0x0000578ef7767e50, ), serializer: Fields( GeneralFieldsSerializer { fields: { "decided": SerField { key_py: Py( 0x00007ea2c2e9a970, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07110c0, ), ), serializer: Bool( BoolSerializer, ), }, ), ), required: true, }, "generic": SerField { key_py: Py( 0x00007ea2debabcc0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07110e0, ), ), serializer: Bool( BoolSerializer, ), }, ), ), required: true, }, "exclusive": SerField { key_py: Py( 0x00007ea2d5f349f0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07110e0, ), ), serializer: Bool( BoolSerializer, ), }, ), ), required: true, }, "absent": SerField { key_py: Py( 0x00007ea2deb1c6c0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07110e0, ), ), serializer: Bool( BoolSerializer, ), }, ), ), required: true, }, "rule": SerField { key_py: Py( 0x00007ea2deb9b330, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x0000578ef76ff160, ), serializer: Fields( GeneralFieldsSerializer { fields: { "enactments_despite": SerField { key_py: Py( 0x00007ea2c2ed2030, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2c35a4e60, ), ), serializer: Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), }, ), ), required: true, }, "name": SerField { key_py: Py( 0x00007ea2e081aa68, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07274c0, ), ), serializer: Nullable( NullableSerializer { serializer: Str( StrSerializer, ), }, ), }, ), ), required: true, }, "procedure": SerField { key_py: Py( 0x00007ea2de97adb0, ), alias: None, alias_py: None, serializer: Some( Model( ModelSerializer { class: Py( 0x0000578ef769e780, ), serializer: Fields( GeneralFieldsSerializer { fields: { "inputs": SerField { key_py: Py( 0x00007ea2d5f58c60, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2c2d141c0, ), ), serializer: List( ListSerializer { item_serializer: Union( UnionSerializer { choices: [ Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ], name: "Union[definition-ref, definition-ref, definition-ref, definition-ref, definition-ref]", }, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[Union[definition-ref, definition-ref, definition-ref, definition-ref, definition-ref]]", }, ), }, ), ), required: true, }, "despite": SerField { key_py: Py( 0x00007ea2c3240ba0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2c2d14200, ), ), serializer: List( ListSerializer { item_serializer: Union( UnionSerializer { choices: [ Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ], name: "Union[definition-ref, definition-ref, definition-ref, definition-ref, definition-ref]", }, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[Union[definition-ref, definition-ref, definition-ref, definition-ref, definition-ref]]", }, ), }, ), ), required: true, }, "outputs": SerField { key_py: Py( 0x00007ea2c2e9bea0, ), alias: None, alias_py: None, serializer: Some( List( ListSerializer { item_serializer: Union( UnionSerializer { choices: [ Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), ], name: "Union[definition-ref, definition-ref, definition-ref, definition-ref, definition-ref]", }, ), filter: SchemaFilter { include: None, exclude: None, }, name: "list[Union[definition-ref, definition-ref, definition-ref, definition-ref, definition-ref]]", }, ), ), required: true, }, "name": SerField { key_py: Py( 0x00007ea2e081aa68, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e0814230, ), ), serializer: Str( StrSerializer, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 4, }, ), has_extra: false, root_model: false, name: "Procedure", }, ), ), required: true, }, "universal": SerField { key_py: Py( 0x00007ea2df9ed070, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07110e0, ), ), serializer: Bool( BoolSerializer, ), }, ), ), required: true, }, "enactments": SerField { key_py: Py( 0x00007ea2d479eb70, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2c2da4730, ), ), serializer: Recursive( DefinitionRefSerializer { definition: "...", retry_with_lax_check: true, }, ), }, ), ), required: true, }, "absent": SerField { key_py: Py( 0x00007ea2deb1c6c0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07110e0, ), ), serializer: Bool( BoolSerializer, ), }, ), ), required: true, }, "mandatory": SerField { key_py: Py( 0x00007ea2dfc269b0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07110e0, ), ), serializer: Bool( BoolSerializer, ), }, ), ), required: true, }, "generic": SerField { key_py: Py( 0x00007ea2debabcc0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07110e0, ), ), serializer: Bool( BoolSerializer, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 8, }, ), has_extra: false, root_model: false, name: "Rule", }, ), ), required: true, }, "rule_valid": SerField { key_py: Py( 0x00007ea2c2ed6970, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007ea2e07110c0, ), ), serializer: Bool( BoolSerializer, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 6, }, ), has_extra: false, root_model: false, name: "Holding", }, ), definitions=[Model(ModelSerializer { class: Py(0x578ef68f84a0), serializer: Fields(GeneralFieldsSerializer { fields: {"passages": SerField { key_py: Py(0x7ea2d46720b0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2d4765580)), serializer: List(ListSerializer { item_serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), filter: SchemaFilter { include: None, exclude: None }, name: "list[definition-ref]" }) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 1 }), has_extra: false, root_model: false, name: "EnactmentGroup" }), Model(ModelSerializer { class: Py(0x578ef6916a50), serializer: Fields(GeneralFieldsSerializer { fields: {"plural": SerField { key_py: Py(0x7ea2dfcc6460), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110e0)), serializer: Bool(BoolSerializer) })), required: true }, "generic": SerField { key_py: Py(0x7ea2debabcc0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110c0)), serializer: Bool(BoolSerializer) })), required: true }, "absent": SerField { key_py: Py(0x7ea2deb1c6c0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110e0)), serializer: Bool(BoolSerializer) })), required: true }, "name": SerField { key_py: Py(0x7ea2e081aa68), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e0814230)), serializer: Str(StrSerializer) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 4 }), has_extra: false, root_model: false, name: "Entity" }), Model(ModelSerializer { class: Py(0x578ef7584040), serializer: Fields(GeneralFieldsSerializer { fields: {"generic": SerField { key_py: Py(0x7ea2debabcc0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110e0)), serializer: Bool(BoolSerializer) })), required: true }, "absent": SerField { key_py: Py(0x7ea2deb1c6c0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110e0)), serializer: Bool(BoolSerializer) })), required: true }, "fact": SerField { key_py: Py(0x7ea2d44c0600), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })), required: true }, "pleading": SerField { key_py: Py(0x7ea2c2d51970), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }) }) })), required: true }, "name": SerField { key_py: Py(0x7ea2e081aa68), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Str(StrSerializer) }) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 5 }), has_extra: false, root_model: false, name: "Allegation" }), Model(ModelSerializer { class: Py(0x578ef69eabd0), serializer: Fields(GeneralFieldsSerializer { fields: {"include_negatives": SerField { key_py: Py(0x7ea2d4623eb0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Bool(BoolSerializer) }) })), required: true }, "quantity": SerField { key_py: Py(0x7ea2d4623630), alias: None, alias_py: None, serializer: Some(Date(DateSerializer)), required: true }, "sign": SerField { key_py: Py(0x7ea2dfc1aca0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2d463e760)), serializer: Str(StrSerializer) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 3 }), has_extra: false, root_model: false, name: "DateRange" }), Model(ModelSerializer { class: Py(0x578ef752dcc0), serializer: Fields(GeneralFieldsSerializer { fields: {"quantity_range": SerField { key_py: Py(0x7ea2d4622af0), alias: None, alias_py: None, serializer: Some(Union(UnionSerializer { choices: [Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })], name: "Union[definition-ref, definition-ref, definition-ref]" })), required: true }, "truth": SerField { key_py: Py(0x7ea2dfc2da40), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110c0)), serializer: Nullable(NullableSerializer { serializer: Bool(BoolSerializer) }) })), required: true }, "content": SerField { key_py: Py(0x7ea2dfb24f00), alias: None, alias_py: None, serializer: Some(Str(StrSerializer)), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 3 }), has_extra: false, root_model: false, name: "Comparison" }), Model(ModelSerializer { class: Py(0x578ef67d3c00), serializer: Fields(GeneralFieldsSerializer { fields: {"suffix": SerField { key_py: Py(0x7ea2e07dd240), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e0814230)), serializer: Str(StrSerializer) })), required: true }, "prefix": SerField { key_py: Py(0x7ea2e07d1300), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e0814230)), serializer: Str(StrSerializer) })), required: true }, "exact": SerField { key_py: Py(0x7ea2dfb975a0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e0814230)), serializer: Str(StrSerializer) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 3 }), has_extra: false, root_model: false, name: "TextQuoteSelector" }), Model(ModelSerializer { class: Py(0x578ef68c4930), serializer: Fields(GeneralFieldsSerializer { fields: {"enactment": SerField { key_py: Py(0x7ea2d479ffb0), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })), required: true }, "selection": SerField { key_py: Py(0x7ea2d467e330), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2d589c0f0)), serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 2 }), has_extra: false, root_model: false, name: "EnactmentPassage" }), Model(ModelSerializer { class: Py(0x578ef67d7490), serializer: Fields(GeneralFieldsSerializer { fields: {"end": SerField { key_py: Py(0x7ea2e0818a48), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Int(IntSerializer) }) })), required: true }, "start": SerField { key_py: Py(0x7ea2e081c3c8), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e080ef28)), serializer: Int(IntSerializer) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 2 }), has_extra: false, root_model: false, name: "TextPositionSelector" }), Model(ModelSerializer { class: Py(0x578ef756f9e0), serializer: Fields(GeneralFieldsSerializer { fields: {"generic": SerField { key_py: Py(0x7ea2debabcc0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110e0)), serializer: Bool(BoolSerializer) })), required: true }, "predicate": SerField { key_py: Py(0x7ea2dfb1b3b0), alias: None, alias_py: None, serializer: Some(Union(UnionSerializer { choices: [Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })], name: "Union[definition-ref, definition-ref]" })), required: true }, "name": SerField { key_py: Py(0x7ea2e081aa68), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e0814230)), serializer: Str(StrSerializer) })), required: true }, "absent": SerField { key_py: Py(0x7ea2deb1c6c0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110e0)), serializer: Bool(BoolSerializer) })), required: true }, "standard_of_proof": SerField { key_py: Py(0x7ea2c2d25df0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Str(StrSerializer) }) })), required: true }, "terms": SerField { key_py: Py(0x7ea2de7547b0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2c2d37e00)), serializer: List(ListSerializer { item_serializer: Union(UnionSerializer { choices: [Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })], name: "Union[definition-ref, definition-ref, definition-ref, definition-ref, definition-ref, definition-ref]" }), filter: SchemaFilter { include: None, exclude: None }, name: "list[Union[definition-ref, definition-ref, definition-ref, definition-ref, definition-ref, definition-ref]]" }) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 6 }), has_extra: false, root_model: false, name: "Fact" }), Model(ModelSerializer { class: Py(0x578ef68ae500), serializer: Fields(GeneralFieldsSerializer { fields: {"earliest_in_db": SerField { key_py: Py(0x7ea2d47a4ef0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Date(DateSerializer) }) })), required: true }, "first_published": SerField { key_py: Py(0x7ea2d47a4f30), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Date(DateSerializer) }) })), required: true }, "node": SerField { key_py: Py(0x7ea2dfb25260), alias: None, alias_py: None, serializer: Some(Str(StrSerializer)), required: true }, "name": SerField { key_py: Py(0x7ea2e081aa68), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e0814230)), serializer: Str(StrSerializer) })), required: true }, "children": SerField { key_py: Py(0x7ea2dfd957f0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2d4777340)), serializer: Union(UnionSerializer { choices: [List(ListSerializer { item_serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), filter: SchemaFilter { include: None, exclude: None }, name: "list[definition-ref]" }), List(ListSerializer { item_serializer: Str(StrSerializer), filter: SchemaFilter { include: None, exclude: None }, name: "list[str]" })], name: "Union[list[definition-ref], list[str]]" }) })), required: true }, "end_date": SerField { key_py: Py(0x7ea2dd70c270), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Date(DateSerializer) }) })), required: true }, "text_version": SerField { key_py: Py(0x7ea2d47a4f70), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }) }) })), required: true }, "heading": SerField { key_py: Py(0x7ea2dfc9b600), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e0814230)), serializer: Str(StrSerializer) })), required: true }, "anchors": SerField { key_py: Py(0x7ea2df828e70), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2d478b2c0)), serializer: Union(UnionSerializer { choices: [Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), List(ListSerializer { item_serializer: Union(UnionSerializer { choices: [Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })], name: "Union[definition-ref, definition-ref]" }), filter: SchemaFilter { include: None, exclude: None }, name: "list[Union[definition-ref, definition-ref]]" })], name: "Union[definition-ref, list[Union[definition-ref, definition-ref]]]" }) })), required: true }, "start_date": SerField { key_py: Py(0x7ea2d47a52b0), alias: None, alias_py: None, serializer: Some(Date(DateSerializer)), required: true }, "citations": SerField { key_py: Py(0x7ea2df771130), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2d4789780)), serializer: List(ListSerializer { item_serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), filter: SchemaFilter { include: None, exclude: None }, name: "list[definition-ref]" }) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 11 }), has_extra: false, root_model: false, name: "Enactment" }), Model(ModelSerializer { class: Py(0x578ef68a7730), serializer: Fields(GeneralFieldsSerializer { fields: {"content": SerField { key_py: Py(0x7ea2dfb24f00), alias: None, alias_py: None, serializer: Some(Str(StrSerializer)), required: true }, "url": SerField { key_py: Py(0x7ea2df904180), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Str(StrSerializer) }) })), required: true }, "id": SerField { key_py: Py(0x7ea2e08197d0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Int(IntSerializer) }) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 3 }), has_extra: false, root_model: false, name: "TextVersion" }), Model(ModelSerializer { class: Py(0x578ef7586460), serializer: Fields(GeneralFieldsSerializer { fields: {"absent": SerField { key_py: Py(0x7ea2deb1c6c0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110e0)), serializer: Bool(BoolSerializer) })), required: true }, "generic": SerField { key_py: Py(0x7ea2debabcc0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110e0)), serializer: Bool(BoolSerializer) })), required: true }, "filer": SerField { key_py: Py(0x7ea2c2e9bdb0), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })), required: true }, "name": SerField { key_py: Py(0x7ea2e081aa68), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Str(StrSerializer) }) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 4 }), has_extra: false, root_model: false, name: "Pleading" }), Model(ModelSerializer { class: Py(0x578ef6927810), serializer: Fields(GeneralFieldsSerializer { fields: {"truth": SerField { key_py: Py(0x7ea2dfc2da40), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110c0)), serializer: Nullable(NullableSerializer { serializer: Bool(BoolSerializer) }) })), required: true }, "content": SerField { key_py: Py(0x7ea2dfb24f00), alias: None, alias_py: None, serializer: Some(Str(StrSerializer)), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 2 }), has_extra: false, root_model: false, name: "Predicate" }), Model(ModelSerializer { class: Py(0x578ef5e5cfc0), serializer: Fields(GeneralFieldsSerializer { fields: {"target_url": SerField { key_py: Py(0x7ea2d47a5430), alias: None, alias_py: None, serializer: Some(Str(StrSerializer)), required: true }, "reference_text": SerField { key_py: Py(0x7ea2d47a53f0), alias: None, alias_py: None, serializer: Some(Str(StrSerializer)), required: true }, "target_uri": SerField { key_py: Py(0x7ea2d47a5470), alias: None, alias_py: None, serializer: Some(Str(StrSerializer)), required: true }, "target_node": SerField { key_py: Py(0x7ea2de752f30), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Int(IntSerializer) }) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 4 }), has_extra: false, root_model: false, name: "CrossReference" }), Model(ModelSerializer { class: Py(0x578ef75856c0), serializer: Fields(GeneralFieldsSerializer { fields: {"statement_attribution": SerField { key_py: Py(0x7ea2c2d510b0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }) }) })), required: true }, "statement": SerField { key_py: Py(0x7ea2e081c3f8), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }) }) })), required: true }, "name": SerField { key_py: Py(0x7ea2e081aa68), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Str(StrSerializer) }) })), required: true }, "absent": SerField { key_py: Py(0x7ea2deb1c6c0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110e0)), serializer: Bool(BoolSerializer) })), required: true }, "generic": SerField { key_py: Py(0x7ea2debabcc0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110e0)), serializer: Bool(BoolSerializer) })), required: true }, "offered_by": SerField { key_py: Py(0x7ea2c2d34db0), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })), required: true }, "form": SerField { key_py: Py(0x7ea2de307960), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Str(StrSerializer) }) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 7 }), has_extra: false, root_model: false, name: "Exhibit" }), Model(ModelSerializer { class: Py(0x578ef67da0d0), serializer: Fields(GeneralFieldsSerializer { fields: {"quotes": SerField { key_py: Py(0x7ea2df7b13e0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2d5814500)), serializer: List(ListSerializer { item_serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), filter: SchemaFilter { include: None, exclude: None }, name: "list[definition-ref]" }) })), required: true }, "positions": SerField { key_py: Py(0x7ea2dfb31b30), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2d473b4c0)), serializer: List(ListSerializer { item_serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }), filter: SchemaFilter { include: None, exclude: None }, name: "list[definition-ref]" }) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 2 }), has_extra: false, root_model: false, name: "TextPositionSet" }), Model(ModelSerializer { class: Py(0x578ef7518bb0), serializer: Fields(GeneralFieldsSerializer { fields: {"quantity_units": SerField { key_py: Py(0x7ea2d4623770), alias: None, alias_py: None, serializer: Some(Str(StrSerializer)), required: true }, "include_negatives": SerField { key_py: Py(0x7ea2d4623eb0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Bool(BoolSerializer) }) })), required: true }, "quantity_magnitude": SerField { key_py: Py(0x7ea2d46237b0), alias: None, alias_py: None, serializer: Some(Decimal(DecimalSerializer)), required: true }, "sign": SerField { key_py: Py(0x7ea2dfc1aca0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2d463e760)), serializer: Str(StrSerializer) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 4 }), has_extra: false, root_model: false, name: "UnitRange" }), Model(ModelSerializer { class: Py(0x578ef752c3a0), serializer: Fields(GeneralFieldsSerializer { fields: {"include_negatives": SerField { key_py: Py(0x7ea2d4623eb0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Bool(BoolSerializer) }) })), required: true }, "quantity": SerField { key_py: Py(0x7ea2d4623630), alias: None, alias_py: None, serializer: Some(Decimal(DecimalSerializer)), required: true }, "sign": SerField { key_py: Py(0x7ea2dfc1aca0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2d463e760)), serializer: Str(StrSerializer) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 3 }), has_extra: false, root_model: false, name: "DecimalRange" }), Model(ModelSerializer { class: Py(0x578ef7586080), serializer: Fields(GeneralFieldsSerializer { fields: {"exhibit": SerField { key_py: Py(0x7ea2c2e9a0d0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }) }) })), required: true }, "to_effect": SerField { key_py: Py(0x7ea2c2d51630), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true }) }) })), required: true }, "name": SerField { key_py: Py(0x7ea2e081aa68), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07274c0)), serializer: Nullable(NullableSerializer { serializer: Str(StrSerializer) }) })), required: true }, "generic": SerField { key_py: Py(0x7ea2debabcc0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110e0)), serializer: Bool(BoolSerializer) })), required: true }, "absent": SerField { key_py: Py(0x7ea2deb1c6c0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110e0)), serializer: Bool(BoolSerializer) })), required: true }}, computed_fields: Some(ComputedFields([])), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None }, required_fields: 5 }), has_extra: false, root_model: false, name: "Evidence" })])
The pydantic-core SchemaSerializer used to dump instances of the model.
- __pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="Holding", validator=Model( ModelValidator { revalidate: Never, validator: FunctionBefore( FunctionBeforeValidator { validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "generic", lookup_key: Simple { key: "generic", py_key: Py( 0x00007ea2c2d027f0, ), path: LookupPath( [ S( "generic", Py( 0x00007ea2c2d02820, ), ), ], ), }, name_py: Py( 0x00007ea2debabcc0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07110e0, ), ), on_error: Raise, validator: Bool( BoolValidator { strict: false, }, ), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "absent", lookup_key: Simple { key: "absent", py_key: Py( 0x00007ea2c2d02850, ), path: LookupPath( [ S( "absent", Py( 0x00007ea2c2d02880, ), ), ], ), }, name_py: Py( 0x00007ea2deb1c6c0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07110e0, ), ), on_error: Raise, validator: Bool( BoolValidator { strict: false, }, ), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "rule", lookup_key: Simple { key: "rule", py_key: Py( 0x00007ea2c2d02b50, ), path: LookupPath( [ S( "rule", Py( 0x00007ea2c2d02b80, ), ), ], ), }, name_py: Py( 0x00007ea2deb9b330, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "generic", lookup_key: Simple { key: "generic", py_key: Py( 0x00007ea2c2d028b0, ), path: LookupPath( [ S( "generic", Py( 0x00007ea2c2d028e0, ), ), ], ), }, name_py: Py( 0x00007ea2debabcc0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07110e0, ), ), on_error: Raise, validator: Bool( BoolValidator { strict: false, }, ), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "absent", lookup_key: Simple { key: "absent", py_key: Py( 0x00007ea2c2d02910, ), path: LookupPath( [ S( "absent", Py( 0x00007ea2c2d02940, ), ), ], ), }, name_py: Py( 0x00007ea2deb1c6c0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07110e0, ), ), on_error: Raise, validator: Bool( BoolValidator { strict: false, }, ), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "procedure", lookup_key: Simple { key: "procedure", py_key: Py( 0x00007ea2c35a8f70, ), path: LookupPath( [ S( "procedure", Py( 0x00007ea2c35aa870, ), ), ], ), }, name_py: Py( 0x00007ea2de97adb0, ), validator: Model( ModelValidator { revalidate: Never, validator: ModelFields( ModelFieldsValidator { fields: [ Field { name: "outputs", lookup_key: Simple { key: "outputs", py_key: Py( 0x00007ea2c2d02970, ), path: LookupPath( [ S( "outputs", Py( 0x00007ea2c2d029a0, ), ), ], ), }, name_py: Py( 0x00007ea2c2e9bea0, ), validator: FunctionBefore( FunctionBeforeValidator { validator: List( ListValidator { strict: false, item_validator: Some( Union( UnionValidator { mode: Smart, choices: [ ( DefinitionRef( DefinitionRefValidator { definition: "Fact", }, ), None, ), ( DefinitionRef( DefinitionRefValidator { definition: "Allegation", }, ), None, ), ( DefinitionRef( DefinitionRefValidator { definition: "Pleading", }, ), None, ), ( DefinitionRef( DefinitionRefValidator { definition: "Exhibit", }, ), None, ), ( DefinitionRef( DefinitionRefValidator { definition: "Evidence", }, ), None, ), ], custom_error: None, strict: false, name: "union[Fact,Allegation,Pleading,Exhibit,Evidence]", }, ), ), min_length: None, max_length: None, name: OnceLock( "list[union[Fact,Allegation,Pleading,Exhibit,Evidence]]", ), fail_fast: false, }, ), func: Py( 0x00007ea2c3649540, ), config: Py( 0x00007ea2c3263b80, ), name: "function-before[_validate_outputs(), list[union[Fact,Allegation,Pleading,Exhibit,Evidence]]]", field_name: None, info_arg: false, }, ), frozen: false, }, Field { name: "inputs", lookup_key: Simple { key: "inputs", py_key: Py( 0x00007ea2c2d029d0, ), path: LookupPath( [ S( "inputs", Py( 0x00007ea2c2d02a00, ), ), ], ), }, name_py: Py( 0x00007ea2d5f58c60, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2c2d141c0, ), ), on_error: Raise, validator: FunctionBefore( FunctionBeforeValidator { validator: List( ListValidator { strict: false, item_validator: Some( Union( UnionValidator { mode: Smart, choices: [ ( DefinitionRef( DefinitionRefValidator { definition: "Fact", }, ), None, ), ( DefinitionRef( DefinitionRefValidator { definition: "Allegation", }, ), None, ), ( DefinitionRef( DefinitionRefValidator { definition: "Pleading", }, ), None, ), ( DefinitionRef( DefinitionRefValidator { definition: "Exhibit", }, ), None, ), ( DefinitionRef( DefinitionRefValidator { definition: "Evidence", }, ), None, ), ], custom_error: None, strict: false, name: "union[Fact,Allegation,Pleading,Exhibit,Evidence]", }, ), ), min_length: None, max_length: None, name: OnceLock( "list[union[Fact,Allegation,Pleading,Exhibit,Evidence]]", ), fail_fast: false, }, ), func: Py( 0x00007ea2c38396c0, ), config: Py( 0x00007ea2c3263b80, ), name: "function-before[_validate_factor_groups(), list[union[Fact,Allegation,Pleading,Exhibit,Evidence]]]", field_name: None, info_arg: false, }, ), validate_default: false, copy_default: true, name: "default[function-before[_validate_factor_groups(), list[union[Fact,Allegation,Pleading,Exhibit,Evidence]]]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "despite", lookup_key: Simple { key: "despite", py_key: Py( 0x00007ea2c2d02a30, ), path: LookupPath( [ S( "despite", Py( 0x00007ea2c2d02a60, ), ), ], ), }, name_py: Py( 0x00007ea2c3240ba0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2c2d14200, ), ), on_error: Raise, validator: FunctionBefore( FunctionBeforeValidator { validator: List( ListValidator { strict: false, item_validator: Some( Union( UnionValidator { mode: Smart, choices: [ ( DefinitionRef( DefinitionRefValidator { definition: "Fact", }, ), None, ), ( DefinitionRef( DefinitionRefValidator { definition: "Allegation", }, ), None, ), ( DefinitionRef( DefinitionRefValidator { definition: "Pleading", }, ), None, ), ( DefinitionRef( DefinitionRefValidator { definition: "Exhibit", }, ), None, ), ( DefinitionRef( DefinitionRefValidator { definition: "Evidence", }, ), None, ), ], custom_error: None, strict: false, name: "union[Fact,Allegation,Pleading,Exhibit,Evidence]", }, ), ), min_length: None, max_length: None, name: OnceLock( "list[union[Fact,Allegation,Pleading,Exhibit,Evidence]]", ), fail_fast: false, }, ), func: Py( 0x00007ea2c38396c0, ), config: Py( 0x00007ea2c3263b80, ), name: "function-before[_validate_factor_groups(), list[union[Fact,Allegation,Pleading,Exhibit,Evidence]]]", field_name: None, info_arg: false, }, ), validate_default: false, copy_default: true, name: "default[function-before[_validate_factor_groups(), list[union[Fact,Allegation,Pleading,Exhibit,Evidence]]]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "name", lookup_key: Simple { key: "name", py_key: Py( 0x00007ea2c2d02a90, ), path: LookupPath( [ S( "name", Py( 0x00007ea2c2d02ac0, ), ), ], ), }, name_py: Py( 0x00007ea2e081aa68, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e0814230, ), ), on_error: Raise, validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), validate_default: false, copy_default: false, name: "default[str]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, ], model_name: "Procedure", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000578ef769e780, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007ea2d5547da0, ), name: "Procedure", }, ), frozen: false, }, Field { name: "enactments", lookup_key: Simple { key: "enactments", py_key: Py( 0x00007ea2c35a9670, ), path: LookupPath( [ S( "enactments", Py( 0x00007ea2c35aa430, ), ), ], ), }, name_py: Py( 0x00007ea2d479eb70, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2c2da4730, ), ), on_error: Raise, validator: FunctionAfter( FunctionAfterValidator { validator: FunctionBefore( FunctionBeforeValidator { validator: DefinitionRef( DefinitionRefValidator { definition: "EnactmentGroup", }, ), func: Py( 0x00007ea2c3a568c0, ), config: Py( 0x00007ea2c2db4080, ), name: "function-before[validate_enactment_groups(), EnactmentGroup]", field_name: None, info_arg: false, }, ), func: Py( 0x00007ea2c2d93f00, ), config: Py( 0x00007ea2c2db4080, ), name: "function-after[select_enactment_text(), function-before[validate_enactment_groups(), EnactmentGroup]]", field_name: None, info_arg: false, }, ), validate_default: false, copy_default: true, name: "default[function-after[select_enactment_text(), function-before[validate_enactment_groups(), EnactmentGroup]]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "enactments_despite", lookup_key: Simple { key: "enactments_despite", py_key: Py( 0x00007ea2c35a8370, ), path: LookupPath( [ S( "enactments_despite", Py( 0x00007ea2c35a8230, ), ), ], ), }, name_py: Py( 0x00007ea2c2ed2030, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2c35a4e60, ), ), on_error: Raise, validator: FunctionAfter( FunctionAfterValidator { validator: FunctionBefore( FunctionBeforeValidator { validator: DefinitionRef( DefinitionRefValidator { definition: "EnactmentGroup", }, ), func: Py( 0x00007ea2c3a568c0, ), config: Py( 0x00007ea2c2db4080, ), name: "function-before[validate_enactment_groups(), EnactmentGroup]", field_name: None, info_arg: false, }, ), func: Py( 0x00007ea2c2d93f00, ), config: Py( 0x00007ea2c2db4080, ), name: "function-after[select_enactment_text(), function-before[validate_enactment_groups(), EnactmentGroup]]", field_name: None, info_arg: false, }, ), validate_default: false, copy_default: true, name: "default[function-after[select_enactment_text(), function-before[validate_enactment_groups(), EnactmentGroup]]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "mandatory", lookup_key: Simple { key: "mandatory", py_key: Py( 0x00007ea2c35aa7b0, ), path: LookupPath( [ S( "mandatory", Py( 0x00007ea2c2d51070, ), ), ], ), }, name_py: Py( 0x00007ea2dfc269b0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07110e0, ), ), on_error: Raise, validator: Bool( BoolValidator { strict: false, }, ), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "universal", lookup_key: Simple { key: "universal", py_key: Py( 0x00007ea2c2d51230, ), path: LookupPath( [ S( "universal", Py( 0x00007ea2c2d512f0, ), ), ], ), }, name_py: Py( 0x00007ea2df9ed070, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07110e0, ), ), on_error: Raise, validator: Bool( BoolValidator { strict: false, }, ), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "name", lookup_key: Simple { key: "name", py_key: Py( 0x00007ea2c2d02af0, ), path: LookupPath( [ S( "name", Py( 0x00007ea2c2d02b20, ), ), ], ), }, name_py: Py( 0x00007ea2e081aa68, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07274c0, ), ), on_error: Raise, validator: Nullable( NullableValidator { validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), name: "nullable[str]", }, ), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, ], model_name: "Rule", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), class: Py( 0x0000578ef76ff160, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007ea2d5547da0, ), name: "Rule", }, ), frozen: false, }, Field { name: "rule_valid", lookup_key: Simple { key: "rule_valid", py_key: Py( 0x00007ea2c2d51170, ), path: LookupPath( [ S( "rule_valid", Py( 0x00007ea2c2d51430, ), ), ], ), }, name_py: Py( 0x00007ea2c2ed6970, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07110c0, ), ), on_error: Raise, validator: Bool( BoolValidator { strict: false, }, ), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "decided", lookup_key: Simple { key: "decided", py_key: Py( 0x00007ea2c2d02bb0, ), path: LookupPath( [ S( "decided", Py( 0x00007ea2c2d02be0, ), ), ], ), }, name_py: Py( 0x00007ea2c2e9a970, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07110c0, ), ), on_error: Raise, validator: Bool( BoolValidator { strict: false, }, ), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, Field { name: "exclusive", lookup_key: Simple { key: "exclusive", py_key: Py( 0x00007ea2c2d510f0, ), path: LookupPath( [ S( "exclusive", Py( 0x00007ea2c2d511b0, ), ), ], ), }, name_py: Py( 0x00007ea2d5f349f0, ), validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007ea2e07110e0, ), ), on_error: Raise, validator: FunctionAfter( FunctionAfterValidator { validator: FunctionAfter( FunctionAfterValidator { validator: Bool( BoolValidator { strict: false, }, ), func: Py( 0x00007ea2c396f400, ), config: Py( 0x00007ea2c2db4e80, ), name: "function-after[not_invalid_and_exclusive(), bool]", field_name: Some( Py( 0x00007ea2d5f349f0, ), ), info_arg: true, }, ), func: Py( 0x00007ea2c3ee95c0, ), config: Py( 0x00007ea2c2db4e80, ), name: "function-after[not_undecided_and_exclusive(), function-after[not_invalid_and_exclusive(), bool]]", field_name: Some( Py( 0x00007ea2d5f349f0, ), ), info_arg: true, }, ), validate_default: false, copy_default: false, name: "default[function-after[not_undecided_and_exclusive(), function-after[not_invalid_and_exclusive(), bool]]]", undefined: Py( 0x00007ea2d5547da0, ), }, ), frozen: false, }, ], model_name: "Holding", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true, }, ), func: Py( 0x00007ea2d402b400, ), config: Py( 0x00007ea2c2db4e80, ), name: "function-before[nest_factor_fields(), model-fields]", field_name: None, info_arg: false, }, ), class: Py( 0x0000578ef7767e50, ), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py( 0x00007ea2d5547da0, ), name: "Holding", }, ), definitions=[Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "sign", lookup_key: Simple { key: "sign", py_key: Py(0x7ea2c2d018f0), path: LookupPath([S("sign", Py(0x7ea2c2d01a70))]) }, name_py: Py(0x7ea2dfc1aca0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2d463e760)), on_error: Raise, validator: FunctionAfter(FunctionAfterValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), func: Py(0x7ea2c3a6ed40), config: Py(0x7ea2c2db6780), name: "function-after[check_sign(), str]", field_name: None, info_arg: false }), validate_default: false, copy_default: false, name: "default[function-after[check_sign(), str]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "include_negatives", lookup_key: Simple { key: "include_negatives", py_key: Py(0x7ea2c2ecd5b0), path: LookupPath([S("include_negatives", Py(0x7ea2c2ecd630))]) }, name_py: Py(0x7ea2d4623eb0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Bool(BoolValidator { strict: false }), name: "nullable[bool]" }), validate_default: false, copy_default: false, name: "default[nullable[bool]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "quantity_magnitude", lookup_key: Simple { key: "quantity_magnitude", py_key: Py(0x7ea2c2ecd1f0), path: LookupPath([S("quantity_magnitude", Py(0x7ea2c2ecd0f0))]) }, name_py: Py(0x7ea2d46237b0), validator: Decimal(DecimalValidator { strict: false, allow_inf_nan: false, check_digits: false, multiple_of: None, le: None, lt: None, ge: None, gt: None, max_digits: None, decimal_places: None }), frozen: false }, Field { name: "quantity_units", lookup_key: Simple { key: "quantity_units", py_key: Py(0x7ea2c2ecd2f0), path: LookupPath([S("quantity_units", Py(0x7ea2c2ecf6f0))]) }, name_py: Py(0x7ea2d4623770), validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), frozen: false }], model_name: "UnitRange", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x578ef7518bb0), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "UnitRange" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "generic", lookup_key: Simple { key: "generic", py_key: Py(0x7ea2c2d01bc0), path: LookupPath([S("generic", Py(0x7ea2c2d01b90))]) }, name_py: Py(0x7ea2debabcc0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110e0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "absent", lookup_key: Simple { key: "absent", py_key: Py(0x7ea2c2d01b00), path: LookupPath([S("absent", Py(0x7ea2c2d01c50))]) }, name_py: Py(0x7ea2deb1c6c0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110e0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "filer", lookup_key: Simple { key: "filer", py_key: Py(0x7ea2c2d01980), path: LookupPath([S("filer", Py(0x7ea2c2d01ce0))]) }, name_py: Py(0x7ea2c2e9bdb0), validator: DefinitionRef(DefinitionRefValidator { definition: "Entity" }), frozen: false }, Field { name: "name", lookup_key: Simple { key: "name", py_key: Py(0x7ea2c2d01cb0), path: LookupPath([S("name", Py(0x7ea2c2d01c80))]) }, name_py: Py(0x7ea2e081aa68), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), name: "nullable[str]" }), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }], model_name: "Pleading", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x578ef7586460), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "Pleading" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "sign", lookup_key: Simple { key: "sign", py_key: Py(0x7ea2c2d01a40), path: LookupPath([S("sign", Py(0x7ea2c2d019b0))]) }, name_py: Py(0x7ea2dfc1aca0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2d463e760)), on_error: Raise, validator: FunctionAfter(FunctionAfterValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), func: Py(0x7ea2d42cca00), config: Py(0x7ea2c2db6c40), name: "function-after[check_sign(), str]", field_name: None, info_arg: false }), validate_default: false, copy_default: false, name: "default[function-after[check_sign(), str]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "include_negatives", lookup_key: Simple { key: "include_negatives", py_key: Py(0x7ea2c2ecd030), path: LookupPath([S("include_negatives", Py(0x7ea2c2ecd730))]) }, name_py: Py(0x7ea2d4623eb0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Bool(BoolValidator { strict: false }), name: "nullable[bool]" }), validate_default: false, copy_default: false, name: "default[nullable[bool]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "quantity", lookup_key: Simple { key: "quantity", py_key: Py(0x7ea2c2ecd0b0), path: LookupPath([S("quantity", Py(0x7ea2c2ecd070))]) }, name_py: Py(0x7ea2d4623630), validator: Date(DateValidator { strict: false, constraints: None }), frozen: false }], model_name: "DateRange", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x578ef69eabd0), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "DateRange" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "node", lookup_key: Simple { key: "node", py_key: Py(0x7ea2c2d02670), path: LookupPath([S("node", Py(0x7ea2c2d026a0))]) }, name_py: Py(0x7ea2dfb25260), validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), frozen: false }, Field { name: "start_date", lookup_key: Simple { key: "start_date", py_key: Py(0x7ea2c2ecf5f0), path: LookupPath([S("start_date", Py(0x7ea2c2ecceb0))]) }, name_py: Py(0x7ea2d47a52b0), validator: Date(DateValidator { strict: false, constraints: None }), frozen: false }, Field { name: "heading", lookup_key: Simple { key: "heading", py_key: Py(0x7ea2c2d026d0), path: LookupPath([S("heading", Py(0x7ea2c2d02700))]) }, name_py: Py(0x7ea2dfc9b600), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e0814230)), on_error: Raise, validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), validate_default: false, copy_default: false, name: "default[str]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "text_version", lookup_key: Simple { key: "text_version", py_key: Py(0x7ea2c2ecf770), path: LookupPath([S("text_version", Py(0x7ea2c2ecdbf0))]) }, name_py: Py(0x7ea2d47a4f70), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: FunctionBefore(FunctionBeforeValidator { validator: Nullable(NullableValidator { validator: DefinitionRef(DefinitionRefValidator { definition: "TextVersion" }), name: "nullable[TextVersion]" }), func: Py(0x7ea2d4776680), config: Py(0x7ea2c2d7c2c0), name: "function-before[make_text_version_from_str(), nullable[TextVersion]]", field_name: None, info_arg: false }), validate_default: false, copy_default: false, name: "default[function-before[make_text_version_from_str(), nullable[TextVersion]]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "end_date", lookup_key: Simple { key: "end_date", py_key: Py(0x7ea2c2ecd8b0), path: LookupPath([S("end_date", Py(0x7ea2c2ecd9f0))]) }, name_py: Py(0x7ea2dd70c270), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Date(DateValidator { strict: false, constraints: None }), name: "nullable[date]" }), validate_default: false, copy_default: false, name: "default[nullable[date]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "first_published", lookup_key: Simple { key: "first_published", py_key: Py(0x7ea2c2ecd3b0), path: LookupPath([S("first_published", Py(0x7ea2c2ecdb70))]) }, name_py: Py(0x7ea2d47a4f30), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Date(DateValidator { strict: false, constraints: None }), name: "nullable[date]" }), validate_default: false, copy_default: false, name: "default[nullable[date]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "earliest_in_db", lookup_key: Simple { key: "earliest_in_db", py_key: Py(0x7ea2c2eccd70), path: LookupPath([S("earliest_in_db", Py(0x7ea2c2ecfaf0))]) }, name_py: Py(0x7ea2d47a4ef0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Date(DateValidator { strict: false, constraints: None }), name: "nullable[date]" }), validate_default: false, copy_default: false, name: "default[nullable[date]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "anchors", lookup_key: Simple { key: "anchors", py_key: Py(0x7ea2c2d02730), path: LookupPath([S("anchors", Py(0x7ea2c2d02760))]) }, name_py: Py(0x7ea2df828e70), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2d478b2c0)), on_error: Raise, validator: Union(UnionValidator { mode: Smart, choices: [(DefinitionRef(DefinitionRefValidator { definition: "TextPositionSet" }), None), (List(ListValidator { strict: false, item_validator: Some(Union(UnionValidator { mode: Smart, choices: [(DefinitionRef(DefinitionRefValidator { definition: "function-after[start_less_than_end(), TextPositionSelector]" }), None), (DefinitionRef(DefinitionRefValidator { definition: "TextQuoteSelector" }), None)], custom_error: None, strict: false, name: "union[function-after[start_less_than_end(), TextPositionSelector],TextQuoteSelector]" })), min_length: None, max_length: None, name: OnceLock("list[union[function-after[start_less_than_end(), TextPositionSelector],TextQuoteSelector]]"), fail_fast: false }), None)], custom_error: None, strict: false, name: "union[TextPositionSet,list[union[function-after[start_less_than_end(), TextPositionSelector],TextQuoteSelector]]]" }), validate_default: false, copy_default: true, name: "default[union[TextPositionSet,list[union[function-after[start_less_than_end(), TextPositionSelector],TextQuoteSelector]]]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "citations", lookup_key: Simple { key: "citations", py_key: Py(0x7ea2c2ecf9b0), path: LookupPath([S("citations", Py(0x7ea2c301ddb0))]) }, name_py: Py(0x7ea2df771130), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2d4789780)), on_error: Raise, validator: List(ListValidator { strict: false, item_validator: Some(DefinitionRef(DefinitionRefValidator { definition: "CrossReference" })), min_length: None, max_length: None, name: OnceLock("list[CrossReference]"), fail_fast: false }), validate_default: false, copy_default: true, name: "default[list[CrossReference]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "name", lookup_key: Simple { key: "name", py_key: Py(0x7ea2c2d02790), path: LookupPath([S("name", Py(0x7ea2c2d027c0))]) }, name_py: Py(0x7ea2e081aa68), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e0814230)), on_error: Raise, validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), validate_default: false, copy_default: false, name: "default[str]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "children", lookup_key: Simple { key: "children", py_key: Py(0x7ea2c301f1f0), path: LookupPath([S("children", Py(0x7ea2c301e130))]) }, name_py: Py(0x7ea2dfd957f0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2d4777340)), on_error: Raise, validator: Union(UnionValidator { mode: Smart, choices: [(List(ListValidator { strict: false, item_validator: Some(DefinitionRef(DefinitionRefValidator { definition: "..." })), min_length: None, max_length: None, name: OnceLock(<uninit>), fail_fast: false }), None), (List(ListValidator { strict: false, item_validator: Some(Str(StrValidator { strict: false, coerce_numbers_to_str: false })), min_length: None, max_length: None, name: OnceLock("list[str]"), fail_fast: false }), None)], custom_error: None, strict: false, name: "union[list[...],list[str]]" }), validate_default: false, copy_default: true, name: "default[union[list[...],list[str]]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }], model_name: "Enactment", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x578ef68ae500), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "Enactment" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "target_uri", lookup_key: Simple { key: "target_uri", py_key: Py(0x7ea2c2ecd670), path: LookupPath([S("target_uri", Py(0x7ea2c2ecf970))]) }, name_py: Py(0x7ea2d47a5470), validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), frozen: false }, Field { name: "target_url", lookup_key: Simple { key: "target_url", py_key: Py(0x7ea2c2ecf670), path: LookupPath([S("target_url", Py(0x7ea2c2ecf630))]) }, name_py: Py(0x7ea2d47a5430), validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), frozen: false }, Field { name: "reference_text", lookup_key: Simple { key: "reference_text", py_key: Py(0x7ea2c2ecd8f0), path: LookupPath([S("reference_text", Py(0x7ea2c2eccff0))]) }, name_py: Py(0x7ea2d47a53f0), validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), frozen: false }, Field { name: "target_node", lookup_key: Simple { key: "target_node", py_key: Py(0x7ea2c2eccdf0), path: LookupPath([S("target_node", Py(0x7ea2c2ecd370))]) }, name_py: Py(0x7ea2de752f30), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Int(IntValidator { strict: false }), name: "nullable[int]" }), validate_default: false, copy_default: false, name: "default[nullable[int]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }], model_name: "CrossReference", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x578ef5e5cfc0), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "CrossReference" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "generic", lookup_key: Simple { key: "generic", py_key: Py(0x7ea2c2d01d10), path: LookupPath([S("generic", Py(0x7ea2c2d01d40))]) }, name_py: Py(0x7ea2debabcc0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110e0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "absent", lookup_key: Simple { key: "absent", py_key: Py(0x7ea2c2d01d70), path: LookupPath([S("absent", Py(0x7ea2c2d01da0))]) }, name_py: Py(0x7ea2deb1c6c0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110e0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "offered_by", lookup_key: Simple { key: "offered_by", py_key: Py(0x7ea2c2ecd6b0), path: LookupPath([S("offered_by", Py(0x7ea2c2ecd170))]) }, name_py: Py(0x7ea2c2d34db0), validator: DefinitionRef(DefinitionRefValidator { definition: "Entity" }), frozen: false }, Field { name: "form", lookup_key: Simple { key: "form", py_key: Py(0x7ea2c2d01dd0), path: LookupPath([S("form", Py(0x7ea2c2d01e00))]) }, name_py: Py(0x7ea2de307960), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), name: "nullable[str]" }), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "statement", lookup_key: Simple { key: "statement", py_key: Py(0x7ea2c2ecd7f0), path: LookupPath([S("statement", Py(0x7ea2c2eccf70))]) }, name_py: Py(0x7ea2e081c3f8), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: DefinitionRef(DefinitionRefValidator { definition: "Fact" }), name: "nullable[...]" }), validate_default: false, copy_default: false, name: "default[nullable[...]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "statement_attribution", lookup_key: Simple { key: "statement_attribution", py_key: Py(0x7ea2c2ecd5f0), path: LookupPath([S("statement_attribution", Py(0x7ea2c2ecd570))]) }, name_py: Py(0x7ea2c2d510b0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: DefinitionRef(DefinitionRefValidator { definition: "Entity" }), name: "nullable[Entity]" }), validate_default: false, copy_default: false, name: "default[nullable[Entity]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "name", lookup_key: Simple { key: "name", py_key: Py(0x7ea2c2d01e30), path: LookupPath([S("name", Py(0x7ea2c2d01e60))]) }, name_py: Py(0x7ea2e081aa68), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), name: "nullable[str]" }), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }], model_name: "Exhibit", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x578ef75856c0), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "Exhibit" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "content", lookup_key: Simple { key: "content", py_key: Py(0x7ea2c2d02310), path: LookupPath([S("content", Py(0x7ea2c2d02340))]) }, name_py: Py(0x7ea2dfb24f00), validator: FunctionAfter(FunctionAfterValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), func: Py(0x7ea2d4777700), config: Py(0x7ea2c2d7e6c0), name: "function-after[content_exists(), str]", field_name: None, info_arg: false }), frozen: false }, Field { name: "url", lookup_key: Simple { key: "url", py_key: Py(0x7ea2c2d02370), path: LookupPath([S("url", Py(0x7ea2c2d023a0))]) }, name_py: Py(0x7ea2df904180), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), name: "nullable[str]" }), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "id", lookup_key: Simple { key: "id", py_key: Py(0x7ea2c2d023d0), path: LookupPath([S("id", Py(0x7ea2c2d02400))]) }, name_py: Py(0x7ea2e08197d0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Int(IntValidator { strict: false }), name: "nullable[int]" }), validate_default: false, copy_default: false, name: "default[nullable[int]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }], model_name: "TextVersion", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x578ef68a7730), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "TextVersion" }), Model(ModelValidator { revalidate: Never, validator: FunctionBefore(FunctionBeforeValidator { validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "generic", lookup_key: Simple { key: "generic", py_key: Py(0x7ea2c2d01e90), path: LookupPath([S("generic", Py(0x7ea2c2d01ec0))]) }, name_py: Py(0x7ea2debabcc0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110e0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "absent", lookup_key: Simple { key: "absent", py_key: Py(0x7ea2c2d01ef0), path: LookupPath([S("absent", Py(0x7ea2c2d01f20))]) }, name_py: Py(0x7ea2deb1c6c0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110e0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "exhibit", lookup_key: Simple { key: "exhibit", py_key: Py(0x7ea2c2d01f50), path: LookupPath([S("exhibit", Py(0x7ea2c2d01f80))]) }, name_py: Py(0x7ea2c2e9a0d0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: DefinitionRef(DefinitionRefValidator { definition: "Exhibit" }), name: "nullable[Exhibit]" }), validate_default: false, copy_default: false, name: "default[nullable[Exhibit]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "to_effect", lookup_key: Simple { key: "to_effect", py_key: Py(0x7ea2c2ecd430), path: LookupPath([S("to_effect", Py(0x7ea2c2ecd130))]) }, name_py: Py(0x7ea2c2d51630), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: DefinitionRef(DefinitionRefValidator { definition: "Fact" }), name: "nullable[...]" }), validate_default: false, copy_default: false, name: "default[nullable[...]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "name", lookup_key: Simple { key: "name", py_key: Py(0x7ea2c2d01fb0), path: LookupPath([S("name", Py(0x7ea2c2d01fe0))]) }, name_py: Py(0x7ea2e081aa68), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), name: "nullable[str]" }), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }], model_name: "Evidence", extra_behavior: Forbid, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), func: Py(0x7ea2c2d37080), config: Py(0x7ea2c2d7fdc0), name: "function-before[check_type_field(), model-fields]", field_name: None, info_arg: false }), class: Py(0x578ef7586080), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "Evidence" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "content", lookup_key: Simple { key: "content", py_key: Py(0x7ea2c2d01b60), path: LookupPath([S("content", Py(0x7ea2c2d01bf0))]) }, name_py: Py(0x7ea2dfb24f00), validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), frozen: false }, Field { name: "truth", lookup_key: Simple { key: "truth", py_key: Py(0x7ea2c2d01830), path: LookupPath([S("truth", Py(0x7ea2c2d01800))]) }, name_py: Py(0x7ea2dfc2da40), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Bool(BoolValidator { strict: false }), name: "nullable[bool]" }), validate_default: false, copy_default: false, name: "default[nullable[bool]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }], model_name: "Predicate", extra_behavior: Forbid, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x578ef6927810), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "Predicate" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "generic", lookup_key: Simple { key: "generic", py_key: Py(0x7ea2c2d02190), path: LookupPath([S("generic", Py(0x7ea2c2d021c0))]) }, name_py: Py(0x7ea2debabcc0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110e0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "absent", lookup_key: Simple { key: "absent", py_key: Py(0x7ea2c2d021f0), path: LookupPath([S("absent", Py(0x7ea2c2d02220))]) }, name_py: Py(0x7ea2deb1c6c0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110e0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "fact", lookup_key: Simple { key: "fact", py_key: Py(0x7ea2c2d02250), path: LookupPath([S("fact", Py(0x7ea2c2d02280))]) }, name_py: Py(0x7ea2d44c0600), validator: DefinitionRef(DefinitionRefValidator { definition: "Fact" }), frozen: false }, Field { name: "pleading", lookup_key: Simple { key: "pleading", py_key: Py(0x7ea2c2ecf8f0), path: LookupPath([S("pleading", Py(0x7ea2c2ecf930))]) }, name_py: Py(0x7ea2c2d51970), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: DefinitionRef(DefinitionRefValidator { definition: "Pleading" }), name: "nullable[Pleading]" }), validate_default: false, copy_default: false, name: "default[nullable[Pleading]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "name", lookup_key: Simple { key: "name", py_key: Py(0x7ea2c2d022b0), path: LookupPath([S("name", Py(0x7ea2c2d022e0))]) }, name_py: Py(0x7ea2e081aa68), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), name: "nullable[str]" }), validate_default: false, copy_default: false, name: "default[nullable[str]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }], model_name: "Allegation", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x578ef7584040), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "Allegation" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "positions", lookup_key: Simple { key: "positions", py_key: Py(0x7ea2c2ecd830), path: LookupPath([S("positions", Py(0x7ea2c2ecd7b0))]) }, name_py: Py(0x7ea2dfb31b30), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2d473b4c0)), on_error: Raise, validator: FunctionAfter(FunctionAfterValidator { validator: FunctionBefore(FunctionBeforeValidator { validator: List(ListValidator { strict: false, item_validator: Some(DefinitionRef(DefinitionRefValidator { definition: "function-after[start_less_than_end(), TextPositionSelector]" })), min_length: None, max_length: None, name: OnceLock(<uninit>), fail_fast: false }), func: Py(0x7ea2d4739a40), config: Py(0x7ea2c2d7e180), name: "function-before[is_sequence(), list[...]]", field_name: None, info_arg: false }), func: Py(0x7ea2d4739a00), config: Py(0x7ea2c2d7e180), name: "function-after[order_of_selectors(), function-before[is_sequence(), list[...]]]", field_name: None, info_arg: false }), validate_default: false, copy_default: true, name: "default[function-after[order_of_selectors(), function-before[is_sequence(), list[...]]]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "quotes", lookup_key: Simple { key: "quotes", py_key: Py(0x7ea2c2d02430), path: LookupPath([S("quotes", Py(0x7ea2c2d02460))]) }, name_py: Py(0x7ea2df7b13e0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2d5814500)), on_error: Raise, validator: FunctionBefore(FunctionBeforeValidator { validator: List(ListValidator { strict: false, item_validator: Some(DefinitionRef(DefinitionRefValidator { definition: "TextQuoteSelector" })), min_length: None, max_length: None, name: OnceLock(<uninit>), fail_fast: false }), func: Py(0x7ea2d4739a80), config: Py(0x7ea2c2d7e180), name: "function-before[quote_selectors_are_in_list(), list[...]]", field_name: None, info_arg: false }), validate_default: false, copy_default: true, name: "default[function-before[quote_selectors_are_in_list(), list[...]]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }], model_name: "TextPositionSet", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x578ef67da0d0), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "TextPositionSet" }), Model(ModelValidator { revalidate: Never, validator: FunctionBefore(FunctionBeforeValidator { validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "generic", lookup_key: Simple { key: "generic", py_key: Py(0x7ea2c2d02010), path: LookupPath([S("generic", Py(0x7ea2c2d02040))]) }, name_py: Py(0x7ea2debabcc0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110e0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "absent", lookup_key: Simple { key: "absent", py_key: Py(0x7ea2c2d02070), path: LookupPath([S("absent", Py(0x7ea2c2d020a0))]) }, name_py: Py(0x7ea2deb1c6c0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110e0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "predicate", lookup_key: Simple { key: "predicate", py_key: Py(0x7ea2c2ecdb30), path: LookupPath([S("predicate", Py(0x7ea2c2ecce70))]) }, name_py: Py(0x7ea2dfb1b3b0), validator: Union(UnionValidator { mode: Smart, choices: [(DefinitionRef(DefinitionRefValidator { definition: "Predicate" }), None), (DefinitionRef(DefinitionRefValidator { definition: "Comparison" }), None)], custom_error: None, strict: false, name: "union[Predicate,Comparison]" }), frozen: false }, Field { name: "terms", lookup_key: Simple { key: "terms", py_key: Py(0x7ea2c2d020d0), path: LookupPath([S("terms", Py(0x7ea2c2d02100))]) }, name_py: Py(0x7ea2de7547b0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2c2d37e00)), on_error: Raise, validator: FunctionAfter(FunctionAfterValidator { validator: FunctionBefore(FunctionBeforeValidator { validator: List(ListValidator { strict: false, item_validator: Some(Union(UnionValidator { mode: Smart, choices: [(DefinitionRef(DefinitionRefValidator { definition: "Entity" }), None), (DefinitionRef(DefinitionRefValidator { definition: "Fact" }), None), (DefinitionRef(DefinitionRefValidator { definition: "Allegation" }), None), (DefinitionRef(DefinitionRefValidator { definition: "Pleading" }), None), (DefinitionRef(DefinitionRefValidator { definition: "Exhibit" }), None), (DefinitionRef(DefinitionRefValidator { definition: "Evidence" }), None)], custom_error: None, strict: false, name: "union[Entity,...,...,Pleading,Exhibit,Evidence]" })), min_length: None, max_length: None, name: OnceLock("list[union[Entity,...,...,Pleading,Exhibit,Evidence]]"), fail_fast: false }), func: Py(0x7ea2c2d34a40), config: Py(0x7ea2c2d7f240), name: "function-before[terms_as_sequence(), list[union[Entity,...,...,Pleading,Exhibit,Evidence]]]", field_name: Some(Py(0x7ea2de7547b0)), info_arg: true }), func: Py(0x7ea2c2d34e40), config: Py(0x7ea2c2d7f240), name: "function-after[_validate_terms(), function-before[terms_as_sequence(), list[union[Entity,...,...,Pleading,Exhibit,Evidence]]]]", field_name: Some(Py(0x7ea2de7547b0)), info_arg: true }), validate_default: false, copy_default: true, name: "default[function-after[_validate_terms(), function-before[terms_as_sequence(), list[union[Entity,...,...,Pleading,Exhibit,Evidence]]]]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "name", lookup_key: Simple { key: "name", py_key: Py(0x7ea2c2d02130), path: LookupPath([S("name", Py(0x7ea2c2d02160))]) }, name_py: Py(0x7ea2e081aa68), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e0814230)), on_error: Raise, validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), validate_default: false, copy_default: false, name: "default[str]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "standard_of_proof", lookup_key: Simple { key: "standard_of_proof", py_key: Py(0x7ea2c2ecd3f0), path: LookupPath([S("standard_of_proof", Py(0x7ea2c2ecdef0))]) }, name_py: Py(0x7ea2c2d25df0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: FunctionAfter(FunctionAfterValidator { validator: Nullable(NullableValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), name: "nullable[str]" }), func: Py(0x7ea2c2d34c80), config: Py(0x7ea2c2d7f240), name: "function-after[validate_standard_of_proof(), nullable[str]]", field_name: None, info_arg: false }), validate_default: false, copy_default: false, name: "default[function-after[validate_standard_of_proof(), nullable[str]]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }], model_name: "Fact", extra_behavior: Forbid, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), func: Py(0x7ea2c390bcc0), config: Py(0x7ea2c2d7f240), name: "function-before[nest_predicate_fields(), model-fields]", field_name: None, info_arg: false }), class: Py(0x578ef756f9e0), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "Fact" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "exact", lookup_key: Simple { key: "exact", py_key: Py(0x7ea2c2d02550), path: LookupPath([S("exact", Py(0x7ea2c2d02580))]) }, name_py: Py(0x7ea2dfb975a0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e0814230)), on_error: Raise, validator: FunctionBefore(FunctionBeforeValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), func: Py(0x7ea2d4744780), config: Py(0x7ea2c2d7d740), name: "function-before[no_none_for_prefix(), str]", field_name: None, info_arg: false }), validate_default: false, copy_default: false, name: "default[function-before[no_none_for_prefix(), str]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "prefix", lookup_key: Simple { key: "prefix", py_key: Py(0x7ea2c2d025b0), path: LookupPath([S("prefix", Py(0x7ea2c2d025e0))]) }, name_py: Py(0x7ea2e07d1300), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e0814230)), on_error: Raise, validator: FunctionBefore(FunctionBeforeValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), func: Py(0x7ea2d4744780), config: Py(0x7ea2c2d7d740), name: "function-before[no_none_for_prefix(), str]", field_name: None, info_arg: false }), validate_default: false, copy_default: false, name: "default[function-before[no_none_for_prefix(), str]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "suffix", lookup_key: Simple { key: "suffix", py_key: Py(0x7ea2c2d02610), path: LookupPath([S("suffix", Py(0x7ea2c2d02640))]) }, name_py: Py(0x7ea2e07dd240), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e0814230)), on_error: Raise, validator: FunctionBefore(FunctionBeforeValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), func: Py(0x7ea2d4744780), config: Py(0x7ea2c2d7d740), name: "function-before[no_none_for_prefix(), str]", field_name: None, info_arg: false }), validate_default: false, copy_default: false, name: "default[function-before[no_none_for_prefix(), str]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }], model_name: "TextQuoteSelector", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x578ef67d3c00), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "TextQuoteSelector" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "passages", lookup_key: Simple { key: "passages", py_key: Py(0x7ea2c301e570), path: LookupPath([S("passages", Py(0x7ea2c301d2b0))]) }, name_py: Py(0x7ea2d46720b0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2d4765580)), on_error: Raise, validator: FunctionAfter(FunctionAfterValidator { validator: FunctionBefore(FunctionBeforeValidator { validator: List(ListValidator { strict: false, item_validator: Some(DefinitionRef(DefinitionRefValidator { definition: "..." })), min_length: None, max_length: None, name: OnceLock(<uninit>), fail_fast: false }), func: Py(0x7ea2d4774540), config: Py(0x7ea2c2dc0100), name: "function-before[consolidate_passages(), list[...]]", field_name: None, info_arg: false }), func: Py(0x7ea2d4776740), config: Py(0x7ea2c2dc0100), name: "function-after[sort_passages(), function-before[consolidate_passages(), list[...]]]", field_name: None, info_arg: false }), validate_default: false, copy_default: true, name: "default[function-after[sort_passages(), function-before[consolidate_passages(), list[...]]]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }], model_name: "EnactmentGroup", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x578ef68f84a0), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "EnactmentGroup" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "sign", lookup_key: Simple { key: "sign", py_key: Py(0x7ea2c2d01890), path: LookupPath([S("sign", Py(0x7ea2c2d018c0))]) }, name_py: Py(0x7ea2dfc1aca0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2d463e760)), on_error: Raise, validator: FunctionAfter(FunctionAfterValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), func: Py(0x7ea2c35a8f40), config: Py(0x7ea2c2db6200), name: "function-after[check_sign(), str]", field_name: None, info_arg: false }), validate_default: false, copy_default: false, name: "default[function-after[check_sign(), str]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "include_negatives", lookup_key: Simple { key: "include_negatives", py_key: Py(0x7ea2c2ece030), path: LookupPath([S("include_negatives", Py(0x7ea2c2ecd530))]) }, name_py: Py(0x7ea2d4623eb0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Bool(BoolValidator { strict: false }), name: "nullable[bool]" }), validate_default: false, copy_default: false, name: "default[nullable[bool]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "quantity", lookup_key: Simple { key: "quantity", py_key: Py(0x7ea2c2ecf6b0), path: LookupPath([S("quantity", Py(0x7ea2c2ecd9b0))]) }, name_py: Py(0x7ea2d4623630), validator: Decimal(DecimalValidator { strict: false, allow_inf_nan: false, check_digits: false, multiple_of: None, le: None, lt: None, ge: None, gt: None, max_digits: None, decimal_places: None }), frozen: false }], model_name: "DecimalRange", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x578ef752c3a0), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "DecimalRange" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "enactment", lookup_key: Simple { key: "enactment", py_key: Py(0x7ea2d469ed70), path: LookupPath([S("enactment", Py(0x7ea2c35a8c30))]) }, name_py: Py(0x7ea2d479ffb0), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }, Field { name: "selection", lookup_key: Simple { key: "selection", py_key: Py(0x7ea2c35a8630), path: LookupPath([S("selection", Py(0x7ea2c35a8570))]) }, name_py: Py(0x7ea2d467e330), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2d589c0f0)), on_error: Raise, validator: DefinitionRef(DefinitionRefValidator { definition: "TextPositionSet" }), validate_default: false, copy_default: true, name: "default[TextPositionSet]", undefined: Py(0x7ea2d5547da0) }), frozen: false }], model_name: "EnactmentPassage", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x578ef68c4930), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "EnactmentPassage" }), Model(ModelValidator { revalidate: Never, validator: FunctionBefore(FunctionBeforeValidator { validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "generic", lookup_key: Simple { key: "generic", py_key: Py(0x7ea2c2d01740), path: LookupPath([S("generic", Py(0x7ea2c2d01710))]) }, name_py: Py(0x7ea2debabcc0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110c0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "absent", lookup_key: Simple { key: "absent", py_key: Py(0x7ea2c2d016e0), path: LookupPath([S("absent", Py(0x7ea2c2d017d0))]) }, name_py: Py(0x7ea2deb1c6c0), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110e0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "name", lookup_key: Simple { key: "name", py_key: Py(0x7ea2c2d016b0), path: LookupPath([S("name", Py(0x7ea2c2d019e0))]) }, name_py: Py(0x7ea2e081aa68), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e0814230)), on_error: Raise, validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), validate_default: false, copy_default: false, name: "default[str]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "plural", lookup_key: Simple { key: "plural", py_key: Py(0x7ea2c2d01920), path: LookupPath([S("plural", Py(0x7ea2c2d01950))]) }, name_py: Py(0x7ea2dfcc6460), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110e0)), on_error: Raise, validator: Bool(BoolValidator { strict: false }), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py(0x7ea2d5547da0) }), frozen: false }], model_name: "Entity", extra_behavior: Forbid, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), func: Py(0x7ea2d469fc00), config: Py(0x7ea2c2db5d40), name: "function-before[validate_type(), model-fields]", field_name: None, info_arg: false }), class: Py(0x578ef6916a50), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "Entity" }), FunctionAfter(FunctionAfterValidator { validator: Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "start", lookup_key: Simple { key: "start", py_key: Py(0x7ea2c2d02490), path: LookupPath([S("start", Py(0x7ea2c2d024c0))]) }, name_py: Py(0x7ea2e081c3c8), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e080ef28)), on_error: Raise, validator: FunctionAfter(FunctionAfterValidator { validator: Int(IntValidator { strict: false }), func: Py(0x7ea2d473b100), config: Py(0x7ea2c2d7dd00), name: "function-after[start_not_negative(), int]", field_name: None, info_arg: false }), validate_default: false, copy_default: false, name: "default[function-after[start_not_negative(), int]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "end", lookup_key: Simple { key: "end", py_key: Py(0x7ea2c2d024f0), path: LookupPath([S("end", Py(0x7ea2c2d02520))]) }, name_py: Py(0x7ea2e0818a48), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07274c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Int(IntValidator { strict: false }), name: "nullable[int]" }), validate_default: false, copy_default: false, name: "default[nullable[int]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }], model_name: "TextPositionSelector", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), class: Py(0x578ef67d7490), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "TextPositionSelector" }), func: Py(0x7ea2d470a2a0), config: Py(0x7ea2c3cf24c0), name: "function-after[start_less_than_end(), TextPositionSelector]", field_name: None, info_arg: false }), Model(ModelValidator { revalidate: Never, validator: FunctionBefore(FunctionBeforeValidator { validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "content", lookup_key: Simple { key: "content", py_key: Py(0x7ea2c2d01860), path: LookupPath([S("content", Py(0x7ea2c2d01770))]) }, name_py: Py(0x7ea2dfb24f00), validator: FunctionAfter(FunctionAfterValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), func: Py(0x7ea2c3a1ce00), config: Py(0x7ea2c2db5780), name: "function-after[content_ends_with_was(), str]", field_name: None, info_arg: false }), frozen: false }, Field { name: "truth", lookup_key: Simple { key: "truth", py_key: Py(0x7ea2c2d001e0), path: LookupPath([S("truth", Py(0x7ea2c2d01650))]) }, name_py: Py(0x7ea2dfc2da40), validator: WithDefault(WithDefaultValidator { default: Default(Py(0x7ea2e07110c0)), on_error: Raise, validator: Nullable(NullableValidator { validator: Bool(BoolValidator { strict: false }), name: "nullable[bool]" }), validate_default: false, copy_default: false, name: "default[nullable[bool]]", undefined: Py(0x7ea2d5547da0) }), frozen: false }, Field { name: "quantity_range", lookup_key: Simple { key: "quantity_range", py_key: Py(0x7ea2c358fcf0), path: LookupPath([S("quantity_range", Py(0x7ea2c36949f0))]) }, name_py: Py(0x7ea2d4622af0), validator: Union(UnionValidator { mode: Smart, choices: [(DefinitionRef(DefinitionRefValidator { definition: "..." }), None), (DefinitionRef(DefinitionRefValidator { definition: "..." }), None), (DefinitionRef(DefinitionRefValidator { definition: "..." }), None)], custom_error: None, strict: false, name: "union[...,...,...]" }), frozen: false }], model_name: "Comparison", extra_behavior: Ignore, extras_validator: None, strict: false, from_attributes: false, loc_by_alias: true }), func: Py(0x7ea2c3b8cf40), config: Py(0x7ea2c2db5780), name: "function-before[set_quantity_range(), model-fields]", field_name: None, info_arg: false }), class: Py(0x578ef752dcc0), generic_origin: None, post_init: None, frozen: false, custom_init: false, root_model: false, undefined: Py(0x7ea2d5547da0), name: "Comparison" })], cache_strings=True)
The pydantic-core SchemaValidator used to validate instances of the model.
- __signature__: ClassVar[Signature] = <Signature (*, generic: bool = False, absent: bool = False, rule: authorityspoke.rules.Rule, rule_valid: bool = True, decided: bool = True, exclusive: bool = False) -> None>
The synthesized __init__ [Signature][inspect.Signature] of the model.
- __weakref__
list of weak references to the object
- model_config: ClassVar[ConfigDict] = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].