Rules

digraph inheritancecf74e4e3a3 { bgcolor=transparent; rankdir=LR; size="8.0, 12.0"; "ABC" [URL="https://docs.python.org/3/library/abc.html#abc.ABC",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Helper class that provides a standard way to create an ABC using"]; "BaseModel" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Usage docs: https://docs.pydantic.dev/2.10/concepts/models/"]; "Comparable" [URL="https://nettlesome.readthedocs.io/en/latest/api/comparable.html#nettlesome.terms.Comparable",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Objects that can be compared for implication, same meaning, contradiction, and consistency."]; "ABC" -> "Comparable" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Rule" [URL="#authorityspoke.rules.Rule",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="A statement of a legal doctrine about a :class:`.Procedure` for litigation."]; "Comparable" -> "Rule" [arrowsize=0.5,style="setlinewidth(0.5)"]; "BaseModel" -> "Rule" [arrowsize=0.5,style="setlinewidth(0.5)"]; }
class authorityspoke.rules.Rule(**data)

A statement of a legal doctrine about a Procedure for litigation.

May decide some aspect of current litigation, and also potentially may be cited and reused by future courts. When Rules appear as judicial holdings they are often hypothetical and don’t necessarily imply that the court accepts the Fact assertions or other Factors that make up the inputs or outputs of the Procedure mentioned in the Rule.

Parameters:
  • procedure – a Procedure containing the inputs, and despite Factors and resulting outputs when this rule is triggered.

  • enactments – the Enactments cited as authority for invoking the procedure.

  • enactments_despite – the Enactments specifically cited as failing to preclude application of the procedure.

  • mandatory – whether the procedure is mandatory for the court to apply whenever the Rule is properly invoked. False means that the procedure is “discretionary”.

  • universalTrue if the procedure is applicable whenever its inputs are present. False means that the procedure is applicable in “some” situation where the inputs are present.

  • generic – whether the Rule is being mentioned in a generic context. e.g., if the Rule is being mentioned in an Argument object merely as an example of the kind of Rule that might be mentioned in such an Argument.

  • name – an identifier used to retrieve this Rule when needed for the composition of another Factor object.

classmethod validate_enactment_groups(v)

Convert EnactmentPassage to EnactmentGroup.

Return type:

EnactmentGroup

classmethod select_enactment_text(v)

For Enactments with no text selection, select all text.

Return type:

EnactmentGroup

property despite

Get despite Factors as a FactorGroup.

property inputs

Get input Factors as a FactorGroup.

property outputs

Get output Factors as a FactorGroup.

property recursive_terms: Dict[str, Term]

Collect self’s terms, and their terms, recursively.

Returns:

a dict (instead of a set, to preserve order) of Terms.

add(other, context=None)

Create new Rule by using the outputs of self as inputs of other.

Return type:

Optional[Rule]

__add__(other)

Create new Rule if self can satisfy the inputs of other.

If both self and other have False for universal, then returns None. Otherwise:

If the union of the inputs and outputs of self would trigger other, then return a new version of self with the output Factors of other as well as the outputs of self.

The new universal and mandatory values are the lesser of the old values for each.

Does not test whether self could be triggered by the outputs of other. Use other + self for that.

Parameters:

other – another Rule to try to add to self

Return type:

Optional[Rule]

Returns:

a combined Rule that extends the procedural move made in self, if possible. Otherwise None.

get_contrapositives()

Make contrapositive forms of this Rule.

Used when converting from JSON input containing the entry "exclusive": True, which means the specified inputs` are the only way to reach the specified output. When that happens, it can be inferred that in the absence of any of the inputs, the output must also be absent. (Multiple outputs are not allowed when the exclusive flag is True.) So, this generator will yield one new Rule for each input.

Return type:

Iterator[Rule]

Returns:

iterator yielding Rules.

property terms: TermSequence

Call Procedure’s terms() method.

Returns:

terms from self’s Procedure

generic_terms_by_str()

Get Factors that can be replaced without changing selfs meaning.

Return type:

Dict[str, Comparable]

Returns:

generic Factors from self’s Procedure

add_enactment(incoming)

Add Enactment and sort self’s Enactments.

Parameters:

incoming (Enactment) – the new Enactment to be added to enactments

Return type:

None

Returns:

None

add_enactment_despite(incoming)

Add “despite” Enactment and sort self’s “despite” Enactments.

Parameters:

incoming (Enactment) – the new Enactment to be added to enactments_despite

Return type:

None

Returns:

None

with_enactment(incoming)

Create new Rule with added Enactment.

Parameters:

incoming (Enactment) – the new Enactment to be added to enactments_despite

Return type:

Rule

Returns:

a new version of self with the specified change

with_enactment_despite(incoming)

Create new Rule with added “despite” Enactment.

Parameters:

incoming (Enactment) – the new Enactment to be added to enactments_despite

Return type:

Rule

Returns:

a new version of self with the specified change

add_factor(incoming)

Add a Factor to self.inputs.

Parameters:

incoming (Factor) – the new Factor to be added to input

Return type:

None

with_factor(incoming)

Make new version of self with an added input Factor.

Parameters:

incoming (Factor) – the new Factor to be added to input

Return type:

Optional[Rule]

Returns:

a new version of self with the specified change

comparable_with(other)

Check if other can be compared to self for implication or contradiction.

Return type:

bool

contradicts(other, context=None)

Test if self contradicts other.

Return type:

bool

Returns:

whether self contradicts other, if each is posited by a Holding with rule_valid` and decided

explanations_contradiction(other, context=None)

Find context matches that would result in a contradiction with other.

Return type:

Iterator[ContextRegister]

needs_subset_of_enactments(other)

Test whether self's Enactment support is a subset of other's.

A Rule makes a more powerful statement if it relies on fewer Enactments (or applies despite more Enactments).

So this method must return True for self to imply other.

Return type:

bool

explanations_implication(other, context=None)

Find context matches that would result in self implying other.

Return type:

Iterator[ContextRegister]

implies(other, context=None)

Test if self implies other if posited in valid and decided Holdings.

If self relies for support on some Enactment text that other doesn’t, then self doesn’t imply other.

Also, if other specifies that it applies notwithstanding some Enactment not mentioned by self, then self doesn’t imply other.

This will be called as part of the Holding.__ge__() implication function.

Return type:

bool

Returns:

whether self implies other, assuming that both are Rule/s, and rule_valid and decided are True for both of them.

__ge__(other)

Call implies() as an alias.

Return type:

bool

Returns:

bool indicating whether self implies other

__len__()

Count generic Factors needed as context for this Rule.

Returns:

the number of generic Factors needed for self’s Procedure.

has_all_same_enactments(other)

Test if self has Enactments with same meanings as other's.

Parameters:

other (Rule) – another Rule to compare to self.

Return type:

bool

Returns:

whether the means() test passes for all Enactments

explanations_same_meaning(other, context=None)

Find context matches that would result in self and other meaning the same.

Return type:

Iterator[ContextRegister]

means(other, context=None)

Test whether other has the same meaning as self.

Return type:

bool

Returns:

whether other is a Rule with the same meaning as self.

union(other, context=None)

Get new Rule with all the Factors of self and other.

Return type:

Optional[Rule]

__or__(other)

Create new Rule showing combined effect of all inputs of self and other.

This operation is destructive in the sense that the new Rule may not contain all the information that was available in self and other.

This seems to work differently when one Rule implies the other. That could mean there is a union to return even when both Rules are SOME rules. Or it could mean an ALL rule should be returned even though implied is SOME, because implied contributes no information that wasn’t already in greater.

Parameters:

other (Rule) – a Rule to be combined with self.

Return type:

Optional[Rule]

Returns:

a Rule indicating the combined effect of the input and despite Factors of self and other

set_inputs(factors)

Set factors required to invoke this Procedure.

Return type:

None

set_despite(factors)

Set factors that do not preclude application of this Rule.

Return type:

None

set_outputs(factors)

Set the outputs of this Rule.

Return type:

None

set_enactments(enactments)

Set the list of Enactments cited as the basis for this Rule.

Any prior enactments are replaced.

Return type:

None

set_enactments_despite(enactments)

Set the list of Enactments known not to preclude application of this Rule.

Any prior despite enactments are replaced.

Return type:

None

__str__()

Return str(self).

__class_vars__: ClassVar[set[str]] = {'context_factor_names', 'enactment_attr_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.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': '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={'validate_enactment_groups': Decorator(cls_ref='authorityspoke.rules.Rule:96271548281184', cls_var_name='validate_enactment_groups', func=<bound method Rule.validate_enactment_groups of <class 'authorityspoke.rules.Rule'>>, shim=None, info=FieldValidatorDecoratorInfo(fields=('enactments', 'enactments_despite'), mode='before', check_fields=None, json_schema_input_type=PydanticUndefined)), 'select_enactment_text': Decorator(cls_ref='authorityspoke.rules.Rule:96271548281184', cls_var_name='select_enactment_text', func=<bound method Rule.select_enactment_text of <class 'authorityspoke.rules.Rule'>>, shim=None, info=FieldValidatorDecoratorInfo(fields=('enactments', 'enactments_despite'), mode='after', check_fields=None, json_schema_input_type=PydanticUndefined))}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, 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), 'enactments': FieldInfo(annotation=EnactmentGroup, required=False, default=EnactmentGroup([])), 'enactments_despite': FieldInfo(annotation=EnactmentGroup, required=False, default=EnactmentGroup([])), 'generic': FieldInfo(annotation=bool, required=False, default=False), 'mandatory': FieldInfo(annotation=bool, required=False, default=False), 'name': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'procedure': FieldInfo(annotation=Procedure, required=True), 'universal': FieldInfo(annotation=bool, required=False, default=False)}

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(             0x0000578ef76ff160,         ),         serializer: Fields(             GeneralFieldsSerializer {                 fields: {                     "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,                     },                     "absent": SerField {                         key_py: Py(                             0x00007ea2deb1c6c0,                         ),                         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,                     },                     "mandatory": SerField {                         key_py: Py(                             0x00007ea2dfc269b0,                         ),                         alias: None,                         alias_py: None,                         serializer: Some(                             WithDefault(                                 WithDefaultSerializer {                                     default: Default(                                         Py(                                             0x00007ea2e07110e0,                                         ),                                     ),                                     serializer: Bool(                                         BoolSerializer,                                     ),                                 },                             ),                         ),                         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,                     },                     "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,                     },                 },                 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",     }, ), definitions=[Model(ModelSerializer { class: Py(0x578ef7586080), 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 }, "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 }}, 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" }), Model(ModelSerializer { class: Py(0x578ef756f9e0), 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 }, "name": SerField { key_py: Py(0x7ea2e081aa68), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e0814230)), serializer: Str(StrSerializer) })), 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 }, "generic": SerField { key_py: Py(0x7ea2debabcc0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e07110e0)), serializer: Bool(BoolSerializer) })), 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 }, "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 }}, 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(0x578ef67d3c00), serializer: Fields(GeneralFieldsSerializer { fields: {"exact": SerField { key_py: Py(0x7ea2dfb975a0), 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 }, "suffix": SerField { key_py: Py(0x7ea2e07dd240), 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(0x578ef67d7490), serializer: Fields(GeneralFieldsSerializer { fields: {"start": SerField { key_py: Py(0x7ea2e081c3c8), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e080ef28)), serializer: Int(IntSerializer) })), required: true }, "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 }}, 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(0x578ef7584040), serializer: Fields(GeneralFieldsSerializer { fields: {"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 }, "fact": SerField { key_py: Py(0x7ea2d44c0600), alias: None, alias_py: None, serializer: Some(Recursive(DefinitionRefSerializer { definition: "...", retry_with_lax_check: true })), 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(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 }}, 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(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(0x578ef6927810), serializer: Fields(GeneralFieldsSerializer { fields: {"content": SerField { key_py: Py(0x7ea2dfb24f00), alias: None, alias_py: None, serializer: Some(Str(StrSerializer)), 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 }}, 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(0x578ef752dcc0), serializer: Fields(GeneralFieldsSerializer { fields: {"content": SerField { key_py: Py(0x7ea2dfb24f00), alias: None, alias_py: None, serializer: Some(Str(StrSerializer)), 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 }, "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 }}, 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(0x578ef5e5cfc0), serializer: Fields(GeneralFieldsSerializer { fields: {"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 }, "reference_text": SerField { key_py: Py(0x7ea2d47a53f0), alias: None, alias_py: None, serializer: Some(Str(StrSerializer)), required: true }, "target_url": SerField { key_py: Py(0x7ea2d47a5430), 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: 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 }, "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 }, "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 }, "absent": SerField { key_py: Py(0x7ea2deb1c6c0), 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 }, "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 }}, 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(0x578ef69eabd0), serializer: Fields(GeneralFieldsSerializer { fields: {"sign": SerField { key_py: Py(0x7ea2dfc1aca0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2d463e760)), serializer: 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": SerField { key_py: Py(0x7ea2d4623630), alias: None, alias_py: None, serializer: Some(Date(DateSerializer)), 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(0x578ef7518bb0), 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_units": SerField { key_py: Py(0x7ea2d4623770), alias: None, alias_py: None, serializer: Some(Str(StrSerializer)), 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 }, "sign": SerField { key_py: Py(0x7ea2dfc1aca0), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2d463e760)), serializer: Str(StrSerializer) })), required: true }, "quantity": SerField { key_py: Py(0x7ea2d4623630), alias: None, alias_py: None, serializer: Some(Decimal(DecimalSerializer)), 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(0x578ef68a7730), serializer: Fields(GeneralFieldsSerializer { fields: {"content": SerField { key_py: Py(0x7ea2dfb24f00), alias: None, alias_py: None, serializer: Some(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 }, "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 }}, 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(0x578ef68ae500), serializer: Fields(GeneralFieldsSerializer { fields: {"name": SerField { key_py: Py(0x7ea2e081aa68), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e0814230)), serializer: Str(StrSerializer) })), 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 }, "heading": SerField { key_py: Py(0x7ea2dfc9b600), alias: None, alias_py: None, serializer: Some(WithDefault(WithDefaultSerializer { default: Default(Py(0x7ea2e0814230)), serializer: Str(StrSerializer) })), 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 }, "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 }, "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 }, "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 }, "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 }, "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 }, "start_date": SerField { key_py: Py(0x7ea2d47a52b0), alias: None, alias_py: None, serializer: Some(Date(DateSerializer)), 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(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(0x578ef7586460), serializer: Fields(GeneralFieldsSerializer { fields: {"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 }, "filer": SerField { key_py: Py(0x7ea2c2e9bdb0), alias: None, alias_py: None, serializer: Some(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: 4 }), has_extra: false, root_model: false, name: "Pleading" }), Model(ModelSerializer { class: Py(0x578ef6916a50), serializer: Fields(GeneralFieldsSerializer { fields: {"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 }, "plural": SerField { key_py: Py(0x7ea2dfcc6460), 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(0x578ef67da0d0), serializer: Fields(GeneralFieldsSerializer { fields: {"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 }, "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 }}, 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" })])

The pydantic-core SchemaSerializer used to dump instances of the model.

__pydantic_validator__: ClassVar[SchemaValidator | PluggableSchemaValidator] = SchemaValidator(title="Rule", validator=Model(     ModelValidator {         revalidate: Never,         validator: ModelFields(             ModelFieldsValidator {                 fields: [                     Field {                         name: "generic",                         lookup_key: Simple {                             key: "generic",                             py_key: Py(                                 0x00007ea2c2d012f0,                             ),                             path: LookupPath(                                 [                                     S(                                         "generic",                                         Py(                                             0x00007ea2c2d01320,                                         ),                                     ),                                 ],                             ),                         },                         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(                                 0x00007ea2c2d01350,                             ),                             path: LookupPath(                                 [                                     S(                                         "absent",                                         Py(                                             0x00007ea2c2d01380,                                         ),                                     ),                                 ],                             ),                         },                         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(                                 0x00007ea2c2d90bf0,                             ),                             path: LookupPath(                                 [                                     S(                                         "procedure",                                         Py(                                             0x00007ea2c2d908f0,                                         ),                                     ),                                 ],                             ),                         },                         name_py: Py(                             0x00007ea2de97adb0,                         ),                         validator: Model(                             ModelValidator {                                 revalidate: Never,                                 validator: ModelFields(                                     ModelFieldsValidator {                                         fields: [                                             Field {                                                 name: "outputs",                                                 lookup_key: Simple {                                                     key: "outputs",                                                     py_key: Py(                                                         0x00007ea2c2d013b0,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "outputs",                                                                 Py(                                                                     0x00007ea2c2d013e0,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 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(                                                             0x00007ea2c2d80640,                                                         ),                                                         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(                                                         0x00007ea2c2d01410,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "inputs",                                                                 Py(                                                                     0x00007ea2c2d01440,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 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(                                                                     0x00007ea2c2d80640,                                                                 ),                                                                 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(                                                         0x00007ea2c2d01470,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "despite",                                                                 Py(                                                                     0x00007ea2c2d014a0,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 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(                                                                     0x00007ea2c2d80640,                                                                 ),                                                                 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(                                                         0x00007ea2c2d014d0,                                                     ),                                                     path: LookupPath(                                                         [                                                             S(                                                                 "name",                                                                 Py(                                                                     0x00007ea2c2d01500,                                                                 ),                                                             ),                                                         ],                                                     ),                                                 },                                                 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(                                 0x00007ea2c2d910b0,                             ),                             path: LookupPath(                                 [                                     S(                                         "enactments",                                         Py(                                             0x00007ea2c2d911f0,                                         ),                                     ),                                 ],                             ),                         },                         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(                                                     0x00007ea2c2d7b140,                                                 ),                                                 name: "function-before[validate_enactment_groups(), EnactmentGroup]",                                                 field_name: None,                                                 info_arg: false,                                             },                                         ),                                         func: Py(                                             0x00007ea2c2d93f00,                                         ),                                         config: Py(                                             0x00007ea2c2d7b140,                                         ),                                         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(                                 0x00007ea2c2d912b0,                             ),                             path: LookupPath(                                 [                                     S(                                         "enactments_despite",                                         Py(                                             0x00007ea2c2d90fb0,                                         ),                                     ),                                 ],                             ),                         },                         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(                                                     0x00007ea2c2d7b140,                                                 ),                                                 name: "function-before[validate_enactment_groups(), EnactmentGroup]",                                                 field_name: None,                                                 info_arg: false,                                             },                                         ),                                         func: Py(                                             0x00007ea2c2d93f00,                                         ),                                         config: Py(                                             0x00007ea2c2d7b140,                                         ),                                         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(                                 0x00007ea2c2d90db0,                             ),                             path: LookupPath(                                 [                                     S(                                         "mandatory",                                         Py(                                             0x00007ea2c2d91330,                                         ),                                     ),                                 ],                             ),                         },                         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(                                 0x00007ea2c2d910f0,                             ),                             path: LookupPath(                                 [                                     S(                                         "universal",                                         Py(                                             0x00007ea2c2d90ff0,                                         ),                                     ),                                 ],                             ),                         },                         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(                                 0x00007ea2c2d01530,                             ),                             path: LookupPath(                                 [                                     S(                                         "name",                                         Py(                                             0x00007ea2c2d01560,                                         ),                                     ),                                 ],                             ),                         },                         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",     }, ), definitions=[Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "generic", lookup_key: Simple { key: "generic", py_key: Py(0x7ea2c2d00690), path: LookupPath([S("generic", Py(0x7ea2c2d006c0))]) }, 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(0x7ea2c2d00570), path: LookupPath([S("absent", Py(0x7ea2c2d00480))]) }, 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(0x7ea2c2d005d0), path: LookupPath([S("filer", Py(0x7ea2c2d00780))]) }, name_py: Py(0x7ea2c2e9bdb0), validator: DefinitionRef(DefinitionRefValidator { definition: "Entity" }), frozen: false }, Field { name: "name", lookup_key: Simple { key: "name", py_key: Py(0x7ea2c2d007b0), path: LookupPath([S("name", Py(0x7ea2c2d007e0))]) }, 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: "generic", lookup_key: Simple { key: "generic", py_key: Py(0x7ea2c2d00810), path: LookupPath([S("generic", Py(0x7ea2c2d00840))]) }, 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(0x7ea2c2d00870), path: LookupPath([S("absent", Py(0x7ea2c2d008a0))]) }, 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(0x7ea2c2ed2fb0), path: LookupPath([S("offered_by", Py(0x7ea2c2ed31b0))]) }, name_py: Py(0x7ea2c2d34db0), validator: DefinitionRef(DefinitionRefValidator { definition: "Entity" }), frozen: false }, Field { name: "form", lookup_key: Simple { key: "form", py_key: Py(0x7ea2c2d008d0), path: LookupPath([S("form", Py(0x7ea2c2d00900))]) }, 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(0x7ea2c2ed2f70), path: LookupPath([S("statement", Py(0x7ea2c2ed2e70))]) }, 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(0x7ea2c2ed3830), path: LookupPath([S("statement_attribution", Py(0x7ea2c2ed2ff0))]) }, 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(0x7ea2c2d00930), path: LookupPath([S("name", Py(0x7ea2c2d00960))]) }, 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: "generic", lookup_key: Simple { key: "generic", py_key: Py(0x7ea2c2d00c90), path: LookupPath([S("generic", Py(0x7ea2c2d00cc0))]) }, 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(0x7ea2c2d00cf0), path: LookupPath([S("absent", Py(0x7ea2c2d00d20))]) }, 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(0x7ea2c2d00d50), path: LookupPath([S("fact", Py(0x7ea2c2d00d80))]) }, name_py: Py(0x7ea2d44c0600), validator: DefinitionRef(DefinitionRefValidator { definition: "Fact" }), frozen: false }, Field { name: "pleading", lookup_key: Simple { key: "pleading", py_key: Py(0x7ea2c2d92730), path: LookupPath([S("pleading", Py(0x7ea2c2d90830))]) }, 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(0x7ea2c2d00db0), path: LookupPath([S("name", Py(0x7ea2c2d00de0))]) }, 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: "target_uri", lookup_key: Simple { key: "target_uri", py_key: Py(0x7ea2c2d90270), path: LookupPath([S("target_uri", Py(0x7ea2c2d902f0))]) }, 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(0x7ea2c2d93eb0), path: LookupPath([S("target_url", Py(0x7ea2c2d93e70))]) }, 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(0x7ea2c2d909b0), path: LookupPath([S("reference_text", Py(0x7ea2c2d90970))]) }, 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(0x7ea2c2d90b70), path: LookupPath([S("target_node", Py(0x7ea2c2d908b0))]) }, 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: "positions", lookup_key: Simple { key: "positions", py_key: Py(0x7ea2c2d90670), path: LookupPath([S("positions", Py(0x7ea2c2d904b0))]) }, 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(0x7ea2c2d53080), name: "function-before[is_sequence(), list[...]]", field_name: None, info_arg: false }), func: Py(0x7ea2d4739a00), config: Py(0x7ea2c2d53080), 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(0x7ea2c2d00f30), path: LookupPath([S("quotes", Py(0x7ea2c2d00f60))]) }, 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(0x7ea2c2d53080), 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: ModelFields(ModelFieldsValidator { fields: [Field { name: "exact", lookup_key: Simple { key: "exact", py_key: Py(0x7ea2c2d01050), path: LookupPath([S("exact", Py(0x7ea2c2d01080))]) }, 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(0x7ea2c2d52340), 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(0x7ea2c2d010b0), path: LookupPath([S("prefix", Py(0x7ea2c2d010e0))]) }, 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(0x7ea2c2d52340), 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(0x7ea2c2d01110), path: LookupPath([S("suffix", Py(0x7ea2c2d01140))]) }, 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(0x7ea2c2d52340), 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: "content", lookup_key: Simple { key: "content", py_key: Py(0x7ea2c2d00e10), path: LookupPath([S("content", Py(0x7ea2c2d00e40))]) }, name_py: Py(0x7ea2dfb24f00), validator: FunctionAfter(FunctionAfterValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), func: Py(0x7ea2d4777700), config: Py(0x7ea2c2d535c0), 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(0x7ea2c2d00e70), path: LookupPath([S("url", Py(0x7ea2c2d00ea0))]) }, 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(0x7ea2c2d00ed0), path: LookupPath([S("id", Py(0x7ea2c2d00f00))]) }, 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(0x7ea2c2d00990), path: LookupPath([S("generic", Py(0x7ea2c2d009c0))]) }, 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(0x7ea2c2d009f0), path: LookupPath([S("absent", Py(0x7ea2c2d00a20))]) }, 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(0x7ea2c2d00a50), path: LookupPath([S("exhibit", Py(0x7ea2c2d00a80))]) }, 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(0x7ea2c2d38070), path: LookupPath([S("to_effect", Py(0x7ea2c2d3b7f0))]) }, 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(0x7ea2c2d00ab0), path: LookupPath([S("name", Py(0x7ea2c2d00ae0))]) }, 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(0x7ea2c2d78a40), 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: "sign", lookup_key: Simple { key: "sign", py_key: Py(0x7ea2c2d00450), path: LookupPath([S("sign", Py(0x7ea2c2d00510))]) }, 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(0x7ea2c2d7a000), 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(0x7ea2c2ef19f0), path: LookupPath([S("include_negatives", Py(0x7ea2c2ef2030))]) }, 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(0x7ea2c2ef0df0), path: LookupPath([S("quantity", Py(0x7ea2c2ef1ab0))]) }, 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" }), FunctionAfter(FunctionAfterValidator { validator: Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "start", lookup_key: Simple { key: "start", py_key: Py(0x7ea2c2d00f90), path: LookupPath([S("start", Py(0x7ea2c2d00fc0))]) }, 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(0x7ea2c2d52900), 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(0x7ea2c2d00ff0), path: LookupPath([S("end", Py(0x7ea2c2d01020))]) }, 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(0x7ea2c2d90500), name: "function-after[start_less_than_end(), TextPositionSelector]", field_name: None, info_arg: false }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "enactment", lookup_key: Simple { key: "enactment", py_key: Py(0x7ea2c2d90bb0), path: LookupPath([S("enactment", Py(0x7ea2c2d90ab0))]) }, name_py: Py(0x7ea2d479ffb0), validator: DefinitionRef(DefinitionRefValidator { definition: "..." }), frozen: false }, Field { name: "selection", lookup_key: Simple { key: "selection", py_key: Py(0x7ea2c2d90cb0), path: LookupPath([S("selection", Py(0x7ea2c2d90d30))]) }, 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: "content", lookup_key: Simple { key: "content", py_key: Py(0x7ea2c2d00210), path: LookupPath([S("content", Py(0x7ea2c2d004b0))]) }, name_py: Py(0x7ea2dfb24f00), validator: FunctionAfter(FunctionAfterValidator { validator: Str(StrValidator { strict: false, coerce_numbers_to_str: false }), func: Py(0x7ea2c3a1ce00), config: Py(0x7ea2c2d7b740), 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(0x7ea2c2d000f0), path: LookupPath([S("truth", Py(0x7ea2c2d002d0))]) }, 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(0x7ea2c2ef1b30), path: LookupPath([S("quantity_range", Py(0x7ea2c2ef1b70))]) }, 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(0x7ea2c2d7b740), 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" }), Model(ModelValidator { revalidate: Never, validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "node", lookup_key: Simple { key: "node", py_key: Py(0x7ea2c2d01170), path: LookupPath([S("node", Py(0x7ea2c2d011a0))]) }, 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(0x7ea2c2d90a30), path: LookupPath([S("start_date", Py(0x7ea2c2d90930))]) }, name_py: Py(0x7ea2d47a52b0), validator: Date(DateValidator { strict: false, constraints: None }), frozen: false }, Field { name: "heading", lookup_key: Simple { key: "heading", py_key: Py(0x7ea2c2d011d0), path: LookupPath([S("heading", Py(0x7ea2c2d01200))]) }, 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(0x7ea2c2d90470), path: LookupPath([S("text_version", Py(0x7ea2c2d907b0))]) }, 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(0x7ea2c2d50cc0), 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(0x7ea2c2d909f0), path: LookupPath([S("end_date", Py(0x7ea2c2d93e30))]) }, 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(0x7ea2c2d90870), path: LookupPath([S("first_published", Py(0x7ea2c2d907f0))]) }, 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(0x7ea2c2d90430), path: LookupPath([S("earliest_in_db", Py(0x7ea2c2d93df0))]) }, 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(0x7ea2c2d01230), path: LookupPath([S("anchors", Py(0x7ea2c2d01260))]) }, 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(0x7ea2c2d90af0), path: LookupPath([S("citations", Py(0x7ea2c2d90c70))]) }, 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(0x7ea2c2d01290), path: LookupPath([S("name", Py(0x7ea2c2d012c0))]) }, 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(0x7ea2c2d90a70), path: LookupPath([S("children", Py(0x7ea2c2d90cf0))]) }, 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: "content", lookup_key: Simple { key: "content", py_key: Py(0x7ea2c2d00600), path: LookupPath([S("content", Py(0x7ea2c2d00750))]) }, 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(0x7ea2c2d002a0), path: LookupPath([S("truth", Py(0x7ea2c2d00360))]) }, 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: "sign", lookup_key: Simple { key: "sign", py_key: Py(0x7ea2c2d006f0), path: LookupPath([S("sign", Py(0x7ea2c2d00720))]) }, 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(0x7ea2c2d7aa40), 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(0x7ea2c2ef1bb0), path: LookupPath([S("include_negatives", Py(0x7ea2c2ef1db0))]) }, 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(0x7ea2c2ef1c30), path: LookupPath([S("quantity", Py(0x7ea2c2ef13f0))]) }, 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: "sign", lookup_key: Simple { key: "sign", py_key: Py(0x7ea2c2d00660), path: LookupPath([S("sign", Py(0x7ea2c2d00270))]) }, 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(0x7ea2c2d7a4c0), 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(0x7ea2c2ef1a30), path: LookupPath([S("include_negatives", Py(0x7ea2c2ef18f0))]) }, 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(0x7ea2c2ef1130), path: LookupPath([S("quantity_magnitude", Py(0x7ea2c2ef0fb0))]) }, 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(0x7ea2c2ef1170), path: LookupPath([S("quantity_units", Py(0x7ea2c2ef1cb0))]) }, 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: FunctionBefore(FunctionBeforeValidator { validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "generic", lookup_key: Simple { key: "generic", py_key: Py(0x7ea2c2d00b10), path: LookupPath([S("generic", Py(0x7ea2c2d00b40))]) }, 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(0x7ea2c2d00b70), path: LookupPath([S("absent", Py(0x7ea2c2d00ba0))]) }, 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(0x7ea2c2d380f0), path: LookupPath([S("predicate", Py(0x7ea2c2d3bcb0))]) }, 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(0x7ea2c2d00bd0), path: LookupPath([S("terms", Py(0x7ea2c2d00c00))]) }, 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(0x7ea2c2d52dc0), 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(0x7ea2c2d52dc0), 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(0x7ea2c2d00c30), path: LookupPath([S("name", Py(0x7ea2c2d00c60))]) }, 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(0x7ea2c2d38570), path: LookupPath([S("standard_of_proof", Py(0x7ea2c2d38730))]) }, 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(0x7ea2c2d52dc0), 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(0x7ea2c2d52dc0), 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: "passages", lookup_key: Simple { key: "passages", py_key: Py(0x7ea2c2d90c30), path: LookupPath([S("passages", Py(0x7ea2c2d90e30))]) }, 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(0x7ea2c2d51040), name: "function-before[consolidate_passages(), list[...]]", field_name: None, info_arg: false }), func: Py(0x7ea2d4776740), config: Py(0x7ea2c2d51040), 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: FunctionBefore(FunctionBeforeValidator { validator: ModelFields(ModelFieldsValidator { fields: [Field { name: "generic", lookup_key: Simple { key: "generic", py_key: Py(0x7ea2c2d001b0), path: LookupPath([S("generic", Py(0x7ea2c2d00240))]) }, 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(0x7ea2c2d00120), path: LookupPath([S("absent", Py(0x7ea2c2d003c0))]) }, 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(0x7ea2c2d000c0), path: LookupPath([S("name", Py(0x7ea2c2d004e0))]) }, 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(0x7ea2c2d00630), path: LookupPath([S("plural", Py(0x7ea2c2d005a0))]) }, 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(0x7ea2c2d7af00), 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" })], cache_strings=True)

The pydantic-core SchemaValidator used to validate instances of the model.

__signature__: ClassVar[Signature] = <Signature (*, generic: bool = False, absent: bool = False, procedure: authorityspoke.procedures.Procedure, enactments: legislice.groups.EnactmentGroup = EnactmentGroup([]), enactments_despite: legislice.groups.EnactmentGroup = EnactmentGroup([]), mandatory: bool = False, universal: bool = False, name: Optional[str] = None) -> 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].