All classes:
- email_validator.exceptions.EmailNotValidError
- email_validator.exceptions.EmailSyntaxError
- email_validator.exceptions.EmailUndeliverableError
- email_validator.types.ValidatedEmail
- email_validator.syntax.LocalPartValidationResult
- email_validator.syntax.DomainNameValidationResult
- email_validator.syntax.DomainLiteralValidationResult
All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: '...fuzz_validator'
    functionSourceFile: '...fuzz_validator'
    functionUses: 0
    functionsReached:
    - atheris.Fuzz
    - atheris.Setup
    - atheris.instrument_all
    - '...fuzz_validator.main'
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 23
    functionName: '...fuzz_validator.TestOneInput'
    functionSourceFile: '...fuzz_validator'
    functionUses: 0
    functionsReached:
    - email_validator.syntax.get_length_reason
    - email_validator.syntax.validate_email_domain_literal
    - email_validator.syntax.split_email.split_string_at_unquoted_special
    - email_validator.syntax.validate_email_length
    - idna.encode
    - addr.encode
    - dns.resolver.get_default_resolver
    - <builtin>.sorted
    - <builtin>.len
    - DOMAIN_LITERAL_CHARS.match
    - idna.alabel
    - email_validator.deliverability.validate_email_deliverability.is_global_addr
    - dns_resolver.resolve
    - email_validator.deliverability.validate_email_deliverability
    - re.match
    - ATEXT_RE.match
    - re.sub
    - idna.decode
    - right_part.startswith
    - right_part.rstrip
    - domain_part.endswith
    - domain_literal.startswith
    - ATEXT_INTL_DOT_RE.match
    - label.startswith
    - <builtin>.isinstance
    - deliverability_info.get
    - unicodedata.name
    - DOT_ATOM_TEXT_HOSTNAME.match
    - unicodedata.normalize
    - QTEXT_INTL.match
    - DOT_ATOM_TEXT.match
    - email_validator.syntax.check_dot_atom
    - <builtin>.chr
    - ascii_domain.split
    - email_validator.syntax.check_unsafe_chars
    - ipaddress.IPv4Address
    - DOT_ATOM_TEXT_INTL.match
    - email.decode
    - idna.uts46_remap
    - email_validator.syntax.split_email.unquote_quoted_string
    - <builtin>.ord
    - <builtin>.str
    - <builtin>.any
    - label.endswith
    - unicodedata.category
    - domain.split
    - ret.local_part.lower
    - ATEXT_HOSTNAME_INTL.match
    - DOMAIN_NAME_REGEX.search
    - email_validator.syntax.split_email
    - local.encode
    - bad_chars.add
    - <builtin>.max
    - <builtin>.set
    - unicodedata.decomposition
    - ascii_domain.encode
    - ipaddress.ip_address
    - email_validator.syntax.validate_email_domain_name
    - domain_part.startswith
    - <builtin>.enumerate
    - email_validator.syntax.validate_email_local_part
    - email_validator.syntax.uts46_valid_char
    - left_part.rstrip
    - email_validator.syntax.safe_character_display
    - ascii_domain.endswith
    - <builtin>.repr
    - ret.ascii_local_part.lower
    - value.startswith
    - c.encode
    - ipaddress.IPv6Address
    - email_validator.validate_email.validate_email
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 25
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 36
    ICount: 3
    IfCount: 25
    argCount: 11
    argDefaultValues: []
    argNames:
    - allow_smtputf8
    - allow_empty_local
    - allow_quoted_local
    - allow_domain_literal
    - allow_display_name
    - strict
    - check_deliverability
    - test_environment
    - globally_deliverable
    - timeout
    - dns_resolver
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 16
    functionName: email_validator.validate_email.validate_email
    functionSourceFile: email_validator.validate_email
    functionUses: 3
    functionsReached:
    - email_validator.syntax.get_length_reason
    - email_validator.syntax.validate_email_domain_literal
    - email_validator.syntax.split_email.split_string_at_unquoted_special
    - email_validator.syntax.validate_email_length
    - idna.encode
    - addr.encode
    - dns.resolver.get_default_resolver
    - <builtin>.sorted
    - <builtin>.len
    - DOMAIN_LITERAL_CHARS.match
    - idna.alabel
    - email_validator.deliverability.validate_email_deliverability.is_global_addr
    - dns_resolver.resolve
    - email_validator.deliverability.validate_email_deliverability
    - re.match
    - ATEXT_RE.match
    - re.sub
    - idna.decode
    - right_part.rstrip
    - domain_part.endswith
    - domain_literal.startswith
    - ATEXT_INTL_DOT_RE.match
    - label.startswith
    - <builtin>.isinstance
    - deliverability_info.get
    - unicodedata.name
    - DOT_ATOM_TEXT_HOSTNAME.match
    - unicodedata.normalize
    - QTEXT_INTL.match
    - DOT_ATOM_TEXT.match
    - email_validator.syntax.check_dot_atom
    - <builtin>.chr
    - ascii_domain.split
    - email_validator.syntax.check_unsafe_chars
    - ipaddress.IPv4Address
    - DOT_ATOM_TEXT_INTL.match
    - email.decode
    - idna.uts46_remap
    - email_validator.syntax.split_email.unquote_quoted_string
    - <builtin>.ord
    - <builtin>.str
    - <builtin>.any
    - label.endswith
    - unicodedata.category
    - domain.split
    - ret.local_part.lower
    - ATEXT_HOSTNAME_INTL.match
    - DOMAIN_NAME_REGEX.search
    - email_validator.syntax.split_email
    - local.encode
    - bad_chars.add
    - <builtin>.max
    - <builtin>.set
    - unicodedata.decomposition
    - ascii_domain.encode
    - ipaddress.ip_address
    - email_validator.syntax.validate_email_domain_name
    - domain_part.startswith
    - <builtin>.enumerate
    - email_validator.syntax.validate_email_local_part
    - email_validator.syntax.uts46_valid_char
    - left_part.rstrip
    - email_validator.syntax.safe_character_display
    - ascii_domain.endswith
    - <builtin>.repr
    - ret.ascii_local_part.lower
    - value.startswith
    - c.encode
    - ipaddress.IPv6Address
    - right_part.startswith
    linkageType: pythonLinkage
    raised:
    - TypeError
    - Exception
    - EmailSyntaxError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 30
    functionName: '...fuzz_validator.main'
    functionSourceFile: '...fuzz_validator'
    functionUses: 1
    functionsReached:
    - atheris.Fuzz
    - atheris.Setup
    - atheris.instrument_all
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.Setup
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.instrument_all
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.Fuzz
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: email_validator
    functionSourceFile: email_validator
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 17
    functionName: email_validator.caching_resolver
    functionSourceFile: email_validator
    functionUses: 0
    functionsReached:
    - dns.resolver.Resolver
    - dns.resolver.LRUCache
    - email_validator.deliverability.caching_resolver
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - timeout
    - cache
    - dns_resolver
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 11
    functionName: email_validator.deliverability.caching_resolver
    functionSourceFile: email_validator.deliverability
    functionUses: 3
    functionsReached:
    - dns.resolver.Resolver
    - dns.resolver.LRUCache
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: email_validator.types
    functionSourceFile: email_validator.types
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 53
    functionName: email_validator.types.ValidatedEmail.__repr__
    functionSourceFile: email_validator.types
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 57
    functionName: email_validator.types.ValidatedEmail.__getattr__
    functionSourceFile: email_validator.types
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - AttributeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 65
    functionName: email_validator.types.ValidatedEmail.email
    functionSourceFile: email_validator.types
    functionUses: 0
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: warnings.warn
    functionSourceFile: warnings
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 1
    IfCount: 8
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 71
    functionName: email_validator.types.ValidatedEmail.__getitem__
    functionSourceFile: email_validator.types
    functionUses: 0
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised:
    - KeyError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 92
    functionName: email_validator.types.ValidatedEmail.__eq__
    functionSourceFile: email_validator.types
    functionUses: 0
    functionsReached:
    - <builtin>.repr
    - <builtin>.sorted
    - <builtin>.getattr
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.isinstance
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.getattr
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.sorted
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.repr
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 110
    functionName: email_validator.types.ValidatedEmail.as_constructor
    functionSourceFile: email_validator.types
    functionUses: 0
    functionsReached:
    - <builtin>.repr
    - <builtin>.getattr
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.hasattr
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 122
    functionName: email_validator.types.ValidatedEmail.as_dict
    functionSourceFile: email_validator.types
    functionUses: 2
    functionsReached:
    - <builtin>.repr
    - d.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: d.get
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: email_validator.exceptions
    functionSourceFile: email_validator.exceptions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: email_validator.validate_email
    functionSourceFile: email_validator.validate_email
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: email.decode
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 1
    argDefaultValues: []
    argNames:
    - email
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 14
    functionName: email_validator.syntax.split_email
    functionSourceFile: email_validator.syntax
    functionUses: 4
    functionsReached:
    - right_part.rstrip
    - domain_part.startswith
    - email_validator.syntax.split_email.unquote_quoted_string
    - <builtin>.ord
    - <builtin>.enumerate
    - email_validator.syntax.split_email.split_string_at_unquoted_special
    - left_part.rstrip
    - email_validator.syntax.safe_character_display
    - unicodedata.category
    - <builtin>.repr
    - unicodedata.name
    - <builtin>.len
    - bad_chars.add
    - unicodedata.normalize
    - ATEXT_RE.match
    - right_part.startswith
    - <builtin>.set
    - email_validator.syntax.check_unsafe_chars
    linkageType: pythonLinkage
    raised:
    - EmailSyntaxError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: unicodedata.normalize
    functionSourceFile: unicodedata
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 21
    ICount: 4
    IfCount: 14
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f5c9b4069d0>
    - <ast.Constant object at 0x7f5c9b15b790>
    - <ast.Constant object at 0x7f5c9b15b820>
    - <ast.Constant object at 0x7f5c9b15b6d0>
    argNames:
    - local
    - allow_smtputf8
    - allow_empty_local
    - quoted_local_part
    - strict
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 231
    functionName: email_validator.syntax.validate_email_local_part
    functionSourceFile: email_validator.syntax
    functionUses: 4
    functionsReached:
    - email_validator.syntax.get_length_reason
    - <builtin>.len
    - ATEXT_RE.match
    - re.sub
    - label.startswith
    - unicodedata.name
    - QTEXT_INTL.match
    - email_validator.syntax.check_dot_atom
    - email_validator.syntax.check_unsafe_chars
    - DOT_ATOM_TEXT_INTL.match
    - <builtin>.ord
    - label.endswith
    - unicodedata.category
    - local.encode
    - bad_chars.add
    - <builtin>.set
    - <builtin>.enumerate
    - <builtin>.repr
    - email_validator.syntax.safe_character_display
    - ATEXT_INTL_DOT_RE.match
    - DOT_ATOM_TEXT.match
    linkageType: pythonLinkage
    raised:
    - EmailSyntaxError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ret.ascii_local_part.lower
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ret.local_part.lower
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.len
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: domain_part.startswith
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: domain_part.endswith
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - domain_literal
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 765
    functionName: email_validator.syntax.validate_email_domain_literal
    functionSourceFile: email_validator.syntax
    functionUses: 4
    functionsReached:
    - ipaddress.IPv4Address
    - re.match
    - domain_literal.startswith
    - <builtin>.ord
    - unicodedata.category
    - email_validator.syntax.safe_character_display
    - <builtin>.repr
    - unicodedata.name
    - DOMAIN_LITERAL_CHARS.match
    - ipaddress.IPv6Address
    linkageType: pythonLinkage
    raised:
    - EmailSyntaxError
    returnType: N/A
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 22
    ICount: 5
    IfCount: 15
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5c9b3fae20>
    - <ast.Constant object at 0x7f5c9b3fa3d0>
    argNames:
    - domain
    - test_environment
    - globally_deliverable
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 498
    functionName: email_validator.syntax.validate_email_domain_name
    functionSourceFile: email_validator.syntax
    functionUses: 4
    functionsReached:
    - email_validator.syntax.get_length_reason
    - idna.encode
    - <builtin>.len
    - idna.alabel
    - re.match
    - idna.decode
    - label.startswith
    - unicodedata.name
    - DOT_ATOM_TEXT_HOSTNAME.match
    - email_validator.syntax.check_dot_atom
    - <builtin>.chr
    - email_validator.syntax.check_unsafe_chars
    - ascii_domain.split
    - idna.uts46_remap
    - <builtin>.ord
    - label.endswith
    - unicodedata.category
    - domain.split
    - ATEXT_HOSTNAME_INTL.match
    - DOMAIN_NAME_REGEX.search
    - bad_chars.add
    - <builtin>.set
    - unicodedata.decomposition
    - ascii_domain.encode
    - <builtin>.enumerate
    - email_validator.syntax.uts46_valid_char
    - <builtin>.repr
    - email_validator.syntax.safe_character_display
    - ascii_domain.endswith
    linkageType: pythonLinkage
    raised:
    - EmailSyntaxError
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - addrinfo
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 697
    functionName: email_validator.syntax.validate_email_length
    functionSourceFile: email_validator.syntax
    functionUses: 4
    functionsReached:
    - email_validator.syntax.get_length_reason
    - addr.encode
    - <builtin>.len
    - c.encode
    - <builtin>.max
    linkageType: pythonLinkage
    raised:
    - EmailSyntaxError
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 0
    IfCount: 8
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5c9ad95e20>
    - <ast.Constant object at 0x7f5c9ad956d0>
    argNames:
    - domain
    - domain_i18n
    - timeout
    - dns_resolver
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 28
    functionName: email_validator.deliverability.validate_email_deliverability
    functionSourceFile: email_validator.deliverability
    functionUses: 4
    functionsReached:
    - <builtin>.str
    - <builtin>.any
    - dns.resolver.get_default_resolver
    - <builtin>.sorted
    - <builtin>.len
    - email_validator.deliverability.validate_email_deliverability.is_global_addr
    - value.startswith
    - dns_resolver.resolve
    - ipaddress.ip_address
    linkageType: pythonLinkage
    raised:
    - ValueError
    - EmailUndeliverableError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: deliverability_info.get
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: email_validator.deliverability
    functionSourceFile: email_validator.deliverability
    functionUses: 0
    functionsReached:
    - typing.TypedDict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dns.resolver.Resolver
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dns.resolver.LRUCache
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.TypedDict
    functionSourceFile: typing
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dns.resolver.get_default_resolver
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dns_resolver.resolve
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.str
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - address
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 79
    functionName: email_validator.deliverability.validate_email_deliverability.is_global_addr
    functionSourceFile: email_validator.deliverability
    functionUses: 5
    functionsReached:
    - ipaddress.ip_address
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ipaddress.ip_address
    functionSourceFile: ipaddress
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.any
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.startswith
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: email_validator.syntax
    functionSourceFile: email_validator.syntax
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 0
    IfCount: 9
    argCount: 2
    argDefaultValues: []
    argNames:
    - text
    - specials
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 50
    functionName: email_validator.syntax.split_email.split_string_at_unquoted_special
    functionSourceFile: email_validator.syntax
    functionUses: 5
    functionsReached:
    - <builtin>.enumerate
    - <builtin>.len
    - unicodedata.normalize
    linkageType: pythonLinkage
    raised:
    - EmailSyntaxError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.enumerate
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 0
    IfCount: 6
    argCount: 1
    argDefaultValues: []
    argNames:
    - text
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 115
    functionName: email_validator.syntax.split_email.unquote_quoted_string
    functionSourceFile: email_validator.syntax
    functionUses: 5
    functionsReached:
    - <builtin>.enumerate
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - EmailSyntaxError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: right_part.startswith
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: left_part.rstrip
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - c
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 208
    functionName: email_validator.syntax.safe_character_display
    functionSourceFile: email_validator.syntax
    functionUses: 8
    functionsReached:
    - unicodedata.category
    - <builtin>.ord
    - unicodedata.name
    - <builtin>.repr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ATEXT_RE.match
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 5
    IfCount: 8
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5c9ace8280>
    argNames:
    - s
    - allow_space
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 392
    functionName: email_validator.syntax.check_unsafe_chars
    functionSourceFile: email_validator.syntax
    functionUses: 7
    functionsReached:
    - unicodedata.category
    - <builtin>.enumerate
    - <builtin>.set
    - bad_chars.add
    linkageType: pythonLinkage
    raised:
    - EmailSyntaxError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: right_part.rstrip
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - addr
    - limit
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 201
    functionName: email_validator.syntax.get_length_reason
    functionSourceFile: email_validator.syntax
    functionUses: 7
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: unicodedata.category
    functionSourceFile: unicodedata
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.ord
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: unicodedata.name
    functionSourceFile: unicodedata
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: DOT_ATOM_TEXT.match
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: DOT_ATOM_TEXT_INTL.match
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: QTEXT_INTL.match
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: local.encode
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.sub
    functionSourceFile: re
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ATEXT_INTL_DOT_RE.match
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 0
    IfCount: 7
    argCount: 4
    argDefaultValues: []
    argNames:
    - label
    - start_descr
    - end_descr
    - is_hostname
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 444
    functionName: email_validator.syntax.check_dot_atom
    functionSourceFile: email_validator.syntax
    functionUses: 6
    functionsReached:
    - label.startswith
    - label.endswith
    linkageType: pythonLinkage
    raised:
    - EmailSyntaxError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.set
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: bad_chars.add
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: label.endswith
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: label.startswith
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - char
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 463
    functionName: email_validator.syntax.uts46_valid_char
    functionSourceFile: email_validator.syntax
    functionUses: 5
    functionsReached:
    - unicodedata.category
    - <builtin>.ord
    - unicodedata.decomposition
    - <builtin>.chr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.chr
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: unicodedata.decomposition
    functionSourceFile: unicodedata
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ATEXT_HOSTNAME_INTL.match
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: idna.uts46_remap
    functionSourceFile: idna
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: domain.split
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.match
    functionSourceFile: re
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: DOT_ATOM_TEXT_HOSTNAME.match
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: idna.alabel
    functionSourceFile: idna
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ascii_domain.split
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: DOMAIN_NAME_REGEX.search
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ascii_domain.endswith
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ascii_domain.encode
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: idna.decode
    functionSourceFile: idna
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: idna.encode
    functionSourceFile: idna
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: addr.encode
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: c.encode
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.max
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ipaddress.IPv4Address
    functionSourceFile: ipaddress
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: domain_literal.startswith
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ipaddress.IPv6Address
    functionSourceFile: ipaddress
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: DOMAIN_LITERAL_CHARS.match
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: email_validator.rfc_constants
    functionSourceFile: email_validator.rfc_constants
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.compile
    functionSourceFile: re
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: email_validator.version
    functionSourceFile: email_validator.version
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: -1
    functionName: email_validator.__main__
    functionSourceFile: email_validator.__main__
    functionUses: 0
    functionsReached:
    - dns.resolver.Resolver
    - email_validator.syntax.split_email.split_string_at_unquoted_special
    - <builtin>.len
    - ATEXT_RE.match
    - right_part.rstrip
    - <builtin>.isinstance
    - email_validator.syntax.check_unsafe_chars
    - idna.uts46_remap
    - <builtin>.float
    - sys.stdin.strip
    - domain.split
    - <builtin>.set
    - ascii_domain.endswith
    - c.encode
    - email_validator.syntax.get_length_reason
    - email_validator.syntax.validate_email_domain_literal
    - <builtin>.sorted
    - idna.alabel
    - deliverability_info.get
    - email_validator.syntax.check_dot_atom
    - ipaddress.IPv4Address
    - <builtin>.ord
    - email_validator.deliverability.caching_resolver
    - DOMAIN_NAME_REGEX.search
    - local.encode
    - <builtin>.max
    - ascii_domain.encode
    - <builtin>.print
    - domain_part.startswith
    - email_validator.syntax.validate_email_local_part
    - email_validator.syntax.safe_character_display
    - value.startswith
    - ipaddress.IPv6Address
    - right_part.startswith
    - email_validator.validate_email.validate_email
    - email_validator.__main__.main
    - email_validator.syntax.validate_email_length
    - addr.encode
    - DOMAIN_LITERAL_CHARS.match
    - email_validator.deliverability.validate_email_deliverability.is_global_addr
    - email_validator.deliverability.validate_email_deliverability
    - re.sub
    - idna.decode
    - dns.resolver.LRUCache
    - domain_literal.startswith
    - label.startswith
    - unicodedata.normalize
    - <builtin>.chr
    - ascii_domain.split
    - DOT_ATOM_TEXT_INTL.match
    - <builtin>.any
    - label.endswith
    - unicodedata.category
    - ret.local_part.lower
    - ATEXT_HOSTNAME_INTL.match
    - varname.lower
    - email_validator.syntax.split_email
    - json.dumps
    - <builtin>.enumerate
    - <builtin>.repr
    - DOT_ATOM_TEXT.match
    - <builtin>.bool
    - idna.encode
    - dns.resolver.get_default_resolver
    - dns_resolver.resolve
    - re.match
    - email_validator.types.ValidatedEmail.as_dict
    - domain_part.endswith
    - unicodedata.name
    - DOT_ATOM_TEXT_HOSTNAME.match
    - d.get
    - QTEXT_INTL.match
    - email.decode
    - email_validator.syntax.split_email.unquote_quoted_string
    - <builtin>.str
    - bad_chars.add
    - unicodedata.decomposition
    - ipaddress.ip_address
    - email_validator.syntax.validate_email_domain_name
    - email_validator.syntax.uts46_valid_char
    - left_part.rstrip
    - ret.ascii_local_part.lower
    - ATEXT_INTL_DOT_RE.match
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7f5c9abb8250>
    argNames:
    - dns_resolver
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 27
    functionName: email_validator.__main__.main
    functionSourceFile: email_validator.__main__
    functionUses: 1
    functionsReached:
    - dns.resolver.Resolver
    - email_validator.syntax.split_email.split_string_at_unquoted_special
    - <builtin>.len
    - ATEXT_RE.match
    - right_part.rstrip
    - <builtin>.isinstance
    - email_validator.syntax.check_unsafe_chars
    - idna.uts46_remap
    - <builtin>.float
    - sys.stdin.strip
    - domain.split
    - <builtin>.set
    - ascii_domain.endswith
    - c.encode
    - email_validator.syntax.get_length_reason
    - email_validator.syntax.validate_email_domain_literal
    - <builtin>.sorted
    - idna.alabel
    - deliverability_info.get
    - email_validator.syntax.check_dot_atom
    - ipaddress.IPv4Address
    - <builtin>.ord
    - email_validator.deliverability.caching_resolver
    - DOMAIN_NAME_REGEX.search
    - local.encode
    - <builtin>.max
    - ascii_domain.encode
    - <builtin>.print
    - domain_part.startswith
    - email_validator.syntax.validate_email_local_part
    - email_validator.syntax.safe_character_display
    - value.startswith
    - ipaddress.IPv6Address
    - right_part.startswith
    - email_validator.validate_email.validate_email
    - email_validator.syntax.validate_email_length
    - addr.encode
    - DOMAIN_LITERAL_CHARS.match
    - email_validator.deliverability.validate_email_deliverability.is_global_addr
    - email_validator.deliverability.validate_email_deliverability
    - re.sub
    - idna.decode
    - dns.resolver.LRUCache
    - domain_literal.startswith
    - label.startswith
    - unicodedata.normalize
    - <builtin>.chr
    - ascii_domain.split
    - DOT_ATOM_TEXT_INTL.match
    - <builtin>.any
    - label.endswith
    - unicodedata.category
    - ret.local_part.lower
    - ATEXT_HOSTNAME_INTL.match
    - varname.lower
    - email_validator.syntax.split_email
    - json.dumps
    - <builtin>.enumerate
    - <builtin>.repr
    - DOT_ATOM_TEXT.match
    - <builtin>.bool
    - idna.encode
    - dns.resolver.get_default_resolver
    - dns_resolver.resolve
    - re.match
    - email_validator.types.ValidatedEmail.as_dict
    - domain_part.endswith
    - unicodedata.name
    - DOT_ATOM_TEXT_HOSTNAME.match
    - d.get
    - QTEXT_INTL.match
    - email.decode
    - email_validator.syntax.split_email.unquote_quoted_string
    - <builtin>.str
    - bad_chars.add
    - unicodedata.decomposition
    - ipaddress.ip_address
    - email_validator.syntax.validate_email_domain_name
    - email_validator.syntax.uts46_valid_char
    - left_part.rstrip
    - ret.ascii_local_part.lower
    - ATEXT_INTL_DOT_RE.match
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: varname.lower
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.bool
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.float
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.stdin.strip
    functionSourceFile: sys
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.print
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: json.dumps
    functionSourceFile: json
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  Function list name: All functions
Function coverage:
  '...fuzz_validator':
  - 36
  - 37
  '...fuzz_validator.TestOneInput':
  - 25
  '...fuzz_validator.main':
  - 32
  - 33
  - 31
  email_validator:
  - 14
  email_validator.__main__:
  - 60
  - 61
  email_validator.__main__.main:
  - 32
  - 35
  - 36
  - 37
  - 38
  - 39
  - 41
  - 43
  - 44
  - 45
  - 47
  - 49
  - 54
  - 55
  - 57
  email_validator.caching_resolver:
  - 21
  email_validator.deliverability:
  - 21
  email_validator.deliverability.caching_resolver:
  - 16
  - 12
  - 15
  email_validator.deliverability.validate_email_deliverability:
  - 121
  - 100
  - 37
  - 102
  - 39
  - 41
  - 43
  - 51
  - 54
  - 87
  - 89
  - 122
  - 123
  - 124
  - 125
  - 62
  email_validator.deliverability.validate_email_deliverability.is_global_addr:
  - 81
  email_validator.exceptions.EmailNotValidError:
  - 2
  email_validator.exceptions.EmailSyntaxError:
  - 7
  email_validator.exceptions.EmailUndeliverableError:
  - 12
  email_validator.rfc_constants:
  - 36
  - 8
  - 9
  - 16
  - 17
  - 22
  - 24
  - 25
  - 28
  email_validator.syntax.check_dot_atom:
  - 448
  - 450
  - 453
  - 455
  - 457
  - 459
  - 446
  email_validator.syntax.check_unsafe_chars:
  - 439
  - 418
  - 419
  - 420
  - 425
  - 426
  - 395
  - 396
  - 397
  - 398
  - 401
  - 434
  - 406
  - 407
  - 408
  - 438
  email_validator.syntax.get_length_reason:
  - 202
  - 203
  email_validator.syntax.safe_character_display:
  - 210
  - 212
  - 213
  - 216
  - 217
  - 219
  - 222
  email_validator.syntax.split_email:
  - 160
  - 192
  - 162
  - 164
  - 196
  - 166
  - 170
  - 174
  - 176
  - 145
  - 177
  - 181
  - 151
  - 184
  - 153
  - 156
  email_validator.syntax.split_email.split_string_at_unquoted_special:
  - 64
  - 98
  - 67
  - 69
  - 71
  - 105
  - 77
  - 111
  - 80
  - 89
  - 58
  email_validator.syntax.split_email.unquote_quoted_string:
  - 128
  - 130
  - 131
  - 137
  - 123
  - 124
  - 125
  email_validator.syntax.uts46_valid_char:
  - 487
  - 468
  - 469
  - 472
  - 479
  email_validator.syntax.validate_email_domain_literal:
  - 803
  - 775
  - 777
  - 813
  - 815
  - 817
  - 788
  - 790
  email_validator.syntax.validate_email_domain_name:
  - 641
  - 515
  - 644
  - 520
  - 521
  - 523
  - 656
  - 536
  - 670
  - 543
  - 672
  - 545
  - 674
  - 547
  - 676
  - 681
  - 557
  - 561
  - 562
  - 565
  - 583
  - 584
  - 585
  - 593
  - 603
  - 604
  - 605
  - 608
  - 614
  - 615
  - 616
  - 619
  - 499
  - 627
  - 631
  - 504
  - 506
  - 508
  - 639
  email_validator.syntax.validate_email_length:
  - 736
  - 737
  - 744
  - 745
  - 747
  - 727
  - 728
  - 729
  - 731
  - 732
  email_validator.syntax.validate_email_local_part:
  - 385
  - 265
  - 284
  - 286
  - 291
  - 293
  - 295
  - 309
  - 315
  - 317
  - 319
  - 324
  - 326
  - 328
  - 332
  - 340
  - 346
  - 352
  - 360
  - 233
  - 361
  - 235
  - 236
  - 376
  - 378
  - 380
  - 254
  - 255
  email_validator.types.ValidatedEmail:
  - 121
  - 34
  - 37
  - 6
  - 69
  - 9
  - 42
  - 12
  - 109
  - 46
  - 18
  - 50
  - 21
  - 56
  - 25
  - 91
  - 28
  - 31
  email_validator.types.ValidatedEmail.__eq__:
  - 99
  - 100
  - 101
  - 103
  - 104
  - 105
  - 106
  - 93
  email_validator.types.ValidatedEmail.__getattr__:
  - 58
  - 60
  email_validator.types.ValidatedEmail.__getitem__:
  - 72
  - 73
  - 75
  - 77
  - 79
  - 81
  - 83
  - 85
  - 87
  email_validator.types.ValidatedEmail.as_constructor:
  - 112
  - 117
  email_validator.types.ValidatedEmail.as_dict:
  - 124
  - 125
  email_validator.types.ValidatedEmail.email:
  - 66
  email_validator.validate_email:
  - 9
  email_validator.validate_email.validate_email:
  - 138
  - 144
  - 145
  - 147
  - 148
  - 152
  - 155
  - 157
  - 158
  - 32
  - 168
  - 41
  - 43
  - 45
  - 47
  - 176
  - 49
  - 177
  - 51
  - 53
  - 55
  - 184
  - 57
  - 59
  - 188
  - 62
  - 191
  - 64
  - 195
  - 69
  - 201
  - 204
  - 205
  - 207
  - 81
  - 83
  - 89
  - 92
  - 102
  - 123
  - 124
  - 126
Fuzzer filename: /src/fuzz_validator.py
Inheritance:
  email_validator.exceptions.EmailNotValidError:
  - ValueError
  email_validator.exceptions.EmailSyntaxError:
  - EmailNotValidError
  email_validator.exceptions.EmailUndeliverableError:
  - EmailNotValidError
  email_validator.syntax.DomainLiteralValidationResult:
  - TypedDict
  email_validator.syntax.DomainNameValidationResult:
  - TypedDict
  email_validator.syntax.LocalPartValidationResult:
  - TypedDict
  email_validator.types.ValidatedEmail: []
ep:
  func_name: TestOneInput
  module: '...fuzz_validator'
