text: # coding: utf-8
  
  """
      OpenAPI Petstore
  
      This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\  # noqa: E501
  
      The version of the OpenAPI document: 1.0.0
      Generated by: https://openapi-generator.tech
  """
  
  import re  # noqa: F401
  import sys  # noqa: F401
  import typing  # noqa: F401
  
  from frozendict import frozendict  # noqa: F401
  
  import decimal  # noqa: F401
  from datetime import date, datetime  # noqa: F401
  from frozendict import frozendict  # noqa: F401
  
  from petstore_api.schemas import (  # noqa: F401
      AnyTypeSchema,
      ComposedSchema,
      DictSchema,
      ListSchema,
      StrSchema,
      IntSchema,
      Int32Schema,
      Int64Schema,
      Float32Schema,
      Float64Schema,
      NumberSchema,
      UUIDSchema,
      DateSchema,
      DateTimeSchema,
      DecimalSchema,
      BoolSchema,
      BinarySchema,
      NoneSchema,
      none_type,
      Configuration,
      Unset,
      unset,
      ComposedBase,
      ListBase,
      DictBase,
      NoneBase,
      StrBase,
      IntBase,
      Int32Base,
      Int64Base,
      Float32Base,
      Float64Base,
      NumberBase,
      UUIDBase,
      DateBase,
      DateTimeBase,
      BoolBase,
      BinaryBase,
      Schema,
      _SchemaValidator,
      _SchemaTypeChecker,
      _SchemaEnumMaker
  )
  
  
  class Pig(
      ComposedSchema
  ):
      """NOTE: This class is auto generated by OpenAPI Generator.
      Ref: https://openapi-generator.tech
  
      Do not edit the class manually.
      """
  
      @classmethod
      @property
      def _discriminator(cls):
          return {
              'className': {
                  'BasquePig': BasquePig,
                  'DanishPig': DanishPig,
              }
          }
  
      @classmethod
      @property
      def _composed_schemas(cls):
          # we need this here to make our import statements work
          # we must store _composed_schemas in here so the code is only run
          # when we invoke this method. If we kept this at the class
          # level we would get an error because the class level
          # code would be run when this module is imported, and these composed
          # classes don't exist yet because their module has not finished
          # loading
          return {
              'allOf': [
              ],
              'oneOf': [
                  BasquePig,
                  DanishPig,
              ],
              'anyOf': [
              ],
              'not':
                  None
          }
  
      def __new__(
          cls,
          *args: typing.Union[dict, frozendict, str, date, datetime, int, float, decimal.Decimal, None, list, tuple, bytes],
          _configuration: typing.Optional[Configuration] = None,
          **kwargs: typing.Type[Schema],
      ) -> 'Pig':
          return super().__new__(
              cls,
              *args,
              _configuration=_configuration,
              **kwargs,
          )
  
  from petstore_api.model.basque_pig import BasquePig
  from petstore_api.model.danish_pig import DanishPig
  